dioxus-icons-game 0.2.2

Game icons for dioxus framework
Documentation
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
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
36001
36002
36003
36004
36005
36006
36007
36008
36009
36010
36011
36012
36013
36014
36015
36016
36017
36018
36019
36020
36021
36022
36023
36024
36025
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038
36039
36040
36041
36042
36043
36044
36045
36046
36047
36048
36049
36050
36051
36052
36053
36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
36075
36076
36077
36078
36079
36080
36081
36082
36083
36084
36085
36086
36087
36088
36089
36090
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
36106
36107
36108
36109
36110
36111
36112
36113
36114
36115
36116
36117
36118
36119
36120
36121
36122
36123
36124
36125
36126
36127
36128
36129
36130
36131
36132
36133
36134
36135
36136
36137
36138
36139
36140
36141
36142
36143
36144
36145
36146
36147
36148
36149
36150
36151
36152
36153
36154
36155
36156
36157
36158
36159
36160
36161
36162
36163
36164
36165
36166
36167
36168
36169
36170
36171
36172
36173
36174
36175
36176
36177
36178
36179
36180
36181
36182
36183
36184
36185
36186
36187
36188
36189
36190
36191
36192
36193
36194
36195
36196
36197
36198
36199
36200
36201
36202
36203
36204
36205
36206
36207
36208
36209
36210
36211
36212
36213
36214
36215
36216
36217
36218
36219
36220
36221
36222
36223
36224
36225
36226
36227
36228
36229
36230
36231
36232
36233
36234
36235
36236
36237
36238
36239
36240
36241
36242
36243
36244
36245
36246
36247
36248
36249
36250
36251
36252
36253
36254
36255
36256
36257
36258
36259
36260
36261
36262
36263
36264
36265
36266
36267
36268
36269
36270
36271
36272
36273
36274
36275
36276
36277
36278
36279
36280
36281
36282
36283
36284
36285
36286
36287
36288
36289
36290
36291
36292
36293
36294
36295
36296
36297
36298
36299
36300
36301
36302
36303
36304
36305
36306
36307
36308
36309
36310
36311
36312
36313
36314
36315
36316
36317
36318
36319
36320
36321
36322
36323
36324
36325
36326
36327
36328
36329
36330
36331
36332
36333
36334
36335
36336
36337
36338
36339
36340
36341
36342
36343
36344
36345
36346
36347
36348
36349
36350
36351
36352
36353
36354
36355
36356
36357
36358
36359
36360
36361
36362
36363
36364
36365
36366
36367
36368
36369
36370
36371
36372
36373
36374
36375
36376
36377
36378
36379
36380
36381
36382
36383
36384
36385
36386
36387
36388
36389
36390
36391
36392
36393
36394
36395
36396
36397
36398
36399
36400
36401
// Auto Generated! DO NOT EDIT!

use dioxus::prelude::*;

use crate::IconShape;

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Abacus;

impl IconShape for Abacus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M37 73v382h18V73zm418.045 0l1.91 382h18l-1.91-382zM105 160c-14.638 0-27.157 9.715-31.43 23-2.405 6.634-1.479 14.38-.574 18 3.61 14.3 16.641 25 32.004 25 14.17 0 26.36-9.102 31-21.736C140.64 216.898 152.83 226 167 226c15.363 0 28.394-10.7 32.004-25h238.682l-.09-18H198.43c-4.273-13.285-16.792-23-31.43-23-14.17 0-26.36 9.102-31 21.736C131.36 169.102 119.17 160 105 160zm0 18c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zm62 0c8.39 0 17 6.61 17 15s-8.61 15-17 15-15-6.61-15-15 6.61-15 15-15zm33 45c-15.002 0-27.775 10.206-31.729 24H73v18h95.271c3.954 13.794 16.727 24 31.729 24 15.002 0 27.775-10.206 31.729-24h206.277l-.092-18H231.73c-3.954-13.794-16.727-24-31.729-24zm0 18c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zm83 47c-14.638 0-27.157 9.715-31.43 23H73v18h177.996c3.61 14.3 16.641 25 32.004 25 14.17 0 26.36-9.102 31-21.736C318.64 344.898 330.83 354 345 354c14.17 0 26.36-9.102 31-21.736C380.64 344.898 392.83 354 407 354c15.363 0 28.394-10.7 32.004-25 1.31-3.077.621-13.458-.77-18C432 294.406 418.467 288.286 407 288c-14.17 0-26.36 9.102-31 21.736C371.36 297.102 359.17 288 345 288c-14.17 0-26.36 9.102-31 21.736C309.36 297.102 297.17 288 283 288zm62 66c-13.892 0-25.874 8.752-30.71 21H73v18h239.564c2.853 15.29 16.366 27 32.436 27s29.583-11.71 32.436-27h61.209l-.09-18H375.71c-4.837-12.248-16.819-21-30.711-21zm-62-48c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zm62 0c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zm62 0c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zm-62 66c8.39 0 15 6.61 15 15s-6.61 15-15 15-15-6.61-15-15 6.61-15 15-15zM25 473v16h462v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AbbotMeeple;

impl IconShape for AbbotMeeple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16.1l-82.7 82.72 35 69.98a66.18 66.18 0 0 0-18.6 45.8 66.18 66.18 0 0 0 10.4 35.3c-42.8 5.3-126.12 21.2-126.12 47.5 0 16.8 30.02 37.8 68.12 54.5L73.98 462.8c0 33.1 33.02 33.1 66.22 33.1h231.5c33.1 0 66.3 0 66.3-33.1l-68.2-110.9c38.1-16.7 68.2-37.7 68.2-54.5 0-26.3-83.5-42.2-126.1-47.5a66.18 66.18 0 0 0 10.2-35.3 66.18 66.18 0 0 0-18.4-45.8l35-69.98z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AbdominalArmor;

impl IconShape for AbdominalArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162 35.75l-94.49 27.1c-12.05 6.3-23.47 23.9-31.01 46.35-6.07 18.2-9.62 38.9-10.93 58.3L136.7 112zm188 .1L375.4 112l111 55.6c-1.3-19.3-4.9-40.2-10.9-58.3-5.7-17.05-13.6-31.35-22.5-40.05-2.7-2.8-5.5-4.9-8.4-6.4zm-172.9 11.5l-25.7 77.45-92.9 46.4 14.08 53.5 88.82 44.4 94.6-15.9 94.6 15.9 88.8-44.4 14.1-53.5-92.8-46.4-25.8-77.35h-10.5l-59.3 73.95-.1 61.1h-18.1l.1-61-59.3-74.15zM78.65 247.7l22.05 83.9 146.2-43.8v-14.7l-88.4 14.7zm354.75 0l-80 40.1-88.4-14.7v14.7l146.3 43.8zm-186.5 58.7l-31.6 9.6-35.1 70.2 66.7-33.3zm18.1 0v46.5l66.9 33.4-35.2-70.3zM191.7 323l-86.4 26 25.3 96.3zm128.6.1l61.1 122.1 25.3-96.2zm-55.3 50l.1 43.2 100.7 37.8-20.4-40.8zm-18.1 0l-80.2 40.1-20.5 40.9L247 416.3zm.1 62.4l-81.6 30.6 81.6 10.2zm18.1 0v40.7l81.7-10.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AchillesHeel;

impl IconShape for AchillesHeel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M362.188 17.998c-12.9 65.825-49.788 140.505-98.616 197.37L352 224l-89.377 19.414 52.197 75.27-71.111-56.364L224 336l-8.576-73.182 2.812-2.779c-45.221 40.71-35.888 74.86.702 96.49 6.775 4.005 16.257 9.046 27.38 8.7 58.243-1.813 93.255 35.012 126.575 76.199 18.234 22.54 48.35 30.059 73.529 44.246 52.44 29.548 67.894-32.667 14.767-53.445l-70.677-111.036c-11.42-53.08 52.186-171.824 103.49-248.37V17.997zM92.454 23.424v32.17l32.799 32.79 8.043-24.126zM78.578 67.352c-.233-.026-.57.037-1.224.199-1.31.323-3.41 1.482-5.075 3.146-1.664 1.664-2.823 3.763-3.146 5.073-.266 1.074-.207 1.3.012 1.61l120.228 120.208 3.275-6.55 6.545-3.272L78.97 67.563c-.123-.086-.24-.195-.39-.211zM21.162 87.029L62 127.86l24.13-8.043-30.335-30.33-.397-.396-.343-.442a17.99 17.99 0 0 1-1.112-1.619zm213.563 103.098l-28.663 14.326-14.33 28.654 38.264 15.303 20.096-19.869z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AcousticMegaphone;

impl IconShape for AcousticMegaphone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M443.535 120.186l-112 64 8.93 15.628 112-64-8.93-15.628zM297 153v206h17.973V153H297zm-18 9.367L73 235.072v41.856l206 72.705V162.367zM39 240v32h18v-32H39zm297 7v18h128v-18H336zM99.332 300.89l-14.8 40.215L181.02 379.7l16.11-40.364-16.716-6.672-9.434 23.635-63.51-25.405 8.755-23.786-16.893-6.22zm241.133 11.296l-8.93 15.628 112 64 8.93-15.628-112-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AeroBike;

impl IconShape for AeroBike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.521 136.621c-7.708 10.672-5.785 23.307 2.11 28.861 7.895 5.555 26.81 1.542 34.52-9.13 7.708-10.671 4.285-25.929-3.61-31.483-13.772-9.69-30.52 8.292-33.02 11.752zm-24.707 27.46c-19.542 5.834-35.814 13.58-48.585 23.423-17.772 13.697-29.203 31.2-34.438 54.795-.49 2.212.161 4.779 3.791 9.008 3.63 4.228 9.944 9.096 17.457 13.664 15.026 9.135 34.612 17.28 48.008 22.861l6.797 2.832-1.43 7.223c-5.016 25.348-15.934 39.322-28.836 47.238-8.59 5.27-17.269 8.286-25.758 11.826l19.364 14.594c23.34-10.833 60.975-30.117 74.812-81.324-1.815-6.018-5.439-11.686-10.574-17.461-5.045-5.675-11.355-11.33-17.75-17.334l-18.057-16.955 24.729 1.408c43.857 2.498 54.065 3.107 88.24-11.688 3.447-3.712 3.444-5.336 3.02-8.033-.278-1.763-1.294-4.242-2.516-7.074-11.812 1.44-25.737 3.529-40.317 4.768-17.16 1.458-34.525 1.769-49.31-3.24l-8.352-2.83c2.56-10.596 7.6-19.733 14.72-27.962a38.275 38.275 0 0 1-.97-.66c-6.924-4.872-11.598-11.585-14.045-19.08zm109.913 26.759c2.254 5.557 4.583 11.344 6.47 17.308 2.544 8.042 4.225 16.776 1.6 25.659-1.055 3.57-3.053 6.87-5.549 9.959 25.961 9.135 46.643 21.467 63.115 33.705-1.707-13-8.861-27.544-20.564-42.575-11.772-15.118-27.744-30.223-45.072-44.056zM47.094 229.318c10.194 15.954 20.002 30.51 35.619 41.998 15.801 11.625 38.162 20.795 74.137 24.791l-26.319 25.55c-9.065-6.58-20.236-10.452-32.35-10.452-30.482 0-55 24.518-55 55s24.518 55 55 55c30.483 0 55-24.518 55-55 0-11.84-3.698-22.781-10.01-31.734l15.573-15.116c3.437 9.815 9.215 21.185 18.596 32.727l7.738-4.559c11.511-6.782 22.166-10.194 30.73-13.98l-48.687-22.322 14.486-14.063h.002c5.171-2.484 14.196-6.746 25.694-11.875-36.538-19.755-48.223-34.276-56.237-44.539-38.184 5.27-70.658-3.063-103.972-11.426zm316.002 26.887c-14.207-.135-33.802 3.933-54.719 10.031 4.847 6.342 8.867 13.52 10.787 21.903.616 1.565.347 2.647-.043 4.2-5.919 23.57-16.612 41.61-28.89 55.52l61.316 28.112c-1.748-22.015 5.122-40.515 18.23-54.172l17.692 15.271c-5.256 8.437-8.287 18.418-8.287 29.135 0 30.482 24.517 55 55 55 30.482 0 55-24.518 55-55s-24.518-55-55-55c-13.239 0-25.352 4.624-34.82 12.354l-15.471-13.354c14.1-9.328 31.541-15.65 50.703-20.18-4.05-3.494-8.674-7.304-14.324-11.324-16.01-11.39-37.27-22.307-57.174-22.496zm-134.537 39.408a985.616 985.616 0 0 0-26.475 11.836l30.809 14.123c3.7-4.513 6.777-10.7 9.244-20.133-4.24-1.775-8.824-3.714-13.578-5.826zM98.182 334.205a32 32 0 0 1 15.37 3.934l-23.34 22.656 12.54 12.914 23.52-22.832a32 32 0 0 1 3.91 15.328c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32zm336 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32a32 32 0 0 1 3.105-13.752l25.65 22.143L442.7 360.97l-25.416-21.94a32 32 0 0 1 16.899-4.826zM276.48 361.357c-6.78 5.793-13.679 10.601-20.246 14.622l75.74 10.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Africa;

impl IconShape for Africa {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201.56 19.495l-87.79 9.131-73.745 94.814v52.676l56.186 61.805 64.615-13.344 49.164 9.832-10.535 37.926 33.711 61.103-16.855 42.842 39.79 116.225 53.62-8.768 49.164-55.484 4.213-38.629 31.605-23.879-6.322-69.531 83.594-106.994-51.989 7.263-79.363-138.359-125.016-8.428-14.046-30.2zm252.346 319.8l-14.402 20.86-13.408.496c-11.849 24.321-12.598 38.019-13.907 66.547l17.383 4.471 21.852-52.147 2.482-40.226z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Agave;

impl IconShape for Agave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.4 22.21c-10 84.29-9.7 172.19-3.4 257.09 16.1 25.1 33.9 50.3 53.7 77 6.9-29.2 13.8-58.2 20.2-87.5-25.5-82.8-48.1-167.7-70.5-246.59zm119.2 25.14C275.7 173.8 246.3 282 221.1 392c2.6.3 5.1.7 7.6 1.1 8.6 1.4 16.7 3.3 23.9 5.9 16.8-28.7 36-61.5 54.8-97 4.9-86.9 3.5-172.3-27.8-254.65zM395 119.1C377.8 222.7 315.1 329 271 403.8c44.5-26.8 75.7-59.8 103.3-92.1 10.6-12.4 20.7-24.8 30.8-36.7 10-49 9.2-101.4-10.1-155.9zM65.27 133.4c-1.28 63.9 2.37 117.6 17.9 170.7 14.85 19.8 30.83 38.1 47.53 54 13.2 12.6 26.8 23.7 40.5 32.9 5.9-.4 11.8-.7 17.5-.7 9-.1 17.7.2 26 1-67.1-88.5-115.2-159.8-149.43-257.9zm426.63 89.7c-39.5 19.8-67.7 58-103.9 100.3-21.3 24.9-45.5 50.9-76.4 74.3 28.4-7.5 58.1-12.2 87-11.6 1.7 0 3.3.1 5 .2 22.3-36.9 46.2-89 88.3-163.2zm-466.46 24c4.55 48.2 10.86 89.9 24.94 124.7 6.22 15.4 13.88 29.5 23.6 42.4 22.32-9.7 46.32-16.2 69.72-20 .3-.1.6-.1.9-.1-8.9-7.1-17.8-14.8-26.4-23-35.57-34.1-67.93-77.8-92.76-124zm368.46 157c-36.5 0-75.4 8.9-110.6 21.1 6 13.3 7.4 25.9 5.2 36.8-2 9.5-6.6 17.6-12.5 24 8.1 1.2 17.9.5 29-3.2 35.2-11.7 62.5-30.1 95.4-40.9 26.6-8.7 56.9-11.4 95.7-1-26.3-25.9-60.4-36-97.9-36.8zm-199.7 3.8h-5c-13.5.1-27.9 1.3-42.5 3.7-50.37 8.1-102.33 30-130.8 66.8 87.3-22.1 167.3-6.6 207.7 10.6 2.1.9 8.4 1.4 15.4-.4 7-1.8 14.7-5.5 20.7-10.7 6.1-5.1 10.5-11.6 12.1-19.4 1.7-7.9.7-17.5-5.8-29.8-3.3-6.4-17.7-14.6-39.7-18.2-9.6-1.7-20.5-2.6-32.1-2.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ages;

impl IconShape for Ages {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M360 73c-14.43 0-27.79 7.71-38.055 21.395-10.263 13.684-16.943 33.2-16.943 54.94 0 21.74 6.68 41.252 16.943 54.936 10.264 13.686 23.625 21.396 38.055 21.396s27.79-7.71 38.055-21.395C408.318 190.588 415 171.075 415 149.335c0-21.74-6.682-41.255-16.945-54.94C387.79 80.71 374.43 73 360 73zm-240 96c-10.012 0-19.372 5.32-26.74 15.145C85.892 193.968 81 208.15 81 224c0 15.85 4.892 30.032 12.26 39.855C100.628 273.68 109.988 279 120 279c10.012 0 19.374-5.32 26.742-15.145 7.368-9.823 12.256-24.006 12.256-39.855 0-15.85-4.888-30.032-12.256-39.855C139.374 174.32 130.012 169 120 169zm188.805 47.674c-1.625 1.26-3.208 2.58-4.737 3.974-13.716 12.524-23.816 31.052-31.53 54.198-14.59 43.765-20.404 103.306-30.063 164.154h235.05c-9.66-60.848-15.476-120.39-30.064-164.154-7.714-23.146-17.812-41.674-31.528-54.198-1.53-1.396-3.112-2.715-4.737-3.974-12.84 16.293-30.942 26.994-51.195 26.994s-38.355-10.7-51.195-26.994zM81.27 277.658c-.573.485-1.143.978-1.702 1.488-9.883 9.024-17.315 22.554-23.03 39.7-10.6 31.8-15.045 75.344-22.063 120.154h171.048c-7.017-44.81-11.462-88.354-22.062-120.154-5.714-17.146-13.145-30.676-23.028-39.7-.56-.51-1.127-1.003-1.702-1.488C148.853 289.323 135.222 297 120 297c-15.222 0-28.852-7.678-38.73-19.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirBalloon;

impl IconShape for AirBalloon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 25.332c-.642.046-1.288.098-1.936.152-28.244 52.446-31.912 108.59-28.084 167.936 3.77 58.42 14.916 119.542 15.936 181.58h46.168c1.02-62.038 12.167-123.16 15.936-181.58 3.828-59.347.16-115.49-28.084-167.936-.648-.054-1.294-.106-1.936-.152V352h-18V25.332zm-23.795 3.51c-7.21 1.567-14.562 3.595-21.893 6.04l-2.398 2.88c-38.992 46.79-49.743 83.613-45.955 123.384 3.787 39.772 23.27 83.214 47.31 139.31l4.45 11.458c.898 3.188 4.327 9.14 7.594 15.463-3.76-44.326-10.457-88.814-13.294-132.797-3.65-56.57-.748-112.657 24.185-165.738zm65.59 0c24.933 53.08 27.835 109.168 24.185 165.738-2.837 43.983-9.534 88.47-13.294 132.797 3.267-6.324 6.696-12.275 7.595-15.463l4.45-11.46c24.04-56.094 43.523-99.536 47.31-139.308 3.79-39.77-6.962-76.593-45.954-123.384l-2.4-2.88c-7.33-2.445-14.682-4.473-21.89-6.04zM167.5 49.422c-3.667 1.97-7.256 4.04-10.73 6.21C126.256 74.705 105 100.5 105 128c0 61.75 22.053 90.394 49.773 122.074 2.808 3.21 5.702 6.47 8.608 9.76-14.478-34.99-25.395-66.073-28.34-96.98-3.537-37.152 5.253-73.565 32.46-113.432zm177 0c27.207 39.867 35.997 76.28 32.46 113.432-2.945 30.907-13.862 61.99-28.34 96.98 2.905-3.29 5.8-6.55 8.607-9.76C384.947 218.394 407 189.75 407 128c0-27.5-21.256-53.296-51.77-72.367-3.474-2.172-7.063-4.24-10.73-6.21zM224 393v37h21.424v-37H224zm42.576 0v37H288v-37h-21.424zM224 448v44h64v-44h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirMan;

impl IconShape for AirMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-64 0-96 48-96 64-48-16-112 0-144 32 0 176 128 368 240 368s240-192 240-368c-32-32-96-48-144-32 0-16-32-64-96-64zm0 23c22.5 0 41 18.46 41 41 0 22.5-18.5 41-41 41s-41-18.5-41-41c0-22.54 18.5-41 41-41zm0 18c-12.8 0-23 10.19-23 23 0 12.8 10.2 23 23 23s23-10.2 23-23c0-12.81-10.2-23-23-23zm-96.7 26.34l13.1 9.76c25.3 18.9 41.9 34 72 51.1 3.8 2.1 6.7 6.1 7.7 10 .9 4 .4 7.6-.6 10.9-2 6.6-5.9 12.5-10.6 18-4.7 5.5-10.2 10.4-16.1 13.9-5.8 3.5-12.6 6.8-20.6 3.2-22-10.2-35-26.5-41.3-44.6-6.3-18.1-6.4-37.6-4.9-56zm193.4 0l1.3 16.26c1.5 18.4 1.4 37.9-4.9 56-6.3 18.1-19.3 34.4-41.3 44.6-8 3.6-14.8.3-20.6-3.2-5.9-3.5-11.4-8.4-16.1-13.9-4.7-5.5-8.6-11.4-10.6-18-1-3.3-1.5-6.9-.6-10.9 1-3.9 3.9-7.9 7.7-10 30.1-17.1 46.7-32.2 72-51.1zM175.4 126.1c.1 11.2 1.2 22.1 4.5 31.6 4.9 14 13.7 25.5 31.3 33.8-.5-.3 1.4-.2 4.4-1.9 3.6-2.2 8-6.1 11.6-10.3 3.6-4.1 6.3-8.8 7-11.3.3-.7.2-.6.2-.9-3.6-2.1-7.1-4.1-10.4-6.2a8 16 0 0 1-8 15.1 8 16 0 0 1-8-16 8 16 0 0 1 1.3-8.6c-12.3-8.4-22.9-16.8-33.9-25.3zm35.8 65.4c.1.1.3.2.6.3zm125.4-65.4c-11 8.5-21.6 16.9-33.9 25.3a8 16 0 0 1 1.3 8.6 8 16 0 0 1-8 16 8 16 0 0 1-8-15.1c-3.3 2.1-6.8 4.1-10.4 6.2 0 .3-.1.2.2.9.7 2.5 3.4 7.2 7 11.3 3.6 4.2 8 8.1 11.6 10.3 3 1.7 4.9 1.6 4.4 1.9 17.6-8.3 26.4-19.8 31.3-33.8 3.3-9.5 4.4-20.4 4.5-31.6zm-35.8 65.4l-.6.3c.3-.1.5-.2.6-.3zm-183.6-15.1l34.7 33.1-12.4 13-34.7-33.1zm277.6 0l12.4 13-34.7 33.1-12.4-13zM93.74 201l34.66 33.1-12.4 13L81.31 214zm324.56 0l12.4 13-34.7 33.1-12.4-13zM256 225c65.8 0 119 53.2 119 119s-53.2 119-119 119-119-53.2-119-119 53.2-119 119-119zm-185.74.5L105 258.7l-12.48 13-34.7-33.2zm371.54 0l12.4 13-34.7 33.2-12.4-13zm-154.1 19.1c-23.7.4-63.2 12.3-63.7 35.4-.2 10.4 2.9 21 7.8 31 6.8-5 15.2-8 24.2-8 11.8 0 22.4 5.1 29.9 13.1 19-24.9 29.7-56 18.1-68.1-2-2.1-6.9-3.3-13.4-3.4zM256 321c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-55.6 9.8c-25.1-.3-47.6 6.3-51.5 19.6-3.7 12.9 40.6 68 67.6 53.2 9.1-4.9 16.8-12.9 23-22.1-14.4-6.4-24.5-20.9-24.5-37.5 0-4.2.6-8.2 1.8-12-5.5-.7-11-1.1-16.4-1.2zm96.3 8.7c.2 1.5.3 3 .3 4.5 0 19.3-13.7 35.7-31.8 39.9 12.1 28.8 33.6 53.6 49.9 49.6 13-3.2 38.6-69.2 12.3-85.2-8.8-5.4-19.6-8.1-30.7-8.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirplaneArrival;

impl IconShape for AirplaneArrival {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.48 31.83c-1.96 4.68-4.03 10.14-5.96 16.22-4.14 13.05-8.05 28.48-11.15 43.03-3.1 14.52-5.39 28.32-6.34 37.82-.35 3.6-.35 5.8-.35 7.7l167.92 78.6-11.4 9c-34.8 27.7-73 53-115.1 75.7l33.4 7.8c60-11.4 93.5-27.9 163.4-55.9l3-1.2 99.4 32.3.2.1c24 8.8 38.2 9.1 42 7.8 1.9-.7 1.4-.5 1.6-1.3.2-.8.2-3.3-1.2-6.9-2.7-7.2-10.1-17.6-19.6-26.7-9.5-9.1-21.2-17-31.5-20.9l-.3-.1-279.9-122.6-.8-4.6c-4.6-24.2-9.5-49.13-27.32-75.87zM209.2 47.9l21.5 95.6 59.8 26.3c-15.5-32.1-33.8-66.1-63.1-108.83L209.2 47.9zM32 439v18h448v-18H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirplaneDeparture;

impl IconShape for AirplaneDeparture {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M442.6 67.37c-1.6.01-3.2.06-4.8.16-13.2.73-26.9 3.8-36.8 8.74l-.2.12-281 120.21-4.1-2.6c-20.62-13.3-42.15-26.8-73.84-32.1 2.07 4.7 4.64 9.9 7.76 15.5 6.69 11.9 15.26 25.3 23.75 37.6 8.49 12.2 16.96 23.3 23.21 30.4 2.41 2.8 4.02 4.3 5.42 5.6l172.2-68.6-1.2 14.4c-3.7 44.4-11.3 89.6-23.5 135.7l28.5-19c32.6-51.5 43.5-87.2 71-157.3l1.2-3 91.5-50.5h.2c22.9-11.49 32.8-21.65 34.4-25.36.8-1.86.6-1.37.2-2.04-.4-.66-2.3-2.39-5.8-3.85-5.4-2.2-13.8-3.72-23.3-4.03-1.5-.05-3.2-.07-4.8-.05zm-283 11.74l-22.1 4.4L222 133.3l60.1-25.7C248 96.96 210.8 86.98 159.6 79.11zM32 439v18h448v-18H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirtightHatch;

impl IconShape for AirtightHatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 25v30h174V25H169zm-37.271 48L41 163.729V487h46V377H57V263h30v-74.729L156.271 119H355.73L425 188.271V375h46V163.729L380.271 73H131.73zm32 64L105 195.729V263h30v32h133.271L295 268.271V227.73l-48-48V137h-83.271zM265 137v35.271l48 48v55.458L293.729 295H407v-99.271L348.271 137H265zM75 281v78h42v-78H75zm60 32v14h272v-14H135zm0 32v32h-30v110h142v-19.271l-48-48V364.27L218.271 345H135zm108.729 0L217 371.729v40.542l48 48V487h142V345H243.729zM425 393v94h46v-94h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Akhet;

impl IconShape for Akhet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 108c-65.8 0-119 53.2-119 119s53.2 119 119 119 119-53.2 119-119-53.2-119-119-119zM72 146c-11 0-22.24 5.3-31.3 17.4C31.64 175.5 25 194.5 25 221v218h462V221c0-26.5-6.6-45.5-15.7-57.6C462.2 151.3 451 146 440 146s-22.2 5.3-31.3 17.4c-9.1 12.1-15.7 31.1-15.7 57.6v9c-1.6 74.2-62.4 134-137 134s-135.4-59.8-137-134v-9c0-26.5-6.6-45.5-15.7-57.6C94.24 151.3 83 146 72 146z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlarmClock;

impl IconShape for AlarmClock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 62.107v9.94h-28.88v18H247v39.074c-84.367 4.682-151.514 74.737-151.514 160.26 0 41.037 15.468 78.508 40.873 106.91l-36.237 36.237 12.727 12.73 36.238-36.24C177.49 434.425 214.96 449.894 256 449.894c41.04 0 78.51-15.47 106.912-40.875l36.238 36.238 12.727-12.73-36.236-36.235c25.406-28.402 40.874-65.873 40.874-106.91 0-85.523-67.147-155.578-151.514-160.26V90.048h28.88v-18H265v-9.94h-18zm-104.906 26.58c-3.583-.03-7.267.125-11.014.465C111.1 90.97 89.15 98 73.637 113.514c-15.514 15.513-22.545 37.462-24.362 57.443-.908 9.99-.488 19.54 1.184 27.898 1.67 8.36 4.315 15.662 9.784 21.13l6.363 6.365 6.366-6.364 113.5-113.502-6.366-6.363c-5.47-5.468-12.77-8.112-21.128-9.784-4.18-.836-8.658-1.358-13.34-1.56-1.17-.05-2.352-.08-3.546-.088zm227.812 0c-1.194.01-2.376.04-3.547.09-4.682.2-9.16.723-13.34 1.56-8.357 1.67-15.658 4.315-21.127 9.784l-6.366 6.364 6.366 6.366 113.5 113.5 6.363-6.364c5.47-5.47 8.113-12.772 9.785-21.13 1.673-8.36 2.093-17.908 1.185-27.9-1.817-19.98-8.848-41.93-24.362-57.442C422.85 98 400.9 90.97 380.92 89.152c-3.747-.34-7.43-.494-11.014-.465zM256 146.865c78.815 0 142.514 63.7 142.514 142.514 0 78.814-63.7 142.513-142.514 142.513-78.815 0-142.514-63.7-142.514-142.514 0-78.816 63.7-142.515 142.514-142.515zm-88.332 41.453l-12.73 12.73 82.92 82.917a18.94 18.94 0 0 0-.797 5.414A18.94 18.94 0 0 0 256 308.317a18.94 18.94 0 0 0 16.66-9.94h59.096v-18h-59.11A18.94 18.94 0 0 0 256 270.44a18.94 18.94 0 0 0-5.408.804l-82.924-82.924z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Algae;

impl IconShape for Algae {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62 19c-22.537 0-41 18.463-41 41s18.463 41 41 41 41-18.463 41-41-18.463-41-41-41zm170.977 9.97c-16.978-.922-52.997 72.088-53.834 113.33-.66 32.469 37.967 56.928 38.736 89.393.857 36.173-28.546 58.95-38.397 101.532-4.527 15.463 7.926 38.252 15.096 49.978 5.663 9.118 12.2 16.656 18.686 21.809-6.163-28.894-5.196-59.292-.19-87.715 3.262-18.52 13.862-33.667 22.492-47.83 8.63-14.163 15.138-26.884 14.37-39.817-.804-13.533-10.378-26.05-22.053-39.97-11.676-13.92-25.352-29.016-28.285-49.514-2.168-17.163 6.516-40.209 12.607-57.103l16.598 6.964c-6.53 15.961-11.005 30.288-11.387 47.59 1.947 13.606 12.458 26.428 24.258 40.496 11.8 14.069 24.992 29.612 26.23 50.469 1.15 19.365-8.029 35.584-16.966 50.252C242 293.502 233.15 307.076 230.8 320.42c-5.584 31.704-5.592 65.596 3.924 95.435 3.243 10.172 9.433 22.86 16.734 35.637a64.418 64.418 0 0 0 2.748-7.888c2.602-9.482 2.37-19.766-.57-24.102l14.898-10.104c8.174 12.053 6.356 26.848 3.03 38.97-1.664 6.06-3.884 11.553-6.323 16.048-.948 1.746-1.924 3.336-2.998 4.807a401.083 401.083 0 0 0 6.057 9.13A376.253 376.253 0 0 0 279.604 494h32.675c11.057-41.657-56.394-96.948-56.656-147.092-.218-41.702 40.04-78.813 34.764-120.181-4.188-32.838-41.059-53.739-50.657-85.42-10.862-35.856 8.339-109.356-5.959-112.237a5.548 5.548 0 0 0-.794-.1zM85 60c0 12.81-10.19 23-23 23S39 72.81 39 60c0-.124.008-.247.01-.371 2.796 2.023 6.204 3.236 9.865 3.236 9.282 0 17-7.718 17-17 0-3.219-.945-6.24 4.344-7.194C75.507 37.716 85 47.638 85 60zm247.488 17.32c-18.119 0-33 14.882-33 33 0 18.12 14.881 33 33 33 18.12 0 33-14.88 33-33 0-18.118-14.88-33-33-33zm5.315 18.96c5.7 2.11 9.685 7.532 9.685 14.04 0 8.391-6.609 15-15 15-7.773 0-14.005-5.676-14.883-13.181 1.7.688 3.544 1.08 5.467 1.08 8.119 0 14.893-6.774 14.893-14.893 0-.695-.066-1.375-.162-2.047zm-37.315 45.04c-9.282 0-17 7.718-17 17 0 9.283 7.718 17 17 17 9.283 0 17-7.717 17-17 0-9.282-7.717-17-17-17zm66.848 24.186a3.402 3.402 0 0 0-.596.039c-10.503 1.68 19.336 71.981 9.67 106.182-5.636 19.943-32.977 29.52-37.213 49.808-4.903 23.485 16.947 46.093 16.408 70.078-.733 32.688-42.238 68.245-22.625 94.405 5.256 7.009 11.776-1.035 18.069-5.704a305.408 305.408 0 0 0 13.517-13.082 47.85 47.85 0 0 1-4.837-6.308 51.018 51.018 0 0 1-7.993-30.42l17.973.986c-.454 8.28 2.082 14.906 5.164 19.703.595.927 1.21 1.753 1.82 2.522 1.635-2.015 3.157-3.972 4.41-5.776 6.183-8.891 11.334-18.161 11.418-25.935.152-13.948-9.391-28.598-20.005-44.688-10.614-16.089-22.44-34.122-19.098-55.761 2.02-13.086 11.901-20.663 19.61-26.848 7.708-6.185 13.486-11.354 14.833-16.244l17.354 4.781c-3.455 12.54-13.41 19.473-20.924 25.502-7.514 6.029-12.346 10.775-13.084 15.557-2.083 13.492 5.89 27.273 16.332 43.101 10.442 15.829 23.216 33.198 22.982 54.795-.158 14.627-8.032 26.515-14.638 36.016-8.105 11.656-20.935 24.708-32.735 35.424-.136.124-.268.238-.404.361h34.926c9.11-3.612 17.256-8.636 23.16-14.686 20.682-21.19 11.655-57.69 4.309-88.726-4.341-18.338-33.18-41.566-32.676-66.156.405-19.792 28.159-32.332 28.457-52.125.591-39.28-40.65-106.57-53.584-106.801zm-288.252 5.137c-.202.01-.4.033-.59.068-10.503 1.94 12.938 49.915 9.668 74.863-2.726 20.794-21.818 37.342-23.867 58.213C61.632 330.902 81.385 356.79 80 384c-1.724 33.881-50.665 71.441-31.268 97.729 4.765-4.382 10.554-10.11 16.575-16.625 13.477-14.583 27.891-33.125 33.732-46.319 5.181-11.703 6.3-26.25 4.834-40.08-4.093-21.186-19.261-39.903-20.545-59.387-1.076-20.698 9.154-37.472 11.904-52.1 2.151-11.44 5.143-36.394 5.143-36.394l17.875 2.117s-2.876 24.561-5.328 37.604c-3.574 19.007-12.318 34.359-11.617 47.838 3.083 21.238 18.184 39.242 20.468 58.424 1.699 16.013.694 33.525-6.273 49.263-7.594 17.154-22.785 35.897-36.975 51.25a330.056 330.056 0 0 1-13.828 14.106c18.087 3.662 43.034-6.147 55.946-17.62 28.862-25.645 32.23-64.006 20.91-108.853-7.237-28.668-22.264-48.927-20.48-74.678 1.085-15.683 27.202-25.725 18.622-43.33-14.053-28.836-47.91-76.956-60.611-76.302zM458.82 289.986c-7.618 0-14.66 2.639-20.267 7.035a15.268 15.268 0 0 0-5.24 5.118c-4.674 5.698-7.493 12.965-7.493 20.847 0 18.12 14.882 33 33 33 18.12 0 33-14.88 33-33 0-18.118-14.88-33-33-33zm1.924 18.133c7.453.924 13.076 7.131 13.076 14.867 0 8.391-6.609 15-15 15-7.843 0-14.127-5.776-14.914-13.382.677.097 1.363.164 2.063.164 8.118 0 14.892-6.774 14.892-14.893 0-.594-.046-1.178-.117-1.756zM172.037 379.66c-3.674 46.106 5.923 85.524 35.01 114.34h50.219a432.13 432.13 0 0 1-3.82-5.482c-12.572-18.375-25.576-40.12-33.094-59.407-17.026-4.533-30.563-19.501-41.065-36.412a159.892 159.892 0 0 1-7.25-13.039z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Algeria;

impl IconShape for Algeria {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M418.4 23.98c-87.5-7.58-164.6 2.58-228 35.99l11.3 83.23-181.56 71.3-5.99 43.4L294.5 490.4l57-2.2 146.4-114c-60.4-73.4-22.3-118.9-45.6-161.2-48-86.8-45.2-133.74-33.9-189.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlienBug;

impl IconShape for AlienBug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32.796c-29.75 0-68.891 11.577-99.588 28.844-15.348 8.633-28.61 18.674-37.685 28.884C109.65 100.735 105 110.796 105 119.796c0 1 .75 3.54 3.62 7.164 2.867 3.623 7.55 8.046 13.503 12.809 11.906 9.524 28.805 20.496 46.87 32.539 31.444 20.963 66.69 44.82 87.007 74.048 20.317-29.229 55.563-53.085 87.008-74.048 18.064-12.043 34.963-23.015 46.869-32.54 5.953-4.762 10.636-9.185 13.504-12.808 2.868-3.623 3.619-6.164 3.619-7.164 0-9-4.65-19.06-13.727-29.272-9.076-10.21-22.337-20.251-37.685-28.884C324.89 44.373 285.75 32.796 256 32.796zm-96 55c16 0 80 48 80 80-49.427-32.146-80-32-80-32-16-16-16-48 0-48zm192 0c16 0 16 32 0 48 0 0-30.573-.146-80 32 0-32 64-80 80-80zM124.389 216.099c-1.259 0-2.503.037-3.73.107-.326.019-.644.055-.968.078 4.622 3.44 8.605 7.731 11.797 12.52 7.195 10.792 10.748 24.327 8.934 37.931-1.338 10.032-5.833 20.055-13.715 28.377 1.736 1.92 3.344 4.07 4.99 6.438 7.078 10.176 14.145 24.717 21.242 41.256 1.2 2.797 2.396 5.651 3.586 8.54 10.648-6.648 22.597-10.931 35.457-10.529 1.92.06 3.862.224 5.82.5 12.583 1.776 25.386 7.956 38.677 19.051a288.157 288.157 0 0 0 3.953-6.65c-4.372-16.06-11.582-34.608-20.555-52.612-18.748-37.617-46.579-72.377-66.69-79.558-10.431-3.725-19.989-5.453-28.798-5.45zm263.222 0c-8.81-.004-18.367 1.724-28.798 5.449-20.111 7.18-47.942 41.941-66.69 79.558-8.973 18.004-16.183 36.551-20.555 52.612 1.26 2.194 2.591 4.42 3.953 6.65 13.29-11.095 26.094-17.275 38.676-19.05 1.96-.277 3.9-.44 5.82-.5 12.86-.403 24.81 3.88 35.458 10.529 1.19-2.89 2.385-5.744 3.586-8.541 7.097-16.54 14.164-31.08 21.242-41.256 1.646-2.367 3.254-4.517 4.99-6.438-7.882-8.322-12.377-18.345-13.715-28.377-1.814-13.604 1.739-27.14 8.934-37.931 3.192-4.789 7.175-9.08 11.797-12.52-.324-.023-.642-.06-.967-.078a65.622 65.622 0 0 0-3.73-.107zm-293.047 9.718a23.893 23.893 0 0 0-4.12.39c-4.146 2.676-8.089 5.835-11.856 9.425-19.142 18.24-32.817 48.68-38.734 82.889-5.918 34.207-4.163 72.009 5.894 104.39 6.921 22.286 17.755 41.725 32.348 56.293-7.482-25.49-12.588-54.061-12.727-82.312-.192-39.136 9.156-78.077 36.291-105.371 1.569-1.578 3.7-2.926 6.031-3.694 9.491-6.578 13.73-14.786 14.887-23.47 1.186-8.896-1.261-18.361-6.066-25.569-4.806-7.208-11.614-11.916-19.076-12.805-.933-.11-1.89-.169-2.872-.166zm322.872 0a23.654 23.654 0 0 0-2.872.166c-7.462.889-14.27 5.597-19.076 12.805-4.805 7.208-7.252 16.673-6.066 25.568 1.158 8.685 5.396 16.893 14.887 23.471 2.331.768 4.462 2.116 6.03 3.694 27.136 27.294 36.484 66.235 36.292 105.37-.14 28.252-5.245 56.823-12.727 82.313 14.593-14.568 25.427-34.007 32.348-56.293 10.057-32.381 11.812-70.183 5.894-104.39-5.917-34.208-19.592-64.65-38.734-82.89-3.767-3.589-7.71-6.748-11.855-9.425a23.856 23.856 0 0 0-4.121-.389zM223.54 236.642l-4.668 25.673c6.142 9.82 11.863 20.228 17.113 30.762 8.339 16.73 15.233 33.836 20.012 49.658 4.78-15.822 11.678-32.928 20.016-49.658 5.25-10.534 10.971-20.943 17.113-30.762l-4.668-25.673c-10.553 10.212-19.153 20.668-24.408 31.18L256 283.92l-8.05-16.1c-5.256-10.511-13.856-20.967-24.409-31.18zM189.412 358.77c-.642.01-1.283.039-1.92.084-7.645.535-14.922 3.493-22.58 8.482-18.513 12.06-29.046 29.471-33.531 52.262-3.334 16.942-3.043 36.818.517 58.691 7.15-14.08 14.765-30.503 22.176-44.867 5.776-11.194 11.273-20.973 17.479-27.951 3.103-3.49 6.382-6.572 11.355-8.092 4.974-1.52 11.702.299 15.455 4.053l15.117 15.117c2.063-2.118 5.486-7.853 8.249-14.299 4.073-9.506 6.651-18.326 8.09-23.52-13.398-12.427-24.835-18.221-34.532-19.59a37.478 37.478 0 0 0-5.875-.37zm133.176 0a37.478 37.478 0 0 0-5.875.37c-9.697 1.369-21.134 7.163-34.531 19.59 1.438 5.194 4.016 14.014 8.09 23.52 2.762 6.446 6.185 12.18 8.248 14.299l15.117-15.117c3.753-3.754 10.481-5.573 15.455-4.053 4.973 1.52 8.252 4.603 11.355 8.092 6.206 6.978 11.703 16.757 17.479 27.95 7.411 14.365 15.026 30.789 22.176 44.868 3.56-21.873 3.851-41.75.517-58.691-4.485-22.791-15.018-40.203-33.531-52.262-7.658-4.989-14.935-7.947-22.58-8.483a36.203 36.203 0 0 0-1.92-.084zM256 362.726a300.28 300.28 0 0 1-6.125 10.216l.092.092-1.237 4.945s-4.051 16.411-10.459 31.362c-3.203 7.475-6.71 14.621-12.158 20.068-2.723 2.724-6.272 5.322-11.15 5.863-4.878.542-10-1.787-13.326-5.113l-3.2-3.199c-3.24 1.637-6.565 2.987-9.988 3.953a44.166 44.166 0 0 0 2.783 4.275c4.507 6.084 11.133 13.22 18.694 19.834 15.12 13.231 34.574 23.774 46.074 23.774s30.953-10.543 46.074-23.774c7.56-6.615 14.187-13.75 18.694-19.834a44.166 44.166 0 0 0 2.783-4.275c-3.423-.966-6.748-2.316-9.989-3.953l-3.199 3.2c-3.326 3.325-8.448 5.654-13.326 5.112-4.878-.541-8.427-3.14-11.15-5.863-5.447-5.447-8.955-12.593-12.158-20.068-6.408-14.951-10.46-31.362-10.46-31.362l-1.236-4.945.092-.092A300.28 300.28 0 0 1 256 362.726z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlienEgg;

impl IconShape for AlienEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.871 20.028a225.334 225.334 0 0 0-6.521.01c-17.341.275-34.254 2.546-49.655 6.576-17.578 4.601-35.218 14.092-49.67 27.424-14.452 13.332-26.31 31.319-26.476 52.942-.123 16.037 7.219 29.58 16.113 41.185 4.972 6.487 10.628 12.487 16.55 18.06 10.051-6.959 19.603-11.335 28.825-13.544a61.846 61.846 0 0 1 8.91-1.453c-.305-.242-.611-.476-.916-.72-9.5-7.6-18.642-16.212-24.797-24.241-6.154-8.03-8.716-15.036-8.685-19.012.061-8.027 5.214-17.833 14.887-26.756 9.672-8.923 23.269-16.152 34.375-19.058 24.444-6.398 56.865-7.347 84.664-.928 27.798 6.418 49.811 19.656 59.605 38.56.72 1.39 1.442 7.908-.623 13.887s-6.349 9.994-7.361 10.395c-1.69.668-6.944.839-14.782-2.164-3.146-1.206-6.562-2.845-10.082-4.76-.851 5.973-3.116 11.495-6.533 16.158-3.85 5.256-8.766 9.62-14.336 13.469 5.762 3.333 11.797 6.346 18.07 8.75 12.364 4.737 26.584 7.689 40.91 2.02 15.186-6.01 23.58-18.911 28.141-32.112 4.56-13.201 5.855-28.125-1.44-42.203-16.474-31.8-49.242-49.175-83.47-57.078-14.975-3.458-30.45-5.207-45.703-5.407zM257.05 81.587s24.553 39.17 44.658 53.605c7.452-4.335 13.262-8.86 16.473-13.242 3.851-5.256 5.127-9.711 2.379-17.56-16.124-11.882-63.51-22.803-63.51-22.803zm-38.361 87.414c-3.396-.043-6.846.334-10.456 1.186-12.37 2.963-27.641 11.887-46.377 31.71-11.542 17.963-20.928 38.946-27.359 63.026 8.36 4.198 17.765 7.779 28.988 10.477 4.63-26.96 26.004-49.3 42.578-65.153l10.891-10.418 4.006 14.53c28.64 103.892 48.5 151.37 94.988 200.69a357.476 357.476 0 0 0 7.366-10.849c14.743-22.573 31.412-52.64 46.867-82.56 13.238-25.63 25.59-51.143 35.236-71.924-8.59-26.487-22.684-48.163-33.654-59.023-10.97-10.861-10.974-10.305-12.719-9.983-1.745.322-5.79 2.523-10.543 6.184-9.506 7.321-21.842 20.052-39.678 20.914a40.489 40.489 0 0 1-6.146-.19l-17.41 27.541 74.273 26.567-38.562 25.82 15.449 25.053-15.322 9.447-15.096-24.478-18.422 12.333-10.014-14.955 42.272-28.304-61.803-22.104 26.82-42.428c-4.211-2.098-8.242-4.585-12.14-7.15-10.686-7.032-20.88-15.01-31.34-20.144-8.023-3.593-15.224-5.72-22.693-5.815zm-10.692 65.158c-14.44 15.7-27.57 34.601-27.45 52.06l.079 10.827-10.658-1.904c-30.685-5.482-51.459-17.143-68.62-29.75-9.608-7.06-18.157-14.238-26.925-21.014 17.484 51.591 37.58 114.2 78.24 145.531l9.658 7.444-9.959 7.037c-27.956 19.753-56.551 36.69-79.838 53.066-14.175 9.968-26.193 19.77-35.066 29.483 20.231-6.628 40.28-15.856 60.477-22.725 27.76-9.441 57.234-13.995 85.726 2.72l1.037.61.842.861c14.982 15.318 30.852 22.309 59.965 23.448 25.861 1.011 62.587-3.585 113.867-12.399-87.106-73.382-115.421-119.016-151.375-245.295zm218.961 11.748c-.224.494-.305.715-.533 1.217-10.26 22.524-24.632 52.541-40.25 82.777-15.618 30.236-32.446 60.65-47.79 84.141-3.277 5.018-6.476 9.696-9.605 14.026 12.81 12.479 27.506 25.413 44.555 39.654 46.18 13.565 74.513 15.14 101.209 13.433-1.298-6.848-3.822-13.693-9.133-20.81-7.603-10.188-21.2-21.162-45.935-31.63l-8.114-3.433 3.26-8.185c23.039-57.845 16.709-116.65 12.336-171.19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AllSeeingEye;

impl IconShape for AllSeeingEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v15.797L179.434 215.41l9.484-16.424L28.04 18H18zm77.705 0l96.95 174.512 10.493-18.176L116.295 18h-20.59zm91.154 0c4.326 19.018 15.27 67.152 28.36 125.326.557 2.482 1.074 4.807 1.63 7.278l13.275-22.993C219.105 78.687 209.9 38.14 205.32 18h-18.46zM247 18v80.383l9-15.588 7.795 13.5L265 98.383V18h-18zm59.78 0l-24.51 110.297 13.314 23.058L325.22 18h-18.44zm88.925 0l-86.853 156.336 10.494 18.176L416.296 18h-20.59zm88.254 0L323.083 198.986l9.482 16.424L494 33.797V18h-10.04zM18 98.25v22.5l150.79 113.094 9.067-15.7L18 98.25zm476 0L334.145 218.143l9.064 15.7L494 120.75v-22.5zm-238 20.547l-74.656 129.308c20.297-9.102 46.254-14.35 74.656-14.35 28.402 0 54.36 5.248 74.656 14.35L256 118.797zm-238 70.34v19.226l136.05 51.018 9.122-15.804L18 189.136zm476 0l-145.172 54.44 9.123 15.804L494 208.364v-19.226zM18 249.18v18.14l122.615 15.326 9.77-16.92L18 249.18zm476 0l-132.383 16.547 9.768 16.92L494 267.32v-18.14zm-238 2.576c-14.737 0-26.49 11.75-26.49 26.488 0 8.536 3.948 16.065 10.13 20.895a28.09 28.09 0 0 1-1.384-8.603 28.09 28.09 0 0 1 28.09-28.09 28.09 28.09 0 0 1 13.02 3.223c-4.446-8.315-13.194-13.914-23.366-13.914zm-38.18 3.736c-12.656 2.568-23.93 6.328-33.082 10.904-17.63 8.815-26.21 19.758-26.21 29.594 0 9.837 8.58 20.777 26.21 29.592 17.63 8.815 43.077 14.643 71.262 14.643 28.185 0 53.632-5.828 71.262-14.643 17.63-8.815 26.21-19.755 26.21-29.592 0-9.836-8.58-20.78-26.21-29.594-9.153-4.576-20.426-8.336-33.082-10.904 4 6.67 6.31 14.453 6.31 22.752 0 24.465-20.025 44.49-44.49 44.49-24.465 0-44.49-20.025-44.49-44.49 0-8.3 2.31-16.083 6.31-22.752zm-83.867 38.694L18 308.68v18.14l104.666-13.082 11.287-19.552zm244.094 0l11.287 19.552L494 326.82v-18.14l-115.953-14.494zm-233.758 18.1l-57.112 98.92h337.644l-57.11-98.92c-5.763 12.078-17.677 22.035-32.4 29.398-20.907 10.452-48.695 16.54-79.312 16.54-30.617 0-58.405-6.088-79.31-16.54-14.725-7.363-26.64-17.32-32.4-29.4zm255.84 20.15l14.167 24.537L494 386.863v-19.226l-93.87-35.2zm-288.26.002L18 367.637v19.225l79.703-29.888 14.166-24.538zm-31.645 54.808L18 426.136v21.227l43.05-26.906 19.175-33.21zm351.55 0l19.174 33.21L494 447.364v-21.226l-62.225-38.89zm-350.82 41.96L18 484.29V494h16.238l74.05-64.795H80.956zm42.158 0L67.573 494h23.71l55.537-64.795h-23.707zm41.832 0L127.92 494h20.732l37.026-64.795h-20.733zm42.752 0c-8.665 28.96-15.66 51.885-19.61 64.794h18.82c4.678-15.314 11.433-37.537 19.573-64.795h-18.783zm39.303 0V494h18v-64.795h-18zm39.984 0L305.496 494h18.723l-18.515-64.795h-18.72zm39.338 0L363.348 494h20.732l-37.025-64.795h-20.733zm38.856 0L420.718 494h23.708l-55.54-64.795H365.18zm38.533 0L477.763 494H494v-9.71l-62.955-55.085H403.71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Almond;

impl IconShape for Almond {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M428.3 27.27c-5 0-10.3.34-15.9.95-11 17-20.9 33.24-23.5 48.93l-17.8-2.94c2.5-15.07 9.2-28.82 17.1-41.86-.9.19-1.7.36-2.6.57-36.2 8.57-79.3 26.23-122.5 49.46-5.4 2.89-10.8 5.88-16.1 8.94-.8 4.97-1.8 10.98-3.1 17.58-3.2 16.3-7.8 35.2-16.8 48.1-11.5 16.2-32.6 30.4-51.2 41.6-18.6 11.2-34.7 18.9-34.7 18.9l-7.8-16.2s15.4-7.4 33.2-18.1c17.8-10.8 37.8-25.4 45.7-36.6 5.6-7.9 10.9-25.8 14-41.2.1-.7.3-1.4.4-2.1-73.3 44.9-141.29 103.3-171.34 154.8-15.1 26-23.44 58.6-23.11 90.8 13.76-26.2 29.02-52.8 54.31-77.8l12.66 12.8C68.79 314 53.9 347.3 35.71 381.3c5.89 28.2 19.41 53.8 41.59 71.8 4.04 3.3 8.49 6.4 13.29 9.2 1.75-6.2 4.27-14.6 7.45-23.7 6.46-18.5 14.86-39.8 27.26-53 15-15.9 35.8-21.4 54.5-27 18.7-5.5 35.2-11 45.2-22.6 9.3-11 17.9-36.1 23-57.9 5.1-21.7 7.4-40.2 7.4-40.2l17.8 2.2s-2.3 19.3-7.7 42.1c-5.3 22.8-12.9 49.1-26.9 65.4-14.2 16.7-34.9 22.7-53.7 28.3-18.8 5.6-35.9 10.9-46.4 22.1-8.2 8.7-17.4 28.9-23.5 46.5-3.7 10.7-6.4 20-8 25.9 14.1 5.9 30.1 10 46.8 12.3 9-14.4 16.6-22.2 30.1-76.9l17.4 4.4c-11.6 46.7-19.8 62.2-27.4 74.3 36.2 1.6 73.4-5.3 100-19.7 75.3-41.2 138.2-140.1 173.7-233.8 6.8-17.9 12.5-35.6 17.3-52.7-17.9 15.3-32.8 32-41.1 53.1l-16.8-6.6c13-32.8 38.2-55.4 65-75.5 3.5-16.6 5.9-32.2 7-46.3.5-6.82.8-13.29.7-19.34-6.5 3.66-13.9 7.91-21.7 12.71-24.4 15.03-51.9 35.33-62.8 51.93-5.1 7.7-6 18.9-6.7 31.9-.7 13.1-1 27.9-9.6 41-7.8 12-19.9 18.2-30.5 23.7-10.6 5.5-19.8 10.5-25 17.4-10.3 13.6-20.8 41-27.9 64.4-7.2 23.3-11.4 42.8-11.4 42.8l-17.6-3.8s4.4-20.2 11.8-44.3c7.3-24.1 17.3-52.1 30.7-69.9 8.5-11.3 20.6-17.1 31.1-22.5 10.4-5.5 19.1-10.5 23.8-17.6 5-7.8 6-19.1 6.6-32.1.7-13 1.1-27.9 9.7-40.9v-.1c14.5-21.8 43.1-41.68 68.4-57.25 11.1-6.84 21.4-12.65 29.7-17.11-.3-1.99-.7-3.9-1.1-5.71-2.6-11.57-7-18.85-12-22.32-7.3-5.12-18.1-8.01-31.7-8.55-1.7-.1-3.4-.1-5.2-.1zm-113 58.9l17.4 4.5s-4.1 15.83-10.7 34.63c-6.7 18.9-15.4 40.6-27.3 54.4-20.7 24.3-49.8 36.9-77.5 49-27.7 12.1-54 23.9-71.7 43.8v.1c-13.8 15.6-28.7 47.3-39.3 74.5-10.73 27.3-17.58 50.2-17.58 50.2l-17.24-5.2s7.04-23.5 18.02-51.5c11-28 25.4-60.4 42.7-79.9 21-24 50.2-36.3 77.9-48.5 27.7-12.1 53.8-23.9 71.1-44.1 8.2-9.7 17.5-30.7 23.9-48.8 6.4-18 10.3-33.13 10.3-33.13zM197.6 273.2l17.8 2.6c-2.8 19.4-11.8 33.8-23.2 44.2-11.4 10.3-25 17.1-37.9 23.5l-8-16c12.8-6.5 24.8-12.7 33.8-20.9 9-8.1 15.3-17.8 17.5-33.4zm180.3 7.3l16.4 7.2s-9.6 22-23.6 47.7c-14 25.8-31.9 55.4-51 72.3-13.6 12.1-35 21.6-53.6 28.9-18.6 7.4-34.2 12.1-34.2 12.1l-5.2-17.2s15-4.5 32.8-11.6c17.8-7 38.6-17 48.2-25.6 15.3-13.5 33.5-42.4 47.2-67.4 13.6-25.1 23-46.4 23-46.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmberMosquito;

impl IconShape for AmberMosquito {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-49.473 0-94.804 29.19-128.342 78.1C94.121 152.009 73 220.348 73 296c0 52.552 10.198 101.567 27.664 143h310.672C428.802 397.567 439 348.552 439 296c0-75.652-21.12-143.991-54.658-192.9C350.804 54.19 305.472 25 256 25zm-25.922 24.459c7.27.133 13.469 2.777 14.393 9.576-60.873 23.968-114.003 115.36-147.473 175.85 3.256-45.078 49.313-168.96 126.07-184.865a39.545 39.545 0 0 1 5.543-.555c.493-.013.982-.015 1.467-.006zm37.375 76.18c1.031-.02 2.06.004 3.08.07 8.167.529 16.14 3.671 22.34 9.398a31.491 31.491 0 0 1 10.045 24.24c-1.18 32.573-10.66 64.15-18.488 94.893 3.385.972 6.424 2.376 9.13 4.24a27.11 27.11 0 0 1 4.405 3.8c2.754-1.075 5.565-1.672 8.283-1.776.477-.018.95-.021 1.42-.01 2.725.066 5.32.639 7.633 1.7l86.619-34.22 6.613 16.74-81.99 32.393c.05.259.103.516.144.774 1.18 7.31-1.118 14.602-6.433 20.242a20.78 20.78 0 0 1-2.805 2.457l44.885 19.375-7.488 39.367-17.684-3.363 4.793-25.195-33.504-14.463 20.836 32.98-23.25 30.908-14.385-10.82 15.782-20.978-20.577-32.569a23.632 23.632 0 0 1-3.545 1.303l4.9 48.629-42.556 7.086-2.957-17.756 25.914-4.314-3.691-36.618c-2.115-1.295-4.02-2.87-5.723-4.648-10.694 10.598-24 19.62-40.568 26.254l4.295 46.875-52.405 13.064-4.353-17.465 37.424-9.33-3.041-33.193-23.567 31.5-48.459-14.777 5.25-17.22 36.37 11.093 25.847-34.553c10.15-20.76 26.398-34.63 44.98-45.963-38.012-14.96-67.612-38.463-84.613-72.29-4.55-9.053-3.115-20.006 4.393-28.599 4.692-5.37 12.06-8.702 21.03-8.89 5.38-.113 11.338.904 17.642 3.29 17.494 6.624 29.89 18.587 39.431 32.409-2.086-10.15-3.328-20.782-3.134-32.115.192-11.237 4.46-20.59 11.232-26.41 5.926-5.094 13.283-7.402 20.5-7.545zm.365 17.996c-3.572.066-6.788 1.186-9.13 3.199-2.677 2.301-4.848 5.878-4.971 13.066-.449 26.273 8.551 49.377 17.367 73.862 6.61-25.57 12.966-50.761 13.846-75.065.169-4.675-1.44-7.753-4.27-10.367-2.829-2.613-7.104-4.387-11.29-4.658a18.624 18.624 0 0 0-1.552-.037zm-85.56 29.926a13.743 13.743 0 0 0-2.383.12c-2.841.412-4.416 1.742-5.568 3.061-2.306 2.639-2.157 8.094-1.866 8.674 14.766 29.38 40.367 49.957 75.276 63.592-5.725-12.831-11.042-25.53-17.229-36.654-9.35-16.81-20.187-29.689-37.437-36.22-4.67-1.767-8.147-2.494-10.793-2.573zm66.082 109.025c-13.198 8.263-24.09 17.416-31.871 29.578l.388 4.23.34.354c13.88-6.328 24.392-14.474 32.89-23.988a54.511 54.511 0 0 1-1.747-10.174zM89 457v30h334v-30H89z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ambulance;

impl IconShape for Ambulance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M143.55 44.06l1.403 87.88-37.092-29.74L128 153l-60.94 4.07 62.434 29.87h7.02l16-48h76.972l16 48h8.01l65.065-19.204-56.537-14.177L287 83.94l-49.953 46.595-3.512-54.168-46.047 49.252-43.94-81.56zm21.936 112.88l-10 30h71.028l-10-30h-51.028zM24 204.94v158h16.906l38.864-97.155 35.164 105.494 24.337-24.34H303v18H146.73l-25.06 25.058c15.133 6.527 26.447 20.33 29.498 36.94H326v-222H24zm197 23h36v30h30v36h-30v30h-36v-30h-30v-36h30v-30zm125 5.044V378.94h142v-46h-94.625l-15.777-94.672c-11.227-2.4-22.004-4.065-31.598-5.284zm50.637 10.037l3.26 19.568c28.086 8.33 51.377 27.818 67.593 52.35h17.844c-9.74-30.257-32.768-48.962-60.08-61.463-9.295-4.255-18.974-7.67-28.617-10.454zM78.23 318.095L53.094 380.94H24v46h28.832c4.202-22.882 24.097-40.426 48.023-40.97L78.23 318.093zM346 396.94v30h14.832c2.212-12.046 8.77-22.612 17.982-30H346zm95.186 0c9.21 7.388 15.77 17.954 17.982 30H488v-30h-46.814zm-339.186 7c-17.78 0-32 14.22-32 32s14.22 32 32 32 32-14.22 32-32-14.22-32-32-32zm308 0c-17.78 0-32 14.22-32 32s14.22 32 32 32 32-14.22 32-32-14.22-32-32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmericanFootballBall;

impl IconShape for AmericanFootballBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.105 23.23c-7.135.02-14.64.307-22.437.872 40.125 28.894 79.33 68.1 108.227 108.224 1.316-18.198 1.093-34.787-.348-48.912-2.398-23.496-9.092-40.233-13.91-45.05-4.818-4.82-21.555-11.513-45.05-13.91-5.875-.6-12.173-.99-18.835-1.147-2.498-.06-5.05-.086-7.647-.078zm-92.53 12.63c-58.62 15.315-122.552 45.856-175.186 98.48C81.94 187.202 51.592 251.473 36.4 310.324c34.234 47.728 118.68 132.105 166.024 165.815 58.63-15.317 122.572-45.864 175.21-98.503 52.64-52.64 83.187-116.582 98.503-175.21-33.886-47.59-118.976-132.68-166.566-166.566zm-9.6 20.09l8.05 16.1c-11.915 5.958-23.11 11.755-33.668 17.47l5.94 12.242-16.195 7.857-5.498-11.33c-13.5 7.696-25.94 15.33-37.448 23.097l6.725 10.095-14.98 9.98-6.463-9.702c-12.19 8.987-23.36 18.27-33.796 28.154l9.723 9.723-12.726 12.726-9.723-9.722c-9.86 10.414-19.125 21.552-28.092 33.71l10.19 6.578-9.764 15.12-10.805-6.976c-7.575 11.217-15.02 23.32-22.52 36.424l13.266 6.154-7.573 16.33-14.49-6.722c-5.914 10.885-11.908 22.43-18.076 34.767l-16.1-8.05c6.045-12.092 11.97-23.495 17.853-34.288l-10.24-4.75 7.574-16.328 11.496 5.33c7.924-13.797 15.84-26.587 23.93-38.473l-12.334-7.965 9.762-15.12 12.996 8.39c9.726-13.15 19.805-25.223 30.543-36.514l-9.893-9.895 12.726-12.726 9.895 9.894c11.258-10.705 23.293-20.757 36.396-30.456L187.81 103.8l14.98-9.98 8.548 12.83c12.162-8.283 25.268-16.382 39.437-24.496l-6.43-13.25 16.194-7.857 5.974 12.312c10.55-5.737 21.673-11.517 33.46-17.41zM24.76 380.583c-1.275 17.855-1.087 34.14.26 48.047 2.277 23.475 8.798 40.26 13.418 45.065 4.892 4.814 21.572 11.464 44.976 13.852 14.125 1.44 30.713 1.664 48.912.348C92.506 459.22 53.59 420.39 24.76 380.585z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmericanFootballHelmet;

impl IconShape for AmericanFootballHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.91 43.92c-107.805.592-194.213 24.61-219.88 136.755C6.016 281.24 34.087 357.173 51.506 389.267c17.793-2.313 52.09-14.015 68.828-.7 44.777 35.616 63.473 64.584 101.838 57.59 19.195-3.5 37.866-18.71 52.8-36.83 17.555 3.48 36.6 5.13 55.97 5.598 7.613.184 15.294.162 22.98-.03 2.743 7.774 5.737 14.746 8.96 20.847 7.454 14.107 15.994 24.458 28.082 27.346 26.463 6.32 58.738 6.843 95.743.447l3.138.44c.047-.332.086-.67.13-1.005.06-.01.115-.018.173-.03l-.098-.536c4.827-36.68-1.24-80.53-17.976-120.982.066-.03.14-.058.205-.086l-7.174-16.508c-16.376 7.115-61.784 15.195-108.238 18.744-3.572-30.78-4.406-66.923-1.108-106.352 37.304-18.697 69.34-24.12 102.4-33.367a432.994 432.994 0 0 0-3.644-16.52c-53.663 13.555-123.477 37.288-183.785 64.5-4.602 2.077-11.473 8.582-18.244 17.917-5.722 7.888-11.54 17.628-17.188 27.863 6.21 8.332 9.9 18.64 9.9 29.775 0 4.35-.566 8.575-1.622 12.606 5.335 1.4 8.82 2.82 12.02 3.7 4.88 1.344 10.9 2.254 27.652 1.468l.843 17.98c-17.67.83-26.445-.212-33.274-2.092-5.53-1.522-8.718-3.052-15.13-4.433a50.607 50.607 0 0 1-7.083 7.89l42.053 21.026-8.05 16.1-52.85-26.426a49.607 49.607 0 0 1-14.56 2.18c-27.51 0-50-22.49-50-50 0-27.506 22.49-50 50-50 9.714 0 18.795 2.817 26.49 7.658 5.177-9.204 10.582-18.082 16.228-25.866 7.614-10.497 15.43-19.25 25.412-23.755 61.36-27.687 131.606-51.596 186.488-65.472C430.632 106.876 386.03 43.166 248.91 43.92zm88.03 203.656c-2.306 35.6-1.36 68.432 1.925 97.144-10.77.553-21.468.865-31.776.9.03-.445.053-.88.064-1.302.792-31.874-7.14-71.998 12.642-85.684a313.988 313.988 0 0 1 17.145-11.058zm-141.745 47.812c-17.78 0-32 14.22-32 32s14.22 32 32 32 32-14.22 32-32-14.22-32-32-32zm259.77 51.803a243.967 243.967 0 0 1 11.47 34.55c-11.13 2.835-23.753 5.483-37.336 7.754-2.773-10.435-6.9-20.848-13.397-34.313 14.817-2.277 28.2-4.956 39.26-7.99zm-58.01 10.577c7.313 14.54 11.683 24.587 14.51 34.38a558.34 558.34 0 0 1-44.528 4.19c-1.742-6.114-3.366-12.708-4.826-19.75a348.348 348.348 0 0 1-2.775-15.134c12.89-.967 25.554-2.205 37.62-3.686zm-55.672 4.846c.962 6.11 2.033 11.99 3.203 17.63a310.76 310.76 0 0 0 3.945 16.75c-5.72.086-11.416.075-17.054-.062-15.503-.373-30.472-1.726-44.308-4.088 6.59-10.09 11.862-20.262 15.35-29.24 12.575.063 25.68-.285 38.865-.99zm128.9 36.75c2.91 16.666 3.974 33.013 3.176 48.057-13.016 1.81-25.256 2.663-36.652 2.658-1.376-17.99-2.392-31.563-4.048-42.887 13.524-2.285 26.174-4.948 37.523-7.827zm-55.057 10.498c1.385 10.008 2.226 22.443 3.49 39.433-8.41-.74-16.254-1.987-23.472-3.71-3.295-.788-10.06-6.343-16.35-18.25-2.038-3.858-4.04-8.3-5.966-13.263 14.42-.884 28.65-2.342 42.298-4.21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmericanFootballPlayer;

impl IconShape for AmericanFootballPlayer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-29.8 0-50.9 10.83-65.3 26.98C176.4 84.12 169 106 169 128c0 17.5 4.9 29.1 12.3 39h8.8l-7.1-38.2v-.8c0-7 3.8-13.2 8.6-17.3 4.9-4.2 10.8-7 17.6-9.2 1.9-.6 3.8-1.2 5.8-1.74V71h82v28.76c2 .54 3.9 1.14 5.8 1.74 6.8 2.2 12.7 5 17.6 9.2 4.8 4.1 8.6 10.3 8.6 17.3v.8l-7.1 38.2h8.8c7.4-9.9 12.3-21.5 12.3-39 0-22-7.4-43.88-21.7-60.02C306.9 51.83 285.8 41 256 41zm-23 48v14h46V89h-46zm-44.5 96l4.7 14h27.2l-3.4-14h-28.5zm46.9 0l3.4 14h34.4l3.4-14h-41.2zm59.6 0l-3.4 14h27.2l4.7-14H295zm-121.5 11.9l-27.3 3.9c-22.5 7.6-41.3 19-54.2 30-12.48 10.7-18.29 22-18.79 24.8l14.23 57L141.2 326l28.4-28.4 12.8 12.8-29 29 2.4 27.1 34-13.6c4.4-17.9 12-33.2 20.8-45.4 13.7-19 29.3-31.3 45.4-31.3 16.1 0 31.6 12.3 45.4 31.3 8.8 12.2 16.4 27.5 20.8 45.4l34 13.6 2.4-27.1-29-29 12.8-12.8 28.4 28.4 53.8-13.4 14.3-57.1c-.2-1.3-1.2-4.7-4.1-8.9-3.1-4.7-8.1-10.2-14.7-15.8-12.9-11-31.8-22.4-54.3-30l-27.3-3.9-10.2 30.6-.2.5c-5.7 11.2-16.9 18.1-29.6 22.5-12.8 4.4-27.6 6.5-42.5 6.5-14.9 0-29.7-2.1-42.5-6.5-12.7-4.4-23.9-11.3-29.6-22.5l-.2-.5-10.2-30.6zm25.6 20.1l1.1 3.2c2.5 4.7 9.2 9.8 19.3 13.3 3.1 1.1 6.4 2 9.9 2.8l-4.7-19.3h-25.6zm44 0l5.3 21.8c2.5.1 5.1.2 7.6.2s5.1-.1 7.6-.2l5.3-21.8h-25.8zm44.2 0l-4.7 19.3c3.5-.8 6.8-1.7 9.9-2.8 10.1-3.5 16.8-8.6 19.3-13.3l1.1-3.2h-25.6zM256 294.2c-4.3 0-19.2 7.8-30.9 23.8-11.6 16.1-21.1 39.4-21.1 67.4 0 28.1 9.5 51.4 21.1 67.5 11.7 16 26.6 23.8 30.9 23.8 4.2 0 19.2-7.8 30.8-23.9 11.7-16.1 21.2-39.3 21.2-67.4 0-28-9.5-51.3-21.2-67.4-11.6-16-26.6-23.8-30.8-23.8zm-9 31.1h18v15.1h13.3v18H265v18h13.3v18H265v18.1h13.3v18H265v15.1h-18v-15.1h-13.4v-18H247v-18.1h-13.4v-18H247v-18h-13.4v-18H247v-15.1zm-165.66 4.3c-12.1 7.2-22.18 20.4-29.12 36.1C44.78 382.4 41 401.5 41 416c0 6.1 1.61 9.8 4.51 12.9 2.9 3.1 7.62 5.7 14.24 7.4 13.24 3.4 33.37 2.7 54.65-1.2 21.3-3.8 43.8-10.7 62.7-18.4 4-1.7 7.8-3.4 11.4-5.1-1.6-8.2-2.5-17-2.5-26.2 0-4 .2-8 .5-11.8l-87.16 34.8-9.7-14.8c8-8 19.86-19.8 29.46-31.4 4.8-5.7 9-11.4 11.9-16.3.8-1.3 1.1-2.3 1.7-3.5l-51.36-12.8zm349.36 0l-51.4 12.8c.6 1.2.9 2.2 1.7 3.5 2.9 4.9 7.1 10.6 11.9 16.3 9.6 11.6 21.5 23.4 29.5 31.4l-9.7 14.8-87.2-34.8c.3 3.8.5 7.8.5 11.8 0 9.2-.9 18-2.5 26.2 3.6 1.7 7.4 3.4 11.4 5.1 18.9 7.7 41.4 14.6 62.7 18.4 21.3 3.9 41.4 4.6 54.7 1.2 6.6-1.7 11.3-4.3 14.2-7.4 2.9-3.1 4.5-6.8 4.5-12.9 0-14.5-3.8-33.6-11.2-50.3-7-15.7-17-28.9-29.1-36.1zm-237.6 99.8c-2.9 1.3-6 2.6-9.2 3.9-6.8 2.8-13.9 5.4-21.3 7.9l5.6 61.8h175.6l5.6-61.8c-7.4-2.5-14.5-5.1-21.3-7.9-3.2-1.3-6.3-2.6-9.2-3.9-4.5 13-10.6 24.5-17.5 34-13.8 19-29.3 31.3-45.4 31.3-16.1 0-31.7-12.3-45.4-31.3-6.9-9.5-13-21-17.5-34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmericanShield;

impl IconShape for AmericanShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32A224 224 0 0 0 32 256a224 224 0 0 0 224 224 224 224 0 0 0 224-224A224 224 0 0 0 256 32zm0 40a184 184 0 0 1 184 184 184 184 0 0 1-184 184A184 184 0 0 1 72 256 184 184 0 0 1 256 72zm0 48a136 136 0 0 0-136 136 136 136 0 0 0 136 136 136 136 0 0 0 136-136 136 136 0 0 0-136-136zm-.994 47.834c9.848-.197 19.708 1.524 29.002 4.752 26.805 8.13 47.273 30.513 55.82 56.678l-63.05-1.285L256 168.202l-20.777 59.776-63.27 1.288L222.38 267.5l-18.02 59.563c-20.54-15.486-34.84-39.655-36.673-65.24-4.02-48.442 39.505-94.682 87.32-93.99zm84.87 61.564c3.95 12.16 5.334 25.13 3.57 37.866-2.29 24.324-16.34 45.71-35.82 59.754L289.618 267.5l50.255-38.102zM256 291.926l51.04 35.515c-15.884 11.27-35.293 17.685-54.886 16.857-17.256-.38-33.59-6.7-47.234-16.826L256 291.927z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Amphora;

impl IconShape for Amphora {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.406 19.063c-8.072 0-26.468-.038-45 3-18.532 3.037-36.397 9.68-43.844 19.406-3.24 4.23-3.078 16.023.5 21.81.648 1.048 7.32 5.613 13.875 8.095 6.556 2.482 12.47 3.844 12.47 3.844l7 1.593V84c0 4.93-1.786 8.804-3.188 11.625-1.404 2.82-2.523 4.888-3.19 7.094-1.33 4.41-1.94 10.49 5.44 25.25l3.31 6.624-7.5 6.406c-21.85 22.665-40.35 52.514-51.468 82.156-11.538 30.768-14.83 61.13-7.875 82 7.336 22.01 22.506 41.24 36.563 59.313 14.057 18.07 27.906 35.032 27.906 55.53 0 11-6.656 18.375-10.656 22.375-4 4-5.344 4.625-5.344 9.625 0 2 5.67 13.724 18.22 22.688 12.548 8.963 30.78 16.312 52.78 16.312s40.2-7.35 52.75-16.313c12.55-8.963 18.25-20.685 18.25-22.687 0-5-1.375-5.625-5.375-9.625S310.407 431 310.407 420c0-20.5 13.818-37.458 27.875-55.53 14.058-18.074 29.26-37.31 36.595-59.314 6.956-20.87 3.632-51.232-7.906-82-11.54-30.768-30.998-61.84-53.94-84.78l-4.592-4.595 2.906-5.81c7.463-14.928 6.772-19.403 5.53-23.126-1.24-3.724-6.468-9.843-6.468-20.844v-7.188l7-1.593s5.913-1.363 12.47-3.845c6.555-2.482 13.23-7.05 13.874-8.094 3.58-5.792 3.74-17.58.5-21.81-7.448-9.73-25.343-16.37-43.875-19.407-18.532-3.038-36.9-3-44.97-3zM137.75 79.656c-4.783.01-9.487 1.363-14.063 4.344-37.933 24.713-10.808 98.99 1.626 137.406.538-1.525 1.084-3.038 1.656-4.562 3.7-9.87 8.115-19.706 13.155-29.313-11.593-28.954-31.216-71.365-6.906-87.53 11.226-7.468 30.314 6.053 43.56 17.75-1.538-6.72-1.636-12.428-.75-17.188-13.093-12.165-25.986-20.933-38.28-20.906zm234.156 0c-12.115-.027-24.82 8.484-37.72 20.375 1.29 4.42 1.5 9.824.158 16.407 13.16-11.366 31.278-23.63 42.094-16.437 23.97 15.94 5.205 57.397-6.438 86.313 5.31 9.996 9.953 20.24 13.813 30.53.364.973.71 1.935 1.062 2.907 12.65-38.855 38.493-111.385 1.094-135.75-4.576-2.98-9.28-4.333-14.064-4.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmpleDress;

impl IconShape for AmpleDress {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288 16l32 16s-25.2 44.02-16 64c5 10.8 32 16 32 16-16 32-32 80-32 96 80 48 80 144 160 176 0 64-80 112-208 112S48 448 48 384c80-32 80-128 160-176 0-16-16-64-32-96 0 0 27-5.2 32-16 9.2-19.98-16-64-16-64l32-16c0 32 16 48 32 48s32-16 32-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anarchy;

impl IconShape for Anarchy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218.383 21.05L203.92 68.054C113.694 89.428 46 165.01 46 256c0 14.283 1.684 28.18 4.846 41.555L28.23 302.4l7.54 35.2 26.896-5.764c10.105 21.922 24.455 41.74 42.057 58.613l-25.926 84.257 34.406 10.586 21.793-70.824C169.324 436.875 211.146 450 256 450c58.938 0 112.636-22.662 150.98-59.27l41.756 66.81 30.528-19.08-47.616-76.185C453.324 331.823 466 295.355 466 256c0-3.533-.107-7.04-.31-10.525l18.08-3.875-7.54-35.2-16.218 3.475C437.487 124.62 353.984 62 256 62c-3.968 0-7.91.112-11.826.314l-25.79-41.263zm48.28 77.25c77.367 4.207 140.087 53.86 158.107 119.128l-73.772 15.808L266.664 98.3zm-37.046 8.647l83.944 134.31-134.11 28.74 50.167-163.05zm-38.37 2.295l-52.12 169.395-53.072 11.373A144.686 144.686 0 0 1 82 256c0-66.113 44.82-123.37 109.246-146.758zm238.712 143.89c.018.954.04 1.91.04 2.868 0 26.092-6.99 50.8-19.4 72.598l-39.31-62.895 58.67-12.572zm-96.106 20.593l53.644 85.832C355.762 392.824 308.884 414 256 414c-41.952 0-80.12-13.333-109.953-35.45l21.273-69.14 166.534-35.685zM126.998 318.05l-10.127 32.917c-6.922-8.368-12.95-17.373-17.956-26.9l28.084-6.016z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AncientColumns;

impl IconShape for AncientColumns {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57 39v16h110V39H57zm32 34v318h46V73H89zm334 21.56l-46 23.04V391h46V94.56zM254.2 187L233 197.6V391h46V211.7L254.2 187zM73 409v30h78v-30H73zm144 0v30h78v-30h-78zm144 0v30h78v-30h-78zM38.49 457l-10 30H483.5l-10-30H38.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AncientRuins;

impl IconShape for AncientRuins {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.822 18l-33.46 5.637 20.41 20.41 42.12-5.5L457.26 171.332l8.892 52.78-188.006-57.487-8.16 12.145L494 247.27v-65.372L321.695 18h-43.873zm-55.242 9.307L42.775 57.597l-14.457 47.276 195.346 59.732c3.162-2.613 6.453-5.325 12.973-10.673L71.084 103.31l34.695-36.474 2.195-2.31L242.262 46.99l-19.682-19.68zm78.53 30.146l-20.282 2.65 23.832 23.83-32.492 10.833 46.45 11.61-29.983 44.634 154.928 47.373-2.995-17.778-139.46-123.152zm-42.794 5.59L116.626 81.55l-12.427 13.063 149.204 45.625c10.38-8.434 21.128-17.107 30.07-24.093l-75.64-18.91 63.506-21.17-13.024-13.022zM148.13 164.598l-26.595 26.595-11.867-23.734-14.95 44.843-27.23-40.846L53.434 424.46c34.415 5.734 70.622 6.06 109.13-.075L148.13 164.598zm-5.134 43.134l6 202-17.992.536-6-202 17.992-.536zm-69.992.004l17.992.528-6 204-17.992-.528 6-204zM99 208h18v208H99V208zm310 57v42.73c15.296 4.103 50.7 4.374 85 3.99V265h-85zm-21.236 64c-3.1 2.538-6.47 4.89-10.202 6.822-6.376 3.302-14.134 5.18-22.37 3.875-4.783-.758-9.604-2.636-14.467-5.408L327.155 375H439v-46h-51.236zM457 329v46h37v-46h-37zm-185.658 17.377c-8.592 4.21-16.74 8.066-23.008 13.033-5.09 4.035-9.18 8.75-12.11 15.59h78.05l-42.932-28.623zM237.104 393c6.465 18.295 8.62 33.21 8.447 46H247v-46h-9.896zM265 393v46h110v-46H265zm186.73 0l-46.003 46H494v-46h-42.27zM195 442.203c-36.733 4.718-73.905 6.542-111.535 5.186l-3.414 4.45 35.934 6.764-34.38 29.76c38.292 1.366 76.09-.08 113.396-4.42v-41.74zm-174 .014v41.69c11.597 1.292 23.148 2.323 34.656 3.113l20.36-17.624-28.067-5.283 13.704-17.867c-13.492-.93-27.042-2.254-40.654-4.03zM243.748 457c-2.055 11.088-5.47 20.656-8.2 30H311v-30h-67.252zM329 457v30h110v-30H329zm128 0v30h37v-30h-37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AncientScrew;

impl IconShape for AncientScrew {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.91 27.78l11.61 46.46 48 16L119 216.2h128v-78h-77.5l-32.2-96.75zm456.19 0L374.7 41.45l-32.2 96.75H265v78h128l30.3-121.16 1.2-4.8 48-16zM213.6 74.22l-23 45.98h130.8l-23-45.98zm-39 159.98l3 5.9L311 292v-4.4l6.7-18-90.9-35.4zm102 0l47.4 18.4 6.9-18.4zm-87.1 29.9l11.5 23v10.1L311 340v-28.6zm11.5 52.5v28.6L311 388v-28.6zm0 48v28.7L311 436v-28.6zm0 48V443l110 41.2v-28.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AncientSword;

impl IconShape for AncientSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.1 21.31c-6.3-.03-12.4.5-16.9 1.4-4.3.86-6.9 2.81-6.8 2.25-5.4 9.07-11.1 24.96-12.3 38.47-.7 6.95-.2 13.21 1.3 17.39 1.5 4.17 3.2 6.1 6.5 7.31.3.1.4.18.5.25 0-.11.1-.28.4-.55 1.1-.97 3.2-4.03 5.3-8.1 4.1-8.15 7.5-19.78 16.1-28.18 9.2-8.93 21.6-12.1 30.4-16.15 4.4-2.02 7.7-4.15 9.1-5.64.4-.5.6-.75.8-1.05-6.2-3.54-19.3-6.95-31.7-7.33v-.02c-.9-.03-1.8-.04-2.7-.05zm-27.7 67.07c-.1.18.1.14 0 0zm72.3-44.28c-3.8 3.39-8.2 5.63-12.6 7.65-10.4 4.81-21.4 8.86-25.3 12.69-1.2 1.19-2.6 3.38-4.1 6.13 3.4 3.18 7.5 6.16 12 8.69 10.1 5.62 20.8 7.85 29.1 7.08 8.4-.63 13.6-3.77 16.2-8.32 2.5-4.55 2.3-10.69-1.6-18.1-2.7-5.4-7.4-11.01-13.7-15.82zm-50.3 43.19c0 .17-.1.33-.2.5-2.4 4.82-5 9.59-9.4 13.51-3.4 2.9-8.6 5-13.8 4.8-7.4 10.2-16 20.9-26.7 32.2 21.9 9.6 38 18.5 57.8 31.9 7.1-27.8 16.3-48.5 25.9-67-7.3-1.4-14.8-4.2-22-8.19-4.2-2.3-8.1-4.9-11.6-7.72zm-102 16.91c-24.1 1.1-35.8 11.4-42.4 23.5-6.6 12-6.6 27-4.9 32 .5 1.8.3 1.3 1 1.4.7.2 3 .2 6.2-1.3 6.4-3.1 15.3-11.3 20.8-23.5l4.1-9 8.5 4.9c7.4 4.2 17.9.6 22.8-5.5.5-5.7-1.1-11.5-4.2-15.7-3.2-4.3-7.3-6.7-11.1-6.8h-.8zm22.4 41.2c-8.3 5.9-19 8.3-29.4 5.7-2.8 4.8-6 9.1-9.4 12.8 65.4 23.4 80.5 30.9 129.6 69.3 1.1 30.4 4 73.9 1 96.9-2.4 18.3 17.7 12 18 .2.4-18.3-3.1-37.9.7-54.7.8 15.7 14.8 13.5 15.1.3l.7-43.6 6.8-6.3c-63.8-48.1-79.5-59.2-133.1-80.6zm-8.3 48.8l-52.8 95.6 9.2 18.5-22.5 5.4-29.5 53.4 10 8.2 21.7-3.7 91.5-165.4c-8.1-4.1-16.9-7.8-27.6-12zm43.5 20.7l-84.5 152.8 37.8-6.4 37.6-68.1-1-24 17.8-6.3 17.1-30.9c-9.2-6.9-17.1-12.4-24.8-17.1zm-193.1 131L21.17 402.1v15.6l98.63-13.5 23 48.4-16.2 7.8-17.4-36.6-88.03 12V496H391.4l-5.9-10.8-74-29.3-55.4 21.7-6.6-16.8 62-24.3 60.4 23.9-.8-1.4-82-82.9-85.5 14.5 24.4 20.9-11.8 13.6-39.9-34.2-54.4-45z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Angola;

impl IconShape for Angola {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.42 23.22L51.69 46.46l13.49 25.49 32.23-34.49zM211.4 74.2L66.68 82.44l42.72 84.76-16.48 15.7 32.18 84-42.68 63-26.23 133.4 45.01-14.2 28.4 18 141-2.3 106.4 24 59.3-17.2-41.3-50.3V317.1l63-.7 2.3-66.7-55.5 1.5-18.8-126-71.9-10.5-12 34.5-56.3-3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AngryEyes;

impl IconShape for AngryEyes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 163.033c-19.63 0-51.214 12.034-48 32 68.42 18.54 123.27 48.386 176 80-42.956-51.378-108.988-112-128-112zm288 0c-19.012 0-85.044 60.622-128 112 52.73-31.614 107.58-61.46 176-80 3.214-19.966-28.37-32-48-32zm-303.973 97.21c-6.303.084-11.67 1.557-17.443 4.77-7.63 4.243-16.252 12.463-26.588 25.423 12.406 12.91 28.615 30.222 52.395 37.37 25.15 7.556 59.428 4.37 108.417-32.937-17.8-5.246-33.034-10.328-46.457-14.954 1.69 3.358 2.65 7.135 2.65 11.117 0 13.7-11.3 25-25 25s-25-11.3-25-25c0-9.878 5.874-18.506 14.287-22.553-10.365-3.466-19.044-6.044-26.39-7.27-2.916-.488-5.592-.8-8.106-.917-.942-.044-1.862-.06-2.763-.05zm319.946 0c-.9-.01-1.82.006-2.764.05-2.515.117-5.19.43-8.106.916-7.347 1.226-16.026 3.804-26.39 7.27 8.412 4.047 14.286 12.675 14.286 22.553 0 13.7-11.3 25-25 25s-25-11.3-25-25c0-3.982.96-7.76 2.65-11.117-13.423 4.626-28.658 9.708-46.457 14.953 48.99 37.307 83.268 40.492 108.416 32.935 23.78-7.147 39.988-24.458 52.394-37.37-10.336-12.96-18.96-21.18-26.588-25.423-5.773-3.212-11.14-4.685-17.443-4.768z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AnimalHide;

impl IconShape for AnimalHide {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M76.28 21.688c-26.378 9.306-43.39 25.92-51.374 49.53 33.78 22.83 81.775 69.988 100.875 114.813 7.62 17.88 13.92 38.086 17.97 59.126 5.308-2.97 33.706 40.776 25.5 33.156-1.905-1.766-22.602-12.653-22.125-5.53 1.39 20.77 2.154 36.28-1.22 56.28-8.794 52.14-56.968 122.188-56.968 122.188 22.368 21.103 35.882 27.827 74.876 35.78l77-100.405c28.983 22.87 5.424 64 28.218 62.47 21.462-1.442 2.15-41.235 18.44-61.845 16.95 22.598 36.356 41.26 55.717 57.125 2.09 2.124 1.477-61.477 5.75-47.594 4.162 13.52 13.724 52.06 18.47 65.25 12.987 13.292 22.495 24.418 38.437 27.595 36.918 7.356 33.552-2.188 69.28-22.094 0 0-62.02-74.034-76.468-118.874-14.824-46.01-21.362-98.512-7.5-144.812 15.787-52.74 97.78-133.094 97.78-133.094-4.763-5.607-8.447-9.992-11.686-13.688-3.5-3.993-35.27 15.448-38.594 12.438-3.296-2.988 21.852-28.457 17.094-31.75-5.434-3.76-12.353-8.134-21.97-14.063-32.09 39.05-59.294 63.115-112.624 96.376-4.038-23.52-1.745-37.2-19.344-53.938-17.6-16.74-55.628-29.337-89.187-.594-14.822 12.696-11.758 33.168-19.47 51.532-24.79-42.81-90.31-87.444-116.874-95.374zM273.157 141.03c3.632 9.382 1.912 19.278-1.5 28.626-3.412 9.348-8.772 18.586-14.625 27.375-3.624 5.446-7.432 10.64-11.155 15.595 10.79-3.762 22.226-7.236 33.5-2.594l10.688 4.407-6.875 9.282c-3.87 5.213-7.125 9.803-9.97 14 3.6-1.794 7.416-3.395 11.532-4.564 3.455-.98 9.48 1.043 11.625 4 2.144 2.957 2.316 5.218 2.53 7.28.432 4.128.016 8.136-.53 12.69-1.093 9.104-3.05 19.868-3.5 26.062l-17.97-1.313c.597-8.223 2.62-18.754 3.595-26.875.026-.218.007-.254.03-.47-8.836 4.995-18.517 12.7-30.56 17.75L224.437 283l14.343-23.688c5.164-8.52 10.192-17.848 19.22-31.218-3.025.674-6.163 1.506-9.344 2.625-5.286 1.858-10.545 4.006-15.094 5.843-4.548 1.836-7.876 3.33-11.78 4.156l-21.032 4.468 11.594-18.125c5.86-9.155 18.906-23.762 29.72-40 5.405-8.12 10.077-16.445 12.686-23.594 2.61-7.15 2.883-12.69 1.625-15.94l16.78-6.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ant;

impl IconShape for Ant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216 21.23s-5.1 9.96-9.7 22.52c-4.5 12.57-9.4 27.36-7.2 40.96 2.2 13.16 11 25.19 19 35.29.1.2.2.3.4.4 0-.1.1-.2.2-.3 3.6-5 7.4-9.8 11.4-14.1-6.5-8.69-12.4-18.93-13.2-24.18-1-6.21 2.2-20.41 6.4-31.89 4.2-11.49 8.7-20.63 8.7-20.63zm80.1.17l-16 8.08s4.5 9.14 8.7 20.63c4.2 11.48 7.4 25.68 6.4 31.89-.8 5.14-6.6 15.18-13 23.8 4.1 4.4 7.9 9.3 11.6 14.4l.1-.1c8-10 16.9-22.04 19.1-35.21 2.2-13.6-2.7-28.39-7.2-40.96-4.6-12.56-9.7-22.52-9.7-22.52zM82.38 106.6l-4.8 17.4s15.14 4.2 32.52 10.2c16.7 5.7 35.5 13.8 43 19.3 15.7 30.7 32.4 48 62 77.7-.1-1.4-.1-2.7-.1-3.9 0-6.3.1-13.3 1.3-20.6-22.6-22.9-35.3-37.5-48.2-63.4l-.9-1.8-1.5-1.2c-11.8-9.5-31.7-16.9-49.7-23.1-18.01-6.3-33.62-10.6-33.62-10.6zm347.22 0s-15.6 4.3-33.6 10.6c-18 6.2-37.9 13.6-49.7 23.1l-1.5 1.2-.9 1.8c-12.9 26-25.5 40.5-48.2 63.5 1.2 7.3 1.3 14.2 1.3 20.5 0 1.2 0 2.6-.1 4 29.6-29.7 46.3-47.1 62-77.8 7.5-5.5 26.3-13.6 43-19.3 17.4-6 32.5-10.2 32.5-10.2zm-173.7 1.8c.1.1-3.7 1.4-8.1 5.3-4.6 4.1-9.8 10.2-14.5 16.8-4.7 6.6-9 13.8-11.9 20-3 6.1-4.4 11.8-4.4 12.8s.7 3.1 3.1 5.9c2.3 2.7 6.1 5.7 10.5 8.4 8.8 5.3 20.4 8.7 25.4 8.7s16.6-3.4 25.4-8.7c4.4-2.7 8.2-5.7 10.5-8.4 2.4-2.8 3.1-4.9 3.1-5.9 0-1.1-1.3-6.7-4.2-12.8-2.8-6.2-7-13.2-11.6-19.8-4.6-6.5-9.7-12.6-14.3-16.7-4.5-4-8.4-5.5-9-5.6zm-19.6 91.9c-3.4 8.4-3.3 16.8-3.3 27 0 6.5 1.9 22.5 5.7 37.8 1.6 6.4 3.7 12.7 5.9 18.3 3.7-.7 7.5-1.1 11.4-1.1 3.9 0 7.7.4 11.4 1.1 2.2-5.6 4.3-11.9 5.9-18.3 3.8-15.3 5.7-31.3 5.7-37.8 0-10.2.1-18.6-3.3-27-6.7 2.5-13.4 4-19.7 4-6.3 0-13-1.5-19.7-4zm-99.3 18l-1.7 6.8c-15.7 62.6-47.8 126-77.68 155.8l12.72 12.8c32.86-32.9 63.56-94.1 80.36-157 21.8 1.7 44.7 11 68.2 22.3-1.6-7.9-2.7-15.3-3.3-21.6-23.1-10.7-46.8-19.1-71.6-19.1zm231 0c-24.7 0-48.5 8.5-71.6 19.1-.6 6.3-1.7 13.7-3.3 21.7 23.5-11.4 46.4-20.7 68.2-22.4 16.8 62.9 47.5 124.1 80.3 157l12.8-12.8c-29.9-29.8-62-93.2-77.7-155.8l-1.7-6.8zm-148 45.6c-22.1 20.8-43.9 41.3-64 51.3l-5 2.5v5.6c0 61.9-3.4 83.1-14.8 122.4l-45.21 30.1 10.01 15 50.7-33.8.9-3.2c12-40.9 16-65.3 16.3-125.2 19.5-10.9 38.3-27.7 56.4-44.8-1.5-4.7-2.8-9.5-4-14.3-.5-1.9-.9-3.7-1.3-5.6zm72 0c-.4 1.8-.8 3.7-1.3 5.6-1.2 4.8-2.5 9.6-4 14.3 18.1 17.1 36.9 33.9 56.4 44.8.2 59.9 4.3 84.3 16.3 125.2l.9 3.2 50.7 33.8 10-15-45.2-30.1c-11.4-39.3-14.8-60.5-14.8-122.4v-5.6l-5-2.4c-20.1-10-41.8-30.6-64-51.4zm-36 36.4c-13 0-27.4 6.9-38.2 15.9-5.4 4.5-9.9 9.5-12.8 13.8-2.9 4.4-4 8.3-4 9.3 0 40.9 27.2 98.5 55 130.4 27.8-31.9 55-89.5 55-130.4 0-1-1.1-4.9-4-9.3-2.9-4.3-7.4-9.3-12.8-13.8-10.8-9-25.2-15.9-38.2-15.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Antarctica;

impl IconShape for Antarctica {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.458 203.435L226.656 58.38 448 107.084v92.378l40.823 49.164-13.937 107.434-67.182 85.268L281.328 448 288 352l-64-48-23.835 80L112 352l-36.342-77.936 13.39-71.775-54.041-27.343L24.779 112l24.384 49.054L112 176z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Antibody;

impl IconShape for Antibody {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.812 29.781a18.002 18.002 0 0 0-12.54 30.91l81.636 81.637-14.543 14.543-73.637-73.637a18.002 18.002 0 0 0-12.916-5.453 18.002 18.002 0 0 0-12.54 30.91l96 96a18.002 18.002 0 1 0 25.456-25.457l-9.636-9.637 14.543-14.543L206 183.418v280.545a18.002 18.002 0 1 0 36 0v-199h28v199a18.002 18.002 0 1 0 36 0V183.418l28.365-28.364 14.543 14.543-9.637 9.637a18.002 18.002 0 1 0 25.457 25.457l96-96a18.002 18.002 0 0 0-13.082-30.902 18.002 18.002 0 0 0-12.375 5.445l-73.636 73.637-14.543-14.543 81.636-81.637a18.002 18.002 0 0 0-13.082-30.902 18.002 18.002 0 0 0-12.375 5.445L270 168.508v78.455h-28v-78.455L108.728 35.234a18.002 18.002 0 0 0-12.916-5.453z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AnticlockwiseRotation;

impl IconShape for AnticlockwiseRotation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.91 50c11.882-.006 23.875 1.018 35.857 3.13 85.207 15.025 152.077 81.895 167.102 167.102 15.023 85.208-24.944 170.917-99.874 214.178-32.782 18.927-69.254 27.996-105.463 27.553-46.555-.57-92.675-16.865-129.957-48.15l30.855-36.768c50.95 42.75 122.968 49.05 180.566 15.797 57.597-33.254 88.152-98.777 76.603-164.274-11.55-65.497-62.672-116.62-128.17-128.168-51.656-9.108-103.323 7.98-139.17 43.862L185 192H57V64l46.34 46.342C141.758 71.962 194.17 50.03 248.91 50z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ants;

impl IconShape for Ants {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M99.77 20.39c-5.24 12.96-3.7 25.24.53 35.64-3.75 7.22-4.56 19.12-1.63 25.51-1.29 2.13-2.56 4.42-3.79 6.81C87.9 78.53 84.9 68.22 85 55.9l-18-.15c-.1 12.16 2.59 23.56 7.99 34.09-13.81-.53-28.93 1.34-40.32 3.98l4.12 17.58c10.63-2.5 19.97-3.7 28.27-3.9-21.83 11.7-35.57 35.4-47.26 52.9l14.92 10c11.57-14.8 19.12-31.8 33.09-42-4.92 6.3-9.32 14-12.76 22.3-10.75 25.9-9.65 51 2.46 56.1 12.17 5.1 30.77-11.8 41.56-37.7 3.73-8.9 6.13-18.1 7.03-26.6 2.3 19.9-6 40.9-9.17 57.1l15.47 3 1.6 17.5c11.6-1.1 26.3-2.9 39.5-1.4-1.5 1.7-3 3.3-4.3 5-6.9-.6-14.8 2.6-21 8.3-1.1 1-2.1 2-3 3.1-2.6-.1-5.2-.2-7.9-.2-8.2.1-17.73 1.8-25.4 8.6l11.9 13.4c3.6-3.1 7.5-3.9 13.7-4h.6c.4 8.5 6.8 14.3 14.3 14.9-1 5.2-3.4 10.1-7.7 14.2l12.4 13c10.4-9.9 13.9-22.3 14.1-33.9l2.1-1.8c6.2-5.9 9.9-13.6 9.7-20.6 2.1-1.4 4.2-2.9 6.3-4.6 2.3 11.8.8 22.4-4.5 33.6l16.4 7.6c5.3-11.3 7.5-23.2 6.8-35.4 11.4 4.4 25.3 5.8 41.5 2.8l-3.2-17.6c-4.5.8-8.6 1.3-12.3 1.4 20-4.6 38.7-17.9 53.4-27l-9.4-15.4c-16.9 9.5-30.4 20.3-47.5 24.8 7.1-3.8 14.3-9 20.8-15.1 20.5-19.1 29.9-42.4 21-52.1-8.9-9.8-32.9-2.1-53.5 17.1-7 6.5-13 13.8-17.3 21.1 6.4-19 22.5-34.6 32-48l-14.8-10.4c-13.8 19.8-28.2 32.7-34.5 54.1-.5-3.2-.9-6.3-1.1-9.3l-18 1.4c.8 9.9 2.6 21.3 6.6 32.4-12.3-1.2-25.1.6-36.9 1.8 6.1-27.5 13.9-49 6.2-74.5 7.1 6.4 13 13.5 18.6 20.4l14-11.4c-6.5-8-14.3-17.5-24.5-25.9 12.5-5.1 23.2-12.19 30.8-16.49l-8.8-15.72C141 84 128.3 91.71 115.7 95.91c.7-2.2 1.3-4.3 1.8-6.4 9.4-5 15.4-12.21 17.5-21.4 2.1-1.09 4.2-2.24 6.3-3.54 6.7-4.2 13.1-10.19 16.9-18.85l-16.4-7.33c-2.1 4.57-4.8 7.4-8.9 10.16-4-6.44-11.9-8.3-18.1-6.18-.9-4.79-.5-9.86 1.6-15.28zm256.63 3.76l-12.2 13.28c13.5 13.67 28.2 23.72 36.8 39.01-5.6-5.83-12.6-11.35-20.3-15.98-24-14.46-48.9-17.09-55.8-5.89-6.9 11.27 7.1 32.2 31.1 46.73 10.9 6.5 22.5 10.9 32.6 12.3-24.4 6.6-39.1 2-59.8-7l-7.2 16.4c20.1 8.9 39.1 14 64.3 9.4-6.6 5.9-13.6 11-20.3 15.6l10.2 14.8c10.1-6.9 21.3-15.6 31.4-26.9 3.5 12.5 9.3 24.5 14.1 36.7l16.8-6.4c-5.5-14.1-11-25.4-14.4-38.8 2.8 1.5 5.6 2.8 8.3 3.9 1.3 6.8 6.4 13.6 13.6 18 1.9 1.2 3.9 2.1 5.9 2.9 3.4 8 7.6 15.2 14.3 23.2l13.8-11.6c-3.6-4.3-6.2-8-8.3-11.7 4.4-2.5 7.1-6.3 7.8-10.8 3.2 1.2 6.8 2.9 10.8 5.3l9.2-15.4c-10-4.9-18.9-10-29.1-10-1.5-1.3-3.2-2.5-4.9-3.6-7.3-4.4-15.8-5.8-22.5-3.7-3-2.5-6.4-5-10-7.4 14.9-4.4 34.6-4.5 48-2.3l2.8-17.77c-17.2-2.44-33.6-3.1-49.5.44 3-11.47 4.5-24.29 3.9-38.67l-18 .76c.4 8.29 0 15.88-1 22.91-9.4-19.83-28.7-35.23-42.4-47.72zM340 187.6l-11.2 14c9.6 7.7 15.7 16.6 19 28.1-2.6-.5-5.2-1-7.7-1.3-3-6.3-9.7-11.6-17.9-14.1-1.3-.4-2.7-.7-4-.9-1.9-1.7-3.8-3.2-5.8-4.7-8.2-6-17.9-10.6-27.5-13.5l-5.2 17.2c5.5 1.7 11.1 4.1 16.1 7-3.2 3.6-4.3 8.4-3.4 12.7-5.8.4-11.4-.1-16.1-1.3l-4.6 17.4c11.4 3 23.9 2.8 35.8.2 1.5.6 3 1.2 4.5 1.6 8.1 2.3 16.5 1.6 22.4-2 2 .9 4 1.8 6.2 2.6-11.2 7.2-25.1 12.1-36 16.4l6.6 16.8c7.4-3 18.1-6.4 28.8-11.8.7 10.3 3.1 20.2 6.6 28.7l16.6-6.8c-3-7.4-5-16.3-5.3-25.4 7 12.4 15.5 21 24.7 27.3 10.2 6.9 20.8 11.3 31.4 16.2 7.9 21.6 13.7 39.1 12.1 58-2.2-8.4-6.1-17.5-11.4-26-14.8-23.9-35.9-37.6-47.1-30.7-11.2 7-8.3 31.9 6.5 55.8 6.2 10 13.8 18.6 21.6 24.5-23.7-7-35.6-21.2-50.9-41.8l-14.4 10.8c17.9 24 36.7 43.8 72.1 51.1-10.2 3-20.8 3.8-29.5 2.8l-2.2 17.8c10 1.2 21.2.7 32.5-2.1-2.2 11.5-2.7 22.4-3.5 30l17.8 2c1.3-11.5 2.3-26.3 6.4-39 1.4 1.8 2.7 3.6 4.1 5.2-1.9 6.5-.5 14.6 3.7 21.7-4.4 13.3-2.6 27.9 4.1 39.5l15.6-9c-2.8-4.9-4.1-10.9-3.8-16.9 7.4 1.9 13.9.5 18-5.2 4 3.5 7.9 8 11.3 13.3l15.2-9.6c-6.8-10.6-15.5-19.9-25.6-25.3-.8-1.9-1.7-3.8-2.8-5.6-4.5-7.2-11.4-12.3-18.3-13.5-1-2.3-2.1-4.7-3.4-7.1 12.1 0 22.2 3.5 32.2 10.9l10.6-14.6c-9.9-7.2-20.7-11.6-32.5-13.4 6.1-11 9.8-24.4 10-40.3l-18-.2c2.5 15.9-11.2-42.7-13.7-49.5l2.3-4.2c-18.1-10.5-37-14.9-50.3-29 7.1 4.7 15.9 8.6 25.2 11.4 27 7.9 51.8 4.1 55.5-8.6 3.6-12.7-15.2-29.3-42.1-37.2-8.6-2.5-17.3-3.9-25.3-4.1 18.2-3.8 38.5-.6 53.5.8l1.6-18c-22.8-.8-40.7-5.2-60.6 0 3.7-1.7 7.8-3.2 12.3-4.5l-5-17.2c-15.4 4.4-27.4 11.5-36.4 20-4.8-10.7-12-19.9-21.4-27.4zM77.53 308l-14.42 10.8c1.92 2.6 3.31 6.9 3.87 11.6-6.61-1-13.11 2-15.99 7.6-4.36-3.1-8.74-7.1-12.72-12l-13.96 11.4c7.87 9.7 17.53 17.9 28.2 22 4.4 8.4 14.91 16.1 23.21 16.7.87 1.5 1.8 3.1 2.8 4.6-12.8-1-26.05-6.2-37.11-12.5l-8.88 15.6c11.48 6.5 25.8 12.9 41.08 14.8-6.09 11.4-9.12 25.9-7.31 43.5l17.9-1.8c-.47-4.6-.6-8.8-.44-12.6 2.92 20.4 14.73 40.3 22.64 55.7l16-8.2c-7.5-17.3-18.5-32.2-20.7-49.4 3.1 7.4 7.8 15 13.3 22.1 17.4 21.9 39.9 33.1 50.2 25 10.3-8.2 4.6-32.6-12.8-54.6-8.5-10.8-18.8-19.6-28.4-24.2 7.1.6 13 2 18.5 4.2 10.8 4.5 21.1 12.5 35.9 23.7l10.9-14.4c-14.5-9.5-27.3-21.4-41.3-26.4V364c-9.3-.1-20 .7-30.5 3.3 3.8-12.8 5.6-25.5 5.5-36.1l-18 .2c.1 10.3-2.3 24.5-7.39 38.1-1.91-2.1-3.86-4.1-5.8-6 .64-14.4-2.06-16.6-6.56-27.5.19-9.2-1.37-19.5-7.72-28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anubis;

impl IconShape for Anubis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.116 18.434c-21.698 17.475-34.874 41.798-40.662 66.08-6.197 25.996-3.26 51.55 4.283 65.933 11.52.242 23.125.648 34.8 1.563-8.81-40.373-2.126-89.404 1.58-133.576zm68.355 4.923C294.65 37.804 278.37 60.17 269.416 83.47a123.497 123.497 0 0 0-6.647 24.72c.074 16.748 1.38 32.34 4.84 45.82 10.647 1.416 21.34 3.402 32.066 6.197-4.84-42.216 8.912-91.915 18.797-136.85zM182.775 153.18c-31.763 13.23-57.732 27.296-78.81 43.875 28.11-8.497 56.824-15.818 102.097-17.15-7.178-12.547-15.062-21.795-23.286-26.725zm38.4 15.502c10.794 18.304 18.826 41.812 25.327 67.76 9.307 37.146 14.9 79.952 17.58 121.413l1.018 5.08c7.72-15.142 14.97-27.61 25.328-37.404 15.293-14.455 36.532-21.586 71-23.77l84.438-5.35c1.69-2.71 3.858-5.01 6.168-6.873 4.113-3.317 8.825-5.766 13.715-7.906 7.636-3.34 15.298-5.73 21.615-7.755l1.523-13.838-121.02-26.03-30.26-40.046c-38.31-20.025-76.89-24.05-116.432-25.278zm-6.328 29.04c-66.34.764-94.654 13.857-139.322 26.753a177.685 177.685 0 0 0-16.748 23.738c45.876-12.584 87.697-26.7 141.912-26.723 7.77-.003 16.19.36 23.166.854-2.76-8.835-5.777-17.082-9.008-24.62zm106.356 2.41l27.596 38.24-57.56-16.208c-10.734-8.355 2.357-15.547 29.964-22.03zm-121.41 39.352c-56.6.183-98.923 16.695-151.95 30.272-3.154 7.264-6.003 14.94-8.562 23.078 53.346-16.353 103.037-28.704 152.973-29.066 14.097-.103 28.217.765 42.443 2.752-1.708-8.837-3.586-17.438-5.654-25.694-10.206-.94-19.93-1.372-29.25-1.342zm-7.53 42.3c-50.43.405-101.55 13.782-158.613 31.644a362.882 362.882 0 0 0-4.017 19.433c-2.148 12.008-5.22 31.55-6.207 47.923-.493 8.186-.41 15.644.32 20.383.32 2.08.76 3.28 1.028 3.916 4.03 1.25 7.358 2.784 10.762 3.897 1.452-10.58 2.124-22.613 2.83-32.06.79-10.542 1.645-21.19 2.84-29.723.597-4.267 1.248-7.967 2.205-11.24.48-1.637.998-3.166 1.952-4.87.954-1.706 2.372-4.194 6.35-5.513 60.973-20.214 121.89 3.492 159.36 53.875l2.173 2.917-13.406 103.62 36.833 7.58 11.025-99.967c-.935-35.195-4.04-73.118-9.703-108.383-15.28-2.483-30.476-3.556-45.733-3.434zm97.98 72.97c-6.276 10.178-12.568 23.234-20.775 39.652l-1.072 2.145 21.63 96.046 31.9-4.678z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ApolloCapsule;

impl IconShape for ApolloCapsule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41.19c-22.9 0-47.1 11.76-67.6 28.16-15.2 12.16-28.2 26.81-37.1 39.95h209.4c-8.9-13.14-22-27.8-37.2-39.95-20.5-16.4-44.7-28.16-67.5-28.16zM140.5 127.3c-3.8 5.9-29.6 46.6-57.49 94.5-15.01 25.8-30.02 52.6-41.16 74.8-5.58 11.2-10.19 21.2-13.32 29.3-3.13 8-4.57 14.5-4.57 16.2 0 38.2 31 70.2 76.74 93 45.8 22.9 105.1 35.7 155.3 35.7 50.1 0 109.4-12.8 155.2-35.7 45.8-22.8 76.8-54.8 76.8-93 0-9.4-6.9-29.9-17.9-52.9-11.1-22.9-26.1-49.1-41-73.7-27.9-45.8-53.6-82.8-57.4-88.2H140.5zm6.8 12.7l42 20.9h133.4l41.9-20.9 21.8 65.6-38.1 57.2v.3c1.6 12.2 2.7 21.5 2.7 27.3v9H160.9v-9c0-5.8 1.1-15.1 2.8-27.3v-.2l-38.1-57.3 21.7-65.6zm10.6 25.4L145.4 203l19.9 29.9 11.6-58-19-9.5zm196.1 0l-18.9 9.5 11.5 58 20-29.9-12.6-37.6zm-159.2 13.5c-1 5.8-3.7 22.2-7.4 46.2-2.1 13.9-4.3 28.4-5.9 40.4-.8 6-1.4 11.5-1.9 15.9h152.7c-.5-4.4-1.1-9.9-1.9-15.9-1.6-12-3.7-26.5-5.9-40.4-3.6-24-6.3-40.4-7.3-46.2H194.8zm61.2 17.5c18.5 0 33.8 15.3 33.8 33.8 0 18.5-15.3 33.8-33.8 33.8-18.5 0-33.8-15.3-33.8-33.8 0-18.5 15.3-33.8 33.8-33.8zm0 18.1c-8.8 0-15.7 6.9-15.7 15.7 0 8.8 6.9 15.7 15.7 15.7 8.8 0 15.7-6.9 15.7-15.7 0-8.8-6.9-15.7-15.7-15.7zm-131.1 38.2l16.8 6.6-34.5 86.1-16.71-6.6 34.41-86.1zm262.2 0l34.4 86.1-16.8 6.6-34.4-86.1 16.8-6.6zm-226 87.6l17.6 3.6-17.3 86-17.6-3.6 17.3-86zm189.7 0l17.3 86-17.6 3.6-17.3-86 17.6-3.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AppleCore;

impl IconShape for AppleCore {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.6 21.32h-1.1c-7.2.4-14.6 3.51-20.1 9.59l-2.6 84.59 13.2.6 25.8-90.49c-3.7-2.67-8.7-4.21-14-4.33h-1.2zM227 74.88c-40.2 1.1-78.3 9.54-107.1 25.62-32.88 18.4-53.76 45.5-54.82 85.4 38.22-9.9 70.42-17.5 101.32-16.1 31.7 1.3 61.8 12.5 94.2 38.2 27-34.8 59.1-49.7 94.1-48.7 33.2.9 54.1 5.6 92.2 25.3-6.4-31.2-15-48.1-47.9-68.1-31.2-19-71.1-32.11-112.5-38.09l-10.7 37.49c7.5-1.2 15.1-2.6 22.9-4l3.2 17.8c-17 3-34.8 6.8-52.5 6.9-17.8 0-36-4.1-51.5-17.1l11.6-13.8c5.2 4.3 10.6 7.4 16.2 9.4zM342 177.6c-26.9 2.4-50.1 16.1-72.4 48.2l-5.7 8.2-7.5-6.4c-33.2-28.2-60.5-38.5-90.7-39.8 32.3 43.9 43.8 96.7 41.6 144.3-1.8 38.8-12 74.5-28.6 100 9 3.8 18.3 7.1 27.2 8.8 18.5 3.7 34.6 1.9 48.6-13.2l5.5-5.9 6.5 4.8c17.3 12.9 34.7 12.5 53.8 6.1 8.9-3 18-7.3 27-12.3-38.8-79.2-41.2-160.9-5.3-242.8zm-57.3 93.3s19.2 23.7 17 37.2c-.8 5.2-5.5 11.2-10.7 11.5-7 .4-14.1-6.9-16.2-13.6-3.5-11.6 9.9-35.1 9.9-35.1zm-41.1 3.2s13.7 26.2 9 38.6c-1.9 4.8-7.5 9.6-12.5 8.8-6.7-.9-12.1-9.3-12.7-16.1-1.1-11.7 16.2-31.3 16.2-31.3zm135.6 148.2c-15.8 9.9-33.8 21.1-53.3 27.5-20.3 6.7-43 7.6-63.8-4.7-17.7 15.2-39.7 17.5-59.7 13.5-20.7-4.1-40.2-13.9-56.2-22.2-20.2 7.9-42.2 11.2-73.91 10.8 16.3 11.7 38.71 21.4 64.91 28.5 37.2 10 81.6 15 125.4 15 43.7-.1 86.9-5.2 121.7-14.9 25.3-7 45.8-16.7 59.2-27.6-10.8-.2-19.9.1-29.1-1.7-12.3-2.3-23.6-9.3-35.2-24.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aquarium;

impl IconShape for Aquarium {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96 39c-4.75 0-8.688.388-12.613 2.385-3.926 1.997-7.284 6.946-7.61 11.176-.65 8.46 3.415 12.92 6.506 18.07 3.09 5.152 6.22 10.342 7.428 13.966 1.21 3.623 1.275 3.692-.073 5.04l-.035.034-.034.035C48.298 131.88 23 192.615 23 256c0 84.586 49.342 158.86 116.316 199.686C176.136 478.13 214.018 473 256 473c41.406 0 80.11 4.575 116.62-17.277C440.496 415.1 489 341.143 489 256c0-63.218-25.516-124.14-66.553-166.28l-.04-.042-.044-.04c-1.348-1.35-1.282-1.42-.074-5.042 1.207-3.624 4.336-8.814 7.427-13.965 3.09-5.15 7.156-9.61 6.506-18.07-.326-4.23-3.684-9.178-7.61-11.175C424.688 39.388 420.75 39 416 39H96zm0 18h320c.277 0 .127.03.38.037-.584 1.346-1.09 2.656-2.097 4.332-2.91 4.848-6.78 10.658-9.072 17.534-2.29 6.877-2.225 16.808 4.427 23.46l-.084-.085C447.116 140.852 471 197.657 471 256c0 78.296-44.763 146.655-107.62 184.277C332.713 458.63 298.577 455 256 455c-43.3 0-76.282 4.233-107.316-14.686C86.65 402.5 41 333.556 41 256c0-58.569 23.653-115.098 61.432-153.705l-.07.068c6.653-6.65 6.72-16.582 4.427-23.46-2.293-6.875-6.164-12.685-9.073-17.534-1.006-1.677-1.513-2.987-2.096-4.333.253-.008.103-.037.38-.037zm87.484 61.742c-3.14-.01-6.395.055-9.734.186-20.032.785-43.117 3.942-63.287 7.217-2.172.352-4.24.706-6.332 1.06-5.374 5.666-10.308 12.474-14.8 20.115-.174.296-.34.6-.514.9 7.16-1.346 15.486-2.84 24.532-4.308 26.376-4.282 58.298-8.124 78.11-6.928 40.6 2.452 80.8 29.15 128 32 23.11 1.396 55.185-2.763 82.08-7.13 9.824-1.594 18.89-3.226 26.49-4.665-2.093-4.34-4.305-8.55-6.655-12.547-.815-1.386-1.65-2.734-2.494-4.063-6.142 1.128-12.943 2.325-20.228 3.508-26.376 4.282-58.298 8.124-78.11 6.928-40.6-2.452-80.8-29.15-128-32-2.888-.175-5.916-.263-9.058-.274zm-66.115 42.77l-30.026 2.88A192 192 0 0 0 64 256a192 192 0 0 0 62.63 141.56A224 224 0 0 1 87.88 272a224 224 0 0 1 29.49-110.488zm250.806 13.435a24 24 0 0 0-24 24 24 24 0 0 0 24 24 24 24 0 0 0 24-24 24 24 0 0 0-24-24zm30.83 78.46a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm-94.026 18.546c-29.042.46-80.674 29.662-102.882 42.205C187.845 300.326 172.085 288 144 288c16 16 16 48 0 64 28.08 0 37.343-22.155 56.672-22.168C220 329.82 289.394 372.967 320 368c38.434-6.237 64-32 64-48-1.427-24.583-47.862-46.512-76.28-48-.89-.046-1.803-.062-2.74-.047zM336 293.385a10.81 10.81 0 0 1 10.81 10.808 10.81 10.81 0 0 1-10.81 10.81 10.81 10.81 0 0 1-10.81-10.81A10.81 10.81 0 0 1 336 293.385z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aquarius;

impl IconShape for Aquarius {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M301.313 68.906l-88.875 69.438-35.157-68.156-141.218 93.406v85.72l108.626-76.69 39.437 67 93.03-65.06 34.658 69.28 93.343-68.094 67.97 78.563 1.28-112.75L426.5 70.438 337.437 137l-36.125-68.094zm0 194.125l-88.875 69.44-35.157-68.126L36.063 357.72v85.717L144.69 366.75l39.437 67 93.03-65.063 34.658 69.282 93.343-68.064 67.97 78.53 1.28-112.748-47.906-71.094-89.063 66.53-36.125-68.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aqueduct;

impl IconShape for Aqueduct {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.537 117.564L17.497 135h476.944v-17.436H17.538zM17.46 153l-.106 47H24a32 32 0 0 1 32-32 32 32 0 0 1 32 32h16.033a32 32 0 0 1-.033-.676 32 32 0 0 1 32-32 32 32 0 0 1 32 32 32 32 0 0 1-.023.676h15.783a32 32 0 0 1 32-32 32 32 0 0 1 32 32h16.033a32 32 0 0 1-.033-.676 32 32 0 0 1 32-32 32 32 0 0 1 32 32 32 32 0 0 1-.024.676h16.33a32 32 0 0 1-.066-1.324 32 32 0 0 1 32-32 32 32 0 0 1 32 32 32 32 0 0 1-.047 1.324H424.1a32 32 0 0 1-.1-2 32 32 0 0 1 32-32 32 32 0 0 1 32 32 32 32 0 0 1-.07 2h6.51v-47H17.46zm-2.136 63l.2 96h8.67A32 80 0 0 1 56 240a32 80 0 0 1 31.84 72h16.353A32 80 0 0 1 136 240a32 80 0 0 1 31.84 72h16.353A32 80 0 0 1 216 240a32 80 0 0 1 31.84 72h16.353A32 80 0 0 1 296 240a32 80 0 0 1 31.84 72h16.353A32 80 0 0 1 376 240a32 80 0 0 1 31.84 72h16.353A32 80 0 0 1 456 240a32 80 0 0 1 31.84 72h7.924l.398-96H15.324zm-.726 112l.677 160H41.05A62.988 144 0 0 1 104 346.537 62.988 144 0 0 1 166.934 488h26.203A62.988 144 0 0 1 256 352a62.988 144 0 0 1 62.813 136h26.324A62.988 144 0 0 1 408 352a62.988 144 0 0 1 62.813 136h24.705l1.353-160H14.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArabicDoor;

impl IconShape for ArabicDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20c-44 0-85.11 36.98-113.305 82.525-24.87 40.175-39.3 90.822-22.535 135.27L94 250.875V455h36V273.125l39.436-19.719-10-16.668c-19.098-31.828-9.936-76.81 13.869-115.263C197.11 83.02 236 56 256 56c20 0 58.89 27.02 82.695 65.475 23.805 38.454 32.967 83.435 13.87 115.263l-10 16.668L382 273.125V455h36V250.875l-26.16-13.08c16.766-44.448 2.334-95.095-22.535-135.27C341.11 56.98 300 20 256 20zm9 54.436V492h101V283.016l-46.443-23.225c12.021-19.222 28.122-39.043 27.336-62.879-2.362-49.393-33.647-94.935-76.024-119.818-1.873-.956-3.843-1.884-5.869-2.658zm-18 .384c-24.927 9.489-42.887 31.542-58.365 52.46-17.346 26.324-28.65 59.052-20.375 90.476 4.108 12.904 10.876 22.771 17.332 36.484 3.424 6.379 2.441 4.667-21.881 19.918L146 283.016V492h101zM167 358h18c0 5.75 1.834 8.923 4.479 11.273C192.123 371.624 196 373 200 373c4 0 7.877-1.376 10.521-3.727C213.166 366.923 215 363.75 215 358h18c0 10.25-4.166 19.077-10.521 24.727C216.123 388.376 208 391 200 391s-16.123-2.624-22.479-8.273C171.166 377.077 167 368.25 167 358zm112 0h18c0 5.75 1.834 8.923 4.479 11.273C304.123 371.624 308 373 312 373c4 0 7.877-1.376 10.521-3.727C325.166 366.923 327 363.75 327 358h18c0 10.25-4.166 19.077-10.521 24.727C328.123 388.376 320 391 312 391s-16.123-2.624-22.479-8.273C283.166 377.077 279 368.25 279 358zM94 473v19h36v-19zm288 0v19h36v-19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArcTriomphe;

impl IconShape for ArcTriomphe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 92v24h24V92H64zm40 0v24h48V92h-48zm64 0v24h48V92h-48zm64 0v24h48V92h-48zm64 0v24h48V92h-48zm64 0v24h48V92h-48zm64 0v24h24V92h-24zM48 132v16h416v-16H48zm16 32v112h128.67c4.696-29.122 34.004-56 63.33-56s58.634 26.878 63.33 56H448V164H64zm17.994 16H184v80H81.373l.56-72.063.061-7.937zM208 180h96v16h-96v-16zm120.063 0h102.005v80H327.441l.559-72.063.063-7.937zM97.869 196l-.371 48H168v-48H97.87zm246.069 0l-.372 48h70.502v-48h-70.13zM64 292v200h128V292H64zm256 0v200h128V292H320zM88 414h80v64H88v-64zm256 0h80v64h-80v-64zm-240 16v32h48v-32h-48zm256 0v32h48v-32h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArchBridge;

impl IconShape for ArchBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-60.6 0-118.6 34.43-161.37 81.1-39.93 43.6-66 97.7-69.26 140.9h30.17c3.63-35.2 27.67-79.1 61.76-117C154.4 88.8 204 55 256 55c52 0 101.6 33.8 138.7 75 34.1 37.9 58.1 81.8 61.8 117h30.1c-3.2-43.2-29.3-97.3-69.2-140.9C374.6 59.43 316.6 25 256 25zm0 48c-3 0-6 .15-9 .42V247h18V73.42c-3-.27-6-.42-9-.42zm-55 14.06c-6.1 2.98-12.1 6.36-18 10.1V247h18V87.06zm110 0V247h18V97.16c-5.9-3.74-11.9-7.12-18-10.1zM137 135.2c-2.1 2.3-4.2 4.5-6.3 6.8-4.1 4.5-8 9.2-11.7 13.9V247h18V135.2zm238 0V247h18v-91.1c-3.7-4.7-7.6-9.4-11.7-13.9-2.1-2.3-4.2-4.5-6.3-6.8zM25 265v46h462v-46H25zm5.56 64L57 381.9V487h62V379.7l63.3-50.7H30.56zm299.14 0l63.3 50.7V487h62V381.9l26.4-52.9H329.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Archer;

impl IconShape for Archer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341 25.97c-25.5 42.42-21.2 82.13-10.9 117.13 10.3 35.1 25.6 66.5 25.6 95.5h.1c6.3-1.4 12.1-1.9 17.9-.9-.3-34.7-16.8-67-26.4-99.6-9.7-33-13.4-65.29 9.1-102.87zm-33.3 36.27L154.2 227.7c7.6 0 15.6.9 23.2 2.9 7.2-2.9 13.8-8 19.3-15.1 4.1-5.3 7.5-11.6 10-18.7L304 91.96c.1-9.68 1.2-19.6 3.7-29.72zM164.2 107.1c-12.3 0-23.7 6.3-32.5 17.6s-14.5 27.4-14.5 45.4 5.7 34.1 14.5 45.4c1.4 1.8 2.9 3.5 4.4 5l70.9-76.3c-2.5-7.4-6.1-14-10.3-19.5-8.8-11.3-20.2-17.6-32.5-17.6zm264.5 119.5v19h-34c5.9 4.9 9 11.3 10.2 18h23.8v19l64-28zm-225.2 19c1.4 2 2.5 4.3 3.3 6.8.8 2.4.5 5.1-.2 6.7-.7 1.9-1.8 3.1-3.2 4.5h131.5c.1-.2.1-.4.1-.6 1.9-8.2 2.5-12.6 8-17.4zm-58.3.5c-8.5 1.3-14.4 4.5-21 6.7l-74.48-1c-23.01-.1-31.67 34.4-7.93 35.4 16.14.3 27.69-2 39.55-4 11.86-2 24.16-3.8 39.56-1.3 9.3 2.2 18.1 7.4 25.3 12 8.7 2.2 17.5 2 23.8.2 5.7-1.6 8.7-4.1 9.9-6.1-5-7.6-12.3-14.2-9.6-22.3 3-6.4 9.5-9.1 15-12.1.1 0 .2-.1.3-.1-2.6-1.9-6.4-3.8-11.3-5.1-10.2-2.3-19.5-3.2-29.1-2.3zm209 13.7c.9-1-.8 1.7-1.3 5.7-.6 4-.8 9.2-.4 14.4 1.3 6.9.7 16.2 6.2 21.4 6.5 4.1 24.2 5.1 27.2-1.2 1.3-12.3 4.1-23.5.8-35.2-.8-3-1.9-4.3-2.2-4.5-8.6-4.6-22.7-8.8-30.3-.6zm-19.7 21.1c-51 .9-87.9.2-137.8.6 5.7 15.3-9.3 26.3-21.9 29.9-.1 0-.2 0-.3.1l130.8 171c-1.4-9.8-1.5-19.3-.9-28.6l-84.2-110.1c.7-14.3 0-25.5-.9-39.3 40.6 2.7 82.7 1.5 119.6-1.7-2.5-7-3.9-15-4.4-21.6zM112.9 299c-12.5 41.7-2.7 92.3-7.3 138v-.2L101 494h121.1l-16.7-63.3c3.5-12.9 6.8-26.4 8.9-37.6l-61.1-79.9c-17.7-.3-25.6-12.5-40.3-14.2zm242.8 21.2c-.6 28.6-15.5 59.4-25.6 93.9-7.2 24.5-11.5 51.4-4.6 79.9h18.4c-7.7-26.2-3.8-50.4 3.4-74.9 9.3-31.5 25-62.8 26.3-96.1-6 .3-12.2-.5-17.9-2.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArchiveRegister;

impl IconShape for ArchiveRegister {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.8 32.89l-32.6 32.53 21.3 21.17L190 54.08zm33.9 33.96l-9.9 9.91 123 123.04 9.9-9.9zm159.4 18.06c-3.7 0-7.4.1-10.9.3-31.9 1.78-56.7 11.76-78.3 26.39l65.5 65.6c3.5 7.3 52 96.2 65.5 123.3-9.7-6.4-123.4-65.4-123.4-65.4l-15.3-15.2v140.3c23.9-14.6 50.1-27.7 83.6-31.2 37.5-4 83.5 4.3 144.2 33.1V118.7c-51.7-22.99-93.3-32.89-127.2-33.69-1.3 0-2.5-.11-3.7-.1zm-230.8 1.03C100.4 88.93 63.44 99 19.05 118.7v243.4C79.85 333.3 125.8 325 163.3 329c33 5.2 58.1 15.8 83.6 31.2V201.6c-38.6-38.5-77.1-77.1-115.6-115.66zm48.8 3.55l-9.9 9.89 123 123.02 9.9-9.9zM336 205.1l-27.5 27.5 55.1 27.6zM143.8 346.7c-32 .3-71.85 9.8-124.75 36v42.5c60.8-28.8 106.75-37.1 144.25-33.1 18.6 2 34.9 6.9 49.8 13.3-4.7 6.1-9.3 13.3-13.9 21.7h117.2c-6-8.2-11.8-15.4-17.7-21.6 15-6.5 31.4-11.4 50.1-13.4 37.5-4 83.5 4.3 144.2 33.1v-42.5c-53.1-26.3-93.1-35.9-125.2-36h-3.1c-4.8.1-9.4.4-13.9.9-34 3.6-59.6 18-85.6 34.4-5.7-.8-13-1.8-18.3-.9-27.2-16.2-58.2-30.4-85.5-33.5-5.6-.6-11.5-.9-17.6-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArchiveResearch;

impl IconShape for ArchiveResearch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.7 85.6c-1.2 0-2.5 0-3.7.1-33.9.8-75.5 10.7-127.3 33.7v243.4c60.8-28.8 106.7-37.1 144.2-33.1 13.7 1.4 26.3 4.5 37.9 8.6l-45.1-78.8c-8.6 3.5-17.9 5.5-27.7 5.5-40.21 0-73-32.8-73-73s32.79-73 73-73c40.2 0 73 32.8 73 73 0 24-11.7 45.3-29.7 58.7l57.3 100c6.2 3.2 12.1 6.7 17.9 10.2v-243c-23.2-17.7-50.2-30-86-32-3.5-.2-7.1-.3-10.8-.3zm212 0c-3.7 0-7.4.1-10.9.3-35.8 2-62.7 14.3-86 32v243c23.9-14.6 50.1-27.7 83.6-31.2 37.5-4 83.5 4.3 144.2 33.1V119.4c-51.7-23-93.3-32.9-127.2-33.7-1.3 0-2.5-.1-3.7-.1zM128 137c-30.48 0-55 24.5-55 55s24.52 55 55 55c30.5 0 55-24.5 55-55s-24.5-55-55-55zm2.3 13.9h2.8C109 169.1 98.32 193 99.73 221.1c-26.06-38.8 1.27-69.4 30.57-70.2zm13.1 196.5c-32 .3-71.8 9.8-124.7 36v42.5c60.8-28.8 106.7-37.1 144.2-33.1 18.6 2 34.9 6.9 49.8 13.3-4.7 6.1-9.3 13.3-13.9 21.7h53.3l-36-62.7c-16.6-8.3-34.3-14.6-55.1-16.8-5.6-.6-11.5-.9-17.6-.9zm220.9 0c-4.8.1-9.4.4-13.9.9-34 3.6-59.6 18-85.6 34.4v.3c-6.1-1.9-12.3-2.3-18.3-1.2l26.3 46H316c-6-8.2-11.8-15.4-17.7-21.6 15-6.5 31.4-11.4 50.1-13.4 37.5-4 83.5 4.3 144.2 33.1v-42.5c-53.1-26.3-93.1-35.9-125.2-36h-3.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aries;

impl IconShape for Aries {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.167 257.36H75.53C-26.474 176.527 26.283-13.776 164.023 52.574c43.01 20.716 71.747 65.968 90.757 120.75 19.006-54.782 47.74-100.034 90.754-120.75C483.274-13.772 536.03 176.526 434.03 257.36h-84.635s25.075-43.914 28.016-50.135c4.49-9.495 30.98-78.244-6.486-54.04-50.684 32.744-62.257 149.633-67.79 201.062-5.566 51.764-8.797 120.12-8.797 120.12H215.224s-3.23-68.356-8.79-120.12c-5.534-51.434-17.107-168.318-67.796-201.062-37.462-24.204-10.982 44.54-6.482 54.04 2.936 6.22 28.01 50.136 28.01 50.136z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Arm;

impl IconShape for Arm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M393.516 16.135c40.837 0 63.378 35.364 64 48 0 16.27-8.044 38.785-25.098 48.492-12.694 49.715-74.547 103.264-128.826 128.724 12.46 43.998-72.647 108.43-122.42 144.158 2.412 11.27 1.6 21.734 0 32 11.59 18.673.475 25.688 1.58 47.29-.602 7.96-13.64 7.21-16.087-4.916 2.78-17.81-1.69-33.203-8.87-31.093l-18.303 24.778-27.29 38.43c-3.38 3.424-15.917.953-12.84-7.275l22.426-40.874-2.17-1.456-42.658 45.283c-3.47 3.59-15.063-4.56-11.437-9.46l39.964-42.532-2.168-1.103-38.163 25.35c-4.354 3.057-13.072-5.926-7.24-10.123l36.674-29.224-25.15 12.625c-3.528 1.206-7.267-5.934-3.424-7.643l29.232-18.686c15.17-12.262 33.696-33.15 53.923-37.372 31.767-47.953 60.17-95.738 100.346-145.373 15.756-59.134 54.396-110.096 96-160 5.972-34.253 29.893-46.475 48-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmBandage;

impl IconShape for ArmBandage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M318.7 21c4.9 17.27 12.7 32.67 22.5 45.22 17.4 22.31 40.8 35.48 66.3 35.48s48.9-13.17 66.3-35.48c9.8-12.55 17.6-27.95 22.5-45.22zm174.1 49.71c-1.5 2.26-3.1 4.45-4.8 6.58-20.2 25.81-48.7 42.41-80.5 42.41-31.8 0-60.3-16.6-80.5-42.41-.4-.53-.8-1.07-1.2-1.6-37.7 6.23-78.4 12.65-112.2 26.21-18.3 37.5-34 75.5-47.7 113.6 28.8 8.6 57.9 20.9 80.6 37.9l8.4-27.6 17.6 3.4c-8 88.4-8.4 175.9-5.8 263.2h226.1zM82.54 179.6c-.71 3.1-1.61 6.2-2.82 9.2-1.9 4.7-4.36 9.1-7.52 12.8 9.67 9.4 15.64 19.7 19.01 30.1 1.56 4.8 2.55 9.6 3.23 14.3 6.66-5.8 15.26-9.4 24.16-7.3-6.4-22-17.9-43.8-36.06-59.1zm65.76 49.8c-3.1 6.4-6 13-8.6 19.6 19.5-2.3 38.8-2.5 57.7-2.6-15.7-7-32.5-12.7-49.1-17zm-35.4 26.8c-1.8.1-4.3 1.1-7.4 4 2.7 8.3 7.6 18.5 13.5 27.6.2-.6.3-1.2.5-1.8 2.3-8.3 2.2-16.2.7-21.7-1.5-5.4-3.9-7.5-5.7-8-.4-.1-.8-.1-1.2-.1zm117 7.8c-31.1.9-61.3-.5-90.8 3.2.4 4.5.3 9.1-.3 13.9 42.6 1.2 77 7.3 105.5 16.9 1.3-6.5 2.6-12.9 3.8-19.4-5.3-5.1-11.4-10-18.2-14.6zM94.47 281.5c-1.68 7.4-1.47 14.5-.1 19.4 1.52 5.4 3.83 7.5 5.73 8 1.8.5 4.9-.1 8.9-3.9-5.6-7.3-10.6-15.4-14.53-23.5zM134.1 299c-1.8 4.2-3.8 8-6.2 11.4 29.3 21.8 66.3 37.5 100.2 48.9 4.8-14.3 8.8-28.9 12.3-43.7-28-9.6-62.1-15.8-106.3-16.6zm-55.73 10.7c-14.13 11.1-31.09 21.4-47.75 31.4 28.08 7.4 50.7-.1 67.68-14.2-1-.1-2-.3-3-.6-8.31-2.3-13.85-8.9-16.93-16.6zm38.73 15.2c-1.7 7.1-3.3 14.3-5 21.5 31.8 23.1 67.1 35 104.4 42.8 1.9-4.3 3.7-8.6 5.4-12.9-34.6-11.7-73-27.8-104.8-51.4zm2.2 47.9c-9.8 40.2-18.1 80.2-25.73 119.6h79.93l27-88.3c-28-6.6-55.4-16-81.2-31.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmSling;

impl IconShape for ArmSling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.3 21.84c-14.9 0-28.8 8.28-39.5 23.08-10.7 14.8-17.6 35.93-17.6 59.48 0 23.5 6.9 44.6 17.6 59.4 10.7 14.9 24.6 23.1 39.5 23.1 14.9 0 28.8-8.2 39.5-23.1 10.7-14.8 17.6-35.9 17.6-59.4 0-23.55-6.9-44.68-17.6-59.48-10.7-14.8-24.6-23.08-39.5-23.08zm51.3 156.06c-13 16.4-31.1 27-51.3 27-20.2 0-38.2-10.6-51.3-26.9-4.4.8-8.7 1.6-13.1 2.6 24 67.4 41.1 115.7 75.7 164.8 10.7-1.4 23.4-2.9 40.3-5l3.8-40.4c.8-8.7 5.6-15.7 12-20.6l-6.4-28.6 17.6-4 5.6 25.1c6.3-1.5 12.9-1.9 19.6-1.7 10.7.4 21.4 2.6 30.8 6.7-1.9-23.5-6.7-48.7-10.7-76.2-3.3-2.3-9.6-5.6-17.7-8.5-10.1-3.7-22.7-7.3-35.9-10.3-6.3-1.4-12.7-2.8-19-4zm-133.1 6.8c-5.5 1.5-10.8 3-15.8 4.6 12.6 45.5 50.4 172.7 101.8 245.6 20.5-.1 40.4-1.1 60-2.8-87.6-83.4-110-146.3-146-247.4zm-32.6 10.8c-4.5 2.1-8 4.1-10 5.6-24.1 80.3-31.2 194-16.7 289.1h49.1c-6.4-65.2-12.5-139.1 9.3-194.2-15.1-41.8-25.8-79.2-31.7-100.5zm214.4 92.6c-7.4.1-14.2 1.4-18.8 3.7-5.3 2.6-7.5 5.2-8 10l-5.2 54.6-7.1.9c-15.5 1.9-27.3 3.4-37.3 4.6 16.9 21.5 37.6 43.5 64.2 67.8 5-.6 10-1.2 15-1.9 10.2-1.3 16.8-5.5 22.4-11.7 5.7-6.1 9.9-14.5 13.5-23.2 14-34.2 8.7-74.5 2-89-1.4-3.2-6-7.4-13-10.4-6.9-3.1-15.9-5.1-24.5-5.4zm-172.5 35c-4 16.2-6 34.1-6.8 52.9 5.9-5.5 13.5-10.5 22.7-14.7-5.6-12.6-11-25.5-15.9-38.2zm23.5 54.5c-20.5 9.2-28.2 21.7-28.6 31-.6 11.7 8.6 23 30 24.6 10.2.7 20.2 1.2 30 1.5-11.3-17.4-21.8-36.9-31.4-57.1zm-29.1 63.5c1 16.5 2.5 33 4.1 49.1h162.3c4-15.1 8.4-29.6 12.8-44.1-47.5 6.1-96.4 8.9-150.1 4.9-11.4-.9-21.3-4.5-29.1-9.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Armadillo;

impl IconShape for Armadillo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.964 98.177c19.474 81.198 22.837 138.376 29.418 199.58 5.197 4.104 10.045 1.62 14.556.394-2.54-67.018-6.907-133.43-22.57-198.521-5.444-6.958-11.041-12.267-21.404-1.453zm-18.3.886c-6.34-5.598-12.63-7.29-18.862 2.862 15.711 59.642 24.675 126.308 31.353 195.33 5.286 1.946 10.299 4.466 17.082.138-6.566-61.644-9.961-117.746-29.574-198.33zm59.081 4.385c14.697 64.812 18.785 130.151 21.227 195.203 30.691-.507 68.639-31.081 83.63-55.426 6.193-12.098 17.828-36.263 11.829-49.857-36.256-52.123-76.418-79.379-116.686-89.92zm-95.426 2.776c-11.293-6.533-18.23-3.024-21.959 7.773 16.906 60.11 28.38 121.345 33.866 183.787 7.81 3.25 13.668 2.722 18.855-.431-6.635-68.112-15.545-133.449-30.762-191.13zm-38.511 15.388c-10.479-2.814-19.432-2.2-22.172 12.715 23.359 45.476 33.284 108.944 40.75 165.354 5.785 2.506 9.853.862 13.845-1.059-5.325-60.082-16.292-119.043-32.423-177.01zm-37.135 23.059c-30.67 22.768-54.426 50.552-66.131 75.11 2.91 35.095 41.601 76.088 72.94 89.321 8.894-3.243 19.45-5.596 31.02-7.314-7.353-55.038-17.588-116.038-37.83-157.117zm312.566 6.596c-4.296 12.208-6.724 24.532-7.105 36.207l13.603-19.516c-1.205-5.133-3.25-10.537-6.498-16.691zm27.645 17.832l-32.494 46.617c5.218 5.11 12.63 9.746 20.166 7.656 14.962-18.47 15.272-33.867 12.328-54.273zm-39.64 64.443c-6.776 17.482-18.375 33.87-30.548 45.676 25.578 24.05 59.042 62.16 92.672 52.549-10.194-34.648-19.931-63.251-38.37-89.764-8.91-.443-17.135-3.6-23.755-8.461zM51.771 252.08c-6.615 9.542-12.185 18.954-16.712 28.145 8.554 11.699 16.022 20.614 29 21.308 3.489-4.933 7.535-10.022 12.097-15.322-9.148-10.65-18.675-22.927-24.385-34.131zm-24.808 47.424c-2.793 8.099-4.708 15.956-5.762 23.506 8.395 6.205 17.687 12.68 27.793 12.623.87-6.52 2.705-12.082 5.244-17.547-11.82-3.288-20.292-9.927-27.275-18.582zm317.318 11.992c-4.526 1.894-13.763 5.417-21.23 5.22l3.006 51.044 67.21 3.941-1.26-16.18-42.273-14.455zm-174.799 8.273c-8.728 1.246-16.586 2.764-23.037 4.606l-9.824 46.385 74.318 3.703-2.058-18.762-39.666-4.844zM20.632 344.65c1.676 11.333 4.385 20.931 9.754 29.679 15.545 2.958 19.583 5.686 29.19-4.096-4.033-4.945-7.424-11.26-9.067-16.697-11.376-.005-21.031-3.51-29.877-8.887zm51.838 38.12c-6.141 7.419-14.789 11.519-23.04 11.979 27.29 19.009 64.07 24.249 92.66 25.242-30.424-13.027-53.684-24.488-69.62-37.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmorCuisses;

impl IconShape for ArmorCuisses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 32c-21.876 14.867-40.063 29.63-52.5 43.844-7.992 9.133-13.532 17.889-16.678 26.273 16.97 19.241 34.3 34.426 53.961 39.04l-4.113 17.523c-20.593-4.832-37.386-17.526-52.465-32.873l3.363 57.18c16.8 18.933 33.995 33.67 53.21 38.167l-4.102 17.528c-18.264-4.276-33.615-14.81-47.475-27.957l9.326 158.566c13.273-11.896 26.697-22.872 32.596-32.187l6.016-9.502 7.95 7.953c10.184 10.183 22.448 18.873 34.442 26.968l14.215-213.205 17.961 1.2-14.91 223.67c5.97 4.127 11.551 8.213 16.394 12.61l28.498-284.962c-.042.337-1.716-5.257-6.412-11.518-4.756-6.341-11.9-14.003-20.529-21.673C170.549 54.245 149.018 39.866 128 32zm256 0c-21.018 7.866-42.55 22.246-58.748 36.645-8.629 7.67-15.773 15.332-20.53 21.673-4.695 6.261-6.369 11.855-6.411 11.518l28.498 284.963c4.843-4.398 10.424-8.484 16.394-12.611l-14.91-223.67 17.96-1.2 14.216 213.205c11.994-8.095 24.258-16.785 34.441-26.968l7.951-7.953 6.016 9.502c5.899 9.315 19.323 20.291 32.596 32.187l9.326-158.566c-13.86 13.148-29.21 23.681-47.475 27.957l-4.101-17.528c19.214-4.498 36.41-19.234 53.209-38.168l3.363-57.18c-15.08 15.348-31.872 28.042-52.465 32.874l-4.113-17.524c19.661-4.613 36.991-19.798 53.96-39.039-3.145-8.384-8.685-17.14-16.677-26.273C424.063 61.63 405.876 46.867 384 32zM112.008 355.135c-9.544 11.23-22.287 20.883-33.197 30.89-12.837 11.774-21.975 23.14-22.903 34.088 6.442 13.354 12.889 25.89 21.227 35.647 8.41 9.841 18.579 17.035 33.617 20.785 13.386-3.816 27.202-7.674 39.453-16.002 12.721-8.647 24.205-22.026 32.086-47.022-.43-2.913-2.074-6.101-5.818-10.1-4.261-4.549-10.889-9.613-18.752-15.02-13.472-9.265-30.385-19.777-45.713-33.266zm287.984 0c-15.328 13.489-32.241 24.001-45.713 33.265-7.863 5.408-14.49 10.472-18.752 15.022-3.744 3.998-5.388 7.186-5.818 10.1 7.88 24.995 19.365 38.374 32.086 47.021 12.251 8.328 26.067 12.186 39.453 16.002 15.038-3.75 25.207-10.944 33.617-20.785 8.338-9.757 14.785-22.293 21.227-35.647-.928-10.948-10.066-22.314-22.903-34.088-10.91-10.007-23.653-19.66-33.197-30.89z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmorDowngrade;

impl IconShape for ArmorDowngrade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.95l-5.4 4.03C187.5 73.41 125.4 104.5 30.58 120.3l-7.5 1.2v7.6c0 19 8.4 48.7 22.1 85.1 13.6 36.5 32.8 78.8 55.02 119.2 22.3 40.4 47.4 78.9 73.8 107.7 26.1 28.9 53.5 48.9 82 48.9s55.9-20 82.2-48.9c26.2-28.8 51.3-67.3 73.7-107.7 22.2-40.4 41.3-82.7 55-119.2 13.6-36.4 22-66.1 22-85.1v-7.6l-7.4-1.2c-94.6-15.8-156.9-46.89-220.1-94.32zm0 22.2c61.1 45.04 124.4 76.15 214.4 92.35-1.9 15.2-9 41.4-20.3 71.5-4.1 10.8-8.6 22.2-13.7 34H288v46l64-16-96 112-96-112 64 16v-46H75.57c-5-11.8-9.59-23.2-13.69-34-11.2-30.1-18.4-56.3-20.3-71.5C131.6 120.3 194.8 89.19 256 44.15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmorPunch;

impl IconShape for ArmorPunch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.3 20c20.4 39.94 50.2 88.8 47 132 20.4 8.9 40.4 18.5 59.5 28.6 3.1-23.6 2.8-48.5 0-73.8-29.9-35.27-69.1-68.47-106.5-86.8zM27.4 22.65c16.94 24.76 29.56 53.6 27.64 82.45 35.91 11.4 72.26 24.5 107.56 39.3-1.8-29.8-14.3-56.26-26.3-80.38-34-19.23-74.17-32.04-108.9-41.37zm385 22.24c23.1 43.88 38.9 95.21 35.3 116.61-10.1-14.6-28.1-52.3-88.4-68.53 41 41.13 68 115.63 60.8 137.43-14.9-36.5-38.9-55.1-80.5-71 18.7 24.4 31.5 56.4 36.3 87.9 29.3 17.4 55.2 37.4 78.1 57.5 9.6-.8 18.8 7.4 21.9 14.6 2.8 7.1 3.4 15.4 1.6 24.3-2.8 9.1-6.6 17.4-12.5 23.3-5.4 23.8-10.9 42.6-21.2 61.1L385.5 443c-2.3 33.3-63.6 21.5-81.4 10.1-22.9-14.7-61-49.7-56.6-81.1-29.4-3.5-59.1-13.6-82.7-29.2 18.8 40.4 39.1 62.9 76.6 75.2-21.2 8.8-97.5-12.8-141.3-50.7 20.3 59 59.2 74.2 74.7 83.2-21.2 5.1-73.6-6.9-119.06-26.8C161.7 537.2 482.3 475 482.3 475s54.9-329.2-69.9-430.11zm-157 41.93c5.2 34.68 6.5 69.68 1.1 102.88 30 18.6 43.7 26.8 64.2 41-10.5-69.3-35.5-104.8-65.3-143.88zM17.65 112.7C40.39 170 40.22 219.2 47.8 268.9c55.5 14.3 112.7 42.4 161.6 67.5 13.5-41.5 39.3-82.1 61.5-117.2-73.2-45-166.1-80.9-253.25-106.5zm59.1 39.8c24.35 25.8 45.45 54.1 49.75 84.2-10.9 19.5-41.55 24.1-58.75 24.6l-.34-18c13.41-1.3 30.86-.1 40.29-10.5-3.8-22.3-18.02-44.6-42.95-66.9zm103.95 43.9c19.5 19.1 28.8 42.1 32.6 66-10.8 23.7-42.9 29-59.2 27.4l2-17.8c22 2.5 34.1-4 38.5-11.8-3.4-18.6-7.4-34.5-25.7-50.2zm105.4 32.5c-22.7 36-48.2 76.8-60.5 115.8 8.4 4.2 16.5 8.4 24.2 12.4 9.1-41.4 37.3-77.5 61.5-110.6-8-6-16.4-11.9-25.2-17.6zm48 16.5c-26.7 38-58.8 77.1-67.1 118.2l42.3 3c11.5-18.3 27.8-21 47.6-23.1 3.8 9.5 26.5 26.9 34.2 31.4 4.9-2.1 9.5-5 14.6-8.3 7.6 14.7 20.1 26.1 30.6 36.1 3.7-8.8 6.5-18.2 8.7-27.8-7.9-.7-15.8-8.7-18.4-14.6-2.9-7.1-3.4-15.5-1.6-24.3 2.6-8.5 6.3-16.9 11.6-22.4-29.3-25.1-63-49.3-102.5-68.2zm115.2 80.1c-2.7 2.8-5.3 7.4-6.5 13.1-.5 4.7-1.9 17.1 4.8 18.5 6.8-1.5 10.7-10 12.1-16 1.2-5.7.6-10.8-.7-14.2-2.7-5.9-6.4-4.5-9.7-1.4zm-98.9 38.8c-10 .2-21.6 3.4-23.4 11.5 5.2 18.4 27 29.4 40 39.8.2-9.6 1-20.6 6.3-30.7-8.7-6.3-16-13.7-22.9-20.6zm-83.1 17.4c5.6 14.7 14 25.4 24.5 38.5 13.8-3.3 21.3-10.7 27.8-18.5-5.6-6.1-10-11.5-14.1-17.3zm132.4 9.1c-3.3 1.5-6.9 2.8-10.8 3.7-3.1 7.8-3 18.6-3.8 30l37.4-9.6c-7.9-7.1-16.6-14.8-22.8-24.1zm-68.2 24.5c-5.9 6.6-13.8 13.9-25 18.8 12.8 11.4 64 15.7 59.6 5.9-13.6-8-25.3-15.8-34.6-24.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmorUpgrade;

impl IconShape for ArmorUpgrade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.95l-5.4 4.03C187.5 73.41 125.4 104.5 30.58 120.3l-7.5 1.2v7.6c0 19 8.4 48.7 22.1 85.1 13.6 36.5 32.8 78.8 55.02 119.2 22.3 40.4 47.4 78.9 73.8 107.7 26.1 28.9 53.5 48.9 82 48.9s55.9-20 82.2-48.9c26.2-28.8 51.3-67.3 73.7-107.7 22.2-40.4 41.3-82.7 55-119.2 13.6-36.4 22-66.1 22-85.1v-7.6l-7.4-1.2c-94.6-15.8-156.9-46.89-220.1-94.32zm0 22.2c61.1 45.04 124.4 76.15 214.4 92.35-1.9 15.2-9 41.4-20.3 71.5-4.1 10.8-8.6 22.2-13.7 34H288v-48.9l64 16-96-111.96-96 111.96 64-16V242H75.57c-5-11.8-9.59-23.2-13.69-34-11.2-30.1-18.4-56.3-20.3-71.5C131.6 120.3 194.8 89.19 256 44.15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmoredBoomerang;

impl IconShape for ArmoredBoomerang {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M420.2 27.03L342.6 169.4 485 91.76c-1.5-2.61-3.6-5.88-6.4-9.57-5.9-7.77-14.2-17.06-23-25.83-8.7-8.76-18-17.05-25.8-22.94-3.7-2.79-6.9-4.93-9.6-6.39zm-25.4 9.06L165 53.77C173.3 63.41 181 75 187.1 87H367l27.8-50.91zM128.1 48.12L26.3 56.21c3.16 12.58 11.96 30.8 21.36 46.09 9.91 16.1 18.38 27.4 21.2 31.1L169.8 143c5.1-.1 7.5-1.2 8.9-2.5 1.4-1.3 2.5-3.3 2.9-7.1.8-7.6-2.4-20.8-8.6-34.04-6.2-13.26-15.1-26.79-24-36.56-8.9-9.7-18.1-14.58-20.9-14.68zM194.9 105c3.7 10.4 5.6 20.6 4.6 30.1l137.3 7.3 20.4-37.4H194.9zm281 12.2L425 145v179.9c12 6.1 23.6 13.8 33.2 22.1l17.7-229.8zM407 154.8l-37.4 20.4 7.3 137.3c1.6-.2 3.3-.3 4.9-.3 8.1 0 16.6 1.9 25.2 4.9V154.8zm-221.4 30.8l-127.96 128 12.72 12.8 128.04-128-12.8-12.8zm112 16l-255.96 256 12.72 12.8 256.04-256-12.8-12.8zm16 112l-128 128 12.8 12.8 128-128-12.8-12.8zm68.1 16.7c-1.1 0-2.2 0-3.1.1-3.8.4-5.8 1.5-7.1 2.9-1.3 1.4-2.4 3.8-2.5 8.9l9.6 100.9c3.7 2.9 15 11.3 31.1 21.2 15.3 9.4 33.5 18.2 46.1 21.4l8.1-101.8c-.1-2.8-5-12-14.7-20.9-9.8-8.9-23.3-17.8-36.6-24-11.6-5.4-23.1-8.6-30.9-8.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Arrest;

impl IconShape for Arrest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.972 25l29.566 133.047.092.416 14.197 113.576L36.038 487h30.09l30.748-184.48h17.754L145.378 487h30.09l-28.79-214.96 14.198-113.577L190.534 25H176.24l-30.699 92.1c.47 3.534.713 7.177.713 10.9 0 14.85-3.849 28.437-10.701 38.879-6.853 10.442-17.395 18.121-29.8 18.121-12.403 0-22.945-7.68-29.798-18.121C69.102 156.437 65.253 142.85 65.253 128c0-7.37.95-14.427 2.742-20.943L35.628 25zm84.78 64c-4.992 0-10.2 3.065-14.75 9.996-4.547 6.93-7.75 17.345-7.75 29.004 0 11.659 3.203 22.073 7.75 29.004 4.55 6.93 9.758 9.996 14.75 9.996 4.994 0 10.203-3.065 14.75-9.996 4.55-6.93 7.75-17.345 7.75-29.004 0-11.659-3.2-22.073-7.75-29.004-4.547-6.93-9.756-9.996-14.75-9.996zM458.9 144l-48 32h-208v64h93.215a200.885 200.885 0 0 0 4.512 8.88c6.187 11.432 13.806 24.515 26.027 31.056 13.15 7.037 29.836 6.118 44.125 4.8 2.998-.276 5.842-.617 8.534-.972L410.899 368c4.115 10.972 78.853 11.03 80 0 3.311-31.828-58.644-101.355-16-144v-48h-16zM316.29 240h46.61l9.91 26.428c-1.21.135-2.425.268-3.684.384-13.009 1.2-28.32.282-33.98-2.748-4.733-2.533-13.115-13.45-18.69-23.75-.058-.106-.109-.207-.166-.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowCursor;

impl IconShape for ArrowCursor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.193 29.635L121 406.18l84.31-82.836 65.87 159.02 67.5-27.96-65.87-159.02L391 294.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowWings;

impl IconShape for ArrowWings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352.5 29.01l89.7 40.72 40.7 89.77V29.01zM184.1 63.92c-43.8.15-84.93 7.61-117.57 12.12-1.32.19-2.21.42-3.18.66 1.08.97 2.41 2.06 4.08 3.25 12.49 8.9 39.77 21.65 75.47 33.95l32 11-33.2 6.3c-11.7 2.3-18.6 5.6-20.3 7.2l-.4.4c.1 0 .3.3.6.7 1.5 2.4 7.1 7.2 15.9 11.9s20.7 9.7 35.1 14.5l29 9.6-29.6 7.6c-10.5 2.7-18.3 6.2-22.4 9.3-4.1 3-3.8 3.9-3.7 4.3.1.4 2.2 4 9.8 7.9 7.7 3.9 20 8 37.1 11.4l28.5 5.6-26.6 11.5c-13.4 5.7-17.2 12.7-17.9 18.2-.7 5.4 2.3 9.9 4.2 11h.1c-1-.5 2.6.4 8.4-.2.8-.1 1.8-.2 2.7-.3L342 111.9c-47-35.76-99.5-46.92-149.1-47.91-2.9-.06-5.9-.08-8.8-.07zm222.1 9.25L55.52 424.1l40.65-8.2-8.1 40.6L438.8 105.8l-10.2-22.46zM400 170L250.2 319.8c-.1.9-.2 1.9-.3 2.7-.6 5.8.3 9.4-.2 8.4v.1c1.1 1.9 5.6 4.9 11 4.2 5.5-.7 12.5-4.5 18.2-17.9l11.5-26.6 5.6 28.5c3.4 17.1 7.5 29.4 11.4 37.1 3.9 7.6 7.5 9.7 7.9 9.8.4.1 1.3.4 4.3-3.7 3.1-4.1 6.6-11.9 9.3-22.4l7.6-29.6 9.6 29c4.8 14.4 9.8 26.3 14.5 35.1 4.7 8.8 9.5 14.4 11.9 15.9.4.3.7.5.7.6l.4-.4c1.6-1.7 4.9-8.6 7.2-20.3l6.3-33.2 11 32c12.3 35.7 25 63.1 33.9 75.5 1.2 1.7 2.3 3 3.2 4.1.3-.9.5-1.8.7-3.2C445.8 374 469.8 261.6 400 170zM29.08 359l32.99 33 28.3-28.3zm119.22 62.7L120 450l33 33z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AscendingBlock;

impl IconShape for AscendingBlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M471.8 28.22l-20.4 44.15c5.9 1.52 11.5 4.24 16.2 7.9l20.6-44.49-16.4-7.56zM355.4 71.67l-6.8 16.66 47.6 19.57c1.1-6.1 3.4-11.75 6.7-16.71l-47.5-19.52zm85 17.33c-15 0-27 12-27 27 0 12.3 8.1 22.6 19.3 25.9l6.9-17.2 2.3-5.7h25.3c.1-1 .2-2 .2-3 0-15-12-27-27-27zm-40.2 47.1c-53.7 20.9-108.4 41.3-189 53.9l10.8 16.5c80.7-13.5 136.2-34.7 190-55.7-4.9-4-8.9-9-11.8-14.7zm53.9.9l-23.6 58.9L485 185l-12-48h-18.9zm-261.4 57.7L33.69 298.6l42.69 65.3 159.02-104-42.7-65.2zM487 203l-57.7 11.5-49.5 32.5H448v18h-95.6L87.25 439H128v18H64v-2.7L14.12 487H375v-30h-87v-18h23v-46h-55v-18h128v18h-55v46h119v18h-55v30h94V329h-55v-18h55V203zm-251.8 82.8a16 16 0 0 0-8.7 2.6 16 16 0 0 0-4.6 22.2 16 16 0 0 0 22.2 4.6 16 16 0 0 0 4.6-22.1 16 16 0 0 0-13.5-7.3zM195 312.1a16 16 0 0 0-8.6 2.6 16 16 0 0 0-4.7 22.1 16 16 0 0 0 22.2 4.7 16 16 0 0 0 4.6-22.2 16 16 0 0 0-13.5-7.2zm-40.2 26.3a16 16 0 0 0-8.6 2.6 16 16 0 0 0-4.6 22.1 16 16 0 0 0 22.1 4.6 16 16 0 0 0 4.6-22.1 16 16 0 0 0-13.5-7.2zm-40.1 26.2a16 16 0 0 0-8.7 2.6 16 16 0 0 0-4.6 22.2 16 16 0 0 0 22.1 4.6 16 16 0 0 0 4.7-22.1 16 16 0 0 0-13.5-7.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AsianLantern;

impl IconShape for AsianLantern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 20v67h18V20h-18zm174.637 63.637l-44 44 12.726 12.726 44-44-12.726-12.726zm-331.274 2L77.637 98.363l44 44 12.726-12.726-44-44zM201 105v30h110v-30H201zm-9 48c-13 0-27.447 6.922-38.238 15.914a76.393 76.393 0 0 0-6.487 6.086H288v18H137v46h151v18H137v46h151v18H137v46h151v18H147.275a76.393 76.393 0 0 0 6.487 6.086C164.552 400.078 179 407 192 407h128c13 0 27.447-6.922 38.238-15.914 5.396-4.496 9.859-9.456 12.774-13.828C373.927 372.886 375 369 375 368V192c0-1-1.073-4.886-3.988-9.258-2.915-4.372-7.378-9.332-12.774-13.828C347.448 159.922 333 153 320 153H192zM44.557 179.371l-5.114 17.258 54 16 5.114-17.258-54-16zm420.797.027l-52 16 5.292 17.204 52-16-5.292-17.204zM32 279v18h64v-18H32zm384 0v18h64v-18h-64zm2.557 84.371l-5.114 17.258 54 16 5.114-17.258-54-16zm-325.203.027l-52 16 5.292 17.204 52-16-5.292-17.204zM201 425v18h110v-18H201zm189.363 8.637l-12.726 12.726 44 44 12.726-12.726-44-44zm-268.726 2l-44 44 12.726 12.726 44-44-12.726-12.726zM241.96 456l-2.576 4.613c-6.843 12.263-8.313 24.248-8.313 24.248L229.777 495h52.446l-1.295-10.139s-1.47-11.985-8.313-24.248L270.04 456h-28.078z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Asparagus;

impl IconShape for Asparagus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377.9 25.46v.04h-2.1c-15.8.54-30.2 4.13-43.1 9.71 12 17.79 14.8 34.85 13.5 50.27 4.6-.25 8.5-.3 12.8-.26 5.6-19.47 12.6-40.4 25.3-59.61-2.2-.1-4.3-.16-6.4-.15zm-61.2 18.08c-9.6 5.79-18.1 12.61-25.8 19.92 4.8 11.74 9.4 23.71 13.3 35.57 7.8-5.65 15.4-9.21 23.7-11.12 2.4-14.2 1.4-27.52-11.2-44.37zm-39.4 34.42c-4.9 5.94-9.4 11.98-13.3 17.85-11.9 17.89-15.9 31.89-15.1 42.69.8 10.9 6 19.6 16.3 28.2 7 5.8 18.5 6.5 31.1 3.5 2.4-11.5 1.2-26.9-3-44-3.7-15.2-9.5-31.74-16-48.24zm161.2 17.7c-7.4.04-14.7 1.06-21.7 3.24 5.6 13.6 4.9 28.7 1.4 42-2.4 8.8-5.9 17.1-10.1 24.2 5.2.4 10.8 1.1 16.7 1.9 13.6-25 26.4-49.7 42.5-67.01-9.6-2.8-19.3-4.38-28.8-4.33zm-84.4 7.64c-16.5.3-34.7 2.9-44.1 15.3.2 1.1.5 2.3.8 3.4 3.5 14.5 5.6 28.5 4.7 41.4.2-.2.5-.3.8-.4 3.7-5.2 8-10.5 13.1-16 5.2-5.6 10.7-12 16.8-18.6 2.8-7.5 5.4-16 7.9-25.1zm46.2 2.8c-12.4 7.4-24.3 17.7-33.2 26.6 2.5 12.5 5.7 25.1 8.1 37.2 3.2-1.6 6.6-2.9 9.9-3.7 5.7-6.2 12.5-17.7 15.7-29.9 2.8-10.6 3.1-21.3-.5-30.2zm-48.2 42.7c-3.2 3.5-6.4 7.1-9.5 10.4-14.6 15.9-21.3 28.9-22.8 39-1.5 10.1 1.4 17.9 8.8 26.3 3.9 4.4 11.5 6.3 21 5.8 18.1-29.3 9.1-51.1 2.5-81.5zm-107.3 23l-79.7 99.3c1.7 2.9 4.6 8.2 6 10.3l-16.3 7.3c-15.9-9.4-20.7-41.1-24.8-33.5-15.4 33.7-12.4 57.7-6.5 90.1l-15.2 11.6c-.2-1-2.8-10.3-2.9-11.3L19.24 452.9v19.3L149 352.4l121.6-163.7c-6-1.4-11.7-4-16.8-8.2-3.3-2.7-6.3-5.6-9-8.7zm153.4 11c-1.7 0-3.3.1-4.8.2-5.9.7-10.4 2.1-15.2 6.1 1 12 .1 26.1-3.9 35.6 5.7-2 10.7-4.4 13.9-6.3 10.8-6.3 19.3-18.7 27.8-34.3-6.1-.7-11.4-1.3-16-1.3h-1.8zm96.1 7.8c-17.3 10.7-35.9 17.1-53.3 22.3-.2 2.1-.5 4.3-.8 6.4 16.2-1.9 35.5 2.9 47 9.1 3.3-11 5.8-23.5 7.1-37.8zM422 218.4c-3 .8-6.1 1.8-9 2.7-4.5 5-9.7 9.4-15.6 12.9-6.5 3.8-15.5 7.7-25.7 10.6-2.4 3.7-5.2 9.2-7.4 15.4 4.4-.8 9-1.3 13.7-1.3 9-.1 18.4 1.1 27.8 3.3 7.3-13.7 13.5-28.4 16.2-43.6zm-112.7 10.3l-30.2 28c1.7 2.7 3.5 4.6 4.4 5.1l-8.6 15.8c-12.2-7.7-18-30.1-31-32.4-9 23.3-6.7 45.8-7.5 67.8l-17.6-.6L22.83 493.3h53.44L327.6 245.2c-4.6-1.9-8.8-4.7-12.4-8.7-2.2-2.4-4.1-5-5.9-7.8zm142.4 7.6c-5.3 0-10.6.8-16.1 2-3.2 10.2-7.5 19.8-12.1 28.8 11 3.7 21.9 8.5 32.5 13.6 9.3-8.8 18-20.2 24.8-35.4-10.8-6.7-20-9-29.1-9zm-73.3 40.8c-6.9 0-13.2.8-18.7 2.7-.5 8.2.9 15.2 4.3 19.1 7.4 8.5 15 12.3 25.7 12.5 10.7.1 25-4 43.1-13.9 2.4-1.3 4.8-2.7 7.2-4.3-21.6-9.5-43.6-15.9-61.6-16.1zM342.2 293L194.4 401.9l-92.6 91.4h29l2.5-18c38.5 5.1 104.7 13.2 42.2-21.2l9.2-15.6c3.2 1.9 6.7 4.1 10.3 6.3l161.3-128.2c-2.1-1.8-4-3.8-5.9-5.9-4.5-5.2-7-11.3-8.2-17.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aspergillum;

impl IconShape for Aspergillum {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M475.7 23.5l-16.5 16.45c2.3 1.93 4.5 3.96 6.7 6.11 2.1 2.15 4.2 4.37 6.1 6.66l16.5-16.48zm-84 9.73c-19.5 0-39 6.51-55 19.54l-17.9-17.94L306 47.55 464.4 206l12.8-12.8-18-18c27.9-34.3 25.9-84.46-6-116.41-17.1-17.04-39.3-25.56-61.5-25.56zm.1 22.51a8 8 0 0 1 5.5 2.34 8 8 0 0 1 0 11.32 8 8 0 0 1-11.3 0 8 8 0 0 1 0-11.32 8 8 0 0 1 5.8-2.34zm43.9 12.59a8 8 0 0 1 5.6 2.34 8 8 0 0 1 0 11.31 8 8 0 0 1-11.3 0 8 8 0 0 1 0-11.31 8 8 0 0 1 5.7-2.34zM314.9 79.09c-13.9 25.71-13.8 56.81.1 82.51l-36.6 36.6-7.7-7.8-12.8 12.8 50.9 50.9 12.8-12.8-7.8-7.8 36.6-36.6c25.7 13.9 56.7 13.9 82.4.1zm133.3 33.21a8 8 0 0 1 .1 0 8 8 0 0 1 5.6 2.4 8 8 0 0 1 0 11.3 8 8 0 0 1-11.4 0 8 8 0 0 1 0-11.3 8 8 0 0 1 5.7-2.4zM254 224.6L100.7 359.8l51.5 51.5L287.4 258zM87.16 371.8L69.89 387c-3.53 3.6-5.82 9.8-5.82 16.3 0 5.2 1.47 10.2 3.85 13.7-3.23-1.3-6.55-2.2-9.87-2.7-9.4-1.3-19.3.9-26.3 7.9s-9.26 16.9-7.92 26.3c1.34 9.3 6.01 18.5 13.58 26.1 7.56 7.5 16.75 12.2 26.02 13.5 9.4 1.4 19.3-.9 26.3-7.9s9.26-16.9 7.92-26.3c-.48-3.3-1.4-6.6-2.72-9.8 3.61 2.4 8.67 3.9 13.77 3.9 6.5 0 12.7-2.3 16.3-5.8l15.2-17.3zm-35.18 60.1c1.08 0 2.26 0 3.53.2 4.95.8 10.89 3.6 15.84 8.5 4.95 5 7.77 10.9 8.48 15.9.71 5.1-.42 8.6-2.83 11-2.4 2.4-5.94 3.5-11.03 2.8-4.95-.7-10.89-3.5-15.84-8.5-4.95-4.9-7.77-10.8-8.48-15.8-.71-5.1.42-8.6 2.83-11 1.8-1.8 4.24-2.9 7.5-3.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Asteroid;

impl IconShape for Asteroid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.625 36.307c-6.092.006-12.026.422-17.766 1.367-6.74 15.11-15.352 32.332-15.352 32.332l-32.752-13.453c-16.186 7.61-10.852 30.03-20.06 38.44-27.888 22.73-83.84 68.866-89.725 84.734-12.537 33.803-19.03 69.85-20.005 104.95 14.493 7.74 31.347 20.743 47.008 34.73 14.336 14.328 35.16 31.31 40.828 49.716l2.096 7.168-6.658 3.384c-11.466 5.26-9.42 16.91-11.275 25.86l-17.602-3.77c1.218-13.002 3.663-24.96 13.206-33.12-8.763-13.648-21.562-25.924-32.584-35.81-11.454-10.23-24.25-20.012-34.933-26.947 1.674 46.477 1.207 81.64 21.255 114.607l31.945 5.094-.553 28.053 42.27-3.222-5.3 30.28c92.217 38.28 247.83-57.624 288.362-162.223 8.685-22.415 48.163-45.242 49.896-67.717 2.734-35.472-8.37-70.06-27.727-100.74-13.795 13.218-29.79 17.135-46.56 9.796l20.255 23.86-13.723 11.648-27.4-32.273-1.24-18.446c-5.757-5.283-11.19-11.362-16.046-17.94l-33.95 9.97-5.073-17.27 29.023-8.522c-3.782-7.177-6.71-14.646-8.39-22.174-2.694-12.064-2.116-24.784 4.7-35.326.07-.108.145-.21.216-.317-36.018-4.868-73.49-16.754-106.387-16.718zm121.287 26.806c-3.475 5.376-4.253 12.655-2.248 21.633s6.862 19.155 13.3 28.45c6.44 9.293 14.446 17.73 22.216 23.577 23.14 12.916 41.762 7.763 39.084-16.968-1.89-16.137-17.54-29.672-23.46-35.753-12.655-12.994-38.097-34.83-48.892-20.94zm-36.207 4.266l-9.47 21.282-25.104 9.29-18.34-10.36zM233.393 96.282l30.316 11.072 27.874 46.264 32.05 14.146-7.27 16.468-37.26-16.45zm-43.89 30.66c9.625-.01 19.89 2.822 25.817 11.815 6.116 5.094 16.364 8.502 27.846 12.816l-6.332 16.852c-5.8-2.18-12.472-4.145-18.963-6.996-1.048 3.52-2.588 6.89-4.358 9.935a64.73 64.73 0 0 1-2.97 4.625c12.61 6.737 24.022 11.983 30.12 12.506l-1.54 17.934c-13.374-1.148-27.19-8.556-41.235-16.645a69.874 69.874 0 0 1-5.22 4.035c-5.618 3.903-12.543 7.623-20.044 10.5 2.925 14.92 3.148 30.108 2.94 41.203l-17.997-.337c.19-10.045-.234-23.675-2.45-36.112-5.99.925-12.046 1.06-17.944-.383-.09-.02-.177-.046-.266-.07.083 13.554-1.982 28.058-11.95 42.374l-14.77-10.285c10.87-15.612 8.98-30.818 7.804-49.224-1.566-5.005-1.475-10.304-.23-14.988 1.682-6.33 5.1-11.886 9.187-16.945 8.176-10.118 19.228-18.362 28.807-23.49 11.795-5.06 22.388-9.09 33.75-9.12zm-.665 18.012c-.64.012-1.308.047-2.004.102-7.502.613-16.64 3.695-22.588 6.88-7.375 3.946-17.25 11.444-23.3 18.93-3.023 3.743-5.045 7.453-5.79 10.254-1.15 5.08 2.084 9.024 6.29 10.087 3.02.738 7.46.737 12.396-.164 9.87-1.802 21.545-7.135 28.553-12.004 5.274-3.666 11.863-10.37 15.556-16.722 3.85-12.748.492-17.54-9.112-17.363zm259.953 37.65l12.642 62.508-54.782 40.737 33.01-56.89zm-61.31 20.75l3.182 17.717-66.13 11.883-9.65 25.186-25.25 11.934 21.725-53.04zm-11.63 64.83l16.3 7.63c-7.236 15.46-9.834 23.982-8.974 33.36 6.018.288 12.134.976 18.222 1.934l-2.796 17.78c-20.668-3.25-40.167-1.63-49.913 5.192-4.873 3.41-7.866 7.633-9.088 14.89-1.223 7.254-.21 17.796 4.873 31.997-14.763 5.31-28.485 9.344-43.684 14.436l-5.716-17.068 27.455-9.197c-1.625-8.534-1.85-16.21-.678-23.16 1.844-10.947 7.55-19.874 15.334-25.773-2.568-5.383-5.2-11.09-7.092-17.383-2.792-9.287-.37-27.64-.56-27.658 0 0 15.726 15.586 17.798 22.477 1.373 4.567 3.592 9.417 6.01 14.548 3.83-1.158 7.836-1.963 11.965-2.47-.69-12.83 3.032-25.492 10.543-41.536zm-145.416 3.946l-21.852 46.684-1.49 65.057-17.38-68.036s36.75-43.703 40.722-43.703zm38.574 139.85a84.97 84.97 0 0 1 7.69.32c13.628 1.172 27.29 5.13 40.73 9.132l-5.137 17.252c-13.297-3.96-26.01-7.494-37.134-8.45-5.48-.47-10.477-.36-15.1.508l-14.878-14.148c6.827-2.917 14.02-4.278 21.263-4.56a75.72 75.72 0 0 1 2.568-.054zm-38.95 15.075l13.983 13.3c-10.892 17.037-14.518 26.755-31.18 37.32 1.64-5.576 3.002-16.252 5.88-26.984 2.176-8.11 5.298-16.793 11.32-23.635z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AstronautHelmet;

impl IconShape for AstronautHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-16.076 0-32.375 3.73-48.178 10.24-2.126 6.525-3.877 14.76-4.877 23.754-1.31 11.79-1.73 24.706-1.87 36.819 33.864-3.704 75.986-3.704 109.85 0-.14-12.113-.56-25.03-1.87-36.82-1-8.992-2.75-17.228-4.877-23.753C288.375 26.73 272.076 23 256 23zm100.564 19.332c9.315 7.054 18.107 14.878 26.282 23.234 1.53-6.65 4.69-12.696 9.03-17.695zm-170.03 1.49c-34.675 20.22-65.047 52.714-82.552 86.334-33.08 63.536-39.69 156.956-.53 214.8C132.786 388.278 200.276 405 256 405c55.725 0 123.215-16.72 152.547-60.045 39.162-57.843 32.55-151.263-.53-214.8-17.504-33.62-47.876-66.112-82.55-86.333.578 3.65 1.057 7.388 1.478 11.184 1.522 13.694 1.912 28.197 2.014 41.267C347.664 99.427 362 104 368 110c32 32 75.537 134.695 16 224-37.654 56.48-218.346 56.48-256 0-59.537-89.305-16-192 16-224 6-6 20.335-10.573 39.04-13.727.103-13.07.493-27.573 2.015-41.267.42-3.796.9-7.534 1.478-11.184zM64 48c-8.837 0-16 7.163-16 16a16 16 0 0 0 7 13.227V145.5L73 132V77.21A16 16 0 0 0 80 64c0-8.837-7.163-16-16-16zm358.81 3.68c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm25.272 55.205c-6.98 5.497-15.758 8.795-25.27 8.795-.745 0-1.48-.027-2.214-.067a216.57 216.57 0 0 1 2.38 4.37l29.852 22.39zm-238.822 2.5c-17.257.09-37.256 3.757-53.233 16.12-26.634 20.608-43.034 114.763-33.49 146.763 16.584-61.767 31.993-124.02 107.92-161.274a133.445 133.445 0 0 0-21.197-1.61zm-135.055 44.21L40.15 179.138l-14.48 72.408 38.18 45.814c-10.947-46.523-5.776-98.723 10.355-143.764zm363.59 0c16.13 45.042 21.302 97.242 10.355 143.764l38.18-45.815-14.48-72.408zM106.645 375.93c-3.583 1.17-7.252 3.406-10.282 6.435-4.136 4.136-6.68 9.43-7.164 14.104.21.364.603 1.157 1.73 2.162 2.453 2.188 6.693 5.17 12.127 8.358 10.867 6.38 26.55 13.757 44.205 20.623 21.177 8.237 45.35 15.704 67.738 20.38v-27.61c-39.47-5.12-79.897-18.325-108.355-44.452zm298.71 0C376.897 402.055 336.47 415.26 297 420.38v27.61c22.387-4.676 46.56-12.143 67.738-20.38 17.655-6.865 33.338-14.243 44.205-20.622 5.434-3.19 9.674-6.17 12.127-8.36 1.127-1.004 1.52-1.797 1.73-2.16-.482-4.675-3.027-9.97-7.163-14.105-3.03-3.03-6.7-5.264-10.282-6.435zM77.322 410.602L18 450.15V494h37v-18h18v18h366v-18h18v18h37v-43.85l-59.322-39.548c-.537.488-1.08.97-1.623 1.457-3.922 3.497-8.932 6.89-14.998 10.452-12.133 7.12-28.45 14.743-46.795 21.877C334.572 458.656 290.25 471 256 471s-78.572-12.343-115.262-26.61c-18.345-7.135-34.662-14.757-46.795-21.878-6.066-3.56-11.076-6.955-14.998-10.453-.543-.487-1.086-.97-1.623-1.458zM233 422.184v28.992c8.236 1.162 16.012 1.824 23 1.824 6.988 0 14.764-.662 23-1.824v-28.992c-7.82.555-15.523.816-23 .816s-15.18-.26-23-.816z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Atlas;

impl IconShape for Atlas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.115c-5.825 0-11.563.366-17.193 1.074l25.27 19.44 27.44-15.832A136.438 136.438 0 0 0 256 22.115zm-31.406 3.64C164.628 39.899 120.115 93.66 120.115 158c0 70.687 53.73 128.608 122.65 135.244.11-.089.213-.183.323-.271 8.263-6.629 19.152-10.972 31.252-12.305 6.22-.685 12.228-.512 17.822.457l.006-.025v-.002c1.954-7.778 6.776-13.879 12.527-17.332 4.314-2.59 8.978-3.837 13.528-4.137 1.516-.1 3.022-.094 4.496.002 5.895.383 11.445 2.11 16.095 5.584.123.092.244.195.366.29 31.612-24.477 52.098-62.602 52.681-105.62-6.228-5.54-16.99-15.23-18.4-17.346-1.987-2.98-21.852-22.348-21.852-22.348l-44.199-2.484 19.865 24.336-26.818 11.422-20.494-27.983 24.85 59.018-16.856 67.424-33.713-1.406-14.748-62.506-53.379-11.239 19.666-58.996h69.082l3.41-6.275-36.312-19.03-41.799 18.985-.701-41.437s21.068-18.964 21.068-24.582c0-3.13 2.132-12.118 4.063-19.682zm95.91 251.806c-2.437.009-4.81.597-6.543 1.638-1.982 1.19-3.436 2.711-4.334 6.287l-.006.018-13.79 53.928-8.073-1.25c-12.118-1.876-25.705-2.017-32.533-1.07-4.91 1.625-7.226 4.484-7.848 6.286-.635 1.842-.734 2.198 1.135 3.5.717.457 5.872 2.645 12.074 4.186 6.256 1.554 13.908 2.898 21.277 3.61 7.37.71 14.537.749 19.438.023 4.9-.726 5.96-2.624 5.191-.912 13.432-29.903 16.61-45.388 21.844-74.057-.08-.024-.02.092-.293-.111-1.067-.797-3.7-1.864-6.492-2.045-.35-.023-.699-.033-1.047-.031zm-40.055 20.785c-1.604.011-3.25.106-4.926.29-8.933.985-16.716 4.342-21.64 8.292-4.924 3.95-6.649 7.762-6.438 10.965a8.07 8.07 0 0 0 .633 2.617 37.532 37.532 0 0 1 2.498-.854l.582-.174.602-.093c8.147-1.276 19.2-1.204 30.615.006l5.25-20.53a44.952 44.952 0 0 0-7.176-.52zm-49.455 11.103c-32.373 12.647-66.581 48.933-73.314 87.27 8.55 13.94 15.925 25.451 42.213 28.804 20.25 2.584 36.195-3.383 53.138-11.421-4.61 27.314-9.023 54.627-22.347 81.941l61.582 1.49-1.987-11.422-37.248-4.47c10.766-27.243 34.074-58.795 28.309-88.399-18.755-3.482-37.817-6.687-69.527 1.49 2.954-8.21 13.434-21.073 25.947-33.408-7.491-5.58-10.196-15.685-7.399-23.795a24.701 24.701 0 0 1 2.993-5.914c-2.137-3.465-3.52-7.4-3.807-11.752-.238-3.613.312-7.107 1.447-10.414zm-65.64 120.928c5.496 14.215 12.952 27.97 20.136 41.58-17.916-10.752-58.268-14.487-64.808-14.402-3.1 17.06-10.632 26.4-25.02 35.74l14.899 2.978 19.804-23.074c26.19 15.067 75.1 30.943 84.442 19.444.305-9.276-.076-28.955-5.8-49.584-17.281.494-32.183-4.853-43.653-12.682z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AtomCore;

impl IconShape for AtomCore {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M38.07 18C31.06 23.84 24.37 30.04 18 36.57v26.65A247.678 247.678 0 0 1 67.66 18H38.07zm309.43 0c35.2 24.2 63.8 57.29 82.5 96 4.9-3.5 10.7-5.7 17-6.1-16.6-34.83-40.6-65.46-69.9-89.9h-29.6zm-109.2 95.8c-21.6 0-39 17.4-39 39s17.4 39 39 39c1.4 0 2.8-.1 4.2-.2 7.5-8.7 17.5-15.2 28.9-18.2 3.7-5.9 5.9-13 5.9-20.6 0-21.6-17.4-39-39-39zm210.9 12c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-292.6 3.9c-21.6 0-39 17.4-39 39 0 19 13.5 34.8 31.4 38.3 5.9-16.4 19.2-29.2 35.7-34.7-2.2-6.1-3.4-12.7-3.4-19.5 0-4.5.5-8.8 1.5-13-6.9-6.3-16.1-10.1-26.2-10.1zm310.6 38.7c-5 3.3-10.9 5.2-17.2 5.4 3 15.5 4.6 31.4 4.6 47.8 0 92.7-51 173.5-126.5 215.7 4.1 4.3 7.1 9.8 8.4 15.8 81.2-45.4 136.1-132.1 136.1-231.5 0-18.2-1.9-36-5.4-53.2zm-273.4 20c-17.3 3.9-30.2 19.4-30.2 38 0 15.5 8.9 28.8 21.9 35.1 10.5-11.9 25.8-19.4 42.8-19.4.7 0 1.4 0 2.2.1-1.1-4.4-1.7-8.9-1.7-13.6 0-6.7 1.2-13.2 3.3-19.1-15.4-1.7-29-9.6-38.3-21.1zm92 1.2c-21.6 0-39 17.4-39 39 0 6.7 1.7 12.9 4.6 18.4 9.3 4.2 17.3 10.8 23.2 19 3.6 1 7.3 1.6 11.2 1.6 21.6 0 39-17.4 39-39s-17.4-39-39-39zm-140.1 34.2c-19.6 2.2-34.7 18.7-34.7 38.8 0 21.6 17.4 39 39 39 7.9 0 15.3-2.4 21.5-6.4.4-6.6 1.9-12.8 4.4-18.5-18-9.6-30.3-28.6-30.3-50.3 0-.9 0-1.7.1-2.6zm82.6 36.3c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zM18 380v26.6c48.14 49.3 115.3 80 189.6 80 23.8 0 46.8-3.2 68.8-9.1-3.2-5-5.1-10.9-5.1-17.2-20.3 5.4-41.7 8.3-63.7 8.3-76.2 0-144.31-34.5-189.6-88.6zm286.3 65.1c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AttachedShield;

impl IconShape for AttachedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26C192 58 112 80 32 80c0 46.047 4.726 89.503 13.02 129.69 25.495-2.558 53.13-2.433 81.86-1.06l-7.61-30.446-2.022-8.086 65.898-21.967 10.866 65.194c28.32 2.336 56.907 4.82 84.9 6.238 14.357-4.67 28.073-8.33 40.43-14.36l7.78-46.682 1.732-10.39 65.898 21.968-9.578 38.316c9.207 4.926 20.403 14.91 23.97 22.346 3.352 7.302 2.696 15.333.256 24.154 2.27 6.21 2.31 12.947.43 19.287-1.65 5.57-4.95 10.974-9.844 14.974.41 10.106-5.414 19.52-14.597 23.353-5.045 10.42-15.085 22.05-25.146 25.678a35.325 35.325 0 0 1-7.943 1.7l-10.29 41.16-47.98-23.99 7.107-42.647c-7.178-2.867-14.753-6.176-23.147-9.758-22.506 2.868-45.05 5.7-67.385 8.213l7.366 44.193-47.98 23.99-15.668-62.668c-25.372 2.034-50.16 3.29-73.943 3.288C126.423 426.23 197.21 490 256 490c96 0 224-170 224-410-80 0-160-22-224-54zm-87.146 145.87l-30.102 10.034 43.258 173.028 16.02-8.008-29.176-175.055zm174.292 0l-3.927 23.562c9.757-4.082 21.374-8.826 31.514-3.473l2.514-10.058-30.102-10.033zm17.692 35.696c-5.508.754-15.244 4.655-25.35 9.72-18.843 11.052-35.297 13.47-53.963 20.448-29.314-1.518-59.264-3.89-84.43-5.912l10.538 63.23c25.773-2.928 50.59-5.99 72.93-8.845 8.035 3.372 16.415 7.06 23.603 10.05l5.156-30.943-.492-16.046c31.396-.965 40.955-17.8 46.625-26.14 2.25-3.306 4.94-9.64 5.424-13.554.162-1.32.03-1.567-.042-2.008zm14.598 16.305c-2.703 5.724-5.283 9.687-7.97 14.567 7.198 3.907 15.487 5.786 25.923 6.215.426-2.995.116-4.813-.605-6.382-1.195-2.604-5.27-6.648-13.826-12.715-1.51-.91-2.674-1.404-3.524-1.684zm-284.63 2.026c-22.55-.09-43.69 1.063-62.732 4.256-10.604 21.43-9.975 44.448 1.57 71.08 36.332 3.616 77.178 2.643 120.223-.662l-18.35-73.406c-13.955-.738-27.575-1.215-40.71-1.268zm263.41 25.303a71.374 71.374 0 0 1-5.972 4.34c2.293 9.34 10.7 11.83 19.822 13.91 7.76 1.73 16.358 2.576 23.13 2.802a14.133 14.133 0 0 0 1.376-3.166c.653-2.202.702-4.555.38-6.48-14.655-.713-27.626-4.258-38.737-11.407zm-21.835 12.025a73.26 73.26 0 0 1-4.694 1.41l-2.053 12.32a25.18 25.18 0 0 1 8.056-10.383 31.58 31.58 0 0 1-1.31-3.347zm12.872 17.345c-1.468.894-2.713 2.34-3.195 3.817-.638 1.953-1.09 3.368 1.755 5.533 3.645 2.138 9.51 4.437 15.745 5.613 5.123.967 10.54 1.276 14.804 1.205l2.876-.467c1.974-.318 4.624-3.515 4.752-6.553-5.69-.506-11.804-1.355-17.836-2.7-6.592-1.47-13.14-3.327-18.9-6.447zm-21.23 6.04l-10.05 60.314 16.018 8.008 4.72-18.88c-9.425-5.795-14.6-14.962-14.468-23.888.085-5.812 2.58-11.444 6.653-15.617-1.686-3.174-2.65-6.586-2.872-9.936zm15.933 21.91c-1.2.71-1.687 2-1.715 3.908-.04 2.678 1.262 6.588 8.574 9.61.664.133 3.335.59 7.618-.87 2.824-.963 6.072-2.797 9.226-6.81a108.078 108.078 0 0 1-7.44-1.137c-5.542-1.045-11.13-2.444-16.263-4.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AttackGauge;

impl IconShape for AttackGauge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 73v174h46V73h-46zm-73 48c-1.75 0-2.906.439-4.574 1.898-1.668 1.46-3.578 4.104-5.201 7.756C18.978 137.96 17 149 17 160s1.978 22.041 5.225 29.346c1.623 3.652 3.533 6.296 5.2 7.756C29.095 198.562 30.25 199 32 199h55v-78H32zm137 0v30h180l40-30H169zm247.95 1.537L367 160l49.95 37.463L491.872 160l-74.924-37.463zM169 169v30h220l-40-30H169zM23 311v146h466V311H23zm361 18h87v110h-87V329z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AudioCassette;

impl IconShape for AudioCassette {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32.033 96S16 96 16 112.22V384c0 16 15.783 16 15.783 16h54.94l.547-2.184L104.973 327h302.054l17.703 70.816.547 2.184h53.01S496 400 496 385.23V112c0-16-16-16-16-16H32.033zM87 135h338v18H87v-18zm0 48h338v114H87V183zm18 18v78h132.795c5.88-11.722 9.205-24.957 9.205-39s-3.326-27.278-9.205-39H105zm152.465 0c4.85 12.066 7.535 25.223 7.535 39 0 13.777-2.686 26.934-7.535 39h32.89C283.17 267.708 279 254.33 279 240c0-14.33 4.17-27.708 11.354-39h-32.89zm55.676 0c-9.98 9.945-16.14 23.723-16.14 39 0 15.277 6.16 29.055 16.14 39h77.72c9.98-9.945 16.14-23.723 16.14-39 0-15.277-6.16-29.055-16.14-39h-77.72zm-143.677 8.432a32 32 0 0 1 12.06 6.94l-5.12 2.956c5.044 4.037 8.61 9.857 9.693 16.465l5.06-2.922A32 32 0 0 1 192 240a32 32 0 0 1-.787 6.94l-5.072-2.928c-1.016 6.624-4.525 12.476-9.525 16.56l5.065 2.924a32 32 0 0 1-12.217 7.04v-5.778c-2.972 1.164-6.192 1.812-9.553 1.812-3.36 0-6.58-.648-9.553-1.812v5.744a32 32 0 0 1-12.11-7.086l4.944-2.853c-4.995-4.088-8.5-9.943-9.512-16.57l-4.903 2.83A32 32 0 0 1 128 240a32 32 0 0 1 .81-7.027l4.91 2.834c1.08-6.608 4.643-12.43 9.684-16.47l-5.013-2.894a32 32 0 0 1 11.967-6.918v5.786c2.972-1.164 6.193-1.812 9.553-1.812 3.36 0 6.58.648 9.553 1.813v-5.878zm192.11.04a32 32 0 0 1 11.984 6.93l-5.047 2.914c5.044 4.038 8.61 9.857 9.693 16.465l4.963-2.862A32 32 0 0 1 384 240a32 32 0 0 1-.77 6.877l-4.98-2.875c-1.016 6.624-4.526 12.476-9.525 16.56l5.004 2.89a32 32 0 0 1-12.158 7.046v-5.75c-2.97 1.164-6.194 1.81-9.554 1.81-3.36 0-6.58-.646-9.553-1.81v5.793a32 32 0 0 1-12.184-7.093l5.02-2.896c-4.998-4.087-8.503-9.942-9.515-16.568l-5 2.887A32 32 0 0 1 320 240a32 32 0 0 1 .826-7.092l5.002 2.89c1.08-6.61 4.643-12.43 9.684-16.47l-5.073-2.93a32 32 0 0 1 12.025-6.908v5.81c2.972-1.166 6.192-1.812 9.553-1.812 3.36 0 6.583.646 9.554 1.81v-5.825zM119.026 345l-13.75 55h301.446l-13.75-55H119.027zM48 352a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm416 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-304 7h48v18h-48v-18zm144 0h48v18h-48v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Australia;

impl IconShape for Australia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M380.37 28.839l-27.24 100.215-64-48 17.405-34.46-83.863 8.079-13.541 42.38-35.512-25.482-67.16 85.62-83.008 48.593 34.81 156.752 38.87 6.518 112-64 74.38 52.082 21.62-28.094 32 72.012L424 415.452l64.549-126.398-6.014-64.703-65.404-79.297-36.762-116.215zm-14.75 411.238l15.099 43.084 20.412-2.107 11.435-35.864-46.947-5.113z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Avocado;

impl IconShape for Avocado {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M450.3 27.12c2.6 4.38 4.4 9.37 5.5 14.66 1.3 6.78 1.7 14.22 1.3 22.26 4.3 8.78 7.7 19.3 10 31.35 5.3 28.01 4.6 63.51-3.1 101.51-15.4 76-58.6 161.6-133.4 219.4-52 40.2-101.7 53.4-150.3 50.2-24.3-1.6-48.5-7.5-72.5-16.4-9.9 1.3-19.58 1.9-28.79 1.6-5.37-.1-10.61-.6-15.68-1.3 37.27 18.4 75.87 31.3 115.77 34 52.8 3.5 107.5-11.4 162.5-53.9 79-61 123.8-150.2 140-230 8.1-39.9 9.1-77.5 3.2-108.44-5.4-28.25-16.5-51.53-34.5-64.94zm-31.4 2.53c-2 0-4.3.17-6.7.48-9.8 1.22-22.5 4.46-37.2 9.48-29.2 10.03-66 27.07-104.1 48.34C194.7 130.5 113.1 190.4 73.42 243.6c-16.94 22.7-34.31 59.9-43.35 94.6-4.52 17.4-6.98 34.2-6.61 48.1.37 13.8 3.65 24.3 8.97 30.3 9.75 11 25.89 16.6 47.06 17.1 21.21.6 46.81-4 73.11-12.3 52.6-16.5 108.2-47.5 139.9-76.6 41.2-37.9 87.7-111.5 116.9-178.7 14.6-33.5 24.9-65.6 28.4-90.34 1.8-12.35 1.8-22.84.3-30.4-1.5-7.55-4.2-11.71-7.9-14.01-1.3-.83-5.3-1.8-11.3-1.7zM221.7 199.8c27.7 0 50.5 9.8 59.4 20.2 52.3 60.7-154 202.2-191.95 154.5-15.79-19.8-2.3-96.6 54.05-144.7 25.9-22.1 54.1-29.9 78.5-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Avoidance;

impl IconShape for Avoidance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M323.9 45.2C269.6 171.8 229.2 213.1 114 258.1l-4.4-11.8-8.4-22.5-76.26 82.1 111.56 11.8-12.1-32.1c119.5-46.5 171-99 226.6-228.84zm51.7 149l12 32.1c-119.5 46.6-171 99.1-226.6 228.8l27.1 11.7c54.3-126.7 94.7-167.9 209.9-212.9l4.4 11.8 8.4 22.4 76.3-82.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AxeInLog;

impl IconShape for AxeInLog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M89.17 24.96L67.55 55.98 327.8 237.4l21.7-31zM381.5 191.8l-47.9 68.7-1.2.9c-37.2 26.8-67.5 33.5-97.9 35 2.7 4.5 6.5 9.9 11.2 15.4 9.5 11.2 22.3 23.7 36.8 35.2 13.9 10.9 29.2 20.7 44.4 27.8l35.4-1.2c-3.1-23.5-4-50.7 18-82.3l47.2-67.6zm43.3 67.2l-21.6 30.9 22.6 15.8 21.6-31zM89.11 340.4c-4.37 0-8.16 1.3-10.4 2.9-2.24 1.6-2.72 2.9-2.72 3.9s.48 2.3 2.72 3.9 6.03 2.9 10.4 2.9 8.16-1.3 10.4-2.9c2.29-1.6 2.79-2.9 2.79-3.9s-.5-2.3-2.79-3.9c-2.24-1.6-6.03-2.9-10.4-2.9zm-14.22 28.9c-1.88 7-4.61 13.8-8.34 21.9-7.06-.2-14.12-.5-21.19-.8-14.17 9.2-22.04 22-25.2 35.4l38.05 8.1-39.69 7.1v1c.54 18.8 9.93 34.4 20.31 38.5 138.47 8.6 274.87 6.3 410.87 1.9-2.1-4.9-3.9-10.3-5.3-16.2l-50-8.3s32.7-5.5 47.4-8.1c-.3-4-.5-8.1-.5-12.4 0-17.3 3-32.9 8.5-45.1.7-1.7 1.5-3.3 2.4-4.8v-.6c-111.5 7.3-224 8.8-337.3 5.8-6-7.6-9.7-15.1-11.9-23.2-4.24 1.6-8.94 2.5-13.89 2.5-5.07 0-9.89-.9-14.22-2.7zm401.51 18.5c-.9 0-2 .3-3.9 2.2-2 1.8-4.3 5.1-6.3 9.6-4 9.1-6.9 22.7-6.9 37.8 0 2.2.1 4.4.2 6.5l20.9-18.7-17.1 41.8c.9 3 1.8 5.8 2.9 8.2 2 4.5 4.3 7.8 6.3 9.6 1.9 1.9 3 2.2 3.9 2.2.9 0 2-.3 3.9-2.2 2-1.8 4.3-5.1 6.3-9.6 4-9.1 6.9-22.7 6.9-37.8 0-15.1-2.9-28.7-6.9-37.8-2-4.5-4.3-7.8-6.3-9.6-1.9-1.9-3-2.2-3.9-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AxeSword;

impl IconShape for AxeSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.5 29.12l-8.1 11.4L359 67.16l8.1-11.44zm-88 5.04l24.2 45.36 1.8 1.29 14.8-40.36zm57.6 12.63l-16.4 44.8 40.7 28.81 35.3-31.54c-.9-.58-1.9-1.19-2.8-1.84zM59.83 48.56l10.84 45.83 29.63 2.6 2.7-29.63zM470.9 75.41c-5.6 4.71-12.2 8.59-19.5 11.74 5 46.45-14.7 83.45-45.2 109.75-26.5 22.9-60.9 38.4-95 47.9-2.5 4.8-5 9.2-7.4 13.1 41.5 5.4 93.2-21.2 129.2-60 19.8-21.3 34.8-45.9 41.1-69.2 5.2-19.4 4.7-37.42-3.2-53.29zm-351.3 8.71l-3 32.48-32.35-2.9 226.55 271 20-16.7 15.3-12.8zM434 93.09c-4.2 1-8.5 2-12.8 2.7-14.9 2.5-30.1 3.1-43.5.3l-41 36.61c4 7 5 15.7 4.5 24.5-.6 12.6-4.3 26.7-9.3 40.9-3 8.3-6.3 16.6-9.9 24.6 26.9-9.2 52.6-22.3 72.5-39.4 26.2-22.8 42.5-51.6 39.5-90.21zM274 107.4l-51.2 72.2 30.6 36.5 58.2-82.1zM173.8 248.8L34.53 445.2l37.53 26.6L204.3 285.3zm233 79.2L273.3 439.5l19.2 23.1L426 351zm-18.3 77.9l-35.3 29.4 39.7 47.6 35.3-29.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AztecCalendarSun;

impl IconShape for AztecCalendarSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 40.3l-42.7 102.4c6.5-2.1 13.3-3.8 20.2-4.9L256 92.78l22.5 45.02c6.9 1.1 13.7 2.8 20.2 4.9zm-85.7 49.84c-16.3.45-32.4 2.85-47.7 7.14 15.6 27.22 26.8 54.32 34.3 81.12 9.5-10 20.5-18.5 32.6-25.3l3-7.1c-7.8-21.2-16-42.5-22.2-55.86zm171.4 0c-6.2 13.36-14.4 34.66-22.2 55.86l3 7.1c12.1 6.8 23.1 15.3 32.6 25.3 7.5-26.8 18.7-53.9 34.3-81.12-15.3-4.29-31.4-6.69-47.7-7.14zM105.2 103.1c-16.47 6.5-31.6 15.3-44.4 26.5 14.2 16.8 24.4 38 31.6 56 8.2 20.5 12.3 37.1 12.3 37.1l4.8 19-17.5-8.8c-13.3-6.6-30.7-6.6-44 0-13.3 6.7-23 19-23 40s9.7 33.3 23 40c13.3 6.6 30.7 6.6 44 0l16.4-8.3-3.6 18.1s-4.1 20.5-12.3 45c-7.2 21.6-17.2 46.5-31.8 64.5 12.73 11.1 27.76 19.9 44.1 26.4 15.9-36.7 28.8-73.4 37-110-14.4-21.7-22.8-47.7-22.8-75.7 0-28.7 8.8-55.3 23.9-77.3-7.2-30.5-19.4-61.3-37.7-92.5zm301.6 0c-18.3 31.2-30.5 62-37.7 92.5 15.1 22 23.9 48.6 23.9 77.3 0 28-8.4 54-22.8 75.7 8.2 36.6 21.1 73.3 37 110 16.3-6.5 31.4-15.3 44.1-26.4-14.6-18-24.6-42.9-31.8-64.5-8.2-24.5-12.3-45-12.3-45l-3.6-18.1 16.4 8.3c13.3 6.6 30.7 6.6 44 0 13.3-6.7 23-19 23-40s-9.7-33.3-23-40c-13.3-6.6-30.7-6.6-44 0l-17.5 8.8 4.8-19s4.1-16.6 12.3-37.1c7.2-18 17.4-39.2 31.6-56-12.8-11.2-27.9-20-44.4-26.5zM256 153.9c-65.8 0-119 53.2-119 119s53.2 119 119 119 119-53.2 119-119-53.2-119-119-119zm-89 62h82v9c0 11-5.2 20.9-12.6 28.4-7.5 7.4-17.4 12.6-28.4 12.6s-20.9-5.2-28.4-12.6c-7.4-7.5-12.6-17.4-12.6-28.4zm96 0h82v9c0 11-5.2 20.9-12.6 28.4-7.5 7.4-17.4 12.6-28.4 12.6s-20.9-5.2-28.4-12.6c-7.4-7.5-12.6-17.4-12.6-28.4zm-75.4 18c1.2 2.3 2.8 4.6 4.8 6.6 4.5 4.6 10.6 7.4 15.6 7.4s11.1-2.8 15.6-7.4c2-2 3.6-4.3 4.8-6.6zm96 0c1.2 2.3 2.8 4.6 4.8 6.6 4.5 4.6 10.6 7.4 15.6 7.4s11.1-2.8 15.6-7.4c2-2 3.6-4.3 4.8-6.6zM161.5 296l94.5 15.8 94.5-15.8 6.5 16.4-101 67.3-101-67.3zm38.4 24.7l56.1 37.4 56.1-37.4L256 330zm-44.1 45.5c-8.3 33.1-20 65.8-33.8 98.2 15.5 4.4 31.8 6.8 48.2 7.3 7.1-16.1 17.5-46.9 26.5-75.3-15.5-7.4-29.4-17.7-40.9-30.2zm200.4 0c-11.5 12.5-25.4 22.8-40.9 30.2 9 28.4 19.4 59.2 26.5 75.3 16.4-.5 32.7-2.9 48.2-7.3-13.8-32.4-25.5-65.1-33.8-98.2zm-142.7 36.9c-3.2 10.1-6.5 20.4-9.8 30.3 3.5 3.4 8.8 6.6 15.8 9 7.9 2.8 17.5 4.5 27.5 5.2v-38c-11.6-.8-22.9-3-33.5-6.5zm85 0c-10.6 3.5-21.9 5.7-33.5 6.5v38c10-.7 19.6-2.4 27.5-5.2 7-2.4 12.3-5.6 15.8-9-3.3-9.9-6.6-20.2-9.8-30.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AzulFlake;

impl IconShape for AzulFlake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 16v99.3l119 118.9V120.1L128 16zm256 0L265 120.1v114.1l119-119V16zM16 128l104 119h114.2L115.3 128H16zm380.8 0l-119 119h114.1l104-119h-99.1zM120 265L16 384h99.2l119-119H120zm157.8 0l119 119h99.1l-104-119H277.8zM247 277.8l-119 119V496l119-104.1V277.8zm18 0v114.1L384 496v-99.2l-119-119z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BabyBottle;

impl IconShape for BabyBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M458.5 26.53c-8.8.12-18.1 2.88-25.1 6.84-12.5 7.02-23 28.72-29 43.11a64 48 45 0 0-54.3-3.36L438.9 162a64 48 45 0 0-3.4-54.4c14.4-5.9 36.1-16.52 43.1-28.97 7.5-13.11 10.7-34.58 0-45.26-5-5-12.3-6.95-20.1-6.84zM331.6 80.05L299 112.6 399.4 213l32.6-32.5zm-61 42.55c-13.5-.3-32.9 6-57.1 30.3L32.42 334c-3.54 3.5-5.85 9.7-5.85 16.2s2.31 12.7 5.85 16.2L145.6 479.6c3.5 3.6 9.7 5.9 16.3 5.9 6.5 0 12.7-2.3 16.2-5.9l4.9-5-27.5-27.5 12.8-12.8 27.5 27.5 21.1-21.1-27.5-27.5 12.8-12.8 27.5 27.5 21.2-21.1-50.2-50.2 12.8-12.8 50.2 50.2 21.1-21.2-27.5-27.5 12.8-12.8 27.5 27.5 21.2-21.1-27.6-27.6 12.8-12.8 27.6 27.6 21.1-21.2-50.2-50.1 12.8-12.8 50 49.9c35.6-39.2 23.1-64.5 16.4-71.1l-90.5-90.5c-3.1-3.1-10.1-7.4-20.6-7.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BabyFace;

impl IconShape for BabyFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.443 49.593c-9.011.085-18 1.243-25.056 3.412-7.057 2.17-11.811 5.395-13.676 8.17-7.133 10.617-9.076 19.519-8.1 27.63.977 8.11 5.102 15.92 12.159 23.443 9.846 10.495 25.39 19.81 42.857 26.955-7.836-14.753-11.888-28.818-10.357-42.717 1.826-16.589 11.956-31.077 29.351-43.768-.63-.174-1.186-.377-1.85-.533-7.244-1.703-16.316-2.676-25.328-2.592zm37.79 17.461c-14.638 10.454-20.887 20.609-22.075 31.4-1.474 13.394 5.377 30.64 20.887 52.175l14.023 19.468c12.6-8.667 25.012-12.72 36.782-12.959a54.52 54.52 0 0 1 5.888.2c15.544 1.368 29.047 8.774 41.418 17.423l-10.312 14.752c-11.223-7.846-21.99-13.307-32.684-14.248-10.693-.94-22.044 2.044-36.463 13.838l-11.394-13.932a102.983 102.983 0 0 1 5.824-4.43l-22.74-6.167c-28.693-7.783-56.841-20.93-74.742-40.012-8.951-9.54-15.368-20.858-16.903-33.607-.569-4.726-.43-9.582.42-14.502C121.752 105.216 73 177.51 73 262.775c0 110.751 82.246 199.637 183 199.637s183-88.886 183-199.637c0-97.123-63.252-177.427-146.768-195.72zM170.15 157.138c13.872.282 28.637 5.837 43.547 18.033l-11.394 13.932c-14.419-11.794-25.77-14.779-36.463-13.838-10.693.941-21.46 6.402-32.684 14.248l-10.312-14.752c12.371-8.649 25.874-16.055 41.418-17.424a54.52 54.52 0 0 1 5.888-.199zm-2.15 40c26.955 0 49 22.045 49 49s-22.045 48.998-49 48.998c-26.386 0-48.053-21.125-48.957-47.3a32.955 32.955 0 0 1 0-3.395c.904-26.175 22.571-47.303 48.957-47.303zm176 0c26.955 0 49 22.045 49 49s-22.045 48.998-49 48.998c-26.386 0-48.053-21.125-48.957-47.3a32.955 32.955 0 0 1 0-3.395c.904-26.175 22.571-47.303 48.957-47.303zm-176 17.998c-1.378 0-2.73.097-4.059.268C176.22 220.226 185 232.224 185 246.138c0 13.914-8.78 25.91-21.059 30.733 1.329.17 2.681.267 4.059.267 17.228 0 31-13.772 31-31s-13.772-31.002-31-31.002zm176 0c-1.378 0-2.73.097-4.059.268C352.22 220.226 361 232.224 361 246.138c0 13.914-8.78 25.91-21.059 30.733 1.329.17 2.681.267 4.059.267 17.228 0 31-13.772 31-31s-13.772-31.002-31-31.002zm-284.746 3.006c-14.197 2.45-23.466 7.41-29.065 13.145-7.967 8.162-9.918 18.531-7.39 30.328 3.681 17.18 18.154 35.225 36.076 43.775A235.517 235.517 0 0 1 55 262.775c0-15.287 1.47-30.215 4.254-44.633zm393.492 0A235.355 235.355 0 0 1 457 262.775c0 14.575-1.339 28.823-3.875 42.615 17.922-8.55 32.395-26.595 36.076-43.775 2.528-11.797.577-22.166-7.39-30.328-5.599-5.735-14.868-10.695-29.065-13.145zM152 231.136c-8.391 0-15 6.61-15 15.002 0 3.263 1.008 6.248 2.723 8.688l23.545-18.65c-2.732-3.099-6.734-5.04-11.268-5.04zm176 0c-8.391 0-15 6.61-15 15.002 0 3.263 1.008 6.248 2.723 8.688l23.545-18.65c-2.732-3.099-6.734-5.04-11.268-5.04zm-98.41 49.95c8 6.34 13.916 10.984 18.228 13.718 4.313 2.735 6.56 3.356 8.182 3.356 1.623 0 3.87-.621 8.182-3.356 4.312-2.734 10.228-7.378 18.228-13.718l11.18 14.103c-8 6.34-14.084 11.208-19.772 14.815-5.687 3.606-11.44 6.154-17.818 6.154-6.377 0-12.13-2.548-17.818-6.154-5.688-3.607-11.772-8.474-19.772-14.815zm-82.393 51.1h217.606l-4.336 12.046s-8.333 23.283-25.164 46.664C318.472 414.277 292.167 439.09 256 439.09c-36.167 0-62.472-24.812-79.303-48.193-16.83-23.38-25.164-46.664-25.164-46.664zM218 350.137v32h32v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BabyfootPlayers;

impl IconShape for BabyfootPlayers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 29.5c-6.557 0-12.898 3.62-18.146 10.924C104.604 47.728 101 58.51 101 70.596c0 12.085 3.605 22.866 8.854 30.17 5.248 7.303 11.59 10.923 18.146 10.923 6.557 0 12.898-3.62 18.146-10.924 5.25-7.304 8.854-18.085 8.854-30.17 0-12.086-3.605-22.868-8.854-30.172C140.898 33.12 134.556 29.5 128 29.5zm256 0c-6.557 0-12.898 3.62-18.146 10.924C360.604 47.728 357 58.51 357 70.596c0 12.085 3.605 22.866 8.854 30.17 5.248 7.303 11.59 10.923 18.146 10.923 6.557 0 12.898-3.62 18.146-10.924 5.25-7.304 8.854-18.085 8.854-30.17 0-12.086-3.605-22.868-8.854-30.172C396.898 33.12 390.556 29.5 384 29.5zm-235.736 93.912c-5.99 3.932-12.87 6.277-20.264 6.277-7.25 0-13.996-2.26-19.902-6.053l-2.67 2.67c.905 4.4 3.467 9.56 7.77 15.298 3.93 5.24 9.223 10.835 14.802 16.532 5.58-5.697 10.87-11.292 14.8-16.532 4.402-5.868 6.963-11.122 7.81-15.584l-2.346-2.608zm215.472 0l-2.345 2.61c.846 4.46 3.408 9.715 7.81 15.583 3.93 5.24 9.22 10.835 14.8 16.532 5.58-5.697 10.87-11.292 14.8-16.532 4.305-5.74 6.867-10.9 7.772-15.298l-2.67-2.67c-5.906 3.792-12.653 6.052-19.902 6.052-7.395 0-14.273-2.346-20.264-6.278zM88.998 134.826l-31.93 10.643c.077 28.387 1.13 55.42 13.496 82.132 43.338 13.938 71.534 13.938 114.872 0 12.367-26.712 13.42-53.745 13.496-82.133l-31.93-10.644c-2.11 6.28-5.692 12.1-9.803 17.58-6.577 8.768-14.837 16.963-22.837 24.963L128 183.733l-6.363-6.365c-8-8-16.26-16.196-22.836-24.964-4.11-5.48-7.693-11.3-9.802-17.58zm256 0l-31.93 10.643c.077 28.387 1.13 55.42 13.496 82.132 43.338 13.938 71.534 13.938 114.872 0 12.367-26.712 13.42-53.745 13.496-82.133l-31.93-10.644c-2.11 6.28-5.692 12.1-9.803 17.58-6.577 8.768-14.837 16.963-22.837 24.963L384 183.733l-6.363-6.365c-8-8-16.26-16.196-22.836-24.964-4.11-5.48-7.693-11.3-9.802-17.58zM18 146.5v36h22.44c-1.203-12.188-1.39-24.202-1.422-36H18zm198.982 0c-.03 11.798-.22 23.812-1.42 36h80.878c-1.203-12.188-1.39-24.202-1.422-36h-78.036zm256 0c-.03 11.798-.22 23.812-1.42 36H494v-36h-21.018zM73 247.24v63.45c5.94 4.56 14.298 7.316 23 7.316 8.627 0 17.07-2.6 23-7.086v-27.914h18v27.914c5.93 4.487 14.373 7.086 23 7.086 8.702 0 17.06-2.757 23-7.317v-63.45c-39.33 11.437-70.67 11.437-110 0zm256 0v63.45c5.94 4.56 14.298 7.316 23 7.316 8.627 0 17.07-2.6 23-7.086v-27.914h18v27.914c5.93 4.487 14.373 7.086 23 7.086 8.702 0 17.06-2.757 23-7.317v-63.45c-39.33 11.437-70.67 11.437-110 0zm-210 84.252c-7.228 3.056-15.142 4.514-23 4.514-7.847 0-15.77-1.42-23-4.45v27.364c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-27.428zm18 0v27.428c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-27.363c-7.23 3.03-15.153 4.45-23 4.45-7.858 0-15.772-1.46-23-4.515zm238 0c-7.228 3.056-15.142 4.514-23 4.514-7.847 0-15.77-1.42-23-4.45v27.364c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-27.428zm18 0v27.428c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-27.363c-7.23 3.03-15.153 4.45-23 4.45-7.858 0-15.772-1.46-23-4.515zm-274 48c-7.228 3.056-15.142 4.514-23 4.514-6.4 0-12.813-1.076-18.898-3.068 1.1 3.693 2.132 7.308 3.437 11.222 2.93 8.792 6.073 17.492 7.564 25.846H119v-38.514zm18 0v24.373c4.736-7.94 11.14-14.775 18.723-20.02-6.43-.438-12.806-1.85-18.723-4.353zm238 0c-7.228 3.056-15.142 4.514-23 4.514-6.4 0-12.813-1.076-18.898-3.068 1.1 3.693 2.132 7.308 3.437 11.222 2.93 8.792 6.073 17.492 7.564 25.846H375v-38.514zm18 0v38.514h30.896c1.49-8.354 4.634-17.054 7.565-25.846 1.306-3.914 2.34-7.53 3.438-11.223-6.085 1.993-12.497 3.07-18.898 3.07-7.858 0-15.772-1.46-23-4.515zM192 390.5c-25.512 0-46 20.488-46 46s20.488 46 46 46 46-20.488 46-46-20.488-46-46-46zM89 436.006v44h56.156C134.526 468.57 128 453.274 128 436.5c0-.166.01-.33.012-.494H89zm256 0v44h78v-44h-78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Backgammon;

impl IconShape for Backgammon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 32L16 496h96L64 32zm48 464h48c-20.053 0-37.38-12.205-44.943-29.55L112 496zm48 0h48l-3.057-29.547C197.38 483.798 180.053 496 160 496zm48 0h48c-20.052 0-37.38-12.202-44.943-29.547L208 496zm48 0h48l-3.057-29.55C293.38 483.794 276.053 496 256 496zm48 0h96L352 32l-48 464zm96 0h48c-20.053 0-37.38-12.205-44.943-29.55L400 496zm48 0h48l-3.057-29.55C485.38 483.794 468.053 496 448 496zM160 32l-28.914 279.512c8.12-5.97 18.12-9.512 28.914-9.512s20.795 3.542 28.914 9.512L160 32zm96 0l-40.016 386.82C224.877 406.25 239.516 398 256 398c16.486 0 31.123 8.254 40.016 20.826L256 32zm192 0l-18.373 177.605C435.31 207.288 441.51 206 448 206c6.49 0 12.69 1.288 18.373 3.605L448 32zm0 192c-17.227 0-31 13.773-31 31s13.773 31 31 31 31-13.773 31-31-13.773-31-31-31zm-27.273 71.648l-1.64 15.858c5.583-4.105 12.058-7.062 19.07-8.506-6.336-1.305-12.232-3.846-17.43-7.352zm54.546 0c-5.198 3.506-11.094 6.047-17.43 7.352 7.012 1.444 13.487 4.4 19.07 8.506l-1.64-15.858zM448 320c-17.227 0-31 13.773-31 31s13.773 31 31 31 31-13.773 31-31-13.773-31-31-31zm-324.387 63.732l-3.63 35.08c7.077-9.997 17.788-17.26 30.173-19.812-10.42-2.146-19.66-7.627-26.543-15.268zm72.774 0c-6.884 7.64-16.122 13.122-26.543 15.268 12.384 2.55 23.096 9.813 30.172 19.81l-3.63-35.078zm215.226 0l-3.63 35.08c7.077-9.997 17.788-17.26 30.173-19.812-10.42-2.146-19.66-7.627-26.543-15.268zm72.774 0c-6.884 7.64-16.122 13.122-26.543 15.268 12.385 2.55 23.096 9.815 30.172 19.813l-3.63-35.08zM448 416c-17.227 0-31 13.773-31 31s13.773 31 31 31 31-13.773 31-31-13.773-31-31-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Backpack;

impl IconShape for Backpack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M186.438 20.56l-13.184 26.365c6.8-.26 13.626-.488 20.47-.686l3.84-7.68h116.874l3.77 7.54c6.838.187 13.658.408 20.456.66l-13.102-26.2H186.437zm69.56 42.742c-45.757.056-91.452 1.566-135.38 4.363-3.24 50.58-8.4 100.987-.786 145.824 89.297 12.395 180.102 12.985 272.764-.054 7.055-30.988 5.117-84.68-1.04-145.89-43.974-2.893-89.73-4.3-135.558-4.244zm153.783 5.54c6.42 64.12 9.113 119.825-1.135 155.22l-1.61 5.56-5.726.842c-98.8 14.528-195.613 13.81-290.605.002l-6.285-.914-1.246-6.23c-9.89-49.49-4.085-102.785-.664-154.42-4.89.354-9.765.72-14.602 1.107-8.596 58.568-9.39 116.957-.05 175.292 110.24 12.088 222.275 12.205 336.203-.01 8.502-57.83 8.29-116.25-.017-175.313-4.725-.4-9.485-.776-14.262-1.14zM255.966 92.3c32.526-.025 65.067 2.746 97.574 8.39l7.46 1.295v7.572c0 15.554 1.683 35.105-12.69 50.25-9.912 10.444-25.655 17.337-51.31 20.585v18.164h-82v-18.452c-23.992-3.37-39.352-10.175-49.363-20.185C150.807 145.093 151 125.56 151 109.56v-7.594l7.484-1.278c32.444-5.54 64.955-8.362 97.48-8.386zm.012 17.994c-28.96.022-57.913 2.444-86.858 6.996.265 12.28 1.635 22.296 9.243 29.904 5.914 5.914 16.952 11.416 36.637 14.582v-29.22h82v29.51c21.367-3.115 32.66-8.755 38.254-14.65 7.033-7.41 7.696-17.502 7.73-30.124-29-4.63-58.006-7.02-87.007-6.998zM233 150.56v30h46v-30h-46zm209.674 92.42c-.503 3.625-1.042 7.25-1.61 10.87.214 2.352.42 4.706.63 7.06L471 290.213v-22.24l-28.326-24.995zm-373.485.12L41 267.973v22.24l29.318-29.318c.205-2.327.406-4.655.616-6.982-.618-3.605-1.202-7.21-1.745-10.813zm354.634 20.397c-10.29 1.09-20.564 2.076-30.824 2.967v74.095h16v66h-16v80.615c10.318-.633 20.63-1.313 30.928-2.082 9.445-74.01 6.478-147.698-.104-221.596zm-335.576.03C81.725 338.09 78.58 412.1 88.06 485.1c10.324.79 20.638 1.504 30.94 2.145V406.56h-16v-66h16v-74.024c-10.266-.902-20.517-1.903-30.752-3.01zm286.752 4.4c-10.014.76-20.014 1.424-30 1.992v70.64h30v-72.632zm-238 .085v72.547h30v-70.55c-10.015-.568-20.014-1.237-30-1.997zm190 2.825c-47.65 2.173-94.984 2.19-142 .078v19.314c23.95-5.165 47.8-7.652 71.516-7.59 23.638.06 47.145 2.654 70.484 7.626v-19.43zM68.05 288.62L41 315.67v56.89h23.06c.376-27.987 1.88-55.975 3.99-83.94zm375.948.047c2.12 27.872 3.61 55.83 3.957 83.892H471v-56.89l-27.002-27.003zm-187.52 11.95c-23.68-.063-47.487 2.577-71.478 8.052v31.89h16v18.443c17.033 5.346 31.73 8.493 46 9.426v-2.87h18v2.868c14.27-.932 28.967-4.08 46-9.425V340.56h16v-31.866c-23.42-5.267-46.907-8.016-70.523-8.078zM121 358.558v30h22v-23h18v23h22v-30h-62zm208 0v30h22v-23h18v23h22v-30h-62zM201 377.8v28.76h-16v15.857c48.528 10.865 95.713 10.664 142 .045V406.56h-16V377.8c-16.332 4.747-31.283 7.52-46 8.326v11.433h-18v-11.434c-14.717-.806-29.668-3.58-46-8.326zM41 390.56v14h23.14c-.09-4.667-.143-9.334-.163-14H41zm407.012 0c-.027 4.663-.083 9.33-.18 14H471v-14h-22.988zM137 406.56v19.798c6.137 7.214 11.222 9.77 14.934 9.844 3.734.075 8.697-2.122 15.066-9.79V406.56h-6v7h-18v-7h-6zm208 0v19.798c6.137 7.214 11.222 9.77 14.934 9.844 3.734.075 8.697-2.122 15.066-9.79V406.56h-6v7h-18v-7h-6zm-304 16v35.154c5.596 5.51 8.677 8.25 11.846 9.306 2.454.818 7.713 1.15 15.045 1.317-1.544-15.25-2.586-30.51-3.204-45.778H41zm406.27 0c-.628 15.224-1.674 30.483-3.21 45.78 7.358-.168 12.635-.5 15.094-1.32 3.17-1.056 6.25-3.795 11.846-9.306V422.56h-23.73zM185 440.842v49.498c47.55 1.51 94.877 1.446 142-.074V440.9c-46.316 10.03-93.74 10.185-142-.057zm-48 9.123v38.318c10.01.54 20.01 1.008 30 1.408v-39.678c-4.86 2.786-10.01 4.293-15.43 4.184-5.192-.104-10.036-1.624-14.57-4.232zm208 0v39.654c10.01-.403 20.01-.878 30-1.412v-38.194c-4.86 2.786-10.01 4.293-15.43 4.184-5.192-.104-10.036-1.624-14.57-4.232z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BackwardTime;

impl IconShape for BackwardTime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.242 24.629l-52.058 95.205 95.207 52.059 17.271-31.586-42.424-23.198A143.26 143.26 0 0 1 256 114c78.638 0 142 63.362 142 142s-63.362 142-142 142-142-63.362-142-142c0-16.46 2.785-32.247 7.896-46.928l-32.32-16.16C82.106 212.535 78 233.798 78 256c0 98.093 79.907 178 178 178s178-79.907 178-178S354.093 78 256 78c-13.103 0-25.875 1.44-38.18 4.148l22.008-40.25-31.586-17.27zm104.27 130.379L247 253.275V368h18V258.725l62.488-93.733-14.976-9.984z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bacon;

impl IconShape for Bacon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.4 28.4L119 38.25c-.3 4.16-.8 11.12-.7 19.39.1 12.84 2.3 27.87 6.4 34.46 7.3 11.6 20.3 18.1 35.8 24.9 15.5 6.8 33.1 13.5 46 28.6 15.6 18.4 25 39.6 32.5 61.2 4.1-3.4 8.3-6.9 12.1-10.5-8.6-22.6-18.6-43.7-33.8-61.1-8.3-9.2-21.3-14.5-35.5-20.5-14.3-6.1-30.2-13.1-39.8-28.69-8.9-14.14-10-33.01-9.9-48.92 0-3.07.2-5.9.3-8.69zM368 38.26c-3.4 1.07-7.9 2.67-14 5.28-9.5 4.1-20.4 10.46-23.9 14.85-10 12.71-13 29.86-15.3 49.21-2.5 19.3-4 40.6-15.3 59.5-33.4 55.9-96.1 81.3-130 127.8-21.7 29.7-49.7 95-56.7 111.7l22.1 14c2.6-7 8.5-22.4 16.1-40.3 10.5-24.3 23.6-52.8 36.8-71.2 18.7-26.5 44.2-45.7 68.2-64.7 24.1-19 46.6-37.7 61.1-62.3h.2c8-13.7 9.8-31.4 12-50.3 2.3-18.9 4.8-39.31 18-56.34 8.5-11.08 22.5-18.5 34.8-24.28 1-.53 2.2-1.02 3.2-1.51zM100.3 52.15l-13.08 9.74c-.16 4.01-.26 9.57 0 15.67.49 12.15 2.99 26.44 6.88 32.54 8.1 12.9 22.3 20.2 39 27.8 16.8 7.6 35.7 15.2 49.4 31.4 14.8 17.4 24 37.3 31.5 57.7 3.4-2.7 6.8-5.4 10-8.1-7.5-22.9-16.5-44.2-31.4-61.7-9-10.6-23.6-16.8-39.3-23.7-15.8-6.9-33.2-14.8-43.8-31.9-8-12.84-9-29.64-9.2-43.79v-5.67zM435 82.26c-4 1.14-9.5 2.84-15.5 5.09-11.7 4.38-24.7 11.44-29 16.95-9.4 11.8-11.2 27.9-12.2 46.4s-1.2 39.2-11.7 57.7c-15.8 27.6-40.3 46.5-64.1 64.4-23.9 18-47.4 35.1-62.6 57.8-12 17.8-25.3 49.7-34.9 76.7-8.7 24.7-14.7 44.5-15.7 47.9l13.2 8.4c2.8-9.7 6.6-23.4 11.6-38.6 9.4-29.1 21.9-63.1 36.5-85.1 18.2-27.5 45-46 70-64.2 25-18.2 48.5-36 62.5-60.7 6.9-11.9 7.4-28 8-45.5.7-17.4 1.9-36.8 14.5-52.6 9.7-12 25.5-18.34 39.2-23.02 1.8-.61 3.5-1.17 5.3-1.7zM41.6 95.74L26.55 106.9c0 3.4.1 8.1.62 14.3.86 10.2 3.42 22.2 6.46 27v.1c8.67 13.9 23.61 22.8 40.67 31.9 17.06 9.1 36 18.3 49.9 35.2 15.9 19.4 26.3 41.1 34.9 63.3 4.4-5.6 9.3-10.9 14.2-16-8-21-17-40.8-30.8-57.5-10.1-12.3-26.1-20.4-42.66-29.1-16.69-8.8-34.53-18.5-46.12-36.4-7.51-11.6-10.09-27-11.7-40.16-.16-1.29-.29-2.55-.42-3.8zm428.5 9.66c-4 .9-11.1 2.7-19.5 5.5-12.3 4.3-26.3 11.3-31 17.2-8.3 10.6-9.8 25.1-10.5 42.2-.6 17.1-.5 36.3-10.3 53.7-16.5 28.7-42.5 48-67.7 66.3-25.1 18.3-49.6 35.8-65.5 59.6-12.2 18.6-25.1 52.2-34.3 80.7-5.9 17.9-10.4 33.8-12.9 43.1l15.5 9.9c2.1-8.7 5.2-20.6 9.6-35.2 7.6-26.1 18.1-56.7 30.6-76.8 18.7-30.2 46.9-51.2 73.5-71.9 26.5-20.7 51.5-40.9 66.4-68.2 5.6-10.6 5.8-24.9 6.3-40.6.5-15.7 1.3-33.3 12.8-47.8 10.7-13.2 28.5-20.2 44-25.2 3-1 5.7-1.8 8.4-2.5zM328.3 338.3c-4 3.2-7.7 6.6-11.2 10 9.2 8.3 19.2 16.5 28.4 23.9 15.1 12 28 21.5 35.8 27.1l12.8-9.9c-7.3-5.1-17.3-12.2-29.5-21.4-11.8-9-24.8-19.3-36.3-29.7zm-23.8 22.9c-2.7 3.1-5.4 6.2-7.9 9.4 6.5 5.9 13.2 11.7 19.5 17 19.9 16.8 36.2 29.3 39.2 31.5l11-8.4c-8.2-5.9-19.5-14.4-32-24.5-9.7-7.7-20-16.2-29.8-25zM270.3 424c-2.7 7.6-5.3 15.4-7.7 22.9 11 10.9 20.4 19.7 25 24l18.5-14.2c-6-5.2-20.1-17.7-35.8-32.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BadBreath;

impl IconShape for BadBreath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.455 17.016l1.717 345.656c15.677 8.52 35.932 6.66 49.75-1.625 16.377-10.994 19.86-25.201 11.346-39.719C23.28 223.543 36.424 131.91 87.955 80.486c51.53-51.424 140.25-61.074 224.688-1.627 13.64 9.602 20.365 9.61 24.593 7.657 18.702-19.697 21.81-43.01 26.063-68.813zM192.08 56.295c-4.418.057-8.754.3-13.033.75l98.97 66.691 16.53-34.595C261.985 71.343 224.73 56.293 192.08 56.295zm222.44 11.06a12.86 12.86 0 0 0-3.666.649c-13.063 6.389-8.956 24.292-6.124 34.324-4.158 1.963-7.591 5.365-10.12 9.055-4.25 6.199-6.926 14.053-7.885 22.847-1.433 15.702 4.198 36.571 19.574 38.665 18.646-.32 26.357-20.765 27.6-35.34 11.739 11.885 32.68 23.59 45.173 11.619 11.144-14.748.83-32.292-9.181-42.354-9.272-8.11-19.986-15.22-31.756-13.851-4.028-9.687-12.146-25.91-23.615-25.614zM120.957 89.566l-3.73 17.61c57.04 18.075 102.46 11.942 144.98 59.682 15.383 17.271 33.365 57.686 53.016 69.8 32.681 12.43 53.701-6.904 81.691-12.902 37.77-.187 56.574 56.11 65.28 86.252l17.353-4.781c-14.027-43.894-48.127-105.21-86.27-99.1-21.857 3.607-51.379 24.162-68.85 15.064-12.645-16.527-33.477-59.212-45.416-71.924-54.314-42.71-91.503-45.302-158.054-59.7zm322.44 21.526c9.425 5.394 25.77 11.65 22.802 25.347.136-.023.176-.027.076.075-.1.1-.098.06-.076-.075-15.947 1.56-21.222-15.714-22.803-25.347zm-32.057 8.238c5.913 9.524 8.832 28.129-3.078 35.565.102.09.13.122-.012.107-.141-.015-.107-.041.012-.107-7.759-8.476-3.879-29.655 3.078-35.565zm-322.041 2.078l-7.338 16.436c49.115 25.31 108.604 49.194 151.504 88.33 20.722 23.473 27.135 60.83 51.875 75.26 20.624 13.592 58.792-6.191 75.812 3.017 29.144 25.403 43.935 56.729 57.233 92.516l16.94-6.086c-16.039-34.888-32.092-81.84-65.151-102.006-20.793-14.056-58.732 5.845-76.078-3.168-24.742-18.789-28.585-53.611-48.334-72.678-50.073-39.844-98.611-65.607-156.463-91.62zm-9.783 40.252L68 175.494s78.82 66.142 107.45 104.465c16.519 26.386 20.846 65.049 44.046 81.766 26.927 20.17 81.684-3.604 102.795 12.418 22.115 27.829 28.526 61.222 32.219 96.017l17.92-1.685c-6.519-35.668-11.242-84.852-38.825-108.332-27.252-22.923-80.876 1.677-103.87-13.223-23.15-20.998-23.657-55.409-39.866-77.734C157.864 226.344 79.516 161.66 79.516 161.66zm-17.782 32.856l.002.004v-.004zm.002.004c.081 32.477 9.462 69.047 31.094 107.84l22.125-13.126zm113.145 180.115c-20.795 3.241-45.16 21.84-43.932 43.533-11.214 3.854-30.078 12.365-26.533 25.762 5.607 13.416 23.722 10.372 33.902 8.136 1.714 4.268 4.908 7.896 8.442 10.64 5.937 4.607 13.62 7.741 22.344 9.218 8.723 1.476 17.007 1.046 24.13-1.352 7.124-2.397 14.19-7.448 15.621-15.908 1.432-8.46-3.578-15.55-9.515-20.158-8.078-5.154-16.073-8.394-24.137-9.477 7.187-5.969 14.071-14.446 17.004-22.283 2.555-7.068 2.996-15.741-2.736-22.125-3.941-4.389-9.272-5.992-14.59-5.986zM176 392.57c.012.004.035.031.076.077.095.105.055.102-.078.072-1.023 8.207-9.939 17.275-16.185 21.045-3.507-.307-7.321-.122-10.463.222 3.622-10.53 18.25-21.9 26.648-21.267-.009-.077-.014-.154.002-.149zm-3.053 51.162c7.58.111 14.604 2.256 18.055 7.91.096-.096.13-.122.105.018-.023.14-.045.106-.105-.017-9.297 6.526-28.506 2.379-35.322-5.17 5.143-1.682 11.373-2.827 17.267-2.74z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bagpipes;

impl IconShape for Bagpipes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M346.1 28.32l-2.4 15.62 49.6 9.79 2.5-17.13zm-93.5.65L203 37.59l2.9 15.55 50-7.17zm6.2 35.05l3.8 23.18c14.5 7.18 28.7 9.78 42.5 8.78 10-.7 19.6-3.1 29.3-6.67l3.4-20.91c-12 5.29-23.2 8.86-34 9.63-14.5 1.05-28.7-2.32-45-14.01zm97.9.84l-11.2 67.84 15.4 2.5L372.6 68zM241 66.28l-16 2.29 8.5 48.43 15.4-2.8zM50.92 92.98l-11.94 6.5 33.38 53.82 24.03-11.4c-18.13-14.7-33.54-31.5-45.47-48.92zm334.78 4.7l-5.4 30.72c3.8 6 8 10.9 12.9 14.8 8.2 6.6 18.2 9.8 29.2 10.5 1.4.1 2.9.1 4.4.2l5.2-12.5-13.9-6.3c-5.6-.9-9.8-2.7-13.7-5.9-6.4-5.1-12.4-15.1-18.7-31.52zm60.6 13.12l-5.9 14.7 45.9 20.9 6.5-16.1zM263 130l-36.9 6.5 2.4 14.6 37.2-5.9zm67 18.3l-2.6 14.6 37.1 6.7 2.5-15.2zm118.4.6l-18.1 43.2 14.3 5.9 18.3-42.5zm-344.9 9.5l-17.41 8.3 51.31 83.5c5.7-2.2 11.6-4.2 17.6-6.1zm153.8 6.4l-15.1 2.4 17.6 101.1c.3 1.4.8 2 2.2 2.6 1.3.7 3.6 1.1 5.7.7 2.1-.4 3.8-1.4 4.7-2.5 1-1.2 1.7-2.7 1.2-6.2zM337 183l-16.4 98.8c-.2 1.4.1 2.2 1.2 3.2 1 1.1 3 2.2 5.1 2.6 2.2.3 4.1-.1 5.3-.8 1.4-.9 2.5-2 3.2-5.5l16.7-95.6zm76.4 21.5l-5.8 13.6 34.5 15.2L448 219zm-2.8 34.6l-33.1 79.2c-.5 1.5-.4 2.2.4 3.5.7 1.3 2.4 2.8 4.4 3.6 1.9.8 3.9.9 5.4.4 1.4-.5 2.8-1.3 4.3-4.6l32.5-76zM289 245.7l2.4 14.5v.1c1.1 7.6-.8 14.9-4.9 20-4.1 5.1-9.8 8-15.6 9-5.7 1.1-11.7.4-17.1-2.3-5.4-2.8-10.2-8.2-11.6-15.1v-.1l-4.4-25.4c-9 .8-18 1.9-26.8 3.2 17.2 24.8 34.3 49.5 52.5 73.5 15.1-9.1 28.7-19.3 41.3-31.4-1.8-3.6-2.6-7.9-2-12.3v-.1l5.3-31.8c-6.3-.8-12.7-1.4-19.1-1.8zm-97.4 7.5c-22.8 4.8-44.4 11.7-63.3 20.2-13.4 6-26.7 22.6-35.88 38.1-8.83 14.9-13.72 27.6-14.04 28.4-1.53 6.9-1.04 11.5.1 14.4 1.17 3 3 4.9 5.8 6.5 4.55 2.6 11.84 3.4 17.42 3.1 10.1-15.4 17.2-26.1 27.5-34.2 11.1-8.6 24.8-13.1 47.2-17.9l7.8-1.7 2.6 7.5s5.6 15.9 14.9 34.8c16.7-6.5 31.9-13.1 46-20.4-19.7-25.9-37.9-52.5-56.1-78.8zm166.1 5.2l-4.6 26.2v.1c-1 5.1-3.2 9.6-6.3 13 4.1 6.5 8.3 12.6 12.8 18.3.2-1.4.6-2.8 1.1-4.1v-.1l18.7-44.7c-6.9-3.3-14.1-6.2-21.7-8.7zm64.1 38.8l-13.4 31.3v.1c-3.2 7.1-8.8 12.1-15 14.2-2.3.8-4.6 1.2-6.9 1.3 3.9 3.4 7.9 6.6 12.1 9.8 14-9.7 26.9-20.1 38.2-31.3-3.6-9.7-8.7-18.4-15-25.4zm-103.5 6.6c-13.4 12.9-27.9 23.8-43.7 33.5 16 20.2 33.1 39.7 51.9 58.1 19.7-9.8 38.8-20.1 56.5-31.2-19.9-16-37.2-34.4-52.3-58.6-2.2.2-4.4.1-6.6-.3-2-.3-3.9-.8-5.8-1.5zm123.6 38.8c-8.6 7.9-17.9 15.4-27.6 22.4 8.4 5.6 17.3 11.1 26.7 16.7 1-4.8 1.7-9.8 2-14.8.5-8.1.1-16.3-1.1-24.3zm-183.1 3.8c-15 8-31.2 15.2-48.6 22 9.2 15.9 20.5 31 30.7 37.4 8.9 5.6 18.8 11 29.5 16.1 12.9-6 26-12 38.8-18.1-18.3-18.4-34.9-37.7-50.4-57.4zm-187.86 27l-24.99 62.5 19.39 7.4 25.24-61.7c-5.06-.8-10.28-2.4-15.25-5.2-1.51-.9-2.98-1.9-4.39-3zm327.66 2.4c-18.3 11.9-37.9 22.8-58.1 32.9 13.6 12.2 28 24 43.7 35 10-2.1 19.1-5.8 26.9-11.3 10.9-7.7 19.2-19.4 24.6-32.9-13.1-7.8-25.6-15.5-37.1-23.7zm-75.5 41.4c-10.1 4.8-20.2 9.6-30.3 14.2 11.8 4.5 24 8.2 36 10.7 9.5 2 18.8 3.2 27.7 3.6-11.8-9.1-22.9-18.7-33.4-28.5zM38.31 452.3L19.24 465l45.86 18.7-2.26-22.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BallPyramid;

impl IconShape for BallPyramid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 50c-21.6 0-39 17.35-39 39 0 21.6 17.4 39 39 39s39-17.4 39-39c0-21.65-17.4-39-39-39zm-48 89c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm-144 90c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm-240 89.4c-21.65 0-39 17.4-39 39s17.35 39 39 39c21.6 0 39-17.4 39-39s-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zM64 409c-21.65 0-39 17.4-39 39s17.35 39 39 39 39-17.4 39-39-17.35-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm96 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BallerinaShoes;

impl IconShape for BallerinaShoes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.6 14.67c.5 4.53 1.1 9.7 1.5 16.34 1.1 15.45 1.7 35.77.8 56.37-.8 18.22-2.7 36.52-6.8 52.22 20 6.5 40.9 15.4 58.2 24.8.3-8.8.6-17.6 1-26.2-17.5-39.52-35-79.46-43.4-123.53zm29.7.12c11.2 55.18 38 105.41 60.3 159.61 15.1-5.3 30.4-9.4 45.7-12.9l-.6-1v-2.8c.7-45.5 2.6-97.35-6.4-142.91zM187.2 156.7c-.1.2-.2.4-.3.7 8.6 7.4 18.1 16.7 28 26.8 11.9 12.3 24 25.6 34.4 38.1.6-12.5 1-25 1.3-37.4-17-10.1-41.1-20.8-63.4-28.2zm-10.9 15.5c-2.5 2.2-5.2 4-8.2 5.4-1.3 39.3 5.1 75.5 17 107.8 25.6-9.6 45.5-24.1 59.9-39.6-11.2-14.8-27.3-33-43-49-9-9.3-18-17.8-25.7-24.6zm166.8 5.5c-16.7 3.8-33 8-49 13.5l-.1 1.7c-.7 8.3-1.3 16.6-1.8 24.9 6.6 6.6 13.9 12.8 21.7 18.6l.1-.1c9.3-14.2 19-28 27.4-38.8 2.5-3.1 4.9-5.9 7.2-8.5-1.7-3.8-3.6-7.5-5.5-11.3zm-195.9 1.2c-28.7-.1-49.28 6.3-51.95 30.9-3.35 30.8 75.55 202 69.25 261.7-2.9 27.8 42.5 25.5 58.3-2.8 11.6-20.8 13.1-48.2 11.6-74.1l-8-8.5c-46.8-49.3-78.6-121.9-76.4-207.2zm208.7 29.4c-.1.2-.2.3-.3.4-8 10-17.4 23.5-26.6 37.4-.1.2-.2.3-.3.5 11.6 7.3 24.3 13.9 37.8 19.4-1.4-20.1-4.8-39.4-10.6-57.7zm22.3 13.8c9.1 39.7 8.5 82.5 4.3 126.4-3.8 38.5-74.2 55.5-97.3-.2-8.3 58.5 10.2 88.8 37.3 127 14 19.6 52.3 24 64.8 4.2 27.1-43 18.5-85.7 12.7-134-5-41.3-1.4-87.8-21.8-123.4zm-87 19.2c-.2 10.4-.2 20.7.2 31 3.9-6.5 8.2-13.5 12.7-20.7-4.4-3.3-8.8-6.7-12.9-10.3zm27.8 20.5c-5.4 8.6-10.6 17-14.8 24.3-4.4 7.5-7.9 14.1-10.2 18.5 1 8.1 2.3 16.2 4 24.2 13 62.3 65.2 32.3 66.5 17.9 2.1-21 3.2-41.4 2.9-61.1-17.5-6.5-33.7-14.5-48.4-23.8zm-72.7 7.8c-14.5 12.8-32.7 24.3-54.4 32.4 10 22.6 22.8 42.8 37.5 60.4 9.1-29 14.1-60.6 16.9-92.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BalloonDog;

impl IconShape for BalloonDog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.4 49.03h-1c-1.7.1-3.4.52-4.9 1.25-8 3.79-12.7 13.76-13.8 27.34-1.1 13.57 2 29.58 6.7 40.08 5.7 12.6 17.6 28.6 30.7 39.4 1.9-2.9 4.2-5.4 6.7-7.6-16-18.6-24.3-40.6-29.9-60.21l17.4-4.96c5.6 19.47 13.7 40.07 28.6 55.97 1.7-.7 3.4-1.3 5.2-1.8 5.6-1.8 11.5-3.1 17.3-4-.2-.8-.3-1.7-.5-2.5-3.7-17.2-13-36.69-21.3-49.67-5.6-8.75-14.7-19.4-23.9-26.08-6.5-4.71-12.2-7.19-17.3-7.22zM42.93 131.8c-3.7.2-6.9 1.2-9.23 2.8-5.22 3.6-9.25 12-10.07 21.8-.82 9.9 1.7 20.4 5.93 26.3 3.99 5.4 12.79 10.7 21.95 12.8 5.19 1.2 10.28 1.3 14.58.5l13.4 18.1c-1.01 5.6-.61 12.8 1.13 20.4 3.56 15.7 12.61 33.3 20.98 43.9h.1c.7.9 1.5 1.8 2.3 2.8 2.7-4 6.1-7.6 9.9-10.6.4-.3.9-.7 1.3-1l-15.35-21.2 14.55-10.6 16.5 22.7c6.3-2.7 13.1-4.9 20.1-6.7.2 0 .4-.1.6-.1-4.4-6.8-9.1-13.2-13.2-18.5-7.3-9.2-17.9-21-28.1-28.4-5.1-3.6-10.1-6.1-13.95-6.9-1.45-.3-2.72-.4-3.88-.4-.39 0-.77 0-1.14.1h-.12l-11.1-15c1.45-3.5 2.35-7.8 2.53-12.3.36-9.2-2.37-19.1-6.43-24.7v-.1c-3.93-5.6-12.35-11.4-20.99-14-3.32-1.1-6.55-1.6-9.55-1.7H42.99zm369.57 19c-1.6 0-3.3 0-5 .1-10.1.3-21.6 1.7-31 4.7-6.3 2-11.6 4.7-15.1 7.7-3.4 2.9-5.2 5.8-5.7 9.7-1.3 11.1 6.9 22.5 21 32 14.1 9.4 33.3 15.6 47.1 16.1h.1c12.4.5 30.3-3.8 43.8-11.4 13.4-7.5 21.3-17.2 20.8-27.1-.3-5-2.3-8.9-6.3-12.8-4-3.9-10.1-7.4-17.4-10.2-14.6-5.7-33.5-8.3-47.6-8.7h-.1c-1.5 0-3-.1-4.6-.1zm6.1 13.1c17.2.1 32.3 3 46.8 6.4l-4.2 17.6c-24-5.8-46-9.6-78.7-1.7l-4.2-17.4c13.4-3.3 25.6-4.7 36.8-4.9h3.5zm-77.5 27.7c-2 1.5-4 3.1-6 4.9-11 10.1-20.6 25.1-24.9 37-1.5 4.3-2.7 9.5-3.4 15 3.4.5 6.9 1 10.3 1.6 7.7-17.1 18-33.1 29.8-48.4-2.3-3.2-4.3-6.5-5.8-10.1zm18.6 23.2c-9.9 12.8-18.3 25.9-24.7 39.5 11.1 3.2 21.3 7.6 29.8 14 1.7 1.3 3.4 2.7 4.9 4.3 5-5.7 8.9-11.7 11.3-17.2 2.8-6.7 4.5-15.8 4.8-25.2-6.6-2.8-13.1-6.3-19.1-10.3-2.4-1.6-4.7-3.3-7-5.1zm-104.5 48.5c-7 0-13.7 0-19.9.1-23 .3-54.8 1.5-79.9 7.9-12.5 3.2-23.2 7.7-30.3 13.4-7 5.6-10.6 11.6-10.8 20.5-.2 9.4 3.3 16.1 10.4 22.5 7 6.4 17.9 11.8 30.7 15.8 25.6 8.1 58.3 10.8 81.8 10.9 24.3.1 58.6-2.2 85.5-10.3 13.4-4.1 24.9-9.6 32.4-16.2 7.4-6.6 11.1-13.6 10.8-23.4-.3-9.7-4.3-16-12-21.8-7.7-5.9-19.4-10.4-32.9-13.4-20.3-4.5-44.6-5.8-65.8-6zm-22.9 14.5c25.6 0 54.9 2 87.9 5.1l-1.8 18c-43.5-4.2-80.4-6.3-109.2-4.3-28.7 2-48.9 8.3-60.3 18.8l-12.2-13.2c16.2-15.1 40.6-21.4 71.3-23.5 7.7-.6 15.8-.8 24.3-.9zm-130.1 50.3c-8.78 14-15.89 30.2-20.02 43-4.95 15.4-9.01 37.6-7.94 56.1.53 9.2 2.36 17.5 5.38 23.4 3.01 5.9 6.73 9.5 12.52 11.3 5.89 1.9 10.96 1.2 16.96-1.9 5.9-3 12.2-8.7 18.1-16 11.8-14.5 21.7-35.2 27.2-50.8 3-8.3 5.9-18.5 8.2-29-4.3-1.1-8.5-2.2-12.6-3.5-8-2.5-15.5-5.5-22.4-9.2-11.5 26.6-21.2 52.8-21.5 81.4l-17.99-.2c.33-33.8 11.99-63.4 24.49-91.6-4.2-3.8-7.7-8.1-10.4-13zm274.8 1.4c-2.7 4.5-6.1 8.4-10 11.9-5.3 4.6-11.3 8.5-18 11.7 5.8 27.4 21.6 46.2 38.5 67.3l-14 11.2c-16.2-20-34.1-41.2-41.4-71.6-1.4.4-2.8.9-4.2 1.3-3.5 1.1-7.1 2-10.7 2.9 4.1 18 11.8 36.3 19.4 49.4 7.3 12.6 20.4 28.4 34 38.4 6.8 5 13.7 8.5 19.7 9.8 6 1.4 10.8.9 15.5-1.9 6.1-3.6 9.5-8.7 11.4-16 2-7.2 2.2-16.6.7-26.7-2.9-20.2-12.1-43.2-20.8-58.9v-.1c-4.9-8.8-12-19.3-20.1-28.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bamboo;

impl IconShape for Bamboo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.72 25c3.76 42 3.72 84 0 126h44.22c-4.56-41.6-3.68-83.68.28-126h-44.5zm181.68 0c2.6 54.1 5.5 108.6.4 164.7h44.3c-5-54.5-3.7-109.52.3-164.7h-45zm113.2 0c4.6 31.51 3.6 62.88-.4 94h44.1c-2.4-31.33-2.4-62.67 0-94h-43.7zm116.5 36.46s-41.4 7.81-53.5 23.86c-3.2 4.61-5.9 12.32-3 17.18 3.1 4.8 10.7 5 15.8 3.3 18.3-6 40.7-44.34 40.7-44.34zM173 106.9s12 42.7 28.1 53.1c4.6 3.1 12.2 4.6 16.3.7 4.1-3.9 3.4-12 1.4-17.2-7.8-18.7-45.8-36.6-45.8-36.6zm261.4 6.9c-4.6.1-8.9.6-12.5 1.8-6.3 2.2-14.1 8.1-13.8 14.7.1 6.6 8.2 12 14.8 13.8 23.6 6.2 71.5-16.6 71.5-16.6s-35.2-14-60-13.7zM346.2 137c6.2 47.7 7.1 95.1.2 142h43.8c-4-47.4-3.5-94.8.2-142h-44.2zm67.4 18.9c-2.2.1-4.3.8-5.9 2.3-4.1 3.9-3.4 12-1.4 17.2 7.8 18.7 45.8 36.6 45.8 36.6s-12-42.7-28.1-53.1c-2.6-1.7-6.1-3-9.5-3h-.9zm-255 12.3c-13.1.2-23.2 1.3-23.2 1.3s40.3 34.6 64.7 34.8c6.7-.1 16-3.1 17.8-9.4 2.1-6.3-3.8-14.1-9.5-17.9-10.1-6.8-28.4-8.6-44.1-8.8h-5.7zm-106.59.8c4.41 42.1 3.92 84.1-.2 126h44.42c-3.9-42.3-4.92-84.4-.31-126H52.01zm181.49 32c3.3 52.1 3.5 104.7 0 158h44.6c-5-53.5-3.7-106 .3-158h-44.9zm-76.4 22.6s-38 17.9-45.8 36.6c-2 5.2-2.7 13.3 1.4 17.2 4.1 3.9 11.7 2.4 16.3-.7 16.1-10.4 28.1-53.1 28.1-53.1zm-25.6 72.1c-6.7.2-15 3.1-16.9 9-2.1 6.2 3.6 14.1 9.1 18 19.9 14 72.8 9.4 72.8 9.4s-39.3-35.6-63.7-36.4h-1.3zm214.2 1.3c2.8 36.5 3.6 73.2.2 110h43.9c-4.6-38-1.7-74.3.6-110h-44.7zM51.61 313c3.96 58.2 2.72 116.2-.2 174h45.21c-2.49-57.7-4.56-115.7-.28-174H51.61zM121 337.8c-3.8.1-7.5 1.3-9.4 4.3-2.9 4.8-.2 12.6 3 17.2 12.1 16 53.5 23.8 53.5 23.8s-22.4-38.3-40.7-44.3c-1.9-.6-4.2-1-6.4-1zm359.7 19.4s-52.9 5.1-69.9 22.5c-4.6 4.8-8.9 13.7-5.6 19.4 3.1 5.8 12.8 6.9 19.5 5.5 23.8-5.2 56-47.4 56-47.4zM234 377c3.6 36.7.4 73.9-.7 110h45.2c-1.7-35.8-5.7-72.4-.8-110H234zm182 45c-5.2 0-11.1 2.3-12.7 6.9-1.9 5.3 2.4 12.2 6.6 16 15.4 13 57.4 11.6 57.4 11.6s-30.1-32.5-49.2-34.4c-.7-.1-1.4-.1-2.1-.1zm-70 3c2.1 20.3 3.3 41 .6 62h42.8c-2.8-21.1-1.4-41.8.7-62H346z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BambooFountain;

impl IconShape for BambooFountain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 27.7v106c27.94 8.9 47.63 19.8 68.45 33.3-1.22-15.7.14-30.6 4.07-44.8 5.35-19.3 15.38-36.93 29.48-52.99C86.02 55.33 46.92 49.79 18 27.7zm119.5 48.97c-14.7 15.48-24.6 32.23-29.6 50.33-4.1 14.8-5.1 30.7-2.5 47.9 51.5 10.9 88.1 31.2 119.4 50.3-9.5-27.7-6.8-54.1 1.9-73.8 6-11.2 12.2-21 21.3-27.7-40.9-9.9-78.9-24.01-110.5-47.03zm152.9 65.93c10.5 9.8 16.9 27 16.9 45.6 0 29.6-16 53.7-35.8 53.7-13 0-25-10.6-31.3-27.6 1.3 4.4 2.9 8.9 4.9 13.4 10.5 23.5 27.2 31.3 49.2 35.6 19.2 3.8 41.8 3.7 63.9 7.5 5.5-37.1-4.3-67.1-21.1-89.9-12.7-17.3-29.7-30.2-46.7-38.3zm-13.2 134.9c11.6 76.3 7 130.2 6.1 209.1 11.3 5.9 18.9 2.7 26.7 0-3.2-28.5 3.1-56.9 5.7-85.4 3.2 28.2 10.1 55.3 5.7 85.4 33.3 9.6 63.4 5.5 64.1 0-1.9-73.7-18.6-124.5-17.2-195.2-6.7-1.6-14.1-3-20-3.8.1 13.3 0 26.5-4 40.4-6.1-13.5-6.9-27.6-7.5-41.7-9-.9-18.3-1.5-27.6-2.6 2.7 6.5 4.7 36.8 5.4 42.6 3.1 25.2-6.4 54.1-6.4 54.1-4.8-6.4-13.2-67.1-5.4-97.5-8.9-1.1-17.8-2.8-25.6-5.4zM388.7 310s-.5 27.8 5.3 40c2.8 5.8 13 12.6 18.6 8.6 6.7-4.8 1.9-17.6-2.4-24.6-5.6-9.1-21.5-24-21.5-24zm-50.6 37.6s12.1 37.4 13.9 56.9c1.5 16.7-2.2 50.2-2.2 50.2s-6.6-26.3-8.7-39.5c-3.6-22.7-3-67.6-3-67.6zm-66 80.6s-9 10.4-12.7 19.4c-2.8 6.9-4 18.6 1 21.8 4.6 2.9 11.2-5.6 12.8-11.2 3.5-11.8-1.1-30-1.1-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Banana;

impl IconShape for Banana {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M390 28.11c0 6.53-.1 12.92-.4 19.21 1.4-.1 2.7-.14 3.9-.16 9.7-.17 18.4 1.19 26.7 3 1.5-5.66 3.5-11.65 6.2-18.06-12.7.76-24.8-.73-36.4-3.99zm4 37.02c-1.7 0-3.5.15-5.4.32-5.4 72.95-26.6 128.45-56.7 171.25-36.5 52-85.5 85.2-132.7 109.6-47.1 24.6-92.7 40.7-122.34 57.8-14.79 8.6-25.29 17.4-30.55 26.3-3.3 5.6-4.98 11.3-4.54 18.3l23.93 8.1c61-12.1 145.2-42.8 215.1-89.1 40.7-26.9 76.6-59 100.5-95.2 23.9-36.3 36.1-76.4 30.2-120.8l17.9-2.3c6.4 49-7.4 93.9-33.1 133-25.8 39-63.4 72.5-105.6 100.4-70.4 46.6-153.4 77.6-216.72 90.8l-5.85 11c4.4 1.9 9.38 3.4 14.96 4.6 20.81 4.4 49.01 3.6 80.31-2.9 62.8-12.8 138.1-47.4 197.2-101 54-48.8 92.3-105.8 104.9-157 12.7-51.3 1.3-95.7-45.2-126.5l-3.9-2.51-.2-4.51c-.4-8.19-.6-17.02.5-26.95-7.4-1.67-14.8-2.84-22.7-2.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BananaBunch;

impl IconShape for BananaBunch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.3 24.08c0 6.53-.1 12.93-.4 19.21 1.4-.1 2.7-.14 4-.16 9.6-.18 18.4 1.19 26.7 3 1.5-5.65 3.5-11.64 6.2-18.04-12.8.74-24.9-.74-36.5-4.01zm4 37.02c-1.7 0-3.5.16-5.4.32-5.4 72.88-26.6 128.38-56.7 171.18-36.5 52.1-85.5 85.2-132.7 109.7-47.1 24.5-92.8 40.7-122.3 57.8-14.85 8.6-25.35 17.3-30.62 26.3-3.3 5.5-4.97 11.3-4.54 18.3l24 8.1C150 440.7 234.3 410 304.1 363.7c40.7-26.9 76.6-59 100.5-95.3 24-36.3 36.1-76.3 30.2-120.8l17.9-2.3c6.5 49.1-7.4 94-33.1 133-25.8 39-63.4 72.5-105.6 100.4-70.4 46.7-153.4 77.7-216.76 90.9l-5.85 11c4.42 1.9 9.41 3.4 15.01 4.6 20.8 4.3 48.9 3.6 80.4-2.9 62.6-12.8 138-47.4 197.1-101 54-48.8 92.4-105.9 105-157 12.7-51.3 1.3-95.7-45.3-126.5l-3.8-2.53-.3-4.51c-.4-8.19-.6-17.02.6-26.95-7.5-1.67-14.9-2.84-22.8-2.71zm-25.1 19.03C378.2 134 353.9 174 324.1 203.8c-39.1 39.1-87 60.9-132.2 75.6-45.1 14.8-87.9 23-116.37 33.7-14.21 5.4-24.55 11.4-30.04 17.9-3.21 3.7-5.18 7.5-5.72 12.4l19.73 9.2c48.5-2.6 114.1-14.7 174.8-37.3 39-22.4 77-51.4 106.2-93.1 25.4-36.2 44.5-82 51.7-142.07zm-42.3 59.37c-11.3 10.3-23.2 19.2-35.5 26.7-44.6 27.1-94.3 36.7-140.1 40.7-45.6 4-87.84 2.5-116.91 6.2-14.53 2-25.52 5.3-31.84 9.9-3.46 2.5-5.87 5.1-7.29 8.8l16.6 12c53.87 8.9 132.04 11.1 202.34-2 .6-.1 1.1-.2 1.7-.3 25.9-12.6 50.7-28.7 72.4-50.5 14.4-14.4 27.5-31.4 38.6-51.5zM36.49 262.3l-4.88 3.9c2.64 2 5.63 4 9.02 5.9 12.27 7 28.98 13.1 48.55 17.5 23.12-7 50.32-13.2 78.72-21.5-47.8 2.7-94.23 0-131.41-5.8zm104.31 98c-27.1 5.4-52.87 8.7-75.68 10.1l-4.94 6.3c3.32 1.7 7.05 3.3 11.23 4.7 5.28 1.7 11.19 3.2 17.61 4.3.7-.4 1.4-.8 2.11-1.2 14.27-8.3 31.27-16.1 49.67-24.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BananaPeel;

impl IconShape for BananaPeel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.004 28.59c-27.103-.228-59.62 3.852-85.3 11.76-13.603 4.19-25.234 9.464-32.825 15.035-7.592 5.57-10.564 10.6-10.603 15.332-.28 34.684 6.272 74.84 15.356 109.914 8.183 31.6 18.565 58.72 26.967 74.063l367.086-70.306c-1.167-5.557-3.892-15.144-10.04-30.635-2.507-6.32-12.206-13.61-28.44-18.856-16.236-5.245-37.98-8.552-61.41-9.914-46.86-2.722-100.836 2.32-133.308 11.666l-9.408 2.71-.023-.116c-4.746 3.855-8.45 8.89-9.192 13.295l-1.496 8.875-17.75-2.99 1.495-8.875c2.28-13.532 12.047-23.497 22.963-29.34-1.27-5.404-2.737-11.043-4.39-16.828l-2.668-.148c-8.39-.46-15.76 2.225-23.487 7.608-7.727 5.383-15.46 13.517-23.156 22.846l-5.73 6.943-13.883-11.456 5.728-6.944c8.155-9.885 16.756-19.196 26.752-26.16 8.978-6.254 19.37-10.56 30.828-10.855-2.477-7.444-5.162-14.87-7.988-22.043l-4.242.182c-21.626.93-29.778 3.125-48.686 19.216l-6.853 5.832-11.666-13.707 6.853-5.834c19.92-16.95 35.208-22.107 57.094-23.354-2.817-6.128-5.696-11.84-8.58-16.916zM459.02 202.842l-208.19 39.875 12.865 12.582 193.785-36.78 1.54-15.678zM209.26 250.68l-111.04 21.267 2.555 14.272 106.74-20.26 1.745-15.28zm6.898 67.187c-1.93.008-3.322.324-4.496.645 1.007 12.28 1.89 21.67 2.22 26.802.135 2.085.15 3.93.138 5.784 5.136-1.573 10.24-2.392 15.253-2.528 1.41-5.27 4.942-11.547 12.27-19.783.183-.285.252-.444.257-.375.006.09.015-.237-.63-1.074-1.287-1.674-5.192-4.53-10.03-6.442-4.838-1.91-10.546-3.048-14.98-3.03zm-153.174 46.27c-.936.143-1.622.452-2.5 1.345-1.18 1.202-2.628 3.658-3.654 7.282-2.052 7.246-2.28 18.665-.166 30.36 2.114 11.693 6.475 23.732 12.395 32.85 2.324 3.58 4.842 6.625 7.505 9.112 15.763-4.76 32.333-8.89 47.444-11.45-24.98-15.224-38.57-30.71-46.569-43.736-5.478-8.922-8.535-16.58-10.925-21.113-1.99-3.773-2.544-4.354-3.53-4.65zm168.97 1.773c-6.16-.012-12.7 1.703-19.94 5.326-2.462 1.232-4.116 3.314-5.463 7.98-1.348 4.664-1.838 11.484-1.476 19.26.724 15.547 4.603 34.716 7.23 51.08l2.882 17.936-16.014-8.572c-18.284-9.787-35.306-11.132-54.543-9.754-20.922 1.498-52.502 9.324-78.234 18.08-12.865 4.378-24.37 9.007-32.316 12.98-3.467 1.734-5.86 3.234-7.635 4.467 1.764 2.986 4.14 4.224 8.172 5.217 5.598 1.38 14.486.904 24.733-1.045 20.493-3.897 45.75-13.088 67.92-14.85 35.257-2.805 75.38 10.294 97.177 11.417 7.785.4 17.53 1.202 24.658.332 3.565-.435 6.33-1.335 7.64-2.14 1.097-.67 1.298-.95 1.478-1.755-.266-1.334-.757-3.473-1.473-6.292-1.533-6.03-3.872-14.574-6.338-23.683-4.93-18.22-10.373-37.42-11.28-48.15l17.165-4.48c14.838 32.71 20.124 55.845 23.88 69.555 1.88 6.855 3.6 11.144 4.57 12.47.967 1.328.13 1.122 3.237 1.122h.49l.48.053c7.68.833 28.17-2.197 45.196-5.883 17.027-3.686 31.438-7.666 31.438-7.666l.5-.137.51-.08c34.406-5.364 65.797 8.805 88.408 17.04 11.305 4.118 20.553 6.367 24.81 5.844 2.13-.262 2.894-.67 3.95-1.836.543-.6 1.174-1.598 1.79-3.04-19.358-13.836-68.408-45.78-102.544-49.49-11.62-1.264-25.05-1.387-36.828.805-11.777 2.193-21.532 6.655-27.288 13.49l-9.603 11.405-5.62-13.81c-12.367-30.39-27.037-55.573-42.538-69.596-9.69-8.765-18.912-13.582-29.182-13.602zm241.204 19.565c-19.144 11.233-45.09 23.978-73.46 36.513 10.647 2.604 21.453 6.62 31.908 11.352 32.338-10.455 41.97-22.153 44.207-30.647 1.52-5.77-.156-11.773-2.654-17.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BananaPeeled;

impl IconShape for BananaPeeled {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M389.7 23.58c-7.4 0-13.4 3.67-20.3 11.9-7.9 9.41-15.5 24.67-22.5 43.42-13.5 36.2-25.2 85.1-39.6 132 19.5 23.7 37.1 35.3 54.1 38.1 16.8 2.9 34.7-2.5 55.7-16.3 9.6-46.3 11.1-99.2 5.6-140.38-2.8-20.69-7.3-38.43-13-50.54-5.6-12.11-11.8-17.35-16.7-17.98-1.1-.15-2.2-.22-3.3-.22zM250.1 180.7c-2.7 0-5.4 0-8.1.1-7.2.2-14.6.8-21.8 1.7-29.2 3.5-57.9 12.3-77.5 24.8-18.5 11.8-28.3 25.3-27.1 41.9 3 .3 8.6.1 15.6-.9 14.2-1.7 34.3-5.7 55.7-8.5 4.8-.7 9.7-1.2 14.7-1.7 26.7-20.4 58-34.9 89.3-35.5 1.6-5.5 3.3-11 4.9-16.5-13.2-3.6-29-5.4-45.7-5.4zm190.2 21.2c-1.2 9.6-2.7 19.3-4.5 28.6 7.6 3.3 14.3 7.9 20.2 13.4 4.5-1.3 8.9-2.6 13-3.9 10.9-3.5 20-7.4 23.1-10 1.7-1.4 1.5-1.8 1.5-1.8 0 .1.2-.8-1.7-3.4l-.1-.1c-6.5-8.7-25.4-19.1-46.8-22.2-1.5-.2-3.1-.4-4.7-.6zm-148.1 18.8c-41.8.5-90.1 33.9-119 70-14.9 18.7-24.5 37.9-26.3 51.5-.9 6.7.1 11.7 2.2 15.2s5.5 6.2 12.5 8c4.7 1.1 14-2.5 26.2-12 12.2-9.6 26.5-23.8 42.3-38.2 30.3-27.7 66.9-57.3 109.4-54.4-16.2-7.4-31.8-20.8-47.3-40.1zm136 26.2c-22.7 15-44.6 22.8-66.5 20.2 9.8 5.7 17.6 14.6 23.5 24.7 8.9 15.3 14.8 33.7 20.5 51.5 5.7 17.7 11.2 34.7 17.8 46.4 6.7 11.6 12.9 17 22.7 16.9 8.7 0 15.6-6.1 21.1-19.1 5.5-13.1 8.3-32.1 7.1-51.8-1.1-19.8-6-40.2-14.5-56.7-7.8-15-18.3-26.3-31.7-32.1zm-95.6 31.7c-31.6.8-62.4 24.3-90.4 49.9-15.4 14-29.8 28.4-43.3 39-8.2 6.5-16.4 12.1-24.9 14.7-31.2 18.7-70 33.8-118.9 44.3.72 10 3.38 18.5 6.81 27.1 9.61-2.7 18.34-3.9 26.49-4.8l4.51-.5 3.08 3.3c37.81 41.2 83.41 45.3 132.01 24.7 48.6-20.6 98.8-67.5 138.5-128.6 5-7.7 9.6-15.2 14-22.7-3.3-9-6.8-17.2-10.9-24.1-5.4-9.4-11.2-15.8-18.5-19.3-6.9 19.7-17.8 45.5-36.5 71.2-30.3 41.5-81.6 83-168.9 100.1l-3.4-17.6c83.1-16.4 129.8-54.8 157.8-93.1 16.6-22.7 26.4-45.3 32.9-63.6zM37.35 430.1c-6.19 1.1-12.51 2.2-19 3.2 5.1 11 8.53 22.8 9.82 35.5 5.9-3.6 11.49-6.6 16.83-9-3.52-8.9-6.55-18.6-7.65-29.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bandana;

impl IconShape for Bandana {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M295.2 24.44c-65.6.74-123.5 49.54-142.3 103.66 11.8 1.9 23.5 3.6 35.2 4.6-12.2 2-24.4 4.2-37.9 4.4-16.1 10.6-11.7 21.5-3.3 32.1 28.4 4.5 59.5-.3 90.7-4.9-27.1 11-55.3 20.1-87.9 21.8 18.8 8.9 37.9 48.5 17.7 63.8 2.1 1 12.3 25.5 14.6 25.9 19.1 3.1 41.2-27.6 47.6-53.4 6.7-18.1 19.2-32 35.2-29.4 59.6 9.8 151.6-28.6 183.4-78.2 3.9-3.2 10.2-8.1-.3-13.7-18.8 6.3-38.6 10.3-59.9 11 20.1-6.2 39.2-13.88 57.9-22.84 8.5-16.72-8.4-31.31-24.4-26-31 25.57-65.7 46.74-108.6 58.54 35.8-19.8 67.1-43.21 97.7-69.74.1-7.23-10.2-17.81-27.1-11.13-28.2-11.92-61-16.32-88.3-16.49zM452.9 131c-6.6 34-146.1 93.3-162.2 77.4 0 0 18.7 31.9 12.3 32-7.6 3.9-10.5 6.1-12.6 7.3-4.2-7.4-4.8-21.1-11.3-28.2-13.9-13.4-28.8-2.2-32.2 8.3-7.6 23.4 22.7 64.3 47 56.8l5.8 17.1c-39.4 8.8-61.9-30.6-66.9-57.4-.1 27.2-29.6 41.8-43.6 46.5-2.6 31 6 69.4-19.2 93.7 34.3 52.1 56.4 85.4 136.4 93.3 7.5-26.9 20.3-57.7 55.8-77.7s65.3-12 81.6-32.1c4.4-5.6 7.1-13.2 8.2-22.8l-39-.8.3-18 39.2.8c-.9-15.4-2.7-25.9-5.1-40.4l36.2-.6c-1.4-22.1-12.9-60-30.8-73-2.6.3 16.3-34.4.1-82.2zm-318.2 64.6c-.4-.1-.8 0-1.2 0-19.4 4.6-19.2 31-13.4 42.9 11.2 8.3 36 5.6 43-6.3-1.7-13.5-16.4-36.4-28.4-36.6zm-32.3 31.6C23.64 232.4 1.759 362.5 57.83 369.7c-6.67-35.1 17.91-90.6 59.77-118.1-3.9-.9-18.42-19.7-15.2-24.4zm53.5 27.8c-3.3 4.1-23.7 4.5-29.9-.5-59.88 57.1-28.61 146-10.1 181.9 5.2-28.1 56.6-106.9 40-181.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bandit;

impl IconShape for Bandit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.2 34.57c-7.5 16.07-17.3 39.33-25.7 62.86-4 11.17-7.6 22.47-10.5 32.77 80.8 26 111.2 26 192 0-2.9-10.3-6.5-21.6-10.5-32.77-8.4-23.53-18.2-46.79-25.7-62.86-26.5 13.22-42.6 20.86-59.8 20.86-17.2 0-33.3-7.64-59.8-20.86zM32.28 139H27.34c-1.71 0-2.8.1-3.72.3l-.41.5c-5.12 6.8-6.92 12.6-6.92 17.8 0 5.1 1.9 10.3 6.14 15.9 8.48 11.1 26.73 22.9 50.92 32.5C121.7 225.4 193.1 237.4 256 237.4c62.9 0 134.3-12 182.7-31.4 24.2-9.6 42.4-21.4 50.9-32.5 4.2-5.6 6.1-10.8 6.1-15.9 0-5.2-1.8-11-6.9-17.8l-.4-.5c-2-.3-6-.5-11.4-.2-11.8.7-29.8 3.2-51.8 6.2-14.8 2-31.5 4.3-49.5 6.4.8 5.3 1.3 10.2 1.3 14.7v4.8l-4 2.7c-27.1 18-71.9 25.5-117 25.5-45.1 0-89.9-7.5-117-25.5l-4-2.7v-4.8c0-4.5.5-9.4 1.3-14.7-18-2.1-34.7-4.4-49.51-6.4-22.01-3-40-5.5-51.82-6.2-.93-.1-1.83-.2-2.69-.1zm123.32 8.6c-1.1 5.2-1.9 9.8-2.3 13.7 22.1 12.5 62.4 20.1 102.7 20.1 40.3 0 80.6-7.6 102.7-20.1-.4-3.9-1.2-8.5-2.3-13.7-81.3 25.9-119.5 25.9-200.8 0zM137 265.4c.2 14 1.9 27.4 4.9 40.2 14.5-.4 29.9-3.9 44.9-9.6 8.2-3.2 16.2-7 23.9-11.2-6.1 1-12.4 1.6-18.7 1.6-14.7 0-36.1-10.1-55-21zm238 0c-18.9 10.9-40.3 21-55 21-6.3 0-12.6-.6-18.7-1.6 7.7 4.2 15.7 8 23.9 11.2 15 5.7 30.3 9.2 44.9 9.6 3-12.8 4.7-26.2 4.9-40.2zm-112.1 15.3c1.7 24.1 20.9 41.5 45 58.5-36.2-5.4-59.3-20.8-68.5-51.2-13.7 9.7-29.5 18.3-46.2 24.8-19.2 7.4-39.7 11.7-59.6 10.6 8.3 10.7 15.7 20.5 22.4 29.7 25.2 19.2 45.7 36.8 102.7 45.4-24 3.7-51.2 6.2-72.5-.9 16 25.8 28.2 65.6 43.3 95.8h53c7.9-15.9 15-45.9 22.3-59.4-16.6 13.6-34.5 16.6-47.9 15.2 34.1-14.6 53.4-37.4 74-59.6 12.4-19.3 27.3-40.3 47.5-66.2-19.9 1.1-40.4-3.2-59.6-10.6-20.9-8.1-40.3-19.6-55.9-32.1zm219 18c-5.5 0-11.7.6-18.6 1.7-15.7 2.6-34.6 7.7-55.3 14.3l-1 1.3c-12.2 15.3-22.7 28.8-31.8 41.1 15.4 9.5 24.9 20.3 35 30.9-14.5-5.7-27.4-11.7-45.4-16.6-5.1 7.2-9.8 14-14.1 20.5 9.6 3.7 19.9 6.7 30.8 9.3 26.9 6.5 56 10.1 81.5 16.6-18-27.2-43.4-55.2-74.3-77 20.1-4.1 40.6-8.6 58.7-14.9 19.9-6.9 35.9-15.8 45.2-26.5-1.8-.2-3.4-.5-5.4-.6-1.7-.1-3.4-.1-5.3-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BangingGavel;

impl IconShape for BangingGavel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155 18L80.47 38.98l15.9 55.79L283.5 41.95 276.8 18zm105.5 48l-131 37 61.1 216.4 130.9-37zm53.3 52.9l-19.4 5.5 24 85 19.5-5.5zm-182.7 51.6l-19.5 5.5 24 85 19.5-5.4zm-30.9 27.6L18 221.3v54.3l96.5-27.4zm287.4 19.7l-55.7 34.7 6.5 24.6 28.4-8 24.4 89.6L171 421.3c-8.4-30-16.9-60-25.3-90l27.3-7.7-6.3-22.7-70.53-3.8L137 336.7 28.26 385.6s117.34 4.1 114.34 4.6c-3.1.5-31.3 84.4-31.3 84.4l88-45.2 22.9 64.3 70.6-76.4 94.4 49.7-24.7-70.9 113.5-5.6-77.7-53.7 94.6-66.3-113.4 3.5zM354 290.7l-187.3 52.9 15.7 55.9 187.2-52.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Banjo;

impl IconShape for Banjo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.2 23.61l-12.7 12.7 24.5 24.5c.5-1.2 1-2.3 1.5-3.5 2.4-6.6 4.1-12.4 4.9-15.5zm33.3 30.5c-.9 3-1.9 5.9-3.3 9.6-4 10.8-9.1 23.4-20.2 30.4-4 2.4-8.1 2.6-11.2 2.3-3.1-.3-5.6-1.1-7.5-1.6-1.7-.4-2.6-.6-3.2-.7-.6.9-1.2 2.2-1.6 4.5-.8 3.19-1 7.49-.8 11.59.1 6 .7 10.5 1.2 13.1l26.8 26.8c2.6.4 7.1 1 13 1.2 7.5.1 14.3-1.8 16-2.7-.1-.8-.2-1.4-.6-2.9-.5-2-1.3-4.5-1.7-7.6-.3-3.1 0-7.3 2.3-11.2 7-11.1 19.6-16.2 30.5-20.3 3.6-1.4 6.6-2.2 9.6-3.1l-16.4-32.89zm-67.2 3.4l-12.7 12.7 17.4 17.5c1.3-2.9 3-5.6 5.6-7.9 2.5-2.2 5.6-3.3 8.3-3.7zm128.9 60.99c-3.2.8-9.1 2.4-15.7 5-1.1.4-2.2.8-3.4 1.3l24.6 24.6 12.7-12.7zm-120.7 17.9L217.4 262.3l9.8 9.8 129-129zm86.3 15.5c-.4 2.8-1.5 6-3.8 8.5s-4.8 4.3-7.5 5.6l17.3 17.3 12.7-12.7zm-66.9 3.9L240 284.9l9.7 9.6 125.9-132zm-226.3 94.5c-30.4 0-60.87 11.6-84.13 34.9-46.53 46.5-46.53 121.7 0 168.3C105 500 180.2 500 226.8 453.5c35.8-35.9 43.9-88.5 24.7-132.2L156.8 416l14.9 14.9-12.8 12.7-90.46-90.5 12.73-12.7 14.75 14.7 94.78-94.7c-15.3-6.8-31.7-10.1-48.1-10.1zm60.6 23.2l-94.5 94.4 11.3 11.3 94.5-94.4zm24 24L132.7 392l11.2 11.2 94.6-94.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bank;

impl IconShape for Bank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.6L52 134.4h170v-56h68v55.094c2.53.258 5.04.567 7.54.906H460L256 25.6zm-16 70.8v57.38l-6.248 2.005c-14.24 4.573-26.103 11.94-36.07 22.322-17.686 18.425-26.735 43.597-26.735 77.368 0 33.38 8.89 58.507 26.282 77.144 10.118 10.787 22.11 18.3 36.477 22.83l6.293 1.984V420.4h32v-59.85l8.373-.587c9.6-.67 18.958-2.145 28.092-4.45 11.206-2.827 22.043-6.956 32.588-12.26V252.11h-61.035v19.974h30.955v49.576l-5.403 2.356c-4.373 1.906-9.156 3.264-14.322 4.152l-.08.014-.08.013c-5.003.768-10.33 1.133-15.988 1.133-21.365 0-39.558-7.483-51.834-22.228-11.08-13.308-17.89-27.01-17.89-51.625 0-24.844 7.066-38.687 18.532-51.912h.002c12.767-14.722 31.483-22.09 53.56-22.09 11.836 0 23.63 1.875 35.264 5.574 7.058 2.227 14.08 5.21 21.075 8.764v-32.35a138.957 138.957 0 0 0-26.992-9.155h-.006l-.008-.002c-8.43-1.94-17.185-3.16-26.287-3.65l-8.517-.458V96.4h-32zm-192 54v18h25v206H48v18h96v-18h-25v-206h25v-18H48zm320 0v18h25v206h-25v18h96v-18h-25v-206h25v-18h-96zm-327 258v30h181v-30H41zm249 0v30h181v-30H290zm-265 48v30h462v-30H25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Banknote;

impl IconShape for Banknote {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 119v274h466V119H23zm16 16h434v242H39V135zm72.285 18A64 64 0 0 1 57 207.297v97.418A64 64 0 0 1 111.297 359h289.418A64 64 0 0 1 455 304.703v-97.418A64 64 0 0 1 400.703 153H111.285zM256 176a48 80 0 0 1 48 80 48 80 0 0 1-48 80 48 80 0 0 1-48-80 48 80 0 0 1 48-80zm-9 32v14.057c-5.37 1.576-9.96 4.136-13.766 7.685-6.848 6.386-10.27 15.146-10.27 26.28 0 11.014 3.36 19.744 10.085 26.19 3.86 3.685 8.513 6.305 13.95 7.874V304h18v-12.32c3.475-.23 6.878-.712 10.203-1.463 4.78-1.08 9.392-2.698 13.834-4.858v-33.223h-27.762v11.937h10.873v13.418c-1.264.494-2.698.865-4.302 1.112-1.574.215-3.286.324-5.137.324-6.818 0-12.077-1.99-15.778-5.97-3.702-3.978-5.553-9.624-5.553-16.935 0-7.372 1.91-13.034 5.735-16.982 3.856-3.978 9.333-5.968 16.428-5.968 3.825 0 7.634.542 11.428 1.62 3.826 1.08 7.666 2.716 11.522 4.906v-14.3c-3.732-1.696-7.71-2.975-11.937-3.84-3.077-.632-6.263-1.03-9.555-1.198V208h-18zm-119 32a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm256 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Baobab;

impl IconShape for Baobab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.1 25.24c-1.5.02-3 .07-4.4.14-23.7 1.24-46.2 10.36-67.9 22.99-4.17 2.43-11.67 13.73-16.3 24.44-4.63 10.72-7.35 20.36-7.35 20.36l-1.35 4.77-4.74 1.42C55.37 104.3 42.02 110 33.67 116.5c-8.35 6.5-11.96 12.8-11.83 22.6.03 1.9 1.68 4.9 5.67 7.7 3.99 2.9 9.77 5.1 13.77 5.6 21.86 2.8 43.22-5.2 65.02-17.9 21.9-12.6 43.6-29.6 65.9-42.82l4.7-2.75 4.6 2.81C218 113.9 251.3 108.9 290.3 108c8.7-.2 23.6-3.1 35.9-6 12.2-2.97 22-5.84 22-5.84l4.4-1.32 3.7 2.91c18.6 14.85 34 30.55 48.1 40.65 14.1 10.1 25.2 14.4 39.3 9.9 6-1.9 11.7-8 15.6-16.6 3.9-8.5 5.7-19.1 4.9-27-1.8-18.64-18.4-40.46-35.8-46.63-3.6-1.25-15.4.37-25.3 3.85-9.8 3.48-17.8 7.66-17.8 7.66l-4.6 2.38-4.4-2.73s-9.1-5.71-20.9-11.84c-11.7-6.13-26.5-12.48-34.8-13.77-9.2-1.45-26.7.29-41 2.76-14.2 2.47-25.7 5.37-25.7 5.37l-4 1.03-3.4-2.4c-24.6-17.39-46.9-24.43-68-25.09l.1-.01c-1.5-.05-3-.06-4.5-.04zm2.4 85.06c-5.7 3.5-11.4 7.3-17.2 11.2 9.1 11.5 16.9 23.7 33.1 31.9-22.5 1-42.4-4.3-59.8-14-5.4 3.6-10.9 7-16.5 10.3 5.6 2.7 11.9 4.8 19.8 5.7-3.7 5.2-12.4 9.3-22.5 13-.4 6.7-7.9 19.4 20.9 11 8.8-2.6 15.2-10.1 17.9-17.1 32.8 10.3 48.9 8.1 44.6 34.7-16.3 99.9-23.5 216.9-15.6 286.4 2.4 20.8 130.2 19.2 131.2 0 5.6-116.5-14.5-212.7-26-312.6l24.5-9.2c10.1 11.3 3.9 9.9-6.8 21.1l10.5 12.4c10.6-16.4 23.6-22.7 13.5-39l30.7-10.7c15.9 19.2 19.3 17 40 11-1.6-1-3.3-2.1-4.9-3.3-12.7-9.1-24.9-20.8-38.1-32.2-15.1 9.3-47.4 24.5-70 26.8 3.4-7.4 7.5-14.7 10.6-22-2 .1-3.9.3-5.7.3-6 .1-12 .4-18 .6-1.8 6.5-4.5 12.9-11.4 18.8-15.9 3.3-39.3 5.5-49-7.5 5-3.4 11.9-7.3 17.5-11.9-8.2-.8-16.5-2.3-24.9-4.6-3.3 2.6-6.8 4.5-10.1 4.4-6.8-.1-14.1-9.3-18.3-15.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarStool;

impl IconShape for BarStool {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M116 41c-12.3 13.94-19.27 34.56-21.03 55.75C93.3 116.8 96.31 137 101.9 151h308.2c5.6-14 8.6-34.2 6.9-54.25-1.7-21.19-8.7-41.81-21-55.75H116zm13.9 128L90.2 487h29.9l39.7-318h-29.9zm222.3 0l39.7 318h29.9l-39.7-318h-29.9zM149.9 393l-2 16h216.2l-2-16H149.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barbarian;

impl IconShape for Barbarian {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.584 23.28c-18.284.166-34.4 4.378-48.488 12.285C120.92 51.38 102.008 80.7 87.62 117.445c-.637 1.623-1.254 3.282-1.874 4.936a433.13 433.13 0 0 0 16.73 6.654c.628-1.69 1.26-3.378 1.905-5.028 13.612-34.757 30.7-59.935 53.524-72.746 11.413-6.405 24.546-10.037 40.137-10.136 15.592-.1 33.64 3.335 54.884 11.06L256 53.3l3.076-1.116c42.486-15.45 72.195-13.735 95.02-.924 22.824 12.81 39.912 37.99 53.523 72.746.645 1.65 1.276 3.338 1.905 5.028a433.14 433.14 0 0 0 16.73-6.653c-.62-1.653-1.238-3.312-1.874-4.936-14.388-36.743-33.3-66.065-61.476-81.88C335.38 20.117 300.046 18.895 256 34.27c-21.502-7.506-40.977-11.15-58.416-10.99zm-16.145 85.35c-4.77 5.446-9.19 11.48-13.268 18.068-3.655 5.905-7 12.262-10.037 19.01l.16.035c.235-.005.47-.018.705-.018a32.61 32.61 0 0 1 13.77 3.05 439.41 439.41 0 0 0 49.494 6.62c-15.17-15.56-29.05-32.14-40.825-46.764zm157.474 10.652c-9.547 9.597-17.313 20.762-23.076 33.34a438.226 438.226 0 0 0 23.387-3.846 32.61 32.61 0 0 1 13.775-3.05c.236 0 .47.012.705.017l.16-.035c-3.036-6.748-6.382-13.105-10.037-19.01a147.53 147.53 0 0 0-4.914-7.416zM37.727 138.725l22.34 22.34 7.445-22.34zm406.76 0l7.447 22.34 22.34-22.34zM85.526 141.61l-10.187 30.564c17.367 6.233 34.72 11.564 52.062 16.002-.906-3-1.4-6.17-1.4-9.45 0-7.88 2.816-15.144 7.486-20.84a453.046 453.046 0 0 1-47.96-16.276zm340.95 0a452.977 452.977 0 0 1-47.967 16.267c4.673 5.7 7.492 12.966 7.492 20.848 0 3.276-.492 6.444-1.396 9.44a579.07 579.07 0 0 0 52.058-15.99zM159 163.725c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm194 0c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm-31.78 6.184a454.296 454.296 0 0 1-12.21 1.585c-2.643 9.64-4.27 19.926-4.8 30.808a509.808 509.808 0 0 0 23.265-2.752c-4.663-5.694-7.475-12.953-7.475-20.825 0-3.05.43-6.005 1.22-8.816zm-130.433.014a32.614 32.614 0 0 1 1.213 8.8c0 7.875-2.813 15.136-7.48 20.83a510.61 510.61 0 0 0 34.617 3.73c.32-6.48-3.405-30.475-3.405-30.475a456.76 456.76 0 0 1-24.945-2.886zm51.604 4.64l-8.644 6.897 13.88 83.265h16.75L275.4 198.57c-11.192-6.3-22.285-14.618-33.01-24.007zM66.28 188.16c-15.22 63.397-26.077 137.993-43.05 211.542l-1.8 7.804 7.543 2.696a14845.52 14845.52 0 0 0 43.41 15.453 417.662 417.662 0 0 1 12.77-4.47c5.114-1.703 10.176-3.32 15.11-4.903-17.488-6.054-36.565-12.83-57.777-20.403C58.5 324.755 69.37 253.65 83.47 194.134a613.683 613.683 0 0 1-17.19-5.974zm379.44 0a613.688 613.688 0 0 1-17.19 5.975c14.1 59.517 24.97 130.62 40.984 201.744-21.212 7.57-40.29 14.348-57.776 20.402 4.933 1.582 9.995 3.2 15.108 4.904a417.657 417.657 0 0 1 12.77 4.47c13.545-4.79 27.904-9.916 43.41-15.454l7.544-2.696-1.8-7.804c-16.973-73.55-27.83-148.145-43.05-211.54zm-305.408 21.694c-2.188 15.23-3.312 31.277-3.312 47.87 0 48 .646 86.742 14.814 111.536 7.085 12.397 17.22 21.812 33.647 28.657 16.428 6.844 39.29 10.808 70.54 10.808 31.25 0 54.112-3.964 70.54-10.808 16.426-6.845 26.56-16.26 33.646-28.657C374.354 344.466 375 305.725 375 257.725c0-16.594-1.124-32.64-3.313-47.87-27.274 6.046-54.568 9.943-81.87 11.71l-2.413 14.484c21.605 2.345 46.537-6.993 77.395-18.737l6.4 16.824c-7.816 2.975-15.448 5.92-22.948 8.63 4.365 3.607 7.7 8.663 7.7 14.958 0 8.2-5.652 14.307-11.88 17.834-6.228 3.526-13.82 5.31-22.095 5.31-8.275 0-15.868-1.784-22.096-5.31-6.227-3.528-11.88-9.635-11.88-17.835 0-1.182.13-2.316.35-3.41a79.073 79.073 0 0 1-3.92-.416l-4.805 28.825h-47.25L227.57 253.9c-1.305.168-2.612.31-3.92.415.22 1.094.35 2.228.35 3.41 0 8.2-5.653 14.307-11.88 17.834-6.23 3.526-13.822 5.31-22.097 5.31-8.274 0-15.867-1.784-22.095-5.31-6.228-3.528-11.88-9.635-11.88-17.835 0-6.295 3.335-11.35 7.7-14.96-7.5-2.707-15.132-5.653-22.95-8.628l6.403-16.824c30.86 11.744 55.79 21.082 77.396 18.736l-2.414-14.485c-27.3-1.767-54.595-5.664-81.87-11.71zm-36.177 6.512c-.22.01-.53.215-.754.254-9.218 30.762-5.474 47.118.24 66.853l15.38 7.69v-62.618c-4.425-6.463-8.398-9.97-11.084-11.224-1.486-.692-2.616-1.015-3.78-.954zm303.73 0c-1.165-.06-2.295.262-3.78.955-2.687 1.254-6.66 4.762-11.085 11.225v62.618l15.38-7.69c5.715-19.735 9.458-36.09.24-66.853-.226-.04-.535-.243-.755-.254zM190.023 252.58c-5.52 0-10.413 1.38-13.224 2.973-2.023 1.145-2.54 1.945-2.68 2.172.14.227.657 1.027 2.68 2.172 2.81 1.592 7.704 2.973 13.223 2.973 5.52 0 10.415-1.38 13.227-2.973 2.022-1.145 2.538-1.945 2.68-2.172-.142-.227-.658-1.027-2.68-2.172-2.812-1.592-7.707-2.972-13.227-2.972zm15.907 5.145c.055.09.07.11.07 0s-.015-.09-.07 0zm-31.81 0c-.056-.09-.07-.11-.07 0s.014.09.07 0zm147.857-5.144c-5.52 0-10.415 1.38-13.227 2.973-2.022 1.145-2.538 1.945-2.68 2.172.142.227.658 1.027 2.68 2.172 2.812 1.592 7.707 2.973 13.227 2.973 5.52 0 10.413-1.38 13.224-2.973 2.023-1.145 2.54-1.945 2.68-2.172-.14-.227-.657-1.027-2.68-2.172-2.81-1.592-7.704-2.972-13.223-2.972zm15.904 5.145c.056.09.07.11.07 0s-.014-.09-.07 0zm-31.81 0c-.055-.09-.07-.11-.07 0s.015.09.07 0zm-91.07 32h18s.124 6.12 3.05 11.975c2.927 5.853 6.95 11.025 19.95 11.025s17.023-5.172 19.95-11.025c2.926-5.854 3.05-11.975 3.05-11.975h18s.124 9.88-4.95 20.026c-5.073 10.147-17.05 20.975-36.05 20.975-19 0-30.977-10.828-36.05-20.974-5.074-10.146-4.95-20.025-4.95-20.025zm41 53.178c21.138 0 42.276 4.093 66.846 12.283l-5.692 17.078c-46.86-15.62-75.447-15.62-122.308 0l-5.692-17.078c24.57-8.19 45.708-12.283 66.846-12.283zm-94.244 62.674a30.333 30.333 0 0 1-1.297 1.53c-5.123 5.61-11.71 9.69-19.056 13.228-14.692 7.073-32.843 12.024-50.558 17.93-17.716 5.904-34.85 12.754-46.82 22.064-9.73 7.565-16.135 16.173-18.22 28.395H173.81c12.59-6.51 23.538-11.936 30.553-17.66 7.39-6.03 10.754-11.19 10.635-21.232l18-.215c.18 15.237-7.198 27.185-17.256 35.392a81.47 81.47 0 0 1-4.953 3.715h90.42a81.47 81.47 0 0 1-4.954-3.715c-10.058-8.207-17.436-20.155-17.256-35.392l18 .215c-.12 10.042 3.246 15.203 10.635 21.232 7.015 5.724 17.962 11.15 30.553 17.66h148.007c-2.086-12.222-8.492-20.83-18.22-28.396-11.97-9.31-29.105-16.16-46.82-22.066-17.716-5.905-35.867-10.856-50.56-17.93-7.345-3.536-13.932-7.618-19.054-13.228-.45-.493-.878-1.006-1.296-1.53-5.047 3.394-10.633 6.395-16.783 8.958-19.572 8.155-44.71 12.19-77.46 12.19-32.75 0-57.888-4.035-77.46-12.19-6.15-2.563-11.737-5.564-16.784-8.957z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barbecue;

impl IconShape for Barbecue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.9 20.47s-8.8 4.49-17.7 11.17c-4.4 3.33-8.9 7.22-12.6 11.86-3.7 4.64-7 10.4-6.5 17.52.5 8.44 6.3 14.78 12.1 18.4 5.9 3.63 12.2 5.75 18.1 7.83 5.9 2.08 11.3 4.13 14.4 6.1 3 1.97 3.3 2.49 3.4 4.1 0 0-.4 1.52-2.5 3.85-2.1 2.2-5.6 4.9-9.2 7.2-7.3 4.5-14.8 7.6-14.8 7.6l6.8 16.6s8.7-3.5 17.5-9.1c4.4-2.7 9-6 12.8-10.1 3.9-4.2 7.4-9.6 7.2-16.53-.2-8.46-5.9-15.06-11.6-18.74-5.8-3.68-12.1-5.8-18-7.88-5.9-2.09-11.4-4.14-14.6-6.15-3.2-2.01-3.7-2.78-3.8-4.38 0-.41.5-2.41 2.7-5.18 2.2-2.77 5.7-5.94 9.4-8.72 7.4-5.57 15.1-9.55 15.1-9.55zm-112 18s-8.8 4.49-17.7 11.17c-4.4 3.33-8.9 7.22-12.6 11.86-3.7 4.64-7 10.4-6.5 17.52.5 8.44 6.3 14.78 12.1 18.4 5.9 3.58 12.2 5.78 18.1 7.78 5.9 2.1 11.3 4.1 14.4 6.1 3 2 3.3 2.5 3.4 4.1v.1s-.4 1.5-2.5 3.8c-2.1 2.2-5.6 4.9-9.2 7.2-7.3 4.5-14.8 7.6-14.8 7.6l6.8 16.6s8.7-3.5 17.5-9.1c4.4-2.7 9-6 12.8-10.1 3.9-4.2 7.4-9.6 7.2-16.5-.2-8.5-5.9-15.06-11.6-18.74-5.8-3.68-12.1-5.8-18-7.88-5.9-2.09-11.4-4.14-14.6-6.15-3.2-2.01-3.7-2.78-3.8-4.38 0-.41.5-2.41 2.7-5.18 2.2-2.77 5.7-5.94 9.4-8.72 7.4-5.57 15.1-9.55 15.1-9.55zm218 0s-8.8 4.49-17.7 11.17c-4.4 3.33-8.9 7.22-12.6 11.86-3.7 4.64-7 10.4-6.5 17.52.5 8.44 6.3 14.78 12.1 18.4 5.9 3.58 12.2 5.78 18.1 7.78 5.9 2.1 11.3 4.1 14.4 6.1 3 2 3.3 2.5 3.4 4.1v.1s-.4 1.5-2.5 3.8c-2.1 2.2-5.6 4.9-9.2 7.2-7.3 4.5-14.8 7.6-14.8 7.6l6.8 16.6s8.7-3.5 17.5-9.1c4.4-2.7 9-6 12.8-10.1 3.9-4.2 7.4-9.6 7.2-16.5-.2-8.5-5.9-15.06-11.6-18.74-5.8-3.68-12.1-5.8-18-7.88-5.9-2.09-11.4-4.14-14.6-6.15-3.2-2.01-3.7-2.78-3.8-4.38 0-.41.5-2.41 2.7-5.18 2.2-2.77 5.7-5.94 9.4-8.72 7.4-5.57 15.1-9.55 15.1-9.55zM46 169.5v17.8h438v-17.8zm1.51 35.8C53.14 263.5 112.6 347.5 230 347.5s176.9-84 182.5-142.2zm74.79 133.6l-15.6 72.8c7.1.7 13.9 3 19.8 6.4l15-69.9c-6.7-2.8-13.1-5.9-19.2-9.3zm215.4 0c-6.1 3.4-12.5 6.5-19.2 9.3l30.7 143.1c5-.2 13.4-.5 16-1.4 1.8-.6 2.6-1.2 3-1.7.3-.5.7-1.3.8-3.2zM102 429.3c-17.3 0-31.05 13.8-31.05 31.1S84.7 491.5 102 491.5s31.1-13.8 31.1-31.1-13.8-31.1-31.1-31.1zm47.7 20.2c.8 3.5 1.2 7.2 1.2 10.9 0 2.3-.2 4.6-.5 6.9h175.4l-3.8-17.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barn;

impl IconShape for Barn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.38L89.844 89.845l-64.9 162.254 14.85 5.943c20.312-50.766 40.62-101.535 60.93-152.304l1.432-3.58L256 40.616l153.844 61.54 1.43 3.58 60.93 152.305 14.853-5.942-64.9-162.254C366.77 67.69 311.386 45.534 256 23.38zm0 36.624l-139.996 55.998L72.8 224h.2v263h78V329h-39v-18h297v176h30V224h.2c-14.402-36-28.802-72-43.204-107.998L256 60.004zM151 135h210v114H151V135zm23.563 18L199 201.873V153h-24.438zM313 153v48.873L337.438 153H313zm-144 29.127V231h24.438L169 182.127zm174 0L318.562 231H343v-48.873zm-98.73 18.69c-1.207-.02-2.31.02-3.288.128-2.823.31-10.76 3.708-16.86 7.3-2.796 1.645-5.23 3.22-7.122 4.484V231h78v-16.97c-4.193-1.675-10.334-4.02-17.578-6.368-11.206-3.63-24.71-6.71-33.152-6.846zM160 263h192v18H160v-18zm15.16 66L208 389.205 240.84 329h-65.68zm144 0L352 389.205 384.84 329h-65.68zM169 355.295v105.41L197.748 408 169 355.295zm78 0L218.252 408 247 460.705v-105.41zm66 0v105.41L341.748 408 313 355.295zm78 0L362.252 408 391 460.705v-105.41zm-183 71.5L175.16 487h65.68L208 426.795zm144 0L319.16 487h65.68L352 426.795z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barracks;

impl IconShape for Barracks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M127.596 26.436C111.219 26.126 90.368 38.184 78 32v64c16.008 8.004 48.437-15.563 64 0 16 16 40.004 7.996 48 0V32c-7.755 7.755-32 16-48 0-3.985-3.985-8.946-5.462-14.404-5.564zM39 32v254.373c5.412-12.05 11.43-23.452 18-34.172V32H39zm217 121C135.23 153 28.575 256.151 25.162 439H208V336c0-32 96-32 96 0v103h182.838C483.425 256.151 376.769 153 256 153zm0 26.938l36.025 18.011-8.05 16.102L256 200.063l-27.975 13.988-8.05-16.102L256 179.937zm0 38l36.025 18.011-8.05 16.102L256 238.063l-27.975 13.988-8.05-16.102L256 217.937zm0 38l36.025 18.011-8.05 16.102L256 276.063l-27.975 13.988-8.05-16.102L256 255.937zM80 336h96v48H80v-48zm256 0h96v48h-96v-48zm-80 39v18h32v-18h-32zM25 457v16h158v-16H25zm176 0v16h110v-16H201zm128 0v16h158v-16H329z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarracksTent;

impl IconShape for BarracksTent {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 28v80h18V28zm35 0v64l80-32zm-26 96c-48 48-144 112-192 128 0 64-16 208-32 240h160c16-16 64-144 64-192 0 48 48 176 64 192h160c-16-32-32-176-32-240-48-16-144-80-192-128zM112 300h80v80h-80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barrel;

impl IconShape for Barrel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-43.696 0-83.28 3.58-111.37 9.197-14.047 2.81-25.26 6.196-32.21 9.483-3.476 1.643-5.842 3.293-6.88 4.306l-.013.014.014.014c1.038 1.013 3.404 2.663 6.88 4.306 6.95 3.287 18.163 6.674 32.21 9.483C172.72 83.42 212.303 87 256 87s83.28-3.58 111.37-9.197c14.047-2.81 25.26-6.196 32.21-9.483 3.476-1.643 5.842-3.293 6.88-4.306l.013-.014-.014-.014c-1.038-1.013-3.404-2.663-6.88-4.306-6.95-3.287-18.163-6.674-32.21-9.483C339.28 44.58 299.697 41 256 41zm-80 15a32 8 0 0 1 32 8 32 8 0 0 1-32 8 32 8 0 0 1-32-8 32 8 0 0 1 32-8zm-75.168 26.594c-2.832 12.035-7.414 32.162-12.05 55.28 16.735 4.338 33.52 7.99 50.327 10.995 2.988-17.203 6.707-34.438 11.27-51.708-3.186-.547-6.3-1.113-9.282-1.71-14.91-2.98-27.13-6.49-36.37-10.86-1.363-.644-2.656-1.307-3.896-1.998zm310.336 0c-1.24.69-2.533 1.354-3.895 1.998-9.24 4.37-21.462 7.88-36.37 10.86-2.93.587-5.99 1.142-9.116 1.68 5.27 16.954 9.544 34.033 12.953 51.22 16.26-2.983 32.412-6.568 48.424-10.754-4.617-23-9.175-43.017-11.996-55.004zm-67.4 17.238c-23.065 2.982-49.9 4.803-78.768 5.117v54.198c30.885-.445 61.603-3.05 91.975-7.773-3.45-17.334-7.805-34.523-13.207-51.543zm-175.475.008c-4.647 17.345-8.416 34.67-11.426 51.98 30.062 4.54 60.16 6.967 90.133 7.354V104.95c-28.842-.314-55.656-2.133-78.707-5.11zm-84.38 55.277l-5.518 30.088c128.542 30.936 239.89 29.948 353.384.137l-4.98-30.172c-110.776 28.798-228.035 29.785-342.886-.053zm350.634 48.176c-16.95 4.406-33.876 8.174-50.83 11.312 3.656 47.603 1.776 95.87-3.55 144.49 18.6-3.803 36.796-8.527 54.468-14.17C439.592 314.762 439 291.606 439 256c0-14.915-1.77-33.334-4.453-52.707zm-357.13.256C74.758 222.827 73 241.15 73 256c0 23.794 4.678 57.228 10.424 89.404 16.604 4.828 33.386 8.97 50.27 12.418-4.532-47.516-6.03-95.247-2.577-143.222-17.624-3.063-35.507-6.74-53.7-11.05zm71.546 13.944c-3.336 47.978-1.63 95.883 3.164 143.813 31.553 5.49 63.348 8.592 94.873 9.33V225.94c-31.995-.576-64.57-3.38-98.037-8.446zm216.902.19c-33.303 5.275-66.792 8.068-100.865 8.34V370.8c32.816-.174 65.224-2.93 96.64-8.25 5.61-49.032 7.722-97.417 4.225-144.866zM86.66 364.93l8.29 31.9c104.15 32.39 225.75 32.428 326.077.733l8.272-32.264c-106.024 31.367-228.01 31.34-342.64-.37zm11.236 51.666c3.816 16.945 6.585 28.183 6.704 28.662.792 2.185 4.694 6.427 12.96 10.37 7.587 3.616 18.215 6.947 30.77 9.704-2.132-12.566-4.142-25.147-6.016-37.74-15.03-3.066-29.865-6.733-44.418-10.996zm318.366 1.31c-14.934 4.36-30.254 8.052-45.852 11.086-2.007 12.08-4.16 24.172-6.43 36.272 12.422-2.745 22.935-6.05 30.46-9.637 8.376-3.994 12.302-8.315 13.02-10.473 3.26-9.78 6.178-18.815 8.802-27.248zm-255.217 13.18c1.917 12.574 3.97 25.154 6.144 37.74 23.637 3.684 51.525 5.748 79.81 6.11V439.24c-28.815-.644-57.66-3.36-85.955-8.154zm190.55 1.223c-28.306 4.484-57.373 6.847-86.595 7.07v35.556c28.358-.363 56.317-2.437 79.994-6.14 2.33-12.19 4.538-24.353 6.602-36.487z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarrelLeak;

impl IconShape for BarrelLeak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151 28c-34.4 0-65.6 5.33-87.35 13.49-10.88 4.08-19.36 8.9-24.62 13.56C33.77 59.71 32 63.62 32 67c0 3.38 1.77 7.29 7.03 11.95 5.26 4.66 13.74 9.48 24.62 13.56C85.4 100.7 116.6 106 151 106c34.4 0 65.6-5.3 87.3-13.49 10.9-4.08 19.4-8.9 24.7-13.56 5.2-4.66 7-8.57 7-11.95 0-3.38-1.8-7.29-7-11.95-5.3-4.66-13.8-9.48-24.7-13.56C216.6 33.33 185.4 28 151 28zm65 28a24 8 0 0 1 24 8 24 8 0 0 1-24 8 24 8 0 0 1-24-8 24 8 0 0 1 24-8zM32 96.35V179c0 2 1.23 4.6 6.87 8.2 5.63 3.6 14.88 7.2 26.31 10.1C88.04 203 119.6 206 151 206c31.4 0 63-3 85.8-8.7 11.4-2.9 20.7-6.5 26.3-10.1 5.7-3.6 6.9-6.2 6.9-8.2V96.35c-7 5.05-15.5 9.35-25.3 13.05-24.6 9.2-57.4 14.6-93.7 14.6-36.3 0-69.1-5.4-93.67-14.6-9.84-3.7-18.37-8-25.33-13.05zM288 107v244.1l39.8 9.1c-3.4-7.9-5.8-17.1-7.2-27.5-3.5-26.1-1.5-59.3 6.6-94.7 8-35.4 20.5-66.1 35-88.1 5.8-8.8 11.9-16.1 18.3-21.8L288 107zm140.2 77.9c-56 7.6-114.1 108.3-74.4 180.8.9.5 1.7.8 2.6 1 3.3.8 7.5-.1 13.1-4.2 5.8-4.1 12.4-11.3 18.8-21 12.8-19.4 24.9-48.6 32.5-82.2 6.2-27.3 8.5-53.3 7.4-74.4zM32 204v84c0 2 1.23 4.6 6.87 8.2 5.63 3.6 14.88 7.2 26.31 10.1C88.04 312 119.6 315 151 315c31.4 0 63-3 85.8-8.7 11.4-2.9 20.7-6.5 26.3-10.1 5.7-3.6 6.9-6.2 6.9-8.2v-84c-7.9 4.6-17.6 7.9-28.8 10.7C216 221 183.6 224 151 224s-65.04-3-90.18-9.3C49.64 211.9 39.91 208.5 32 204zm0 109v58c0 5 2.2 9.3 7.86 14.2 5.66 4.8 14.7 9.5 25.99 13.3C88.42 406 119.8 410 151 410c31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2v-58c-7.9 4.6-17.6 7.9-28.8 10.7C216 330 183.6 333 151 333s-65.04-3-90.18-9.3C49.64 320.9 39.91 317.5 32 313zm378.5 54.9c-.7 0-1.5 0-2.2.1-19.5 1.5-6.5 45.2-24.3 53.2-15.3 7-31.5-16.6-48.2-14.5-27.9 3.5-78.1 15.8-72.3 43.3 8 37.7 76.7 8.1 114.8 14 36 5.6 87.2 50.9 107.4 20.5 25.4-38.2-29.1-117.7-75.2-116.6zm-181.9 91.3c-5.1 0-9.4 2.1-12 6.4-4.7 7.7 6.2 19.1 14.3 23 9.4 4.5 35.6 5.8 31.1-3.6-7.8-16.4-22.3-26-33.4-25.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barricade;

impl IconShape for Barricade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.492 19.762l9.692 43.058h-64.647l54.955 11.694-55.892 74.422 77.238-43.059 7.553 58.887 20.033-69.545-16.217-32.266-.068-.133zm139.203 38.162c-26.949 0-48.677 21.869-48.677 49.178 0 27.308 21.728 49.18 48.677 49.18 26.95 0 48.68-21.872 48.68-49.18 0-27.31-21.73-49.178-48.68-49.178zm-69.033 1.435c-6.037-.12-11.96.993-17.568 3.082l8.107 16.131c6.257-2.083 12.465-1.907 17.947.479a67.525 67.525 0 0 1 9.77-15.381c-6.068-2.838-12.219-4.19-18.256-4.31zm-43.205 139.053c-8.19.162-16.587 2.51-22.791 8.658-8.732 8.652-12.31 20.356-12.17 31.985.141 11.629 3.637 23.506 9.012 34.87 1.852 3.919 3.99 7.743 6.248 11.507-17.595 2.88-32.761 3.337-48.861 1.576 2.212-3.788 4.138-7.686 5.48-11.764 3.23-9.81 3.336-20.817-1.604-30.805-7.19-14.538-23.07-23.922-40.39-25.718-17.32-1.797-37.05 5.536-48.096 25.32l-.43.771-.273.842c-4.044 12.485-2.03 24.454 4.38 32.848 6.209 8.126 15.297 12.995 25.026 16.498h17.576l2.659 5.318c.118.024.235.05.353.073l-.222.185 8.279 16.565c8.666-5.656 11.814-12.884 16.443-22.141h67.608l10.959-6.047 12.808 5.92a34.624 34.624 0 0 0 1.606-.62c12.233-5.157 23.172-11.977 31.172-21.083 7.999-9.106 12.85-20.95 11.74-33.938-1.486-17.368-16.443-29.298-32.121-35.818-8.266-2.786-16.934-5.078-24.391-5.002zm1.86 18.004c5.47.074 11.067 1.763 15.617 3.617 11.712 4.871 20.551 14.338 21.1 20.735.676 7.923-1.84 14.27-7.33 20.523-5.494 6.252-14.17 11.959-24.645 16.377a113.568 113.568 0 0 1-7.97 2.996c-3.161-4.668-5.994-9.536-8.31-14.434-4.56-9.645-7.187-19.336-7.285-27.392-.097-8.057 1.968-14.156 6.84-18.983 3.548-2.578 7.727-3.497 11.982-3.439zm-113.11 19.988c10.382.084 25.994 7.69 30.43 16.014 2.69 5.439 2.757 10.77.64 17.2-1.562 4.745-4.488 9.9-8.406 15.038-10.05-1.39-20.343-3.272-28.986-6.293-14.593-5.753-23.412-12.353-19.38-26.326 6.746-11.5 15.932-15.577 25.702-15.633zM375.924 249l28.756 57.514 13.937-27.875L403.801 249zm77.639 0l-48.596 97.191 33.451-11.15L481.438 249zm-132.35 3.99c-16.417 1.038-28.12 9.49-29.205 25.674-.071 15.51 8.313 29.383 16.414 40.613-5.552.816-11.352 1.107-17.104.95 26.16 11.914 51.667 25.203 77.373 38.056l1.307-.435c-6.007-5.247-18.502-16.5-30.662-29.641 11.35-5.98 20.494-14.8 24.414-27.338 2.963-9.477 1.57-18.947-2.596-26.238-9.02-13.823-24.812-21.435-39.941-21.64zm-.28 18.123c5.03-.2 10.634 1.597 14.41 3.463 8.69 4.386 13.611 12.962 11.227 20.922-2.51 8.026-9.61 14.362-19.5 18.652-6.389-8.15-11.73-16.343-14.59-23.273-1.885-4.57-2.645-8.489-2.498-11.256 1.47-6.114 5.923-8.308 10.952-8.508zm-96.574 38.002l-25.156 13.88-33.82 67.644L213.563 487h40.705l40.09-16.037-21.651-15.332-1.96-1.568-7.677-6.141 56.764-59.385 83.709 36.041 36.258 46.356L403.738 487H487V386.725l-26.676-40.012-93.015 31.004-67.21-33.606zM78.562 313l28.758 57.514 13.938-27.875L106.438 313zm77.64 0l-87 174h27.874l87-174zM24.294 323.922l-.147 20.387c15.414 6.845 33.319 5.708 50.362.837l-8.239-16.478c-14.695 4.325-31.397 2.725-41.976-4.746zm.705 42.64V487h24.076l48.18-96.361-10.596-21.192-39.924 7.985zm299.203 43.454l-34.217 35.796 62.55 44.293 58.888-26.234-19.225-24.58zm-168.883.748l-13.937 27.875L165.563 487h27.875zm-24.002 48L117.201 487h28.237z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barrier;

impl IconShape for Barrier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 41c-21.65 0-39 17.35-39 39 0 21.6 17.35 39 39 39 21.6 0 39-17.4 39-39 0-21.65-17.4-39-39-39zm288 0c-21.6 0-39 17.35-39 39 0 21.6 17.4 39 39 39s39-17.4 39-39c0-21.65-17.4-39-39-39zM112 55c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm288 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zM83.38 129.2L80.87 151h45.83l1.9-16.5c-5.2 1.6-10.8 2.5-16.6 2.5-10.4 0-20.2-2.8-28.62-7.8zm345.22.1c-8.4 4.9-18.2 7.7-28.6 7.7-5.8 0-11.4-.9-16.7-2.5l1.9 16.5h45.9l-2.5-21.7zM41 169v57.3L79.18 169H41zm59.8 0l-51.98 78h42.36l52.02-78h-42.4zm64 0l-52 78h42.4l52-78h-42.4zm64 0l-52 78h42.4l52-78h-42.4zm64 0l-52 78h42.4l52-78h-42.4zm64 0l-52 78h42.4l52-78h-42.4zm64 0l-52 78h42.4l52-78h-42.4zm50.2 20.8L432.8 247H471v-57.2zM67.71 265l-7.15 62h45.84l7.2-62H67.71zm330.69 0l7.1 62h45.9l-7.1-62h-45.9zM41 345v16h430v-16H41zm13.56 34L42.1 487h45.88l12.42-108H54.56zm356.94 0L424 487h45.9l-12.5-108h-45.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BaseDome;

impl IconShape for BaseDome {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M408.7 31l-15.4 414h45.4L423.3 31zm-51 32l23 23-23 23h30.1l1.7-46zm84.8 0l1.7 46h30.1l-23-23 23-23zm-56.6 95c-19 27-44.3 42.7-74.3 52.1-39.7 12.5-87.8 13.2-137.8 11.4 24.6 1.8 45.6 8.4 63 18.3 28.1-1.2 55.2-4.6 80.2-12.5 25.5-8 48.6-21 67.9-40.5zm-252.7 83.1c-30.9 5-53.17 18.7-69.5 36.9h44.8c6.4-13.6 14.6-26.1 24.7-36.9zm53.6 0c10.1 10.8 18.3 23.3 24.7 36.9h44.8c-16.3-18.2-38.6-31.9-69.5-36.9zm-26.8.1c-12.8 9.7-23.1 22.3-31.1 36.8h62.2c-8-14.5-18.3-27.1-31.1-36.8zM50.2 296c-7.2 11.5-12.64 24.1-16.58 37h58.02c2.23-12.8 5.34-25.2 9.46-37zm70.3 0c-4.5 11.6-8 24-10.5 37h100c-2.5-13-6-25.4-10.5-37zm98.4 0c4.1 11.8 7.2 24.2 9.5 37h58c-3.9-12.9-9.4-25.5-16.6-37zM29.06 351c-2.08 10.3-3.31 20.4-3.77 30h61.83c.23-10 .86-20.1 1.97-30zm78.14 0c-1.1 9.8-1.8 19.9-2.1 30h109.8c-.3-10.1-1-20.2-2.1-30zm123.7 0c1.1 9.9 1.7 20 2 30h61.8c-.5-9.6-1.7-19.7-3.8-30zM25 399v46h103v18H25v30h174v-80h66v80h30v-94zm192 32v62h30v-62zm160 32v30h78v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BaseballBat;

impl IconShape for BaseballBat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M429.725 54.54c-3.023.094-5.838 1.16-8.16 3.48l-.055.056-.057.055s-115.29 111.285-169.37 169.364c-28.277 30.37-56.8 65.693-88.448 102.922l17.726 17.73c37.02-31.78 72.285-60.387 103.388-88.236 58.86-52.703 169.174-169.187 169.174-169.187l.084-.09.088-.088c11.49-11.49-7.83-35.118-23.063-35.988-.438-.025-.874-.032-1.305-.018zM151.89 344.13c-17.598 20.413-36.214 41.272-56.33 62.114l10.327 10.248c20.79-20.14 41.52-38.848 61.828-56.54l-15.824-15.823zm-80.21 63.776l-9.9 9.9 32.652 32.4 9.9-9.9-32.652-32.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BaseballGlove;

impl IconShape for BaseballGlove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.8 28.66c-12.6.28-26.24 11.28-32.89 21.75C56.89 103.1 38.51 167.7 32.92 228c-5.58 60.4 1.9 116.5 19.46 151.1C88.26 450 133.6 475.5 177 481.8c43.3 6.3 85.3-7.4 112.3-19.4 101.7-61.8 148.6-114.8 186-198.7 9.4-21.1 5.7-40.2-1.2-46.6-3.4-3.2-7.1-4.5-14-2.7-6.1 1.6-14.7 6.5-24.2 16.3l8.1-1.3 3.1 18.3-22.4 3.8 9.7 25.5-17.3 6.6-6.6-17.4c-9.2 12.8-19.5 25.9-32.7 39.4l-13.2-13c11.8-12.1 21.2-24 29.8-35.9l-14.2 2.4-3-18.3 22.2-3.8-7.8-20.6 17.3-6.6 6.5 17.1c9.6-18.7 22.2-45.3 24.4-63.4 3.1-22.8-20.6-40.6-32.7-21.5-8.3 14.9-16.6 29.9-25.3 44.8l14-3.3 4.3 18.2-26.2 6.2 6 20.2-17.7 5.4-3.1-10.4c-10.2 14.9-21.4 29.9-34.5 44.6l-13.8-12.4c11.7-13.1 21.8-26.3 31-39.7l-13.8 3.3-4.3-18.2 26.9-6.3-7.3-24.5 17.7-5.3 4.1 13.9c8-13.7 15.7-27.5 23.4-41.4 3.8-44.84-28.2-64.14-48.9-27.8-4.1 12.3-8.3 24.7-13.2 37.1l14.3-3.8 4.7 18-25.5 6.7 8 22.2-17.5 6.2-3.1-8.5c-8.7 15.9-19.3 31.6-32.4 46.4l-14-12.2c13.2-15 23.7-30.8 32.4-47.1l-18.5 4.8-4.8-17.9 25.6-6.7-9.1-25.2 17.5-6.2 5.6 15.4c4.5-11.6 8.6-23.5 12.5-35.3 2.8-18.79 1.5-31.63-1.4-39.68-4.4-14.58-26.4-20.4-33.4-7.57-16 33.19-34.5 81.05-55 119.65-10.3 19.3-21.1 36.4-33.1 48.6-12.1 12.3-26.9 20.3-42.7 16.8-16.5-3.6-28-15.5-33.6-30.4-5.7-14.8-6.7-32.5-5.5-51.8 2.4-37.5 13.9-80.97 24.5-116.64-5.2-9.98-12.5-13.67-20.1-13.5zm34.5 30.04c-2.4 8.48-4.8 17.28-7.1 26.19 19.2 6.59 40.8 11.78 61 14.35 13.4 1.76 26.1 2.16 36.7 1.56 3.7-8.45 7.3-16.81 10.9-24.85-37.4.23-73.9-7.55-101.5-17.25zm23.9 54.2l-4.7 22.6c5 1.3 10.1 2.4 15.2 3.5l4.6-23.2c-5.1-.9-10.1-1.8-15.1-2.9zm-42.9 31.8c-.6 5.3-1.2 10.3-1.5 15.3-.2 2.9-.3 5.8-.3 8.7 24.1 8.6 47.8 14.6 70.2 16.1 3.5-5.6 6.9-11.6 10.3-17.9.6-1.3 1.3-2.6 1.9-3.9-27.8-4.5-54.4-11-80.6-18.3zm25.5 51.9l-5.3 25.5c1 .3 1.9.6 2.9.8 4.7 1 9.3.2 14.4-2.7l3.9-20c-5.3-1-10.6-2.2-15.9-3.6zm46.5 53.2c56.7 0 103 46.2 103 103 0 28.5-11.8 54.4-30.5 73.1 2.8 1.3 5.6 2.7 8.4 4l-8 16.7c-50.8-24.7-107.6-46.5-182-30.2l-3.94-18.1c6.54-1.4 12.84-2.5 18.94-3.4-5.7-12.9-8.9-27.1-8.9-42.1 0-56.8 46.2-103 103-103zm0 18.5c-24.2 0-46 10.1-61.3 26.3 14.5 16 23.9 35.3 26.8 56.3 1.8 13.7 1 27.9-2.8 42.3 33.9 3 64.1 12.8 91.3 24.5 2.3-1.9 4.5-3.9 6.4-5.9-16.3-20-25.3-41.7-27.3-63.5-1.9-22.5 3.7-44.7 15.8-64.4-13.8-9.8-30.7-15.6-48.9-15.6zm62.9 28c-9 15.9-12.8 33.1-11.3 50.4 1.5 16.7 8 33.8 20.6 50 7.7-12.7 12.2-27.8 12.2-43.9 0-21.8-8.1-41.5-21.5-56.5zm-135.6 13.4c-7.5 12.6-11.8 27.3-11.8 43.1 0 14.5 3.7 28.1 10.1 40 6.1-.4 12.2-.6 18-.5h.2c4.2-13.5 5-26.6 3.3-38.8-2.2-16.1-9-31-19.8-43.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Basket;

impl IconShape for Basket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 30c-10.8 0-19 5.73-24.9 11.79-5.83 6.05-10.34 13.22-14.59 21.44-8.5 16.44-15.67 37.27-21.88 60.07-8.17 30-14.5 62.8-17.88 91.7h36.4c3.3-25.9 9.02-55.9 16.25-82.3 5.8-21.2 12.6-40.37 19.1-52.93 3.2-6.28 6.5-10.86 8.5-12.93.7-.73.8-.73.9-.84h252.2c.1.11.2.11.9.84 2 2.07 5.3 6.65 8.5 12.93 6.5 12.56 13.3 31.73 19.1 52.93 7.2 26.4 13 56.4 16.2 82.3h36.4c-3.3-28.9-9.7-61.7-17.8-91.7-6.2-22.8-13.4-43.63-21.9-60.07-4.3-8.22-8.8-15.39-14.6-21.44C403 35.73 394.8 30 384 30H128zM32 233c-20 0-20 46 0 46h448c20 0 20-46 0-46H32zm27.2 64c.45 2.2.88 4.5 1.3 6.8l3.51 3.5L74.24 297H59.2zm40.6 0l-23.04 23L128 371.2l51.2-51.2-23-23H99.8zm82 0l10.2 10.2 10.2-10.2h-20.4zm46 0l-23 23 51.2 51.2 51.2-51.2-23-23h-56.4zm82 0l10.2 10.2 10.2-10.2h-20.4zm46 0l-23 23 51.2 51.2 51.2-51.2-23-23h-56.4zm82 0l10.2 10.2 3.5-3.5c.4-2.3.9-4.5 1.3-6.7h-15zM192 332.8L140.7 384l51.2 51.2 51.3-51.2-51.2-51.2zm128 0L268.8 384l51.2 51.2 51.2-51.2-51.2-51.2zm-254.58 1.4c3.82 25.9 7.56 54.3 13.36 79.8.4 1.8.83 3.5 1.25 5.2L115.2 384l-49.78-49.8zm381.08.1L396.8 384l35.2 35.2c.4-1.8.8-3.5 1.2-5.2 5.8-25.5 9.6-53.8 13.3-79.7zM128 396.7l-42.37 42.4c3.64 11.2 7.86 21 12.71 28.6C106.6 480.6 115.4 487 128 487h12.2l39-39.1-51.2-51.2zm128 .1l-51.2 51.3 38.9 38.9h24.6l38.9-39-51.2-51.2zm128 0L332.8 448l39 39H384c12.6 0 21.4-6.4 29.7-19.3 4.8-7.6 9-17.4 12.6-28.6L384 396.8zm-191.9 64L165.8 487h52.5l-26.2-26.2zm127.9 0L293.8 487h52.4L320 460.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BasketballBall;

impl IconShape for BasketballBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.37 41.094c-49.643 1.754-98.788 20.64-137.89 56.656L210.53 197.8c31.283-35.635 45.59-88.686 37.84-156.706zm18.126.107c7.646 71.205-7.793 129.56-43.223 169.345L256 243.27 401.52 97.75c-38.35-35.324-86.358-54.18-135.024-56.55zM97.75 110.48c-36.017 39.102-54.902 88.247-56.656 137.89 68.02 7.75 121.07-6.557 156.707-37.84L97.75 110.48zm316.5 0L268.73 256l32.71 32.71c33.815-30.112 81.05-45.78 138.183-45.11 10.088.118 20.49.753 31.176 1.9-2.37-48.665-21.227-96.672-56.55-135.02zM210.545 223.272c-39.785 35.43-98.14 50.87-169.344 43.223 2.37 48.666 21.226 96.675 56.55 135.025L243.27 256l-32.725-32.727zm225.002 38.27c-51.25.042-92.143 14.29-121.348 39.928l100.05 100.05c36.017-39.102 54.902-88.247 56.656-137.89-12.275-1.4-24.074-2.096-35.36-2.087zM256 268.73L110.48 414.25c38.35 35.324 86.358 54.18 135.024 56.55-7.646-71.205 7.793-129.56 43.223-169.345L256 268.73zm45.47 45.47c-31.283 35.635-45.59 88.686-37.84 156.706 49.643-1.754 98.788-20.64 137.89-56.656L301.47 314.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BasketballBasket;

impl IconShape for BasketballBasket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C140.57 23 73.01 90.16 24.283 171.37L23 173.507V309.85l142.268 63.228C175.353 408.092 183 436.353 183 480h18c0-2.378-.028-4.703-.07-7h22.304l.405 7.484 17.973-.968-.35-6.516h29.14l-.366 6.496 17.973 1.008.422-7.504h22.64c-.042 2.3-.072 4.624-.072 7h18c0-43.265 7.505-72.296 17.453-106.797L489 309.85V173.508l-1.283-2.14C438.99 90.16 371.43 23 256 23zm0 18c107.607 0 167.912 59.792 215 137.563V298.15l-118.027 52.457c1.952-6.838 3.947-14.016 5.96-21.607H384v-34h-23V167H151v128h-23v34h25.023c1.965 7.597 3.906 14.745 5.81 21.52L41 298.15V178.563C88.088 100.793 148.393 41 256 41zm-87 144h174v110H169V185zm2.61 144h43.863l1.617 30h-37.115c-2.71-9.403-5.528-19.275-8.364-30zm61.888 0h44.982l-1.683 30h-41.682l-1.617-30zm63.012 0h43.804c-2.88 10.63-5.75 20.51-8.507 30h-36.98l1.683-30zm-111.377 48h32.928l1.618 30h-26.756c-2.27-10.02-4.922-19.86-7.79-30zm50.953 0h39.7l-1.682 30h-36.4l-1.618-30zm57.73 0h32.825c-2.83 10.065-5.443 19.92-7.683 30h-26.824l1.683-30zm-97.308 48h24.14l1.618 30h-22.14c-.762-10.673-2.002-20.55-3.618-30zm42.166 0h34.422l-1.684 30h-31.12l-1.618-30zm52.45 0h24.31c-1.59 9.476-2.808 19.37-3.563 30h-22.43l1.685-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BasketballJersey;

impl IconShape for BasketballJersey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M183.3 27.47l-13.9 3.47c1.3 46.77 4.4 95.66 2.5 138.36-2 45.3-8.9 84.5-32.9 106.7v211h234V276c-24-22.2-30.9-61.4-32.9-106.7-1.9-42.7 1.2-91.59 2.5-138.36l-13.9-3.47c-1.1 22.08-5.3 46.02-14.5 66.25C303.4 117.5 284 137 256 137c-28 0-47.4-19.5-58.2-43.28-9.2-20.23-13.4-44.17-14.5-66.25zm18.2 3.33c1.4 19.18 5.4 39.48 12.7 55.48C223.4 106.5 236 119 256 119c20 0 32.6-12.5 41.8-32.72 7.3-16 11.3-36.3 12.7-55.48C286.9 42.47 272 49 256 49s-30.9-6.53-54.5-18.2zm-50 4.59l-14.4 3.6c.4 37.62 3.8 78.91 1.9 117.41-2 39.5-9.8 76.6-34 102.9V487h16V267.7l3.4-2.7c18.8-15.2 27.5-50.8 29.5-96.5 1.8-40.1-1-87.14-2.4-133.11zm209 0c-1.4 45.97-4.2 93.01-2.4 133.11 2 45.7 10.7 81.3 29.5 96.5l3.4 2.7V487h16V259.3c-24.2-26.3-32-63.4-34-102.9-1.9-38.5 1.5-79.79 1.9-117.41zM295.4 224c9.4 0 16.8 2.8 22.3 8.4 5.5 5.6 8.2 13.1 8.2 22.4 0 6.2-1.5 12.2-4.4 18-2.9 5.8-7.4 11.7-13.3 17.7-8.3 8.5-14 14.5-16.9 18.2-2.9 3.7-5 7.4-6.3 11.3h42.4v19.5h-63.9v-16.4c2.1-6.2 5.2-12.4 9.2-18.6 4-6.3 9.8-13.4 17.5-21.5 5.9-6.3 9.8-10.7 11.6-13.2 1.8-2.4 3.2-4.7 4.2-7s1.5-4.6 1.5-6.9c0-4.1-1-7.2-3-9.5-2.1-2.3-5.1-3.5-9-3.5-3.9 0-6.8 1.4-8.9 4.1-2.1 2.7-3.4 6.7-4 12.2l-18.3-1.3c1-11.1 4.2-19.5 9.5-25.2 5.3-5.8 12.5-8.7 21.6-8.7zm-76.3 1.8h20.4v71.9h12.2v17.6h-12.2v24.2h-17.3v-24.2h-41.6v-17.8zm3.6 20.6c-1.1 3.1-3.1 7.6-6.1 13.6l-20.7 37.7h26.3V263c0-3 0-6.3.1-9.8.2-3.5.3-5.8.4-6.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BassetHoundHead;

impl IconShape for BassetHoundHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 30.28c-29 0-54.7 14.54-73.3 35.05C164 85.85 153 112.3 153 133.3c0 36.7 12.6 76.9 29.7 111.5l.6-1.8 18.6-74.3c-16.5 1.9-23.8-7.7-25.9-19.4l35.3-18.4 3.2-12.6-2.7-5.4c-9.2 3.4-19.9 7.7-32.7 12.8l-6.6-16.8c11.8-4.8 22-8.8 31.1-12.25l-3.7-7.34-.9-1.91v-2.12c0-6.25 2.6-12.09 6.4-16.43 3.7-4.33 8.6-7.42 13.9-9.79C230 54.3 243 52.28 256 52.28c13 0 26 2.02 36.7 6.78 5.3 2.37 10.2 5.46 13.9 9.79 3.8 4.34 6.4 10.18 6.4 16.43v2.12l-4.7 9.31c9 3.39 19.2 7.49 31 12.19l-6.6 16.8c-12.7-5.1-23.4-9.3-32.5-12.7l-2.7 5.3 3.2 12.6 35.3 18.4c-2.1 11.7-9.4 21.3-25.9 19.4l18.6 74.3.6 1.8C346.4 210.2 359 170 359 133.3c0-21-11-47.45-29.7-67.97C310.7 44.82 285 30.28 256 30.28zm0 40c-11 0-22 1.98-29.3 5.22-3.7 1.63-6.3 3.54-7.8 5.21-1 1.1-1.4 2.02-1.6 2.99l16.2 32.6-32.9 131.5-.1.3c-7.4 22.3-11.4 57.9-9.5 86.6.9 14.4 3.4 27.1 7 35.3 1.8 4 3.8 6.9 5.5 8.4 1.7 1.5 2.7 1.9 4.5 1.9-.5 0 1.9-.7 5.3-4.5 3.3-3.7 7.2-9.5 11.2-15.5 4-6 8.1-12.2 12.8-17.5 4.6-5.2 10.2-10.5 18.7-10.5s14.1 5.3 18.7 10.5c4.7 5.3 8.8 11.5 12.8 17.5s7.9 11.8 11.2 15.5c3.4 3.8 5.8 4.5 5.3 4.5 1.8 0 2.8-.4 4.5-1.9 1.7-1.5 3.7-4.4 5.5-8.4 3.6-8.2 6.1-20.9 7-35.3 1.9-28.7-2.1-64.3-9.5-86.6l-.1-.3-32.9-131.5 16.2-32.6c-.2-.97-.6-1.89-1.6-2.99-1.5-1.67-4.1-3.58-7.8-5.21-7.3-3.24-18.3-5.22-29.3-5.22zM135.5 123.8c-4.5 5-8.7 10-12.3 14.9-11.4 15.2-18.2 29.6-18.2 42.6-.3 99.3-15.98 192.7-31.91 288.3 0 1.2.39 2.1 1.98 3.6 1.75 1.7 5.05 3.7 9.55 5.2 9.01 3 22.48 4.2 36.38 2.7 13.9-1.5 28.3-5.7 39.6-12.5 11.1-6.6 19.1-15.4 22.5-27 .2-16.5 2.9-34.2 6.7-51.5-3.5-3.6-6.1-8.1-8.3-13-4.9-11.3-7.4-25.6-8.5-41.2-1.4-20.8-.1-43.9 3.4-64.6-22.9-40-41.4-90.2-41.4-138 0-3.2.2-6.3.5-9.5zm241 0c.3 3.2.5 6.4.5 9.5 0 47.8-18.5 98-41.4 138 3.5 20.7 4.8 43.8 3.4 64.6-1.1 15.6-3.6 29.9-8.5 41.2-2.2 4.9-4.8 9.4-8.3 13 3.8 17.3 6.5 35 6.7 51.5 3.4 11.6 11.4 20.4 22.5 27 11.3 6.8 25.7 11 39.6 12.5 13.9 1.5 27.4.3 36.4-2.7 4.5-1.5 7.8-3.5 9.5-5.2 1.6-1.5 2-2.4 2-3.6-15.9-95.6-31.6-189-31.9-288.3 0-13-6.8-27.4-18.2-42.6-3.7-4.9-7.9-9.9-12.3-14.9zM256 245.3c32 0 48 16 48 32s-32 32-48 32-48-16-48-32 16-32 48-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bastet;

impl IconShape for Bastet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274 32.04c-10.7 12.23-16.5 26.91-16.9 39.87-.5 15.69 5.7 28.19 21 34.59l5.8 2.4-.2 6.2c-.5 15.3 11 34.3 28.1 46.9 17 12.5 38.2 18.3 55.7 12.1 10.3-5.5 22.4-12.9 29.8-21.1 7.3-8.2 10.3-15.3 5.9-26-3.5-4.3-8.8-7.4-18-11.6l-5.2-2.5v-5.8c0-3.4-4-11.44-14.8-18.45-10.8-6.97-27.6-12.84-49.3-13.86l-2.1-.1-1.8-.96c-14.2-7.68-22.2-15.89-27.8-24.35-3.8-5.76-6.6-11.31-10.2-17.34zm67.8 64.72c10.8.1 20.3 13.54 20.1 15.74-.3 4.1-34.9 5-34.9-.7 0-3.4 3.7-15.14 14.8-15.04zm-57.1 64.64l-.3 3.3c-.6 6.3-1.9 12.7-4.3 18.6 8.8 7.4 18.4 13.8 28.1 18.6 12.2 6.1 24.5 9.6 35.6 9.9-.9-5.9-1.2-11.8-.8-17.7-15.1-2-29.6-8.6-41.9-17.6-6-4.4-11.6-9.5-16.4-15.1zm-31.4 21.1c-2.2 4.4-4.8 8.3-7.7 11.8 36.2 42.5 81 59.9 112.7 61.7.2-8.2-.2-17.2-1.4-27.2-18.5 3.2-38.3-1.6-56.7-10.8-17.3-8.5-33.5-21-46.9-35.5zm-21.1 24c-4.1 2.7-8.3 5-12.4 7.1 32.1 44.7 74 70.9 127.1 85.2 4.5-6 7.8-14.4 9.7-24.9-37.3-2.1-85.4-21.8-124.4-67.4zm-24.5 21.1c-59.4 30.6-85.2 66-95.5 106.6-10.7 41.9-4 90.9 4 145l178.8.6c-.3-6.4-1.3-11-2.7-14.1-2-4.5-4.4-6.6-9.2-8.7-9.6-4.1-29.1-4.7-56.1-6.6l-21.9-1.6 16.6-14.2c13.6-11.6 24.3-22.8 32.8-33.8 3.6-7.9 4-19.4.9-31.9-3.9-16.2-13.4-33.3-24.2-43.4-5.5-5.1-11.1-8.3-16.2-9.5-5.1-1.2-9.6-.8-14.8 2.3-10.5 6.2-23.8 25.6-33 66.6l-17.6-4c9.8-43.2 23.5-67.5 41.4-78.1 6.8-4 14.1-5.6 21.2-5.3 2.4.1 4.7.4 7 1 9 2.1 17.1 7.2 24.2 13.8 14.2 13.2 24.8 32.7 29.5 52.4.2.9.4 1.9.6 2.8.9-2.4 1.8-4.8 2.5-7.2 1.4-4.5 2.5-9.1 3.3-13.8-11.8-21.5-14.7-46.6-16.7-66-20.6-14.1-38.9-31.6-54.9-52.9zm74.7 65.1c3.2 21.8 8.8 45.2 23.5 60.1l1.4 1.4.7 1.9c16 45 25.1 79 33.1 123.6l58.3.3c-1-8-3.7-13.4-7.5-17.5-5.1-5.4-13.1-9-24.2-10.8l-6.3-1-1.1-6.2c-8.1-42.3-24.1-79.5-18.7-128.3-21.2-5.8-41-13.5-59.2-23.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bat;

impl IconShape for Bat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.14 78.192c-11.98 26.54-14.398 45.97-11.355 59.664 3.357 15.106 12.85 24.708 27.24 31.903l11.168 5.583-8.83 8.828c-.94.942-2.235 4.514-1.224 10.9 1.01 6.39 4.1 14.61 8.626 22.335 5.75 9.82 13.835 18.326 21.62 23.235L256 221.77l12.52 18.926c7.814-4.9 15.94-13.433 21.714-23.29 4.526-7.727 7.617-15.947 8.627-22.335 1.012-6.386-.282-9.958-1.223-10.9l-8.83-8.827 11.168-5.584c14.39-7.196 23.883-16.798 27.24-31.904 3.043-13.694.626-33.125-11.354-59.664-25.09 13.792-37.177 28.03-51.32 70.46L256 174.27l-8.54-25.617c-14.143-42.43-26.23-56.67-51.32-70.46zM96 97.808c-3.376 19.912-5.288 41.53 10.314 58.623C53.46 233.354 16 377.273 16 433.81c5.024-10.05 13.206-23.25 23.055-35.647 1.14-66.82 33.374-161.227 81.228-240.983l4.63-7.717 7.718 4.63c20.08 12.047 41.164 20.96 62.73 26.745-7.74-5.074-14.54-11.42-19.673-19.15-17.93-7.796-34.227-18.417-47.687-31.877-18.968-1.448-25.344-16.872-32-32zm320 0c-6.656 15.128-13.032 30.552-32 32-13.46 13.46-29.756 24.08-47.688 31.877-5.133 7.73-11.93 14.076-19.673 19.15 21.566-5.785 42.65-14.698 62.73-26.744l7.718-4.63 4.63 7.717c47.853 79.756 80.088 174.163 81.227 240.984 9.85 12.397 18.03 25.6 23.055 35.648 0-56.536-37.46-200.455-90.314-277.377 15.602-17.093 13.69-38.71 10.314-58.622zm-192 80c11.588 8.65 18.698 11.698 32 16 13.302-4.302 20.412-7.35 32-16 2.458 4.566 0 16 0 16-11.948 5.447-21.853 2.208-32 0-10.147 2.208-20.052 5.447-32 0 0 0-2.458-11.434 0-16zm-71.854 6.525c1.817 4.383 3.522 9.017 5.143 13.88 5.98 17.942 10.558 38.886 13.62 60.32 5.243 36.7 6.394 74.3.945 101.388 8.74-.234 17.477 2.767 26.21 8.274L166.41 392.56l20.268-4.795-8.55 33.595L208 403.77l1.057 20.8 13.615-34.794c.632.695 1.264 1.432 1.896 2.145-4.088-5.556-7.65-12.068-10.78-19.37-9.34-21.792-14.788-50.772-14.788-82.742 0-22.842 2.793-44.14 7.787-62.397-.18-.302-.375-.603-.553-.907-5.21-8.898-9-18.256-10.636-27.26-14.738-3.625-29.273-8.592-43.452-14.91zm207.708 0c-14.18 6.318-28.714 11.285-43.452 14.91-1.637 9.004-5.425 18.362-10.636 27.26-.178.304-.372.605-.553.908C310.207 245.67 313 266.967 313 289.81c0 31.97-5.448 60.95-14.787 82.742-2.734 6.378-5.807 12.136-9.262 17.2.085-.095.17-.198.253-.292l13.74 35.11L304 403.772l29.87 17.59-8.548-33.595 20.268 4.795-32.195-24.782c8.94-5.75 17.842-8.698 26.73-7.957-5.425-27.08-4.27-64.633.965-101.286 3.062-21.435 7.64-42.38 13.62-60.322 1.622-4.862 3.327-9.496 5.144-13.88zm-227.268.64c-12.714 64.79-23.21 127.977-15.46 180.256 12.15-9.62 24.292-10.477 36.362-5.83 4.968-22.784 4.842-61.64-.398-98.32-2.938-20.563-7.36-40.62-12.88-57.177-2.344-7.035-4.942-13.425-7.624-18.93zm246.828 0c-2.682 5.505-5.28 11.895-7.625 18.93-5.52 16.557-9.942 36.614-12.88 57.178-5.19 36.34-5.364 74.816-.537 97.683 12.897-3.96 24.765-2.81 36.5 6.468 7.75-52.28-2.745-115.467-15.46-180.256zm-271.6 33.74c-26.35 55.316-44.32 113.17-49.365 158.712 13.07-11.5 27.16-18.727 39.995-15.59-5.553-44.21.388-93.13 9.368-143.123zm296.374 0c8.98 49.993 14.92 98.912 9.367 143.122 12.835-3.137 26.925 4.09 39.996 15.59-5.044-45.542-23.014-103.396-49.363-158.713zm-183.22 27.466c-2.517 13.256-3.968 28.045-3.968 43.628 0 6.126.233 12.123.656 17.963 1.642 22.645 6.29 42.786 12.676 57.688 4.017 9.372 8.73 16.627 13.307 21.143 4.575 4.517 8.57 6.208 12.36 6.208 3.79 0 7.785-1.69 12.36-6.207 4.577-4.515 9.29-11.77 13.308-21.142 6.386-14.902 11.034-35.043 12.676-57.687.423-5.84.656-11.836.656-17.962 0-15.583-1.45-30.372-3.97-43.63-9.624 9.87-21.444 16.92-35.03 16.92-13.586 0-25.406-7.05-35.03-16.92zm9.805 153.007c8.413 10.265 16.82 22.012 25.227 34.62 8.136-12.204 16.2-23.596 24.207-33.636-6.772 6.394-15.1 10.638-24.207 10.638-9.465 0-18.096-4.578-25.006-11.397-.074-.072-.147-.15-.22-.223z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatLeth;

impl IconShape for BatLeth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.4 20.98c-17 0-35 1.86-53.4 6.03-.7.15-1.3.31-2 .46l-4.8 34.26c5.6 2.01 9.9 5.46 11.7 10.79C314.2 91 286 108.1 267.8 115.2c-15.5 6.2-42.9 11.9-49.7-3.3-3.1-7-1.3-14.43 3.3-21.43l-27.3-18.25c-10 6.59-19.5 13.68-28.7 21.24l12.4 28.84c8.9-2.3 17.6-1.3 24.4 5.5 15.9 15.9 0 42.5-16 58.4-15.9 15.9-42.4 31.8-58.3 15.9-6.8-6.7-7.8-15.4-5.5-24.4l-28.94-12.3c-7.55 9.2-14.63 18.7-21.21 28.6l18.2 27.3c6.99-4.5 14.45-6.4 21.45-3.3 15.2 6.8 9.5 34.3 3.4 49.8-7.2 18.1-24.3 46.4-42.78 40.1-5.34-1.8-8.79-6.2-10.8-11.8L27.47 301c-.15.7-.31 1.3-.46 2C4.828 401.4 49.04 485.1 77.6 491c-29.95-38.3-31.11-115.3-22.59-138.8C63.24 329.6 85.13 330 90.5 340c18.9 35.3 31 53.2 52.6 53.4-57.71-63.9 16.6-148.8 59.1-191.2 42.4-42.5 127.3-116.81 191.2-59.1-.2-21.6-18.1-33.8-53.4-52.63-10-5.38-10.4-27.27 12.2-35.49 23.5-8.53 100.5-7.37 138.8 22.59-4.8-23.21-60.9-56.75-134.6-56.59zM282.2 32.3c-27.2 7.69-50.4 17.61-71.3 29.54l22.9 15.25c6.8-5.64 14.6-10.23 21.4-12.93 6.4-2.52 14.9-4.35 23.2-4.68zm-131.1 73.5c-7.9 7-15.5 14.3-23.2 22-7.7 7.7-15.1 15.4-22.1 23.2l23.9 10.3c4.1-6.5 9.1-12.6 14.1-17.6 5-5 11.1-10 17.5-14zM61.86 210.9C49.93 231.8 40.01 255 32.3 282.2l27.18-3.9c.33-8.3 2.16-16.7 4.68-23.1 2.69-6.8 7.28-14.6 12.91-21.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatMask;

impl IconShape for BatMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384 16c48 32 64 80 64 112 0 128 0 256-32 368l-16-112c-48 32-112 64-144 64s-96-32-144-64L96 496C64 384 64 256 64 128c0-32 16-80 64-112-16 48-16 96 0 128 64-32 192-32 256 0 16-32 16-80 0-128zm0 256c-33.7 46.8-52 57.2-112 80 33.5 32 95.5 21.5 128-16 14.1-16.3 6.8-44.6-16-64zm-256 0c-22.8 19.4-30.1 47.7-16 64 32.5 37.5 94.5 48 128 16-60-22.8-78.3-33.2-112-80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bathtub;

impl IconShape for Bathtub {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.6 24.77c-.7 0-1.4 0-2.1.1-17.2 1.06-33.5 10.97-43.1 25.11 3.9 1.97 7.6 4.48 11.1 7.61 1.2 1.08 2.4 2.2 3.4 3.34 7.3-10.82 22.9-19.32 35.1-17.96 6.7.74 12.4 3.6 17.3 10.84 4.9 7.23 8.7 19.41 8.7 38.21V268h18V92c0-21.2-4.2-37.02-11.8-48.29-7.6-11.26-18.9-17.4-30.2-18.66-2.1-.23-4.3-.32-6.4-.28zm-69.4 37.17c-2.7 0-5.4.21-8.1.65-6.1 1.03-11.8 3.47-16.3 6.06l55.3 49.45c2.1-4.8 3.9-10.7 4.3-16.9.6-10.74-2.2-21.55-11.9-30.19-7.3-6.51-15.3-8.97-23.3-9.07zM16 289v18h480v-18zm9.29 36c1.42 56.1 15.91 97.6 42.75 126H444c12.8-14.5 24-39.8 31.3-65.5 6.5-22.6 10.1-45 11.2-60.5zm59.22 144l-12 18 14.98 10 18.71-28zm337.29 0l18.7 28 15-10-12-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BattleMech;

impl IconShape for BattleMech {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217 25v32.512l39 13.002 39-13.002V25h-78zm0 51.488v.787L244.816 119h22.368L295 77.275v-.787l-39 12.998-39-12.998zm-1.04 31.678l-54.245 18.084-9.51 38.033 15.71 39.27L217 269v24h78v-24l49.086-65.447 15.709-39.27-9.51-38.033-54.246-18.084L276.816 137h-41.632l-19.223-28.834zm-69.437 4.635l-43.164 21.582L81.822 199h43.15l21.551-86.2zm218.954 0L387.027 199h43.15l-21.536-64.617-43.164-21.582zM247 160h18v52.473l52.816-13.203 4.368 17.46L256 233.277l-66.184-16.547 4.368-17.46L247 212.473V160zM87.664 217l28.322 86.287 18.244-18.246L120.621 217H87.664zm303.715 0l-13.61 68.041 18.245 18.246L424.336 217h-32.957zM199 286.563l-46.54 23.269-5.5 55.002 28.349 9.45L199 362.437v-75.875zm114 0v75.875l23.691 11.845 28.348-9.449-5.5-55.002L313 286.562zM217 311v16h78v-16h-78zm-18 71.563l-22.309 11.154-31.566-10.522-6.693 66.938L199 425.906v-43.344zm114 0v43.343l60.568 24.227-6.693-66.938-31.566 10.522L313 382.563zm-111.23 61.62l-67.25 26.903L126.562 487h85.91l-10.702-42.816zm108.46 0L299.527 487h85.91l-7.957-15.914-67.25-26.902z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeachBag;

impl IconShape for BeachBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-35 0-63.7 17.8-85.8 43.07-22.1 25.28-38.4 58.13-50.6 90.73-10.1 27-17.4 53.9-22.52 76.2H27.49c3.45 14.4 15.83 65.6 33.14 124.5 9.96 33.8 20.92 67.6 31.19 92.6 5.14 12.4 10.18 22.7 14.38 29.3 2.2 3.3 4.2 5.7 5.5 6.8.6.6.9.7 1 .8h286.6c.1-.1.4-.2 1-.8 1.3-1.1 3.3-3.5 5.5-6.8 4.2-6.6 9.2-16.9 14.4-29.3 10.2-25 21.2-58.8 31.2-92.6 17.3-58.9 29.7-110.1 33.1-124.5h-69.6c-5.1-22.3-12.4-49.2-22.5-76.2-12.2-32.6-28.5-65.45-50.6-90.73C319.7 40.8 291 23 256 23zm0 18c29 0 52.3 14.2 72.2 36.93 19.9 22.67 35.6 53.87 47.4 85.27 9.2 24.5 16 49 20.9 69.8h-281c4.9-20.8 11.7-45.3 20.9-69.8 11.8-31.4 27.5-62.6 47.4-85.27C203.7 55.2 227 41 256 41zm163.8 215.3A24 24 0 0 1 440 280a24 24 0 0 1-24 24 24 24 0 0 1-24-24 24 24 0 0 1 10.3-19.7c3.4 17.6 4.8 28.8 4.8 28.8l17.8-2.2s-1.5-11.9-5.1-30.6zm-327.64 0c-3.6 18.7-5.09 30.6-5.09 30.6l17.83 2.2s1.4-11.2 4.8-28.8A24 24 0 0 1 120 280a24 24 0 0 1-24 24 24 24 0 0 1-24-24 24 24 0 0 1 20.16-23.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeachBall;

impl IconShape for BeachBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M419.342 92.658c-19.385-19.384-41.348-34.593-64.774-45.654 5.495 16.957 8.61 35.46 9.608 55.062 9.96 3.927 19.435 10.016 27.59 18.17 8.152 8.153 14.24 17.628 18.168 27.588 19.603.998 38.105 4.113 55.062 9.608-11.06-23.426-26.27-45.39-45.654-64.774zm-87.78-55.034c-71.617-24.758-152.93-13.23-215.513 34.574 66.248-7.507 129.063 7.865 181.537 39.157 13.207-11.618 30.53-16.084 47.92-14.037-1.66-22.127-6.228-42.3-13.945-59.694zm142.814 142.814c-17.395-7.717-37.567-12.286-59.694-13.945 2.047 17.39-2.42 34.713-14.037 47.92 31.292 52.474 46.664 115.29 39.157 181.538 47.805-62.583 59.332-143.895 34.574-215.512zm-95.34-47.475c-22.037-22.037-53.94-23.84-71.417-6.364-17.478 17.476-15.675 49.38 6.363 71.417 22.038 22.038 53.94 23.84 71.418 6.364 17.477-17.475 15.674-49.38-6.363-71.417zm-92.83-7.903c-55.91-32.438-124.11-45.696-195.368-30.534C33.31 153.34 13.453 235.118 31.28 309.788c68.307-65.43 158.964-116.716 246.164-143.015.388-.117.776-.227 1.164-.344-2.113-14.518.293-29.09 7.597-41.37zM386.94 225.795c-12.28 7.304-26.852 9.71-41.37 7.597-.116.388-.226.776-.343 1.164-26.3 87.2-77.585 177.857-143.015 246.164 74.67 17.827 156.45-2.03 215.262-59.558 15.162-71.26 1.904-139.458-30.534-195.367zm-103.606-41.992c-.232.07-.463.133-.695.203-87.23 26.307-179.15 79.17-245.73 145.435 10.996 32.845 29.57 63.723 55.748 89.902 26.18 26.18 57.057 44.752 89.9 55.75 66.267-66.582 119.13-158.503 145.436-245.73.07-.233.133-.464.203-.696-9.724-3.935-18.965-9.944-26.942-17.92-7.977-7.978-13.986-17.22-17.92-26.943z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeachBucket;

impl IconShape for BeachBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.2 40c-23.3 0-42.8 12.94-58.08 30.62C83.85 88.3 72.07 111.1 62.85 133.6 48.9 167.7 40.9 201.5 37.82 216h18.43c3.41-15.4 10.9-45.4 23.26-75.6 8.78-21.5 20-42.7 33.19-58.02C126 67.06 140.5 58 157.2 58s31.2 9.06 44.4 24.38c13.3 15.32 24.5 36.52 33.3 58.02 12.3 30.2 19.8 60.2 23.2 75.6h18.5c-3.1-14.5-11.1-48.3-25.1-82.4-9.2-22.5-21-45.3-36.2-62.98C200 52.94 180.5 40 157.2 40zm203 30v66h114V70h-114zm18 18h78v30h-78V88zm30 66v156.3c3-.4 6-.6 9-.6s6 .2 9 .6V154h-18zM38.18 234v16H276.2v-16H38.18zm17.67 34l29.13 204H229.4l29.1-204H55.85zm361.35 59.7c-4.6 0-9.2.6-13.4 1.9-6.7 2.1-18.7 9.6-28.1 16.7-6.4 4.8-10.7 8.5-13.5 10.8V472h110V357.1c-2.8-2.3-7.1-6-13.5-10.8-9.4-7.1-21.4-14.6-28.1-16.7-4.2-1.3-8.8-1.9-13.4-1.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeamSatellite;

impl IconShape for BeamSatellite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.998 24.998v14.004h30.004V24.998H24.998zm48 0v14.004h46.004V24.998H72.998zm64 0v14.004h37.184l-4.668-14.004h-32.516zm205.488 0l-4.668 14.004h37.184V24.998h-32.516zm50.512 0v14.004h46.004V24.998h-46.004zm64 0v14.004h30.004V24.998h-30.004zm-432 32v30.004h30.004V56.998H24.998zm48 0v30.004h46.004V56.998H72.998zm64 0v30.004H215.002V72.998h-29.488l-5.334-16h-43.182zm96 0v59.326l-34.15 27.32c16.813-5.416 35.96-8.642 57.152-8.642s40.34 3.226 57.152 8.643l-34.15-27.32V56.997h-46.004zm98.822 0l-5.334 16h-29.488v14.004h78.004V56.998H331.82zm61.178 0v30.004h46.004V56.998h-46.004zm64 0v30.004h30.004V56.998h-30.004zm-432 48v14.004h30.004v-14.004H24.998zm48 0v14.004h46.004v-14.004H72.998zm64 0v14.004h17.44l7.001-14.004H137zm213.563 0l7.002 14.004h17.439v-14.004h-24.441zm42.437 0v14.004h46.004v-14.004h-46.004zm64 0v14.004h30.004v-14.004h-30.004zm-200.998 48c-38.2 0-68.333 11.462-88.707 26.28-18.004 13.093-27.816 28.97-29.861 40.427 6.887 4.562 21.771 10.067 41.109 13.43 14.42 2.508 31.078 4.214 48.502 5.115l-4.143-30.379c-10.514 1.898-19.878 4.68-26.875 8.178l-8.05-16.098c18.146-9.073 43.025-12.95 68.025-12.95 25 0 49.879 3.877 68.025 12.95l-8.05 16.098c-6.997-3.499-16.36-6.28-26.875-8.178l-4.143 30.379c17.424-.901 34.082-2.607 48.502-5.115 19.338-3.363 34.222-8.868 41.11-13.43-2.046-11.457-11.858-27.334-29.862-40.428C324.333 164.46 294.2 152.998 256 152.998zm0 52c-4.197 0-8.935 1.891-14.436 6.543L256 317.398l14.436-105.857c-5.501-4.652-10.24-6.543-14.436-6.543zM384 256l-106.389 36.121-4.35 31.893c3.926 1.454 7.553 3.406 10.766 5.816 7.549 5.661 12.971 14.3 12.971 24.17 0 9.87-5.422 18.509-12.97 24.17-7.55 5.661-17.368 8.828-28.028 8.828s-20.479-3.167-28.027-8.828c-7.549-5.661-12.971-14.3-12.971-24.17 0-9.87 5.422-18.509 12.97-24.17 3.214-2.41 6.841-4.362 10.766-5.816l-2.931-21.493-119.922-29.314 72.34 48.461-104.512 69.666 85.803-12.066-31.455 29.435s26.97-10.097 49.152-18.29l-43.22 86.41L224 416v78.002h9.805L242.283 432l9.862 45.33 8.88-69.373 17.073 86.045H288V416l96 48-45.477-67.885 92.71-18.26-87.262-30.023 26.695-21.9-53.23 3.214L384 256zm-128 82.998c-7.013 0-13.195 2.206-17.229 5.23-4.033 3.025-5.773 6.387-5.773 9.772 0 3.385 1.74 6.747 5.773 9.771 4.034 3.025 10.216 5.231 17.229 5.231s13.195-2.206 17.229-5.23c4.033-3.025 5.773-6.387 5.773-9.772 0-3.385-1.74-6.747-5.773-9.771-4.034-3.025-10.216-5.231-17.229-5.231z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BearHead;

impl IconShape for BearHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.41 35.389c-.584-.175-9.216 1.425-18.76 7.976-8.948 6.143-18.914 15.31-27.283 25.137l.34.268c-6.134 7.797-13.129 16.816-17.613 25.767-4.485 8.951-6.294 17.19-3.989 24.71l-17.209 5.274c-4.144-13.518-.522-26.817 5.104-38.046 2.208-4.408 4.753-8.587 7.398-12.52C105.378 74.11 62.33 71.25 18 66.748v409.828a264.891 264.891 0 0 1 24.8-19.922l1.901-1.345 2.313-.254c24.034-2.65 55.821-6.651 84.908-15.803 29.086-9.152 54.934-23.401 68.633-45.191l2.558-4.073 4.809-.134c91.21-2.547 140.126-19.862 193.652-50.153.126-.095.252-.199.377-.295-6.874-.376-14.493-.65-22.334-.617-20.444.086-42.1 3.08-51.367 8.973l-9.658-15.188c16.106-10.242 39.29-11.694 60.949-11.785 15.73-.066 30.683 1.026 40.254 1.797 6.938-7.739 13.533-16.503 19.18-25.514 5.066-8.086 9.33-16.386 12.537-24.177-3.821-.55-7.395-1.642-10.633-3.258-8.283-4.134-14.026-11.447-16.754-19.596-3.827-11.432-2.087-24.798 5.268-35.777l-64.641-23.35.277-6.598c.396-9.422-6.387-27.053-14.601-34.712-21.568-20.112-46.91-21.58-78.06-33.93l-3.554-1.408-1.453-3.536c-10.662-25.924-17.06-44.024-23.47-55.5-6.412-11.475-11.574-16.287-23.48-19.841zm-5.808 20.82l9.84 15.072c-29.07 18.978-29.771 34.937-31.23 51.65l-17.93-1.562c1.5-17.208 5.882-43.33 39.32-65.16zM119.6 135.473l8.119 16.064c-42.266 21.357-60.741 47.237-65.88 70.451 14.366-11.279 29.7-17.184 50.218-16.46l15.238.538-7.834 13.08c-17.268 28.834-22.552 42.534-26.24 59.696 4.017-1.528 8.007-2.635 12.119-2.979 9.78-.818 19.142 2.28 29.105 7.746l9.5 5.211-6.869 8.383c-9.978 12.178-13.966 20.02-15.224 27.56-.477 2.856-.454 5.974-.198 9.333 2.711-2.798 5.58-5.305 8.942-7.198 9.125-5.137 19.745-5.825 33.097-4.632l-1.601 17.927c-11.9-1.063-18.132-.162-22.666 2.391-4.534 2.553-8.91 7.798-14.88 18.39l-11.05 19.614-5.516-21.826c-3.535-13.99-5.842-25.216-3.882-36.961 1.486-8.91 5.434-17.37 12.002-26.742-3.422-1.103-6.376-1.5-9.258-1.258-5.244.439-11.572 3.057-20.965 9.203l-17.365 11.361 3.572-20.441c4.283-24.513 7.539-40.242 23.588-69.49-14.037 2.56-23.415 10.322-37.408 25.492l-13.442 14.57-2.12-19.709c-3.829-35.558 16.816-78.954 76.898-109.314zm143.707 26.976c17.788 7.852 39.24 14.301 56.859 16.617l3.707 17.616c-3.852.81-7.24.644-10.861.07-1.363 9.026-9.537 15.736-18.74 15.736-10.089 0-18.946-8.06-18.946-18.396 0-2.45.511-4.766 1.404-6.883-8.85-3.702-23.717-6.978-28.798-14.723 5.796-2.514 14.755-10.553 15.375-10.037zM443.633 225.4c-3.758 6.287-4.294 13.381-2.438 18.928 1.396 4.17 3.941 7.317 7.721 9.203 2.142 1.07 4.803 1.797 8.147 1.823.303-1.51.546-2.968.707-4.348-.926-6.793-6.555-16.61-14.137-25.606z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beaver;

impl IconShape for Beaver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.5 57.19c-16.6.1-32.3 2.34-46.8 7.32-24.6 8.52-46 24.59-62.7 52.19-16.54 27.1-28.43 65.8-33.11 118.8 26.33 7.6 49.11 25.3 67.01 47.8 17.7 6.2 37.2 10.7 56.3 14 27 4.7 53.4 6.8 73.3 7.2 9.9.2 18.2 0 24-.4 2.9-.3 5.2-.6 6.4-.9 7.8-1.8 16-10.8 10.1-16.2-6.8-5.3-25-11.2-39.7-16.3l-10.5-3.6L220 255l12.5-11c11.1-9.7 20.1-21.1 24.3-30.9 4.1-9.9 4-16.6-1.1-22.7l14.2-12c10.3 12 9.9 28.3 4.1 41.9-4.1 9.3-10.4 18.2-17.8 26.4l14.4 4.5c9-7.3 19.4-12.5 29.2-15.2 5.7-1.7 11.3-2.6 16.7-2.4 5.4.2 11.1 1.5 15.4 6.2l1 .9.5 1.2c5.3 10.3 13.7 25.8 22 38.1 4.3 6.3 8.6 11.7 12.1 15 11 8.4 43.9 11.5 52.5 3.1.7-1 1.6-3.4 1.3-6.6-.8-6.5-5.3-14.1-14.1-16.4-18.5-2.8-31.6-12.1-37.8-24.1-6.3-12.2-5.9-26-1.2-37.6 3.1-7.6 10.3-20.2 20.3-32.4 9.8-12.2 21.4-24.6 37.3-26 11.4-.9 25.7-5 37.3-11-8.6-10.6-11.9-21.9-8.7-32.2 3-9.2 9.8-15.8 18.4-20.72-6.7-8.77-16-17.84-27.8-23.49-16.7-8.02-38.8-10.48-69.7 4.84 4.6 3.41 8.7 7.65 12.4 12.44L373 96.31c-5.1-6.7-11.7-11.44-16.2-12.93-4.7-1.49-5.9-1.44-8.6 2.08-2.8 3.83-3.1 7.33-1.6 12.4 1.7 5.04 5.8 11.24 12 16.64l-12.4 13.9c-8-7.1-14.4-15.5-17.3-25-2.1-6.68-2.2-14.1.1-20.97-37.7-14.72-76.2-24.75-111.2-25.22h-3.3zM413 90.81c8.8.21 18.4 3.02 28.4 6.74 0 0-15.1 18.05-23.9 15.65-7.1-2-13-21.66-13-21.66 2.7-.57 5.6-.79 8.5-.73zm69.9 16.09c-6.3 3.6-9.8 7.5-10.7 10.5-1.2 3.6-.6 8.2 6.2 15.9 3.1-3 5.4-6.1 6.5-9.1 2-7.4 1.1-11.9-2-17.3zm-11 53.6c-6.4 3.4-13.3 6.2-20.1 8.4l-6 32.9 15.4-8.4zM67.15 253.8c-4.06 7.5-14.76 28-25.39 56.7-12.86 34.7-21.18 75.7-11.58 96.8 6.61 14.5 20.86 28.3 37.64 37.1 16.77 8.8 35.78 12.6 51.08 9.2 21.8-4.7 39.4-30 44.2-57.7-1.5-30.8-13-64.1-31.3-91-17-25-39.64-43.8-64.65-51.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bed;

impl IconShape for Bed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.802 74.44v.19h12.275v29.433h.004v31.265c-3.326-.562-6.698-.92-10.095-1.084-26.8-1.293-55.033 8.738-73.23 13.36l-7.545 1.92.582 5.564c-.46-.176-.917-.356-1.387-.525l-.705-.256-.74-.135c-4.097-.747-8.27-1.193-12.48-1.39-29.477-1.372-60.834 9.463-81.174 14.523l-7.612 1.892.836 7.8c.605 5.644 1.218 11.59 2.774 17.493-10.642 13.072-10.078 18.35-8.417 27.184l211.14 73.916v74.053C184.03 336.45 106.252 295.828 25.582 264.49v-170h18v.125h12.374v34.77l165.848-21.414V74.44zm-2.088 77.845c1.203-.013 2.39 0 3.564.04 2.818.095 5.505.396 8.09.84 13.548 5.197 20.296 12.637 24.25 21.462-23.255 9.644-44.174 13.507-62.515 15.736-5.277-1.15-9.503-2.466-12.944-3.894-3.802-7.298-9.183-14.244-16.522-20.16-.21-1.08-.405-2.186-.584-3.33 17.414-4.63 38.614-10.504 56.66-10.695zm-94.35 18.528c1.38-.014 2.743 0 4.09.046 3.218.11 6.296.446 9.26.95 15.757 5.89 23.546 14.435 28.002 24.526-26.44 10.85-50.22 15.162-70.965 17.62-17.42-3.692-25.116-8.99-29.17-14.665-3.072-4.302-4.524-9.753-5.53-16.518 19.495-5.077 43.62-11.753 64.314-11.96zM291.8 186.295l26.406 7.453c-59.194 10.41-125.095 28.732-165.18 45.766l-27.443-9.17c21.235-3.146 45.785-8.753 72.568-20.846l5.29-2.39c1.72.44 3.5.853 5.35 1.232l1.42.29 1.44-.17c21.562-2.54 47.905-7.294 77.15-20.782zm68.797 19.418l51.336 14.49-147.905 38.377v17.6l-82.517-27.147-1.77-.59c49.176-17.717 124.438-36.303 180.857-42.73zm127.79 13.68v90.57L283.69 372.127v-99.62zM23.613 282.45L60.837 299v14.674L39.98 322.13l-16.366-10.57zm463.26 49.243v34.995l-21.91 9.515-16.367-7.4v-25.487zm-234.453 52.49l11.608 5.16 9.442 4.196 19.342-6.87v40.848l-22.704 10.043-17.687-12.685z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BedLamp;

impl IconShape for BedLamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.563 25l-87 174H432.93L339.207 25H165.563zM233 217v30h46v-30h-46zm-9 48c-1 0-9.308 1.608-18.52 5.15-9.21 3.543-20.243 8.823-30.648 15.444C154.023 298.836 137 317 137 336c0 59.297 28.834 104.436 59.836 151h118.328C346.166 440.436 375 395.297 375 336c0-19-17.023-37.164-37.832-50.406-10.405-6.621-21.437-11.9-30.648-15.444C297.308 266.608 289 265 288 265h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beehive;

impl IconShape for Beehive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.332L75.168 136.406l-7.594 4.832 9.664 15.188 7.594-4.832L256 42.668l171.168 108.926 7.594 4.832 9.664-15.188-7.594-4.832L256 21.332zm-144.908 5.74l-8.485 13.567 15.26 9.544 8.487-13.565-15.262-9.548zM72.212 44.02L58.963 56.2l10.825 11.78L83.04 55.8 72.212 44.02zm305.13 10.818l-17.856 2.277 2.024 15.87 17.855-2.276-2.023-15.872zM256 58.668l-148.127 94.264L99.34 183h312.994l-8.97-30.553L256 58.667zm0 43.846l57 19V169H199v-47.486l57-19zm0 18.972l-39 13V151h78v-16.514l-39-13zm-84.826 18.72l7.363 14.206-15.98 8.283-7.364-14.205 15.98-8.283zm266.724 45.745l-7.002 16.585 14.74 6.223 7.003-16.582-14.742-6.225zM120.258 201l-17.07 69h312.994l-17.137-69H120.258zM151 231h210v18H151v-18zm-93.36 40.188l-17.58 3.863 3.434 15.628 17.58-3.864-3.433-15.627zM122.187 288l-20.922 78H417.79l-20.997-78H122.186zm203.714 9.682l14.817 10.222-9.088 13.17-14.816-10.224 9.086-13.168zM151 327h210v18H151v-18zm302.44 18.64l-9.086 13.17 14.814 10.223 9.088-13.17-14.817-10.222zM122.185 384l-20.922 78H417.79l-20.997-78H122.186zm103.683 3.213l8.49 13.56-15.255 9.553-8.492-13.558 15.256-9.555zM77.65 398.646l-6.744 14.51 16.323 7.588 6.743-14.508-16.323-7.59zm303.14.815l7.312 14.23-16.012 8.228-7.31-14.232 16.01-8.225zM151 423h210v18H151v-18zm-23 57v16h48v-16h-48zm208 0v16h48v-16h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeerBottle;

impl IconShape for BeerBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200 23v18h21.895l-14.31 123.303c-14.473 8.144-25.962 16.414-34.18 25.265-9.02 9.712-14.405 20.57-14.405 31.97V445.54c0 11.4 5.042 21.877 12.348 29.794 7.305 7.917 17.208 13.666 28.35 13.666H312c11.23 0 21.24-5.72 28.596-13.645C347.953 467.432 353 456.94 353 445.54v-224c0-11.402-5.386-22.26-14.404-31.972-8.22-8.85-19.708-17.12-34.18-25.265L290.106 41H312V23H200zm40.016 18h31.968l8.094 69.727c-2.328-.97-4.98-1.573-8.078-1.573-10.342 0-17.062 6.425-22.15 10.772-5.09 4.346-5.982 7.135-9.85 6.46-4.685-.82-6.447-6.444-8.57-11.41L240.016 41zm31.25 86.113c.235.003.48.016.734.04 5.087.508 7.665 5.963 11.2 10.476l1.212 10.438a9.6 10.338 0 0 0-9.213-7.453 9.6 10.338 0 0 0-9.6 10.338 9.6 10.338 0 0 0 9.6 10.338 9.6 10.338 0 0 0 9.585-10.01l2.817 24.265 4.13 2.225c15.45 8.318 26.69 16.527 33.672 24.046 6.982 7.52 9.596 13.893 9.596 19.723v42.69h-25.568A64 94.77 0 0 0 256 221.54a64 94.77 0 0 0-53.416 42.69H177v-42.69c0-5.83 2.614-12.204 9.596-19.724s18.223-15.728 33.672-24.046l4.13-2.225 4.047-34.856c3.09 2.163 6.88 3.695 11.555 3.695 10.237 0 16.543-6.503 21.54-10.772 4.686-4.002 6.196-6.534 9.726-6.5zM256 166.4a9.6 10.338 0 0 0-9.6 10.338 9.6 10.338 0 0 0 9.6 10.338 9.6 10.338 0 0 0 9.6-10.338A9.6 10.338 0 0 0 256 166.4zm19.2 15.57a9.6 10.338 0 0 0-9.6 10.337 9.6 10.338 0 0 0 9.6 10.338 9.6 10.338 0 0 0 9.6-10.338 9.6 10.338 0 0 0-9.6-10.338zM256 247c13.42 0 23.9 9.857 30.578 22.445 1.962 3.698 3.663 7.726 5.098 12.016H336v18h-40.156c.757 5.4 1.156 11.038 1.156 16.85 0 12.354-1.775 23.944-5.06 34.075H336v18h-52.535c-6.64 9.987-15.97 17.23-27.465 17.23-11.496 0-20.825-7.243-27.465-17.23H176v-18h44.06c-3.285-10.13-5.06-21.72-5.06-34.076 0-5.812.4-11.45 1.156-16.85H176v-18h44.324c1.435-4.29 3.136-8.317 5.098-12.015C232.102 256.857 242.58 247 256 247zm0 18c-4.253 0-9.775 3.644-14.678 12.883-4.902 9.24-8.322 23.063-8.322 38.426 0 15.362 3.42 29.183 8.322 38.422 4.903 9.24 10.425 12.883 14.678 12.883s9.775-3.643 14.678-12.883c4.902-9.24 8.322-23.06 8.322-38.423 0-15.364-3.42-29.188-8.322-38.427C265.775 268.643 260.253 265 256 265zm-79 120.615h35.47a64 94.77 0 0 0 43.53 25.46 64 94.77 0 0 0 43.572-25.46H335v59.924c0 5.83-2.953 12.567-7.596 17.567-4.643 5-10.635 7.893-15.404 7.893H199.697c-4.555 0-10.502-2.867-15.12-7.873-4.62-5.006-7.577-11.758-7.577-17.588v-59.925z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeerHorn;

impl IconShape for BeerHorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.6 37.13c-16.6 0-35.2 7.24-49.3 16.77l-4.8 3.3-5-3.14c-8.9-5.63-18.5-8.59-28-8.81-14.5-.24-23.6 5.99-25.5 12.71-.5 1.72-.6 3.65-.2 5.9l1.4 8.31-8.2 1.99c-13.3 3.24-23.8 8.18-30.5 13.42-6.6 5.24-9.1 10.17-9.1 14.42 0 5 3.5 11 12.6 16.9 9 5.9 23 10.9 39.8 13.4l7.5 1.1.2 7.6c.1 2.8.7 5.3 1.8 7.7h.1c6 12.2 27.4 19.1 47.7 11.4 2.1-.8 4.1-1.8 6.3-3l10.7-5.8 2.4 11.9c3.9 19.1 15.3 29.9 25.3 29.9 10.2 0 21.5-10.8 25.4-30l2.1-10.5 10 3.9c2.6 1 5.5 1.6 8 1.6 6.6 0 13.1-3 18.3-9.1l3.6-4.2 5.4 1.4c14.4 3.7 28.1 3.7 37.9 1.1 9.8-2.5 14.7-7 15.9-11.4.9-3.7-.1-8.4-4.7-14.2-4.6-5.9-12.6-12-23.1-16.8l-20.3-9.2 21-7.49c10-3.58 17.8-8.91 22.4-14.22 4.6-5.29 5.9-9.95 5.1-13.75-1-4.49-5.2-8.89-13.6-11.79-8.4-2.91-20.3-3.68-32.8-.99-6.5 1.41-12.8 3.67-18.2 6.53l-5.4 2.84-4.6-3.93c-13.4-11.36-30.4-15.77-47.6-15.77zm73.6 128.47l.4 26.9a17.62 26.44 0 0 1 9.2 23.2 17.62 26.44 0 0 1-17.6 26.4 17.62 26.44 0 0 1-17.6-26.4 17.62 26.44 0 0 1 8-22.1l-.3-20.6c-4.7 2-9.8 3.1-15 3.1-1.6 0-3.2-.3-4.8-.5-2.3 6.9-5.6 13.3-9.6 18.6l1.1 45.3a17.62 31.49 0 0 1 9.5 28 17.62 31.49 0 0 1-17.6 31.5 17.62 31.49 0 0 1-17.6-31.5 17.62 31.49 0 0 1 7.7-26l-.8-33.1c-4.2 1.8-8.7 2.7-13.4 2.7-18.4 0-32.9-14.3-39.9-33.7-4.7 1.7-9.5 2.8-14.4 3.5 25 38.6 39.9 71.9 46.7 101 9.3 40.2 2.5 73.1-14.4 99.3 15.2 1.4 29.3 7.6 40.1 16.4 11.3 9.3 19.6 21.7 21.4 35.5.3 1.9.4 3.8.4 5.7 11.3-9.3 21.1-19.7 29.5-31.2 40.9-56.2 47.7-140.1 21.7-240.7-4.1-.2-8.4-.6-12.7-1.3zm-107.8 233c-2.2.1-4.4.3-6.6.6-5.5 6-11.4 11.6-17.8 16.9 8.5 2.4 16.2 6.2 22.7 11.1 11 8.4 18.9 20.1 20.3 33.3.3 2.5.3 5.1.1 7.6 8.7-3.5 17-7.4 24.8-11.8 6.9-6.7 8.6-13.5 7.6-20.7-1.1-8.1-6.5-17.1-15-24.1-9.6-7.9-22.4-13.2-36.1-12.9zm-45.1 32.8c-32.1 21.3-70.7 37.5-106.64 54.1 59.84 5.7 109.54 1.7 149.84-10.3 2.5-4.3 3.1-8.5 2.6-12.7-.8-7.2-5.5-15-13.3-20.9-7.9-6-18.4-10.1-30.1-10.2h-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beet;

impl IconShape for Beet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M374.827 83.628c-19.941 25.941-37.3 55.202-57.602 76.85 42.07-31.83 93.583-61.062 124.68-95.268l13.316 12.108c-31.93 35.121-79.62 62.941-118.832 91.4 24.9-4.92 53.317-15.804 78.711-29.416 28.019-15.018 52.44-33.554 64.62-49.343 18.238-23.928 15.072-49.637-10.585-62.534-37.377-13.933-78.551 35.944-94.308 56.203zm-46.483-30.511c-15.83 18.366-27.298 40.84-31.347 60.783-3.094 15.234 4.698 28.31 10.292 38.035 11.866-38.953 66.253-75.01 56.731-106.1-9.103-13.062-29.6.445-35.676 7.282zM207.83 78.914c-26.263-.217-53.339 7.404-81.065 29.466 4.166 13.234 13.735 24.44 28.02 33.88-20.135 1.497-38.098-2.434-55.854-6.884a279.777 279.777 0 0 0-7.3 8.764c-29.215 36.546-25.564 84.915-17.325 138.615 1.185 7.72 2.461 15.545 3.739 23.407 17.961 25.841 44.317 44.605 61.146 63.203-19.724-4.433-39.208-9.504-55.289-23.65 3.355 27.477 4.61 55.088-.47 81.699C128.7 408.55 189.608 405.407 248.45 396.33c42.04-6.486 82.47-15.68 115.178-33.94-43.78-4.386-75.77-32.129-96.555-59.123 40.917 15.231 79.213 37.8 125.236 38.733 7.535-6.843 14.328-14.535 20.244-23.22 30.131-44.224 26.828-82.175 8.877-115.259-6.771-12.48-15.831-24.138-26.154-34.73-13.05 5.58-26.335 10.302-39.338 13.843a147.344 147.344 0 0 0 25.03 4.453l-1.622 17.926c-45.97-7.973-118.646-29.566-129.441-96.715l17.496 4.225c2.818 6.044 6.36 12.536 9.969 17.42.117-11.614 2.105-22.155 5.32-32.373-18.786-8.362-38.644-15.175-58.998-17.617a142.936 142.936 0 0 0-15.863-1.04zm26.185 129.697c32.463 23.194 112.594 55.792 153.52 67.265-61.147 10.412-150.872-7.51-153.52-67.265zM68.64 390.179c-11.983 8.343-19.348 15.435-39.812 19.483l3.492 17.656c15.958-3.157 26.524-8.699 35.037-14.291.864-7.467 1.262-15.092 1.283-22.848zm46.737 45.797c-7.106 1.874-13.862 3.946-20.182 6.281-3.208 11.702-7.301 22.361-16.59 32.729l13.406 12.01c15.115-16.871 19.42-35.009 23.366-51.02zm-52.604.672c-15.72 7.943-30.074 19.765-42.064 36.451l14.615 10.504c5.82-8.101 12.11-14.705 18.844-20.133 2.708-8.829 6.176-18.274 8.605-26.822z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Belgium;

impl IconShape for Belgium {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.58 140.134l96.345-50.655c31.372 11.322 59.187 49.92 97.835 5.463 78.342-53.327 130.757-8.132 183.254 36.75L388.6 207.178c57.963-4.414 73.467 31.762 81.942 53.636-29.926 53.54-26.342 95.11 17.879 122.17l-27.811 56.614c-65.426 10.644-105.67-33.69-166.369-52.145l-6.953-74.99c-16.112 16.186-24.636 38.348-51.152 46.682-29.97 9.42-25.983-39.012-31.784-70.024-67.292-2.234-91.53-47.524-116.21-92.372l-30.79 16.886c-38.186-13.53-28.485-46.568-33.77-73.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BellPepper;

impl IconShape for BellPepper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M361.8 41.1c-5.7-2.05-12.3-3.79-17.9-3.45-14.3 1.02-36.9 19.26-54.3 38.66-9.7 10.73-16.8 20.02-22.1 27.39 8.7 2.1 16.4 5 23.9 7.7 11.6-15.47 26.2-34.05 46.8-40.55 12.1-3.75 26.1-2.2 39.3 6.61 12.5 8.35 24.8 22.94 37.7 45.04 16.6 2.9 28 3.7 31.3-12.7-3.4-4-16.4-19.27-35.4-36.28-15.4-13.72-33.7-26.47-49.3-32.42zM147.3 95.33c-11.2 4.5-20.2 12.17-25.9 24.97C76.1 222.2 63.25 298 65.79 348.2c1.22 25.1 6.34 43.7 12.81 55.9 7.18 11.7 12.32 17.4 24.2 19.4-3.18-23-.8-45.9 2.3-67.5l13.1 22c-.9 17.9-3.5 30.9 4.1 47.2 10 18.3 33.3 33.8 56.2 39.8 11.4 3.1 22.7 3.9 31.6 2.2 17.8-3.8 34.4-28.7 39.7-37.6l21.6-7.7c-9.9 16.3-19.5 32.8-29.1 46.9 1.7.7 3.5 1.4 5.2 2.3 9.3 4.1 17.9 4.5 28.4.2 10.3-4.3 22.5-13.8 36.2-30.3 27.3-33.1 60.2-93.2 100-188 15.3-36.5 1.5-63.4-20.2-80.2-9.1-6.6-17.9-11.3-28.1-13.8 5.8 26.3-.6 53.6-6.2 76.4l-15.4-17.9c2-15 11.2-46.5.5-56-27.6-21.8-72.4-43.1-108.7-44.1-14.6-.1-25 3.4-31.1 11.7-6.5 9.1-12.9 19.4-18.9 30.6l-25.4 10.8c11.7-21.6 31.6-62.2 54.9-69.2-20.3-10.07-46-13.73-66.2-5.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bellows;

impl IconShape for Bellows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109 23.76c-2 0-3.9.22-5.8.83-7.29 2.25-10.55 4.99-11.98 7.22-1.42 2.24-1.85 4.78-.81 9.3 2.06 9.04 11.39 23.41 23.59 38.22 12.2 14.81 26.9 30.47 39.2 44.97 12.2 14.6 22.5 27.2 24.6 41.2l.2 1.6-.3 1.6c-4.8 22.2-11.6 43.2-12.6 62.3-1 19 2.8 35.5 19.8 52.4 34.8 34.8 73.3 64.8 111.9 85.7 32.1-1 62.1-4 84.6-15.5-5.2-40.8.9-82.3-38.9-119.8-36.2-34.2-84.9-53.4-130.4-82.6l-.2-.2-.2-.2c-10.1-7.4-18.4-19.8-27.3-34.2-9-14.4-18.2-30.91-27.8-46.03-9.5-15.11-19.5-28.79-28.9-37.2-7.1-6.3-13-9.45-18.7-9.61zm44.8 245.94l-5.9 22.3c14.8 29.7 42.7 68.4 69.2 83.1-18.2-2.2-60.9-28.7-78.4-48.6l-4.5 17.1c13.2 20.4 34.1 36.7 60 48.5-16.5 1.3-45.9-7.3-63.3-20.1 6.8 11.9 17.1 20.8 30.6 28.4 16.4 9.2 37.3 15.8 60 21.7l138.2 30.8-1.1-20.3-79.8-52.9c-37.2-21.6-73.5-50.5-106.7-83.5-8.4-8.4-14.3-17.4-18.3-26.5zm-109.73 2c-.76 0-1.48.1-2.18.1-5.58.4-9.34 2.5-12.1 5-5.5 4.9-7.05 14.3-6.15 17.9-.17-.6 2.99 3.9 10.29 8.1 7.3 4.1 17.69 8.6 29.21 12.9 17.98 6.6 37.86 12.6 55.06 17.8l5.3-19.8c-6.5-3.8-14.2-8.6-22-13.6-8.27-5.3-16.62-10.7-23.41-15.1-6.79-4.3-12.96-7.8-13.21-7.9-8.76-3.9-15.52-5.3-20.81-5.4zm343.53 99.1c-20 9.8-42.9 13.6-66.7 15.2l44.6 29.5 39.8-9.7zm11.9 55.4c-2.7.1-5 .5-6.9 1.1-5 1.6-7.8 4.6-9.4 8.4-3.4 7.6-.4 17.4 5.8 19.9.2.1 23 8.6 46.4 17.2 6.3 2.3 12.6 4.6 18.6 6.8-.4-2.3-.6-4.6-.6-7 0-8.5 2.4-16.4 6.8-22.6.5-.6.9-1.2 1.5-1.8l-44.8-18.6c-5.7-2-10.5-3-14.5-3.3-1-.1-2-.1-2.9-.1zM480 457c-1.5 0-3.2.8-5.1 3.5-2 2.7-3.5 7.1-3.5 12.1s1.5 9.4 3.5 12.1c1.9 2.7 3.6 3.5 5.1 3.5 1.5 0 3.2-.8 5.1-3.5 2-2.7 3.5-7.1 3.5-12.1s-1.5-9.4-3.5-12.1c-1.9-2.7-3.6-3.5-5.1-3.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeltArmor;

impl IconShape for BeltArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41.637 149.081c-8 8-12.614 12.191-15.688 18.338a24.99 24.99 0 0 0-.762 1.693c2.524 3.111 8.067 7.313 15.913 11.319.122-2.589.387-3.834.95-4.961.927-1.854 4.313-5.662 12.313-13.662zm428.726 0l-12.726 12.727c8 8 11.386 11.808 12.312 13.662.564 1.127.829 2.372.951 4.96 7.846-4.005 13.39-8.207 15.913-11.318a24.987 24.987 0 0 0-.762-1.693c-3.074-6.147-7.688-10.338-15.688-18.338zM25 192.235v40.46c2.57 3.827 8.588 8.77 17.594 13.35-.09-7.824-.051-16.625.42-25.1.371-6.692.974-13.156 2.113-19.067-.933-.362-1.857-.727-2.768-1.098-6.406-2.606-12.164-5.418-17.359-8.545zm462 0c-5.195 3.127-10.953 5.94-17.36 8.545-.91.37-1.834.736-2.767 1.098 1.139 5.911 1.742 12.375 2.113 19.066.471 8.476.51 17.277.42 25.102 9.006-4.58 15.024-9.524 17.594-13.352zm-287.947 4.21l-28.782 116.92L247 362.918v-53.037l32-16v-36.875l-32-16v-44.563zm65.947 0v33.437l32 16v59.125l-32 16v41.912l76.727-49.555-28.78-116.92zm-202.592 11.32c-.652 4.18-1.138 9.07-1.422 14.18-.6 10.81-.439 22.186-.238 31.54 10.017 3.447 21.35 6.541 33.205 9.176 3.023.672 6.078 1.305 9.143 1.916.167-11.67.634-24.206 1.959-36.127.382-3.437.808-6.83 1.314-10.152a577.925 577.925 0 0 1-10.223-2.047c-11.617-2.446-23.062-5.26-33.738-8.486zm387.184 0c-10.676 3.225-22.121 6.04-33.738 8.486a577.929 577.929 0 0 1-10.223 2.047c.506 3.321.932 6.715 1.314 10.152 1.325 11.921 1.792 24.456 1.96 36.127 3.064-.611 6.12-1.244 9.142-1.916 11.855-2.635 23.188-5.729 33.205-9.176.201-9.354.362-20.73-.238-31.54-.284-5.11-.77-10-1.422-14.18zm-325.36 13.69a143.349 143.349 0 0 0-1.287 8.983c-1.33 11.97-1.744 25.1-1.877 37.372a552.7 552.7 0 0 0 40.65 5.002l11.18-45.418c-13.402-1.03-30.389-2.98-48.666-5.94zm263.536 0c-18.277 2.96-35.264 4.909-48.666 5.939l11.18 45.418a552.7 552.7 0 0 0 40.65-5.002c-.133-12.272-.547-25.402-1.877-37.372-.345-3.098-.78-6.102-1.287-8.984zm-360.682 36.76l1.447 24.82c34.692 13.847 77.37 23.68 123.403 29.513l5.396-21.92c-20.851-1.924-44.708-5.38-67.283-10.397-18.38-4.084-35.837-9.177-50.203-15.562-4.55-2.022-8.838-4.14-12.76-6.453zm457.828 0c-3.922 2.314-8.21 4.432-12.76 6.454-14.366 6.385-31.824 11.478-50.203 15.562-22.575 5.017-46.432 8.473-67.283 10.397l5.396 21.92c46.033-5.834 88.711-15.666 123.403-29.514z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BerriesBowl;

impl IconShape for BerriesBowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M285.4 61.74c-12-.1-22.7 6.5-26.9 17.14-2.4 5.9-2.3 12.28-.4 18.17 2.6 2.49 4.9 5.25 6.9 8.05 4.2-1.2 8.6-1.9 13.2-1.9 8.8 0 17.1 2.5 24.1 6.8 3.5-7 8.9-12.96 15.6-17.4.3-11.66-7.3-23.3-20.2-28.43-4.1-1.62-8.2-2.4-12.3-2.43zm-65.7 37.75c-11.8 0-22 5.91-25.9 15.31-5.4 13.1 2.5 30.1 19.6 37.2 17.2 7.1 34.8.7 40.2-12.4 5.5-13-2.4-30-19.6-37.1-4.8-2.1-9.7-2.99-14.3-3.01zM346.8 102c-15.6 0-27.6 9.6-30.2 21.4 4.6 6.6 7.4 14.6 7.9 23.1 5.5 4.9 13.3 8.1 22.3 8.1 17.7 0 30.8-12.3 30.8-26.3S364.5 102 346.8 102zm-68.6 19.2c-2 0-4 .2-5.9.6 1.9 8.1 1.4 16.6-2 24.7-3.3 7.9-8.7 14.1-15.4 18.5 5.1 7.3 13.6 12 23.3 12 15.8 0 28.4-12.5 28.4-27.9 0-15.4-12.6-27.9-28.4-27.9zm-138.3 15.1c-5.1-.1-10.2 1.2-14.7 3.8-14.4 8.5-19.1 28.8-9 46.2 10.1 17.3 30.2 23.2 44.6 14.8 14.5-8.4 19.1-28.8 9-46.1-6.9-12-18.6-18.5-29.9-18.7zm263.4 22.4c-18.8-.3-34.5 11-37.6 26.8-3.5 18 10.4 36.9 32.8 41.2 22.4 4.4 42.4-7.9 45.9-25.9s-10.4-36.9-32.8-41.2c-2.8-.5-5.6-.8-8.3-.9zm-211 1.3c-.4.1-.7.1-1 .2 5.2 19.8-.8 40.9-16.5 53.1 6.3 6.2 15.2 10.1 25.2 10.1 19.4 0 34.5-14.6 34.5-32.1 0-6.8-2.3-13.2-6.2-18.4-7.2 0-14.7-1.3-21.8-4.3-5.3-2.2-10.1-5.1-14.2-8.6zm129.2 6.1c-.1.1-.2.1-.3.2-2.6 6.3-6.6 12-11.6 16.5-.3 1.3-.4 2.6-.4 4 0 13.3 11.4 24.4 26.3 24.4 5.4 0 10.3-1.5 14.4-4-2.8-7.9-3.6-16.4-1.9-25.1.7-3.4 1.7-6.6 3-9.7-1.4.1-2.8.2-4.2.2-9.2 0-17.9-2.4-25.3-6.5zm-69.2 21c.1 1.4.2 2.8.2 4.2 0 12.9-5.1 24.6-13.5 33.4 9 1.4 17.2 5 24.1 10.1 5.6-13.4 16.9-25 31.3-32.1-1.2-2.9-2.1-6-2.6-9.1-.2-.2-.4-.3-.6-.5-4.2 1.2-8.5 1.9-13 1.9-9.5 0-18.5-2.9-25.9-7.9zM98.41 202.5c-10.6 0-21.75 6.7-27.74 18.9-5.44 11.1-4.72 22.8.36 31.2 11.47 2.6 22.99 5 34.57 7.1 5.3-3.2 10-8.1 13.2-14.7 5.3-10.9 4.7-22.5-.3-30.8-4.1-2.8-8-6.1-11.4-10-2.7-1.1-5.7-1.6-8.69-1.7zm206.59 15c-16.1 6.9-26.5 20.3-27.6 34 3.1 5.9 4.9 12.4 5.2 19.4.7 1.1 1.6 2.1 2.4 3.1 26.1-.7 51.8-2.7 77.1-5.9 6.4-8.2 9.1-18 7.2-27.3-1.5-6.9-5.4-13-11-17.7-6.7 3.9-14.5 6.1-22.8 6.1-11.7 0-22.5-4.4-30.5-11.7zm-146.9 3.9c-5.9 1.5-12.1 1.8-18.1.9 1.4 10-.3 20.8-5.1 30.7-1.9 3.9-4.2 7.4-6.9 10.6 14.9 2.4 29.8 4.3 44.7 5.9.7-.2 1.3-.5 2-.7 1.1-.4 2.3-.7 3.4-1 1-9.5 5-18.2 11-25.3-.2-.8-.4-1.6-.7-2.4-12.2-2.6-22.9-9.3-30.3-18.7zm292.4 6c-13 14.2-34.1 21.1-55.4 17-1.7-.3-3.3-.7-4.9-1.2-.3 1.9-.5 3.8-.5 5.8 0 5.2 1.2 10.2 3.2 14.6 22.2-3.8 44-8.5 65.2-14.2v-.4c0-8.2-2.9-15.8-7.6-21.6zM230.2 242c-16.4 0-29.6 10.1-33.4 23.2 4.9.1 9.9.7 14.9 1.9l.8.2.8.3c3.5 1.7 6.8 3.6 9.9 5.8 13.8.7 27.7 1 41.5.9V273c0-16.8-15-31-34.5-31zM31.29 260.9c9.75 21.4 26.04 48.9 45.97 74.9 25.44 33.4 57.04 64.5 86.84 79.4l5 2.5v5.6c0 3 1.2 5.6 5.1 8.9 3.9 3.4 10.5 6.8 18.7 9.6 16.6 5.5 40 8.5 63.2 8.5 23.2 0 46.6-3 63.2-8.5 8.2-2.8 14.8-6.2 18.7-9.6 3.9-3.3 5.1-5.9 5.1-8.9v-5.6l5-2.5c29.8-14.9 61.4-46 86.9-79.4 19.7-25.8 35.9-53 45.7-74.3-74.9 22.5-157.3 32.6-241.2 30.4 4.3 8.4 5.8 18.4 2.7 28-10.4 31.5-42.7 52.9-76.8 67.2l-5.9 2.5-4.3-4.7c-11.3-12.5-15.3-30.4-15.7-48.1-.4-17.6 2.9-35.2 9.6-48.2v-.1c.6-1.2 1.3-2.4 2.1-3.5-40.3-5.2-80.53-13.2-119.91-24.1zm163.41 22.3c-.4.1-.7.1-1.1.1-4.6.3-9 1.2-13 2.6-7.9 2.7-13.7 7.5-15.5 11-4.7 8.9-7.9 24.5-7.6 39.5.3 12 3 23.3 7.4 31.1 28.9-13.2 53.2-32.1 60.1-53.2 1.8-5.3.8-10.6-2.6-16.1-2.3-3.7-5.7-7.2-9.8-10.1-10.3 19.1-19.3 37.6-20.7 47.8l-17.8-2.4c2.1-15.2 10.9-32.5 20.6-50.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BerryBush;

impl IconShape for BerryBush {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M59.88 52.08c-6.83.11-12.17 1.87-15.99 5.34C19.35 79.67 15.6 117.7 26.63 158c9.74 35.6 31.13 71.9 56.99 96.9.48.2.98.4 1.47.6-.84-11.8.74-23.3 6.28-36l16.43 7.2c-5 11.4-6 20-4.7 30.3 16.8-6 36.4 9 39.9 23.3 6 24.1-23.8 55.9-48.48 56.4-15.43.3-32.55-12.6-41.23-28-6.94 6.3-13.04 12.6-17.91 18.9-13.01 16.8-17.27 31.4-9.21 46.8 6.62 12.8 17.27 20.9 31.47 26 14.19 5.1 31.84 6.8 50.56 5.8 23-1.3 47.5-6.7 69.5-13.9-3.6-5.9-5.9-12.4-5.8-18.7.3-15.7 11-36.2 28.7-30.7l-2.6-17.2 17.8-2.8 3 19.3c2.1-.7 4.3-1.1 6.5-1.1 11.8 0 23.9 9.7 27.3 19.8 2.9 8.6.9 18.7-3.8 27.9 17.9 8 37.7 15.8 58.3 22.3 2.9-9.8 11.4-20.1 21.8-20.3 2.7-.1 5.5.6 8.4 2.1 1.5-8.1 2.3-15.5 1.1-22.4l17.8-3c1.6 9.9.5 19.2-1.1 27.9 12-.1 23.3 11.5 24.6 21.6.4 3.3 0 6.6-1.1 9.9 19.6 2.1 38.2 1.8 55-1.6-5.9-5.7-10-12.8-10.4-19.9-.8-12.8 7.2-30.4 22.8-28-.5-6.1-1.2-12.2-2.2-18.1l17.6-3.4c1.3 6.5 2.1 13 2.6 19.3 2-.7 4.1-1.1 6.2-1.1 7.8-.2 15.8 3.8 20.7 9.2.6-4.3.4-9.3-.5-14.9-1.9-11.9-6.9-25.7-12.9-38.6-6.2-13.4-13.2-25.8-18.6-34.6-6.2 4.5-13.2 7.5-19.7 7.6-17.5.4-37.8-21.1-35.9-38.5 1.3-11 9.4-24.3 21.1-24.7 2.2-.1 4.5.3 7 1.2-.1-10-1-22.2-1.7-30.3l18-1.6c.7 8.3 2 20.8 1.9 32.4 4.2-.5 8.4.4 12.2 2.2 2.7-7.2 5.6-15.4 8.2-24.1 9-29.4 14.1-64.1 6.2-81.4-4.7-10.3-11.9-20.1-20.7-28.8 2.6 4 4.4 8.2 4.9 12.3 3.3 24.6-29.8 52.8-54.4 50.5-22.7-1.9-45.8-32.9-40.8-55.3 3.1-13.5 14.6-28.87 28.9-29.21 6.5-.15 13.6 2.8 20.7 10.43 8-5.62 16.7-5.55 24.3-2.35-23.9-17.08-54.1-27.46-80.6-26-10.4.56-28.7 12.65-42.8 25.62C301.6 108.2 291.2 121 291.2 121l-6.6 8.1-7-7.7s-9.4-10.3-21.9-20.7c-12.5-10.44-28.7-20.12-37.2-20.6-4.3-.24-15.8 4.57-24.7 10.46-9 5.9-16 11.94-16 11.94l-5.6 4.9-5.8-4.6s-24.3-18.72-52.6-33.46c-14.08-7.36-29.2-13.63-41.97-16.08-3.19-.62-6.16-.99-8.93-1.13-.52 0-1.03 0-1.53-.1h-1.49zm27.49 39.34c3.22 8.1 4.87 16.18 5.65 24.08 1.9-.6 4-1 6.1-1 9.68-.1 19.88 5.9 23.58 13.2 8.7 16.8-8 45.6-26.28 50.3-16.96 4.4-41.65-11.9-43.79-29.3-1.52-13.3 5.84-32 22.64-29.1-.51-7.4-1.85-14.5-4.64-21.54zM234.8 169.2l17.8 2c-1 8.7-1.4 17.7-1 26.9 12.4-3 26.2 7.8 28.8 18.1.4 1.6.6 3.3.6 5 4.7-3.9 10.5-5.5 17-2.6 1.8-12.1 6.6-23.6 11.7-34.5l16.4 7.6c-4.6 9.8-8.3 19-9.9 27.7 12.7-2.6 26.3 10.3 29 22.7 4.8 22.7-19.2 52.6-39 53-18.3.5-39.5-26.1-37.6-47.6 0-.4.1-.7.1-1.1-7.3 7.4-16.8 12.6-25.5 12.7-17.5.4-37.8-21.1-35.9-38.5 1.3-10.9 9.4-24.2 21.1-24.6 1.7-.1 3.4.1 5.2.6-.2-9.3.2-18.5 1.2-27.4zm-80.6 248.4c-7.5 1.7-15.1 3.1-22.8 4.3-5.5 21.6-12.4 45.8-29.8 68.3h86.5c-17.5-22-28.5-48-33.9-72.6zm210.7 27.8c-8.2 6.6-18.4 10.8-27.2 9.9-.8-.1-1.7-.2-2.5-.4-2.9 11.9-7.3 24.2-14.4 36.3h79.5c-14.6-10.6-24.5-22.4-30.8-34.9-1.8-3.6-3.3-7.3-4.6-10.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Biceps;

impl IconShape for Biceps {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.832 39.06c-15.022 15.31-15.894 22.83-23.473 43.903 2.69 9.14 5.154 16.927 9.148 25.117 5.158.283 10.765.47 15.342.43-6.11-10.208-8.276-19.32-4.733-35.274 4.3 19.05 12.847 29.993 21.203 34.332 3.032-.334 5.957-.714 8.776-1.146-6.255-10.337-8.494-19.47-4.914-35.588 3.897 17.27 11.287 27.876 18.86 32.94 4.658-1.043 9.283-2.243 13.927-3.534-5.517-9.69-7.36-18.692-3.97-33.957 3.357 14.876 9.307 24.81 15.732 30.516 5.095-1.57 9.296-2.898 13.852-4.347-.685-5.782-.416-12.187 1.064-19.115l1.883-8.8 17.603 3.76-1.88 8.804c-3.636 17.008 1.324 24.42 7.306 28.666 5.98 4.244 14.69 3.46 16.03 2.6l7.576-4.86 9.72 15.15c-3.857 2.34-7.9 5.44-11.822 7.06 18.65 27.678 32.183 61.465 24.756 93.55-2.365 9.474-6.03 18.243-11.715 24.986 12.725 12.13 21.215 22.026 31.032 34.5-3.713-2.387-7.586-4.844-11.692-7.37-11.397-7.01-23.832-14.214-34.98-19.802-16.012-7.8-31.367-18.205-47.73-20.523-22.552-2.967-46.27 4.797-73.32 21.06 7.872 8.72 13.282 15.474 20.312 24.288-6.98-4.338-14.652-9.07-23.16-14.23-32.554-17.48-65.39-48.227-100.438-49.99-30.56-1.092-59.952 14.955-89.677 38.568L18 254.293V494h31.963c45.184-17.437 80.287-57.654 97.03-94.52l.25-.564.325-.52c9.463-15.252 11.148-29.688 16.79-44.732 5.645-15.044 16.907-29.718 41.884-38.756 4.353-2.16 5.07-1.415 8.633 1.395 30.468 24.01 57.29 32.02 83.24 32.35 32.61-1.557 58.442-9.882 85.682-19.38-3.966 3.528-8.77 7.21-13.986 10.762-15.323 10.436-34.217 19.928-46.304 24.8-14.716 2.006-28.36 2.416-41.967.616-9.96 12.09-25.574 20.358-37.35 26.673 63.92 14.023 115.88.91 167.386-22.896-9.522-1.817-19.008-3.692-27.994-5.42 31.634-4.422 64.984-3.766 94.705-3.53 4.084-.02 7.213-.453 8.7-.886 14.167-51.072-4.095-97.893-34.294-145.216-30.263-47.425-72.18-94.107-101.896-143.04-21.1-17.257-48.6-31.455-77.522-46.175-20.386 4.25-41.026 9.336-61.443 14.1zm85.385 70.49c-11.678 3.6-23.71 7.425-33.852 10.012 2.527 4.93 3.735 10.664 3.395 16.202 11.028.877 21.082-2.018 28.965-6.356 4.845-2.666 8.74-6.048 11.414-8.96-3.854-2.735-7.26-6.41-9.923-10.9zm-54.213 14.698c-11.76 1.143-24.59 2.362-35.06 2.236 2.39 4.772 3.78 12.067 8.51 14.84 11.18 1.164 20.6 1.997 29.91-1.746 5.435-3.214 1.818-15.058-3.36-15.33zm-34.98 209.332c-17.593 7.233-22.586 15.14-26.813 26.406-3.998 10.66-6.227 25.076-14.48 41.014 32.29-6.38 69.625-21.23 93.852-40.088-17.017-5.098-34.553-13.852-52.557-27.332zm9.318 71.385c-18.723 7.237-40.836 16.144-59.696 14.062C143.774 446.68 124.012 474.03 91.762 494h84.68c21.564-29.798 38.067-56.575 40.9-89.035z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BilledCap;

impl IconShape for BilledCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.7 53.97c-6.5-.1-16.1 2.87-15.6 9.53.4 5.62 36.7 4.08 36.8-.21.2-6.21-14.1-9.26-21.2-9.32zm-74.6 41.99c-16 7.14-33.09 16.14-45.82 28.34-33.62 35.1-56.12 87.9-50.74 172.6 16.25 22.5 76.46 36.7 108.06 41.7 51.1-22 206.3-45.3 265.1-22.1-1.4-47.7-13.8-105.6-45.1-151.9-19.6-35.8-50.2-62-89.9-75.84-45.6-14.5-97-13.1-141.6 7.2zM151.4 356c30.9 46 62.2 82.9 108.7 101.6 2.6.5 6.6 1.1 9.8-1.3 38.8-29.3 146.8-33.6 212.6-14.8 3.6 1 7.1-4.5 5.1-8.2-17.4-31.7-36.9-63.7-75-90-78.8-32.6-191.1-7.8-261.2 12.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bindle;

impl IconShape for Bindle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M459.03 42.48c-2.55-.025-5.894.37-9.842 1.18-11.325 11.974-22.63 23.982-33.936 35.99 9.132-1.408 19.102-2.543 29.178-3.183 1.767-.112 3.53-.204 5.29-.28 6.668-7.36 13.322-14.714 19.958-22.068-.224-5.638-1.588-8.51-3.414-9.86-1.075-.794-3.04-1.545-6.188-1.742-.33-.02-.68-.034-1.045-.038zM300.396 62.234c-5.184-.05-9.115.76-11.852 2.032 1.86 10.065 11.133 23.568 26.262 33.168 9.702 6.156 21.45 10.673 34.35 12.328 1.83-10.858 7.36-20.503 15.236-27.108-9.046-4.71-19.862-9.646-30.77-13.404-11.056-3.81-22.124-6.455-30.927-6.94-.79-.043-1.558-.068-2.298-.076zm88.697 29.29c-12.05 0-22.606 11.1-22.606 26.117 0 2.084.21 4.088.592 6 7.943-3.524 15.51-9.308 22.336-15.247 4.76-4.14 9.056-8.22 13.36-11.55-3.855-3.367-8.636-5.32-13.682-5.32zm69.502 2.45c-4.225.02-8.608.177-13.024.458-7.024.446-14.114 1.217-20.838 2.154 3.172 6.314 4.965 13.51 4.965 21.055 0 .088-.005.175-.006.262 9.91.117 19.423-1.054 27.94-3.193 9.94-2.498 18.488-6.28 24.524-10.378 2.99-2.03 5.274-4.132 6.918-6.06-2.74-1.208-6.496-2.405-11.256-3.124-4.463-.674-9.58-1.04-15.054-1.144-1.37-.026-2.76-.035-4.168-.03zm-47.24 19.102c-2.818 2.398-6.25 5.526-10.124 8.895-6.77 5.89-14.976 12.635-24.794 17.317 3.663 2.844 8.05 4.47 12.656 4.47 12.05 0 22.605-11.1 22.605-26.116 0-1.567-.122-3.09-.342-4.564zm-65.08 39.9c-24.567 26.112-49.153 52.204-73.844 78.165-.207.578-.386 1.057-.592 1.633-3.1 8.662-6.002 16.934-6.002 16.934l-8.33-2.922c-19.385 20.305-38.846 40.505-58.393 60.588.314-4.198 1.113-8.584 2.54-13.29l-17.22-5.23c-3.96 13.04-4.087 25.034-2.287 35.905-39.558 40.36-79.537 80.127-120.208 118.904 4.97.714 9.293 2.395 13.003 4.975 5.108 3.55 8.363 8.17 10.45 13.04 17.98-18.18 35.817-36.342 53.516-54.488l-4.406-10.23s8.09-3.484 16.627-7.1c2.732-1.155 5.238-2.195 7.82-3.272 52.52-54.117 103.84-108.087 154.162-161.932 3.956-8.16 7.978-16.437 11.972-24.802 7.444-15.593 14.738-31.41 21.19-46.88zm19.255.565c-7.26 17.985-15.68 36.216-24.204 54.07-17.833 37.354-36.067 73.075-44.787 99.236-6.393 19.176 4.528 44.254 24.772 64.843C341.558 392.28 370.296 407 392 407c21.62 0 50.51-15.045 70.83-35.828s31.132-45.893 24.682-64.178c-13.708-38.856-51.462-87.162-76.266-152.404-1.886 1.344-3.88 2.53-5.975 3.52-3.163 31.98 9.366 64.71-13.27 65.89-23.425 1.22-21.09-35.15-21.027-66.877-1.91-1.04-3.726-2.243-5.444-3.582zm78.28 117.245c11.813 15.312 17.416 32.482 16.237 49.293-1.255 17.897-10.14 34.967-25.26 48.758l-11.293-12.38c2.583-3.106 4.936-6.212 7.053-9.327 4.492-5.66 7.63-11.578 9.512-17.618.723-1.79 1.4-3.586 1.993-5.4 5.532-16.914 5.167-34.305 1.756-53.327zm-129.246 41.688c.034.038.066.078.1.117 6.64 7.516 16.95 14.62 33.078 22.3 4.968 2.965 11.132 5.073 18.106 7.962l-6.89 16.628c-7.56-3.13-17.076-5.836-25.897-12.894-8.488-6.792-15.337-17.694-18.496-34.113zM55.784 461.215c-3.93.045-9.178 1-16.087 3.478-1.082 1.016-2.16 2.037-3.242 3.05 2.886 4.915 6.124 8.473 9.877 10.587 4.718 2.658 11.108 3.672 21.414 1.17.98-.988 1.952-1.974 2.932-2.96-.754-5.7-2.693-10.818-6.012-13.126-1.75-1.216-4.526-2.25-8.88-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Binoculars;

impl IconShape for Binoculars {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M186.436 86.738c-9.044 0-19.112 5.87-26.735 21.114l-6.807 13.62c2.48-.203 4.968-.31 7.455-.31 18.02 0 36.005 5.363 51.87 15.977v-30.984c-7.5-13.917-17.102-19.418-25.782-19.418zm139.128 0c-8.68 0-18.28 5.5-25.78 19.418v30.994c18.064-12.06 38.895-17.28 59.345-15.638l-6.83-13.66c-7.624-15.245-17.692-21.114-26.736-21.114zm-165.216 51.926c-19.05 0-38.08 7.693-53.74 23l-37.38 65.418c14.492-6.743 30.633-10.518 47.64-10.518 39.96 0 75.16 20.792 95.35 52.124V159.846c-15.293-14.115-33.58-21.182-51.87-21.182zm192.433.033c-18.662-.306-37.39 6.74-52.997 21.145v108.845c20.19-31.33 55.39-52.123 95.348-52.123 17.01 0 33.15 3.775 47.643 10.518l-37.38-65.418c-15.35-15.003-33.95-22.66-52.612-22.967zM256 151.957c-5.113 0-11.882 2.775-25.783 9.627v133.014c7.246-5.314 16.164-8.467 25.783-8.467 9.62 0 18.537 3.154 25.783 8.468V161.584c-13.9-6.852-20.67-9.627-25.783-9.627zm-139.13 82.607c-52.767 0-95.35 42.582-95.35 95.348s42.583 95.35 95.35 95.35c52.765 0 95.347-42.584 95.347-95.35 0-52.766-42.582-95.348-95.348-95.348zm278.26 0c-52.765 0-95.347 42.582-95.347 95.348s42.582 95.35 95.348 95.35c52.767 0 95.35-42.584 95.35-95.35 0-52.766-42.583-95.348-95.35-95.348zm-279.827 19.004c1.223-.018 2.448-.008 3.674.03 7.344.225 14.694 1.462 21.77 3.816 36.842 11.343 59.745 51.664 50.622 89.11-7.652 37.743-45.455 64.51-83.595 59.17-38.748-3.865-69.376-39.578-67.16-78.483.167-11.41 3.133-22.336 8.2-32.124A26.087 26.087 0 0 0 73.39 312.52a26.087 26.087 0 0 0 26.09-26.084 26.087 26.087 0 0 0-17.447-24.584c9.058-4.694 19.097-7.594 29.606-8.147 1.218-.072 2.44-.118 3.663-.137zm278.26 0c1.223-.018 2.448-.008 3.673.03 7.344.225 14.696 1.462 21.774 3.816 36.84 11.343 59.742 51.664 50.62 89.11-7.652 37.742-45.453 64.51-83.59 59.173-38.75-3.865-69.38-39.582-67.163-78.488.167-11.41 3.133-22.334 8.2-32.122a26.087 26.087 0 0 0 24.575 17.433 26.087 26.087 0 0 0 26.086-26.084 26.087 26.087 0 0 0-17.443-24.584c9.057-4.694 19.095-7.594 29.603-8.147 1.22-.072 2.44-.118 3.664-.137zM256 304.13c-14.346 0-25.783 11.436-25.783 25.782s11.437 25.783 25.783 25.783c14.346 0 25.783-11.437 25.783-25.783 0-14.346-11.437-25.78-25.783-25.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdCage;

impl IconShape for BirdCage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32c-19 0-33.7 9.78-43 21.38-9 11.23-13.7 23.79-14 34.57-23.5 7.08-43.4 18.65-60 33.35-28.6 25.4-47.21 59.9-59.54 96.9C56.21 287.9 55.07 366.9 55.02 416h18c0-19.9.29-44.3 2.08-71H119v71h18v-71h46v71h18.1c.2-9.6.8-19.7 1.8-30H247v30h18v-30h44.3c.9 10.3 1.4 20.4 1.6 30H329v-71h46v71h18v-71h43.9c1.8 26.7 2.1 51.1 2.1 71h18c-.1-49.1-1.2-128.1-24.5-197.8-12.3-37-30.9-71.5-59.5-96.9-16.6-14.7-36.5-26.27-60-33.35-.3-10.78-5-23.34-14-34.57C289.7 41.78 275 32 256 32zm0 18c13 0 22.3 6.22 29 14.62 4.8 5.98 7.8 13.27 9.2 18.78-11.9-2.22-24.6-3.4-38.2-3.4-13.6 0-26.3 1.18-38.2 3.4 1.4-5.51 4.4-12.8 9.2-18.78 6.7-8.4 16-14.62 29-14.62zm-9 48.19V208h-46V106.1c13.7-4.5 28.9-7.2 46-7.91zm18 0c17.1.71 32.3 3.41 46 7.91V208h-46zm-82 15.11V208h-46v-59.1c4.4-5 9-9.8 14-14.2 9.5-8.4 20.1-15.7 32-21.4zm146 0c11.9 5.7 22.5 13 32 21.4 5 4.4 9.6 9.2 14 14.2V208h-46zM119 174v34h-16.7c4.8-12 10.3-23.4 16.7-34zm274 0c6.4 10.6 11.9 22 16.7 34H393zm23 51.4c10.7 32.7 16.4 68.2 19.5 101.6H393V226h23zm-320 .1v.5h23v101H76.52c3.06-33.3 8.79-68.8 19.48-101.5zm41 .5h46v101h-46zm64 0h46v31c-11.2 2.4-20.7 9.2-28.2 18.3-7.4 8.9-13.1 20-17.8 32.5zm64 0h46v79.1c-4.4-11.6-9.9-22-17-30.3-7.6-9.1-17.5-15.8-29-18zm64 0h46v101h-46zm-64 49.2c5.6 1.7 10.4 5.4 15.2 11.1 7.2 8.5 13.3 21.5 18 36.9 4.1 13.6 7.1 29.1 9.2 44.8H265zm-18 .4V368h-42c2.2-15.5 5.4-30.8 9.6-44.3 4.8-15.3 11-28.4 18.1-37 4.6-5.5 9.2-9.2 14.3-11.1zM41 434v46h430v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdHouse;

impl IconShape for BirdHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.93L45.22 203.6l19.31 19.3L256 63.37 447.4 222.9l19.4-19.3zm0 63.86L113 206l54.2 230.1h177.6L399 206zm0 68.31c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80zm0 210c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-9 89v35h18v-35z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdScepter;

impl IconShape for BirdScepter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.006 25c-27.04.067-43.934 10.558-55.055 24.63C189.83 63.708 185 81.973 185 96c0 11.5 10.2 26.6 22.2 42.6 9.324 12.433 19.665 25.43 23.831 40.22 8.793 2.696 17.182 4.18 24.969 4.18 8.03 0 16.701-1.578 25.795-4.436-3.689-5.844-6.62-11.87-8.43-18.025-3.948-13.423-2.203-28.427 8.272-38.902l1.502-1.504 80.257-26.752c-16.048-11.23-33.595-25.516-50.709-38.207-23.052-17.095-46.165-30.17-56.681-30.174zM253 48.223c10.302 0 18.777 8.475 18.777 18.777 0 10.302-8.475 18.777-18.777 18.777-10.302 0-18.777-8.475-18.777-18.777 0-10.302 8.475-18.777 18.777-18.777zm-215.092 2.83C35.136 72.677 35.747 95.657 39.232 119H64v18H42.47c6.08 28.964 16.338 58.097 29.817 85.535l50.313-37.734 10.8 14.398-52.683 39.512a376.877 376.877 0 0 0 10.902 18.5c11.234 17.872 23.787 34.448 37.258 49.185l56.76-56.76 12.726 12.727-56.955 56.955c22.977 22.282 48.1 39.158 73.592 48.22V253.452l32.52-52.844c-42.386-3.85-87.479-35.576-127.377-69.775-35.53-30.454-63.867-60.62-82.235-79.781zm436.184 0c-18.368 19.16-46.705 49.327-82.235 79.781-39.898 34.199-84.991 65.926-127.377 69.775L297 253.453v114.084c25.493-9.06 50.615-25.937 73.592-48.219l-56.955-56.955 12.726-12.726 56.76 56.76c13.47-14.738 26.024-31.314 37.258-49.186a376.87 376.87 0 0 0 10.902-18.5L378.6 199.199l10.8-14.398 50.313 37.734c13.48-27.438 23.737-56.57 29.816-85.535H448v-18h24.768c3.485-23.343 4.096-46.323 1.324-67.947zM256 221.172l-23 37.375V495h46V258.547l-23-37.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bison;

impl IconShape for Bison {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M299.8 98.69c-1.3 0-2.6 0-3.9.1-51.6 2.71-102.1 60.91-146.9 67.51-58.69 8.6-93.42 5.5-98.58 58.5-1.56 15.5-8.47 22.6-13.19 38.4-6.73 5.6-16.83 10-17.24 18.7-.48 10.2-1.49 20.8 6 30l14.62-9.8c-.81-23.3 5.37-32.6 14.62-53.5 3.35 30.2-4.28 57-12.3 88.7 3.49 25.8 9.16 52.2 20.61 76h35.98c-21-23.1-33.71-50-22.11-76 8.76-1.2 21.3-3.5 28.89-10.6 13.6 33 17.7 57 40.1 86.6h40.5c-20.4-25.8-50.8-36.2-43.5-91.1 30.4.6 43 6.8 88.1-5.9l-2.8 35.6c6.8 23.8 24.3 41.7 38.4 61.4h38.6c-17.1-19.6-45.1-30.2-40.5-69.2l8.7-24.5c21.8 32.6 41.8 65.8 77.9 93.7h36c-22.2-23.5-63.8-48.7-63-93.7 22.7 4.5 29.8 9.8 41 6 8.9 23.8 19.1 44.8 37 56.6 21-23.5 25.5-35.7 26.2-66.7l22.5 14.2c6.3 4.6 19.9-5.4 18.8-12.7l-3.8-31.5c5.7-11.9 12.9-23.4 25.5-33.4 2.6-26.5-10-51.1-25.1-76.1-5.4-9-32.2-6.8-49.9-12-46.6-26.7-76.9-64.97-117.2-65.31zm73.4 35.61l7.5 14.5c11.1 21.5 16.9 31.6 46.6 45.2 5.8 3.4 11.1 8.6 13.1 14 2 5.7 1.8 11.5.4 16.8-2.8 11.1-15.8 22.6-25.3 19.7-32.8-11-51.6-25-58.9-42.8-7.3-17.8-1.6-36.5 8.3-53.4zm.2 38.1c-2.7 8.3-2.9 15.7-.2 22.4 4.3 10.4 17.2 21.9 46.2 32 4.1-6 7.2-13.2.4-16.4-18.9-10-36.1-22.5-46.4-38zm83.6 66.8c-3 9-.6 16.6 4.9 23.6-7.7-1.5-18.1.4-20.2-7.9-1.5-5.9 7.1-10.8 15.3-15.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackBelt;

impl IconShape for BlackBelt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.233 61.009c-64.986-.549-141.156 21.77-232.77 86.17-2.124 1.136-2.856 1.77-3.663 2.576-.33 22.087.053 44.195.169 66.287 41.134 25.308 100.629 45.815 141.87 55.242-40.006 54.984-65.757 112.762-84.793 169.274l-1.916 5.685 49.586 43.473 5.185-10.524c29.919-60.708 55.189-122.456 94.832-179.1 7.43 6.226 16.197 11.95 27.217 11.128 5.455-.407 9.59-2.521 12.97-5.264l3.835.158c11.196.46 22.125-.34 32.049-3.79a49.45 49.45 0 0 0 8.133-3.678c42.982 51.203 65.056 121.754 80.294 177.52L392.286 491l57.81-57.041-2.197-5.54c-18.928-47.699-37.653-110.49-75.439-159.839 40.2-10.794 76.734-27.318 108.326-48.125 10.64-7.01 5.245-3.447 12.545-8.617l-1.523-61.74c-4.272-2.654-6.305-3.658-10.121-5.711-51.467-27.684-109.288-67.177-183.198-79.582a274.737 274.737 0 0 0-43.256-3.797zm-.246 17.928c14.062.15 27.542 1.442 40.524 3.62 67.167 11.274 121.501 46.976 172.842 75.005a503.254 503.254 0 0 1-29.192 14.488c-47.152-28.78-98.154-53.407-155.365-61.158-65.292-8.846-138.118 4.926-220.31 58.205a543.237 543.237 0 0 1-23.938-11.77c86.261-59.175 156.057-79.026 215.44-78.39zm-7.904 47.414c11.676.03 23.1.861 34.297 2.379 49.283 6.676 94.541 27.006 137.357 52.07-32.065 12.873-64.881 21.975-98.205 27.137-11.926-13.686-29.01-19.083-45.847-21.202l-6.223-.783-2.678 5.158c-4.595-1.936-9.467-3.954-13.637-5.341-4.337-1.431-8.07-2.662-12.86-2.489-20.419.738-33.221 9.61-39.604 18.715a39.044 39.044 0 0 0-3.79 6.768c-37.4-5.266-75.052-15.524-112.64-31.02 60.545-37.301 114.452-51.519 163.83-51.392zm227.695 47.941l.412 28.092c-32.966 22.502-72.037 40.144-115.548 50.844-8.333-9.135-17.5-17.615-27.637-25.235a61.999 61.999 0 0 0-1.51-3.892c49.566-8.454 97.963-25.23 144.283-49.809zM37.28 176.136c51.963 26.354 104.52 42.826 156.705 50.045.378.937.805 1.83 1.278 2.685a523.56 523.56 0 0 0-22.407 26.557c-43.916-9.01-89.474-24.845-135.705-48.79zm202.655 25.133c6.402.16 12.565 3.704 18.41 6.23-5.139 13.292-8.162 26.81-8.768 40.436l-.197-.114c-10.532-6.134-20.484-12.486-27.77-18.084-6.358-4.884-9.695-9.368-10.482-10.23 4.78-15.415 20.1-18.32 28.807-18.238zm38.837 4.468c13.956 2.53 24.72 7.36 31.807 18.955 5.731 9.378 7.181 16.926 6.49 24.577-.69 7.65-3.859 15.669-8.695 24.521-3.136 5.741-7.719 9.18-14.48 11.531-5.384 1.872-12.125 2.76-19.575 2.858-10.934-27.996-8.57-54.647 4.453-82.442zm-70.921 36.123c8.06 6.246 17.296 12.368 24.832 16.97-52.939 63.648-82.216 134.28-114.86 201.782l-22.718-19.92c23.312-67.678 56.371-135.958 112.746-198.832zm126.796 11.948c49.11 45.588 71.791 117.736 94.38 175.654l-27.58 27.215c-15.266-53.999-37.48-119.539-80.067-169.881a39.932 39.932 0 0 0 2.789-4.377c4.943-9.049 9.026-18.417 10.478-28.611zm-86.236 14.187c.743.416 1.478.812 2.219 1.223.946 6.517 2.485 13.044 4.633 19.568-3.104 2.783-6.077 4.514-5.65 4.483-1.92.143-8.738-3.091-15.14-7.893a436.419 436.419 0 0 1 13.938-17.38z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackBridge;

impl IconShape for BlackBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20a104 104 0 0 0-104 104 104 104 0 0 0 104 104 104 104 0 0 0 104-104A104 104 0 0 0 256 20zM16 256v240h48c64-160 320-160 384 0h48V256h-48v64h-60v-64h-48v64h-60v-64h-48v64h-60v-64h-48v64H64v-64H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackKnightHelm;

impl IconShape for BlackKnightHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16c-36.446 0-73.264 13.433-139.97 40h279.94C329.263 29.433 292.445 16 256 16zM95.344 72L64 448c56 28 112 31.5 168 31.938V240H112v-48h288v48H280v239.938C336 479.5 392 476 448 448L416.656 72H95.344zm64.875 88a8 8 0 0 1 7.78 8 8 8 0 0 1-16 0 8 8 0 0 1 8.22-8zm48 0a8 8 0 0 1 7.78 8 8 8 0 0 1-16 0 8 8 0 0 1 8.22-8zm48 0a8 8 0 0 1 7.78 8 8 8 0 0 1-16 0 8 8 0 0 1 8.22-8zm48 0a8 8 0 0 1 7.78 8 8 8 0 0 1-16 0 8 8 0 0 1 8.22-8zm48 0a8 8 0 0 1 7.78 8 8 8 0 0 1-16 0 8 8 0 0 1 8.22-8zM248 240v240c2.667.002 5.333 0 8 0s5.333.002 8 0V240h-16zm-120 48h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16zm112 0h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16zm-240 32h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16zm112 0h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16zm-240 32h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16zm112 0h16v16h-16v-16zm32 0h16v16h-16v-16zm32 0h16v16h-16v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackSea;

impl IconShape for BlackSea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416.5 116l-171.3 48.6 34.8 37.3 42.2-7-.9 17.3-28.4-2.4-48.7 31.3-19.3-10.4 8.9-22.4-33.8-15.9 38.8-18.3-4.5-11.4-46.7-13 .5-29.8C109.9 155.5 72.82 236.6 25.74 305.2c-8.41 12.3 7.05 71.8 108.76 74 0 0 61.2-37.6 95.3-37.3 39.8.3 110.4 45.3 110.4 45.3l72.3 7.8c81.8 8.8 83.7-47.3 68.1-77.4-7.5-14.5-91.7-76.9-147-104.3l-1.6-.1 4.1-6.4 22.5-4.3c4.2-13.1 3.8-28 28.1-32.9l-22.8-21.3 47.7-17.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blacksmith;

impl IconShape for Blacksmith {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M210 25c-10.012 0-19.372 5.32-26.74 15.145C175.892 49.968 171 64.15 171 80c0 15.85 4.892 30.032 12.26 39.855C190.628 129.68 199.988 135 210 135c10.012 0 19.372-5.32 26.74-15.145C244.108 110.032 249 95.85 249 80c0-15.85-4.892-30.032-12.26-39.855C229.372 30.32 220.012 25 210 25zm219.746 17.512l-18.701 15.21-22.76-9.206-7.72 15.271 85.86 36.313 16.807-34.532-53.486-23.056zm-5.264 59.392l-54.697 116.153 17.367 7.976L441.69 109.18l-17.207-7.276zM153 122.518c-5.86.764-11.17 1.81-16 3.086V253h146V125.604c-4.83-1.276-10.14-2.322-16-3.086v59.044l-4.975 2.489c-34.146 17.073-69.904 17.073-104.05 0L153 181.563v-59.045zm-34 9.982a61.312 61.312 0 0 0-5.008 2.988c-13.003 8.669-19.647 20.236-23.262 34.696-5.902 23.608-2.042 54.157-.416 82.816H119V132.5zm182 0V253h28.686c1.626-28.659 5.486-59.208-.416-82.816-3.615-14.46-10.26-26.027-23.262-34.696A61.312 61.312 0 0 0 301 132.5zm-130 .846v36.793c26.365 11.776 51.635 11.776 78 0v-36.793C239.103 145.188 225.36 153 210 153s-29.103-7.812-39-19.654zm-16.951 137.058l-.002.002v20.344H65.109c15.996 38.806 51.26 65.427 88.942 74.28V398h58.558c-12.115 30.534-33.527 55.682-58.5 77.592h-25.435v18.72h284.344v-18.72h-27.44c-28.728-21.894-50.024-47.017-61.594-77.594h63.657v-29.156c19.75-6.995 39.5-19.541 59.25-36.719-19.806-17.518-39.235-27.25-59.25-31.937v-29.782H154.049z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blanket;

impl IconShape for Blanket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.3 123.9c-64.4 12.5-137.27 28.9-186.92 42.7-5.23 2.3-8.42 6.1-9.06 10.4-.41 2.9.11 6.6 2.98 11.3 118.4 72.6 268.9 33.7 391.1-11.6 14-4.9 16.5 13.3 6.2 16.8-118.6 44.1-268 84.5-391.87 18.6-15.34 11.6-17.16 20.6-15.62 28.3 1.37 6.8 6.95 13.5 12.33 17.6 13.69 9 29.38 18 43.21 24.7 10.06 4.9 20.3 9.4 28.85 12.7 27.2 10.1 18 26.4-6.55 16.8-9.13-3.6-19.7-8.2-30.13-13.3-13.72-6.9-26.41-13.3-38.33-21.1-6.22 3.5-8.84 9.2-9.11 16.7.79 18.2 10.09 24.2 23.14 34.9 7.2 5.1 16.09 10.5 25.2 15.5 9.6 5.3 19.45 10.1 27.75 13.6 20.53 7.8 9.13 22.4-6.94 16.6-9.09-3.8-19.4-8.9-29.5-14.4-10.1-5.6-19.97-11.6-28.17-17.5-2.95-2.1-5.66-4.1-8.13-6.2-2.54 1.9-3.53 5.3-3.55 7.8-.11 5.2 3.16 12.3 5.24 14.3 56.7 52.5 153.28 56.2 246.38 39.4 93.1-16.8 182-53.8 219.6-76.6h.1l.1-.1c3-1.7 3.9-4.2 2.5-10.4-1.4-5.6-5.7-12.9-12.8-19-43.5 15.1-107.5 38.7-175.9 54-74.9 16.7-154.1 23.4-214.75-5.6-9.47-4.8-8.93-19.5 5.62-13.8 54.03 25.8 132.03 18.1 205.23 1.8 70.2-15.6 137.1-40.8 181-55.9 5.7-6.6 8-11.2 8-15-.1-4.3-3.5-11.4-14.2-22.5-123.8 37.8-263.7 85.5-378.2 40.3-14.23-6.7-6.77-21.9 6.7-16.8 108.7 43 250.4-5.8 377.2-44.1 12.4-12.8 17.6-21.8 18.3-26.8.6-7.9-7.1-13.4-12.1-17.1h-.1c-39.1-28.2-71.5-49.2-130.2-66.4-45.1 1.5-93.6 11.5-134.6 19.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blindfold;

impl IconShape for Blindfold {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M295.568 31.755c-88.873 1.013-164.237 83.15-146.14 154.222 3.112 1.68 6.114 3.713 8.976 6.012 94.364-20.635 186.207-37.25 274.717-69.38-4.396-11.362-8.926-26.62-15.104-32.857-38.564-42.043-81.91-58.46-122.448-57.998zm162.787 100.527c-92.984 36.365-188.555 54.132-285.513 75.08 3 4.306 5.436 8.95 6.91 13.865 16.698.56 33.29.95 49.81 1.188 2.315-11.524 9.915-22.267 22.616-27.496l.338-.14.347-.11c4.037-1.292 8.075-1.804 11.944-1.66 3.87.14 7.57.94 10.93 2.268 6.725 2.66 12.12 7.126 16.605 12.01 4.4 4.79 8.038 10.1 11.054 15.06 56.644-.994 112.656-4.228 168.79-10.304-.018-3.805-.042-7.543-.096-11.22-16.977-1.565-36.94-.35-64.217 7.667 22.82-11.948 39.826-19.518 60.78-19.31 1.03.01 2.07.038 3.122.086-.45-10.747-1.432-20.984-3.654-30.824-33.557 19.84-62.436 23.53-105.98 26.362 50.238-10.525 79.007-24.07 102.546-38.356-1.695-4.802-3.77-9.52-6.33-14.166zM132.56 199.17c-.682-.004-1.15.09-1.45.194-4.756 2.414-9.748 9.214-12.018 17.453-2.215 8.037-1.57 16.664.984 21.662 4.615 4.572 14.302 6.43 24.166 4.493 9.68-1.9 17.22-7.725 18.862-10.728.035-5.966-4.99-16.103-12.74-23.406-4.08-3.848-8.656-6.877-12.417-8.417-1.88-.77-3.444-1.11-4.63-1.217-.277-.025-.53-.036-.756-.037zm131.753 11.76c-1.675-.076-3.475.16-5.56.786-8.19 3.47-11.016 8.43-11.85 16.082-.843 7.75 1.63 18.15 6.663 27.836 5.034 9.685 12.528 18.6 20.133 23.953 7.604 5.353 14.49 6.963 20.238 5.017l5.77 17.05c-12.697 4.3-25.788.1-36.37-7.348-10.582-7.45-19.485-18.33-25.744-30.372-3.893-7.49-6.8-15.45-8.108-23.474-16.447-.24-32.96-.625-49.57-1.178-2.164 5.224-5.78 9.34-10.246 12.565 5.82 11.84 12.81 22.992 21.11 33.396l2.597 3.252-.795 4.084c-6.046 31.008-13.87 62.623-36.97 82.58 31.778 52.62 70.812 94.726 150.777 102.636 7.516-26.908 14.15-57.853 60.483-89.71l2.422-1.663 2.937.084c40.79 1.18 61.765-5.75 71.61-18.506 4.322-5.6 7.014-13.152 8.17-22.847l-39.04-.797.366-17.996 39.19.8c-.368-8.815-1.513-18.807-3.42-30.08l-1.745-10.327 36.203-.586c-1.14-6.856-3.99-16.375-8.29-25.238-6.218-12.83-15.555-24.903-19.124-27.382l-2.123-1.477c-50.237 4.848-100.406 7.483-151.02 8.347-7.65 3.924-5.706 2.888-7.813 4.068-4.162-7.43-9.574-17.904-16.11-25.02-3.27-3.56-6.693-6.154-9.968-7.45-1.584-.625-3.133-1.01-4.807-1.086zm-157.125 40.21c-6.954 14.03-14.456 30.194-22.5 46.296-9.06 18.146-18.786 36.2-29.49 51.268-8.14 11.457-16.796 21.348-26.764 27.975 9.864 13.877 17.987 25.48 24.654 35.674 4.344-12.038 9.388-24.587 14.734-37.382 11.19-26.778 23.637-54.487 33.354-79.553 5.43-14.012 9.954-27.268 12.98-38.853-2.502-1.455-4.845-3.25-6.97-5.428zm38.093 9.92c-4.485.71-9.156.97-13.766.61-3.28 12.524-8.04 26.025-13.555 40.255-9.972 25.724-22.472 53.52-33.53 79.986-11.06 26.467-20.645 51.69-24.836 71.397-2.096 9.855-2.788 18.303-2.033 24.456.114.927.3 1.68.463 2.492 3.097-2.28 6.465-4.24 10.29-5.897 10.15-4.394 22.763-7.508 35.332-9.756 12.568-2.247 24.964-3.555 34.462-3.857.97-.03 1.77-.006 2.674-.018-10.392-58.63-2.174-142.745 4.5-199.666z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlockHouse;

impl IconShape for BlockHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375 32v41H100.326l-49.6 62h410.547l-49.6-62H393V32h-18zM85.727 153L96 163.273 106.273 153H85.727zm64 0L160 163.273 170.273 153h-20.546zm64 0L224 163.273 234.273 153h-20.546zm64 0l11.185 11.186L300.645 153h-22.918zm64 0L352 163.273 362.273 153h-20.546zm64 0L416 163.273 426.273 153h-20.546zM128 156.727L108.727 176 128 195.273 147.273 176 128 156.727zm64 0L172.727 176 192 195.273 211.273 176 192 156.727zm64 0L236.727 176l19.42 19.422 19.736-18.813L256 156.726zm128 0L364.727 176 384 195.273 403.273 176 384 156.727zm-62.623 1.377l-19.732 18.814L320 195.273 339.273 176l-17.896-17.896zM73 165.727v20.546L83.273 176 73 165.727zm366 0L428.727 176 439 186.273v-20.546zm-343 23L85.727 199h20.546L96 188.727zm64 0L149.727 199h20.546L160 188.727zm64 0L213.727 199h20.546L224 188.727zm128 0L341.727 199h20.546L352 188.727zm64 0L405.727 199h20.546L416 188.727zm-127.387.613l-10.13 9.66h19.79l-9.66-9.66zM73 217v126h366V217H73zm23 39h80v32H96v-32zm112 0h96v32h-96v-32zm128 0h80v32h-80v-32zM75.5 361l43.5 58v-30l-21-28H75.5zm61.5 0v126h23v-71h48v71h167V361H137zm277 0l-21 28v30l43.5-58H414zm-174 55h32v32h-32v-32zm64 0h32v32h-32v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bo;

impl IconShape for Bo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M473.79 38.21c-1.853-1.85-3.902-3.5-6.066-4.89l-5.703 10.304 2.416-12.152c-5.255-2.56-10.94-3.467-16.103-1.746l-.79.79c.696 7.73 4.943 16.09 11.396 22.544 6.453 6.454 14.814 10.7 22.545 11.396l.79-.79c2.827-8.484-1.415-18.384-8.486-25.455zm-41.087 7.145L277.92 200.14l6.71 6.71 40.306-40.306-31.498 49.112 18.423 18.424L466.645 79.297c-1.877-.724-3.712-1.558-5.5-2.488l-26.51 13.664 18.61-18.613c-2.49-1.847-4.845-3.884-7.032-6.072-5.808-5.807-10.56-12.777-13.51-20.433zm-167.51 167.512l-16.22 16.22 48.656 16.217-32.438-32.437zm20.46 47.42l-50.91-16.97-11.226 11.225 50.912 16.97 11.224-11.225zM260.2 285.743l-17.85-5.95-10.92 34.72 28.77-28.77zm-34.93-11.643l-15.98-5.328-11.88 11.88 19.628 19.63 8.232-26.182zm-6.513 53.13l-7.81-7.583-26.266-26.267L29.725 448.333c-3.395 10.185 3.4 22.4 13.044 29.324l61.006-61.006-53.14 65.167c4.35 1.522 8.86 1.847 13.03.457l155.09-155.044z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoatEngine;

impl IconShape for BoatEngine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M342.4 21.55c-27.6 0-65.4 9.54-116.7 19.29-22.5 4.27-31.5 14.12-36.5 26.87-4.5 11.4-4.8 25.7-4.4 39.09l73.7 44.2H409l13.6-54.34c-9.8-25.79-19.8-43.48-30.2-54.78-10.8-11.69-21.9-17.15-36.1-19.35-3.6-.55-7.3-.85-11.3-.95-.9-.02-1.7-.03-2.6-.03zM18.7 71.03l-1.4 17.94 34.84 2.71 1.82-17.91-35.26-2.74zm53.21 4.13l-1.82 17.92 96.51 7.52c-.1-5.78.1-11.86.8-18.02l-95.49-7.42zM297 169v78h49.4l39-78H297zm-185 46c-21.91 0-46.08 13-66.13 25.3C25.82 252.7 10.39 265 10.39 265l11.22 14s14.68-11.7 33.68-23.3C74.3 244 98.13 233 112 233c13.9 0 27.3 10 42.4 22 15 12 31.7 26 53.6 26 21.9 0 38.6-14 53.6-26 4.1-3.3 8.1-6.4 12-9.2 1.4-7.8 2.6-15.8 3.5-23.7-9.8 5.2-18.5 12.3-26.7 18.9-15.1 12-28.5 22-42.4 22-13.9 0-27.3-10-42.4-22-15-12-31.7-26-53.6-26zm378.4 2s-14.7 11.7-33.7 23.3C437.7 252 413.9 263 400 263c-11 0-21.6-6.2-33-14.8-2.6 6.4-4.6 12.3-6.1 18 11.3 8.1 24 14.8 39.1 14.8 21.9 0 46.1-13 66.1-25.3 20.1-12.4 35.5-24.7 35.5-24.7l-11.2-14zM288 265c-.4 1.7-.9 3.5-1.3 5.2-5.6 22.6-12 41.5-21.7 53.1V359h99.5c-13.6-17.5-22.3-35-24.8-54.4-1.6-12.5-.6-25.6 2.9-39.6H288zm64 110v18c1 0 .7-.2 1.8 1.4 1.2 1.6 2.5 5 3.4 9.4 1.1 5.7 1.5 12.8 1.7 19.2h-38.1l5.1-46H265v36.3l48.8 73.1 5-45.4h40.3c.1 7 .5 15.1 2.1 22.8 1.1 5.6 2.8 11.2 6.1 16.1 3.4 4.9 9.7 9.1 16.7 9.1v-18c-1 0-.7.2-1.8-1.4-1.2-1.6-2.5-5-3.4-9.4-1.1-5.7-1.5-12.8-1.7-19.2H392v-18h-15.1c-.1-7-.5-15.1-2.1-22.8-1.1-5.6-2.8-11.2-6.1-16.1-3.4-4.9-9.7-9.1-16.7-9.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoatFishing;

impl IconShape for BoatFishing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M453 61.16C382.3 72.25 282.7 104.9 207.3 160c.4.2.8.5 1.2.7 4.8 3.1 8.8 7.3 11.5 12.4 66-47.5 153.2-78.35 219-91.15V401.8h18V73.85c-.3-5.2-3.1-12.04-4-12.69zm-344.9 5.69c-18.66 0-35.13 18.4-35.13 42.85 0 24.5 16.47 42.9 35.13 42.9 18.7 0 35.1-18.4 35.1-42.9 0-24.45-16.4-42.85-35.1-42.85zM79.73 161.2c-16.65 42.2-23.61 86.3-28.4 126.9 24.46-.9 48.24-2.4 70.97-4.5-1.8-14.3-2.9-28.5-3.5-42.7-8-5.9-16.2-12.8-24.39-20.1l11.99-13.4c10.9 9.7 21.5 18.4 30.9 24.5 9.3 6.2 17.6 9.5 21.9 9.8h.1c-.5 0 2.1-.4 5.7-2.8 3.5-2.5 8-6.5 12.6-11.5 9.2-9.9 19.2-23.9 26.7-37.8 1.3-2.4 1.3-4.4.3-6.9-.9-2.5-3.1-5.2-5.9-6.9-2.7-1.8-5.8-2.6-8.4-2.3-2.6.3-5.1 1.3-7.9 5.1l-26.8 35.9-42-44.3c-1.8.3-3.6.4-5.5.4-10.56 0-20.24-3.5-28.37-9.4zM273.3 278.5c-63.1 14.3-154.2 27.4-254.3 28.1v94.2h138.7c53.8-27.5 96.3-79.7 115.6-122.3zM64 416.8c-13.18 0-29.27 4.3-42.85 8.4-1.08.3-2.11.6-3.15 1V445c2.59-.8 5.39-1.7 8.36-2.6 12.92-3.9 28.83-7.6 37.64-7.6 8.81 0 18.29 3.4 28.79 7.4 10.51 4 22.01 8.6 35.21 8.6s24.7-4.6 35.2-8.6c10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s24.7 3.7 37.6 7.6c3 .9 5.8 1.8 8.4 2.6v-18.8c-1-.4-2-.7-3.1-1-13.6-4.1-29.7-8.4-42.9-8.4s-24.7 4.6-35.2 8.6c-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22.02-8.6-35.2-8.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoatHorizon;

impl IconShape for BoatHorizon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313 80v48h18V80zm-78.5 29.2l-17 5.6 16 48 17-5.6zm175 0l-16 48 17 5.6 16-48zM322 167c-71.9 0-130.9 55.5-136.6 126h127.1c5.7-18 6.2-37.7 8.4-54.8 10.5 6.9 21.1 22.4 26 37.7 4.9-22.7 5.7-46.6 8.2-67.6 20.3 14.8 40.9 56.5 37 84.7h66.5c-5.7-70.5-64.7-126-136.6-126zM20 311v18h472v-18zm190 38v18h224v-18zm16 38v18h192v-18zm32 38v18h128v-18zm42 38v18h44v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoatPropeller;

impl IconShape for BoatPropeller {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.15 21.209c-24.995-.374-50.098 14.428-64.076 63.611-12.743 44.837-4.557 106.917 14.5 158.983 8.733-3.686 18.747-4.452 28.447-1.442 10.094 3.133 18.152 9.826 23.24 18.272 33.762-16.847 70.774-29.358 88.594-51.313 47.257-58.219 4.19-138.461-35.183-166.851-14.175-10.221-34.811-20.95-55.522-21.26zM135.72 207.832c-66.3-1.054-108.738 69.822-113.332 115.096-3.894 38.368 5.81 105.23 96.476 82.398 44.995-11.33 94.419-49.163 129.946-91.465-12.314-10.488-17.952-27.733-12.877-44.084a41.28 41.28 0 0 1 3.779-8.568c-32.11-20.996-61.997-47.643-90.418-52.178a95.72 95.72 0 0 0-13.574-1.199zm139.908 50.63c-10.094-.024-19.338 6.442-22.506 16.65-3.898 12.562 3 25.665 15.563 29.564 12.562 3.898 25.664-2.998 29.562-15.56 3.899-12.563-2.998-25.667-15.56-29.565a23.985 23.985 0 0 0-7.059-1.088zM316.9 287.84a41.399 41.399 0 0 1-1.464 6.61c-5.666 18.255-22.966 29.865-41.248 29.241-2.283 37.694-9.975 76.046.136 102.479 26.791 70.035 117.817 72.857 162.09 52.955 35.175-15.813 88.228-57.646 23.121-124.75-32.003-32.984-88.698-56.742-142.635-66.535z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BodyBalance;

impl IconShape for BodyBalance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.924 42.201c-8.034.11-27.397 3.323-49.424 6.893l7.604 22.027c43.938-5.873 43.678-7.054 46.89-2.572 32.14 44.839 59.603 88.148 74.676 135.023 32.603 2.41 71.533 9.14 98.31 23.852 34.083-36.34 89.673-55.812 135.497-71.701 12.157-4.216 25.246 7.4 42.47 10.068l4.848-17.264c-4.872-6.815-27.807-16.587-37.338-16.718-4.035-.056-15.496 3.15-18.969 4.341-56.98 11.002-103.367 13.182-162.199 32.575-37.228-37.914-76.205-75.414-120.932-113.803-9.238-7.93-9.691-12.88-21.433-12.72zm83.87 179.617c-14.884 26.18-24.332 32.5-44.718 46.17-17.912-4.68-35.784-9.45-56.758-6.986-21.017-2.805-29.586 4.975-55.086 13.9-7.727-2.6-16.961.997-22.898 3.528-9.757 4.976-21.342 12.282-18.766 24.588 3.949 12.712 20.223 8.898 27.655 5.703 6.245-2.98 12.055-8.777 16.357-13.34 21.38.569 30.874-.128 52.988-9.912 16.743 6.801 37.917 9.505 56.895 9.972a57.14 57.14 0 0 1 3.607-2.476c10.976-6.9 24.287-9.537 36.313-4.77 12.025 4.768 19.744 15.743 22.773 28.196 1.789 7.352 2.081 15.356.856 23.539 4.75 13.328 8.36 25.571 16.906 41.912-5.193 22.78-3.544 45.283-2.262 68.342l-22.781 8.55-4.34 11.069h70.213l-8.137-11.903-16.369-8.257c3.504-23.007 9.628-45.75 6.246-69.446.55-17.704-5.289-35.407-8.748-53.111 21.304-26.239 10.374-44.741 25.3-73.287a112.733 112.733 0 0 1 7.216-11.918c-27.363-11.34-54.484-18.839-82.461-20.063zm-18.15 81.842c-4.054.12-8.442 1.56-12.992 4.42-7.278 4.576-14.383 12.805-18.76 23.463-4.376 10.658-5.073 21.43-3.064 29.687 2.009 8.258 6.29 13.613 12.037 15.891 5.747 2.278 12.612 1.343 19.89-3.232 7.28-4.576 14.386-12.807 18.763-23.465 4.376-10.658 5.071-21.428 3.062-29.686s-6.289-13.614-12.035-15.892c-2.155-.855-4.468-1.258-6.9-1.186z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BodyHeight;

impl IconShape for BodyHeight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384 22.545L307.271 99.27l25.458 25.458L366 91.457v329.086l-33.271-33.272-25.458 25.458L384 489.455l76.729-76.726-25.458-25.458L402 420.543V91.457l33.271 33.272L460.73 99.27 384 22.545zm-242.443.258c-23.366 3.035-44.553 30.444-44.553 65.935 0 19.558 6.771 36.856 16.695 48.815l11.84 14.263-18.217 3.424c-12.9 2.425-22.358 9.24-30.443 20.336-8.085 11.097-14.266 26.558-18.598 44.375-7.843 32.28-9.568 71.693-9.842 106.436h42.868l11.771 157.836c29.894 6.748 61.811 6.51 90.602.025l10.414-157.861h40.816c-.027-35.168-.477-75.125-7.584-107.65-3.918-17.933-9.858-33.371-18.04-44.342-8.185-10.97-18.08-17.745-32.563-19.989l-18.592-2.88 11.736-14.704c9.495-11.897 15.932-28.997 15.932-48.082 0-37.838-23.655-65.844-49.399-65.844l-4.843-.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bolivia;

impl IconShape for Bolivia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M43.896 68.829c29.684-4.985 63.931-12.904 148.312-53.051l32.89 102.214L369.21 161.28l7.59 96.475 61.805 3.512 29.498 72.34-25.284 58.996c-32.53-13.45-59.839-33.256-121.503-11.238-16.164 19.127-23.681 57.278-33.712 89.899-76.82-14.398-136.704-9.87-168.56 25.986L50.92 293.575c10.326-68.28 10.417-141.922-7.023-224.746z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltBomb;

impl IconShape for BoltBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.8 26.28c-16.71 0-32.64 5.9-45.86 15.4C25.09 65.78 8.537 116.5 40.26 159.6c24.97 34 14.15 78.4-11.69 103.4l12.84 13.4c31.97-30.9 45.09-85.6 14-127.9-25.94-35.2-12.44-72.72 14.03-91.72 13.24-9.4 29.77-13.7 46.16-10.5 15.6 3.1 31.6 13.2 46 34.6l-59.1 34.22 24.1 41.9c-49.4 63.4-58.45 153.1-15.9 227.1 56 97.2 179.9 130.5 276.8 74.4 96.9-56.1 130-180.4 74-277.6C419 107 337.3 69.98 258 81.08l-24.2-42-56 32.5c-16.8-25.4-37.5-39.8-58.7-44-4.8-.9-9.6-1.3-14.3-1.3zM288 112l-16 144 128-16-160 208 64-160-112 32 96-208z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltCutter;

impl IconShape for BoltCutter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415.936 25.389c-17.463-.058-35.658 4.808-50.815 10.826l50.928 50.928 41.172-48.047c-11.557-9.906-26.143-13.657-41.285-13.707zm55.418 27.502l-48.23 41.326 51.103 51.103c11.281-28.396 18.536-67.452-2.873-92.43zm-114.8.213l-43.841 43.841 100.41 100.409 43.842-43.84zm17.29 27.115c9.341 9.341 9.341 24.486 0 33.828-9.342 9.341-24.487 9.341-33.828 0-9.342-9.342-9.342-24.487 0-33.828 10.59-9.11 24.611-8.938 33.828 0zm-80.668 22.644l-69.08 86.221c15.303 4.928 26.372 18.45 28.724 33.055l88.1-71.532zm136.918 33.68c9.373 9.373 9.373 24.569 0 33.941-9.373 9.373-24.569 9.373-33.942 0-9.372-9.372-9.372-24.568 0-33.941 10.715-9.097 24.617-9.054 33.942 0zm-70.436 32.803l-71.976 88.65c16.633 3.768 28.471 13.39 33.158 28.817l86.765-69.52zm-163.406 42.713c-9.016 9.016-9.016 23.36 0 32.377 9.016 9.015 23.361 9.015 32.377 0 9.016-9.016 9.016-23.36 0-32.375v-.002c-9.809-8.75-23.442-8.671-32.377 0zm-24.016 9.04L52.476 251.08l6.442 59.047c20.232 3.595 35.409-17.644 50.693-20.494 28.31-2.428 43.494-4.775 67.022.226 2.206-11.59 5.89-20.735 13.203-27.543-13.056-8.801-19.628-28.288-17.6-41.216zM34.473 252.019L18 253.039v62.883l23.021-3.881zm166.74 24.31c-9.058 9.058-9.058 23.47 0 32.527 9.057 9.058 23.468 9.058 32.525 0 9.058-9.057 9.058-23.47 0-32.527-10.288-8.909-23.711-8.552-32.525 0zm64.096 5.893c-9.058 9.057-9.058 23.47 0 32.527 9.057 9.057 23.47 9.057 32.527 0 9.057-9.057 9.057-23.47 0-32.527-10.288-8.91-23.713-8.553-32.527 0zm-18.112 38.593c-7.348 7.112-19.122 12.13-27.67 12.668 5.601 25.01 2.157 51.853.426 68.239-13.19 19.719-16.353 29.026-20.57 50.89l59.304 6.47 30.094-120.294c-18.423.36-32.556-4.15-41.584-17.973zm-49.693 149.698L193.543 494h63.135l1.049-16.918z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltDrop;

impl IconShape for BoltDrop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 34.25C210.3 115.3 165.1 172.3 131.3 219.3 95.53 268.9 73 307 73 352c0 45 21.91 77.8 56 100.5 34.1 22.7 80.5 34.5 127 34.5s92.9-11.8 127-34.5c34.1-22.7 56-55.5 56-100.5s-22.5-83.1-58.3-132.7c-33.8-47-79-104-124.7-185.05zM304 128l-46.8 134.4h117L178.7 471.3l59.2-159.2H130.5L304 128z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltSpellCast;

impl IconShape for BoltSpellCast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M485.846 30l-172.967 74.424 64.283 20.32-129.627 65.186 83.637 19.414-96.996 62.219 219.133-69.7-95.29-28.326L471.192 112.8l-72.115-15.024L485.846 30zm-280.46 45.766c-28.066-.117-49.926 56.532-57.726 90.607-11.26 49.19-14.529 83.515-.828 133.059l-17.348 4.798c-15.463-55.917-8.245-94.75 2.301-142.341 10.547-47.592 14.52-70.403-4.459-74.182C85.244 79.328 82.04 178.17 79.57 222.604c-1.396 25.808.71 57.017 6.54 77.552l-16.901 6.196c-14.43-53.35-6.657-97.957-1.693-150.77 2.493-15.582-1.787-25.677-19.102-25.166-15.833.467-27.015 143.362-13.275 179.041 8.713 53.061 31.247 130.572 10.955 152.766L18 494h205.973l19.986-28.592c23.08-5.008 28.42-19.86 37.023-33.787 25.291-40.946 82.384-83.166 129.114-99.226 21.142-7.51-21.912-48.546-53.836-32.782-55.005 27.162-81.646 56.298-117.772 38.295-55.855-27.834-47.245-100.648-35.861-162.83 6.141-33.544 40.41-89.602 7.156-98.824a21.158 21.158 0 0 0-4.396-.488z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoneKnife;

impl IconShape for BoneKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M477.9 25.37c-73.2 55.61-154.6 131.33-208 196.23 19.8 10.6 39.5 22.1 54.7 37.8 10.9-10.7 21.4-21.9 32.1-33.1l-2.3-18.9 16.3 4.6c19.8-19.7 41.3-38.8 68.9-54.5 3.5-26.1 16.2-55.3 29.5-84.4 3.2-7.11 6.4-14.18 9.6-21.17C464.6 68.16 449.1 86.22 433 105c-41.7 48.7-104.3 96.4-104.3 96.4l-2.7.6s51.5-59.9 93.3-108.7c20.9-24.4 42-48.96 58.4-67.74.1-.1.1-.12.2-.19zM243.2 227.7c-6.2 4.5-11.7 9-14.7 13.8-5 11.6-3.8 16.9-1.2 26.8 3.9 1.9 7.8 3.9 11.6 5.8 17.4-1.1 40.4-9.8 53.1-18.1-14.5-10-31.5-19-48.8-28.3zm63.6 40c-10 8.3-24.1 15.2-39.1 19.5 10.8 4.5 21.7 8.6 32.7 11.8l18.7-17.9c-3.5-4.8-7.7-9.2-12.3-13.4zm-91.1 14.9c-5.6 1.9-8.9 5.3-9.5 10.2 19.4 16.2 41.9 26 66.2 33 7.1-.6 10.5-6 13.1-12.6-24.2-8-47.2-19.1-69.8-30.6zm-21.8 23.3c-4.2-.2-4.4 3-5.3 5.7 6.9 23.8 18.2 44.5 31.4 64.3 20.1-7.7 28.5-21.9 37.5-35.9-22.6-7.3-44.3-17.7-63.6-34.1zm-19.4 20.7c-11.2 4.1-16.8 12-20.1 21.5 8.3 18.1 25.6 33.4 40.2 52 8.7.8 10.3-5.7 12.2-11.7-12.7-18.7-24.3-38.7-32.3-61.8zm-33.3 35.6c-7.7 3.7-13.1 9.2-15.8 16.9 3.2 18.7 9 25.8 16 31.3 6.5 5.1 15.9 8.6 25.2 16.5 9.3-.7 13.5-6.1 14.9-14.3-12-15.3-29.4-30.2-40.3-50.4zM40.47 393.4c-2.13.9-3.71 2.5-5.09 5.8-1.38 3.2-2.19 7.9-2.08 13 .21 9.8 4.09 20.8 8.29 26h.26c1.54-.1 4.48-.7 7.81-1.7 6.63-2 14.4-5.4 22.75-6.1 9.74-.8 15.91 6 19.39 10.8 3.48 4.8 5.31 9.6 5.31 9.6 1.75 5.3-.38 11.6-.4 16.1 0 6 2.35 11.7 1.72 11.1 6.07 5.4 16.67 8.7 27.47 8.6 10.7-.1 21.2-3.6 27.2-9.1 3.6-14.4 2.7-25.1.1-37.8l.2-.2c-6.6-5-14.5-8.3-23.1-15-8.1-6.3-15.4-15.9-20-31.4-10.3 1.6-21.63.1-30.65-.5-12.68.5-26.5-4.1-39.18.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoneMace;

impl IconShape for BoneMace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.6 33.55l-2.5 29.87s-5.7-7.45-12.3-16.2c-6.7 8.19-11.3 17.33-12.2 25.36 2.7 15.69 25.2 31.22 36.5 38.52l8.4 5.2-5.7 8c-34.3 48.4-83.3 112.5-123.7 154.5 14.4 2.4 29.4 6.3 45.1 13.5 40.7-46 94.2-111.7 141.1-155.4l7.9-7.4 6 9.2c10.6 12.8 23.5 23.2 36.4 30.4 1.7-13.3 1.8-25.4-3.2-36.9l-4.5-10 25.7-6.5-15.2-24.65 10.5-3.91c16.4-6.14 26.5-13.85 31.5-23.85-4.8-5.39-15-8.5-20.3-6.46-15.7 4.05-41.9 27.93-54.5 30.53-6 1.15-13.3 1.33-20.6-.68-3.7-1-7.5-2.57-10.8-5.57-11-16.53-7.8-33.91-18.7-51.62-2.8-4.69-6.5-6.75-11.3-7.06-11.7-.21-25.8 5.85-33.6 11.12zm179.9 47.58c-6.3 7.67-14.9 13.91-25.1 18.84l17 27.33-29.8 7.6c3.8 14.6 2.5 28.9.4 42.5 7.5 3.2 18.9-6.6 22.6-10.1 7.5-7.1 14.2-17.1 17.6-29.6 4.5-16.7 3.4-39.47-2.7-56.57zM173.1 295.1c-5.8 2.1-8.9 6.4-11.4 11.4 16 4.6 31.1 8.7 46.2 15 .2.1.3.1.6.2 6.8-2.6 12-6.8 12.9-14.9-16.5-6.9-32.3-9.9-48.3-11.7zm-26.4 26.2c-.1.1-.2.2-.3.4.1-.1.2-.1.4-.2zm-.7.7c-6.1 2.4-11.6 5.7-13.4 13 17.6 6.1 33 13.4 45.5 21.9 8-4.1 14.1-10.8 17.6-20.5-16.5-5.1-32.8-12.2-49.7-14.4zm-28.4 27.3c-8-.2-7.9 5.2-9.8 9.2 13.5 13.7 26.8 25.6 39.3 34.8 7.7-4.7 14.7-11.1 19.1-22.3-12.6-8.2-29-15.4-48.6-21.7zm-23.29 21.9c-4.58 1-8.44 4.6-11.52 10.7 9.58 16.7 22.71 30.1 38.81 41.2 6.3-3.6 12.1-7.9 13.5-15.8-13.2-9.9-27-22.2-40.79-36.1zm-25.32 23.4c-9.85 9.1-19.72 18.2-29.58 27.3 3.28 1 6.43 2.7 9.3 4.6 8.06 5.4 15.11 13.9 20.28 24.3 4.03 8.2 6.41 16.5 7.02 24.4 11.22-12.6 22.44-25.2 33.39-38.1-16-11.5-29.88-25.4-40.41-42.5zm-39.51 44.6c-1.28.7-3.11 2.9-3.45 8.6-.25 5.7 1.33 13.8 5.27 21.7 3.95 7.9 9.36 14.1 14.05 17.3 4.79 3.2 7.71 3.2 8.99 2.5 1.28-.6 3.12-2.9 3.45-8.6.25-5.7-1.32-13.8-5.27-21.7-3.95-8-9.36-14-14.04-17.3-2.81-1.6-5.82-3.7-9-2.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BonsaiTree;

impl IconShape for BonsaiTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313.855 22.996c-7.295.079-14.557 1.466-20.17 4.879-14.94 9.337-25.194 26.421-31.78 46.44-4.886 14.848-7.68 31.083-9.196 46.066 8.425-4.05 17.058-8.196 26.43-11.4 14.46-4.946 30.995-6.997 48.527-.313a208.592 208.592 0 0 0 11.607 4.053c13.558-5.851 25.199-16.345 19.864-30.526l16.758-6.572c4.236 17.727 1.561 30.805-10.41 41.97 5.96.004 10.677-1.024 15.03-2.5 10.804-3.659 21.354-12.202 40.548-15.507l.134-.023.133-.018c13.112-1.854 26.27 2.807 39.649 8.65 8.066 3.523 16.15 7.546 24.12 11.516-3.352-16.9-8.173-32.674-14.86-45.324-8.888-16.811-19.954-31.776-36.561-31.332-13.537.361-21.692 16.917-29.047 26.195-7.187-7.136-14.978-14.337-21.16-19.492-17.344-14.997-39.11-22.998-59.8-26.125a67.092 67.092 0 0 0-9.816-.637zm-195.626 4.92c-36.94 17.743-59.982 47.47-76.069 79.227 4.4-2.216 9.161-4.536 14.24-6.84 21.45-9.73 47.08-19.661 68.795-17.377 21.305 4.606 37.179 16.64 52.618 29.803 19.434-14.15 39.593-20.789 60.562-18.985 2.79-13.395 5.96-25.18 10.81-36.808a130.882 130.882 0 0 0-11.513-12.676c-18.848 3.19-39.323 7.858-58.053 5.767-22.19-3.572-51.913-17.924-61.39-22.111zm-79.586 4.273l-5.647 17.092 20.783 6.867a181.522 181.522 0 0 1 13.489-14.502L38.643 32.19zm95.562 72.415c-22.86 13.855-52.34 19.241-75.13 25.789l5.013 17.287c30.804-10.214 63.275-13.42 86.584-33.332-5.38-3.731-11.248-7.232-16.467-9.744zm101.354 6.98c-29.82.14-59.985 19.317-60.74 42.838-1.296 11.765-.39 20.892 2.119 28.314-10.083 6.72-20.753 12.95-31.403 17.475 2.306 5.979 3.803 11.986 4.865 17.777 13.262-5.688 24.489-12.277 35.803-19.8 11.692 11.044 28.007 17.546 40.639 21.119 16.17 4.484 33.773 7.234 49.101 11.265 15.328 4.031 29.76 9.09 36.344 22.44 4.302 8.721 4.97 18.099 2.11 26.142-1.867 5.248-4.974 9.809-8.848 13.846h79.28c3.47-5.477 7.028-11.61 9.72-16.783 16.093 1.362 39.012 1.136 50.289-6.764 10.685-7.845 14.988-20.988 18.422-32.299 1.838-6.055 3.103-11.559 3.918-15.504-9.547-.727-18.629 1.973-21.14 10.276-3.03 9.98-8.66 20.674-11.852 23.017-11.061 4.13-21.17 4.523-31.961 3.846 2.602-9.484 4.553-24.164 1.273-31.351-19.526-2.43-35.248 4.886-53.982 18.957l-12.52-12.71c6.48-8.364 10.299-19.316 15.47-30.984-15.41-2.257-32.64-3.183-49.335-3.992-22.548-1.093-43.936-1.832-60.336-6.637-8.2-2.402-15.6-5.863-20.615-12.433-5.016-6.57-6.072-15.876-3.336-24.852 2.69-8.825 8.03-16.201 14.869-22.48.378-6.55.95-13.502 1.846-20.723zm20.455 27.29c-6.154 2.583-11.775 7.785-15.48 12.667 36.757 17.824 60.688 14.013 83.644 14.777l.6-17.99c-23.287-.775-40.336 2.689-68.764-9.455zm149.113 35.66c-23.502 9.163-30.364 21.4-38.447 41.009 26.435-9.058 43.83-4.78 70.468-3.793l19.569-9.033 44.492 3.709c-7.616-12.583-15.323-23.51-26.361-30.072l-28.784 7.548-40.937-9.369zm-357.48 4.884c-14.784 9.357-20.022 22.386-25.518 36.531l27.084 1.244c9.544-6.37 22.595-12.786 31.803-11.105 15.139 4.72 24.451 16.888 32.244 28.375l18.627-16.795c-2.681-13.262-7.079-24.392-21.43-34.555-21.84 6.982-43.206 5.069-62.81-3.695zM20 311v18h472v-18H20zm23.527 34l23.5 94h377.946l23.5-94H43.527zm-15.04 112l10 30h435.027l10-30H28.486z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BookCover;

impl IconShape for BookCover {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.73 35.23c-8.132.878-16.3 1.936-24.515 3.172C192.968 50.21 212.045 66.795 224 96c-24.896-22.512-44.232-39.5-75.795-53.512-8.808 1.676-17.69 3.562-26.656 5.64 22.69 10.745 49.026 26.094 75.114 51.306-57.456-25.454-81.792-31.066-120.23-39.4C64.33 63.598 52.03 67.5 39.5 71.743c54.813 3.532 103.127 19.644 187.346 47.717l2.015.673 1.503 1.504c5.794 5.793 15.356 9.254 25.203 9.353-2.725-39.43-18.787-67.802-58.836-95.76zm118.54 0c-40.05 27.958-56.11 56.33-58.836 95.76 9.847-.1 19.41-3.56 25.203-9.353l1.502-1.504 2.014-.672C369.374 91.39 417.687 75.277 472.5 71.745c-12.53-4.243-24.83-8.145-36.934-11.71-38.438 8.334-62.774 13.946-120.23 39.4 26.088-25.212 52.424-40.56 75.115-51.307-8.964-2.077-17.847-3.963-26.655-5.64-31.563 14.014-50.9 31-75.795 53.513 11.954-29.205 31.032-45.79 51.785-57.598-8.216-1.236-16.383-2.294-24.515-3.172zM25 89.287v301.758c44.68.19 106.01 16.813 190 44.498v-301.04C128.034 105.534 81.67 90.71 25 89.288zm462 0c-56.67 1.423-103.034 16.246-190 45.217v301.05c84.317-27.698 143.413-42.5 190-44.2V89.287zm-254 55.195v200.325c15.47 3.1 30.71 3.292 46 .097V144.482c-7.227 3.058-15.14 4.518-23 4.518-7.86 0-15.773-1.46-23-4.518zm0 218.627v13.933c15.296 3.488 30.512 3.284 46-.1V363.22c-15.37 2.728-30.764 2.543-46-.11zm46 32.185c-15.226 2.856-30.633 3.058-46 .125v48.838c3.222 3.24 5.775 5.876 8.365 7.56 3.283 2.136 6.77 3.49 14.274 3.19l.18-.008h.18c11.61 0 15.954-4.04 23-10.836v-48.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BookPile;

impl IconShape for BookPile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341.79 95.5L65.54 166.379l127.84 58.11 276.025-72.64L341.789 95.5zm-1.577 18.984l74.858 33.059-72.551 19.09-77.258-32.916 74.951-19.233zm142.813 52.395L194.864 242.71l-3.057.805h-.002l-.041.01-2.857-1.3L44.73 178.15l-.184-.092c-5.585-2.793-8.012-1.992-10.77.11-2.757 2.1-5.515 6.88-6.275 12.956-1.519 12.153 3.616 27.58 23.916 34.346l.412.139L193.338 288.5l173.235-45.588V212.45l76-18.345v28.806l42.173-11.097c-4.36-14.037-5.33-29.146-1.72-44.934zm-58.453 50.086l-40 9.656v103.186l21.947-21.948 18.053 12.498V216.965zm58.453 13.914l-40.453 10.646v45.385l42.173-11.098c-4.36-14.036-5.33-29.145-1.72-44.933zM38.42 240.268c-1.803.036-3.177.782-4.642 1.898-2.758 2.101-5.516 6.88-6.276 12.957-1.519 12.153 3.616 27.579 23.916 34.346l.412.138L193.338 352.5l173.235-45.588v-45.387l-174.766 45.99-146.62-65.161a61.602 61.602 0 0 1-4.802-1.874 8.317 8.317 0 0 0-1.965-.212zm6.768 2.086l.021.008-.279-.125.258.117zm437.838 52.525l-40.453 10.646v45.385l42.173-11.097c-4.36-14.037-5.33-29.146-1.72-44.934zM38.42 304.268c-1.803.036-3.177.782-4.642 1.898-2.758 2.101-5.516 6.88-6.276 12.957-1.519 12.153 3.616 27.579 23.916 34.346l.412.138L193.338 416.5l173.235-45.588v-45.387l-174.766 45.99-146.62-65.161a61.602 61.602 0 0 1-4.802-1.874 8.317 8.317 0 0 0-1.965-.212zm6.768 2.086l.021.008-.279-.125.258.117zm363.437 24.855l-38.863 38.863 68.834-18.115-29.97-20.748z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bookshelf;

impl IconShape for Bookshelf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 57v430h78V57h-78zM25 105v190h46V105H25zm158 23h18v320h-18V128zm128.725 7.69l-45.276 8.124 61.825 344.497 45.276-8.124-61.825-344.497zM89 153v270h62V153H89zm281.502 28.68l-27.594 11.773 5.494 12.877 27.594-11.773-5.494-12.877zm12.56 29.433l-27.597 11.772 5.494 12.877 27.593-11.772-5.492-12.877zm12.555 29.434l-27.594 11.77 99.674 233.628 27.594-11.773-99.673-233.625zM25 313v30h46v-30H25zm190 7h18v128h-18V320zM25 361v126h46V361H25zm64 80v46h62v-46H89z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Boombox;

impl IconShape for Boombox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.1 24.54l-12.6 12.92c-9.2 14.71-9.7 34.33-7.6 53.05-2.9-.39-5.9-.46-8.9-.2-16.1 1.38-28.4 11.59-27.4 22.89 1 11.2 14.8 19.2 30.9 17.8 8.8-.7 17-4.2 22.1-9.5 1.7 10.8 15.2 18.2 30.7 16.9 16.1-1.4 28.4-11.6 27.4-22.9-.2-2.3-.9-4.5-2.1-6.5-3.4-19.63-4.2-38.02 4.8-57.07-18.6-5.91-44-16.31-57.3-27.39zm2.4 24.77c10.1 6.59 21.3 11.42 32 14.24-2.6 11.7-2.6 23.19-1.6 34.32-3-.42-6-.5-9.1-.24-8.8.77-16.9 4.27-22 9.57-.3-2-1.1-3.9-2.2-5.7-3.1-17.98-3.9-34.87 2.9-52.19zM111.4 63.88c-13.92 5.83-36.33 8.22-53.82 3.71l-4.5 17.43c2.08 18.88 10 35.28 19.99 49.68a20.44 29.25 55.36 0 0-8.08 4.4 20.44 29.25 55.36 0 0-12.45 33.4 20.44 29.25 55.36 0 0 35.69.2 20.44 29.25 55.36 0 0 12.47-33.4 20.44 29.25 55.36 0 0-5.4-4.7c-11.6-14-20.7-28.3-23.28-46.69 16.57.96 33.18-1.91 46.38-7.43l-7-16.6zM151 167v48h16v-32h178v32h16v-48H151zM25 233v238h462V233H25zm39 14h64v18H64v-18zm112 0h160v18H176v-18zm208 0h64v18h-64v-18zM48 279h416v18H48v-18zm64 32c40.2 0 73 32.8 73 73s-32.8 73-73 73c-40.21 0-73-32.8-73-73s32.79-73 73-73zm87 0h114v82H199v-82zm201 0c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm-288 18c-30.48 0-55 24.5-55 55s24.52 55 55 55c30.5 0 55-24.5 55-55s-24.5-55-55-55zm105 0v46h78v-46h-78zm183 0c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55zm-288 30c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm288 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-288 18c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm288 0c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm-185 39h18v32h-18v-32zm32 0h18v32h-18v-32zm32 0h18v32h-18v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Boomerang;

impl IconShape for Boomerang {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M444.824 74.726C413.17 41.73 286.208 42.686 184.298 60.023l6.463 70.695c59.96-4.478 124.03-3.225 160.113 33.527 34.967 37.816 33.125 101.87 25.757 161.544l70.3 9.868c22.24-100.955 29.322-227.723-2.106-260.932zM164.077 63.752c-5.497 1.092-10.92 2.236-16.186 3.42l6.106 66.803c5.36-.526 10.806-1.05 16.332-1.56l-6.25-68.663zM442.23 355.675l-68.283-9.56c-.776 5.496-1.562 10.91-2.346 16.24l66.43 9.322c1.44-5.204 2.843-10.564 4.2-16.002zM127.81 72.07c-48.305 12.787-81.697 29.542-79.757 47.244 2.445 22.298 38.3 21.037 85.574 16.623L127.81 72.07zM432.17 391.5l-63.512-8.896c-6.69 47.005-9.682 82.76 12.472 86.277 17.588 2.794 35.935-29.75 51.04-77.38z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoomerangCross;

impl IconShape for BoomerangCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M207.3 24.39l-93.8 42.65 24.7 26.69c13.6 6.13 23.4 19.97 30.3 35.07 6.3 14 10.3 29.2 7.4 42.7l34.6 37.2c1.8-8.1 2.9-16.1 3.3-23.8l-38-83.5-37.5-30.28 42.5-19.29 13.2-6-1.8 48.18 38 83.39c6 4.7 12.7 9.2 20 13.2l-5.3-50.4c-12-6.8-20.9-19.8-27.2-33.8-6.9-15.03-10.9-31.5-6.6-45.78l-3.8-36.23zm124.6 3.28c-9 0-18.2.99-27.4 2.86 29 10.86 45.5 19.57 56.9 28.83-22.6-1.91-48.4 1.04-71.7 8.71C337.9 70.26 374 72.3 397 106.4l25-34.03c-16.1-28.57-51.2-44.93-90.1-44.7zm-217 67.38C48.03 131.6 36.77 194.7 30.71 254.6c31.96-42.2 50.37-92.8 123.09-114.4-.5-1.3-1.1-2.7-1.7-4-2.5-5.5-5.7-10.6-9-14.8-24.2 12.5-48.05 25.3-63.87 37.5 8.32-14.8 26.27-34.3 47.37-51.3l-11.7-12.55zM445 113.5l-26.7 24.7c-6.2 13.6-20 23.4-35.1 30.3-14 6.3-29.2 10.3-42.7 7.4l-37.2 34.6c8.1 1.8 16.1 2.9 23.8 3.3l83.5-38 21.1-26.1 9.1-11.4 25.4 55.7-48.3-1.8-83.3 37.9c-4.7 6.1-9.2 12.8-13.2 20.1l50.4-5.3c6.8-12.1 19.8-20.9 33.8-27.2 15-6.9 31.5-10.9 45.7-6.6l36.3-3.8-42.6-93.8zm-214.6 86.2c-3.9 28.3-15 58-30.7 81.9 28.3 3.9 58 15 81.9 30.7 3.9-28.3 15-58 30.7-81.9-28.3-3.9-58-15-81.9-30.7zm12.4 27.2l42.3 15.9-15.9 42.3-42.3-15.9 15.9-42.3zm-52.1 34.8l-50.5 5.3c-6.8 12.1-19.8 20.9-33.8 27.2-15.06 6.9-31.54 10.8-45.83 6.5l-36.22 3.8 42.56 93.8 26.72-24.7c6.15-13.6 20.07-23.4 35.07-30.2 14-6.4 29.2-10.3 42.7-7.5l37.2-34.4c-8.2-1.8-16.3-2.9-23.9-3.3l-83.2 37.7-30.48 37.6-19.24-42.4-6.02-13.2 48.05 1.8 83.79-38c4.7-6 9.1-12.8 13.1-20zm110.8 41.6c-1.8 8.1-2.9 16.1-3.3 23.8l38 83.4 37.5 30.3-55.7 25.4 1.7-48.3-37.9-83.3c-6-4.8-12.7-9.2-20-13.2l5.3 50.4c12.1 6.8 20.9 19.8 27.2 33.8 6.9 15 10.9 31.5 6.6 45.7l3.8 36.3 93.8-42.6-24.7-26.7c-13.6-6.2-23.4-20-30.3-35.1-6.3-14-10.3-29.2-7.4-42.7l-34.6-37.2zm188.4 27.8c-20 68-40.4 77.9-79.8 87.3 14-15.7 27.6-40.2 40.5-76.3-31.5 41.6-51.7 53.8-75.6 55.3 2.7 2.5 5.2 4.3 7.3 5.1l2 .7 31.7 34.1 4.7 2.9c32.1-8.9 71.7-26.8 69.2-109.1zM126 388l-24.8 34.1c19.9 35 91.7 51.4 132.7 45-68.1-25.2-82.6-42.4-107.9-79.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Booze;

impl IconShape for Booze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M67.5 34v59h64V34h-64zm-1.75 77c-14.22 25.4-13.64 56.2 1.75 87-16 0-48 16-48 32v224c0 32 160 32 160 0V230c0-16-32-32-48-32 15.5-31 16-61.9 1.5-87H65.75zM99.5 245c10.7 0 20.5 3.2 28 8.8 7.6 5.7 13 14.3 13 24.2h23v112h-128V278h23c0-9.9 5.42-18.5 12.97-24.2 7.55-5.6 17.37-8.8 28.03-8.8zm169 79c-32 0-64 4-64 12l16 128c16 16 80 16 96 0l16-128c0-8-32-12-64-12zm160 0c-32 0-64 4-64 12l16 128c16 16 80 16 96 0l16-128c0-8-32-12-64-12zm0 55.5c5.7 0 11.4.8 16.5 2.4.2 19 .3 39.8.3 39.8l12.2-33.2c4 3.4 6.6 8 7 13.5l-4 46c0 16-64 16-64 0l-4-46c1-15 18.5-22.5 36-22.5zm-160 30c5.8 0 11.5.9 16.6 2.7.1 12 .2 25.5.2 25.5l7.8-21.4c5.4 3.7 8.9 8.9 9.4 15.7l-2 16c0 16-64 16-64 0l-2-16c1-15 17.5-22.5 34-22.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BossKey;

impl IconShape for BossKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.015 20.5L242.74 60.324c4.35-.543 8.78-.824 13.275-.824 4.495 0 8.926.28 13.275.824L256.015 20.5zM148.68 28.072C55.504 47.13-4.34 183.455 158.426 200.892c-4.778-11.793-7.41-24.65-7.41-38.11 0-15.162 3.337-29.562 9.322-42.534-56.593-23.726-61.02-55.15-11.656-92.176zm214.638 0c49.358 37.02 44.94 68.44-11.63 92.164 5.988 12.976 9.327 27.38 9.327 42.545 0 13.46-2.63 26.316-7.408 38.11 162.726-17.453 102.883-153.76 9.71-172.818zM256.015 77.5c-48.242 0-87 38.164-87 85.28 0 47.12 38.758 85.282 87 85.282 48.243 0 87-38.163 87-85.28 0-47.118-38.757-85.282-87-85.282zm-9 23h18v7.758c14.666 2.49 26.297 10.812 35.363 19.88 10.85 10.847 19.06 23.06 26 30l6.366 6.362-6.366 6.363c-6.94 6.94-15.15 19.152-26 30-9.066 9.067-20.697 17.39-35.363 19.88v7.757h-18v-7.758c-14.666-2.49-26.297-10.812-35.363-19.88-10.85-10.847-19.06-23.06-26-30l-6.365-6.362 6.365-6.363c6.94-6.94 15.15-19.152 26-30 9.066-9.067 20.697-17.39 35.363-19.88V100.5zm0 26.082c-8.644 2.155-15.736 7.38-22.637 14.28-7.135 7.137-13.458 15.84-20.185 23.638 6.727 7.8 13.05 16.5 20.185 23.637 6.9 6.9 13.993 12.126 22.637 14.28v-7.02c-13.348-3.93-23.2-16.34-23.2-30.897 0-14.556 9.852-26.966 23.2-30.896v-7.022zm18 0v7.022c13.348 3.93 23.2 16.34 23.2 30.896 0 14.556-9.852 26.966-23.2 30.896v7.022c8.644-2.155 15.736-7.38 22.637-14.28 7.136-7.137 13.458-15.84 20.185-23.638-6.727-7.8-13.05-16.5-20.185-23.637-6.9-6.9-13.993-12.126-22.637-14.28zm-9 23.72c-7.948 0-14.2 6.25-14.2 14.198s6.252 14.2 14.2 14.2c7.95 0 14.2-6.252 14.2-14.2 0-7.948-6.25-14.2-14.2-14.2zm-23 113.255V299.5h46v-35.943c-7.407 1.636-15.104 2.505-23 2.505-7.896 0-15.592-.87-23-2.505zm9.414 53.943v164.916c1.444 2.708 5.645 9.084 13.585 9.084 7.897 0 12.445-6.447 14.06-9.236l.042-164.764H242.43zm45.667 78l-.004 18h31.922v-18h-31.918zm-.008 32l-.005 18h15.93v-18H288.09zm-.01 32l-.003 18h31.938v-18H288.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BottleCap;

impl IconShape for BottleCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.499 150.27C96.573 200.195 58.83 252.838 38.41 296.735c-10.21 21.949-16.034 41.712-17.185 57.376-1.152 15.663 2.144 26.57 9.05 33.477 6.907 6.906 17.815 10.203 33.478 9.051 15.663-1.152 35.427-6.975 57.376-17.185 43.897-20.42 96.54-58.163 146.465-108.088 49.926-49.926 87.668-102.569 108.088-146.466 10.21-21.948 16.034-41.712 17.185-57.375 1.152-15.664-2.144-26.571-9.05-33.477-6.907-6.907-17.815-10.204-33.478-9.052-15.663 1.152-35.427 6.975-57.376 17.185-43.897 20.42-96.54 58.163-146.465 108.089zm13.935 10.213c41.592-41.69 85.542-75.431 111.893-90.014-57.86 45.917-217.929 183.745-148.373 275.74 6.305 8.34-61.76 34.137-65.167 24.83-22.38-61.146 36.763-145.52 101.647-210.556zM41.744 412.841c4.947 8.962 10.733 18.459 16.161 28.652 3.506-2.819 7.906-5.132 11.59-6.03 8.066-1.885 16.128.87 21.76 5.488 5.63 4.619 9.599 10.81 12.702 17.479 3.899 8.377 6.483 17.462 7.526 26.004 2.893-.971 5.78-1.972 8.664-3.002.606-9.63-.184-21-.264-31.983-.053-7.272.214-14.436 1.99-21.283 2.625-7.78 5.641-13.813 11.925-18.142 7.374-5.046 16.26-5.932 23.704-3.857 7.443 2.076 13.74 6.48 19.25 11.573 9.504 8.784 16.758 19.647 20.942 28.494a573.433 573.433 0 0 0 8.793-4.965c-2.562-10.086-5.463-23.926-6.049-37.782-.6-14.18.845-29.487 10.423-39.63a34.039 34.039 0 0 1 4.62-4.014c7.867-5.586 17.288-6.762 25.611-5.138 8.324 1.624 15.891 5.63 22.704 10.407 9.209 6.458 16.99 14.19 22.588 21.131a644.594 644.594 0 0 0 10.154-8.416c-5.173-7.802-9.976-18.099-13.13-29.667-4.607-16.888-5.025-37.474 9.24-51.74 14.267-14.267 34.853-13.848 51.741-9.242 11.568 3.155 21.865 7.958 29.667 13.13 2.839-3.36 5.652-6.74 8.417-10.153-6.942-5.598-14.674-13.38-21.131-22.588-4.778-6.813-8.784-14.38-10.408-22.704-1.624-8.324-.448-17.745 5.138-25.611 1.29-1.79 2.581-3.22 4.014-4.62 10.144-9.578 25.45-11.023 39.63-10.423 13.857.586 27.696 3.487 37.782 6.049 1.682-2.921 3.34-5.852 4.966-8.793-8.848-4.184-19.71-11.439-28.494-20.942-5.094-5.511-9.498-11.807-11.573-19.25-2.076-7.444-1.19-16.33 3.856-23.704 4.123-6.084 11.761-10.219 18.142-11.925 6.847-1.776 14.012-2.043 21.283-1.99 10.983.08 22.354.87 31.984.264a479.55 479.55 0 0 0 3-8.664c-8.54-1.043-17.625-3.628-26.003-7.527-6.668-3.103-12.86-7.07-17.479-12.702-4.618-5.63-7.373-13.693-5.487-21.76 1.381-4.477 3.342-8.52 6.03-11.59-10.194-5.427-19.69-11.213-28.652-16.16 1.638 7.21 2.07 15.074 1.464 23.308-1.386 18.847-7.97 40.285-18.792 63.55C370.099 178.9 331.28 232.728 280.119 283.89c-51.16 51.16-104.99 89.98-151.518 111.624-23.264 10.822-44.702 17.405-63.549 18.791-8.234.606-16.098.175-23.307-1.464zm27.564 41.953a8.414 8.414 0 0 0-.466.471 17.728 17.728 0 0 0-2.452 3.877c4.645 11.014 8.274 22.823 9.658 35.629 10.182-9.497 12.795-4.634 17.98-4.858-.602-7.144-2.702-16.64-6.132-24.01-2.358-5.067-5.308-9.151-7.874-11.256-2.567-2.105-3.98-2.523-6.496-1.934-1.806.422-3.107 1.04-4.218 2.08zM451.197 73.13c-1.103 1.22-1.886 2.64-2.255 4.166-.588 2.517-.171 3.93 1.934 6.496 2.105 2.567 6.19 5.517 11.256 7.874 7.37 3.43 16.866 5.53 24.01 6.133-2.121-6.134-1.639-12.173 4.858-17.98-12.806-1.384-24.615-5.013-35.629-9.659-1.648.729-3.071 1.75-4.174 2.97zM142.84 425.434c-2.1 2.002-3.244 5.007-3.82 7.18-1.091 4.203-1.474 10.068-1.425 16.706.056 7.712.702 16.382.617 25.255 11.754-8.651 20.014-21.068 43.794-20.002-3.048-6.404-9.84-16.95-17.28-23.825-4.184-3.868-8.54-6.56-11.982-7.52-3.443-.96-5.68-.82-8.944 1.415-.34.24-.66.505-.96.79zm278.79-278.746c-.265.278-.518.572-.76.883-2.233 3.265-2.373 5.501-1.413 8.944.96 3.443 3.651 7.798 7.52 11.984 6.875 7.438 17.42 14.23 23.825 17.278-.606-20.71 9.905-32.31 20.001-43.794-8.873.085-17.543-.56-25.255-.617-6.638-.048-12.502.335-16.705 1.425-2.952.802-5.363 1.952-7.214 3.897zm-50.02 81.633c-.398.372-.764.767-1.096 1.188-2.641 3.72-3.123 7.204-2.195 11.963.929 4.758 3.685 10.448 7.525 15.925 5.06 7.215 12.092 14.048 17.687 18.698 3.589-15.098 16.365-31.912 34.451-49.896-8.701-1.987-19.218-3.878-29.014-4.293-8.39.554-21.39.837-27.358 6.415zM225.128 374.845c-6.146 6.112-7.177 22.42-6.992 27.894.414 9.797 2.305 20.314 4.292 29.015 14.862-12.526 26.804-28.222 49.896-34.452-4.65-5.594-11.483-12.627-18.698-17.686-5.477-3.84-11.167-6.597-15.925-7.525-4.758-.929-8.243-.446-11.963 2.195a9.727 9.727 0 0 0-.61.559zm80.045-65.901c-8.004 8.004-8.422 20.823-4.677 34.556 2.241 8.218 6.212 16.39 9.79 22.387 13.324-21.166 30.664-38.507 51.83-51.831-5.997-3.577-14.168-7.548-22.386-9.79-13.734-3.745-26.553-3.326-34.557 4.678z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BottledShadow;

impl IconShape for BottledShadow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.2 27.37v56.5h306.1v-56.5H104.2zm19.7 75.13c-.8 5.4-2 8.8-3.3 11.1-2.1 3.8-4.6 5.5-9 8.6-4.4 3.1-10.5 7.8-14.66 16.1-4.15 8.3-6.32 19.5-6.32 36.3V426c0 32.3 26.38 58.6 58.68 58.6h213.5c32.3 0 58.6-26.3 58.6-58.6V174.6c0-17.6-2-29.1-5.8-37.8-3.9-8.5-9.8-13.6-14.1-16.7-4.4-3.2-6.6-4.6-8.5-7.9-1.1-2-2.2-5-2.9-9.7h-18.8c.9 7.9 2.7 14 5.4 18.9 4.2 7.2 10 10.9 13.7 13.7 3.7 2.7 5.8 4.2 8.1 9.2 2.2 5.2 4.2 14.2 4.2 30.3V426c0 22.5-17.6 40-39.9 40H149.3c-22.4 0-39.9-17.5-39.9-40V174.6c0-15.1 2.1-23.4 4.3-28 2.3-4.6 4.7-6.3 8.8-9.3 4.1-2.8 10.1-7 14.4-14.6 2.9-5.2 4.8-11.7 5.8-20.2h-18.8zM278.8 113c-49.7.6-104.1 37.5-114.2 62.9-15.8 40-25.1 119.5 12.6 124.1 16.8 2 42.1-14.4 34.2 27.6-2.6 13.9 53.8 5.9 51.2 17.6-9.1 41-72.8 93.2-56.6 94.3 30.7 2.1 129.9-16.6 111.6-63.7-13.7-35.5 17.7-39 37.8-47 16.6-6.6-2-48-32.1-75.3-31.7 8.1-39.7 19.6-55.3 31.8 0 0 3.8-44.3 20.8-52.1 2-.9 4.2-1.3 6.7-1.3 6-.1 13.1 2.2 19.8 5.2 30.8-30.9 32.5-92.8 13.1-108.3-14.4-11.5-31.7-16-49.6-15.8zm-5 19.3c.4 0 .7 0 1 .2 5.4 3.3-1.3 31.8-7.3 46.2-5.6 13.6-21.5 37.5-26 35.6-6.9-2.9-9.6-34.4-3.2-49.8 5.8-14 29.2-32.2 35.5-32.2zm24.8 6.5c3.8.3 15.4 11.2 19.1 19 4.3 9.1 3.3 38.9 2.2 41.4-1.2 2.8-14.1-2-18.3-7-9.2-10.7-7.4-51.6-3.6-53.3.2-.1.4-.1.6-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoulderDash;

impl IconShape for BoulderDash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.625 35.008l52.611 39.463a112.639 112.639 0 0 1 39.032-6.955c1.664 0 3.319.045 4.966.117zm-61.09 25.285l54.738 61.85c7.477-11.488 16.704-21.611 27.286-29.92zm152.733 23.223c-56.69 0-102.97 48.891-102.97 109.99s46.28 109.992 102.97 109.992c56.689 0 102.968-48.893 102.968-109.992 0-61.099-46.28-109.99-102.968-109.99zm-150.34 58.71L58.3 193.739l-.002-.232c0-15.586 2.698-30.536 7.619-44.352zm314.408 26.84l-12.133 13.297c8.5 7.756 16.316 14.44 23.498 20.446 2.615-5.648 6.3-10.586 10.942-14.399-6.89-5.732-14.29-12.028-22.307-19.344zm44.851 29.28a16.468 16.468 0 0 0-4.326.511c-11.225 2.899-19.07 18.144-14.52 35.766 4.55 17.622 18.795 27.164 30.02 24.266 11.225-2.899 19.07-18.144 14.52-35.766-3.981-15.42-15.385-24.652-25.693-24.777zm-362.625 8.2l51.276 50.981A129.794 129.794 0 0 1 60.996 220.2zm276.715 29.56l.24 17.998c14.545-.196 38.63 5.678 58.344 12.224a367.708 367.708 0 0 1 13.153 4.65c-8.801-5.715-16.002-14.82-20.141-25.722-17.47-5.193-36.21-9.357-51.596-9.15zM18 265.31v17.337a11431.26 11431.26 0 0 0 58.58 24.301c56.12 23.12 129.342 53.014 202.04 82.602A139668.39 139668.39 0 0 0 494 476.992v-17.26a142416.05 142416.05 0 0 1-209.35-85c-72.686-29.583-145.898-59.475-201.976-82.578-26.028-10.723-47.807-19.76-64.674-26.843zm398.504 3.246c-4.107 3.607-9.01 6.307-14.643 7.761a35.428 35.428 0 0 1-15.423.526c18.897 14.106 12.17 59.102 2.992 70.697-8.122 10.26-21.36 13.533-28.698 14.488.107.09-.246.082-1.37.127.441-.017.902-.066 1.37-.127-.162-.136-1.42-.502-2.816-1.672-2.31-1.934-5.373-5.127-8.463-8.847-6.179-7.44-12.638-17.123-16.176-23.871l-6.293-12.004-8.623 10.457c-5.097 6.182-10.064 9.497-21.433 15.713l8.635 15.795c7.246-3.962 12.91-7.5 17.873-11.508 3.683 5.75 7.747 11.592 12.17 16.918 3.542 4.265 7.107 8.093 10.751 11.146 3.645 3.053 6.942 6.255 13.721 5.985 21.721-.865 40.55-18.176 56.125-29.553 4.476-3.27 14.021-5.87 24.045-6.135 7.341-.194 14.925.791 20.863 2.408-1.13 14.418-5.324 39.26-15.02 53.397l-9.116 13.295 16.101.783c15.55.756 23.995-1.374 39.332-7.951l-7.094-16.543c-7.78 3.336-12.17 5.101-16.601 5.976 8.66-20.28 10.676-43.193 10.892-54.996l.11-5.914-5.387-2.445c-9.846-4.47-22.191-6.33-34.555-6.004-5.37.142-10.736.668-15.867 1.781 2.068-9.406 2.268-18.777 1.14-27.82-1.375-11.037-4.593-21.644-8.542-31.863z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BouncingSpring;

impl IconShape for BouncingSpring {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.07c-58.1 0-110.7 6.28-149.4 16.71-19.39 5.22-35.31 11.4-47.09 18.9-5.67 3.61-10.62 7.73-14.25 12.39C38.9 97.64 39.09 142.1 39 152c0 12.2 8.74 21.9 20.51 29.4 7.93 5 17.73 9.5 29.2 13.5-2.7 6.9-3.89 14.5-3.89 22.1 0 11.4 2.67 23 9.22 32-6.55 9-9.22 20.6-9.22 32 0 11.4 2.67 23 9.22 32-6.55 9-9.22 20.6-9.22 32 0 11.4 2.67 23 9.22 32-6.55 9-9.22 20.6-9.22 32 0 14.6 4.31 29.7 15.68 39 45.6 37.4 127.2 47.9 198.6 36.6 35.8-5.7 69.1-17 94.1-34.6 8.7-6.2 16.4-13.2 22.7-21 .8 3.8 1.3 7.8 1.3 12h18c0-11.5-2.4-22.2-6.8-32 4.4-9.8 6.8-20.5 6.8-32s-2.4-22.2-6.8-32c4.4-9.8 6.8-20.5 6.8-32s-2.4-22.2-6.8-32c4.4-9.8 6.8-20.5 6.8-32s-2.4-22.2-6.8-32c3.7-8.3 6-17.1 6.6-26.6 6.6-2.8 12.4-5.8 17.5-9 11.8-7.5 20.5-17.2 20.5-29.4-.2-11.2-2.2-64.7-6.2-80.93-3.7-4.66-8.6-8.78-14.3-12.39-11.8-7.5-27.7-13.68-47.1-18.9-38.7-10.43-91.3-16.71-149.4-16.71zm-9 18.23c29.3.16 59.8 1.15 71.2 2.72-23.9 21.22-54.7 65.38-55.3 90.28-49.3 1.1-88.2-2.6-115.6-7.2 7.8-10.5 19.7-22.9 33.9-35.48 19.2-16.97 42.5-34.6 65.8-50.32zm-31.7.2c-16.4 11.88-32.2 24.34-46 36.65-17.8 15.72-32.4 30.85-41.4 45.25-18.6-4.2-28.18-8.1-28.09-9.1 18.39-29.69 50.29-54.89 85.49-71.06 5.1-.89 16.2-1.45 30-1.74zM57 115.7c.82.6 1.65 1.2 2.51 1.7 11.78 7.5 27.7 13.7 47.09 18.9C145.3 146.7 197.9 153 256 153c58.1 0 110.7-6.3 149.4-16.7 19.4-5.2 35.3-11.4 47.1-18.9.9-.5 1.7-1.1 2.5-1.7.7 12.2.4 29.2 0 36.3 0 3.2-2.9 8.3-12.2 14.2-9.3 5.9-23.8 11.8-42.1 16.7-36.5 9.8-87.9 16.1-144.7 16.1-56.8 0-108.2-6.3-144.7-16.1-18.3-4.9-32.85-10.8-42.12-16.7C52.68 156.7 57 134.4 57 115.7zm49.3 84.5c.1 0 .2.1.3.1 14.1 3.3 32 10.6 39.4 16.7-14.1 5.2-27.1 11.7-38.3 19.6-2.9-5.1-4.9-12.1-4.9-19.6 0-6.2 1.4-12.1 3.5-16.8zm290.6 2.3c4.5 4.5 8.4 9.4 11.5 14.5-4.6 7.6-10.8 14.5-18.5 20.9-12.8-8.5-27.5-15.4-43.5-20.9 23-5.8 33.8-10.7 50.5-14.5zm-84.8 23.7c23.3 5.1 44.6 12.7 61.8 22.8-17.2 10.1-38.5 17.7-61.8 22.8-4.3-.9-8.6-1.7-13-2.4-39.4-6.2-81.9-5.8-119.7 2.1-22.2-5-42.2-12.5-57.7-22.5 15.5-10 35.5-17.5 57.7-22.5 37.8 7.9 80.3 8.3 119.7 2.1 4.4-.7 8.7-1.5 13-2.4zM415.9 237c.8 3.8 1.3 7.8 1.3 12s-.5 8.2-1.3 12c-3.4-4.2-7.3-8.2-11.5-12 4.2-3.8 8.1-7.8 11.5-12zm-26 23.1c7.7 6.4 13.9 13.3 18.5 20.9-4.6 7.6-10.8 14.5-18.5 20.9-12.8-8.5-27.5-15.4-43.5-20.9 16-5.5 30.7-12.4 43.5-20.9zm-282.2 1.3c11.2 7.9 24.2 14.4 38.3 19.6-14.1 5.2-27.1 11.7-38.3 19.6-2.9-5.1-4.9-12.1-4.9-19.6 0-7.5 2-14.5 4.9-19.6zm204.4 28.8c23.3 5.1 44.6 12.7 61.8 22.8-17.2 10.1-38.5 17.7-61.8 22.8-4.3-.9-8.6-1.7-13-2.4-39.4-6.2-81.9-5.8-119.7 2.1-22.2-5-42.2-12.5-57.7-22.5 15.5-10 35.5-17.5 57.7-22.5 37.8 7.9 80.3 8.3 119.7 2.1 4.4-.7 8.7-1.5 13-2.4zM415.9 301c.8 3.8 1.3 7.8 1.3 12s-.5 8.2-1.3 12c-3.4-4.2-7.3-8.2-11.5-12 4.2-3.8 8.1-7.8 11.5-12zm-26 23.1c7.7 6.4 13.9 13.3 18.5 20.9-4.6 7.6-10.8 14.5-18.5 20.9-12.8-8.5-27.5-15.4-43.5-20.9 16-5.5 30.7-12.4 43.5-20.9zm-282.2 1.3c11.2 7.9 24.2 14.4 38.3 19.6-14.1 5.2-27.1 11.7-38.3 19.6-2.9-5.1-4.9-12.1-4.9-19.6 0-7.5 2-14.5 4.9-19.6zm204.4 28.8c23.3 5.1 44.6 12.7 61.8 22.8-21 12.3-48.2 21.1-77.6 25.8-62.2 9.9-133.7.5-174.6-25.8 15.5-10 35.5-17.5 57.7-22.5 37.8 7.9 80.3 8.3 119.7 2.1 4.4-.7 8.7-1.5 13-2.4zM415.9 365c.8 3.8 1.3 7.8 1.3 12s-.5 8.2-1.3 12c-3.4-4.2-7.3-8.2-11.5-12 4.2-3.8 8.1-7.8 11.5-12zm-26 23.1c7.7 6.4 13.9 13.3 18.5 20.9-5.9 9.8-14.5 18.5-25.6 26.2-21.8 15.4-52.7 26.2-86.5 31.6-67.5 10.7-145.9-1.2-184.4-32.8-5.1-4.2-9.1-14.3-9.1-25 0-7.5 2-14.5 4.9-19.6 46.7 33 123.6 41.9 191.4 31.2 34.3-5.5 66.1-16.1 90.8-32.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowArrow;

impl IconShape for BowArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M331.734 20.443a4.421 4.421 0 0 0-1.802.327c-27.736 11.543-47.295 57.495-29.899 76.671 33.52 38.946 72.835 55.573 90.147 128.434 2.607 20.15 1.218 40.094 0 60.25-17.312 72.861-56.627 89.488-90.147 128.434-17.396 19.176 2.163 65.128 29.899 76.671 9.038 3.762 28.025-26.165 21.752-25.209-16.34 2.491-37.8-20.941-28.387-28.93 38.47-32.65 105.49-100.055 100.277-135.552-2.211-15.057-9.35-30.36-15.574-45.539 6.225-15.18 13.363-30.482 15.574-45.54 5.214-35.496-61.806-102.901-100.277-135.552-9.412-7.988 12.047-31.42 28.387-28.93 5.881.897-10.44-25.35-19.95-25.535zM152 24.23l-21.441 53.602L152 99.273l21.441-21.441zm-9 91.497v296.546l9-9 9 9V115.727l-2.637 2.636-6.363 6.364zm160 9.847v260.824l18-17.53V143.104zM152 428.727l-23 23v38.546l23-23 23 23v-38.546z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowString;

impl IconShape for BowString {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M114.4 35.99l36.8 85.91c4 2.4 7.9 4.9 11.8 7.5V66.55c-16-11.07-32.2-21.32-48.6-30.56zM181 50.56V160c0 .2.7 2.4 3.4 4.9 2.7 2.5 6.9 5.1 10.9 6.7 3.2 1.3 5.9 1.7 7.7 1.8V64c0-.25-.7-2.39-3.4-4.92s-6.9-5.11-10.9-6.72c-3.2-1.26-5.9-1.69-7.7-1.8zm40 60.54v63.2c48.3 43.4 88.2 95.2 118.7 145 22.3 36.5 39.5 71.9 51.2 102.5 9.9 25.8 16 47.9 17.6 65.2h93.1c-3.4-15.2-13.9-41.6-31-72.9-21.2-38.8-52-85.9-89.7-134.6C336 221.7 281.2 161.7 221 111.1zm-38 74.7V486h18V191.5c-4.2-.3-8.3-1.5-12.3-3.1-1.9-.8-3.8-1.7-5.7-2.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowTie;

impl IconShape for BowTie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.855 169.203C31.677 191.101 21 223.381 21 256s10.677 64.9 30.855 86.797c15.674-.505 44.822-4.243 73.961-11.527 21.772-5.443 43.342-13.134 58.973-21.8-5.558-6.025-8.448-13.975-10.55-22.91a107.81 107.81 0 0 1-1.323-6.603l-58.443 16.697-4.946-17.308 61.588-17.596c-.068-1.912-.115-3.83-.115-5.75s.047-3.838.115-5.75l-61.588-17.596 4.946-17.308 58.443 16.697a107.81 107.81 0 0 1 1.322-6.604c2.103-8.934 4.993-16.884 10.551-22.91-15.631-8.665-37.2-16.356-58.973-21.799-29.14-7.284-58.287-11.022-73.96-11.527zm408.29 0c-15.674.505-44.822 4.243-73.961 11.527-21.772 5.443-43.342 13.134-58.973 21.8 5.558 6.025 8.448 13.975 10.55 22.91.505 2.14.94 4.35 1.323 6.603l58.443-16.697 4.946 17.308-61.588 17.596c.068 1.912.115 3.83.115 5.75s-.047 3.838-.115 5.75l61.588 17.596-4.946 17.308-58.443-16.697a107.81 107.81 0 0 1-1.322 6.604c-2.103 8.934-4.993 16.884-10.551 22.91 15.631 8.665 37.2 16.356 58.973 21.799 29.14 7.284 58.287 11.022 73.96 11.527C480.324 320.899 491 288.619 491 256s-10.677-64.9-30.855-86.797zM256 205c-13.571 0-27.173.992-37.957 2.867-10.784 1.876-18.862 5.678-19.68 6.496-1.878 1.879-4.809 7.578-6.601 15.198C189.969 237.18 189 246.6 189 256c0 9.4.969 18.82 2.762 26.44 1.792 7.619 4.723 13.318 6.601 15.197.818.818 8.896 4.62 19.68 6.496C228.827 306.008 242.429 307 256 307c13.571 0 27.173-.992 37.957-2.867 10.784-1.876 18.862-5.678 19.68-6.496 1.878-1.879 4.809-7.578 6.601-15.198C322.031 274.82 323 265.4 323 256c0-9.4-.969-18.82-2.762-26.44-1.792-7.619-4.723-13.318-6.601-15.197-.818-.818-8.896-4.62-19.68-6.496C283.173 205.992 269.571 205 256 205z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowTieRibbon;

impl IconShape for BowTieRibbon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M447.586 34.278c8.2.042 16.652.51 25.25 1.305-18.81 11.825-47.438 25.416-75.809 35.345-19.621 6.868-39.233 12.234-55.464 14.86-10 1.617-18.485 1.793-24.758 1.267 9.46-16.636 28.867-31.502 56.191-41.146 20.184-7.124 44.389-11.352 71.092-11.623 1.16-.012 2.327-.014 3.498-.008zm-383.172 0c1.171-.006 2.337-.004 3.498.008 26.703.271 50.908 4.5 71.092 11.623 27.324 9.644 46.73 24.51 56.191 41.146-6.273.526-14.758.35-24.757-1.267-16.232-2.626-35.844-7.992-55.465-14.86-28.37-9.93-56.998-23.52-75.809-35.345 8.598-.794 17.05-1.263 25.25-1.305zm417.828 17.5c-10.731 63.387-9.774 151.122 2.854 210.18-35.275 4.762-73.838-2.481-105.834-14.924-17.386-6.761-32.812-14.983-44.6-23.235-4.285-3-8.02-6.019-11.203-8.923a63.245 63.245 0 0 0 3.34-3.557c14.844-17.115 17.859-41.615 14.031-64.781-2.39-14.463-7.447-28.663-14.908-40.76 24.99.44 54.528-7.35 83.19-17.91 27.592-10.166 53.726-23.013 73.13-36.09zm-452.484 0c19.404 13.077 45.538 25.924 73.13 36.09 28.662 10.56 58.2 18.35 83.19 17.91-7.461 12.097-12.519 26.297-14.908 40.76-3.827 23.166-.813 47.666 14.031 64.781a63.245 63.245 0 0 0 3.34 3.557c-3.183 2.904-6.918 5.924-11.203 8.923-11.788 8.252-27.214 16.474-44.6 23.235-31.996 12.443-70.559 19.686-105.834 14.924C39.532 202.9 40.49 115.165 29.758 51.778zM256 86.698c16.205 0 32.227 4.958 42.104 13.523 12.056 10.457 21.739 29.716 24.966 49.25 3.228 19.535-.004 38.68-9.869 50.055-11.469 13.224-34.123 21.07-57.201 21.07-23.078 0-45.732-7.846-57.201-21.07-9.865-11.375-13.097-30.52-9.87-50.055 3.228-19.534 12.91-38.793 24.967-49.25 9.877-8.565 25.9-13.523 42.104-13.523zm52.7 139.254c4.475 4.282 9.729 8.457 15.638 12.594 13.212 9.248 29.786 18.026 48.4 25.265 1.586.617 3.192 1.219 4.807 1.813 20.777 65.205 52.5 128.055 85.127 183.976-8.456-1.898-18.948-4.765-29.596-8.636-21.259-7.731-44.304-19.496-58.713-33.905l-11.398-11.398-3.72 15.683c-7.566 31.88-22.094 48.17-37.737 66.381-35.313-65.017-51.22-150.543-55.283-239.533 15.155-1.202 29.988-5.135 42.474-12.24zm-105.4 0c12.487 7.105 27.32 11.038 42.475 12.24-4.062 88.99-19.97 174.516-55.283 239.533-15.643-18.21-30.17-34.502-37.736-66.38l-3.72-15.684-11.4 11.398c-14.408 14.41-37.453 26.174-58.712 33.905-10.648 3.871-21.14 6.738-29.596 8.636 32.626-55.92 64.35-118.771 85.127-183.976 1.615-.594 3.22-1.196 4.807-1.813 18.614-7.239 35.188-16.017 48.4-25.265 5.91-4.137 11.163-8.312 15.639-12.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bowels;

impl IconShape for Bowels {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.643 25.715c-4.28.084-8.759 1.173-13.454 3.611C53.518 51.481 25.4 97.483 60.07 139.121c-14.984 19.347-20.219 35.593-9.502 53.365-16.915 16.155-12.66 32.309.266 48.463-11.026 14.52-5.226 21.561.158 28.787-11.725 13.449-37.788 54.228-8.14 70.23-14.488 18.706-4.632 80.856 49.146 69.048 9.032 26.311 42.663 26.504 63.016 4.968 10.512-.468 25.749-4.352 45.271-12.212-8.943-4.27-21.504-10.238-31.857-15.147-5.176-40.86-29.098-40.185-49.239-49.53 12.484-14.758 11.097-29.518 1.135-44.277 21.287-26.793 17.823-48.635 1.744-67.955 13.287-19.647 8.43-37.645 1.42-55.447 6.765-21.062 16.503-41.877 1.66-64.74 17.837 26.196 32.663 45.036 54.98 36.703 28.804 20.293 53.413 30.45 79.784 17.959 21.286 15.321 41.202 7.119 68.078-14.824 26.185 22.077 46.803-2.894 64.953-27.948-6.133 26.488-4.487 50.94 12.082 62.713-35.437 22.58-25.162 39.74-7.494 48.987-29.25 31.677-1.644 50.067 20.498 66.41-15.403 20.495-8.362 30.287 2.346 45.83-16.843-5.367-29.476 11.142-34.32 23.254-17.354-7.679-42.318-7.341-57.82-.211-19.54-8.827-31.82-6.08-47.395 8.877-17.465-4.666-34.928-11.631-52.393 5.392-27.894 47.569 4.222 190.502 58.602 64.563 27.827 15.997 50.26 4.89 58.61-4.861 27.733 8.952 57.144 19.38 64.501.546 16.027 6.017 99.283 18.287 71.356-54.894 10.057-21.226 11.246-40.839.71-58.32 11.805-15.245 16.055-35.104 1.337-53.485 22.257-27.526 3.886-54.386-11.842-68.355 12.884-18.203 17.436-25.168 4.177-39.86 4.8-12.253-1.38-36.408-12.873-46.474 23.733-40.438 9.553-94.849-52.086-72.436-23.91-19.77-69.494 8.79-69.716 28.656-35.772-8.603-51.965-5.588-62.233 14.553-24.282-24.11-48.205-16.262-69.814-3.744C192.508 64.108 191.934 47.4 153.8 52.953c-12.773-9.12-27.612-27.603-46.158-27.238z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowenKnot;

impl IconShape for BowenKnot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.975 26c-1.51-.005-3.015.032-4.518.11-20.042 1.03-39.484 9.332-54.25 24.097C26.582 73.832 19.5 109.432 32.287 140.3c12.786 30.866 42.965 51.032 76.375 51.032h194.006v-18H191.332v-64.67c0-33.41-20.166-63.59-51.033-76.375-10.13-4.195-20.768-6.252-31.325-6.287zm295.556.01c-11.05-.165-22.218 1.882-32.83 6.277-30.866 12.786-51.032 42.965-51.032 76.375v194.006h18V191.332h64.67c33.41 0 63.59-20.166 76.375-51.033 4.795-11.576 6.795-23.818 6.178-35.843-1.03-20.042-9.332-39.484-24.097-54.25-15.504-15.504-36.166-23.882-57.262-24.197zM107.718 43.99c8.64-.125 17.378 1.482 25.693 4.926 24.19 10.02 39.922 33.564 39.922 59.746v64.67h-64.67c-26.182 0-49.727-15.733-59.746-39.922-10.02-24.19-4.494-51.96 14.02-70.474 12.15-12.15 28.286-18.706 44.78-18.946zm296.566 0c16.495.24 32.632 6.796 44.78 18.946 18.515 18.513 24.04 46.285 14.02 70.474-10.018 24.19-33.563 39.922-59.745 39.922h-64.67v-64.67c0-26.182 15.733-49.727 39.922-59.746 8.315-3.444 17.053-5.05 25.693-4.926zm-230.95 165.342v111.336h-64.67c-33.41 0-63.59 20.166-76.376 51.033-4.795 11.576-6.795 23.818-6.178 35.843 1.03 20.042 9.332 39.484 24.097 54.25 23.625 23.625 59.225 30.706 90.092 17.92 30.866-12.786 51.032-42.965 51.032-76.375V209.332h-18zm36 111.336v18h111.335v64.67c0 33.41 20.166 63.59 51.033 76.375 11.576 4.795 23.818 6.795 35.843 6.178 20.042-1.03 39.484-9.332 54.25-24.097 23.625-23.625 30.706-59.225 17.92-90.092-12.786-30.866-42.965-51.032-76.375-51.032H209.332zm-100.67 18h64.67v64.67c0 26.182-15.734 49.727-39.923 59.746-24.19 10.02-51.96 4.494-70.474-14.02-18.514-18.513-24.04-46.285-14.02-70.474 10.02-24.19 33.564-39.922 59.746-39.922zm230.005 0h64.67c26.182 0 49.727 15.733 59.746 39.922 10.02 24.19 4.494 51.96-14.02 70.474-18.513 18.514-46.285 24.04-70.474 14.02-24.19-10.02-39.922-33.564-39.922-59.746v-64.67z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowlingAlley;

impl IconShape for BowlingAlley {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 26c-4.5.1-6.6 1.52-7.9 3.87-1.2 2.35-1.5 5.96-1.2 9.99.3 4.1 1.2 8.47 1.9 12.5.3 1.61.6 3.1.8 4.54l.2 3.59h.1c-.1.78-.1 1.5-.2 2.1-.3 1.61-.6 3.1-1.1 4.54l-3 7.24c-2.1 4.48-4.4 8.79-5.7 14.1-2.3 9.35-1.5 22.23 9.9 45.03 5.4.4 3.9.3 6.7.3 2.8 0 1.2.1 6.7-.3 4.6-9.1 7.4-16.7 9-23 1.7 6.3 4.5 13.9 9.1 23 5.4.4 3.9.3 6.7.3 2.8 0 1.2.1 6.7-.3 4.8-9.6 7.7-17.5 9.3-24 1.6 6.5 4.5 14.4 9.3 24 5.4.4 3.9.3 6.7.3 2.8 0 1.2.1 6.7-.3 5.1-10.1 8-18.3 9.5-25.1 1.6 6.8 4.5 15 9.6 25.1 5.4.4 3.9.3 6.7.3 2.8 0 1.2.1 6.7-.3 4.8-9.6 7.7-17.5 9.3-24 1.6 6.5 4.5 14.4 9.3 24 5.4.4 3.9.3 6.7.3 2.8 0 1.2.1 6.7-.3 11.4-22.8 12.1-35.68 9.9-45.03-1.3-5.31-3.6-9.62-5.8-14.1l-3-7.24c-.4-1.44-.7-2.93-1-4.54-.1-.6-.2-1.32-.2-2.1l.3-3.59c.2-1.44.5-2.99.8-4.65.7-4.03 1.6-8.51 1.9-12.55.3-4.04-.1-7.66-1.4-9.99-1.4-2.33-3.5-3.75-8.2-3.71h-.5c-4.5.1-6.6 1.52-7.9 3.87-1.2 2.35-1.5 5.96-1.2 9.99.3 4.1 1.2 8.47 1.9 12.5.3 1.61.6 3.1.8 4.54l.2 3.59h.1c-.1.78-.1 1.5-.2 2.1-.3 1.61-.6 3.1-1.1 4.54l-3 7.24c-1.8 3.86-3.8 7.59-5.1 11.94-1.3-4.35-3.3-8.08-5.2-11.94l-3-7.24c-.4-1.44-.7-2.93-1-4.54-.1-.6-.2-1.32-.2-2.1l.3-3.59c.2-1.44.5-2.99.8-4.65.7-4.03 1.6-8.51 1.9-12.55.3-4.04-.1-7.66-1.4-9.99-1.4-2.33-3.5-3.75-8.2-3.71h-.5c-4.5.1-6.6 1.52-7.9 3.87-1.2 2.35-1.5 5.96-1.2 9.99.3 4.1 1.2 8.47 1.9 12.5.3 1.61.6 3.1.8 4.54l.2 3.59h.1c-.1.78-.1 1.5-.2 2.1-.3 1.61-.6 3.1-1.1 4.54l-3 7.24c-1.9 4.11-4 8.09-5.4 12.82-1.3-4.73-3.4-8.71-5.4-12.82l-3-7.24c-.4-1.44-.7-2.93-1-4.54-.1-.6-.2-1.32-.2-2.1l.3-3.59c.2-1.44.5-2.99.8-4.65.7-4.03 1.6-8.51 1.9-12.55.3-4.04-.1-7.66-1.4-9.99-1.4-2.33-3.5-3.75-8.2-3.71h-.5c-4.5.1-6.6 1.52-7.9 3.87-1.2 2.35-1.5 5.96-1.2 9.99.3 4.1 1.2 8.47 1.9 12.5.3 1.61.6 3.1.8 4.54l.2 3.59h.1c-.1.78-.1 1.5-.2 2.1-.3 1.61-.6 3.1-1.1 4.54l-3 7.24c-1.8 3.86-3.8 7.59-5.1 11.94-1.3-4.35-3.3-8.08-5.2-11.94l-3-7.24c-.4-1.44-.7-2.93-1-4.54-.1-.6-.2-1.32-.2-2.1l.3-3.59c.2-1.44.5-2.99.8-4.65.7-4.03 1.6-8.51 1.9-12.55.3-4.04-.1-7.66-1.4-9.99-1.4-2.33-3.5-3.75-8.2-3.71h-.5c-4.5.1-6.6 1.52-7.9 3.87-1.2 2.35-1.5 5.96-1.2 9.99.3 4.1 1.2 8.47 1.9 12.5.3 1.61.6 3.1.8 4.54l.2 3.59h.1c-.1.78-.1 1.5-.2 2.1-.3 1.61-.6 3.1-1.1 4.54l-3 7.24c-1.7 3.63-3.5 7.16-4.9 11.18-1.3-4.02-3.1-7.55-4.9-11.18l-3-7.24c-.4-1.44-.7-2.93-1-4.54-.1-.6-.2-1.32-.2-2.1l.3-3.59c.2-1.44.5-2.99.8-4.65.7-4.03 1.6-8.51 1.9-12.55.3-4.04-.1-7.66-1.4-9.99-1.4-2.33-3.5-3.75-8.2-3.71zm-10.1 127L45.65 489h75.85l64.9-219.7L136 489h206.4l-5.8-97.3 19.8 97.3h110L330.1 153zm137.9 103h.2c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48c0-26.4 21.4-47.9 47.8-48zm-1.9 8.7c-31.8 0-43 40.6-35.2 51.7-2.2-13.7 16.7-45.4 41.8-51.1-2.3-.4-4.5-.6-6.6-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowlingPin;

impl IconShape for BowlingPin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.906 17.594c-19.943.246-29.027 6.66-34.687 17.093-5.668 10.445-7.04 26.44-5.657 44.313s5.284 37.398 8.5 55.063c1.293 7.107 2.494 13.83 3.375 20.156H286.5c.894-6.445 2.18-13.313 3.5-20.564 3.25-17.83 7.19-37.542 8.5-55.5 1.31-17.957-.25-33.9-6.156-44.187-5.907-10.288-15.443-16.607-36.25-16.376h-.188c-.65-.008-1.31-.008-1.937 0h-.064zM226.75 170.22c-.003 3.266-.216 6.37-.72 9.31-1.194 6.994-2.872 13.607-4.874 19.94h69.688c-2.002-6.332-3.68-12.946-4.875-19.94-.503-2.935-.715-6.048-.72-9.31h-58.5zm-18.688 61.25c-9.445 19.785-19.865 38.882-25.5 62.186-10.055 41.59-6.585 98.32 43.813 199.094 23.952 1.804 17.156 1.583 29.594 1.625h.06c12.43-.042 5.676.175 29.564-1.625 50.4-100.776 53.894-157.504 43.844-199.094-5.632-23.304-16.054-42.4-25.5-62.187h-95.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowlingStrike;

impl IconShape for BowlingStrike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.685 30.997c-2.48-.013-4.73.228-6.613.692-12.055 2.97-33.197 20.964-27.258 45.074 4.695 19.063 16.214 41.833 24.03 63.607l56.564-13.933c-3.192-22.913-3.569-48.428-8.264-67.49-5.01-20.343-25.07-27.876-38.459-27.95zm278.34 18.493c-7.87-.035-16.233 2.54-22.68 9.853-10.873 12.334-21.038 31.133-32.287 46.908l36.596 32.264c14.24-13.138 31.617-25.58 42.49-37.914 13.752-15.6 5.028-37.151-2.771-44.027-4.144-3.653-12.429-7.046-21.348-7.084zm43.994 67.617c-13.351-.237-32.583 6.265-38.64 25.51-5.896 18.726-7.89 44.167-12.528 66.832l55.567 17.492c9.18-21.235 22.12-43.229 28.015-61.955C419.89 141.3 399.932 122 388.09 118.273c-2.22-.7-4.989-1.112-8.07-1.166zm-108.088.457c-.684.82-1.374 1.631-2.068 2.416-1.15 1.298-2.65 2.625-4.428 3.984L301.773 156c1.126-1.933 2.255-3.59 3.398-4.892.692-.788 1.41-1.574 2.14-2.356zm-18.691 15.008c-21.913 12.69-58.91 28.307-76.387 49.615-4.496 5.48-8.968 12.61-13.258 20.513 11.695 21.574 24.632 46.159 26.426 68.65 10.533 1.003 18.645 3.475 28.121 7.222 14.283-8.783 28.051-18.484 36.707-27.625 18.949-20.012 29.803-58.673 39.647-82.004zm-144.434 9.66L54.125 155.7c.338 1.23.665 2.456.962 3.672.492 2.011.772 4.39.895 7.059l56.164-13.834c-1.13-2.42-1.987-4.657-2.486-6.666a130.537 130.537 0 0 1-.854-3.7zm12.48 24.99l-63.765 15.707c-2.47 30.135-12.341 77.058-3.34 108.709 3.816 13.419 12.04 29.809 21.42 45.855 17.03-38.834 55.644-66.136 100.57-66.634-.383-3.138-.855-6.128-1.437-8.914-6.729-32.212-37.264-69.183-53.447-94.723zm204.298 55.84c-.35 1.227-.71 2.445-1.088 3.638-.626 1.974-1.623 4.15-2.905 6.495l55.174 17.369c.292-2.656.722-5.013 1.34-6.989.374-1.194.777-2.397 1.193-3.603zm-11.92 22.281c-13.445 18.507-35.494 43.023-49.229 67.598 15.082 18.972 24.108 42.964 24.108 69.023 0 32.424-13.968 61.649-36.198 81.983.084.803.22 2.144.22 2.144l23.685 7.457 23.685 7.455s58.375-66.515 72.807-107.24c10.99-31.017 4.118-78.47 3.564-108.701zm-136.243 43.5c-51.536 0-93.12 41.585-93.12 93.121 0 51.536 41.584 93.121 93.12 93.121 51.537 0 93.122-41.585 93.122-93.12 0-51.537-41.585-93.122-93.122-93.122zm281.088 5.772c-3.844-.034-7.858.731-11.91 2.585-14.646 6.703-31.236 19.472-47.59 29.104l19.889 43.457c17.98-6.08 38.487-10.288 53.133-16.99 18.523-8.477 19.309-31.238 15.07-40.5-3.311-7.236-14.864-17.538-28.592-17.656zm-279.732 7.6c2.665-.019 5.305.374 7.959 1.62 2.653 1.246 5.551 3.673 6.824 7.364 1.899 5.506-.7 10.59-3.4 13.449s-6 4.683-9.791 5.85c-3.79 1.166-7.544 1.502-11.344.728-3.8-.775-8.679-3.087-10.574-8.594-1.896-5.506.705-10.585 3.404-13.443 2.699-2.858 5.996-4.683 9.785-5.85 2.317-.713 4.69-1.108 7.137-1.125zm-44.328 20.015c.337-.006.678-.004 1.025.008h.002c3.132.106 6.956 1.314 9.596 4.459 3.744 4.459 3.14 10.133 1.646 13.77-1.494 3.636-3.919 6.521-7.037 8.97-3.118 2.45-6.5 4.11-10.324 4.752-3.824.641-9.205.236-12.953-4.22v-.003c-3.748-4.458-3.146-10.136-1.652-13.773 1.494-3.638 3.92-6.523 7.039-8.973 3.627-2.848 7.6-4.9 12.658-4.99zm259.234 19.97c-.385 5.798-1.017 11.525-1.984 17.083l8.603 18.802c1.778-1.281 3.45-2.315 4.992-3.025.934-.43 1.888-.845 2.852-1.254zm-219.44 7.647c2.665-.018 5.305.375 7.96 1.621 2.653 1.246 5.55 3.672 6.824 7.363 1.899 5.507-.7 10.59-3.4 13.45-2.7 2.859-6 4.682-9.792 5.85-3.79 1.166-7.543 1.502-11.343.728-3.8-.775-8.679-3.087-10.574-8.594-1.896-5.506.704-10.585 3.404-13.443 2.699-2.858 5.996-4.683 9.785-5.85 2.316-.714 4.69-1.109 7.137-1.125zm212.926 27.072c-2.746 7.713-6.742 15.926-11.455 24.274 5.555-5.649 10.78-10.995 15.506-15.42z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoxCutter;

impl IconShape for BoxCutter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.512 128.777l-8.754 8.754 13.804 13.804 8.618-8.618c3.522 3.644 7.022 7.3 10.498 10.974l-8.38 8.38 13.803 13.803 7.91-7.91c56.049 60.807 106.512 125.403 156.901 192.142l-10.87 4.986L292.31 201.358l10.516-4.822-76.074-76.073-10.518 4.82-49.1-49.1-.205-.206-.217-.193c-16.629-14.758-38.932-13.07-54.888-7.049-7.978 3.011-14.679 6.986-19.583 12.089-2.452 2.552-4.657 5.412-5.647 9.655-.99 4.242.609 10.339 4.15 13.595l-.296-.285 54.272 54.272-10.517 4.82 76.073 76.074 10.518-4.82L384.548 397.89 354.75 411.56C241.345 257.947 138.5 201.206 35.151 143.476c-6.146-3.433-9.27-9.698-9.148-19.793.123-10.095 4.3-23.154 12.792-35.54 16.982-24.771 50.207-46.946 99.536-43.62 28.527 1.922 55.925 15.506 83.238 37.04l-6.89 6.89 13.803 13.803 8.075-8.075c4.092 3.682 7.677 6.946 11.167 10.305l-8.506 8.506 13.804 13.803 8.729-8.729c3.914 3.842 7.27 7.198 10.762 10.71zm-3.343 61.711l-54.688 25.066-46.624-46.625 54.688-25.065zM486 422.656l-3.926 45.154-63.878-63.88 33.644-15.434zm-48.882-48.881l-33.646 15.433-163.749-163.75 33.654-15.425zM197.303 133.959l-33.654 15.426-56.026-56.026c2.278-1.95 6.136-4.49 11.093-6.36 11.464-4.326 25.574-4.92 34.948 3.32zm-122.58-28.813c-7.571-7.57-19.846-7.57-27.417.001-7.57 7.571-7.57 19.846 0 27.417 7.57 7.572 19.846 7.572 27.418 0 7.571-7.571 7.571-19.847 0-27.418z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoxUnpacking;

impl IconShape for BoxUnpacking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M61.39 25.39C93.9 58.33 115.8 96.55 133.3 134.5c4.9-12 7.3-22.2 18.9-32.3 47 26.5 60.3 43.3 64.4 80.4h66.8c1.8-36 7.6-56.3 36.5-82.81 15.9 12.41 20 26.91 28.1 40.71 8.5-38.9 37.3-81.28 76.7-101.89-52.5-11.56-108.5-.43-153.3 17.54 9.3 6.39 22.7 11.23 26.9 19.5-19 9.79-39.5 42.35-51.2 69.35-14.1-25.1-43.5-53.44-72-67.64 11.5-11.58 23-15.79 34.5-22.89C176.6 36.1 117.5 27 61.39 25.39zm8.85 175.21l-41.25 110H137.8l41.2-110zm134.76 0l41.2 110H483l-41.2-110zm-22 40.6l-32.8 87.4H73v158h110zm18 0v245.4h238v-158H233.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoxingRing;

impl IconShape for BoxingRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80 16H48l96 176c10.6 18.9 174.6 14.1 176 0zm377 184.9l-.1 158H487l.1-158zm-432.01.2v158l30-.1V201.1zM73 217.5v18.1c125.7 12.5 240.5 12.5 366 .1v-18c-125.8 12.5-240.1 12.5-366-.2zm0 48.1v18.1c125.5 12.5 240.4 12.4 366 0v-18.1c-125.8 12.6-240.1 12.6-366 0zM439 313c-126.3 13.1-240.6 13.3-366 1.2v18.2c125.1 12 240.1 11.5 366-1.3zM25 377v110l462 .1.1-110.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bracer;

impl IconShape for Bracer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M412.6 27.246c-62.483 12.864-108.973 44.93-148.62 82.2-8.492 8.785-16.66 17.994-24.543 27.56 4.898 1.954 9.432 4.115 13.304 7.09.313-.395.7-.9 1.005-1.286 6.282-7.98 10.457-13.283 13.182-16.123l12.988 12.46c-.528.552-5.826 6.92-12.025 14.796-6.2 7.875-13.92 17.864-21.528 27.89-7.608 10.023-15.113 20.094-20.86 28.094-2.872 4-5.31 7.49-7.062 10.13-1.75 2.64-2.987 5.184-2.582 4.134l-16.793-6.48c1.2-3.11 2.415-4.648 4.375-7.603 1.082-1.63 2.37-3.5 3.774-5.506-3.99-2.19-8.23-4.21-12.563-5.67-11.845 18.36-23.12 37.345-34.032 56.61 4.74.9 9.385 2.15 13.65 4.094.547.25 1.095.51 1.64.785 2.275-3.822 4.35-7.24 6.07-9.948 1.923-3.023 3.048-4.9 4.93-6.988l13.374 12.047c.304-.336-1.358 1.838-3.113 4.598-1.756 2.76-4.004 6.458-6.542 10.745-3.152 5.323-6.773 11.605-10.516 18.203-.92 1.636-1.87 3.322-2.918 5.16-1.333 2.37-2.672 4.758-4.006 7.156-6.112 10.993-12.096 22.043-16.634 30.797-2.27 4.376-4.18 8.187-5.537 11.06-1.358 2.872-2.233 5.552-1.993 4.53l-17.52-4.128c.747-3.167 1.722-4.885 3.237-8.092 1.01-2.133 2.29-4.694 3.677-7.428-.176-.093-.336-.185-.563-.29-1.398-.654-3.906-1.24-7.11-1.456-2.58-.174-5.55-.114-8.714.024-6.96 13.054-13.88 26.046-20.812 38.855 24.224-3.728 49.8.884 72.717 11.266 25.21 11.42 47.412 29.837 61.177 52.778 9.69-11.386 19.125-22.82 28.346-34.295-6.03-7.047-12.925-13.504-20.574-19.506-3.778 5.388-12.217 17.41-12.217 17.41l-14.744-10.328s15.805-22.57 31.834-45.36c8.014-11.396 16.084-22.845 22.27-31.57 3.092-4.363 5.712-8.043 7.632-10.71.96-1.336 1.74-2.415 2.34-3.228.3-.406.554-.742.788-1.047.234-.304.034-.217 1.11-1.293l12.726 12.73c.31-.31.315-.324.395-.41-.113.145-.295.383-.54.714-.517.702-1.273 1.743-2.21 3.044-1.872 2.603-4.478 6.263-7.558 10.608-.47.662-1.203 1.71-1.693 2.402 8.655 6.093 16.436 13.453 22.96 21.498 14.668-19.693 28.886-39.478 42.85-59.322-6.27-7.52-13.506-14.377-21.59-20.72-3.778 5.388-12.22 17.408-12.22 17.408l-14.742-10.327s15.806-22.568 31.834-45.36c8.015-11.395 16.084-22.846 22.27-31.57 3.093-4.364 5.713-8.044 7.633-10.712.96-1.335 1.74-2.412 2.34-3.225.302-.406.552-.742.787-1.047.234-.304.033-.217 1.11-1.293l12.727 12.73c.305-.307.31-.32.39-.407-.112.146-.292.382-.535.71-.52.703-1.275 1.744-2.21 3.045-1.874 2.603-4.48 6.263-7.56 10.608-.47.662-1.203 1.708-1.693 2.4 8.053 5.668 15.35 12.433 21.58 19.826 14.802-21.625 29.52-43.287 44.39-64.95-8.163-14.727-13.61-35.985-17.267-59.9-3.51-22.94-4.823-47.863-3.476-70.616zm-24.935 23.988l.033 12.432c.068 26.335.24 57.675 8.26 81.712l4.045 12.127-12.78-.28c-21.215-.467-41.945-6.482-58.818-14.827-16.872-8.345-30.143-18.334-35.918-30.986l-2.78-6.09 5.032-4.412c21.065-18.48 51.315-35.886 81.126-45.766zm-17.883 25.353c-20.675 8.326-41.308 20.34-56.947 32.725 4.763 5.217 13.01 11.738 23.55 16.95 11.334 5.607 25.01 9.99 38.96 11.904-4.7-20.446-5.428-42.064-5.563-61.58zm-155.35 72.47l-19.294 31.21c8.46 2.03 15.834 5.644 22.017 9.223 2.87-4.034 5.655-7.918 11.22-15.912 3.968-5.703 7.908-11.442 10.737-15.727.11-.165.144-.23.25-.39-2.897-1.764-6.678-3.825-10.644-5.292-5.795-2.144-11.265-2.857-14.287-3.112zm143.58 69.394L338.99 246.3c14.875 11.8 27.542 25.663 36.984 42.082l15.574-23.535c-4.002-15.06-17.05-34.1-33.535-46.394zm-214.28 53.458c-2.03-.036-2.87.123-4.33.203l-17.692 36.36c3.37-.127 6.782-.277 10.246-.043 4.495.304 9.07 1.028 13.52 3.108.237.11.463.28.7.4 2.856-4.895 4.654-7.948 9.272-15.957 3.72-6.452 7.428-12.932 10.15-17.8.505-.906.755-1.39 1.186-2.17-2.534-1.152-6.38-2.25-10.494-2.98-4.125-.734-8.703-1.053-12.56-1.12zm129.925 62.125l-19.023 27.847c14.875 11.8 27.542 25.663 36.984 42.082l15.576-23.537c-4.002-15.06-17.052-34.097-33.537-46.392zM96.634 384.427c-3.352.813-6.633 1.826-9.82 3.06l-8.155 3.153c1.374 45.12 28.474 76.875 60.952 88.8 30.687 11.27 66.89 4.883 89.315-21.724l-3.803-8.79c-1.42-3.28-3.08-6.498-4.943-9.645-16.81 27.018-47.216 33.235-74.363 23.266-27.302-10.025-50.384-36.346-49.183-78.12z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrainDump;

impl IconShape for BrainDump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.6 25.3c-8.4.08-16.6 2.41-21.7 7.91-3.6 4.3-5.5 10.1-.1 22.2 5.8 8.8 10.4 20.85 14.4 36.37L179 96.44c-6.7-26.27-15.1-36.83-20.8-39.33-14.6-4.94-39.3 17.69-39 30.32 3.9 14.07 15.3 21.47 28 27.47l-8 16.9c-5.1-2.5-9.6-5-13.7-7.6-14.7-8.1-25.52-11.6-31.32-11.1-13.9 1.5-21 32.8-16.2 41.3 2.4 3.9 8.5 8.1 22.92 9.5 4.8-.2 8.6.7 12.8.6l.2 18.7c-4.3 0-8.3-.1-12.1-.4-12.12-.1-19.32.9-22.32 2.4-6.4 5.8-8.3 18.5-5.5 26.3 1.1 2.5 2.6 4.4 6.3 6.4 7.4 4 24.42 6.5 52.62 4.1l1.6 18.6c-21.6 1.8-37.92 1.5-50.42-1.6-1.8 18.5 16.12 26.8 32.92 27.1h103.8c12.1 0 22.6-8.9 26.7-25.1l8-32 10 31.5c5.3 16.6 16.2 25.6 26.9 25.6h103.8c6.3 0 18.4-3.9 25.6-10.2 4.9-4.6 8.7-10.7 7.5-17.1-12.6 3.3-29.1 3.7-51.4 1.8l1.6-18.6c28.2 2.4 45.1-.1 52.5-4.1 8.1-7.1 10.9-27.8.8-32.7-2.9-1.5-10.2-2.5-22.2-2.4-3.8.3-7.8.4-12.1.4l.2-18.7c4.3-.2 8.8-.5 12.8-.6 14.4-1.4 20.5-5.6 22.8-9.5 5.2-12.8-4.8-40-16.1-41.3-5.8-.5-16.6 3-31.3 11.1-4.1 2.6-8.6 5.1-13.7 7.6l-8-16.9c5.1-2.2 8.7-4.8 13-7.3 11.5-7.68 14.8-14.73 15.1-20.19-1-13.86-25.8-36.2-39-30.3-2 .8-4.3 2.7-6.8 5.9-6.4 10.05-11.6 23.71-14.2 33.41l-18-4.65c4.4-17.34 9.6-30.36 16.3-39.36 3.9-10 2.1-15.3-1.2-19.2-6.2-5.12-15.6-8-24.8-7.9-7.1 0-14 1.75-19.2 5.5-5.1 3.9-9.2 9.7-12.3 17-9.6 27.56-7.9 53.89-8.1 82.89-6 .2-12.5.1-18.7.1v-.1c-.3-26.6 1.2-60.31-8.1-82.89-3.1-7.3-7.2-13.1-12.3-17-5.5-3.45-14-5.6-22.3-5.51zM208 288v96h-64l112 108 112-108h-64v-96h-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrainLeak;

impl IconShape for BrainLeak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M305.4 18.57c-7.1.02-14 1.78-19.2 5.53-5.1 3.9-9.2 9.7-12.3 17-9.6 27.56-7.9 53.89-8.1 82.9v.1h-18.7v-.1c-.3-26.58 1.2-60.32-8.1-82.9-3.1-7.3-7.2-13.1-12.3-17-11-6.86-33.9-8.65-44 2.4-3.6 4.3-5.5 10.1-.1 22.2 5.8 8.8 10.4 20.85 14.4 36.37l-18.2 4.66C172.1 63.46 163.7 52.9 158 50.4c-14.6-4.94-39.3 17.69-39 30.32 3.9 14.08 15.3 21.48 28 27.48l-8 16.9c-5.1-2.5-9.6-5-13.7-7.6-14.7-8.1-25.51-11.6-31.31-11.1-13.93 1.5-21.03 32.8-16.2 41.3 2.4 3.9 8.5 8.1 22.91 9.5 4.8-.2 8.6.7 12.8.6l.2 18.7c-4.3 0-8.3-.1-12.1-.4-12.11-.1-19.31.9-22.31 2.4-6.45 5.8-8.37 18.5-5.5 26.3 1.1 2.5 2.6 4.4 6.3 6.4 7.4 4 24.41 6.5 52.61 4.1l1.6 18.6c-21.6 1.8-37.91 1.5-50.41-1.6-1.8 18.5 16.05 26.8 32.91 27.1h103.8c12.1 0 22.6-8.9 26.7-25.1l8-32 10 31.5c5.3 16.6 16.2 25.6 26.9 25.6H396c6.3 0 18.4-3.9 25.6-10.2 4.9-4.6 8.7-10.7 7.5-17.1-12.6 3.3-29.1 3.7-51.4 1.8l1.6-18.6c28.2 2.4 45.1-.1 52.5-4.1 8.1-7.1 10.9-27.8.8-32.7-2.9-1.5-10.2-2.5-22.2-2.4-3.8.3-7.8.4-12.1.4l.2-18.7c4.3-.2 8.8-.5 12.8-.6 14.4-1.4 20.5-5.6 22.8-9.5 5.2-12.8-4.8-40-16.1-41.3-5.8-.5-16.6 3-31.3 11.1-4.1 2.6-8.6 5.1-13.7 7.6l-8-16.9c5.1-2.2 8.7-4.8 13-7.3 11.5-7.69 14.8-14.74 15.1-20.2-1-13.86-25.8-36.2-39-30.3-2 .8-4.3 2.7-6.8 5.9-6.4 10.05-11.6 23.71-14.2 33.41l-18-4.65c4.4-17.34 9.6-30.36 16.3-39.36 3.9-10 2.1-15.3-1.2-19.2-6.2-5.12-15.6-7.96-24.8-7.93zM256 272s-64 80-64 144c0 32 33.8 64 64 64 30.2 0 64-32 64-64 0-64-64-144-64-144z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrainTentacle;

impl IconShape for BrainTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.5 18.66c-7.4-.02-14.8 1.93-19.2 6.96-3.1 3.59-4.8 8.46 0 19.19 5.2 8.08 9.3 19.06 12.9 33.12l-17.9 4.66c-6.1-23.73-13.8-33-18.5-35.1-2.4-1.04-4.7-1.14-8.3 0-3.7 1.11-8.4 3.68-13.5 7.47-7.9 5.8-12.6 13.22-12.4 19.25 3.7 12.42 13.1 18.6 25 24.19l-8 16.8c-4.6-2.1-8.7-4.4-12.4-6.8-13.3-7.3-23.1-10.38-28-9.97-2.6.22-4.1.85-6 2.77-2 2-4.4 5.7-6.5 11.6-3.5 9.9-4 17.7-1.5 21.8 2 3.2 7.2 6.9 20.1 8.2 3.3.1 6.7.2 10.4.4v.1h1.1l.2 18.7c-3.8 0-7.3-.1-10.6-.4-11.1-.1-17.7.8-20.2 2.1-1.6.8-2.1 1.3-2.9 3-.9 1.8-1.8 5.1-2.4 10-.6 4.5-.2 7.6.7 9.8.9 2.1 2.1 3.6 5.3 5.3 6.5 3.5 21.7 5.8 47.3 3.7l1.5 18.6c-17.2 1.5-30.7 1.5-41.5-.5 4.7 15.1 14.5 21.9 25.7 21.9h94c10.6 0 19.8-7.7 23.4-22.1l8.1-32.1 9.9 31.6c4.7 14.8 14.2 22.6 23.5 22.6H383c11.2 0 21.1-6.9 25.7-22-10.9 2.1-24.6 2.1-42.4.6l1.6-18.6c25.6 2.1 40.7-.2 47.2-3.7 3.2-1.7 4.4-3.2 5.3-5.3 1.4-6.3 2.1-19.3-4.5-22.8-2.5-1.2-9.1-2.2-20.2-2.1-3.3.3-6.8.4-10.6.4l.2-18.7h1v-.1c3.8-.2 7.2-.3 10.4-.4 12.9-1.3 18.2-5 20.2-8.2 2.5-4.1 2-11.9-1.6-21.8-2.3-6.2-6-13.77-12.4-14.37-17.1 2.07-29.1 9.67-40.4 16.77l-8-16.8c4.4-1.98 7.7-4.22 11.7-6.56 10.2-6.88 13-13.02 13.3-17.63.2-6.03-4.6-13.45-12.4-19.25-5.2-3.79-9.8-6.35-13.5-7.47-3.6-1.11-6-1.01-8.3 0-1.7.72-3.7 2.34-5.8 5.09-5.7 9.01-10.4 21.31-12.7 30l-18.1-4.66c4.1-15.76 8.8-27.65 15-35.93 3.3-8.79 1.7-13.12-1.1-16.38-9.4-7.73-28.3-9.73-38.7-1.99-4.5 3.34-8.1 8.5-10.9 15-5.5 12.97-7.1 30.87-7.1 43.99v.1l-.2 30.79v.1h-18.6v-.1l-.2-30.83v-.1c0-13.12-1.6-31.02-7.2-44.03-2.7-6.5-6.3-11.66-10.8-15-4.5-2.86-12-4.86-19.4-4.88zm47.2 217.94c-7.9 10.7-19.4 17.6-32.8 17.6h-42.8c2 4.3 5.4 8.2 10 11.8 11.8 9 32.1 15 53.6 16.4l-.6.6c-7.9 8.5-33.2 6.5-48 .9-35-12.8-67.9-21.9-101.28-11.1-43.77 17.3-74.86 66.9-65.53 113.1 10.36 51.3 66.85 124.2 121.11 99.8 61.3-27.6 11.4-114.5-25.3-132.1 8.5 23.2 39.8 79.9 11.4 91.9-34.2 14.4-81.56-43.6-69.48-86.9 20.71-57.4 66.08-49.5 99.38-37.5 60.3 21.7 31.2 169.9 95.2 167.1 38.9-1.7 85.4-60.7 48.7-106.3 3.9 28.6-20.4 75.5-42.9 63.4-33.8-18.1 12.2-84.5 43.7-106.6 24.4-17.1 70.6-28.1 89.5-3.7 29.8 38.6-53.2 74.2-27.7 118.3 22.5 39 75.7 47.4 117.6-10.8-29.1 17.4-68.6 25.8-79.6 1.6-14.1-31.1 62.7-35.3 69.1-76 5.8-36.7-18.3-73.9-49.6-93.9-39.9-25.6-109.3 30.9-160.3 7.7 19.7-2.1 37.9-8.1 48.6-16.7 4.2-3.4 7.3-7 9.3-11h-39.2c-12.9 0-24.2-7-32.1-17.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Brasero;

impl IconShape for Brasero {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246 17.85C229.7 66.3 146.1 103 208.9 165.2c-30.3 61-84.2-16.6-83.3-84.8-25 51.6-73.09 114.7-32.26 177.2 32.46 6.9 65.66 11.7 98.96 14.5 3.8-20.8-4.7-39.8-9.4-59.1 22.3 13 40.3 17.8 49.8 39 3.8-26.6-5.8-59.6 19.3-80-.6 24.6 8.1 47.9 20.6 49.4 34 4.1 33.9-49.8 50.2-75.3-6.8 45 26.3 95.4-9.6 127.4 38-2.5 74.6-7.8 108.7-15.9 30.1-28.1.3-70.1 19.1-105-22.8 22-27 37.1-63 34.9 20-46.2-5.9-104.2-66.3-142.09 0 0 8.7 35.02-3.8 39.23-28.7 9.72-59.2-32.04-61.9-66.79zm186.5 29.68c3.4 30.74 2 61.47-7.4 92.17 0 0 24.3-17.3 27.1-30.7 4.4-21.02-19.7-61.47-19.7-61.47zM74.77 271.8c1.06 3.8 2.61 7.7 4.61 11.5L64 460.1l16 8 45.8-137.3c4.7 3.3 9.7 6.5 14.8 9.7 28.2 17 61.1 29.6 88.1 35.3L240 494.1h32l11.3-118.3c27-5.7 59.9-18.3 88.1-35.3 5.1-3.2 10.1-6.4 14.8-9.7L432 468.1l16-8-15.4-176.8c1.9-3.7 3.4-7.3 4.5-10.9-108 27.9-241.1 27.6-362.33-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrassKnuckles;

impl IconShape for BrassKnuckles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.38 188.7c-31.81 31.8-31.96 83.6-.24 115.3.28.3.58.5.86.8-14.1 3.4-27.48 10.5-38.46 21.5-31.81 31.8-31.96 83.7-.23 115.4 31.72 31.7 83.59 31.6 115.39-.3 12.8-12.8 20.5-29 23-45.7 6.4 8.1 9.7 15 11.3 20.9 2.1 8.1 1.2 14.5-.9 20.8-2.1 6.3-5.5 12-8.4 18.4-1.4 3.2-2.7 6.6-2.9 11.2-.2 4.5 1.8 10.2 5.4 13.8 5.5 5.5 13.3 5.2 18.7 3.6 5.4-1.5 10.6-4.3 16.2-7.9 11.4-7.2 24.8-18 39.5-31 29.3-25.9 63.4-60 90.7-87.2 27.2-27.3 61.3-61.4 87.2-90.7 13-14.7 23.8-28.1 31-39.5 3.6-5.7 6.4-10.8 7.9-16.2 1.6-5.4 1.9-13.2-3.6-18.7-3.6-3.6-9.3-5.6-13.8-5.4-4.6.2-8 1.5-11.2 2.9-6.4 2.8-12.1 6.3-18.4 8.4-6.3 2.1-12.7 3-20.8.9-5.9-1.6-12.8-4.9-20.9-11.3 16.7-2.5 32.9-10.2 45.7-23 31.9-31.8 32-83.67.3-115.4-31.7-31.72-83.6-31.58-115.4.24-11 10.98-18.1 24.36-21.5 38.46-.3-.28-.5-.58-.8-.86-31.7-31.72-83.5-31.57-115.3.24-21.5 21.42-28.5 51.92-21.1 79.22-27.3-7.4-57.8-.4-79.22 21.1zM103.7 204c23.6-23.6 61.3-23.7 84.7-.3 23.4 23.4 23.4 61.2-.2 84.8-23.6 23.6-61.3 23.6-84.7.2-23.45-23.4-23.38-61.2.2-84.7zM204 103.7c23.5-23.58 61.3-23.65 84.7-.2 23.4 23.4 23.3 61.1-.2 84.7-23.6 23.6-61.4 23.6-84.8.2-23.4-23.4-23.3-61.1.3-84.7zM65.85 341.6c23.58-23.5 61.35-23.6 84.75-.2 23.4 23.4 23.3 61.2-.2 84.7-23.6 23.6-61.37 23.7-84.78.3-23.41-23.4-23.34-61.2.23-84.8zM341.6 65.85c23.6-23.57 61.4-23.64 84.8-.23s23.3 61.18-.3 84.78c-23.5 23.5-61.3 23.6-84.7.2-23.5-27.8-17.5-65.89.2-84.75zm-117 158.75c27.3 7.3 57.8.3 79.2-21.1 4.9-4.9 9-10.3 12.4-16 33.2 12.8 52.9 30.1 57.9 50 5.5 21.9-5.2 52.3-44.8 91.8-39.5 39.6-69.9 50.3-91.8 44.8-19.9-5-37.3-24.7-50-57.9 5.7-3.4 11.1-7.5 16-12.4 21.4-21.4 28.4-51.9 21.1-79.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Brazil;

impl IconShape for Brazil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.8 41.71c16.1 58.89 125.3 78.19 197.9 116.19 1.6 35.2-14.4 72.6-56.7 102.3 2.9 70.2-41.8 110.2-114.3 132.4-.3 33.2-12.7 64-47.3 90.3l-59-36.4 47.4-34.2c-1.8-25.6-9.6-52.3-55-67.3l-26.3-93.2c-54.5-10.4-51.9-31.3-56.3-50.9l-64.93 20.4c-49.154-31-51.902-75.4 6.26-83.4l6.99-72.78 51.18 9.12L133 37.03l49.6-7.9 20.7 37.33z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrazilFlag;

impl IconShape for BrazilFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 102L20 256l236 154 236-154-236-154zm0 54a100 100 0 0 1 100 100 100 100 0 0 1-.504 10.014c-48.123-36.173-110.506-57.542-168.914-56.409-6.632.13-13.207.566-19.709 1.286A100 100 0 0 1 256 156zm-65.568 71.73c55.59.133 116.403 22.059 161.045 57.979A100 100 0 0 1 256 356a100 100 0 0 1-100-100 100 100 0 0 1 3.545-25.943c10.012-1.593 20.354-2.352 30.887-2.327z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bread;

impl IconShape for Bread {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M439.037 70.988c-.863.015-1.87.09-3.025.256-4.62.668-11.12 2.598-18.8 5.764-15.356 6.332-35.49 17.488-58.085 32.056-10.66 6.874-21.892 14.53-33.48 22.78 10.542 1.434 21.866 4.025 32.61 7.295 13.316 4.05 25.552 8.98 34.42 14.663 4.432 2.842 8.204 5.667 10.84 10.35 1.316 2.34 2.297 5.443 1.917 8.794-.38 3.352-2.178 6.43-4.3 8.51-8.985 8.797-21.99 10.87-35.734 10.88-13.745.01-28.705-2.57-42.283-6.702-13.578-4.132-25.66-9.55-34.033-16.967-1.918-1.698-3.696-3.562-5.182-5.647-12.937 10.092-26.03 20.69-39.058 31.636 13.723 1.595 30.11 5.017 45.906 9.217 15.972 4.247 31.2 9.237 42.393 14.174 5.595 2.468 10.117 4.77 13.834 7.762 1.858 1.494 3.706 3.09 5.08 6.24 1.373 3.147.824 8.837-1.67 11.794l-.063.074-.064.072c-9.658 10.965-24.988 14.673-41.48 15.645-16.493.97-34.706-1.22-51.31-5.46-16.602-4.24-31.486-10.272-41.71-18.745-3.056-2.533-5.797-5.367-7.832-8.655-11.588 10.454-22.92 21.07-33.858 31.705 3.804.238 7.784.764 11.934 1.514 13.726 2.48 29.222 7.414 43.584 13.4 14.362 5.984 27.44 12.87 36.582 20.155 4.57 3.642 8.357 7.21 10.637 12.444 1.14 2.617 1.822 5.92 1.12 9.33-.705 3.412-2.815 6.448-5.245 8.46-10.528 8.725-25.07 9.825-40.282 8.405-15.21-1.42-31.55-5.902-46.17-11.995-14.62-6.092-27.44-13.526-35.783-22.62-2.49-2.712-4.678-5.668-6.158-8.98-12.3 12.98-23.7 25.79-33.927 38.192 2.974 1.324 6.326 2.778 10.225 4.416 10.34 4.345 23.245 9.548 35.516 14.53 12.27 4.98 23.877 9.728 31.904 13.294 4.013 1.784 6.97 3.142 9.402 4.598.608.364 1.188.723 1.944 1.328.755.605 2.044.798 3.318 4.643.637 1.922.535 5.66-1.16 8.107-1.435 2.072-2.972 2.808-4.147 3.244-9.86 8.365-23.137 10.813-36.383 10.158-14.2-.7-28.93-4.89-41.896-10.94-12.967-6.05-24.194-13.735-31.11-23.372-.09-.125-.173-.257-.26-.383-1.19 1.71-2.36 3.41-3.484 5.092-13.493 20.18-22.052 38.325-24.396 51.848-2.266 13.074-.056 20.56 8.332 26.537 27.173 9.512 68.542-3.463 113.99-32.473 46-29.36 95.61-73.934 139.207-121.496 43.6-47.562 81.272-98.21 103.74-139.24 11.235-20.515 18.607-38.696 21.18-52.12 1.287-6.714 1.34-12.173.547-15.96-.76-3.624-2.037-5.587-4.006-7.15-.15-.068-.588-.24-1.63-.362-.577-.067-1.296-.112-2.16-.098zM309.3 148.638c-2.248.014-4.24.143-5.882.378-.615.087-1.15.2-1.645.318-1.166.877-2.333 1.76-3.503 2.646.392.687 1.174 1.82 2.746 3.213 4.83 4.278 15.34 9.57 27.34 13.223 12.003 3.652 25.61 5.93 37.03 5.922 8.56-.006 15.623-1.592 19.878-3.613-.705-.58-1.298-1.125-2.3-1.768-6.332-4.058-17.682-8.866-29.946-12.598-12.265-3.733-25.61-6.527-36.29-7.42-2.672-.22-5.178-.32-7.427-.303zm-79.116 63.08c-1.102.005-2.105.042-2.996.108-1.53.114-2.527.43-3.11.625l-1.197 1.05c-.515.858-.555 1.393-.413 2.023.225 1 1.515 3.343 4.78 6.047 6.526 5.41 19.736 11.35 34.677 15.166 14.94 3.816 31.724 5.76 45.797 4.93 9.23-.544 16.816-2.534 22.28-5.12-1.302-.668-2.52-1.323-4.12-2.03-9.73-4.29-24.446-9.178-39.755-13.248-15.31-4.07-31.336-7.372-43.785-8.788-3.113-.353-6.01-.583-8.574-.69-1.283-.055-2.48-.08-3.582-.073zm-60.93 64.622c-.52.004-1.02.02-1.496.043-3.812.194-5.854 1.242-5.852 1.24-2.023 1.676-1.628 1.627-1.578 2.225.05.597.81 2.758 3.38 5.558 5.14 5.6 16.37 12.726 29.444 18.174 13.074 5.448 28.073 9.49 40.92 10.688 10.977 1.024 19.784-.492 24.715-3.026-.896-1.007-2.168-2.29-3.834-3.617-6.77-5.395-18.957-12.064-32.29-17.62-13.33-5.555-27.958-10.148-39.86-12.298-5.208-.94-9.903-1.398-13.55-1.367zm-68.772 65.744c.314 1.124.86 2.463 2.116 4.21 3.898 5.432 13.047 12.403 24.097 17.56 11.05 5.156 23.983 8.722 35.176 9.275 4.2.206 7.93-.144 11.382-.755-7.07-3.01-14.585-6.175-23.92-9.965-12.24-4.97-25.176-10.182-35.717-14.61-5.057-2.126-9.463-4.037-13.133-5.716zm92.657 21.596c-.023 0-.1.026-.122.027l.625.033c-.062-.003-.165-.072-.504-.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BreadSlice;

impl IconShape for BreadSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.2 25.36c-57-.02-109.1.58-119.7 2.23C61.74 35.66 35.44 154.9 80.21 155.9c-20.75 110.9-24.36 222.6-17.9 332.9 105.49 6.7 281.39 13.4 386.89 2.2 3.5-107.7 4.3-217.4-30.8-328.5 53.3-9.6 20.4-131.04-18.8-134.9-11.8-1.16-93.2-2.22-166.4-2.24zM126.6 57.8c1.5-.09 3.2.56 4.7 2.21 6.1 6.68 5.3 23.36 0 24.89-3.4.93-10.8-6.89-12.1-13.01-1.4-6.86 2.7-13.82 7.4-14.09zm201.5 31.11c5.7.25 11.9 12.69 10.3 19.89-1.3 5.3-8.7 8.4-12.1 5.3-5.3-4.9-6.1-22.06 0-24.86.6-.25 1.2-.36 1.8-.33zm83.2 35.99c3.8 0 5 6 1.8 10.7-5.3 7.7-20.9 15.6-22.1 10.1-1.2-5.4 12.8-19.4 19.5-20.7.3-.1.5-.1.8-.1zm-252.5 15.3c.8 0 1.5.1 2.3.4 7.6 2.9 15.2 17.4 9.5 21-5.7 3.5-19.5-6.8-20.7-13.9-.5-3.7 3.8-7.3 8.2-7.5h.7zm76.6 54.8c.5 0 1 .1 1.4.3 6.1 2.8 5.3 20 0 24.9-3.4 3.1-10.8 0-12.1-5.3-1.6-7.2 4.6-19.7 10.3-19.9h.4zm136.9 9.4c.5 0 1 .1 1.5.4 5.2 3.5 4.5 25.2 0 31.4-2.8 3.9-9.1 0-10.1-6.7-1.5-9.2 3.8-24.8 8.6-25.1zm-196.7 51.5c.4 0 .9.1 1.3.3 6.1 2.8 5.3 20 0 24.9-3.4 3.1-10.8 0-12.1-5.3-1.6-7.2 4.6-19.7 10.3-19.9h.5zm227.1 28.9c6.5.1 15.6 12.5 14.8 19.3-.6 4.5-8.3 6.9-12.7 3.7-6.5-4.9-9.8-20.9-3.4-22.8.4-.1.8-.2 1.3-.2zm-103.9 9.9c7.3.1 17.6 9.2 17.7 15.2 0 4.3-8.2 8-13.5 5.8-8-3.3-13.9-17.6-7.1-20.5.9-.4 1.9-.5 2.9-.5zm-166.3 46c2.4-.1 4.4.3 5.5 1.2 4.1 3.6-10.2 13.5-19.4 14.5-6.1.5-11-4-8.1-7.5 3.3-3.9 14.7-8 22-8.2zm149.7 49.2c4.4.3 9.2 14.5 7.9 22.8-1 6-6.6 9.6-9.2 6-4-5.6-4.6-25.2 0-28.4.4-.3.9-.4 1.3-.4zm-173.9 44.3c1.5 0 2.9.4 3.8 1.6 4 5.4-5 20.1-12 21.9-4.43 1.1-9.45-5.2-8.05-10.5 1.77-6.2 10.55-12.9 16.25-13zm316.2 5.6h.6c5.4 0 4.5 16.9-.6 24.9-3.4 5.2-10.8 6.8-12.1 2.3-1.8-6.9 6-26.1 12.1-27.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrickPile;

impl IconShape for BrickPile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.986 85.262l-63.37 21.11L334.32 160.9l63.373-21.11-163.707-54.53zm-82.85 33.593v58.088l174.184 58.02v-58.086l-174.183-58.022zm-18 50.215l-53.71 17.89 162.63 54.175 22.417-7.467-125.18-41.7a9 9 0 0 1-6.156-8.536V169.07zm-73.19 30.375v58.088l122.286 40.733v-30.71a9 9 0 0 1 .018-.357 9 9 0 0 1 .01-.192 9 9 0 0 1 .07-.697 9 9 0 0 1 .03-.205 9 9 0 0 1 .134-.66 9 9 0 0 1 .06-.236 9 9 0 0 1 .19-.616 9 9 0 0 1 .092-.248 9 9 0 0 1 .238-.567 9 9 0 0 1 .135-.282 9 9 0 0 1 .265-.488 9 9 0 0 1 .197-.32 9 9 0 0 1 .28-.41 9 9 0 0 1 .26-.342 9 9 0 0 1 .288-.344 9 9 0 0 1 .318-.342 9 9 0 0 1 .3-.29 9 9 0 0 1 .374-.33 9 9 0 0 1 .3-.237 9 9 0 0 1 .438-.315 9 9 0 0 1 .286-.182 9 9 0 0 1 .502-.29 9 9 0 0 1 .26-.133 9 9 0 0 1 .59-.262 9 9 0 0 1 .21-.082 9 9 0 0 1 .317-.122l25.18-8.387-153.628-51.175zm364.847 27.352l-87.63 29.19a9 9 0 0 1-.247.07 9 9 0 0 1-.355.1 9 9 0 0 1-.443.1 9 9 0 0 1-.47.085 9 9 0 0 1-.4.05 9 9 0 0 1-.49.038 9 9 0 0 1-.423.007 9 9 0 0 1-.48-.01 9 9 0 0 1-.397-.03 9 9 0 0 1-.504-.06 9 9 0 0 1-.38-.07 9 9 0 0 1-.52-.117 9 9 0 0 1-.31-.087 9 9 0 0 1-.268-.077l-38.526-12.834-73.23 24.395 63.368 21.11 163.707-54.532-22.002-7.328zm-224.56 53.242v58.085l73.85 24.602v-36.225l.005.002V304.63l-2.752-.915-.014.004-71.09-23.68zm-85.174 14.82L58.57 313.68l63.373 21.11 56.485-18.817-63.37-21.11zM39.095 326.17v58.088l73.85 24.6v-58.088l-73.85-24.6zm390.207 9.816l-63.375 21.112 36.283 12.086 63.374-21.112-36.28-12.086zM219.03 363.36v21.86l174.183 58.022v-58.088L337.45 366.58l-51.516 17.162a9 9 0 0 1-.19.053 9 9 0 0 1-.467.133 9 9 0 0 1-.332.074 9 9 0 0 1-.588.107 9 9 0 0 1-.253.03 9 9 0 0 1-.674.053 9 9 0 0 1-.196.004 9 9 0 0 1-.693-.013 9 9 0 0 1-.206-.016 9 9 0 0 1-.723-.09 9 9 0 0 1-.122-.02 9 9 0 0 1-.795-.18 9 9 0 0 1-.025-.007 9 9 0 0 1-.432-.122l-61.207-20.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrickWall;

impl IconShape for BrickWall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 18.02l-101 .103V119h101zm-119 .12l-238 .247V119h238zm-256 .266L18 18.51V119h101zM18 137v110h229V137zm247 0v110h229V137zM18 265v110h101V265zm119 0v110h238V265zm256 0v110h101V265zM18 393v100.98l229-.236V393zm247 0v100.727l229-.237V393z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Briefcase;

impl IconShape for Briefcase {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224.05 95.703c-7.08-.04-11.694 4.704-14.484 8.793-2.79 4.09-4.604 8.582-6.086 12.932-1.16 3.41-2.072 6.75-2.76 9.572h18.63c.357-1.242.74-2.505 1.17-3.77 1.185-3.48 2.706-6.816 3.916-8.59.498-.73.652-.846.712-.93l61.676.337c.063.084.25.225.764.97 1.208 1.755 2.72 5.04 3.904 8.467.407 1.18.768 2.356 1.11 3.516h18.656c-.69-2.773-1.597-6.045-2.75-9.387-1.484-4.3-3.304-8.75-6.096-12.804-2.792-4.055-7.357-8.72-14.363-8.757l-64-.35zM96 145c-5 0-11.05 2.777-15.637 7.363C75.777 156.95 73 163 73 168v21.275L132.816 279h12.758v-16h50v16H311v-16h50v16h18.184L439 189.275V168c0-5-2.777-11.05-7.363-15.637C427.05 147.777 421 145 416 145H96zm-23 76.725V376c0 5 2.777 11.05 7.363 15.637C84.95 396.223 91 399 96 399h320c5 0 11.05-2.777 15.637-7.363C436.223 387.05 439 381 439 376V221.725L388.816 297H361v41.188h-50V297H195.574v41.188h-50V297h-22.39L73 221.725zM163.574 281v39.188h14V281h-14zM329 281v39.188h14V281h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Broccoli;

impl IconShape for Broccoli {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.5c-32.9 0-60.9 16.46-69.2 37.27l-4.3 10.51-9.3-6.48c-7.6-5.31-16.5-9.46-25.8-12.08-18.5-5.12-36.8-3.77-50.98 2.16-14.2 5.93-24.13 16.05-27.71 29.03C64.84 93 69.07 109 81.58 122.9l9.58 10.6-13.7 4c-37.11 11-58.31 33.8-58.41 56 0 13.8 7.8 27.2 22.5 38.5 14.67 11.2 36.17 19.8 61.45 22.8l7.1.8.7 7.1c.4 2.9 1 5.5 2 8v.1c4.3 11.3 14.5 19.5 28.9 23.4 14.3 4 32.5 3.3 50.5-3.6 18.9-7.2 41.6-37.5 47.2-47.8l7.5-14.3 8.1 14c6.3 10.7 27 35 40.6 41.7 14.4 7.1 29.5 8.8 41.9 6.1 12.5-2.6 22-9.3 26.8-19.1 1-2.3 1.8-4.5 2.3-6.6l1.9-7.8 8 .9c5 .5 9.9.8 14.9.8 28.7 0 54.7-8.4 73-21.3 18.2-12.9 28.6-29.9 28.6-48.1 0-26.6-23.2-52.4-61.9-63.8l-16-4.6 12.7-10.8c13.3-11.45 18.3-24.33 16.1-35.45-2.1-10.22-10.1-18.77-23-24.26-12.9-5.51-30.4-7.35-48.8-3.64-12.3 2.51-23.9 7.36-33.2 13.75l-9.4 6.46-4.1-10.6c-8.2-21-36.2-37.66-69.4-37.66zm-13.5 75.44c7.6-.19 14.8 1.35 21.3 4.57 10 5.09 17.7 13.59 23.7 23.79 24.8-14.8 46.3-18.8 64.5-13.1 20.5 6.3 34.8 23.2 46.4 43.7l-15.6 8.8c-10.5-18.5-22.3-31.1-36-35.3-13.8-4.3-31.8-1.3-57.5 16.1l-8.7 5.8-4.6-9.4c-5.9-12.2-12.7-20.5-20.2-24.3-7.6-3.8-16.9-4.3-31.1 1.8l-7-16.6c8.7-3.73 17-5.66 24.8-5.86zm-61.7 65.36c7.9 0 15.2 2.4 21.5 5.9 16.8 9.1 28.2 25.6 33.7 32.3l-14 11.4c-6.3-7.8-16.9-21.7-28.3-28-5.8-3.1-11.2-4.3-17-3.1-6 1.3-13.1 5.4-21.4 15.7l-6.6 8.2-7.1-7.8c-10.2-11.3-20.6-13.2-29.6-11.1-9 2.2-16.53 9.2-19.07 17.6l-17.24-5.2c4.5-14.9 16.88-26.2 32.11-29.9 12.7-3 27.3-.1 40 9.9 8-8.1 16.5-13.1 25-15 2.7-.5 5.4-.9 8-.9zm66.8 104.4c-5.2 7.7-12.1 16.7-20.4 24.7.9 41 3.3 80.8 9.7 114.7l-17.3 4.7c-11-31.2-22.5-63.9-34.7-96.2-16 3.9-31.8 4-45.9.5 25.3 57.6 50 120.4 67.7 163.2 1.7 4.2 7.1 9.1 15.5 12.7 8.4 3.5 19.4 5.5 30.3 5.5 10.8 0 21.6-2.3 29.9-6.5 8.4-4.1 14-9.9 16.7-18.2 19.8-61.9 44.8-119.1 70.7-175.4-7.8 7.3-17.7 12.2-28.5 14.5-6.6 1.4-13.5 1.9-20.6 1.4-13.4 32.7-24.9 65.8-32.1 97.9l-17.8-.9c-4.1-36.6-4.2-78.2-3.2-120.1-7.7-7-14.6-15.1-20-22.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenAxe;

impl IconShape for BrokenAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.8 35.58l25.5 52.5 24.8-22.9-50.3-29.6zm109.1 13.41l-10.3 9.51 52.9 57.3 10.3-9.5-52.9-57.31zm-30.3 14.37l-57.3 52.94 66.5 72 57.3-53-66.5-71.94zM181.8 93.33l-19.5 49.17L196 187l-14.2-93.67zM75.81 127l-32.42 13.8 94.41 52.1L75.81 127zm186.09 8.9l-16.2 15-32 44.1 62.7-18.2-33.6 70.7 32.4-17.8 39.6-36.6-52.9-57.2zm232.1 2.4c-3.1.8-6.1 1.6-9.2 2.3-25.7 5.9-51.9 8.5-74.5 2.3l-69.4 64.2c4.5 23-.2 48.9-8.1 74.1-8.7 27.5-21.6 54.1-32.9 75.4 60.6 17.3 133-11.2 187.1-61.1 2.4-2.2 4.7-4.5 7-6.7V138.3zM76.71 232.6l-18.78 37.6 72.57-21.6-53.79-16zm117.19 48l-24 51.8-21-34.4-47.2 196H182l37.2-154.6-25.7 29.5.4-88.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenPottery;

impl IconShape for BrokenPottery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 32v30h191.607l16.663-30zm3.805 48c4.309 10.899-5.352 29.724-9.276 38.588-11.006 24.703-28.728 57.602-42.02 95.43-13.29 37.828-22.212 80.865-15.15 126.119 7.063 45.254 30.318 92.356 79.56 137.496L124.5 480h263l2.58-2.367c49.243-45.14 72.498-92.242 79.56-137.496 7.063-45.254-1.859-88.291-15.15-126.12-13.29-37.827-31.013-70.726-42.02-95.43-4.475-10.046-7.742-18.751-9.312-25.372l-75.117 35.273 63.037 32.295-36.267 78.457 61.921 19.205-153.521 138.17 65.975-116.119-58.2-3.172 47.735-96.314-73.21-27.018L286.61 80H108.805z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenWall;

impl IconShape for BrokenWall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 18.02l-101 .103V119h101zm-119 .12l-56.29 12.065-31.01 64.361-101.534-35.952L137 119h238zM18 137v61.63l12.416 31.981L62.575 247H247V137zm247 0v110h229V137zM76.294 322.591L18 332.203V375h101V265H65.317zM137 265v110h238c-48.428-109.932-.057-1.24-48.222-110zM18 393v100.98l199-.236L247 393zm247 0v55.79c66.067 45.222-.134-.028 65.798 44.869L494 493.49V393z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Broom;

impl IconShape for Broom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153.654 18l52.57 134.734c1.698 3.994 4.05 5.83 7.243 6.977 3.2 1.15 7.36 1.2 11.058.17 3.698-1.03 6.71-3.146 7.996-4.915 1.288-1.77 1.634-2.564.505-5.24l-.046-.112L181.57 18h-27.916zm94.168 120.143l1.88 4.81-.09-.223c3.346 7.937 1.828 16.822-2.532 22.82-4.36 5.996-10.773 9.734-17.723 11.67-6.95 1.937-14.653 2.065-21.98-.57-7.327-2.634-14.155-8.447-17.742-16.923l-.05-.118-1.757-4.5c-31.31 19.804-42.47 42.026-35.367 68.89 1.24 4.681 3.422 12.364 5.964 22.13 74.37-5.274 139.945-23.872 199.808-51.6-10.297-13.867-22.5-25.83-38.232-34.53-20.505-11.34-47.652-20.157-72.178-21.857zm120.557 71.52c-61.497 28.81-129.173 48.378-205.575 54.196 2.03 8.683 4.08 18.28 5.95 28.495 89.592-10.084 163.043-26.22 217.755-48.767-5.743-11.72-11.593-23.19-18.13-33.924zm26.04 50.16c-57.093 23.772-131.99 40.087-222.73 50.322C180.697 371.423 179.614 446.752 128 480c16.27 0 31.892-.152 46.926-.45 17.84-25.554 31.27-66.222 32.08-86.146 8.27 16.793 3.297 59.32-5.36 85.434 2.735-.093 5.435-.193 8.127-.297 11.824-12.397 11.724-28.632 14.72-47.284 3.324 14.92 7 32.967 9.505 46.156 11.273-.616 22.152-1.34 32.606-2.183 16.38-20.358 21.65-49.604 18.63-85.48 4.226 29.1 9.116 62.138 11.873 82.55 9.662-1.083 18.925-2.29 27.807-3.614 5.04-18.787-4.1-48.444-2.072-69.54 11.123 43.113 22.247 55.45 33.37 64.043 5.42-1.115 10.655-2.293 15.733-3.526-4.7-13.95 1.573-22.497 1.18-39.986 5.647 18.99 14.625 26.958 24.428 32.816 6.506-2.1 12.66-4.336 18.492-6.697-10.538-6.57-10.113-26.374-12.38-42.926 5.954 21.703 14.413 32.418 24.083 37.816 29.124-13.8 48.69-31.534 60.398-53.657-9.078-3.82-18.674-13.002-28.068-20.092 13.214 7.477 23.684 10.614 32.37 10.93 1.323-3.206 2.514-6.49 3.552-9.868-56.326-19.528-80.07-64.018-101.58-108.178z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Brute;

impl IconShape for Brute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M448 36c-29.4 44.05-63.2 65.7-126.3 64.8A79.99 75.99 0 0 0 256 68.01a79.99 75.99 0 0 0-65.8 32.79c-63 .9-96.85-20.77-126.2-64.8-30.29 45.43 21.04 110.9 112.2 112.4a79.99 75.99 0 0 0 8.1 29.2C44.84 197.1 16.82 388.1 32 464h80c0-48 16-112 64-144l-16 144c0 16 64 16 64 0 0-32 16-64 32-64s32 32 32 64c0 16 64 16 64 0l-16-144c48 32 64 96 64 144h80c15.2-75.9-12.8-267-152.4-286.4a79.99 75.99 0 0 0 8.2-29.2C426.9 146.9 478.3 81.44 448 36zm-256 87.8c13.5 15.7 27.2 31.3 48 40.2 0 0-22.9 15.7-32 8.7-10.1-7.9-16-48.9-16-48.9zm128 0s-5.9 41-16 48.9c-9.1 7-32-8.7-32-8.7 20.8-8.9 34.5-24.5 48-40.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BuffaloHead;

impl IconShape for BuffaloHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.3 16.62c-24.7 4.14-49.6 7.41-73.41 15.75-1.48.01-2.96.04-4.47.08-6.38.17-13.01.6-19.89 1.26-11.69-7-32.19-7.85-48.58-11.57 10.1 4.13 18.87 8.92 26.06 14.5-9.3 1.5-19 3.38-29.13 5.67V411.6c23.41 26.6 30.14 51.7 32.2 81.2l52.32-.3c13.4-28 31.1-47.6 52.4-61.8 10.8 11.4 3.8 28.6 3.2 42.6 12-20 23.9-40 29.2-59.6 8.5-3.4 17.3-6.5 26.5-9.3-.7 14.2-15.3 29.1-17.5 42.4 20-12.4 37.6-32 45.1-50.2 13.8-3.5 28.4-6.9 43.8-10.7l.1-.1h.2c17.4-3.6 32.8-1 46.2 5.2 6.3 14.8 21.9 43.4 24 42.8-2.9-10-4.6-20.5-5.7-31.1 4.2 3.3 8.1 7.1 11.7 11 2.1 2.3 4.2 4.7 6.2 7.1.6 17.3 4.2 34.7 13 49.3.7-10.2-1.1-20.2.9-30.5 9.4 13.7 17.6 27.9 25.7 39.9 1.6 2.3 2.2 2 3.7 1.5 1.5-.4 2.9-1.9 3.1-3.1 1.5-8.2 1.7-24.9 4.4-40.4 1.3-7.7 3.2-15.4 6.9-22.1.5-.9 1-1.8 1.6-2.6-7.1-13.2-11.5-25.2-13.3-36.2-2-13-.1-25.1 6.2-34.5 10.9-16.6 32.2-23.3 59.4-23.3h2c-4.8-31.5-6.7-64.2-11.4-96.3 7.3 9.6 16.7 17.3 28.8 20.4-7.3-5.3-26.5-39.5-36.1-59.2-3.4-13.8-7.8-27.5-13.7-40.7-.7-.4-1.9-1.2-4.2-2.2-3.3-1.4-8-3.1-13.7-4.6-11.3-3.1-26.3-5.8-42.4-7.3-28-2.4-59.4-.6-80.9 8.7 9.4 17.8 23.9 30.2 50.2 34.4l9 1.4-1.5 9c-1.6 9.2-3.7 22.9-8.4 34.6-2.4 5.9-5.3 11.5-10.2 15.9-4.9 4.3-12.7 6.7-20 4.7-26.7-7.3-45.5-24.7-57.8-46.6-2.8 19.8-4.9 42.3-5 64.2-.1 34.4 5.2 67 17.8 84.6l-14.6 10.4c-16.9-23.6-21.4-59-21.2-95 .1-35 5-70.5 10.3-96.4-.9-3.4-1.7-7-2.4-10.5-3-15.4-4.1-31.5-3.5-47.2C230 80.56 208.6 62.92 183 50.72c-2.7-1.3-5.5-2.54-8.3-3.72 13.9-2.29 28.4-3.82 43.6-4.5-29.2-5.85-55.2-6.91-80.3-6.45-2.4-.46-4.8-.86-7.3-1.24 10.7-6.86 24.5-12.01 36.6-18.19zM271.6 73.9c-4 22.71-4.4 48 0 70.9 7.1 36.3 25.2 65.9 60.1 75.4 2 .6 1.8.5 3.3-.8 1.4-1.3 3.6-4.6 5.4-9 2.6-6.5 4.3-14.8 5.7-22.5-34.5-8.8-53-33.7-62.6-61.4-5.9-17-9.1-35.2-11.9-52.6zm98.6 166.4c11.1 0 24.7 6.9 24.2 15.7-.6 10.1-21.1 11.5-29.8 6.3-5.5-3.4-9.9-14.2-5.2-18.6 2.5-2.4 6.5-3.4 10.8-3.4zm109.3 96.5c-23.7.1-38.6 6.2-44.5 15.2-3.5 5.2-5 12-3.4 21.8 1.2 7.6 4.4 16.8 9.8 27.5.8-.3 1.6-.6 2.5-.8h.1c6.3-1.4 17.4-4.8 27.5-9.2 10-4.3 19.1-10.4 21.2-13.3 2.3-3.3 2.1-10.1-.6-19.5-2-6.8-5-14.2-7.1-21.6-1.9 0-3.7-.1-5.5-.1zm-11.7 15.3c.7 0 1.4 0 2.1.1 3.6.3 7.2 1.5 10.4 3.7l-10.2 14.8c-.9-.6-7.9-.8-11 7l-16.8-6.8c4.8-11.6 15.2-18.7 25.5-18.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BugNet;

impl IconShape for BugNet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M370.3 20.21c-22.9 0-45.2 2.68-66.8 7.52l-1-1.26c-.8.69-1.7 1.38-2.5 2.07-72.4 17.15-135.7 58.78-180.7 105.96-33.69 35.4-57.38 73.9-67.03 108.9-4.82 17.4-6.14 34.1-2.89 49.2 3.26 15 11.42 28.3 24.43 37.5 6.26 4.4 13.9 5.1 21.3 4.2 7.39-.9 15.09-3.4 23.39-6.9 16.7-6.8 35.9-17.5 56.6-28.2 39.3-20.3 83.7-40 121-36l-1.2-.6c-6.9-3.9-11.4-10.3-14-17.9-14.8.5-29.7 3.6-44.4 8.1-4.8-11.4-8.5-22.4-10.9-33.3 17.6-7.1 35.7-13.4 54.3-19 1.2-6.5 2.8-13.3 4.8-20.3-21.3 6.1-41.9 13.1-61.9 21-1.5-16.3.1-32.4 5-48.5 26-10.3 52.4-19.3 78.8-26.2 1.9-3.7 4-7.5 6.1-11.2 2-3.5 4-7 6.1-10.3-27.7 6.3-55 14.8-82 24.8 6.3-12.7 14.8-25.7 25.7-38.97 25.7-5.86 51.4-9.86 73.5-11.41 5.1-6.76 10.2-13.06 15.4-18.83-20.3.18-43.8 2.96-68.2 7.52 7.5-7.51 15.8-15.13 24.9-22.87 20.1-4.49 40.9-6.98 62.2-7.01 1.5 0 3 0 4.4.1 9-7.06 17.9-12.35 26.5-15.35.9-.3 1.8-.57 2.7-.82-11.3-1.29-22.6-1.91-33.6-1.91zm63 10.04c-4.8-.1-9.8.86-14.7 2.54-7.9 2.73-15.9 7.37-24 13.5-3.7 2.33-7.5 5.14-11.5 8.46-17.8 14.84-37.8 39.39-54.7 69.35-17 30-27.7 59.7-31.3 82.7-.8 5.1-1.2 9.9-1.4 14.2-1 10.1-.8 19.4.9 27.5 1.5 6.9 4.2 13.3 8.6 18.2L182.8 483l15.6 8.8 122.4-216.3c6.5 1.2 13.4.3 20-2 9.7-3.3 19.6-9.5 29.7-17.9 20.1-16.9 41-42.8 58.8-74.4 17.9-31.5 29.4-62.8 33.5-88.74 2-12.89 2.2-24.61.1-34.66-2.2-10.05-7.1-19.03-15.7-23.91-4.3-2.43-9-3.55-13.9-3.64zm-.5 17.94c2.2 0 4.1.53 5.5 1.37 3 1.67 5.5 5.16 7 12 1.4 6.88 1.4 16.64-.4 28.15-3.5 22.89-14.3 52.69-31.2 82.69-17 29.9-36.9 54.5-54.8 69.4-8.9 7.4-17.3 12.4-23.9 14.7-6.7 2.3-10.9 1.9-13.9.2-2.9-1.6-5.5-5.1-7-12-1.4-6.8-1.4-16.6.4-28.1 3.6-22.9 14.3-52.7 31.3-82.6 16.9-30 36.9-54.56 54.7-69.41 9-7.47 17.3-12.5 23.9-14.85 3.4-1.1 6.1-1.57 8.4-1.55zm-163.5 8.42c-6 6.04-11.6 12.05-16.7 18.05-16.5 3.95-32.8 8.55-48.1 13.68 20.1-12.54 41.8-23.38 64.8-31.73zm-34.6 41.34c-9.2 13.65-16.3 27.35-21.3 41.05-24.7 10-48.9 21.2-72.6 32.9 4.4-14.2 10.8-29.4 19.5-45.8 19.6-10.2 46.2-20.1 74.4-28.15zM129.3 150.1c-4.4 11.3-7.7 22.2-10 32.7-8.7 4.5-17.3 9-25.73 13.5 9.63-15.4 21.73-31 35.73-46.2zm77.9 11c-3.2 15.7-3.6 31.4-1.6 47.3-24.2 10.4-47.4 22-70 34.8-1.4-7.1-2.3-14.5-2.4-22.2-.1-8.3.5-17 2.1-26.1 23.4-12 47.5-23.4 71.9-33.8zm-91.4 43.8c-.5 5.6-.7 11.1-.6 16.4.2 11 1.7 21.4 4.2 31.4-18 10.8-35.58 22.4-52.73 34.5-2.05-10.9-1.11-24.3 2.96-39.1 2.01-7.3 4.79-14.9 8.28-22.7 12.43-6.9 25.09-13.7 37.89-20.5zm93.1 21.6c2.5 10.7 6.1 21.4 10.7 32.2-18.4 7.1-36.2 16-52.8 24.5-3.7 1.9-7.3 3.8-10.8 5.7-6.3-8.9-11.4-18.1-15.1-27.9 21.9-12.7 44.5-24.2 68-34.5zm-83.6 43.7c3.9 9.5 8.8 18.5 14.6 27-10.4 5.4-19.9 10.2-28.2 13.6-7.5 3.1-14.03 5.1-18.8 5.7-4.77.6-7.27-.1-8.71-1.2-4.43-3.1-7.97-6.7-10.73-10.8 16.87-12.1 34.04-23.6 51.84-34.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bulgaria;

impl IconShape for Bulgaria {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M49.66 101.8l40.48 16.1-11.03 28.4 185.19 11.6 95.3-47.1L483 150.1l5 40.1-38.9 3.3-8.9 63.9S405.5 281 408.9 281c3.5 0 44.5 44.9 44.5 44.9l-40.8 16.5-15.4-17.5-89 39.3 5.6 30.4-72.1 15.6-59.9-34.4-121 21.2 3.25-67.5-40.03-25.6 15.44-63.3 41.15-31.8-50.44-54.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bulldozer;

impl IconShape for Bulldozer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.071 92.535v85.772c5.493.912 10.978 1.915 16.346 3.062 1.052-16.604 6.311-33.717 19.521-47.064 14.006-14.151 36.123-23.201 68.34-24.377l-1.838-17.393zm290.104 24.387l-17.938 1.496 3.451 41.416 17.961-1.209zm-184 10.963c-29.839.853-47.228 8.759-57.444 19.08-10.324 10.431-14.198 24.227-14.498 39.074 16.892 7.201 32.876 13.728 34.407 32.443l48.607 14.243zm64.564 15.851v50.268h16.135v-50.268zm124.407 32.828l-17.963 1.207 3.11 37.336L353.2 227.47l2.43 19.437 20.322-11.908 6.37 76.422c4.133-8.828 9.474-17.361 15.949-25.34zm-332.26 18.737l-30.067 75.166 15.672 26.12 27.926-49.024 43.803.826 163.758 49.17 27.59 32.978h42.378l-14.875-118.99-106.627-6.272 3.526 33.371 58.347 17.397-5.142 17.248c-46.641-13.699-94.304-28.4-140.537-41.912 3.413-15.453 1.87-18.897-11.332-24.932-24.049-10.298-47.517-9.563-74.42-11.146zm23.88 70.459l-57.8 101.474 32.762 48.635h213.005l43.418-49.41-44.517-53.211-156.225-46.91zm24.366 15.08c14.289 0 26.066 11.777 26.066 26.066 0 14.29-11.777 26.067-26.066 26.067-14.29 0-26.065-11.778-26.065-26.067s11.776-26.066 26.065-26.066zm311.5 11.56c-27.812 30.32-34.254 70.426-16.715 98.655 7.529 12.117 27.669 20.92 51.041 25.056 12.635 2.236 25.873 3.169 38.076 3.354-30.21-21.402-48.91-41.992-59.601-63.692-10.052-20.402-12.867-41.244-12.801-63.373zm-311.5 6.44c-4.562 0-8.067 3.504-8.067 8.066 0 4.562 3.505 8.069 8.067 8.069s8.068-3.507 8.068-8.069c0-4.562-3.506-8.066-8.068-8.066zm130.74 25.63c21.985 0 40 18.016 40 40 0 21.985-18.015 40-40 40s-40-18.015-40-40c0-21.984 18.015-40 40-40zM81.962 335.73c17.843 0 32.5 14.657 32.5 32.5 0 17.842-14.655 32.5-32.498 32.5-17.843 0-32.5-14.658-32.5-32.5 0-17.843 14.655-32.5 32.498-32.5zm153.91 6.74c-12.258 0-22.002 9.744-22.002 22.002s9.744 22 22.002 22 22.002-9.742 22.002-22-9.744-22.002-22.002-22.002zm84.752 6.066l15.236 18.211-13.173 14.992h53.322c-3.336-10.645-4.5-21.877-3.65-33.203zm-238.662 5.192c-8.116 0-14.5 6.386-14.5 14.502 0 8.115 6.386 14.501 14.502 14.501s14.5-6.386 14.5-14.501c0-8.116-6.386-14.502-14.502-14.502z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BulletBill;

impl IconShape for BulletBill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.57 105c-.82 1.1-2.24 3.8-3.56 7.7-2.64 7.7-5.13 19.8-7.09 34.5C31.01 176.5 29 216.3 29 256s2.01 79.5 5.92 108.8c1.96 14.7 4.45 26.8 7.09 34.5 1.32 3.9 2.74 6.6 3.56 7.7h73.93c1.8-2.9 4-7.7 6-14H108c-5 0-9.4-2.7-12.21-5.7-2.84-3.1-4.81-6.7-6.56-10.8-3.51-8.1-6.04-18.6-8.11-31C76.99 320.7 75 288.4 75 256s1.99-64.7 6.12-89.5c2.07-12.4 4.6-22.9 8.11-31 1.75-4.1 3.72-7.7 6.56-10.8 2.81-3 7.21-5.7 12.21-5.7h17.5c-2-6.3-4.2-11.1-6-14zM172 105c-.5 0-1 0-2.4 1.3-1.5 1.3-3.4 3.8-5.3 7.6-3.9 7.4-7.6 19.3-10.5 33.9-5.8 29-8.8 68.6-8.8 108.2 0 39.5 3 79.2 8.8 108.2 2.9 14.6 6.6 26.5 10.5 33.9 1.9 3.8 3.8 6.3 5.3 7.6 1.4 1.3 1.9 1.3 2.4 1.3 45.9 0 86.9-4 123-10.9-13.4-11.7-24.5-25.1-33-38.1-6.1-9.4-10.9-18.4-14.1-26.5-3.2-8-5.2-14.7-4.5-21.6 1.8-29.9 14.9-52.9 29.9-66.6 7.6-6.9 15.7-11.6 23.8-13.6 2-.5 4.1-.8 6.2-.9 6.3-.3 12.7 1.5 17.3 6.3.5.4.7.9 1 1.5 29.9 48 63.3 85.8 112.2 103.1 33.1-25.5 49.2-55.1 49.2-83.7 0-35.8-25.2-73.1-77.4-102.1S274.8 105 172 105zm-63 32c-.7.7-2 2.6-3.2 5.5-2.5 5.9-5 15.4-6.9 27-3.89 23.2-5.9 54.9-5.9 86.5s2.01 63.3 5.9 86.5c1.9 11.6 4.4 21.1 6.9 27 1.2 2.9 2.5 4.8 3.2 5.5h28.8c-.6-2.3-1.1-4.7-1.6-7.2-6.2-31-9.2-71.4-9.2-111.8 0-40.5 3-80.8 9.2-111.8.5-2.5 1-4.9 1.6-7.2zm253.9 25.6l72.8 68.6-6.2 6.6c-22.1 23.5-52.5 22.2-70.3 6.1-17.8-16-22.9-46.4-2.4-73.3zm2.9 27.4c-9 17.3-4.1 31.9 5.5 40.6 9.6 8.7 23.9 11.7 38.4.8l-6.7-6.3c-9 2.9-18.1 1.5-23.8-4.3-4.7-4.9-3.2-11.9-1.3-19.4zm-73.1 61.1c-2.3 1.5-4.8 3.3-7.2 5.5-11.6 10.6-22.7 29.3-24.1 54.6v.2l-.1.3v.2l32.3-4.2zm18 1.7l.8 51.5 34.8-4c-13-14.4-24.6-30.4-35.6-47.5zm53 65l.9 33.1 7.8-.8v.1l30.5-4.4c-14.4-7.7-27.3-17.2-39.2-28zm-18 .7l-33 3.8-10 34.5 44-4.2zm-52.8 7.4l-26.3 3.5c2.6 5.6 6.1 12.1 10.4 18.7 2.1 3.1 4.3 6.3 6.7 9.5zm97.9 39.8l-28.6 4.2-4.9 9.6c12-4.2 23.2-8.9 33.5-13.8zm-49.4 5.4l-42.4 4.1c5.8 5.8 12.1 11.2 18.8 15.9 5.3-1.3 10.4-2.6 15.4-4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BulletImpacts;

impl IconShape for BulletImpacts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.4 26.28C122.1 96.08 82.98 121 27 132.6c70.72 24.3 36.69 48.4 21.99 72.6 66.01-5.1 87.51 25.8 87.41 74.3 36.5-20.1 51.6-62.3 147.1-21.6-23.4-43.1-31.9-75.3 20.3-118.5-39.7-14.2-77-30.2-58.1-81.17-56.3 37.85-98.9 5.52-140.3-31.95zm66.9 67.89a62.23 62.23 0 0 1 62.2 62.23 62.23 62.23 0 0 1-62.2 62.2 62.23 62.23 0 0 1-62.2-62.2 62.23 62.23 0 0 1 62.2-62.23zM318.9 218.2c17.3 81.3-25 98-89 91.2 30.9 31.9 50.2 68 16.1 123.1 45.3-11.2 88.5-13.6 113.9 49.8 22.5-46.1 64.8-52.4 116.7-38.7-17.9-27.7-38-55.4 16.9-82.8-37-25.5-74.3-50.7-49.4-124.5-45.3 51-86.7 40.1-125.2-18.1zm47.4 76.7a62.23 62.23 0 0 1 62.2 62.2 62.23 62.23 0 0 1-62.2 62.2 62.23 62.23 0 0 1-62.2-62.2 62.23 62.23 0 0 1 62.2-62.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BullyMinion;

impl IconShape for BullyMinion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.8 20.89c-14.1 0-27.1 7.44-37.1 20.63-10 13.19-16.5 32-16.5 52.96 0 20.92 6.5 39.82 16.5 52.92 10 13.2 23 20.7 37.1 20.7 14.1 0 27.1-7.5 37.1-20.7 8.9-11.7 15-28 16.3-46.2-5.4 0-11-1.3-15.9-5.5 1.8-11.28 7.2-18.49 13.2-24.96-2.8-11.27-7.6-21.27-13.6-29.22-10-13.19-23-20.63-37.1-20.63zm-63.6 31.27c-23 1.19-50 4.6-62.9 11.78C72.22 133.3 47.78 244.5 48.84 354c-5.75 36.3-6.05 50.8 8.94 82.4 11.42 24.1 44.22 13.3 51.92-8.9-20.31-20.2-22.43-26.3-21.88-53.5l19.38 28.5 12.5-8.4c-2.7-21.3-15.5-39.9-29.43-58.4 1.46-53.9 8.09-88.8 41.23-128.2l15 4.6-12.3 123.5c49.8 9.1 105.2 12.4 145.4 4.2l-3-95.3c37.2 35.4 50.7 86.2 75.9 129.5 4.1 19.7 13.8 42 24.3 46.3 35.2 14.5 61.6-34.6 34.4-55.2l55.6-187.9-27.3-101.63-57 288.03L325 232.8c3.4-19.4 5.6-39 6-57.8-10.1 7-21.7 11.1-34.2 11.1-20.5 0-38.8-11.1-51.4-27.8-12.7-16.7-20.2-39.2-20.2-63.82 0-15.22 2.9-29.61 8-42.32zm41.1 10.56c13 4.45 34.4 17.47 42.9 33.68-4.3 10.8-27.1 5.9-37.9-4.19zM133.5 353.7c10.4 42.7 10.1 82.1-1.6 116.4l19.6 21 22.6-10.3-3.3-62.2c32.9-34.4 74.2-51.6 105.6.5-25.6 22.8-23.3 25.3-31.7 57.3l94.3 1.1c-2.7-16.7-33.1-23.8-56-27.1l23.8-22.3-23.6-70.7c-43.7 9.2-99.1 5.5-149.7-3.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BunkBeds;

impl IconShape for BunkBeds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 41v446h30V41zm56.8 40.15c-.1 14.49 1.03 25.35 3.31 32.75 2.77 8.9 6.33 12.9 12.45 16 11.34 5.7 35.34 5.3 70.54 5.1.8-8.5-.5-15.1-3.2-20.4-3.5-6.8-9.4-12.2-18.1-16.86-15.4-8.19-39.1-12.83-65-16.59zM457 105v382h30V105zM73 153v46h238v-46zm256 0v46h110v-46zm-18 64v158h18v-46h110v-18H329v-46h110v-18H329v-30zM81.79 321.3c-.1 14.4 1.03 25.3 3.3 32.6 2.78 9 6.33 13 12.46 16 11.35 5.7 35.35 5.3 70.55 5.1.8-8.5-.5-15-3.2-20.3-3.4-6.8-9.4-12.2-18.1-16.8-15.4-8.2-39.1-12.8-65.01-16.6zM73 393v46h238v-46zm256 0v46h110v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Buoy;

impl IconShape for Buoy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.53 21.45l-38.774 56.273 14.422 2.027 6.93.975-1.948 13.863-31.687-4.455-1.256 8.912-4.45 31.652-.007.037-.004.037-7.654 54.427-31.03-4.363-1.79 8.14-40.817 185.604c6.63-.623 12.886-1.17 18.79-1.63l3.35-15.24 134.624 18.93-.984 15.587c5.568 2.076 11.38 4.294 17.61 6.732L380.33 200.98l-31.027-4.363 13.367-95.066-31.69-4.456 1.95-13.862 21.353 3.002L332.53 21.45zM174.007 71.224c-15.522 3.527-31.163 14.648-45.994 28.476C113.687 86.316 99.334 76.17 82.475 71.35l-4.95 17.304c15.107 4.32 28.602 14.202 44.112 29.71L128 124.73l6.363-6.367c15.35-15.35 32.643-27.09 43.63-29.588l-3.987-17.55zm142.03 42.213c1.16-.012 2.337.063 3.526.23 12.685 1.784 21.358 13.294 19.575 25.978-1.784 12.685-13.292 21.356-25.977 19.573-12.684-1.785-21.36-13.295-19.576-25.98 1.616-11.495 11.224-19.694 22.45-19.803zm-27.17 53.355c5.884 5.357 13.364 9.068 21.786 10.252 8.424 1.184 16.637-.32 23.77-3.848l-2.943 20.912-45.552-6.405 2.94-20.912zm-17.95 36.978l70.7 9.943-38.762 20.06-31.938-30.002zm-21.457 4.544l36.442 34.23-49.617 25.68 13.174-59.91zm111.384 15.717l-3.82 60.624-40.256-37.812 44.076-22.81zm-61.028 31.583l38.8 36.444-85.886-12.077 47.086-24.367zm-69.423 39.405l124.873 17.558-2.9 46.045-131.882-18.544 9.91-45.058zm21.962 93.798c-23.248-.01-51.884 3.056-95.332 7.653L95.807 494h320.386l-18.384-63.674c-72.987-29.56-100.19-40.694-140.874-41.467-1.505-.03-3.03-.043-4.58-.044z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningForest;

impl IconShape for BurningForest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.3 18.28c-39.1 33.39 21.8 67.98-4.6 77.4-27.1 9.72-48.6-22.86-62.7-55.79-26.6 23.91-38.4 76.01-36.1 116.71-21.7-8.7-25.3-18.3-23.3-48.8-71.2 40.5 11 124.2-39.3 133.3-17.77 3.2-52.61-17-56.65-48.5C29.39 235.2 44.37 294.8 81.64 344c-32.5 5.7-45.4-9.9-56.81-23.5-20.829 60.7 4.9 104.4 53.83 132.3 28.44-23 58.24-44 79.84-78.5-24.8 9.6-38 4.5-60.3 5.2 30-26.5 57.4-61 77.4-92-22.8 6.7-31 11.4-50.5 4.9 23.4-19.8 44.4-39.4 59.6-66.2-8 5.8-18.3 8.6-33.1 5 26.7-22 40.6-33.2 53.2-63.7 6 22.5 15 42.6 37.9 64-8.1 2.6-17.4-.1-31.4-4.9 13.8 22.3 41.7 47.9 69.1 64.5-15.6 5.7-35.1 4.1-52.9-2.5 12.6 33.4 52.3 59.9 78.9 88.1-20.5 6.6-43.2.6-62.6-1.4 13.7 27 40.2 45.8 66.4 64.9 11.2-8.2 21.3-17.1 27.5-28.3-13.2 1.2-28.7 4.9-42.7.8 18.1-17.6 46.4-31.6 55-52.4-12.1 4.1-26.6 4.3-37.3.8 18.7-10.4 35.9-28.8 45.3-42.7-9.5 3-15.2 3.9-23.2 3.1 12.8-10.7 27.3-25.9 31.3-40 10.6 13.2 16.2 26.4 34.4 40.2-10.1 2.3-16.6.2-22.6-1.5 10.4 16.7 35 32.6 50.9 45-15.9-.3-28.7.8-44.7-8.3 13.7 19.4 32.3 41 52.8 57.5-14.7 3.8-20.8 2-37.7-4 10.9 15.9 22.9 27.7 36.3 38.6 41.3-30.7 59.3-79.6 57.4-150.2-16 33.3-37.3 31.8-58.7 27.7 17.3-10.9 40.3-100.3 24.9-123.4-4.2 31.1-45.1 87.3-74.1 61.5 44.6-61.8 43-88.3 24.6-121.5-9.6 20-25.3 64.9-57.3 53.5 62.7-110.89-55.7-119.16-71-178.32zM80.12 453.6c28.88 16.2 65.68 26.9 105.68 32.5l2.1-16.7c-35.5-1.9-71.5-7.8-107.78-15.8zm209.58 7.2c-24 5.9-48.4 8.7-73.1 9.1l1.3 19.5c11.5.9 23.1 1.3 34.8 1.3 43.3.1 80.2-3.2 111.2-10.5l.3-9.2c-25.4.3-50.3-2.5-74.5-10.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bus;

impl IconShape for Bus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M47 145c-10 0-23 12.4-23 24.9v134.3l52.49 7.5C84.97 297 100.9 287 119 287c21 0 39 13.3 45.9 32h188.2c6.9-18.7 24.9-32 45.9-32s39 13.3 45.9 32H488v-77.2L456.5 145zm-9 14h405.6l25.6 82H296v64h-98v-64H38zm18 18v46h62v-46zm80 0v46h62v-46zm80 0v110h22V177zm40 0v110h22V177zm40 0v46h62v-46zm86.6 0v46h62.2l-14.4-46zM119 305c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm280 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm-280 23a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm280 0a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BusDoors;

impl IconShape for BusDoors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 25v254h58.73l63.97 64H247V25H41zm224 0v318h83.3l64-64H471V25H265zM57 41h174v208H57V41zm224 0h174v208H281V41zM160 279h64v18h-64v-18zm128 0h64v18h-64v-18zM41 297v46h49.63l63.97 64h92.3v18h-99.7l-64.03-64H41v126h206V361h-90.7l-64.03-64H41zm378.7 0l-64 64H265v126h206V361h-42.2l-64 64h-99.7v-18h92.3l64-64H471v-46h-51.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Butter;

impl IconShape for Butter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M49.57 57.56c-.45 0-.89 0-1.34.1-1.19.14-2.37.42-3.56.81-4.77 1.56-9.63 5.58-12.88 10.8-3.26 5.23-4.78 11.42-4.04 16.67.73 5.25 3.17 9.8 9.84 13.8L240.2 219.8l11-22.9C227.2 179.8 88.49 81.78 59.71 61.19c-3.74-2.69-7-3.7-10.14-3.63zm6.19 19.95a8 8 0 0 1 8 8 8 8 0 0 1-8 8.03 8 8 0 0 1-8-8.03 8 8 0 0 1 8-8zm22.88 14.33a8 8 0 0 1 8 8 8 8 0 0 1-8 7.96 8 8 0 0 1-8-7.96 8 8 0 0 1 8-8zM266.6 206.4l-18.1 37.9c10.9 7.4 25 17.1 40.8 27.7l3.3-48.5zm-144.9 21.3c-2.5 39-22 78.8-73.97 109.2-5.98 26.5-7.27 54-6.04 81.5H316.5c2.6-34.3 4.3-70 6-103.3 1.7-32.4 3.7-57.9 7.8-87.4h-20l-7.1 76.3c-23.6-17-51.7-36.2-77.7-53.4l10.6-22.9zm240.3 0c-16.7.8-16.5 22-17.8 33.3l-9.6 157.4h88.7l-11.6-150.1c-1.3-20-9.2-40.3-26.7-40.6zm71.5 88.5l3 39.1c14.8 4.9 48 17.3 58.5 1.3zM17 436.4v18h432.4v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ButterToast;

impl IconShape for ButterToast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.4 25.09h-6.7c-18 .22-36.8 2.09-54.7 6-35.9 7.83-67.9 23.77-85.3 49.57h-.1c-4.2 6.26-3.8 24.74.1 41.14 3.8 16.4 9.5 30.3 9.5 30.3l1.5 3.7-1.7 3.6c-28.5 59.5-39.9 116.7-46.2 173.5l62.6-68.5c-3.2-12.4-4.9-24.7-5.1-36.2-.3-19.1 6.6-39.6 18.1-56.7 11.4-17.1 27.8-31.1 47.7-34.5 1.6-.3 3.2-.4 4.8-.3 6.8.2 13 3 17.8 6.7 5.4 4.2 9.8 9.5 13.9 14.6l47.5-52.1 4.8 14.7c3.1 9.6 5.7 20.1 7.1 31.5 5.8-5.9 11.7-11.7 18.8-15.6 4-2.2 8.7-3.7 13.6-3.8h1.8c4.2.1 8.6 1.2 12.6 3.7 21.9 13.7 27.4 41.3 24.7 67.9-2.8 26.5-13.6 53.5-29 71.3-4.3 5-10.3 7.3-15.5 8.1-5.3.9-10.3.6-14.9.3-9.2-.4-15.7-.2-18.2 1.9-3.9 3.2-6.6 8.9-8.4 16.9-1.7 8-2.4 17.8-3.3 27.6-.9 9.7-1.8 19.4-5.4 28.2-3.6 8.7-11.5 16.8-22.5 18.3-31.1 4.3-58.2-15.2-78.1-41.9l-42.9 49.9c72.7 21.2 143 33.8 208.5 27.8 33.9-66.1 38.6-145.8 47.8-225.2l.5-4.4 3.8-2.3s12.3-7.5 24.3-17.8c6-5.1 11.8-11 15.7-16.5 3.9-5.4 5.5-10.3 5.2-13.2v-.1c-2.1-25.7-21.4-49.66-47.6-68.31-26.3-18.65-58.9-31.58-83.6-35.95-13-2.32-27.9-3.69-43.5-3.85zm15.5 116.51L39.95 447.1c-9.88 12.5-7.5 26.1-.98 33.7 3.27 3.8 7.35 6 11.88 6.1 4.49.2 9.99-1.5 16.46-7.6L232.1 287.7l2.9-.7c8.8-2.1 23.9-7.7 37.6-15.6 13.8-7.8 26.2-18 31.3-27.4 20.6-38.1 21.3-73.6 15-102.4zm52.9 8.5c-1.4.1-2.9.9-5.2 2.1-4.6 2.5-10.5 8.1-16.8 14.5-3 3.1-6.2 6.4-9.5 9.6-.5 23.7-6.2 49.6-20.6 76.2-7.9 14.8-22.8 25.9-38.2 34.6-14.1 8-28.4 13.6-39.4 16.6l-14.8 17.2c17.8 25.4 40.3 41.4 63.6 38.2 4.8-.7 6.1-2.2 8.2-7.4 2.1-5.1 3.3-13.6 4.2-23 .9-9.4 1.5-19.8 3.6-29.7 2.2-10 6-19.9 14.4-26.9 10-8.3 21.9-6.5 30.8-6 4.4.2 8.3.3 11-.1 2.7-.5 3.8-1.1 4.8-2.2 12.1-13.9 22.3-38.6 24.7-61.4 2.4-22.8-2.7-42.2-16.4-50.8-1.6-1-2.8-1.5-3.9-1.5zm-123.6 4.6c-.7-.1-1.3 0-2.1.1-13.2 2.2-26.2 12.5-35.8 26.7-9.5 14.2-15.2 32-15 46.5.1 6.2.8 13 2 20l70-76.6-.9-1.2c-4.3-5.2-8.3-9.9-11.7-12.5-2.6-2-4.5-2.9-6.5-3zm230.5 15c-.4.5-.8 1-1.3 1.5-9 9.3-19.7 17.4-30.1 23.6-2.3 19.1-4.8 38-7.6 56.7-6.9 61.1-16.7 122-46.1 175.8l2.9 16.5c38.1-51.4 54.7-137 58-228.2l.2-4.2 3.3-2.6c13.1-10.2 17.4-18.5 19.6-29.7.6-2.9.9-6.1 1.1-9.4zM159.4 399.8L147 414.2c24.5 9.7 57.7 20.8 93.4 28.8 47.3 10.6 98.2 15.1 136.5 5l-2.5-16.7c-69 4.8-141.2-9.3-215-31.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ButterflyFlower;

impl IconShape for ButterflyFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M66.12 23.9c-20.66 36.48-18.63 90.3 4.77 138.2 23.14 47.4 66.41 88.3 126.51 101.7.8-4 1.7-8 2.6-12 .1-31-8.2-77.2-26.5-119.5-22.2-51.32-58.1-96.44-107.38-108.4zm15.57 30.15C134 69.85 145.2 145.6 135.7 170.1 71.75 152.3 52.33 83.36 81.69 54.05zM298.4 129.1c-.5.6-2.2 2.5-3.4 6.9-1.4 5.1-2 12.6-1 22 2 20.1 5.1 35.5 10 50.4.9-12.7 2.9-24.8 6.4-37.2-.7-8.4-2.2-17.3-5-27.4v-.1c-2.2-8.2-5.3-12.9-6.8-14.4l-.2-.2zm59.3.4c-.3 0-.6 0-.9.1-4.8.5-13.2 5.4-19.4 19.9v.1h-.1c-11.6 26.7-15.6 46.8-15.6 72.8.1.3.4.7.5.9 19.7-23.2 35.6-36.7 42.3-71.8 1.5-8.4.6-14.2-.9-17.4-1.5-3.2-3-4.1-5.1-4.5-.3-.1-.5-.1-.8-.1zm-126.9 15.4l-15.2 9.6c9 14.1 13.8 29.3 16.2 45 3.4-.9 6.9-1.2 10.3-.9 2.1.2 4.2.6 6.2 1.2l1.8.6c-2.5-18.7-7.9-37.7-19.3-55.5zm170.7 7.7c-1.5.1-3 .6-4.7 1.7-5.8 3.7-13.2 12.1-20.6 22.1-6.3 17-15.3 29.3-25.1 40.9-4.7 8.9-7.7 15.4-8.7 17.5.5 3.7 1.4 6.5 2.7 8.7 1.2-.7 2.5-1.3 3.9-1.8h.1l.1-.1c11.8-3.8 25.5-12.2 39.9-19.6 11.5-8.8 22.7-18.3 29.5-26.1 7-8 5.5-21.1-.9-31.4-3.2-5.1-7.6-9-11.3-10.7-1.8-.8-3.4-1.2-4.9-1.2zm-161.8 63.8c-2.2 0-4.4.6-6.6 2-3.4 2.2-7.2 6.6-9.7 15-.3 1.2-.7 2.3-1 3.5 3.9.3 7.8.8 12.1 1.5 6.7 1 13.3 2.4 19.1 4 .1-.4.1-.7.2-1.1 2.6-14.5-4.2-22.3-10.8-24.3-.8-.3-1.6-.4-2.4-.5-.3 0-.6-.1-.9-.1zM430.8 227c-1.4 0-2.8 0-4.3.2-6.2.6-13.4 3.2-21.2 6.8-15.5 7.4-32.5 18.9-50.3 24.8-.1 0-3.4 3.2-4.7 6.8-.7 1.9-.9 3.8-.8 4.7 0 .4.1.5.1.6 21.4 17.9 53.7 20.8 76.4 10.9v-.1c16.4-7.1 26-17.2 28.6-25.7 2.7-8.4.6-16.2-12.1-25.1-3.8-2.6-7.5-3.7-11.7-3.9zM355 258.8v-.1l-.2.1h.2zm-45.3-22c-9.2 6.6-16 17.4-18.1 30.7-2.7 17.6 3.7 34.1 15 43.9 1.1-1.7 2.4-3.2 3.9-4.6 2.8-2.6 6.6-4.7 11.1-4.9h1.1c.3-1.8.8-3.7 1.6-5.6 1.9-4.8 6.4-10 12.7-12.5-3.6-3.3-5.1-7.9-5.4-11.9-.4-4.3.3-8.3 1.6-12.1.2-.7.5-1.4.8-2-3.9-4.4-7-9.9-8.8-16.5-4.3.7-8.7.4-12.4-2-1.2-.8-2.2-1.6-3.1-2.5zm-92 18.3c-1.9 8.1-3.5 16.2-4.8 24.2l.2-.2c7.7 7.5 20.5 9.4 32.2 8.6 1.7-9.1 3.4-18.3 5-27.6-5.3-1.4-12.1-2.9-18.5-3.9-5.1-.8-10.4-1-14.1-1.1zm-49.3 19c-16.9 4.1-36.7 11.6-55.3 22.6-33.97 20.1-64.37 50.9-73.4 91.6 22.34 13.4 55.5 9.6 86.6-10.9 28.9-19 55-51.9 66.9-96.1-8.6-1.9-16.8-4.3-24.8-7.2zm41.5 24.8c-1.1 7.9-2 15.7-2.8 23.6 9 5.1 20.6 7.7 28.9 6.8 2-7.7 3.9-15.5 5.6-23.4-10.3.2-21.7-1.3-31.7-7zm152 .1c-5.7.6-11.5 1.2-17.5 1.4-2.6.1-2.6.6-3.4 2.7-.4 1-.6 2.3-.7 3.1 0 .3.1.6.2.7 1.4 2.4 2.8 4.8 4.1 7.3 14.8 11.5 26.6 23.6 36.8 37.2 6 1.4 13.3 1.8 22.5.7 13.2-1.7 28-11.1 33.5-20.8 2.7-4.9 3.4-9.2 2-13.8-1.5-4.6-5.5-10.2-14.8-15.9 0 0-.1 0-.1-.1-19.7 6.1-42.3 5.6-62.6-2.5zm-39.3 21.3c-.8.9-2.3 3.9-2.4 6.5-1.5 30.9 3.8 55.6 17.9 83.8 3.2 6.5 5.7 7.2 10 7.1 4.3-.1 10.7-2.9 16.5-7.7 5.8-4.9 10.8-11.6 13.4-17.6 2.5-6 2.3-10.5.7-13.1-14.6-23.5-29.9-40.8-55.4-58.5l-.4-.2-.3-.3zm-204.5 4.4c2.3 0 4.3.2 6 .7-4.7 43.9-38.86 63-56.07 46.2 3.91-31.5 33.77-46.4 50.07-46.9zm179.2 2c-8.2 21.7-16.3 41.7-12.1 62.5 1.8 8.7 4.3 13.8 6.3 16.2 2 2.3 2.6 2.2 3.3 2.1 1.4-.1 6.6-4 8.1-10.9 2.1-9.8 2.4-19.6 1.7-29.4-1-5.5-1.7-11-2.1-16.6-1.3-7.7-2.9-15.5-4.5-23.4-.2-.2-.4-.4-.7-.5zm-92.1 15.1c-.2 1.7-.3 3.5-.5 5.3-.5 13.5 1.3 22.1 3.2 26.2 1.9 4.2 2.4 3.7 3.3 3.7 1 0 4.1-1.1 7.4-4.3 3.2-3.1 6.3-8 8.2-13.2v-.1c1.4-3.9 2.7-7.9 4-11.8-8.6-.2-17.4-2.2-25.6-5.8zm233.3 14.9c-4.8 3.7-10.1 6.6-15.7 8.9 32.3 42.2 45.6 91.6 48.1 129.3l18-1.2c-2.7-40.2-16.9-92.2-50.4-137z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ButterflyKnife;

impl IconShape for ButterflyKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M492.997 22.277c-26.511 13.835-46.459 23.883-80.37 29.6l-149.47 169c.284.262.566.525.841.8 5.444 5.444 8.24 12.592 8.403 19.791 7.199.164 14.347 2.959 19.79 8.403.092.091.177.187.266.28 75.387-70.48 208.445-166.137 200.54-227.874zM221.707 207.58l-12.728 12.728 7.262 7.262 7.199-6.238a28.54 28.54 0 0 1 7.03-4.989zm21.83 23.566c-2.78 0-5.56 1.085-7.734 3.258-4.346 4.346-4.346 11.122 0 15.469 4.346 4.346 11.12 4.344 15.467-.002 4.346-4.347 4.346-11.119 0-15.465-2.173-2.173-4.952-3.26-7.733-3.26zm-27.359 20.297L45.68 399.21l46.877 9.375 139.79-139.79a28.577 28.577 0 0 1-16.168-17.352zm55.553 7.897c-2.78 0-5.56 1.086-7.733 3.26-4.345 4.346-4.348 11.12-.002 15.466 4.347 4.346 11.123 4.346 15.47 0 4.346-4.346 4.344-11.12-.003-15.467-2.173-2.173-4.953-3.26-7.732-3.26zm-26.656 22.183l-139.79 139.79 9.376 46.876 147.765-170.498a28.577 28.577 0 0 1-17.351-16.168zm52.45 1.877a28.538 28.538 0 0 1-4.987 7.03l-6.239 7.199 7.262 7.261 12.728-12.726zM31.396 369.7l-12.729 12.726 8.774 8.774 13.637-11.818zm-2.924 44.424l-4.137 3.586c-.14.124-.137-.033-.181.638-.048.712.14 2.267.908 4.264 1.536 3.995 5.278 9.47 9.857 14.049 4.58 4.58 10.054 8.32 14.05 9.857 1.997.769 3.553.956 4.265.908.712-.047.504-.022.676-.193l23.351-23.351zm61.518 22.486l-23.352 23.352c-.171.17-.144-.035-.191.677-.048.712.138 2.268.906 4.266 1.536 3.995 5.28 9.468 9.86 14.047 4.579 4.58 10.051 8.323 14.046 9.86 1.998.768 3.554.953 4.266.906.669-.045.514-.04.637-.18l3.585-4.137z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ButtonFinger;

impl IconShape for ButtonFinger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 18v206c0 25.43 10.438 43.384 26.525 55.896C211.613 292.41 233.75 299 256 299s44.387-6.59 60.475-19.104C332.562 267.384 343 249.43 343 224V18H169zM80 32L28.027 93.102l116.586 125.015L80 32zm352 0l-64.613 186.117L483.973 93.102 432 32zm-240 7h128v18H192V39zm16 32h96v18h-96V71zm48 68.178c21.138 0 42.276 4.093 66.846 12.283l6.154 2.054V224c0 16-11.186 28.156-24.975 35.05-13.788 6.895-30.9 9.95-48.025 9.95s-34.237-3.055-48.025-9.95C194.185 252.157 183 240 183 224v-70.486l6.154-2.053c24.57-8.19 45.708-12.282 66.846-12.282zm0 17.644c-17.133 0-34.442 3.394-55 9.838V224c0 8 4.814 13.844 15.025 18.95 10.212 5.105 25.1 8.05 39.975 8.05s29.763-2.945 39.975-8.05C306.185 237.843 311 232 311 224v-57.34c-20.558-6.444-37.867-9.838-55-9.838zm-237.104 24.07l2.81 36.522 99.028 14.75-101.838-51.27zm474.208 0l-101.838 51.272 99.03-14.75 2.808-36.52zm-340.317 61.762a168.22 168.22 0 0 0-10.807 4.983C113.406 262.11 98 280.863 98 299.417c0 18.556 15.406 37.308 43.98 51.78C170.555 365.67 211.116 375 256 375s85.445-9.33 114.02-23.803c28.574-14.472 43.98-33.224 43.98-51.78 0-18.554-15.406-37.308-43.98-51.78a168.22 168.22 0 0 0-10.807-4.983c-4.294 21.785-16.024 39.266-31.688 51.45C307.613 309.59 281.75 317 256 317c-25.75 0-51.613-7.41-71.525-22.896-15.664-12.184-27.394-29.665-31.688-51.45zm279.176 67.657v53.108c0 18.27-9.684 35.238-25.434 49.057-15.75 13.818-37.74 24.997-64.526 32.832-53.573 15.668-118.452 15.668-172.025 0-26.788-7.835-48.777-19.014-64.527-32.832-15.586-13.676-25.227-30.438-25.426-48.49h-.18v-53.58C40.076 330.146 18 355.583 18 381.006c0 26.53 24.032 53.084 67.143 73.155C128.253 474.23 188.925 487 256 487s127.747-12.77 170.857-32.84C469.967 434.09 494 407.535 494 381.004c0-25.463-22.147-50.94-62.037-70.693zm-334.117 30.8v22.308h.172c0 11.95 6.228 24.05 19.306 35.525 13.078 11.475 32.832 21.81 57.707 29.086 49.75 14.55 112.17 14.55 161.92 0 24.876-7.276 44.63-17.612 57.708-29.087 13.078-11.475 19.305-23.575 19.305-35.525V341.32c-9.224 9.965-21.516 18.697-35.81 25.936C346.288 383.396 303.35 393 256 393s-90.287-9.604-122.154-25.744c-14.393-7.29-26.756-16.093-36-26.145z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BuyCard;

impl IconShape for BuyCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 32l-80 96h48v80h64v-80h48l-80-96zm216 0c-40 0-40 0-40 39.945V232c0 40 0 40 40 40h80c40 0 40 0 40-40V72c0-40 0-40-40-40h-80zM176.096 236.904c-5.28.12-10.212 2.417-16.94 9.596l-6.562 6.969-6.813-6.72c-7.387-7.28-13.216-9.29-19.125-9.03-5.908.26-12.855 3.365-20.625 9.654l-6.219 5.031-5.906-5.375c-8.9-8.052-16.485-10.437-23.75-10.062-5.288.274-10.775 2.266-16.25 5.75l40.969 73.687c15.454 9.452 47.033 13.009 68.75 2.065l39.594-73.346c-7.51-3.062-14.26-6.2-20.094-7.404-2.112-.437-4.073-.758-5.97-.815-.355-.01-.71-.008-1.06 0zM352 304v80h-48l80 96 80-96h-48v-80h-64zM86.125 333.094v.002C68.09 345.838 53.609 367.813 48 400c-5.435 31.196 3.127 52.264 18.281 66.623 15.155 14.36 37.902 21.738 61 21.438 23.1-.3 46.136-8.31 61.625-22.936 15.49-14.627 24.251-35.425 19.283-65.188-5.137-30.757-18.4-52.147-35.19-65.093-28.483 15.056-64.094 11.856-86.874-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ByzantinTemple;

impl IconShape for ByzantinTemple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 23.82v18.71c-50.7 3.94-87.9 40.63-93.2 77.67h204.5C353 83.16 315.7 46.46 265 42.53V23.82zM153.1 138.2v16.3c3.2 1.7 5.9 4.2 7.7 6.8 3.3 4.9 5 10.5 6.1 16.1 2.1 11.4 2.2 20.5 2.2 31.8v71H183v-78l.8-18c2.6-14.8 11.6-26.7 23.2-34.5 8.5-5.7 18.3-9.4 28.6-11.5zm123.3 0c10.3 2.1 20.1 5.8 28.6 11.5 11.6 7.8 20.6 19.7 23.2 34.5l.8 18v78h14v-71c0-10.7.3-22.5 2.2-31.8 1.1-5.6 2.8-11.2 6.1-16.1 1.8-2.6 4.5-5.1 7.7-6.8v-16.3zm-20.4 16c-14.5 0-28.9 3.8-39 10.5-7.6 5-12.8 11.2-14.9 19.5h107.8c-2.1-8.3-7.3-14.5-14.9-19.5-10.1-6.7-24.5-10.5-39-10.5zm-111.3 16.1c-11.9 1.7-26.8 8.9-38 17.5-5.3 4.1-9.79 8.5-12.9 12.4h57.1c-.1-6.5-.5-13.4-1.6-19.2-1.1-3.6-1.7-8.4-4.6-10.7zm222.7 0c-2.6 2.3-4 7.7-4.6 10.7-1.1 5.8-1.5 12.7-1.6 19.2h57c-3.1-3.9-7.5-8.3-12.9-12.4-11.2-8.6-26-15.8-37.9-17.5zM201 202.2v78h9c.8-.7 1.6-1.4 2.4-2 3-2.4 6.2-4.5 9.6-6.3v-34.7c0-8 6-12 12-12s12 4 12 12v27.6c3.2-.4 6.5-.6 10-.6s6.8.2 10 .6v-27.6c0-8 6-12 12-12s12 4 12 12v34.7c3.4 1.8 6.6 3.9 9.6 6.3.8.6 1.6 1.3 2.4 2h9v-78zm-112 16v62h62.1v-62zm272 0v62h62v-62zm-237 7c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm264 0c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm-132 57c-14.5 0-24 3.3-32.4 10-8.4 6.7-15.8 17.6-23.5 33l-2.5 5H137v30h238v-30h-60.7l-2.5-5c-7.7-15.4-15.1-26.3-23.5-33-8.4-6.7-17.8-10-32.3-10zm-176 16c-13 0-22.25 6.2-28.97 14.6-3.88 4.9-6.49 10.5-8.12 15.4H119v-16h67.6c2.7-5 5.4-9.7 8.2-14zm237.1 0c2.8 4.3 5.5 9 8.2 14H393v16h76.1c-1.6-4.9-4.2-10.5-8.1-15.4-6.7-8.4-16-14.6-29-14.6zM41 346.2v46h31.89c1.36-3.2 3.34-6.1 5.56-8.6 4.13-4.8 9.31-8.8 14.92-12.1 8.23-4.9 17.13-8.7 25.63-10.4v-14.9zm352 0v14.9c8.5 1.7 17.4 5.5 25.6 10.4 5.6 3.3 10.8 7.3 15 12.1 2.2 2.5 4.2 5.4 5.5 8.6H471v-46zm-265 32c-5 0-16.6 3.4-25.4 8.7-2.74 1.7-5.11 3.5-7.2 5.3h321.2c-2.1-1.8-4.5-3.6-7.2-5.3-8.8-5.3-20.4-8.7-25.4-8.7zm-89.51 32l-10 30H87v-30H71zm66.51 0v78h94.1c.7-28.4 4.6-50.6 12.8-67 2-4 4.4-7.7 7.1-11zm151 0c-13 0-21 5.2-27.9 19-6.3 12.5-10 32.5-10.8 59h77.5c-.6-26.7-3.4-47-9.1-59.2-6.3-13.7-13.8-18.8-29.7-18.8zm39.1 0c2.7 3.3 5 7.1 6.9 11.2 7.7 16.7 10.5 38.7 10.9 66.8H407v-78zm129.9 0v30h58.5l-10-30H441zm-293 11c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm40 0c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm168 0c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm40 0c6 0 12 4 12 12v32h-24v-32c0-8 6-12 12-12zm-355 37v30h62v-30zm400 0v30h62v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cabbage;

impl IconShape for Cabbage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.6 20.38c-1.6-.1-2.6.43-4.6 2.33-2.4 2.18-5.3 6.26-8.3 11.03-6 9.54-12.6 23.12-27.5 26.73-13.8 3.34-25.2-3.94-34.4-8.98-9.2-5.04-15.7-7.78-20.4-6.19-4.3 1.52-7.52 6.56-11.4 14.91-3.89 8.35-7.76 19.26-17.94 26.45-8.35 5.9-17.36 5.51-23.93 6.06-3.28.28-6.02.68-7.7 1.24-1.68.56-2.14.94-2.65 1.68-7.34 10.86-7.95 33.66-4.88 56.46l6.03 2.1c5.81 2.1 11.26 4.9 16.33 8.2C85.37 126 129.1 102.5 175.9 91.84c5.8-9.43 13.8-21.64 23.3-33.93 6.5-8.37 13.6-16.73 21.3-24.22-6.9-7.85-14-12.47-20.2-13.25-.3 0-.5-.1-.7-.1zm71.3 5.08c-7.9-.1-17.3 4.07-27.1 11.69-10.5 8.14-21.1 19.83-30.3 31.77-5.2 6.71-9.7 12.94-13.4 18.56 11.8-1.58 23.7-2.39 35.4-2.38 16 0 31.7 1.52 46.6 4.51 41 8.22 83.9 29.09 118.5 58.39 7.5 6.3 14.7 13.1 21.3 20.2 2-1.2 4-2.4 6-3.4 5.2-2.5 11-4.1 16.8-4.4 5.9-.3 11.9.7 17.6 3.3 3.6 1.7 7 3.7 10.2 5.9 1.5-14 2-28.3.5-40.5-1.5-12.8-5.4-22.6-11.1-28-.6-.4-.7-.6-3.1-.3-2.5.3-6.4 1.6-10.7 3.2-4.3 1.6-9.1 3.5-14.5 4.3-5.4.8-12.4.2-17.8-4.3-5.9-4.87-8-12.29-8.2-18.5-.2-6.22.9-12.08 1.8-17.47.9-5.38 1.6-10.29 1.4-13.48-.2-3.19-.6-3.86-1.7-4.7-5.1-3.72-10.1-4.22-17.5-2.72-7.3 1.51-16.3 5.48-25.7 10-9.5 4.53-19.5 9.57-30 12.71-10.5 3.18-22 4.44-33.1 0-6.9-2.79-11.3-8.32-14.3-13.71-3-5.38-4.9-11-6.7-15.99-1.9-4.98-3.7-9.31-5.4-11.73-1.7-2.41-2.3-2.74-3.9-2.88-.5 0-1-.1-1.6-.1zm-35.1 77.84c-61.8.4-129.7 25-163.47 70.4 11.72 11.4 20.27 25.7 25.03 40 3.64 11.1-.6 21.1-3.54 29.8-2.95 8.8-4.68 16.5-3.91 19.4.73 2.7 2.69 5.2 6.49 8.1 3.8 2.9 9.2 5.8 15.1 8.8 11.6 5.9 26.2 11.8 31.8 26.5 2.4 6.2 2.8 12.7 2.4 19.2 2.7-.3 5.5-.6 8.4-.7 1 0 2.1-.1 3.1-.1 13.1 0 28.3 2.5 46.3 8.5-4.8-22.2-7.2-45.4-7-69-12.6-7.6-24.6-12.6-35.6-13.8-12-1.3-22.9 1.4-34.5 10.6l-11.2-14c13-10.4 27.3-15 41.5-14.8 2.1 0 4.1.1 6.1.3 11.7 1.2 23.1 5.4 34.4 11.3 1.3-21 4.6-42.3 9.6-63.5-10.1-7.2-18.2-10.9-25.8-11.7-8.5-.9-17.6 1.5-30.6 9.1l-9.2-15.4c13.1-7.8 25-11.9 36.7-11.8 1.7 0 3.3.1 5 .2 10 1.1 19.3 5.1 28.8 11.2 2.2-7.8 4.7-15.5 7.4-23.2l17 6c-5.3 14.9-9.6 29.9-13 44.9 8.3-2.7 16.6-4 25-4.3 1.3 0 2.6-.1 3.9-.1 19.4.2 38.7 6.1 57.5 14.4l-7.4 16.4c-29.6-13.2-56.7-18.4-83.1-5.3-3.4 20.3-4.9 40.4-4.7 60.1 11.3-5.9 23.3-9 36-9.7 1.7-.1 3.4-.1 5.2-.1h1.7c16.3.2 33.5 4.2 51 11.3l-6.8 16.6c-34.4-14-62.4-14.3-86.1 2.2 2.1 26.7 7.7 52.3 17 76.3 11.7-12.7 25.8-22.4 43.1-27.1 7.6-2.1 15.8-3.3 24.5-3.4h3.8c15.6.4 32.9 3.9 52.3 10.9 4.9-10.1 6.6-22.4 7.2-36.3.8-18.2-.5-38.5 4-57.9v-.1c4.7-19.7 16.7-45.3 32.9-65.1 2.5-3.1 5.2-6 7.9-8.8-5.9-6.2-12.3-12.2-19-17.9-32.3-27.2-72.8-46.9-110.5-54.5-13.5-2.7-28-4-42.7-3.9zM43.49 174.6c-13.38 32.2-21.86 84.2-18.55 135.2 3.58 55.3 20.85 108.9 55.93 136.8 24.03 19 68.23 32.3 107.53 31.1 4.3-.2 8.5-.5 12.7-.9 1.3-2.2 2.6-4.7 3.9-7.4-50.2-2.3-86.5-22.6-111.01-47.2-26.4-26.4-39.47-57.3-44.35-76.8L67.1 341c4.11 16.5 16.13 44.9 39.7 68.5 23 23 56.6 41.9 106.6 42.1 4.2-9.3 8.7-19.1 13.8-28.5l-.1-.1c-12.6-9.6-22.6-19.2-31.8-22.7-8.2-3.1-19.1-.9-31 1.4-5.9 1.2-12 2.4-18.4 2-6.4-.4-13.6-2.9-18.7-8.6l-.1-.1c-5.6-6.4-7-14.6-7-22.4.1-7.7 1.5-15.7 3-23.4 3.1-15.6 5.5-30.9 3.4-36.5-1.9-5.1-11.3-10.9-23.2-16.9-5.95-3-12.2-6.2-17.81-10.4-5.62-4.3-10.85-10.1-12.96-17.9-3.01-11.1 1.3-21 4.22-29.7s4.33-16.1 3.53-18.5c-5.76-17.2-19.36-35.3-36.79-44.7zm402.01 3.6c-3.1.1-6.2 1.1-9.7 2.8-7 3.4-14.7 10.2-21.7 18.8-14.1 17.2-25.6 41.7-29.3 57.9-3.7 15.8-2.8 35.1-3.6 54.6-.9 19.4-3.6 39.7-17.2 56-13.9 16.5-34.6 20.3-53.6 23.4-18.9 3.1-36.5 5.7-47.9 14.6-12.3 9.6-23.8 33.4-33.7 55-2.8 6.1-5.5 11.9-8.3 17.4 57.5-16.5 106.4-40.5 143-74.1 39.9-36.7 65.5-84.8 72.2-149.6l18 1.8c-7.2 68.6-35.1 121.6-78 161.1-36.1 33.2-82.5 56.9-135.8 73.7 81.3 1.1 145.1-28.2 188.3-82.6h.1c24-30.2 47.9-81.6 56.3-128.3 4.2-23.3 4.5-45.5-.3-63-4.7-17.5-13.7-30.2-29.6-37.6-2.8-1.3-5.4-1.9-8-1.9zM158.2 342.7c-5.8 0-11 .6-15.5 1.6h-.1c-.6 2.8-1.3 5.6-1.8 8.4-1.5 7.5-2.7 14.6-2.7 20 0 5.5 1.1 8.7 2.5 10.4 1.7 1.8 3.1 2.4 6.4 2.6 3.3.2 8.2-.5 13.9-1.6 11.3-2.3 25.9-6.2 40.8-.6 10 3.7 18.1 10.2 25.8 16.6-7.7-14.8-13.9-30.3-18.7-46.4l-.2.5c-21.1-8.2-37.5-11.4-50.4-11.5zM300.1 355c-7.3.1-13.9 1-19.9 2.7-16.3 4.5-29 14.1-39.9 27.9 1.8 3.8 3.8 7.5 5.8 11.2 1.7-1.6 3.5-3.2 5.4-4.7 16.6-13 37.6-15.1 56.1-18.1 14.5-2.4 27-5.1 36-11.4-15.3-5-28.7-7.4-40.4-7.6h-3.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CableStayedBridge;

impl IconShape for CableStayedBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M113 41v446h30V41h-30zM95 60.35L18 114.9v22l77-54.5V60.35zm66 0V82.4L483.8 311H494v-14.7L161 60.35zM95 98.59L18 170.8v24.7l77-72.2V98.59zm66 0v24.71L361.2 311h26.4L161 98.59zm0 49.81v34.4L239.9 311h21.2L161 148.4zm-66 .1L18 273.6v34.3l77-125.1v-34.3zM18 329v30h77v-30H18zm143 0v30h333v-30H161z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cactus;

impl IconShape for Cactus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M348.77 14.06l-5.854 17.163C332.126 22.93 318.623 18.01 304 18c-15.35.016-29.457 5.454-40.496 14.512l-15.602-13.567-11.81 13.584 15.228 13.238c-5.303 7.707-8.958 16.64-10.465 26.306h-23.263v18H240V192h-16.023c-24.42 0-31.977-5.767-31.977-31.857v-26.127h9.064v-18h-10.59c-1.455-5.342-3.874-9.798-6.947-13.358l-7.373 13.358h-3.334l-13.203-7.286 8.63-15.636c-9.775-2.624-20.645-.482-28.624 6.412l-13.264-11.53-11.81 13.583 15.31 13.31c-1.187 3.886-1.86 8.254-1.86 13.13v21.71h-19.46v18H128V192c0 31.09 6.727 48.742 24.484 57.33L141.5 267.068l15.303 9.477 13.62-21.99c6.328.98 13.464 1.445 21.522 1.445 21.323-.077 42.648.162 63.97 0l.17 18s-8.49.07-16.085.137v75.052h-25.68v18H240v60.587h-15.488v18H240v49.368h128v-12.057h13.7v-18H368v-26.48h23.572v-18H368V316.62h-25.99v-18H368v-15.71h14.97v-18H368v-28.89h25.504v-18H368V137h16v-18h-16V88.008h-23.488v-18h22.314c-1.662-8.766-5.116-16.88-9.945-23.975l8.927-26.16-17.036-5.812zM309.35 43.093l.875 31.986-17.994.492-.876-31.988 17.994-.49zm-46.627 61.306h32v18h-32v-18zm53.852 69.182h32v18h-32v-18zm-169.717 11.035h32v18h-32v-18zm88.553 30.184h32v18h-32v-18zm230.022 12.733l-9.116 20.48c-.105 0-.21-.013-.314-.013-6.622 0-13.238 2.44-17.844 7.313l-12.76-11.094-11.81 13.583L432 273.813v46.275c0 12.18-7.97 15.912-16.395 15.912H386v48h32.994l.12 19.742 18-.11-.12-19.786C465.712 382.176 480 366.232 480 336v-18.223h16.512v-18H480V272c0-7.636-2.736-13.446-6.898-17.438l8.773-19.71-16.445-7.32zm-19.61 83.985l18 .113-.2 32-18-.112.2-32zm-152.472 19.574l.875 31.986-17.994.492-.876-31.988 17.994-.49zm26.312 49.496h32v18h-32v-18zm-62.574 32.453h32v18h-32v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CactusPot;

impl IconShape for CactusPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M177.6 21.72c-1.7 0-3.4.13-5.1.3-18.8 1.86-32.9 12.89-43.9 29.34l-12-22.19-15.8 8.56 17.5 32.36c-3.4 7.44-6.4 15.36-8.8 23.45l11.3 4.07-6.2 16.99-9.8-3.6c-2.9 12-4.88 23.8-6.25 34.4-.1.7-.15 1.3-.22 2l-31.25-1-.58 18 31.96 1c.86 9.4 2.74 19.7 5.44 30.4l16-5.9 6.2 16.8-17.5 6.5c4 13.1 8.8 26.3 13.8 38.8l-26.22 35.3 14.42 10.8 19.9-26.8c10.4 23.7 19.2 40.2 21.9 45.2l110.1-2.5c-1.6-4.1-3.3-8.7-5-13.8-5-15-10.1-32.7-7.7-48.1.2-1 .3-2 .5-3l17 9.2c-.1 9.1 3.2 23.9 7.3 36.2 2.9 8.9 5.6 15.4 7.5 19.8h95.4c2.1-3.3 4.7-7.6 7.7-13.2 2-3.7 3.8-7.8 5.5-11.8l26.5 19.2 10.6-14.6-31.8-23v-1.6c-.4-10.2-1.4-21.8-3.3-33.7l-13.5 2.8-3.6-17.6 13.8-2.9c-.8-3.8-1.8-7.6-2.8-11.3l26.3-10-6.4-16.8-25.3 9.6c-.5-1.5-1.1-3-1.7-4.5-5.3-13-12-24.3-19.7-32-1.3-1.3-2.7-2.5-4-3.6l-4.1 14.4-17.4-5 5-17.5c-2-.4-4.1-.6-6.2-.7h-1.7l-5-38.3-17.8 2.4 5.4 41.3c-1.9 1.1-3.6 2.5-5.4 4.1-7.4 6.5-14 16.4-19.6 28.1-3.3 7-6.2 14.5-8.8 22.3l11.3 5.1-7.4 16.4-9-4c-1.9 7.3-3.5 14.6-4.8 21.5l-16.6-8.9c4-19.6 10.1-41.2 19-60.1 4.3-8.9 9.2-17.3 15.1-24.5-.1-2.6-.2-5.2-.4-7.6-.2-3-.5-6-1.1-9.1l11-4-6.2-17-9.4 3.4c-2.1-6-4.8-12.11-7.8-18.14l38.9-33.59L301 46.24l-36.4 31.42c-4.6-6.83-9.7-13.39-15.3-19.43-1.1-1.24-2.3-2.45-3.5-3.64l-5.2 13.84-16.8-6.36 7.6-20.21c-15.1-11.55-31.9-19-48.7-20.03-1.7-.1-3.4-.14-5.1-.11zm-3 34.66l16.6 7.14-16.5 38.18-16.6-7.15zm1.9 86.32l21.2 24.9-13.8 11.6-21.2-24.9zm152.8 35.2l14 11.2-20.4 25.5-14-11.2zm-94 3.3l9.6 15.2-38.1 23.8-9.6-15.2zm-63.6 66.1l10.6 14.4-24.4 18-10.6-14.4zm174.2 24.6l23.3 15.4-10 15-23.3-15.4zM105 332.3v46h302v-46zm34.9 64l26.9 94h178.4l26.9-94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CactusTap;

impl IconShape for CactusTap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.7 25.21c-3.8 0-7.6.36-11 1.12l8.2 21.01-16.8 6.54-7.4-18.95c-5.2 5.6-9.2 13.25-12.1 22.4-2.7-1.75-5.2-3.36-8.3-5.36-4.9-3.19-10-6.48-13.9-9.14-1.9-1.33-3.62-2.51-4.83-3.39-.92-.67-1.74-1.42-1.75-1.4 0 0 .1.11.28.32l-13.05 12.4c1.61 1.7 2.44 2.15 3.93 3.23 1.48 1.08 3.29 2.34 5.35 3.73 4.11 2.79 9.17 6.13 14.17 9.36 5.4 3.5 10.3 6.63 14 8.98-.1 1.04-.3 2.09-.4 3.15-2.3 20.02-1.1 43.29 1.7 65.29 2.3 18.7 5.8 36.3 9 50.5-5.6 0-10.6-.1-10.6-.1l-.2 18s6.3.1 12.9.1h2.2c2.2 8.7 3.8 13.9 3.8 13.9l3.8 12.5-13-.9c-15.6-1.1-27-8.7-31.85-19.3-4.9-10.6-4.54-22.3-3.66-34 .87-11.7 2.52-23.6 2.52-33.8 0-9.9-1.73-17.6-5.73-22.6-.65-.6-5.91-3-11.95-4.1l-17.3-25.69L47.79 109l14.05 20.9c-6.94 29.7-9.9 56.1-9.14 78.3l6.15-4.3 10.32 14.8-14.5 10.1c1.52 9.2 3.86 17.5 7.01 24.6 3.8 8.6 8.61 15.8 14.6 21.6L65.2 297.9l16.2 7.8 9.85-20.3c12.35 5.8 28.05 8 47.95 6.1l11.6-1-1.9 11.5c-3 17.9-5.1 34.6-6.2 50.5l13.1-6.3 7.8 16.2-22 10.6c-.2 7.2-.3 14.2-.2 21.2h-.6c-7.9-.3-15.5-.6-15.5-.6l-.8 18s7.7.3 15.7.6c.7 0 1.2 0 1.9.1 1.3 24.7 4.5 48.8 8.8 74.5l79.9-.5c7-29.2 10.7-61.1 12.1-94.1h-9.6c-11 0-20.2-6.2-25.1-14.3-5-8-6.7-17.6-6.4-27 .3-9.4 2.6-18.7 7.6-26.5 4.9-7.8 13.5-14.2 23.9-14.2h8.1c-.6-8.9-1.4-17.8-2.3-26.6 9.4 3.5 18.4 7.1 18.4 7.1l6.6-16.8s-9.4-3.7-19.2-7.4c-2.8-1-5.5-2-8.1-2.9-.7-4.9-1.3-9.6-2-14.4l-1.3-8.9 8.9-1.3c15-2.2 26.5-10.4 35.7-23.3 9.2-12.8 15.6-30.2 19.1-48.7 1.3-6.8 2.1-13.7 2.5-20.6l24 .9.8-18-24.5-1c-.2-7.3-.9-14.4-1.9-21l-8.8 4.1-7.6-16.32 12.3-5.77c-2.1-7.25-4.8-13.36-7.9-17.76-4.3-5.13-12.5-9.95-21-11.94-.2-.1-.5-.1-.7-.15-.1-10.58-.3-23.03-.3-27.5h-18c0 5.04.2 17.76.3 28.29-1.1.44-2.1.96-3 1.56-5.8 3.92-9.4 11.99-11 23.86-1.6 11.88-.9 26.63.1 40.93s2.5 28 1.9 39.2c-.4 5.7-1 10.8-3.6 15.7-2.5 4.9-8.9 9.2-15.1 9.1h-.7c-8.1-.9-15.3-4.4-19.8-10s-6.3-12.5-6.8-19.5c-1-14 2.6-29.9 6.3-46.5 3.7-16.56 7.7-33.69 8.5-47.99.8-14.3-1.5-24.68-8-30.77-6.1-5.81-17.3-10.03-28.4-10.57-.7 0-1.4-.1-2.1-.1zm87.8 72.02l18.6 37.47-16.2 8-18.6-37.5zm-98 22.27l14.6 10.4-12.9 18.1-14.6-10.4zm90.3 69.4l13.6 11.8-16.8 19.2-13.6-11.8zm-74.6.5l19 34.5-15.8 8.6-19-34.5zm-53.4 55.1l3.2 17.7c-8.3 1.6-22.45 3.9-32.63 5l-2.02-17.8c9.34-1.1 23.55-3.4 31.45-4.9zm164.5 1.7v18h39v30h18v-30h39v-18zm-116.1 13.6l29.3 12.3-7 16.6-29.3-12.3zm125.1 52.4v78h78v-78zm-57 16c-3.6 0-6.1 1.6-8.8 5.8-2.6 4.2-4.5 10.9-4.7 17.5-.2 6.6 1.3 13 3.7 17 2.5 3.9 4.8 5.7 9.8 5.7h39v-46zm153 1.6v45.9c8.6 1.2 15.8 3.6 21.4 9.1 6.1 6.2 8.4 14.5 9.5 24.4.9 7.8 1 17.6 1.1 29h45.9c-.2-42.4-1.8-70.2-13.9-85.4-6.6-8.1-16.4-14.2-33.2-18.4-8.5-2.1-18.7-3.6-30.8-4.6zm-199.4 91c0-.1 6.5 6.9 12 12.5 5.4 5.7 10.5 10.9 10.5 10.9l-12.8 12.6s-5.2-5.3-10.7-11c-5.4-5.6-10.4-10.6-12.8-13.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CadillacHelm;

impl IconShape for CadillacHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 105c-117.2 0-173.246 53.452-202.066 107.25-21.827 40.743-27.162 81.332-28.479 98.75h461.09c-1.317-17.418-6.652-58.007-28.479-98.75C429.246 158.452 373.2 105 256 105zm42 151s15.334 15.333 15.334 30.666h-46C298.001 271.333 298 256 298 256zm-83.666.666s0 15.335 30.666 30.668h-46c0-15.333 15.334-30.668 15.334-30.668zM201.115 329c.16 4.592.503 10.464 1.313 16.781 1.73 13.51 6.81 27.767 11.111 31.125 10.54 8.23 26.436 12.864 42.461 12.864s31.921-4.635 42.46-12.864c4.302-3.358 9.381-17.614 11.112-31.125.81-6.317 1.153-12.189 1.313-16.781h-109.77zM256 336c15.085 0 32 32 32 32-16-16-48-16-64 0 0 0 16.915-32 32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caduceus;

impl IconShape for Caduceus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M202.412 21.06c-2.189.065-4.715.577-7.795 1.643C149.244 38.411 80.172 79.747 18.965 98.262c10.858 6.727 22.689 12.663 34.941 17.37 13.696-6.286 27.073-12.537 38.414-18.808 13.887-7.678 24.612-15.672 29.078-22.199l13.204 9.035c-7.33 10.712-19.785 19.009-34.54 27.166-7.337 4.057-15.276 8.01-23.468 11.904 7.515 1.809 15.064 3.09 22.533 3.707 3.378.28 6.732.43 10.057.456 15.845-9.826 30.838-22.51 35.67-31.631l14.138 7.488c-3.464 6.54-8.679 12.826-14.933 18.695 15.63-5.498 29.79-15.436 41.54-31.103l7.235-9.647 6.076 10.416c4.704 8.064 11.043 14.811 18.235 20.618 5.332-.816 10.034-1.374 14.855-1.649V79.084c-9.7-7.317-16-18.93-16-31.941a39.612 39.612 0 0 1 3.068-15.305c-2.539-3.553-5.16-6.348-7.793-8.072-2.172-1.423-4.325-2.385-6.941-2.643a15.694 15.694 0 0 0-1.922-.063zm106.258 0c-.342.01-.677.03-1.004.063-2.616.258-4.769 1.22-6.941 2.643-2.634 1.724-5.254 4.52-7.793 8.072A39.612 39.612 0 0 1 296 47.143c0 13.011-6.3 24.624-16 31.941v30.996c5.003.289 10.454.932 14.855 1.649 7.192-5.807 13.531-12.554 18.235-20.618l6.076-10.416 7.234 9.647c11.75 15.667 25.911 25.605 41.541 31.103-6.254-5.869-11.47-12.155-14.933-18.695l14.138-7.488c4.832 9.122 19.825 21.805 35.67 31.63a134.06 134.06 0 0 0 10.057-.454c7.47-.619 15.018-1.9 22.533-3.708-8.192-3.894-16.131-7.847-23.469-11.904-14.754-8.157-27.208-16.454-34.539-27.166l13.204-9.035c4.466 6.527 15.19 14.521 29.078 22.2 11.34 6.27 24.718 12.52 38.414 18.808 12.252-4.708 24.083-10.644 34.941-17.371-61.207-18.515-130.279-59.85-175.652-75.559-3.52-1.219-6.317-1.711-8.713-1.642zM256 24c-13.35 0-24 10.65-24 24s10.65 24 24 24 24-10.65 24-24-10.65-24-24-24zm-8 62.332v24.64c2.793.606 5.759 1.61 8 2.89 2.681-1.483 5.28-2.266 8-2.89v-24.64c-2.587.53-5.263.81-8 .81s-5.413-.28-8-.81zm-12.547 39.654a76.025 76.025 0 0 0-4.674.2c-12.862.942-28.802 5.08-35.353 8.185-14.907 7.066-21.148 13.791-24.215 19.988-3.067 6.198-3.211 12.802-3.211 20.784 0 9.333 4.299 16.218 12.146 22.812 7.848 6.594 19.157 12.141 30.8 16.75 21.493 11.283 44.162 22.942 62.048 35.984 4.915 3.475 11.183 5.658 15.998 8.178 4.717-4.959 7.008-9.53 7.008-13.724 0-2.5-.667-5.262-1.893-8.182-12.214-23.082-35.176-34.215-59.312-47.52l-.057.063c-10.371-4.023-20.014-6.361-26.738-6.361l-3.578-15.157c15.833-7.916 27.435-14.553 34.338-20.877 6.756-6.188 9.266-11.253 9.209-19.312-4.007-1.756-8.557-1.851-12.516-1.81zm41.094 0c-4.174.141-9.299.064-12.516 1.81-.057 8.06 2.453 13.125 9.21 19.313 6.902 6.324 18.504 12.961 34.337 20.877L304 183.143c-7.963 0-20.012 3.269-32.525 8.744 10.05 6.432 19.599 13.926 27.498 23.611.695-.268 1.387-.518 2.082-.793 11.642-4.609 22.95-10.156 30.799-16.75C339.7 191.361 344 184.475 344 175.143c0-7.982-.144-14.586-3.21-20.784-3.068-6.197-9.309-12.922-24.216-19.988-6.55-3.105-22.491-7.243-35.353-8.185a75.995 75.995 0 0 0-4.674-.2zM256 151.77a49.262 49.262 0 0 1-6.434 7.138c-.508.466-1.035.926-1.566 1.383v17.15a160.265 160.265 0 0 1 8.008 3.92 163.653 163.653 0 0 1 7.992-3.92v-17.15a68.078 68.078 0 0 1-1.566-1.383A49.264 49.264 0 0 1 256 151.77zm-37.537 83.896c-1.594 3.4-2.463 6.61-2.463 9.477 0 4.833 3.03 10.165 9.322 16.015 6.292 5.85 15.368 11.666 24.686 17.06 9.318 5.395 18.832 10.38 26.472 15.339 3.82 2.48 7.189 4.92 9.995 7.81 2.806 2.89 5.525 6.609 5.525 11.776 0 4.25-2.151 8.289-4.693 10.804-2.543 2.516-5.357 4.063-8.274 5.467-2.293 1.104-4.71 2.104-7.16 3.098 6.558 4.82 12.595 10.053 17.467 15.232 2.72-1.247 5.468-2.497 8.181-3.807 6.982-3.37 13.564-7.126 17.93-11.242 4.367-4.115 6.549-7.97 6.549-13.552 0-9.945-3.598-17.446-9.586-24.297-5.988-6.852-14.492-12.712-23.363-17.746-8.87-5.035-17.995-9.213-25.438-13.438-3.721-2.112-7.045-4.194-9.908-6.88-.146-.138-.29-.291-.435-.434-10.483-7.04-23.998-15.262-34.807-20.682zm2.406 42.647c-8.107 4.759-15.766 10.22-21.283 16.533-5.988 6.85-9.586 14.352-9.586 24.297 0 5.583 2.182 9.437 6.549 13.552 4.366 4.116 10.948 7.872 17.93 11.243 2.64 1.274 5.3 2.493 7.94 3.708 19.051 9.787 36.7 19.107 53.985 23.813 4.034-1.373 4.848-5.133 3.936-9.729-14.856-14.943-29.808-23.803-47.373-32.316-2.917-1.404-5.731-2.951-8.274-5.467-2.542-2.515-4.693-6.554-4.693-10.804 0-5.167 2.72-8.885 5.525-11.776 2.806-2.89 6.174-5.33 9.995-7.81a158.19 158.19 0 0 1 4.373-2.721c-6.53-3.83-13.092-7.935-19.024-12.524zM256 299.998c-2.85 1.615-5.56 3.17-8 4.64v13.602c.75.346 1.504.714 2.258 1.082 1.845.76 3.75 1.558 5.74 2.461 2.81-1.274 5.521-2.389 8.002-3.388v-13.756a336.594 336.594 0 0 0-8-4.641zm-17.795 73.816c.588 4.245 2.564 8.12 5.824 12.147 3.933 4.857 9.67 9.59 15.723 14.059 6.053 4.469 12.365 8.641 17.643 13.166 5.277 4.524 10.605 9.79 10.605 17.957 0 9.9-5.82 17.934-12.969 27-7.148 9.065-16.35 18.536-25.51 27.273-2.047 1.953-3.986 3.667-6.005 5.53 8.23-4.31 16.77-9.533 24.816-15.385C290.729 459.27 308 437.905 308 423.143c0-4.467-1.67-8.043-4.982-11.957-3.312-3.915-8.27-7.772-13.592-11.48-5.322-3.71-10.947-7.234-15.762-11.368-.558-.48-1.115-.98-1.666-1.494-12.987-3.453-23.893-8.06-33.793-13.03zm-7.873 20.582c-2.574 1.786-5.2 3.527-7.758 5.31-5.321 3.708-10.28 7.565-13.592 11.48-3.311 3.914-4.982 7.49-4.982 11.957 0 7.314 3.964 16.342 11.316 25.61 6.386 8.05 15.135 16.148 24.827 23.481a384.732 384.732 0 0 0 5.076-4.976c-2.796-3.028-5.456-6.053-7.871-9.033C230.003 449.162 224 441.16 224 431.143c0-8.167 5.328-13.433 10.605-17.957 2.485-2.13 5.21-4.181 8.018-6.223-3.918-3.258-7.718-6.846-11.027-10.934-.431-.532-.85-1.079-1.264-1.633zm25.662 22.666c-2.896 2.081-5.66 4.071-7.994 5.872v22.921c.565.76 1.152 1.525 1.777 2.297 1.95 2.407 4.133 4.909 6.467 7.457 2.24-2.519 4.349-4.995 6.225-7.375.536-.68 1.04-1.353 1.531-2.023v-23.277c-2.346-1.81-5.09-3.778-8.006-5.872z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caesar;

impl IconShape for Caesar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.234 33.64a94.945 94.945 0 0 0-10.957.608C190.895 41.376 131.82 93.06 100.975 152.756c.118-.095.234-.193.353-.287l7.463-5.899 5.477 7.778c1.554 2.208 2.872 4.663 4.033 7.34 7.928-17.487 21.63-34.571 40.363-46.084l7.61-4.676 4.734 7.572c2.502 4.003 4.31 8.702 5.713 14.016 9.889-16.645 25.602-32.252 45.758-41.608l8.101-3.76 3.822 8.073c.153.323.298.652.442.982 9.782-13.132 23.275-24.935 39.728-32.572l8.102-3.762 3.822 8.072c1.356 2.864 2.351 6.017 3.104 9.416 8.43-10.724 19.573-20.548 32.812-27.744-18.601-9.895-38.4-15.936-58.178-15.972zm140.498 19.813c-21.58 4.89-40.88 18.458-50.029 31.264-5.337 7.47-6.704 14.015-5.808 17.388.895 3.374 3.457 6.667 14.306 8.53 3.785.65 8.053-.756 13.291-5.094 5.239-4.338 10.728-11.384 15.358-19.36 4.629-7.974 8.462-16.865 10.949-24.75.915-2.9 1.414-5.45 1.933-7.978zm-71.066 10.74c-19.686 10.104-35.007 28.047-40.684 42.725-1.002 2.592-1.669 5.007-2.07 7.205-.134 1.34-.288 2.68-.46 4.022-.123 3.113.378 5.538 1.23 7.058 1.706 3.045 5.005 5.597 15.976 4.703 3.827-.312 7.612-2.734 11.608-8.238 3.995-5.505 7.56-13.695 10.06-22.57 2.5-8.876 4-18.44 4.45-26.696.164-3.037.016-5.63-.11-8.209zm-61.148 21.221c-15.32 10.048-27.077 25.116-32.995 38.63.178 8.541-.428 17.78-1.966 26.833-.003.02-.008.039-.012.059 2.075 2.643 5.784 4.535 16.084 2.58 3.772-.716 7.28-3.525 10.668-9.422 3.388-5.898 6.065-14.421 7.61-23.512 1.544-9.09 2.021-18.762 1.591-27.018-.158-3.037-.581-5.6-.98-8.15zm-52.096 27.28c-18.503 12.135-31.833 31.6-35.92 46.798-2.384 8.867-1.373 15.474.646 18.32 2.02 2.847 5.57 5.036 16.385 2.983 3.773-.716 7.28-3.527 10.668-9.424 3.389-5.897 6.065-14.419 7.61-23.51 1.544-9.09 2.021-18.761 1.591-27.017-.158-3.038-.581-5.6-.98-8.15zm172.715 1.915a64.957 64.957 0 0 1-5.164 4.795c-7.692 6.37-17.404 10.759-27.819 8.971a53.37 53.37 0 0 1-5.308-1.19c-.211.553-.393 1.083-.545 1.585 9.883 3.882 19.338 8.95 27.293 14.312.488.329.951.657 1.427.986 14.312-1.453 31.422-7.418 45.325-17.963-2.27-1.23-4.543-2.485-7.352-3.652-7.635-3.17-16.909-5.96-25.992-7.549-.624-.109-1.244-.198-1.865-.295zm-233.983 22.87c-16.968 14.203-27.946 35.087-30.238 50.658-1.337 9.083.435 15.528 2.772 18.12 2.336 2.593 6.118 4.353 16.62 1.057 3.664-1.15 6.82-4.348 9.5-10.6 2.68-6.25 4.35-15.025 4.827-24.234.477-9.208-.174-18.869-1.56-27.02-.511-2.998-1.228-5.495-1.92-7.981zm167.551 2.595c-4.894 4.226-10.774 7.219-17.586 7.774-.776.063-1.542.098-2.305.129-4.164 5.764-3.952 9.104-2.789 11.761 1.4 3.198 6.544 7.467 15.371 9.99 15.132 4.326 38.685 2.928 58.618-6.681-1.981-1.656-3.96-3.338-6.483-5.04-6.855-4.62-15.39-9.193-23.978-12.552-7.288-2.85-14.632-4.777-20.848-5.38zm86.656 15.182a106.836 106.836 0 0 1-13.511 4.318c.112.164.23.326.34.49l4.949 7.434-7.397 5.006c-20.412 13.818-44.598 18.985-65.494 17.557 1.179 1.786 2.212 3.592 3.055 5.435l3.713 8.123-8.094 3.776c-18.069 8.427-37.682 10.878-55.32 9.015 3.324 5.162 5.82 10.156 7.115 15.174l2.232 8.648-8.63 2.3c-16.504 4.394-33.356 4.273-48.56 1.052 2.399 4.105 4.226 8.128 5.268 12.166l2.233 8.648-8.631 2.3c-17.359 4.621-35.103 4.246-50.908.525 3.2 5.494 5.503 10.687 6.41 16.017l1.59 9.344-9.414 1.103c-29.326 3.442-58.181-6.708-75.637-21.18-4.087-3.387-7.717-7.113-10.414-11.218 17.989 59.19 62.717 123.576 62.717 123.576l-35.479 68.797c49.496 25.554 105.19 38.708 170.56 32.514-1.767-32.096 16.473-55.814 33.022-74.514-14.59-.975-29.987-2.226-44.846-5.064-16.51-3.155-32.54-8.341-46.003-18.032-13.464-9.69-24.033-24.105-28.956-43.7l17.458-4.387c3.99 15.88 11.622 26 22.011 33.478 10.39 7.478 23.863 12.094 38.87 14.961 25.516 4.875 54.75 4.428 79.554 7.643 26.748-2.02 57.07 2.601 63.441-8.596 15.568-27.36 5.054-63.93-3.44-92.492 18.463-.61 28.178-1.69 38.735-4.967-8.607-34.5-21.86-54.883-43.703-73.5 1.629-20.453 4.194-42.05 1.164-61.75zm-143.705 10.031c-3.632 2.872-7.843 4.998-12.672 5.914-5.147.977-10.06 1.154-14.574.598-2.391 3.278-2.569 5.739-2.08 7.879 3.149 2.201 6.213 4.6 9.176 7.135a140.092 140.092 0 0 1 7.195 6.628c14.405 5.749 36.32 7.451 56.233 1.496-1.694-1.947-3.382-3.92-5.604-5.998-6.039-5.646-13.746-11.51-21.695-16.183-5.387-3.167-10.897-5.746-15.979-7.469zm-165.892 9.828C91.6 189.035 84.35 207.673 83.58 221.33c-.47 8.343 1.653 14.076 3.498 15.916 1.846 1.84 4.091 3.065 12.469-.613 2.48-1.089 4.922-4.003 6.73-9.848 1.808-5.845 2.59-13.96 2.32-22.369-.268-8.409-1.532-17.143-3.308-24.436-.448-1.84-1.006-3.23-1.525-4.865zm117.484 14.098c-4.367 4.56-9.797 8.02-16.357 9.266-4.519.857-8.861 1.105-12.909.779.005.14.01.28.02.418.17 2.194 1.611 5.283 4.533 8.59 1.106.886 2.201 1.789 3.281 2.713a137.466 137.466 0 0 1 3.963 3.544c12.956 8.865 35.325 15.08 57.012 12.59-1.326-2.214-2.642-4.454-4.465-6.888-4.955-6.618-11.512-13.74-18.52-19.735-5.473-4.682-11.249-8.637-16.558-11.277zm-51.684 23.215c-3.888 5.477-9.097 9.938-15.865 12.062-3.643 1.144-7.216 1.857-10.646 2.15 1.39 3.355 4.753 7.65 10.494 11.69 12.87 9.058 35.571 15.474 57.555 12.95-1.327-2.215-2.642-4.455-4.465-6.89-4.956-6.617-11.515-13.74-18.522-19.734-6.165-5.274-12.72-9.645-18.55-12.228zm-48.607 26.136c-2.982 6.2-7.496 11.62-14.174 14.551-.504.222-1.01.415-1.515.615a34.936 34.936 0 0 0 4.89 4.92c10.574 8.766 29.946 16.537 49.654 17.452-.717-1.297-1.208-2.436-2.085-3.8-3.937-6.115-9.315-12.875-15.207-18.734-5.892-5.858-12.349-10.798-18.014-13.533a32.419 32.419 0 0 0-3.549-1.47zm-48.676 9.061l-33.43 21.395 9.704 15.162 38.591-24.698a30.468 30.468 0 0 1-1.767-3.634c-4.235-.94-8.022-2.876-11.012-5.858a26.53 26.53 0 0 1-2.086-2.367z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cage;

impl IconShape for Cage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119 75v64H55v346h402V139h-64V75H128zm18 18h46v46h-46zm64 0h46v46h-46zm64 0h46v46h-46zm64 0h46v46h-46zM73 157h46v18H73zm64 0h46v18h-46zm64 0h46v18h-46zm64 0h46v18h-46zm64 0h46v18h-46zm64 0h46v18h-46zM73 193h46v46H73zm64 0h46v46h-46zm64 0h46v46h-46zm64 0h46v46h-46zm64 0h46v46h-46zm64 0h46v46h-46zM73 257h46v46H73zm64 0h46v46h-46zm64 0h46v46h-46zm70.508 0h96.984l-26.287 46h20.73L375 281.889v156.22L362.937 417h-20.732l26.287 50h-96.984l26.287-50h-20.733L265 438.11V281.888L277.064 303h20.73zM393 257h46v46h-46zM73 321h46v46H73zm64 0h46v46h-46zm64 0h46v46h-46zm88 0v78h62v-78zm104 0h46v46h-46zm-73 10.043c7.732 0 14 6.268 14 14a14 14 0 0 1-5.19 10.87l5.19 31.13h-28l5.19-31.135a14 14 0 0 1-5.19-10.865c0-7.732 6.268-14 14-14zM73 385h46v46H73zm64 0h46v46h-46zm64 0h46v46h-46zm192 0h46v46h-46zM73 449h46v18H73zm64 0h46v18h-46zm64 0h46v18h-46zm192 0h46v18h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Calavera;

impl IconShape for Calavera {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32c-35.999 0-82.121 10.125-115.59 33.22C152.646 88.628 172.317 108.318 192 128c-35.39 0-60.98-14.69-79.506-35.928C102.204 106.462 96 123.68 96 144c0 24.317.004 76.342 14.045 99.928C101.867 255.122 96 268.628 96 288c0 10.91 14.886 36.693 34.5 51.996L144 448c0 12.836 41.19 35.954 82.266 44.602L256 448l29.734 44.602C326.81 483.954 368 460.836 368 448l13.691-109.527C402.07 323.033 416 298.555 416 288c0-19.372-5.867-32.878-14.045-44.072C415.996 220.342 416 168.317 416 144c0-20.321-6.204-37.539-16.494-51.928C380.98 113.31 355.39 128 320 128c19.683-19.683 39.354-39.373 51.59-62.78C338.12 42.126 291.999 32 256 32zm0 16a24 48 0 0 1 24 48 24 48 0 0 1-24 48 24 48 0 0 1-24-48 24 48 0 0 1 24-48zm-71.787 104.72c.787.001 1.577.013 2.367.038 22.134.682 45.34 10.898 60.908 34.25l-14.976 9.984c-14.208-21.312-34.44-27.78-53.698-26.03-19.257 1.752-36.643 12.82-42.765 25.063l-16.098-8.05c9.878-19.757 32.492-32.689 57.235-34.938a77.206 77.206 0 0 1 7.027-.316zm143.574 0a77.253 77.253 0 0 1 7.027.317c24.743 2.25 47.357 15.181 57.235 34.938l-16.098 8.05c-6.122-12.243-23.508-23.311-42.765-25.062-19.258-1.75-39.49 4.717-53.698 26.03l-14.976-9.985c15.568-23.352 38.774-33.568 60.908-34.25a77.99 77.99 0 0 1 2.367-.037zM184 192a56 48 0 0 1 56 48 56 48 0 0 1-56 48 56 48 0 0 1-56-48 56 48 0 0 1 56-48zm144 0a56 48 0 0 1 56 48 56 48 0 0 1-56 48 56 48 0 0 1-56-48 56 48 0 0 1 56-48zm-144.688 9.654c-5.775 11.55-8.207 16.432-7.312 22.346-3.549-4.815-8.722-6.545-20.973-10.629 4.084 12.251 5.816 17.422 10.631 20.97-5.914-.894-10.795 1.538-22.345 7.313 11.55 5.775 16.431 8.206 22.345 7.31-4.815 3.55-6.547 8.722-10.63 20.974 12.25-4.084 17.423-5.814 20.972-10.63-.895 5.914 1.537 10.796 7.313 22.346 5.775-11.55 8.205-16.432 7.31-22.345 3.549 4.815 8.722 6.545 20.973 10.628-4.084-12.25-5.816-17.423-10.631-20.972 5.914.895 10.797-1.536 22.347-7.31-11.55-5.776-16.433-8.208-22.347-7.313 4.815-3.549 6.547-8.72 10.63-20.97-12.25 4.083-17.423 5.813-20.972 10.628.895-5.914-1.535-10.795-7.31-22.346zm145.375 0c-5.775 11.55-8.205 16.432-7.31 22.346-3.549-4.815-8.722-6.545-20.973-10.629 4.084 12.251 5.816 17.422 10.631 20.97-5.914-.894-10.797 1.538-22.348 7.313 11.55 5.775 16.434 8.206 22.348 7.31-4.815 3.55-6.547 8.722-10.63 20.974 12.25-4.084 17.423-5.814 20.972-10.63-.895 5.914 1.535 10.796 7.31 22.346 5.776-11.55 8.208-16.432 7.313-22.345 3.549 4.815 8.722 6.545 20.973 10.628-4.084-12.25-5.816-17.423-10.631-20.972 5.914.895 10.795-1.536 22.346-7.31-11.55-5.776-16.432-8.208-22.346-7.313 4.815-3.549 6.547-8.72 10.63-20.97-12.25 4.083-17.423 5.813-20.972 10.628.895-5.914-1.537-10.795-7.313-22.346zM248 262v64h-32l32-64zm16 0l32 64h-32v-64zm-8 75c13.505 0 25.069 5.325 35.455 9.57 10.386 4.246 19.411 7.38 27.563 6.485 2.823-.31 10.763-3.706 16.863-7.297 6.1-3.591 10.814-7.028 10.814-7.028l10.61 14.54s-5.357 3.914-12.293 7.998c-6.937 4.083-14.999 8.686-24.03 9.677-13.707 1.505-25.686-3.36-36.337-7.715-10.652-4.354-20.16-8.23-28.645-8.23s-17.993 3.876-28.645 8.23c-10.651 4.355-22.63 9.22-36.337 7.715-9.031-.991-17.094-5.594-24.03-9.677-6.936-4.084-12.293-7.998-12.293-7.998l10.61-14.54s4.714 3.437 10.814 7.028c6.1 3.591 14.04 6.987 16.863 7.297 8.152.894 17.177-2.239 27.563-6.485C230.93 342.325 242.495 337 256 337zm-73 43h18v13h14v-13h18v13h14v-13h18v13h14v-13h18v13h14v-13h18v13h13v18h-13v17h-18v-17h-14v17h-18v-17h-14v17h-18v-17h-14v17h-18v-17h-14v17h-18v-17h-13v-18h13v-13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Calculator;

impl IconShape for Calculator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95 25v462h322V25H95zm193 18h80v18h-80V43zM114 83h284v84H114V83zm22 46v18h88v-18h-88zm-22 54h58v58h-58v-58zm76 0h58v58h-58v-58zm74 0h58v58h-58v-58zm76 0h58v58h-58v-58zm-208 18v22h22v-22h-22zm76 0v22h22v-22h-22zm74 0v22h22v-22h-22zm76 0v22h22v-22h-22zm-244 56h58v58h-58v-58zm76 0h58v58h-58v-58zm74 0h58v58h-58v-58zm76 0h58v58h-58v-58zm-208 18v22h22v-22h-22zm76 0v22h22v-22h-22zm74 0v22h22v-22h-22zm76 0v22h22v-22h-22zm-244 56h58v58h-58v-58zm76 0h58v58h-58v-58zm74 0h58v58h-58v-58zm76 0h58v132h-58V331zm-208 18v22h22v-22h-22zm76 0v22h22v-22h-22zm74 0v22h22v-22h-22zm76 0v96h22v-96h-22zm-244 56h58v58h-58v-58zm76 0h58v58h-58v-58zm74 0h58v58h-58v-58zm-132 18v22h22v-22h-22zm76 0v22h22v-22h-22zm74 0v22h22v-22h-22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Calendar;

impl IconShape for Calendar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119 31v66h18V31h-18zm256 0v66h18V31h-18zM73 89v30h366V89h-28v26h-54V89H155v26h-54V89H73zm0 48v302h366V137H73zm110 14h18v32h46v-32h18v32h46v-32h18v32h46v-32h18v32h32v18h-32v46h32v18h-32v46h32v18h-32v46h32v18H265v32h-18v-32h-46v32h-18v-32h-46v32h-18v-32H87v-18h32v-46H87v-18h32v-46H87v-18h32v-46H87v-18h96v-32zm-46 50v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm-192 64v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v13.27c2.545-5.936 7.334-10.725 13.27-13.27H265zm32.73 0c5.936 2.545 10.725 7.334 13.27 13.27V265h-13.27zm31.27 0v46h46v-46h-46zm-41 16c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zm-23 16.73V311h13.27c-5.936-2.545-10.725-7.334-13.27-13.27zm46 0c-2.545 5.936-7.334 10.725-13.27 13.27H311v-13.27zM137 329v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CalendarHalfYear;

impl IconShape for CalendarHalfYear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 57v30h62V57H25zm160 0v62h62V57h-62zm80 0v14h62V57h-62zm80 0v39h62V57h-62zm80 0v78h62V57h-62zM105 73v78h62V73h-62zm160 16v78h62V89h-62zM25 105v78h62v-78H25zm320 9v78h62v-78h-62zm-160 23v78h62v-78h-62zm240 16v78h62v-78h-62zm-320 16v78h62v-78h-62zm160 16v78h62v-78h-62zM25 201v78h62v-78H25zm320 9v78h62v-78h-62zm-160 23v78h62v-78h-62zm240 16v78h62v-78h-62zm-320 16v78h62v-78h-62zm160 16v78h62v-78h-62zM25 297v78h62v-78H25zm320 9v78h62v-78h-62zm-160 23v78h62v-78h-62zm240 16v78h62v-78h-62zm-320 16v94h62v-94h-62zm160 16v78h62v-78h-62zM25 393v78h62v-78H25zm320 9v69h62v-69h-62zm-160 23v46h62v-46h-62zm240 16v14h62v-14h-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caltrops;

impl IconShape for Caltrops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.244 19.566l-8.69 4.383-8.265 95.438-42.533 18.619.504 10.965 32.906-7.02-64.55 96.463 15.677-3.02 75.582-91.835 71.578 22.966 12.79-8.94-80.325-37.44-4.674-100.579zm262.844 73.059l-1.326 133.818L264.54 280.49l5.178 9.428 124.004-27.285 69.574 111.066 12.47-1.574L419.2 253.283l63.684-4.54.982-9.554-72.344-16.646L391.55 94.219l-9.461-1.594zm-177.994 99.326l-19.065 2.504-14.972 134.44-102.29 18.001 14.393 16.79 74.115-4.155L85.844 488.25l17.611 1.525 82.639-120.525 132.7 34.564 18.151-9.138-137.863-62.242 5.012-140.483z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CamargueCross;

impl IconShape for CamargueCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.363 32.256l-12.726 12.726L247 74.348v51.271h-67.271l-29.366-29.363-12.726 12.726 25.636 25.637-25.636 25.637 12.726 12.726 29.366-29.363H247v79.213c-17.269-16.404-34.965-23.523-50.857-22.102-2.99.268-5.916.838-8.762 1.704C164.608 209.36 151 233.76 151 262.619c0 29 22.182 53.882 44.365 78.082 21.702 23.675 44.225 47.136 51.617 67.416-.184 13.99-2.919 22.791-6.336 28.186-3.538 5.586-7.751 8.128-13.119 9.662-5.367 1.533-11.853 1.643-18.113 1.18-4.385-.325-8.464-.929-12.41-1.27-12.532-5.06-22.06-10.59-29.479-16.36-26.256-24.219-36.388-52.882-52.545-85.812l-9.482 61.985 16.225-7.522c7.592 15.066 16.568 31.414 34.752 45.557 28.045 21.169 65.905 30.32 98.045 35.773l1.48.248 1.48-.248c35.531-6.743 69.787-14.072 98.045-35.773 18.184-14.143 27.16-30.491 34.752-45.557l16.225 7.522-9.482-61.985c-14.464 29.13-30.782 68.45-52.545 85.813-7.42 5.77-16.947 11.3-29.479 16.359-3.946.341-8.025.945-12.41 1.27-6.26.463-12.746.353-18.113-1.18-5.368-1.534-9.581-4.076-13.12-9.662-3.416-5.395-6.15-14.195-6.335-28.186 7.392-20.28 29.915-43.741 51.617-67.416C338.818 316.501 361 291.62 361 262.62c0-28.859-13.608-53.259-36.38-60.185a43.324 43.324 0 0 0-8.763-1.704c-15.892-1.421-33.588 5.698-50.857 22.102v-79.213h67.271l29.366 29.363 12.726-12.726-25.636-25.637 25.636-25.637-12.726-12.726-29.366 29.363H265V74.348l29.363-29.366-12.726-12.726L256 57.893zm-29.597 186.29c12.329.199 28.452 8.274 46.234 31.126v122.402c-11.226-15.039-25.343-29.33-38.365-43.537C186.818 304.737 169 281.62 169 262.62c0-23.342 10.392-38.941 23.62-42.965 2.48-.754 5.205-1.154 8.146-1.107zm110.468 0c2.941-.046 5.667.354 8.147 1.108C332.608 223.678 343 239.277 343 262.62c0 19-17.818 42.118-39.635 65.918-13.022 14.207-27.139 28.498-38.365 43.537V249.672c17.782-22.852 33.905-30.927 46.234-31.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cambodia;

impl IconShape for Cambodia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.823 176.292c52.634-142.707 221.115-88.048 332.738-44.2l-13.409-41.716c41.185-20.775 48.6-23.357 81.943 3.973l59.098-35.757-15.892 52.642c44.039 50.132 22.324 108.155 23.838 163.39l-155.167 71.975 37.964 75.522c-21.918 3.053-62.448-14.29-101.311-8.443l-11.905 37.608-119.7 2.122C50.901 387.048 33.051 278.67 19.822 176.292z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Camel;

impl IconShape for Camel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M420.8 26.91c-11.4.76-23.7 4.65-33.6 10.29-5.3-4.86-13.5-10.52-19.3-6.11-12.5 9.46-2.4 20.76 6.8 27.94 5.5 35.86 20.7 93.17-9.8 105.97C317 183.1 308.4 36.14 241 37.94c-40.4 1.08-22.6 59.65-62.6 61.65-29.5 1.51-27.3-54.51-51.9-55.36-25.9-.9-44.62 18.9-57.71 86.97-25.63-.1-35.73 20.1-47.42 59.2-11.686 39-3 115.6 1.2 162.4l7.87-76.3c2.43 12 6.19 24.1 11.91 36.7 3.91 18.7 5.44 37.4 5.81 56-8.2 10.2-8.8 26.2-.42 35.5-.92 26.8-2.67 53.5-1.68 80.3 34.48.5 66.04-1 99.54 0 1.8-11.9-14.9-20.4-34.3-30.3.3-13.7.2-30.5 0-47.5 8.8-10.2 9-28.1-.2-36.8.1-21.3.8-38.6 3.3-43.9 8-17.1 20.6-31.9 29.1-47.2 28.7 5.3 59.7 2.9 91.9-4.7l.7 85.5c-7.7 11.3-8 27.7.3 37.8 4.7 29 .6 58.1.8 87.1h58c2.3-15-22.5-23.1-34.6-30.1 0-22.1-3.9-38.8-.4-60.3 5-9.9 5.3-21.5.4-30.8.9-33 3.3-66 10.7-99 1.6-.6 7.9-3.7 9.3-5.3l10.9 98.4c-5.6 11.9-4.4 27.3 4 36.7 6.6 30.1 4.5 59.5 7.9 89.6l61.2.8c.3-12.3-29.1-20-40.3-25.5-6.4-21.4-5.7-43.1-6.7-64.9 8-12.1 7.6-28.9-1.1-39.5.5-38.3 5.5-76.8 18.4-114.6 106.6-5.9 96.2-72 99.3-133.2 1.4-27.24 55.5 1.7 60-11.61 2.4-6.92 3.6-13.89 0-21.84-8.6-19.29-23.9-20.32-36.7-20.63-12.3-7.36-22.6-25.96-35.5-26.31zm6.7 19.58c4.9 2.64 3.8 7.47 2.7 10.11-6.6 1.96-16.3-1.08-20.8-4.59 3.9-2.99 12.2-5.39 18.1-5.52zM80.6 302.3c3.05 7.8 5.74 15.6 7.35 23.2 3.22 15.3 4.91 30.7 5.72 46.2-7.48 10.3-7.78 26.1.59 35-.25 21.6-1.3 43.2-1.52 64.7-4.54-7.5-12.92-14-24.94-17.1.16-14.4-.44-32.4-1.08-50.6 6.91-10.2 7.01-25.6-1.11-34.3-.67-27-.34-49.4 3.78-54.1 3.95-4.5 7.67-8.8 11.21-13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CamelHead;

impl IconShape for CamelHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M34.26 54.05c-3.674-.052-7.343.22-11.016.766.984 18.973 2.226 39.808 8.106 56.516 6.682 18.99 17.358 32.218 42.87 35.504l3.964.51 19.552 28.15c-11.674 19.768-24.757 40.383-27.453 64.24C66.53 277.26 94.98 310.503 94.39 350.273 93.877 384.61 55.533 408.33 18 419.865V494h191.1c5.815-59.63 3.997-142.295 46.45-193.568-.098-.082-.193-.158-.292-.24-36.887 13.005-67.608 15.536-91.19 5.884-7.885-3.227-14.73-7.882-20.49-13.763-9.234-16.563-10.896-32.02-1.967-42.104 4.063 20.628 13.888 32.91 29.277 39.208 35.125 6.58 61.317.294 87.974-9.633 37.367 28.99 77.208 43.628 120.232 47.863 3.3 19.667 13.757 35.763 30.412 40.163 14.11 3.496 31.643.26 43.44-5.744 17.47-8.89 27.032-33.07 17.07-59.71-48.152-2.008-100.698-13.49-133.68-42.907 16.136 3.43 33.54 6.376 47.3 8.034 26.324 12.59 51.317 13.888 90.546 17.073 8.062-5.743 13.12-10.632 15.63-14.584 2.774-4.368 3.313-7.532 2.51-12.754-3.09-11.252-11.807-15.73-21.478-14.93-15.433-39.633-39.394-82.483-70.715-97.464-36.225-8.937-73.532 1.93-105.856 11.54 3.448-14.18-1.07-18.407-6.27-28.366-19.06-19.503-39.63-11.05-57.38-18.498-14.267-8.968-15.308-35.744-28.94-42.57-11.082-4.523-26.49-4.93-40.848-1.68-14.36 3.25-27.51 10.208-34.336 17.787l-4.785 5.312-6.257-3.46C86.786 69.037 60.437 54.407 34.26 54.048zm16.054 24.41C63.134 80.113 76.65 87.74 89.31 96.5c12.66 8.757 23.642 18.164 29.495 27.225l-15.12 9.767c-2.81-4.348-13.225-14.31-24.617-22.19-11.392-7.88-24.586-14.155-31.052-14.987zm183.827 80.66c6.545.052 14.645 1.008 28.33 2.614 4.758 1.464 4.267 10.61-2.6 15.733-26.57 9.943-38.235 14.125-64.15-9.88 20.924-6.123 27.513-8.55 38.42-8.466zm172.116 24.28c20.81 7.5 30.964 29.094 38.154 47.196l-16.75 6.59c-4.683-10.115-13.924-33.156-25.414-36.24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CampCookingPot;

impl IconShape for CampCookingPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.7 16.73s-20.6 14.12-22 25.18c-1.4 11.33 17.6 19.24 15.6 30.48-1.3 7.43-16.6 15.38-16.6 15.38s38.7-3.36 42.3-18.3c2.9-11.82-19.8-16.61-23-28.35-2.1-7.94 3.7-24.39 3.7-24.39zm214.4 4.89s-24.8 13.58-24.9 25.45c-.1 7.24 14.4 8.67 14.8 15.9.5 8.56-15.3 20.68-15.3 20.68s33.6-3.81 38.1-16.97c2.7-7.77-9.4-13.81-11.6-21.73-2.1-7.5-1.1-23.33-1.1-23.33zm-106.9.26s-26.9 13.75-24.9 25.45c1.4 7.93 20.6 2.62 21.7 10.6 1.7 13.01-29.6 25.98-29.6 25.98s56.5-1.44 58.8-22.27c1.1-9.88-20-7.79-24.9-16.43-3.9-6.77-1.1-23.33-1.1-23.33zM48 105.6v18h416v-18zm16 37c-14.48 86.9 16.9 138.1 58.6 168.2-3.6-24.8-14.1-49.1-35.06-72.2 39.96 10.5 71.36 48.8 85.36 87.2 2.3-18.8 2.3-27.5 19.5-44.2-3.1 24.8 11.2 26.5 21.2 23.4 25.3-7.9 35.6-39.5 10.6-78.9 47.6 22.7 48.3 48.4 56.3 83.7-2.4-33.2 24.3-46.5 43.7-34-45.1 22.7-8.2 42.2 6.9 47 40 12.8 70-46.3 87.2-91 4.7 19.8.8 39.7-6.5 59.5C441.4 260 459.7 213 448 142.6zm184.3 175.2L75 417.5c2.7 18.4 9 34.4 18.8 48.5l92-44.1-78.7 59.9c3.4 3.4 7.1 6.6 11 9.7l74.7-42.9c0-.7-.1-1.5-.1-2.2 0-37.2 30.5-67.6 67.8-67.6 10.6 0 20.6 2.4 29.5 6.7-2.4-13.4-7.3-27.1-14.8-39.2l-94.9 40.1 82.5-56.5c-4.4-4.5-9.2-8.6-14.5-12.1zm58.9 57.6c1.6 7.2 2.6 14.4 3 21.4l.2 3.9c11.1 12 17.9 28.1 17.9 45.7 0 7.8-1.3 15.3-3.8 22.2l91.4 24.4c4.6-6.3 8.6-12.8 11.8-19.4l-63.1-24.7 70.1 6.9c.9-3 1.6-5.9 2.2-8.9l-97.1-34.3 99.2 15.5c.2-5.8-.1-11.7-.8-17.7zm-46.7 22.1c-27.2 0-49.1 21.8-49.1 48.9 0 27.1 21.9 48.9 49.1 48.9 27.3 0 49.2-21.8 49.2-48.9 0-27.1-21.9-48.9-49.2-48.9zm-4.9 11.8c43.8 0 58.4 71.6 0 71.6 26.6-23.1 29.8-46.9 0-71.6zm.2 9.8c-21.6 17.9-19.3 35.2 0 52-42.4 0-31.8-52 0-52z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CampingTent;

impl IconShape for CampingTent {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M361.155 91.245l-18 .193.42 38.98c-45.773 13.285-108.533 19.738-166.474 23.573 35.097 96.284 99.357 173.77 157.845 257.13 20.718-19.655 51.11-31.983 83.46-36.01-20.8-18.109-36.634-27.966-58.833-70.438 31.27 37.085 52.579 48.467 77.623 62.006 3.263-13.094 8.938-24.638 18.721-32.674 8.667-7.12 20.026-10.654 33.53-10.344-46.874-59.763-101.67-117.054-127.83-189.435l-.462-42.98zM163.25 102.92l-17.998.244s.25 18.34.56 36.97c.156 9.316.325 18.703.489 25.929.06 2.636.117 4.58.174 6.542-34.378 83.733-69.154 160.993-123.92 233.442 33.635-1.387 66.326-1.203 98.552-.041 22.263-62.617 23.346-134.855 35.627-202.006 11.417 68.562 10.566 139.445 33.483 205.83 42.962 3.082 85.69 7.198 129.35 10.926-55.67-79.151-118.213-155.037-155.118-249.365-.05-1.782-.1-3.396-.152-5.737-.162-7.156-.333-16.523-.488-25.82-.31-18.594-.559-36.914-.559-36.914z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cancer;

impl IconShape for Cancer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M35.16 145.506C75.983 78.28 175.26 30.66 285.294 30.66c73.18 0 138.768 17.16 198.437 60.093l.464 96.793c-80.92-61.71-181.865-90.673-278.885-53.71 17.84 19.422 28.756 45.353 28.756 73.833 0 60.293-48.87 109.168-109.16 109.168-60.288 0-109.158-48.875-109.158-109.17-.005-23.08 7.168-44.522 19.413-62.162zm89.45 83.374c12.396 0 22.445-10.054 22.445-22.455 0-12.402-10.05-22.456-22.445-22.456-12.396 0-22.456 10.053-22.456 22.455 0 12.4 10.065 22.455 22.456 22.455zm260.892 47.792c-12.402 0-22.45 10.054-22.45 22.456 0 12.4 10.048 22.45 22.45 22.45 12.4 0 22.45-10.05 22.45-22.45 0-12.402-10.054-22.456-22.45-22.456zm89.45 83.374c-40.822 67.226-140.098 114.846-250.13 114.846-73.183 0-138.766-17.16-198.436-60.092l-.463-96.788c80.916 61.704 181.865 90.668 278.88 53.715-17.847-19.428-28.758-45.36-28.758-73.838 0-60.29 48.87-109.16 109.16-109.16s109.164 48.87 109.164 109.16c.004 23.073-7.17 44.51-19.42 62.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Candles;

impl IconShape for Candles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M346.166 120.959c5.287 26.437-22.463 28.126-26.338 49.516-.783 4.324 2.793 9.69 7.834 13.943 11.03-6.401 21.556-12.801 27.402-25.756.097 13.073.92 20.39-2.623 31.297 5.333-2.157 10.08-6.19 11.985-11.057 7.383-18.856 1.698-33.54-18.26-57.943zm-163.611 2.023c-21.363 13.165-33.867 38.582-26.338 58.645 1.657 4.417 5.718 7.613 10.545 9.605 8.38-11.958 10.617-28.168 13.261-44.097 3.989 14.592 9.184 28.781 7.565 45.242 6.85-2.286 13.368-7.432 15.334-13.91 5.72-18.853-19.685-28.345-20.367-55.485zM96.74 135.814c-19.958 24.403-35.38 45.633-27.039 68.829 2.187 6.08 7.948 10.77 14.563 13.507.122-9.129 4.439-17.323 7.867-25.714 2.359 9.506 9.671 17.402 18.232 24.322 4.23-2.75 7.71-6.663 9.203-11.063 6.99-20.583-28.113-43.444-22.826-69.88zm167.285 8.526c-19.958 24.402-31.972 44.678-27.04 68.83 1.525 7.47 7.162 15.453 14.165 19.236-1.3-16.011 3.756-29.904 7.659-44.181 2.546 15.337 4.714 30.935 12.351 42.748 7.482-4.333 13.94-11.595 15.692-16.75 6.99-20.583-15.823-42.744-22.827-69.883zm169.104 2.228c-19.958 24.403-35.379 40.432-30.902 63.56 1.305 6.744 7.394 13.195 14.138 15.76-1.621-13.913 3.574-25.908 7.563-38.242 2.487 12.662 4.614 25.533 11.83 35.428 4.74-2.801 8.626-6.759 10.012-10.838 6.99-20.583-17.928-39.23-12.641-65.668zm-253.695 53.914c-6.994-.021-14.281.932-22.057 3.518v235.002h48V204c-8.445-1.85-16.952-3.49-25.943-3.518zm159.4 3.707c-7.046.064-14.183 1.752-21.477 6.28l-.005-.117s-10.216 20.38-8.508 31.324c.99 6.346 5.824 6.058 8.426 3.16v194.166h52.214v-228.48c-10.166-3.026-20.31-6.426-30.65-6.333zM97.572 229.672c-11.386-.081-22.196 2.699-32.836 6.328v16.057c-5.88 9.183-16.389 27.662-13.816 39.033 1.645 7.27 8.429 8.425 13.816 6.453v141.459h60.64V408.92c5.319 1.33 11.807.387 13.411-4.94 2.514-8.348-7.465-21.792-13.41-28.84V236c-9.744-4.47-18.948-6.265-27.805-6.328zm328.662 6.02c-6.99-.017-15.63 2.987-26.97 10.943v192.367h48v-15.766c3.686-.033 9.122-8.008 10.986-19.949 3.35-21.465-9.668-46.281-10.986-48.726V246.635c-5.778-5.907-12.041-10.922-21.03-10.944zm-163.525 5.966c-6.944-.01-14.355 1.734-22.244 5.268v123.178c-4.607 8.986-8.612 19.573-6.916 27.068.968 4.278 3.72 6.432 6.916 7.086v34.744h41.68V246.926c-6.016-3.49-12.492-5.257-19.436-5.268zM16.814 456.998l20.002 30.004h438.368l20.002-30.004H16.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandlestickPhone;

impl IconShape for CandlestickPhone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.9 19.054c-39.32 0-71 31.68-71 71s31.68 71 71 71 71-31.68 71-71-31.68-71-71-71zm0 30c22.537 0 41 18.463 41 41s-18.463 41-41 41-41-18.463-41-41 18.463-41 41-41zM146.5 64.42a37.825 37.825 0 0 0-8.3.83c-29.027 6.162-49.944 25.765-62.878 51.578-12.934 25.812-18.633 57.932-19.178 91.888-1.09 67.913 18.283 143.263 49.238 190.287 10.45 15.873 24.974 24.52 41.96 28.866 6.516 1.665 13.427 2.814 20.827 3.713a57.1 57.1 0 0 1-.27-5.53c0-4.142.572-8.306 1.642-12.485-6.597-.813-12.504-1.8-17.738-3.14-14.19-3.63-23.288-9.02-31.387-21.323-27.905-42.392-47.307-115.925-46.277-180.1.515-32.087 6.1-61.815 17.275-84.115 11.175-22.3 27.19-37.078 50.522-42.03 6.646-1.412 10.758-.17 15.23 3.33 4.473 3.503 8.925 9.938 12.633 18.57 6.386 14.87 10.5 35.725 13.035 56.294h18.133c-2.558-22.05-6.74-45.028-14.63-63.396-4.43-10.315-10.045-19.352-18.073-25.64-6.02-4.714-13.61-7.504-21.764-7.6zm174.4 2.634c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-23 108.977v137.75c.14 3.726 1.945 6.4 6.222 9.108 4.293 2.717 10.887 4.59 17.405 4.78 6.517.19 12.843-1.326 16.732-3.762 3.888-2.436 5.64-4.806 5.64-9.852V176.03a88.702 88.702 0 0 1-23 3.024c-7.95 0-15.66-1.055-23-3.023zm-127.315 3.024c1.274 18.84 3.492 61.976-.802 88.442-2.047 12.612-7.35 26.95-11.577 37.558h69.385c-4.224-10.61-9.528-24.946-11.575-37.558-4.295-26.466-2.076-69.603-.803-88.442h-44.627zm63.315 16v30h46v-30h-46zm-89 126v18h96v-18h-96zm138.736 5.96c-27.298 14.694-51.16 32.19-68.373 49.403-19.15 19.152-29.363 38.137-29.363 49.637 0 13.182 5.877 23.69 16.293 33.068 10.415 9.378 25.387 17.005 41.552 22.393 45.724 15.24 108.584 15.24 154.307 0 16.166-5.388 31.137-13.015 41.553-22.393 10.416-9.377 16.295-19.886 16.295-33.068 0-21-10.155-38.33-29.022-55.31-16.857-15.172-40.628-29.394-68.123-43.57a30.515 30.515 0 0 1-10.94 11.988c-.07.042-.14.08-.208.123 17.422 2.965 33.142 8.79 45.972 16.875 19.12 12.05 32.32 29.83 32.32 50.394 0 20.566-13.2 38.345-32.32 50.395-19.12 12.048-44.638 19.104-72.68 19.104-28.043 0-53.562-7.056-72.682-19.105-19.12-12.05-32.318-29.83-32.318-50.396 0-20.565 13.2-38.345 32.318-50.394 13.266-8.36 29.617-14.31 47.75-17.174a42.995 42.995 0 0 1-1.47-.89c-4.3-2.72-8.18-6.5-10.862-11.08zm37.264 28.04c-24.977 0-47.46 6.487-63.084 16.334-15.626 9.848-23.916 22.32-23.916 35.166 0 12.848 8.29 25.32 23.916 35.166 15.625 9.848 38.107 16.334 63.084 16.334 15.375 0 29.797-2.465 42.263-6.652-4.685-3.872-9.765-8.13-14.255-12.965-3.65-3.93-6.973-8.283-9.022-13.594-2.05-5.31-2.506-11.822-.262-17.904l16.887 6.23c-.707 1.917-.64 3.096.17 5.195.81 2.098 2.68 4.874 5.42 7.824 5.012 5.398 12.588 11.12 19.345 17.054.86-.5 1.714-1.005 2.537-1.524 15.625-9.847 23.918-22.318 23.918-35.166 0-12.847-8.293-25.318-23.918-35.166-15.626-9.847-38.105-16.334-63.082-16.334zm-8.584 11.076h16v18h-16v-18zm38.006 5.383h16v18h-16v-18zm-72.506 3.137h16v18h-16v-18zm-27.98 26.404h16v18h-16v-18zm125.876 0h16v18h-16v-18zm-97.943 19.512h16v18h-16v-18zm34.782 8.762h16v18h-16v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandyCanes;

impl IconShape for CandyCanes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109.963 27.656c-1.013.005-2.027.027-3.04.067-13.518.53-27.035 4.183-39.286 10.425L86.703 75.57c4.186-2.133 8.78-3.46 13.524-3.955l21.203-43.22c-3.796-.507-7.627-.755-11.467-.74zm292.074 0c-3.84-.016-7.67.232-11.467.74l21.203 43.22c4.745.493 9.338 1.82 13.524 3.954l19.066-37.422c-12.25-6.242-25.768-9.896-39.285-10.425-1.014-.04-2.028-.062-3.04-.067zm-247.72 13.028l-22.874 40.742c1.904 1.6 3.724 3.39 5.432 5.39l52.996-.402-5.22-10.246c-8.267-16.226-18.694-27.738-30.332-35.484zm203.365 0c-11.638 7.746-22.065 19.258-30.332 35.484l-5.22 10.246 52.995.402c1.708-2 3.528-3.79 5.432-5.39l-22.875-40.742zM31.54 70.19c-2.985 4.592-5.52 9.46-7.52 14.566-7.667 19.602-7.898 42.69 4.593 68.385l37.258-32.427c-.79-4.082-1.006-8.072-.718-11.904L31.54 70.19zm448.92 0l-33.612 38.62c.288 3.83.073 7.82-.72 11.903l37.26 32.428c12.49-25.695 12.26-48.782 4.59-68.384-1.997-5.105-4.533-9.974-7.517-14.567zM204.4 114.925l-51.427.39 14.53 28.514 51.428-.39-14.53-28.514zm103.204 0l-14.53 28.513 51.428.39 14.53-28.514-51.428-.39zM78.887 150.54L43.12 181.67l1.023 2.004c9.08 17.82 22.505 18.836 32.752 13.615 10.246-5.222 17.314-16.68 8.234-34.5l-6.243-12.25zm354.226 0l-6.242 12.25c-9.08 17.82-2.01 29.278 8.235 34.5 10.247 5.22 23.673 4.204 32.752-13.616l1.022-2.004-35.767-31.13zm-199.658 21.41l-51.428.392 14.528 28.512 51.427-.39-14.527-28.513zm45.09 0l-12.443 24.423 2.1 4.12 47.243.36 14.528-28.51-51.428-.392zm-16.035 57.025l-51.428.39 14.527 28.514 51.43-.392-14.53-28.513zm20.332.254l9.072 17.805 9.004-17.67-18.076-.136zm8.724 56.77l-51.427.39 14.526 28.512 51.428-.39L291.566 286zm-71.48.684l-14.18 27.828 28.47.217-14.29-28.046zm-28.707 56.34l-14.528 28.513 51.427.39 14.527-28.513-51.428-.39zm129.24 0l-51.427.39 14.528 28.514 51.428-.39-14.527-28.515zm-158.298 57.025l-14.527 28.51 51.43.39 14.527-28.51-51.43-.39zm187.356 0l-51.43.39 14.527 28.51 51.43-.39-14.527-28.51zm-214.805 57.034c-2.852 13.29 3.405 21.407 11.54 25.318 10.083 4.848 23.95 3.192 33.062-14.69l5.222-10.25-49.824-.378zm242.254 0l-49.824.38 5.222 10.247c9.112 17.884 22.98 19.54 33.06 14.692 8.137-3.91 14.394-12.03 11.542-25.318z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CannedFish;

impl IconShape for CannedFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 65c-65.3 0-124.4 10.69-166.36 27.5-20.99 8.4-37.64 18.3-48.6 28.7C30.09 131.5 25 141.8 25 152s5.09 20.5 16.04 30.8c10.96 10.4 27.61 20.3 48.6 28.7C131.6 228.3 190.7 239 256 239c65.3 0 124.4-10.7 166.4-27.5 20.9-8.4 37.6-18.3 48.6-28.7 10.9-10.3 16-20.6 16-30.8s-5.1-20.5-16-30.8c-11-10.4-27.7-20.3-48.6-28.7C380.4 75.69 321.3 65 256 65zm.1 13.53c51.3 0 97.8 6.57 132.1 17.57 17.2 5.5 31.4 12 41.9 20 10.6 7.9 18 18 18 29.9 0 11.9-7.4 22-18 29.9-10.5 8-24.7 14.5-41.9 20-34.3 11-80.8 17.6-132.1 17.6s-97.8-6.6-132.1-17.6c-17.2-5.5-31.43-12-41.95-20-10.51-7.9-17.95-18-17.95-29.9 0-11.9 7.44-22 17.95-29.9 10.52-8 24.75-14.5 41.95-20 34.3-11 80.8-17.57 132.1-17.57zm0 17.97c-49.8 0-94.8 6.6-126.7 16.7-15.9 5.1-28.5 11.2-36.49 17.2-8.01 6.1-10.81 11.3-10.81 15.6 0 4.3 2.8 9.5 10.81 15.6 7.99 6 20.59 12.1 36.49 17.2 31.9 10.1 76.9 16.7 126.7 16.7s94.8-6.6 126.7-16.7c15.9-5.1 28.5-11.2 36.5-17.2 8-6.1 10.8-11.3 10.8-15.6 0-4.3-2.8-9.5-10.8-15.6-8-6-20.6-12.1-36.5-17.2-31.9-10.1-76.9-16.7-126.7-16.7zM25 192.2V360c0 13.2 5.88 24.6 17.7 35.4 11.81 10.8 29.56 20.4 51.32 28.1C137.5 439 196.8 447 256 447c59.2 0 118.5-8 162-23.5 21.7-7.7 39.5-17.3 51.3-28.1 11.8-10.8 17.7-22.2 17.7-35.4V192.2c-1.2 1.3-2.4 2.5-3.7 3.7-13.3 12.6-31.8 23.4-54.3 32.3-44.8 18-105.8 28.8-173 28.8s-128.2-10.8-173.05-28.8c-22.45-8.9-40.94-19.7-54.27-32.3-1.28-1.2-2.5-2.4-3.68-3.7zM96 280l64.4 48.2c33.3-15.3 71.8-34.1 135.7-34.1 40 0 120 25.9 120 46 0 19.9-80 45.9-120 45.9-63.9 0-102.4-18.9-135.7-34.2L96 400z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Canoe;

impl IconShape for Canoe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.778 68.814c-3.52.132-8.176 1.24-12.394 3.12-4.821 2.147-9.08 5.35-10.95 7.697-.904 1.136-1.165 1.924-1.21 2.127l.43.701 16.894 48.273c2.802 6.565 6.66 9.584 11.082 11.086 4.449 1.512 9.782 1.192 14.537-.789 4.755-1.98 8.705-5.526 10.722-9.707 2.007-4.157 2.547-8.97-.207-15.562l-22.326-44.828-.002-.002c-.672-1.302-1.527-1.938-5.14-2.112a16.895 16.895 0 0 0-1.436-.004zm33.266 84.424c-5.14 3.557-10.91 5.906-16.608 6.94l7.354 17.422a278.9 278.9 0 0 0-5.596 1.943c-12.78 4.607-27.478 10.508-37.275 19.506-9.451 8.68-16.245 22.202-21.672 34.002a282.955 282.955 0 0 0-7.293 17.398c-23.803 14.552-45.156 28.97-52.934 68.66 25.558 1.772 40.744 4.549 84.135 2.762-1.585-9.478-3.145-21.732 6.121-34.758a31.449 31.449 0 0 1-10.12-6.449c-15.085-14.282-12.484-39.002 2.68-55.102 3.574-4.153 7.068-9.332 11.257-13.257 5.472-5.026 19.287-11.536 31.205-15.832 2.27-.819 4.433-1.553 6.511-2.243l40.213 95.272c-4.76 2.396-9.901 4.745-15.06 6.494-10.363 3.513-19.712 4.202-26.588.625-6.876-3.576-11.14-6.357-14.723-9.369-8.437 2.841-17.349 2.983-25.219-.078 9.388 11.082 22.136 20.678 32.586 26.148 12.223 6.313 27.186 3.971 39.723-.279 5.848-1.983 11.37-4.463 16.303-6.906l8.29 19.64c3.079-1.935 6.376-3.547 9.764-4.863a60.291 60.291 0 0 1 6.793-2.191l-8.879-21.035 6.274-3.333-8.44-15.896-4.859 2.582-38.814-91.959 6.826-1.766-4.504-17.423-9.054 2.343zm-18.606 75.8a19.672 19.672 0 0 0-1.68.007c-5.832.27-12.386 3.089-17.853 8.893-9.719 10.318-9.844 23.532-3.41 29.625 6.434 6.092 19.586 5.21 29.305-5.108 9.719-10.318 9.844-23.532 3.41-29.625-2.463-2.332-5.91-3.643-9.772-3.793zm218.498 53.95c-34.024 15.84-70.523 27.728-107.85 36.291 4.59 1.964 8.421 6.364 10.007 10.46l22.66 45.497.11.262c1.971 4.673 2.994 9.38 3.183 13.92 9.949-7.106 18.208-18.26 26.97-32.385 7.378 2.756 14.126 5.466 20.29 8.137 3.5-6.443 6.684-13.523 9.484-21.047 7.494-20.142 12.35-42.591 15.146-61.135zM22.188 308.043c-.773 18.548 2.054 38.377 8.436 54.734 4.675 11.984 10.995 21.82 18.795 28.545 11.39-7.493 16.875-15.566 16.517-22.83 31.708 4.607 49.836 8.36 70.985 40.455 35.327-2.006 45.846-20.052 46.226-34.18 27.33 9.146 57.483 22.265 73.346 35.233 26.294-5.579 54.363-17.684 64-48 4.357 1.772 8.401 3.747 12.207 5.83-5.087-12.27-7.485-24.1 1.61-34.562 1.998-2.227 4.257-4.184 6.683-5.918-35.918 5.91-72.047 9.005-106.979 9.752-84.081 1.797-160.672-9.833-211.826-29.059zm349.42 27.215c-3.103-.042-7.688.763-11.994 2.435-4.922 1.911-9.517 4.932-11.912 7.6-2.392 2.664-2.522 3.646-2.063 5.025l11.743 33.547c12.977 8.961 24.557 15.925 40.068 13.795.464-.064.92-.14 1.377-.217 1.73-3.995 2.084-8.623-.514-14.841l-22.384-44.944c-.987-1.685-1.482-2.146-3.086-2.33-.435-.05-.87-.053-1.235-.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cantua;

impl IconShape for Cantua {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M244.1 17.52h-18l1.1 22.18c-23.8 16.98-41.3 32.53-56.1 49.34 4 2.69 6.8 6.59 8.9 10.63.7 1.43 1.4 2.83 1.9 4.23 12.4-14.63 26.9-28.02 46.4-42.69l2.9 56.69c5.8-2 11.3-2.4 15.5-2.2.8 0 1.6.1 2.4.2l-2.7-53.27c25.4 18.26 44.4 33.16 58.7 49.07 3.4-5.7 8-9.9 13.3-12.14-18-19.92-42-37.74-73.2-59.89zm-84.2 86.08c-1.3.1-5.8 1-11.9 6.9-7 6.7-15.4 18.9-22.8 37.1-16.8 41.6-24.2 85.5-34.99 129.6l-.45 1.9-1.16 1.5c-10.34 13.4-24.97 20.7-40.68 25.5-5.47 1.7-11.15 3.1-16.91 4.3l36.97 12.5.23 18.7 32.09-10.3 24.1 31.6 9.4-20.7 46.3 1.5c-5-3.8-9.9-7.8-14.5-12-12.3-11.4-23-23.9-25.6-39l-.3-1.8.5-1.8c10.9-45.2 26.8-88.1 30-132.5.7-9.9.3-23.7-1.8-34.9-1.1-5.6-2.7-10.5-4.3-13.7-1.7-3.2-3.2-4.2-3.8-4.4zm166.4 12.3c-.2 0-.4.1-.5.1-2.1.7-5.4 2.9-7.5 10.6-2.1 7.6-2.5 20.5 2.3 39.5 11.1 43.9 29.3 86.8 46.5 128.5l.7 1.7v1.9c-.5 20.3-9.1 38.3-21.4 55.4l27.5-12.5 18 21.7 20.1-27.7 38.9 11.4-4.7-29.2 26.9-13.9c-22.4-3.8-44.2-12.2-57.7-25.2l-1.3-1.3-.7-1.7c-17.9-43-28.3-82.6-52-120.3-5.6-8.9-13.2-20.3-20.8-28.5-3.7-4.1-7.4-7.4-10.3-9-2.1-1.3-3.3-1.5-4-1.5zm-82.1 17.8c-4.1 0-8.3.8-12.2 4.2-4.6 4-9.8 12.7-11.8 31.7-4.6 43.9.3 136.1 2.1 181.4-5.7 17.9-18.7 30.9-32.6 40-4.8 3.2-9.9 6-15.1 8.8l39 1.8 5.4 17.9 27.9-18.8 32.1 23.6 3.2-22.3 33.3-9.2c-17-9.9-29.5-23.6-37.4-39.9l-.8-1.7-.1-1.8c-1.9-46.3-2.3-140.9-11.4-183.6-2.1-9.8-5.2-18.5-8.8-24.1-3.7-5.7-6.9-7.8-11.1-8zM93.69 352.3l-18.23 5.9c-12.2 23.5-26.59 44-49.6 56.4l8.54 15.8c23.23-12.5 38.65-31.2 50.77-51.9-.91 27.5 6.12 68 16.73 93.1l11.5-19.3c-10.4-24.7-10.9-55.5-9.1-86.1zm325.51 3.6l-11.7 16.2c.6 2.6 1.2 5.2 1.7 7.8 3.7 18.8 4 35.9-5.3 55.4l16.2 7.8c11.2-23.6 10.9-45.8 6.8-66.7-.4-2-.8-4-1.3-6 13.5 14.2 30.9 26.2 55.5 33.4l5-17.2c-18.6-5.5-31.6-13.5-42.3-23.5zm-172.7 66.8l-15.8 10.6c-5 18.2-12.4 35.3-23 49.8l14.5 10.6c14.7-20 23.6-43.4 28.8-67.7zm17 12.6c6.8 21.6 13.1 37.6 30.5 59.2l17.4-5.8c-9-11.1-15.7-22.3-21-33.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cape;

impl IconShape for Cape {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.1 18.46c-17 19.58-32.7 35.31-55.1 42.98 41.5 68.46 139.9 119.76 241.2 62.36 18-14.1 26.7-31.45 34.9-47.34-98.9-5.45-164.8-19.81-221-58zM225 111.1c-18.9 38.3-41 72.2-65.1 100.2-40.8 47.5-87.03 78.7-132.67 85.3 6.47 19.8 10.43 59.2 25.84 72.6 45.63 18.5 132.83-9.1 164.63-38.7 16.1-16.4 24-36.6 34.2-60.9-2 35.2-13.3 56.6-27.7 72.4-18.5 18.2-36.6 30.8-59 37.8 11.9 22.3 16.8 49.7 27.7 67.8 4.4 6.7 8 9.5 14.6 9.4 42-10.9 74.4-45.9 110.9-60.5 55.3-29.3 65.3-74 67-85.5-1.1 28.7-12.7 67.5-31.7 83.6 33.8 12.4 47.5 67.3 52.3 90.2 15.2-14 33.2-35.4 48.1-60.1C473 393.5 487 357.2 487 324.2c-.3-38.8-17-76.4-26.5-118.2-5-21.7-7.7-44.7-4.6-69.3-131.7 55.7-190.9 9.4-230.9-25.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CapeArmor;

impl IconShape for CapeArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.8 25.14c-30.2.34-63.52 4.32-88.77 13.34-13.21 4.71-24.1 10.78-31.26 17.73-4.74 4.6-7.78 9.44-9.39 14.9 33.34.04 92.02 1.38 132.22 28.78 9.7-12.64 12-27.08 10.5-40.9-1.6-14.1-7.8-26.92-13.3-33.85zm200.4 0c-5.5 6.93-11.7 19.75-13.3 33.85-1.5 13.82.8 28.26 10.5 40.9 40.2-27.4 98.9-28.78 132.2-28.78-1.6-5.46-4.6-10.3-9.4-14.9-7.1-6.95-18-13.02-31.2-17.73-25.3-9.02-58.6-13-88.8-13.34zM187.4 66.59c0 7.94-1.2 16.14-3.9 24.16C205.8 112.5 231 123 256 123s50.2-10.5 72.5-32.26c-2.6-7.74-3.8-15.64-3.9-23.31-46.9 7.73-92.6 6.81-137.2-.84zm-84.3 30.26c-.8 15.65-1.8 32.45-3.24 50.25 9.44-3.2 19.54-8.2 29.14-14.6 7.5-5 14.6-10.8 20.8-16.9-12.8-8.9-29.3-14.8-46.7-18.75zm305.8.01c-17.4 3.94-33.9 9.84-46.7 18.74 6.2 6.1 13.3 11.9 20.8 16.9 9.6 6.3 19.7 11.4 29.1 14.6-1.4-17.7-2.4-34.6-3.2-50.24zM178 110.1c-9.6 14.2-23.6 27.1-39 37.4-13 8.7-27 15.5-40.55 18.9 5.35 6 10.95 12.5 16.45 19.3 22.2 14.6 40.8 21.3 61.1 21.3 20.9 0 44.6-7.4 76-23.1l4-2 4 2c31.4 15.7 55.1 23.1 76 23.1 20.3 0 38.9-6.7 61.1-21.3 5.5-6.8 11-13.3 16.4-19.3C400 163 386 156.2 373 147.5c-15.4-10.3-29.4-23.2-39-37.4-23.6 20.3-50.7 30.9-78 30.9-27.3 0-54.4-10.6-78-30.9zm-82.12 80.8c-9.74 94.8-28.76 207-63.29 302.4 24.59-12 50.33-21.9 76.81-29.6-8.3-19.7-16.54-50.7-5.9-82.5 14.3-43.2 40.6-85.3 47.4-95.7-1.4-12.2-11.8-34.7-26.4-56.5-8.7-13.1-18.8-26.3-28.62-38.1zm320.22 0c-9.9 11.8-19.9 25-28.6 38.1-14.6 21.8-25 44.3-26.4 56.5 6.8 10.4 33.1 52.5 47.4 95.7 10.6 31.8 2.4 62.8-5.9 82.5 26.5 7.7 52.2 17.6 76.8 29.6-34.5-95.4-53.5-207.6-63.3-302.4zM247 206.2c-26.7 12.2-49.4 18.8-71 18.8-12.7 0-24.8-2.3-37-6.7.2.3.3.5.5.7 15.2 22.8 27.4 45 29.2 64.4 6.4 5.3 17.9 10.4 32.4 13.8 5.2 1.2 10.8 2.3 16.5 3.1 2.3-4.9 6-9.2 10.4-12.5 5.3-4 11.8-6.7 19-8v-73.6zm18 0v73.6c7.2 1.3 13.7 4 19 8 4.4 3.3 8.1 7.6 10.4 12.5 5.7-.8 11.3-1.9 16.5-3.1 14.5-3.4 26-8.5 32.4-13.8 1.8-19.4 14-41.6 29.2-64.4.2-.2.3-.4.5-.7-12.2 4.4-24.3 6.7-37 6.7-21.6 0-44.3-6.6-71-18.8zm-9 90.8c-7 0-13.2 2.2-17.2 5.2-4.1 3.1-5.8 6.4-5.8 9.8 0 3.4 1.7 6.7 5.8 9.8 4 3 10.2 5.2 17.2 5.2s13.2-2.2 17.2-5.2c4.1-3.1 5.8-6.4 5.8-9.8 0-3.4-1.7-6.7-5.8-9.8-4-3-10.2-5.2-17.2-5.2zm-93.8 4.3c-8.7 14-29.6 49.3-41.7 85.5-13.3 40.1 10.5 80.8 13.8 86.2 30 14.2 75.8 22 121.7 22 45.9 0 91.7-7.8 121.7-22 3.3-5.4 27.1-46.1 13.8-86.2-12.1-36.2-33-71.5-41.7-85.5-9.4 6.1-21.4 10.4-34.7 13.5-6 1.4-12.3 2.6-18.9 3.5-1.7 7.2-6.3 13.4-12.2 17.9-7.5 5.6-17.3 8.8-28 8.8s-20.5-3.2-28-8.8c-5.9-4.5-10.5-10.7-12.2-17.9-6.6-.9-12.9-2.1-18.9-3.5-13.3-3.1-25.3-7.4-34.7-13.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Capricorn;

impl IconShape for Capricorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.733 125.562c-16.18-2.68-22.596 79.184-24.955 118.284l-67.715.1c-2.892-103.625-4.257-113.83-19.966-141.418-7.18-12.618-28.344-14.49-28.344-14.49 0-13.44-.135-68.432-.135-68.432 37.287 0 63.14 26.92 79.424 56.544l2.427-5.455c7.912-16.947 26.824-49.99 64.08-49.99 117.498 0 42.747 323.118 145.476 296.482 6.634-1.72 17.087-23.246-3.94-23.246-37.993 5.053-52.152 210.634-175.335 193.995-11.794-1.59-18.916-4.83-18.916-4.83l8.505-73.157c22.63 2.82 54.084-15.122 58.147-26.623 17.15-48.603 44.853-168.058 133.866-168.058 34.016 0 72.754 32.918 72.754 90.73 0 94.424-169.585 154.09-208.16-49.384-8.235-43.37-4.317-134.282-17.214-131.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CaptainHatProfile;

impl IconShape for CaptainHatProfile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M404.7 79.78h-2.8c-7.5.26-15.8 1.73-24.8 4.3-18 5.16-38.4 14.56-59.3 25.78-41.9 22.4-85.8 52-121.5 68.6-26.4 12.4-59.3 20.4-89.8 27.5-30.5 7.1-58.95 13.4-74.36 20.6-7.13 3.4-10.9 6.9-12.71 9.9-1.8 2.9-2.1 5.2-1.44 8.4 1.32 6.4 8.57 15.4 18.49 21.9l3.29 2.1c162.63-2.3 289.43-13.7 387.73-52.6 2.1-17.6 6.7-34.7 16.5-48.5v-.1l.1-.1c24.5-32.2 8.9-72.58-22.4-84.89-5-1.95-10.7-2.91-17-2.93zm21.9 185.12c-44.2 25.1-103.8 37-169.2 41.2-68.7 4.4-143.7.1-213.52-7.8l1.89 14c31.19 3.2 98.53 11.8 172.83 11.5 77.2-.3 159.6-11.3 208.6-46.2-.2-4.1-.4-8.3-.6-12.7zm7.1 30.2c-46.9 31.5-113.8 42.9-179.9 45.8 44.7 39 89.3 55.1 127.3 59.1 45.2 4.8 81.5-8.7 94.8-19.8 13-10.8 17.5-19.5 18.3-26.2.7-6.8-2-13.3-8.2-20.5-11.3-13.4-33.5-26.4-52.3-38.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarBattery;

impl IconShape for CarBattery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73 81v46h46V81H73zm320 0v46h46V81h-46zM25 145v16h462v-16H25zm0 34v252h462V179H25zm382 21h18v23h23v18h-23v23h-18v-23h-23v-18h23v-23zM64 223h64v18H64v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarDoor;

impl IconShape for CarDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.6 41L42.88 254.4c23.8 24.3 53.54 58.8 78.42 97.4 24.5 38.1 44.1 79.7 47.1 119.2h270.3L423.3 41H149.6zM164 64h230l8 192H74l90-192zm86.8 17.99l-141 154.81L339.3 81.99h-88.5zM336 279h64v18h-64v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarKey;

impl IconShape for CarKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M285.628 42.475c-39.602 0-73 28.513-73 65 0 18.43 8.528 34.82 22.066 46.533l8.473-16.67c-7.876-8.202-12.54-18.667-12.54-29.863 0-25.37 23.91-47 55-47s55 21.63 55 47c0 17.403-11.253 33.046-28.356 41.154l-7.482 21.556c1.9-.462 3.774-.986 5.613-1.58l9.158 16.013c-10.326 7.263-20.32 16.266-31.034 27.472l81.35 179.392c50.265 2.318 98.764-24.335 123.754-68.01L385.8 158.635c-20.166 4.027-36.39 9.054-50.875 16.598l-8.09-14.144c19.057-11.615 31.793-31.09 31.793-53.613 0-36.487-33.398-65-73-65zm-122.666 5.947c-2.66.03-5.454.47-8.152 1.348-6.17 2.004-11.39 6.134-13.66 10.59l-.288.57-64.904 92.297c-2.135 4.452-2.382 10.947-.457 16.97 1.97 6.157 6.045 11.305 10.202 13.422l143.682 73.16c4.072 2.075 10.59 2.405 16.648.427 5.945-1.94 10.996-5.885 13.403-10.492l25.36-74.26c.05 0 .1.003.15.004l6.327-18.23c-.086.008-.175.01-.26.018l4.905-14.365.29-.568c2.27-4.456 2.54-11.12.55-17.282-1.99-6.162-6.1-11.355-10.434-13.562l-32.078-16.333c-6.543 8.178-8.55 19.868-.346 30.87l2.11 3.532 10.288 5.4-8.256 16.214-.146-.07-8.118 15.97c.045.023.09.043.135.065l-6.303 12.376-101.59-51.728 18.606-36.538 4.082-8.02 30.854 15.712c1.556-9.81 4.922-19.248 10.335-28.404L172.103 50.31c-2.514-1.28-5.72-1.925-9.14-1.888zm217.928 131.38l24.082 43.82-71.864 39.49-19.748-35.93-4.334-7.887 71.864-39.492zm-7.106 24.444L333.472 226.4l6.742 12.27 40.312-22.154-6.742-12.27zM114.5 218.482L93.63 259.475l69.508 35.392 20.873-40.992-69.51-35.393zm297.214 17.41l24.08 43.817-71.863 39.49-19.745-35.93-4.334-7.887 71.864-39.492zm-7.106 24.442l-40.314 22.154 6.744 12.27 40.313-22.154-6.742-12.27zM99.72 282.774h-.002L18.372 442.53l6.123 18.83 77.264-151.737 16.038 8.168-77.262 151.735 22.375-7.275 12.968-4.217-6.986-21.556 21.496-6.97L83.392 408l21.52-6.998-5.37-16.504 41.17-80.852-40.992-20.873z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarSeat;

impl IconShape for CarSeat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71.47 18.38l-.01.01c-6.58-.1-14.25.79-21.52 2.41-8.31 1.84-16.18 4.69-21.3 7.56-2.57 1.44-4.42 2.9-5.24 3.8l25.86 90.54c7.22-9.1 15.41-16.6 23.75-22.2 9.69-6.44 19.19-10.67 27.89-12.47 0-13.14-.3-25.92-1.8-36.76-1.9-13.05-5.6-23.03-11.5-28.91-1.3-1.35-6.28-3.44-13.39-3.88-.89 0-1.81-.1-2.74-.1zm29.03 92.12c-6.7.4-14.2 3.5-21.1 8.7-13.68 10.3-24.04 28.7-24.34 40.2l45.74 240.3c7.6-9.5 19.2-15.7 32.2-15.7 11.5 0 22 4.9 29.5 12.7 5.1-1.1 10.5-2.2 16.4-3.3 1.5-.3 3.1-.5 4.7-.8-13.5-92.5-35.3-199.6-65.2-275.3-5.2-4.8-10.3-6.7-15.6-6.8h-2.3zm283 39.5l-53.6 167.4 17.2 5.4 24-75.1 117.1 37.5 5.4-17.2-117-37.4 24.1-75.2-17.2-5.4zm-38.7 245.3c-21.5.1-46.3 1.4-71 3.7-33 2.9-66 7.4-91.6 12.1-3.5.6-6.8 1.3-10 1.9 1.2 3.8 1.8 7.8 1.8 12 0 22.5-18.5 41-41 41-5.6 0-11-1.2-15.9-3.2-3.1 8.9-5.4 17.6-6.7 24.2H398c5 0 7.7-1.8 10.7-6.4 3.1-4.7 5.4-12.4 6.3-21.5 1.9-18.1-2.1-41.2-9.1-55.1.3.5-2.8-2.5-10.2-4.4-7.4-1.9-18.1-3.3-30.7-3.9-6.3-.3-13.1-.4-20.2-.4zM133 402c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarWheel;

impl IconShape for CarWheel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21A235 235 0 0 0 21 256a235 235 0 0 0 235 235 235 235 0 0 0 235-235A235 235 0 0 0 256 21zm0 82c84.393 0 153 68.607 153 153s-68.607 153-153 153-153-68.607-153-153 68.607-153 153-153zm0 18c-20.417 0-39.757 4.52-57.09 12.602C210.457 166.482 230.218 208 256 208c25.823 0 44.926-41.65 56.752-74.555C295.505 125.462 276.284 121 256 121zm98.752 42.88c-27.714 21.143-61.142 52.79-53.17 77.327 7.981 24.564 53.508 29.858 88.459 30.936.628-5.294.959-10.678.959-16.143 0-35.642-13.755-68.012-36.248-92.12zm-197.729.243C134.663 188.204 121 220.477 121 256c0 5.55.34 11.018.988 16.39 34.833-.825 80.381-6.793 88.344-31.3 7.974-24.542-25.68-55.553-53.309-76.967zm70.188 43.643a9 9 0 0 0-5.035 1.714 9 9 0 0 0-1.99 12.57 9 9 0 0 0 12.57 1.993 9 9 0 0 0 1.992-12.572 9 9 0 0 0-7.537-3.705zm57.578 0a9 9 0 0 0-.637.004 9 9 0 0 0-6.9 3.7 9 9 0 0 0 1.992 12.573 9 9 0 0 0 12.57-1.992 9 9 0 0 0-1.99-12.57 9 9 0 0 0-5.035-1.715zM256 224a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm-46.297 38.037a9 9 0 0 0-2.652.44 9 9 0 0 0-5.78 11.341 9 9 0 0 0 11.34 5.778 9 9 0 0 0 5.78-11.34 9 9 0 0 0-8.688-6.219zm92.856.008a9 9 0 0 0-8.95 6.21 9 9 0 0 0 5.78 11.34 9 9 0 0 0 11.34-5.777 9 9 0 0 0-5.78-11.341 9 9 0 0 0-2.39-.432zm-92.143 27.713c-21.59.104-50.24 16.832-72.424 31.928 19.029 34.168 52.46 59.164 92.143 66.837 9.99-33.39 18.42-78.618-2.446-93.777-4.854-3.527-10.737-5.02-17.273-4.988zm91.016.02c-6.58 0-12.492 1.516-17.346 5.042-20.895 15.181-11.863 60.106-2.088 93.678 39.687-7.715 73.108-32.76 92.1-66.973-22.006-15.224-50.935-31.747-72.666-31.748zM256 295.58a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carabiner;

impl IconShape for Carabiner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.9 24.51c-3.1 0-6.3.1-9.4.27-25.3 1.62-53.8 13.74-64 42.22-38.6 108.6-67.2 218.7-76.8 329.5-2.05 23.3 3 45.2 15 62.1s31.7 28.1 54.1 28.8c20.3.6 43.4-2.2 63.9-7.4 5.2-1.4 10.3-2.9 15.1-4.6-10.1-6.2-16.8-17.3-16.8-29.8 0-.9 0-1.7.1-2.6-2.3.7-4.8 1.5-7.3 2.1-17 4.3-37.9 6.7-54 6.3-11.8-.3-19.7-5-25.8-13.7-6.2-8.6-9.9-21.8-8.5-38 9.4-106.8 37-213.9 75-320.63 4.1-11.64 15.6-17.31 32.3-18.38 2-.13 4.2-.14 6.3 0 14.8.64 29.9 6.34 34.2 10.3 40.7 37.61 75.2 87.21 88.6 132.31-.2.9-.4 1.6-.9 3.1-1.6 4.6-4.4 11.4-8.1 19.7-1.8 3.9-3.8 8.3-5.9 12.8l31.6 17.4c2.6-5.4 5.1-10.7 7.2-15.5 3.9-8.8 7-16.3 9.2-22.6 1.1-3.1 2-5.9 2.6-8.9.7-2.9 2.1-5.3 0-12.6-15.4-55.5-54.2-110.1-99.9-152.24-15-13.75-35.9-19.75-57.8-19.95zM374.4 201.2c0 .1.1.2 0 .4 0 0-.1.4-.1.6 0-.5 0-1 .1-1zM340.2 249l-11.9 22.3 55.2 30.9c2 1.2 3.3 1.1 5.8-.1 2.4-1.1 5.3-3.9 7.1-7.3 1.8-3.3 2.5-7 1.9-9.7-.5-2.8-1.6-5-5.8-7.3h-.1zm-8.6 44.8c-5.1 9.9-10.4 20-15.9 30.3l30.8 18.8c5.7-10.7 11.2-21.2 16.5-31.5zM307.1 340c-5.9 11-11.9 21.8-17.8 32.5l30.7 18.7c6-10.7 12-21.5 17.9-32.4zm-26.6 48.2c-4.5 7.8-8.8 15.2-12.9 22.4h.4c13.1 0 24.6 7.4 30.6 18.1 4.1-7 8.3-14.3 12.6-21.8zM268 428.6c-9.5 0-17 7.5-17 17s7.5 17 17 17 17-7.5 17-17-7.5-17-17-17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carambola;

impl IconShape for Carambola {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M186.7 19.57c-3.5 40.16-5.6 81.23 15.3 119.53l5.7 10.5-11.7 2.9c-50.5 11.9-87.6 14.8-129.51 39.6C103.2 229.8 167 257.5 219.1 271l6 1.6.8 6.1c8.8 63.9 28.7 108.8 61.7 166.8 32.8-28.9 49.9-59.1 62.8-106.4l3.4-12.7 10.8 7.7c40.9 29 84.7 32.4 130.4 38.1-27.1-48.1-42.2-101.7-88.6-142l-6.4-5.5 4.9-6.8c22.3-31 43.5-75 44.6-117.7-40.9-5.19-90.6 6-130.8 21.9l-6.9 2.6-4.1-6c-28.1-41.14-72-67.38-121-99.13zm-20.3 22.35C137.9 80.97 107 120.6 89.52 160.3 119.2 148.5 148 144.1 180.5 137c-14.3-31.8-15.7-64.35-14.1-95.08zm90.5 88.68l10.8 7.2c13.7 9.1 30.9 19.8 41.7 35.8 16.3-6.6 34.9-6.2 51.5-5.4l12.6.6-4.4 11.8c-3.9 10.8-6 27.3-17.5 40.9 11.7 16.8 15.1 34.5 21.8 48.9l9.9 20.8-21.6-8.3c-10.9-4.4-25.6-6.3-40.6-12.3-4.6 13.7-12.5 27.7-21.9 37.6l-7.5 7.9-6.6-8.7c-14.6-19.4-17.9-42.3-22.9-59.8-23.9-3.1-42.6-13.3-63.9-21.1l-23.2-8.5 23.1-8.7c13.1-5 28.7-15.3 47.6-20.2 0-6.2.8-12.7 2-19.3 1.6-10 4-19.7 5.8-26.7zm11.5 30c-.9 3.9-1.8 8-2.5 12.2-1.4 9-1.9 17.9-1.2 21.9l1.8 9.3-9.3 1.5c-10.8 1.7-21.2 6.6-32 11.8 15.2 6.2 29.3 11.7 44.9 12.6l6.2.4 1.9 5.9c5.6 16.6 8.4 34.3 15.2 49 5.9-9.2 11-20.6 12.8-29.3l2.6-12.2 11 6c8.7 4.9 18.9 7.3 29.4 10.1-4.5-12.2-8.6-23.6-16.8-33.1l-6.2-7.1 7.2-5.9c8-6.6 11.2-16.6 14.5-27.4-14.6 0-28.2 1.6-37.3 7.2l-8.9 5.3-4.4-9.2c-4.9-10.7-16.5-20.3-28.9-29zM60.7 212.3c-13.1 29-22.77 62.5-27.9 93.1-6.17 36.9-4.81 70.3 1.16 82.5 10.12 20.8 36.66 33.4 49.4 38.4C105.2 394.9 122.8 363.4 200 284.7c-48-14.1-102.01-37.9-139.3-72.4zM210.8 300c-74.5 76.3-90.2 105.2-112.5 137.2 2.2 3.4 5.6 8.8 10.3 14.8 7.7 9.9 18.4 20.2 26.4 23.2 46.9 17.6 96.9 2.5 135.4-22.4-29.6-52.4-49.4-96.4-59.6-152.8zm153.7 56.1c-9.8 32-23 57.8-42.3 80.6 54.1-10.2 109.6-24.3 154.3-48.3-37-4.3-75.1-9.9-112-32.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caravan;

impl IconShape for Caravan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.5 129c-5 0-16.557 3.44-25.322 8.773S21.5 150.095 21.5 152.672V335h105.063c6.948-18.637 24.952-32 45.937-32 20.985 0 38.99 13.363 45.938 32H275.5V175h98v160h31.97c3.642-14.619 13.747-56.938 14.03-79.115.399-31.276-15.2-98.237-15.615-100.012-1.874-5.313-8.415-12.755-16.512-18.14-8.178-5.44-17.92-8.733-22.873-8.733zm-9 46h170v82h-170v-82zm41.963 18L69.5 227.36V239h13.828l32.08-46zm44.844 0l-32.08 46h43.888l32.08-46zm155.193 0v142h62v-62h-23v-18h23v-62zm143.104 77.113c-1.55 14.901-4.853 31.89-8.01 46.08l22.906-3.818v-34.813zM172.5 321c-17.227 0-31 13.773-31 31s13.773 31 31 31 31-13.773 31-31-13.773-31-31-31zm251.637 14c-1.498 6.021-3.126 12.008-4.735 18H492.5v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caravel;

impl IconShape for Caravel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.7 36v21.76c5.9-1.27 11.9-2.91 18-4.99V36zm26.7 32.79C257.1 81.22 226 80.48 195 79.88c28.7 15.85 61.1 23.32 92.2 16.58 2.6-9.36 6-18.4 4.2-27.67zm-164.1 10.8C140.5 136.8 152.2 197.3 137.9 285c12.8 17.6 24 35.7 34 53.7l5.1 9.3c73.7-19.3 135.4-22.7 186.9-12.3 2.4-6.5 4.7-13.3 6.7-20.1-53.5-91.8-136.8-169.4-243.3-236.01zm155.4 36.01c-6 .9-12 1.4-18 1.4v42.6c6.1 5.5 12.1 11.1 18 16.8zM56.73 192v10.3c6.24 4.6 12.24 9.3 18 14.2V192zm351.97 4v17.9c6.2 2.5 12.2 5.5 18 8.9V196zm-386.01 5.1c5.77 19.7 10.88 39.8 12.08 60.4 1.21 20.6-1.8 41.8-11.79 62.8 41.42-12.1 84.42-6.5 121.82 3.7-28.5-46.9-66.02-92.4-122.11-126.9zm216.81 1c1.7 9.5 2.1 21.4 1.3 33.8 1.2 0 2.4-.1 3.6-.1 10.8-.2 20.9.4 29.2 2l-3.4 17.6c-7.7-1.4-18.9-1.8-31.3-1.1-2.1 14.1-5.7 27.6-10.6 38.2l-16.4-7.6c3.3-6.9 5.9-17.4 7.8-28.7-9.3 1.3-18.6 3.1-27.1 5.5l-4.8-17.4c11-3.1 22.7-5.3 34.2-6.8 1.1-12.6 1.1-24.6-.3-32.2zm155.3 26c4.8 20.2 3.7 43.2-.6 66-4.1 21.8-11.1 43.6-19.3 62.5 17.1-4.2 37.7-8.3 58.1-10.7 20.4-2.3 40.1-3.4 56.3.3-18.3-68.6-53.7-105.2-94.5-118.1zM81.64 254.5c1.3 7.3 1.7 15.1 1.52 22.9 5.62.7 11.51 1.9 18.04 3.5l-4.32 17.4c-5.68-1.4-10.54-2.4-15.06-3.1-.78 6.5-1.8 12.5-2.85 17.7l-17.64-3.6c.89-4.4 1.72-9.5 2.39-15-4.54.3-9.38.8-15 1.6l-2.59-17.8c6.81-1 12.95-1.6 18.92-1.7.15-6.7-.15-13.2-1.13-18.7zm341.46 23.6l18 1.2c-.4 5.9-.9 12.1-1.5 18.4 6.7.3 13.5 1.1 20.5 2.9l-4.2 17.4c-6.3-1.5-12.4-2.2-18.6-2.4-1.2 7.2-2.7 14.3-4.7 21l-17.2-5.2c1.4-4.5 2.5-9.4 3.4-14.6-5.4.7-10.9 1.7-16.5 2.9l-3.6-17.6c7.4-1.5 14.9-2.9 22.7-3.7.7-6.8 1.2-13.7 1.7-20.3zM56.73 336.2v13.7c6.04.6 12.04 1.3 18 2v-16.5c-6.3.1-12.76.3-18 .8zm69.07 5.5c-1.4 5.5-2.9 11-4.5 16.6 4.5.7 8.9 1.4 13.2 2.1 9.5-3 18.7-5.9 27.8-8.4-12.6-4.1-25.5-7.8-36.5-10.3zm156.9 6.7c-5.9.4-11.9.9-18 1.5v76.7c6.1-.2 12.1-.6 18-1zm144 16.5s-18.3 3.6-18 3.5v29c6.1-2.2 12.1-4.5 18-6.8zm-392.5 1.4c24.11 40.8 50.62 82.6 55.75 124.7H414.3c2.8-2.5 10.3-9.2 20.5-19.4 12.4-12.4 26.6-28.3 33-40 4.9-8.7 9.3-20.3 11.8-31.1 1.2-5.2 1.8-10.2 2.1-14.7C419 416.1 340.9 445 248.8 445h-5.7l-23.6-49.2c-10.3-2.5-97.1-23-185.3-29.5zm16.85 66.9l-7.36 9.7 16 51.9 12.32-2.2c-2.51-18.7-10.49-38.7-20.96-59.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CardBurn;

impl IconShape for CardBurn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M280.693 64.92c-5.164-.024-11.614 1.387-18.687 6.205-55.605 39.039-112.172 76.494-169.584 112.826-10.2 6.621-9.75 16.6 1.017 22.27l128.75 67.761c5.384 2.835 22.414 2.056 32.614-4.564l169.834-110.232c10.199-6.622 9.75-16.598-1.014-22.268-44.669-23.51-85.78-45.116-130.578-68.865 0 0-4.803-3.099-12.352-3.133zm6.416 27.547l-13.504 69.37 113.612-14.685-2.84 15.22-113.773 14.878-13.672 70.232-25.643 3.53 13.838-70.43-117.033 15.305 3.205-15.655 116.865-15.105 13.668-69.565 25.277-3.095zm41.246 146.324l-65.74 42.674c-14.563 9.45-37.135 10.479-52.5 2.389L175.29 265.53l-87.236 41.375c-10.983 5.203-10.69 12.999.66 17.354l121.242 46.617v.006c11.35 4.368 29.494 3.66 40.477-1.535l166.992-79.196c10.985-5.194 10.68-12.996-.664-17.353l-88.405-34.008zm93.614 65.094l-165.393 78.44c-14.544 6.88-36.751 7.734-51.775 1.958L83.81 337.76c-6.4 4.962-4.722 11.122 4.902 14.812l121.242 46.625h.002c11.349 4.363 29.494 3.663 40.477-1.533l166.992-79.193c8.922-4.218 10.398-10.162 4.543-14.586zm0 28.318l-165.393 78.44c-14.544 6.874-36.751 7.729-51.775 1.959L83.81 366.078c-6.4 4.963-4.722 11.125 4.902 14.815l121.242 46.625h.002c11.349 4.362 29.494 3.66 40.477-1.534l166.992-79.2c8.922-4.22 10.398-10.165 4.543-14.58zm-.002 28.32l-165.393 78.434c-14.544 6.88-36.75 7.735-51.773 1.959L83.81 394.4c-6.4 4.96-4.721 11.119 4.902 14.809l121.242 46.623v-.002c11.35 4.37 29.494 3.663 40.477-1.533l166.994-79.193c8.922-4.22 10.396-10.164 4.54-14.58zm-3.871 30.153l-161.522 76.6c-14.544 6.88-36.75 7.737-51.773 1.96L87.924 424.293c-10.853 5.201-10.52 12.949.789 17.289l121.24 46.62h.002c11.35 4.366 29.492 3.66 40.475-1.534l166.996-79.193c10.534-4.98 10.684-12.363.67-16.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CardExchange;

impl IconShape for CardExchange {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.148 20.822c-1.112.008-2.226.026-3.343.055-39.32 1.041-81.507 15.972-123.785 50.404l-6.028 4.91-5.732-5.25c-12.644-11.578-20.276-27.633-25.653-43.716-8.974 36.98-14.631 81.385-9.232 114.523 18.065.908 45.409-2.177 73.7-7.818 17.858-3.561 36.048-8.126 53.064-13.072-13.419-2.911-25.896-6.882-38.143-12.082l-16.088-6.832 14.906-9.127c46.367-28.393 80.964-40.686 120.235-35.553 33.105 4.327 69.357 20.867 119.066 47.271-25.373-36.314-62.243-64.737-104.728-76.994-15.402-4.443-31.553-6.828-48.239-6.719zM346 116c-46.667 0-46.666 0-46.666 46.666V349.4c0 9.596.007 17.19.414 23.242a664.804 664.804 0 0 1 50.656-12.223c24.649-4.915 48.367-8.224 67.916-8.41 6.517-.062 12.571.224 18.041.912l6.31.793 1.358 6.213c2.464 11.265 3.673 23.447 3.914 36.059 38.032-.19 38.057-3.06 38.057-46.65V162.665C486 116 486 116 439.334 116a226.98 226.98 0 0 1 3.978 7.64l12.624 25.536-25.004-13.648c-13.085-7.143-25.164-13.632-36.452-19.528zm-281.943.016c-38.032.19-38.057 3.06-38.057 46.65V349.4C26 396 26 396 72.666 396a226.98 226.98 0 0 1-3.978-7.64l-12.624-25.536 25.004 13.649c13.085 7.142 25.164 13.632 36.452 19.527H166c46.667 0 46.666 0 46.666-46.666V162.666c0-9.626-.006-17.24-.416-23.304a664.811 664.811 0 0 1-50.654 12.22c-32.865 6.554-64.077 10.25-85.957 7.498l-6.31-.793-1.358-6.213c-2.464-11.265-3.673-23.446-3.914-36.058zm354.619 254.078c-17.543.25-40.826 3.206-64.75 7.977-17.859 3.56-36.05 8.125-53.065 13.072 13.419 2.91 25.896 6.881 38.143 12.082l16.088 6.832-14.906 9.127c-46.367 28.392-80.964 40.685-120.235 35.553-33.105-4.327-69.357-20.868-119.066-47.272 25.373 36.315 62.243 64.738 104.728 76.994 52.573 15.166 113.872 6.343 175.367-43.74l6.028-4.91 5.732 5.25c12.644 11.579 20.276 27.633 25.653 43.717 8.974-36.981 14.631-81.386 9.232-114.524-2.788-.14-5.748-.204-8.95-.158z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CardJoker;

impl IconShape for CardJoker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.436 36c-16.126 0-29.2 17.237-29.2 38.5v363c0 21.263 13.074 38.5 29.2 38.5h275.298c16.126 0 29.198-17.237 29.198-38.5v-363c0-21.263-13.072-38.5-29.198-38.5zm26.369 10.951l11.002 32.856 34.648.312-27.848 20.617 10.41 33.05-28.212-20.114-28.215 20.113L128 100.736 100.152 80.12l34.649-.312zM363.979 161.84c7.127 9.459 12.739 20.689 16.832 32.04 3.8 10.544 6.197 21.211 6.668 31.02-.163 19.015-3.915 23.274-14.557 36.934l-6.703-11.48c-10.85-13.106-30.779-48.4-47.383-43.672-6.521 6.11-8.996 13.37-10.313 20.802 2.898 8.8 4.477 18.43 4.477 28.516 0 15.293-3.615 29.54-9.996 41.416 22.643 4.537 57.927 19.332 57.973 39.223-.27 3.783-1.835 7.68-4.362 10.42-10.743 12.528-36.958 4.125-45.2 10.072.796 6.947 4.112 14.118 4.355 20.174.136 4.36-1.768 10.58-6.508 13.996-5.67 4.087-12.968 4.551-18.52 3.045C279.94 392.226 272 379.649 256 377c-13.544 3.491-22.412 13.87-34.742 17.346-5.552 1.506-12.85 1.042-18.52-3.045-4.74-3.417-6.644-9.636-6.508-13.996-.058-7.142 4.107-13.794 4.356-20.174-15.741-7.788-33.816 1.97-45.201-10.072-2.527-2.74-4.093-6.637-4.362-10.42 6.146-27.341 35.374-34.684 57.973-39.223C202.615 285.54 199 271.293 199 256c0-11.489 2.047-22.385 5.764-32.135-2.357-7.923-3.441-15.988-9.438-22.441-8.758-.925-14.079 6.897-17.842 12.63-11.683 19.5-18.718 30.606-32.88 46.192-16.604-23.4-19.314-49.29-13.157-70.988 6.065-20.331 19.17-38.798 37.926-47.924 21.216-9.766 39.872-10.03 58.885.203 5.163-13.053 10.4-25.65 18.035-36.209 9.625-13.31 23.8-25.631 43.707-25.295 38.8.656 73.993 51.156 73.979 81.807zm-72.22-63.893c-35.759 2.409-44.771 44.746-55.189 71.29l-9.447-7.087c-18.428-12.31-31.076-13.732-49.875-4.63-12.924 6.288-23.701 20.62-28.553 36.882-3.38 11.329-3.765 23.225-.949 33.645 9.45-13.549 15.806-30.08 28.317-39.178 7.486-7.975 26.27-8.498 35.45 3.897 4.838 7.02 7.437 14.54 9.5 22.234h72.165c.592-1.944 1.067-3.762 2.017-6.033 2.956-7.064 7.765-16.266 18.395-19.504 18.09-3.862 32.494 7.106 43.498 18.514 4.517 4.717 8.492 9.696 12.098 14.517-.69-6.798-2.477-14.651-5.31-22.508-13.127-36.707-37.889-51.031-70.386-32.011 2.556-16.423 16.87-35.72 46.25-26.962-9.094-17.135-30.355-42.471-47.98-43.066zM220.644 233c-2.31 6.965-3.643 14.753-3.643 23 0 15.85 4.892 30.032 12.26 39.855C236.628 305.68 245.988 311 256 311c10.012 0 19.372-5.32 26.74-15.145C290.108 286.032 295 271.85 295 256c0-8.247-1.334-16.035-3.643-23zM232 280h48s-8 14-24 14-24-14-24-14zm-11.14 33.566c-13.86 3.34-50.369 8.9-51.842 21.42 9.621 1.947 20.446.838 28.998 2.235 5.993 1.018 12.82 3.323 17.285 9.517 3.375 4.683 3.577 10.103 3.037 14.21-.543 5.89-3.317 10.557-3.975 16.32 15.955-2.59 28.264-17.532 41.637-18.268 16-.702 29.313 17.402 41.637 18.268-.893-5.59-3.262-11.158-3.975-16.32-.54-4.107-.338-9.527 3.037-14.21 4.465-6.194 11.292-8.5 17.285-9.517 9.742-2.229 19.975.396 28.998-2.235-5.77-13.125-39.813-19.454-51.841-21.42C281.665 323.01 269.45 329 256 329c-13.452 0-25.665-5.991-35.14-15.434zm117.122 64.649l28.213 20.113 28.215-20.113L384 411.264l27.848 20.617-34.649.312-11.004 32.856-11.002-32.856-34.648-.312 27.848-20.617z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CardboardBox;

impl IconShape for CardboardBox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185.424 52.607L30.404 130.04l55.375 55.317 155.017-77.43-55.373-55.32zm141.152 0l-55.373 55.32 155.018 77.43 55.376-55.316-155.02-77.433zM256 120.45l-9 4.497v142.715l9 4.496 9-4.496V124.947l-9-4.496zM86.482 207.605l-57.59 71.917 139.545 77.45 72.358-72.286-154.313-77.08zm339.036 0l-154.313 77.08 72.358 72.287 139.544-77.45-57.59-71.916zM247 303.93l-75.436 75.36-78.562-43.6v44.058L247 456.67V303.93zm18 0v152.74l153.998-76.922v-44.06l-78.562 43.603L265 303.93z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CardboardBoxClosed;

impl IconShape for CardboardBoxClosed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 73.32L74.6 155.1l82.3 37.1 173.2-85.5L256 73.32zm95.4 42.98l-173.2 85.5 77.8 35.1 181.4-81.8-86-38.8zM61.7 169v182L247 434.6v-182L61.7 169zm388.6 0L265 252.6v182L450.3 351V169z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CargoCrate;

impl IconShape for CargoCrate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 16v89h9c14.9 0 23 11.7 23.8 23.6.4 6-1.2 11.5-4.7 15.4-3.5 4-9.1 7-19.1 7-5 0-11.1-2.8-15.6-7.4-4.6-4.5-7.4-10.6-7.4-15.6h-18c0 11 5.2 20.9 12.6 28.4 7.5 7.4 17.4 12.6 28.4 12.6 14 0 25.4-5 32.5-13 7.2-8.1 10-18.6 9.3-28.6-1.2-17.5-13.4-35.18-32.8-39.42V16h-18zm-47.9 140.5L61.34 247h32.7l114.86-75.5-9.8-15zm113.8 0l-9.8 15L418 247h32.6l-137.7-90.5zM41 265v222h430V265H41zm38 23h18v176H79V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288zm48 0h18v176h-18V288z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CargoShip;

impl IconShape for CargoShip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80 23v18h23v14h18V41h23V23zm-8.2 50L42.38 279H135V144.5H95.5v-49H135V73zM185 137v46h78v-46zm96 0v46h78v-46zm96 0v46h78v-46zm-192 64v46h78v-46zm96 0v46h78v-46zm96 0v46h78v-46zm-192 64v46h78v-46zm96 0v46h19.3l32-32H359v-14zm96 0v14h78v-14zM27.22 297l24.11 108.5C76.75 398.1 105.7 391 128 391c24.2 0 46.2 8.6 67.2 16.6 21 8 41 15.4 60.8 15.4 19.8 0 39.8-7.4 60.8-15.4 19-7.2 38.9-15 60.5-16.4l-44.1-14.7 5.6-17 36.2 12V345h-17v-18h17v-30h-35.3l-32 32H154.4l-16-32zM393 297v30h17v18h-17v26.5l36.2-12 5.6 17-44 14.7c12.1.7 25.7 3.1 39.4 6.2 5.4-7.1 10.8-15.3 16.1-24 14.9-24.9 28.2-53.9 36.8-76.4zM128 407c-24.2 0-56.26 8.3-83.09 16.4-10.02 3-19.26 6-26.91 8.7v19c8.36-3 19.57-6.7 32.11-10.5C76.28 432.7 108.2 425 128 425c19.8 0 39.8 7.4 60.8 15.4s43 16.6 67.2 16.6c24.2 0 46.2-8.6 67.2-16.6 21-8 41-15.4 60.8-15.4 19.8 0 51.7 7.7 77.9 15.6 12.5 3.8 23.7 7.5 32.1 10.5v-19c-7.7-2.6-16.9-5.7-26.9-8.7-26.8-8.1-58.9-16.4-83.1-16.4-24.2 0-46.2 8.6-67.2 16.6-21 8-41 15.4-60.8 15.4-19.8 0-39.8-7.4-60.8-15.4S152.2 407 128 407zm0 36c-24.2 0-56.26 8.3-83.09 16.4-10.02 3-19.26 6-26.91 8.7v19c8.36-3 19.57-6.7 32.11-10.5C76.28 468.7 108.2 461 128 461c19.8 0 39.8 7.4 60.8 15.4s43 16.6 67.2 16.6c24.2 0 46.2-8.6 67.2-16.6 21-8 41-15.4 60.8-15.4 19.8 0 51.7 7.7 77.9 15.6 12.5 3.8 23.7 7.5 32.1 10.5v-19c-7.7-2.6-16.9-5.7-26.9-8.7-26.8-8.1-58.9-16.4-83.1-16.4-24.2 0-46.2 8.6-67.2 16.6-21 8-41 15.4-60.8 15.4-19.8 0-39.8-7.4-60.8-15.4S152.2 443 128 443z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarnivalMask;

impl IconShape for CarnivalMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M411.37 124.355c3.16 13.036 3.345 25.696 1.355 37.852-19.596 15.54-40.52 28.885-59.733 38.029l-1.36-.457c24.217-19.204 45.7-42.1 59.737-75.424zm-310.74 0c14.039 33.324 35.521 56.22 59.737 75.424-.455.154-.908.305-1.36.457-19.212-9.144-40.136-22.488-59.732-38.03-1.99-12.155-1.805-24.815 1.356-37.85zm367.022 11.137c-2.128 12.273-5.158 25.783-8.697 38.996C435.647 198.164 409.74 207.91 384 207.91c-1.774 0-3.725-.191-5.824-.53 31.882-17.768 64.556-43.5 89.476-71.888zm-423.304 0c24.92 28.389 57.594 54.12 89.476 71.889-2.099.338-4.05.529-5.824.529-25.74 0-51.647-9.745-74.955-33.422-3.539-13.213-6.57-26.723-8.697-38.996zm453.25 17.885c-7.066 35.468-21.193 73.969-43.196 106.25C421.706 307.597 372.623 373.844 304 368c-16 0-32-64-48-64s-32 64-48 64c-68.623 5.844-117.706-60.404-150.402-108.373-22.003-32.281-36.13-70.782-43.196-106.25C45.948 203.484 86.801 225.91 128 225.91c21.913 0 39.477-12.627 61.64-18.28 11.082-2.825 21.409-3.978 30.04-2.163 8.01 1.683 20.862 5.71 36.32 14.517 15.458-8.806 28.31-12.834 36.32-14.517 8.631-1.815 18.958-.662 30.04 2.164 22.163 5.652 39.727 18.279 61.64 18.279 41.2 0 82.052-22.426 113.598-72.533zm-147.244 95.535c-28.264-.086-62.951 5.168-62.346 12.435 5.812 69.834 97.853 16 97.976-3.693.039-6.125-16.292-8.683-35.63-8.742zm-188.708 0c-19.338.059-35.669 2.617-35.63 8.742.123 19.694 92.164 73.527 97.976 3.693.605-7.267-34.082-12.521-62.346-12.435zm251.292 107.597a256.804 256.804 0 0 0 14.63 6.62c16.182 6.737 35.272 12.676 56.069 16.693-5.14 1.657-10.72 3.207-17.07 4.342-19.914 3.559-44.712 4.621-69.042 2.095-12.442-1.291-24.758-3.542-36.261-6.787 18.97-4.771 36.193-12.712 51.673-22.963zm-313.875 0c15.48 10.251 32.702 18.192 51.673 22.963-11.503 3.245-23.82 5.496-36.261 6.787-24.33 2.526-49.128 1.464-69.041-2.095-6.352-1.135-11.93-2.685-17.07-4.342 20.796-4.017 39.886-9.956 56.068-16.693a256.8 256.8 0 0 0 14.63-6.62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarnivorousPlant;

impl IconShape for CarnivorousPlant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.252 29.83c-1.173-.01-2.345-.003-3.516.018-15.608.282-30.968 3.33-44.71 10.203-29.86 14.93-47.942 38.91-53.255 61.995-4.703 20.442-.065 39.793 15.7 54.012 44.847-57.15 108.49-91.395 155.475-109.645-13.033-6.054-28.6-11.46-45.144-14.312-8.09-1.396-16.34-2.203-24.548-2.27zm95.853 26.29l-1.26.42c-4.97 1.656-10.29 3.558-15.868 5.694l33.955 28.65c-5.9-12.806-12.63-26.41-16.827-34.765zm-41.98 16.566c-6.224 2.856-12.62 5.986-19.113 9.375l26.267 21.928-7.155-31.302zm20.648 9.556l8.018 35.078c7.872-2.74 15.732-5.547 23.585-8.414l-31.602-26.664zm-63.11 13.002c-7.805 4.763-15.627 9.92-23.352 15.48l28.053 16.176-4.7-31.656zm19.208 6.807l4.566 30.747c7.82-2.373 15.625-4.84 23.416-7.39l-27.98-23.356zm87.528 21.507c-60.87 22.443-122.75 41.984-187.195 51.957 11.394 13.965 29.036 23.11 49.475 27.61 25.326 5.58 54.222 3.755 76.476-3.663 22.008-7.335 40.552-22.244 51.358-38.452 8.73-13.097 12.104-26.365 9.886-37.45zm-139.275 2.65l-4.018 22.69c10.154-2.305 20.27-4.81 30.346-7.51l-26.327-15.18zm-19.668 7.846c-7.66 6.975-15.054 14.41-22.023 22.35 6.243-1.06 12.467-2.212 18.675-3.446l3.348-18.904zm-39.037 56.703c-2.14 5.79-4.03 11.735-5.47 17.728-2.922 12.143-4.647 24.74.17 37.76 6.585 17.802 22.853 28.142 37.896 31.912 15.042 3.77 30.214 3.44 44.193 3.442 13.98 0 26.77.376 34.5 2.474 7.153 1.942 8.95 2.96 10.61 7.922-.072.134-.01-.04-.174.264-.903 1.663-3.53 5.016-7.598 8.676-5.883 5.29-14.55 11.262-24.162 17.035-24.288.58-30.506-5.795-41.12-14.107l-11.097 14.17c6.312 4.943 14 10.76 25.473 14.406-8.186 4.046-15.986 7.626-22.626 10.56h77.357c7.303-4.77 14.19-9.85 20.247-15.3 5.977-5.374 11.27-11.087 15.17-18.276 3.9-7.19 6.304-16.948 3.477-26.522-5.36-18.145-21.255-29.536-36.125-33.572-14.87-4.036-29.893-3.73-43.93-3.732-14.035 0-27.078-.265-35.442-2.362-8.365-2.096-10.693-3.555-12.885-9.48-.578-1.563-1-8.258 1.066-16.85.355-1.478.783-3.02 1.24-4.582-11.666-5.26-22.25-12.368-30.772-21.568zm156.96 40.207c-.638-.004-1.283.014-1.937.055-6.265.39-12.135 2.447-17.614 5.336 6.668 3.108 13.134 7.306 18.84 12.64 1.62.002 9.167 2.677 15.008 6.348 5.937 3.73 10.566 7.574 10.566 7.574l11.52-13.832s-5.42-4.53-12.508-8.982c-6.644-4.176-14.322-9.08-23.875-9.14zm-237.04 33.152l-8.676 15.77s11.36 6.268 25.512 11.525c14.15 5.257 30.98 10.82 46.072 4.985 7.326-2.833 12.883-8.033 17.408-14.047-4.894-3.69-9.435-8.087-13.338-13.248-4.013 5.412-8.07 9.542-10.562 10.505-5.42 2.096-20.59-.342-33.31-5.068-12.722-4.725-23.106-10.422-23.106-10.422zM137 361v30h238v-30H137zm33.623 48l13.002 78h144.75l13.002-78H170.623z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carousel;

impl IconShape for Carousel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M285.4 45.61L340.5 119h59.1L285.4 45.61zm-58.8.01L112.4 119h59.1l55.1-73.38zm20.4 2.71L194 119h53V48.33zm18 0V119h53l-53-70.67zM46.56 137l23 46h1.82c1.16-14.3 5.01-27.9 10.57-39 1.23-2.5 2.54-4.8 3.95-7H46.56zm65.44 0c-1 0-2.9.6-5.6 3.1-2.7 2.5-5.7 6.6-8.35 11.9-4.19 8.4-7.42 19.5-8.58 31h61.03c-1.2-11.3-4.7-22-10-30-6.7-10.1-15.5-16-28.5-16zm38.9 0c1.6 1.9 3.2 3.9 4.6 6 7.7 11.5 11.9 25.6 13.1 40h15.1c2.3-15.6 10.6-30.1 21.9-41.4 1.6-1.6 3.3-3.1 5-4.6h-59.7zm105.1 0c-13 0-27.1 6.8-37.6 17.4-8.2 8.1-14.1 18.4-16.4 28.6h108c-2.3-10.2-8.2-20.5-16.4-28.6C283.1 143.8 269 137 256 137zm45.4 0c1.7 1.5 3.4 3 5 4.6 11.3 11.3 19.6 25.8 21.9 41.4h15.1c1.2-14.4 5.4-28.5 13.1-40 1.4-2.1 3-4.1 4.6-6h-59.7zm98.6 0c-13 0-21.8 5.9-28.5 16-5.3 8-8.8 18.7-10 30h61c-1.1-11.5-4.4-22.6-8.6-31-2.6-5.3-5.6-9.4-8.3-11.9-2.7-2.5-4.6-3.1-5.6-3.1zm26.1 0c1.4 2.2 2.8 4.5 4 7 5.5 11.1 9.4 24.7 10.5 39h1.8l23-46h-39.3zM119 201v78.2c6.2-.2 12.2-.2 18-.2v-78h-18zm256.4 0v78.2c6.2-.2 12.2-.2 18-.2v-78h-18zm-167.1 37.1c-14.7 2.5-22.9 11.7-30.8 23.1-4.4 6.5-8.4 13.5-12.9 19.8-4.6 6.4-9.8 12.5-17.9 15.5l-1.5.5h-1.6c-15 0-32.8 0-47.3 1.3-7.23.7-13.62 1.7-18.03 3-4.41 1.3-6.2 3.3-5.76 2.5-18.83 31.7-15.6 54.9-13.6 89.2 3.19.1 4.97.2 8.77.1 3.68 0 4.57-.1 7.01-.1 8.77-24.1 10.74-29.6 12.39-45.1l1.27-11.8 11.05 4.5c22.9 9.2 40.5 7.8 54.8-2.3l7.1-5.1 5.2 6.9c12 15.6 16.3 30.8 25.3 52.7h12.8c-2.2-20.7-4.5-47-19.1-65.4l-2.2-2.7.2-3.5c.9-13.7 5.7-25.6 14.2-37l5.4-7.3 7.3 5.5c3.2 2.5 11.1 5.1 18.8 7.2l4.4-13c-12.9-12.9-19.1-25.4-25.3-38.5zm256.4 0c-14.7 2.5-22.9 11.7-30.8 23.1-4.4 6.5-8.4 13.5-12.9 19.8-4.6 6.4-9.8 12.5-17.9 15.5l-1.5.5H400c-15 0-32.8 0-47.3 1.3-7.2.7-13.6 1.7-18 3s-6.2 3.3-5.8 2.5c-18.8 31.7-15.6 54.9-13.6 89.2 3.2.1 5 .2 8.8.1 3.7 0 4.5-.1 7-.1 8.8-24.1 10.7-29.6 12.4-45.1l1.2-11.8 11.1 4.5c22.9 9.2 40.5 7.8 54.8-2.3l7.1-5.1 5.2 6.9c12 15.6 16.3 30.8 25.3 52.7H461c-2.2-20.7-4.5-47-19.1-65.4l-2.2-2.7.2-3.5c.9-13.7 5.7-25.6 14.2-37l5.4-7.3 7.3 5.5c3.2 2.5 11.1 5.1 18.8 7.2l4.4-13c-12.9-12.9-19.1-25.4-25.3-38.5zm-410.18 61c-12.98 4.4-21.64 12.7-26.02 22.5-5.82 13.1-5.33 27.3-5.13 39.6l16.15-.4c0-20 2.88-39.6 15-61.7zm256.48 0c-13.1 4.4-21.7 12.7-26.1 22.5-5.8 13.1-5.3 27.3-5.1 39.6l16.1-.4c0-20 2.9-39.6 15.1-61.7zm82.4 64.7c-5.8.8-11.8.9-18 .2v41h18v-41.2zm-256.4 0c-5.8.8-11.8.9-18 .2v41h18v-41.2zM73 423v16h366v-16H73zm-32 34v30h430v-30H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carrot;

impl IconShape for Carrot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.063 16.72a9 9 0 0 0-2.47.5c-16.076 5.625-27.55 10.77-36.155 21.81-6.477 8.313-10.984 18.854-16.063 34.407-11.313-12.292-26.732-22.486-43.875-30.812-23.817-11.568-51.083-19.46-76.156-22.78a9 9 0 0 0-6.282 16.343c21.685 14.934 40.525 29.268 53.407 43.687 9.964 11.155 16.21 22.01 18.436 33.53-32.89-3.705-62.75 3.47-99.406 23.25a9 9 0 0 0 5.125 16.907c34.352-3.265 69.484-3.808 96.563.625 13.54 2.217 25.007 5.723 33.218 10.25 3.168 1.747 5.82 3.57 8 5.532 5.365-8.13 12.033-15.638 19.438-22.22 13.09-11.637 28.792-20.638 45.03-24.094-11.326-18.24-14.138-30.23-12.843-41.5 1.588-13.813 10.567-28.893 22.564-52.344a9 9 0 0 0-8.53-13.093zm13.906 123.436c-.527-.003-1.062.016-1.595.03-14.925.428-32.515 8.518-46.594 21.033-16.088 14.3-26.977 33.817-26.78 50 .39 32.175 18.688 67.77 47.344 102.124 28.655 34.354 67.3 67.31 106.375 94.72 39.073 27.406 78.66 49.316 108.78 61.936 15.06 6.31 27.857 10.275 36.313 11.5 3.958.574 6.797.448 8.187.188.065-.798.153-1.837.063-3.22-.205-3.113-.814-7.504-1.844-12.75-2.06-10.49-5.772-24.554-10.97-40.812-10.397-32.516-26.75-73.9-47.688-114.937-13.56-26.58-29.085-53.016-46.093-76.814-14.193 17.317-12.034 17.985-49.72 36.72l-7.125-14.313c39.43-19.6 30.222-15.247 47.063-35.594-6.235-8.066-12.65-15.74-19.22-22.907-3.278-3.578-6.59-7.04-9.937-10.344-24.116 33.382-44.493 41.374-76.436 55.124l-7.125-16.53c32.963-14.19 47.585-18.322 70.218-50.814-21.94-18.66-45.057-30.964-68.594-34.03-1.505-.197-3.047-.304-4.625-.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CassowaryHead;

impl IconShape for CassowaryHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M223.7 23.1c-.7-.02-1.3-.02-2 0-14.8.35-31.3 7.84-50.4 25.69C196.8 93.94 200.6 131 193.8 170c0 .1 0 0 .1.2.6.9 2 2.7 4.2 4.7 4.4 4.1 11.5 9.4 20.4 15 17.6 11.3 41.9 24.1 66 35.5 24.2 11.3 48.2 21.2 65.1 26.6 4.7 1.6 8.7 2.6 12.1 3.3-13.2-48.7-35.8-125.2-68-177.11-17-27.34-36.4-46.96-56.4-52.95-4.4-1.3-8.9-2.06-13.6-2.14zm-40.7 162c-4.9 4.2-12 10.7-20.3 19.1-14.9 15-30.7 34.6-34.9 47.5-12.5 39.2-14.9 65.3 10.7 119.2 3.4 7.2 6.5 13.8 9.2 20l33.8 39.3 17.1-26.6 38 40.8-13 12.2-22.4-24-17.7 27.6-20.6-24.1c3.1 17.4 2.1 34.6-2.5 58.6h140.2c-29.9-46.2-32.3-59.2-51.2-119-2.9-9-3.4-20.9 1.4-32.1-5-3.3-12.4-8.5-19.9-14.8-6.6-5.5-13.3-11.9-18.7-19-5.3-7.1-9.6-15.1-9.6-24.3 0-1 0-1.9.1-2.9-3.9-4.8-6.2-10.9-6.2-17.5 0-16.5 14.5-29.4 31.2-29.4 2.3 0 4.6.3 6.8.7 4.3-3.6 8.5-6.9 12.3-9.7-13.9-7.3-27-14.7-38-21.7-9.3-5.9-17.1-11.6-22.9-17-1-1-2-1.9-2.9-2.9zm81.8 50.7c-3.8 2.6-8.5 6-13.6 10.1 4.8 5.1 7.7 11.8 7.7 19.2 0 16.5-14.5 29.4-31.2 29.4-1.5 0-2.9-.1-4.3-.3.9 1.5 1.9 3.1 3.1 4.8 4.1 5.5 9.9 11.1 15.9 16.1 7.5 6.3 15 11.4 19.6 14.4 6.6-5 15.4-8.2 26.2-8 40.7.6 109.2 19.1 152.5 46.1.2-2.3-.3-5.6-1.9-9.9-3.4-8.8-11.4-20.4-21-32-17.3-20.6-39.2-40.6-50.5-51.4h-.6c-6.2-.4-13.5-2.3-22.6-5.2-18.1-5.9-42.5-15.9-67.2-27.5-4-1.9-8.1-3.9-12.1-5.8zm-37.1 17.8c-7.9 0-13.3 5.5-13.3 11.5 0 3.1 1.4 6 3.8 8.1a15.45 12.59 0 0 1-.1-1.8 15.45 12.59 0 0 1 15.4-12.6 15.45 12.59 0 0 1 6 1c-2.1-3.6-6.4-6.2-11.8-6.2zm-64.9 4.2l16.8 6.2c-6.1 16.3-6.3 16.9-6.3 29.4l-17.8.2c-.2-13.3 1.2-19.3 7.3-35.8zm198.4 43c13.7.1 23.2 5.1 31 8.4l-7 16.4c-8.8-3.7-14.7-6.9-24.2-6.9l.2-17.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Castle;

impl IconShape for Castle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.95 27.11L180.6 107.614l150.7 1.168-75.35-81.674h-.003zM25 109.895v68.01l19.412 25.99h71.06l19.528-26v-68h-14v15.995h-18v-15.994H89v15.995H71v-15.994H57v15.995H39v-15.994H25zm352 0v68l19.527 26h71.06L487 177.906v-68.01h-14v15.995h-18v-15.994h-14v15.995h-18v-15.994h-14v15.995h-18v-15.994h-14zm-176 15.877V260.89h110V126.63l-110-.857zm55 20.118c8 0 16 4 16 12v32h-32v-32c0-8 8-12 16-12zM41 221.897V484.89h78V221.897H41zm352 0V484.89h78V221.897h-78zM56 241.89c4 0 8 4 8 12v32H48v-32c0-8 4-12 8-12zm400 0c4 0 8 4 8 12v32h-16v-32c0-8 4-12 8-12zm-303 37v23h-16v183h87v-55c0-24 16-36 32-36s32 12 32 36v55h87v-183h-16v-23h-14v23h-18v-23h-14v23h-18v-23h-14v23h-18v-23h-14v23h-18v-23h-14v23h-18v-23h-14v23h-18v-23h-14zm-49 43c4 0 8 4 8 12v32H96v-32c0-8 4-12 8-12zm72 0c8 0 16 4 16 12v32h-32v-32c0-8 8-12 16-12zm80 0c8 0 16 4 16 12v32h-32v-32c0-8 8-12 16-12zm80 0c8 0 16 4 16 12v32h-32v-32c0-8 8-12 16-12zm72 0c4 0 8 4 8 12v32h-16v-32c0-8 4-12 8-12zm-352 64c4 0 8 4 8 12v32H48v-32c0-8 4-12 8-12zm400 0c4 0 8 4 8 12v32h-16v-32c0-8 4-12 8-12z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CastleRuins;

impl IconShape for CastleRuins {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.975 17.701L306.678 119.43 459.27 93.998l-76.296-76.297zM106.24 77.895l-17.5 4.21 34.05 141.487 13.6-20.405-30.15-125.292zm-35.209 7.683c-8.85 41.457-17.725 90.065-41.402 111.129 9.026 2.35 21.416-1.194 34.652-23.71 6.948 15.963 2.313 17.464-1.957 28.737 16.561-3.429 25.204-18.531 24.873-37.806l-16.166-78.35zm366.957 30.215L361 128.623V160h-18v-28.377l-32 5.334V199h82v32h30v-32h15.846l-18.776-56.33 17.918-26.877zM148.816 217l-31.04 46.563-41.085 13.695 32 63.998-55.83 18.611L25 387.727V487h90.512l-11.075-33.225-45.43-30.287 9.985-14.976 50.57 33.713L134.488 487h147.95l27.845-55.69-13.398-40.195L208 361.488l-45.154 15.051-5.692-17.078 44.04-14.68 28.245-70.613L204.273 249H151v-32h-2.184zM217 217v19.273l28.33 28.329 62.695 31.347-8.05 16.102-55.252-27.625-24.82 62.054 91.212 30.405 16.752 50.254 31.53 31.529L373.562 487H487V336.816L452.525 359.8l-32.5 16.252-8.05-16.102 31.5-15.748L487 315.184V217h-46v32h-66v-32h-46v32h-66v-32h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caterpillar;

impl IconShape for Caterpillar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.5 135.7c19.6 32.3 23.9 68.6 17.7 102.5 15.1 2.7 27.5 13.6 39.9 27.6 2.7 3.1 5.5 6.4 8.3 9.8 10.6-11.3 17.7-28.2 20.2-47.2 2.8-21.8-.7-45.4-10-63.1-.3-.4-.7-.9-1-1.3a22.65 43.28 6.281 0 1-26.1 32.2 22.65 43.28 6.281 0 1-17.5-45.9 22.65 43.28 6.281 0 1 2.2-11.6c-8-1.9-17.3-2.9-28.1-3zm-20.5 1.5c-5.2.6-10 1.5-14.3 2.6a37.86 20.25 64.9 0 1 2.1 3.9 37.86 20.25 64.9 0 1-.9 43.9 37.86 20.25 64.9 0 1-34.4-23.9 37.86 20.25 64.9 0 1-2.1-4.7c-6.3 6.5-10.9 14.1-14.7 22.7 21.7 14.6 33.3 33.9 38.5 53.9 2.3 8.5 3.5 17.1 4.2 25.6 1.2-1.5 2.5-2.9 3.8-4.3 10.3-11.1 21.8-17.6 37.8-19.2 7-33.8 2.3-69.4-20-100.5zM157.2 199c-1.6 4.9-3.1 10-4.7 15.1a25.71 14.31 34.53 0 1 12.6 26.1 25.71 14.31 34.53 0 1-22.4 1.1c-1.5 3.5-3.2 6.9-5.1 10.3 15.2 6.9 24.5 18.6 29.1 31.8 2.3 6.6 3.8 13.5 4.7 20.4 6.8-7.8 12.5-14.8 17.6-21.1 0-14.8-.7-29.4-4.2-42.5-4.1-15.8-11.7-29.6-27.6-41.2zm326 22.1c-13.4 17.1-18.8 39.2-21.3 59.5.1.1.3.1.5.2 5.8 2.4 11.5 5 16.8 8 2.4-20.5 7.1-42.5 18.2-56.7zm-130.7 8.6c0 .4-.1.7-.1 1.1-3 22.6-11.7 44.4-26.7 59.1 8 10.3 16.6 21.7 26.4 33.6 1.2 1.5 4.3 3.6 8.7 5.8 18.2-16.4 27.5-33.5 28.2-51.9-2.8-1.3-5.4-2.8-7.8-4.5a14.31 25.71 27.97 0 1-19.3 8 14.31 25.71 27.97 0 1-.6-29.4 14.31 25.71 27.97 0 1 .5-.9l-1.8-3.3c-2.8-5.6-5.3-11.5-7.5-17.6zM242 256c-7.9 1.5-12.8 5.5-19.9 13.2-1.4 1.5-2.9 3.2-4.4 5a20.74 15.03 67.92 0 0 .2.4 20.74 15.03 67.92 0 0 22.5 6.5A20.74 15.03 67.92 0 0 242 256zm30.9 4.7a15.58 20.74 40.18 0 0-6.6 25 15.58 20.74 40.18 0 0 23.9 1.6 15.58 20.74 40.18 0 0 5-5.1c-1.3-1.5-2.6-3.1-3.9-4.5-6.7-7.7-12.8-13.3-18.4-17zm-145.3 5.8c-.2.2-.4.5-.6.7a25.71 14.31 62.03 0 1-2.5 25.3 25.71 14.31 62.03 0 1-19.4-8.2c-1.2.4-2.5.8-3.8 1.2 6.2 11.2 8.8 23.2 9.3 34.1.2 6-.1 11.8-.8 17.1 6.4-.9 12.6-2.1 18.2-3.5 14-3.5 25-9.1 26.8-11 .1-.1.1-.2.2-.2-1-12.2-2.2-23.7-5.3-32.7-3.8-10.8-9.1-18.7-22.1-22.8zm279 16.2c-2.1 19.3-11.6 37.2-27 53.3.5.1.9.2 1.4.3 11.9 2.8 25.9 4.7 40 5.4 10.3-17 15.5-35.7 13-52-1.3-.3-2.7-.7-4-1.1a10.65 21.91 5.821 0 1-10.8 10.5 10.65 21.91 5.821 0 1-8.3-15.4c-1.5-.4-2.9-.7-4.3-1zM81.97 288c-4.53.2-9.08.2-13.55.2a25.89 16.75 75.16 0 1-11.93 20.9 25.89 16.75 75.16 0 1-20.99-18.5c-3.11.9-5.69 2.1-7.62 3.6-4.52 3.6-7.62 9-6.95 22.8.38 7.8 5.04 12.5 15.86 16.6 10.81 4.2 26.75 6 43.35 5.7 3.69-.1 7.41-.3 11.12-.5 1.02-5.7 1.65-12 1.38-18.5-.46-11-3.12-22.1-10.67-32.3zm370.63 7.8c.6 15.6-3.8 31.4-11.1 46 13.9-.5 26.7-2.3 35.7-5.2 5.6-1.9 9.7-4.2 11.7-6.1 2.1-1.9 2.3-2.7 2.2-4.5-.3-4.9-3.2-9.6-9.3-14.7-6-5-15-9.8-24.9-13.8-1.4-.6-2.9-1.1-4.3-1.7zm-259.6 9c-6 7.2-12.8 15.1-21 23.9a20.77 16.07 52.56 0 0 4 4.4 20.77 16.07 52.56 0 0 24.7.2 20.77 16.07 52.56 0 0-6-27.1 20.77 16.07 52.56 0 0-1.7-1.4zm125.5 6.9a14.85 20.66 27.26 0 0-3.2 26.7 14.85 20.66 27.26 0 0 22.4-2.5c-.3-.3-.6-.7-.9-1-6.7-8.2-12.6-15.8-18.3-23.2zm-171.7 34.5c-4.8 1.7-10.1 3.1-15.8 4.5-3.1.8-6.4 1.5-9.8 2.1a20.74 13.19 72.3 0 0 2.8 6.9 20.74 13.19 72.3 0 0 19.9 8.2 20.74 13.19 72.3 0 0 2.9-21.7zm-103.96 8.2a13.25 20.94 0 0 0 0 .2 13.25 20.94 0 0 0 13.25 20.9 13.25 20.94 0 0 0 13.12-18.2c-9.16-.2-18.08-1.1-26.37-2.9zm435.16.3c-8.3 2.4-17.7 3.8-27.7 4.6a20.48 14.24 70.89 0 0 3.2 5.7 20.48 14.24 70.89 0 0 21.1 3.9 20.48 14.24 70.89 0 0 3.4-14.2zm-96.6.4a20.76 15.54 83.84 0 0 1.2 7.4 20.76 15.54 83.84 0 0 20.4 12.7 20.76 15.54 83.84 0 0 9.4-15.9c-10.7-.8-21.3-2.2-31-4.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cavalry;

impl IconShape for Cavalry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.962 29.14c-3.21.063-6.68 1.158-10.303 3.4-5.798 3.584-11.47 10.14-14.872 18.715-3.4 8.575-3.767 17.236-2.004 23.82 1.763 6.585 5.248 10.765 9.83 12.583 4.582 1.817 9.986 1.165 15.784-2.42 5.797-3.586 11.467-10.143 14.87-18.717 3.4-8.573 3.767-17.235 2.005-23.82-1.763-6.584-5.25-10.764-9.832-12.58-1.718-.683-3.55-1.018-5.478-.98zm83.428 36.012c-8.823 13.437-17.545 27.577-36.268 45.2l-1.615 1.52-2.137.596c-9.165 2.554-19 3.7-28.863 4.48-.54 5.822-1.76 11.47-3.492 16.946 14.814.187 28.827-.778 41.297-4.62 18.26-17.188 36.623-35.375 44.685-56.7l-13.607-7.422zm-133.135 31.58c-.172 0-.348.005-.527.02-1.248.117-2.846.825-5.022 2.126-11.898 12.29-14.007 33.196-.867 57.082 5.73 10.42 18.094 18.277 33.66 23.58 13.165 4.485 28.138 7.013 41.808 8.51l3.71-13.443c-6.24-1.808-14.008-3.65-22.142-6.082-11.813-3.53-24.576-8.437-34.355-18.432l-.343-.35-.303-.388c-5.047-6.43-5.557-13.842-5.6-22.496-.037-7.045.813-15.254 2.02-24.023-3.345-2.203-6.258-4.21-8.39-5.088-1.395-.575-2.445-1.008-3.65-1.018zm29.242 12.676c-.806 6.653-1.25 12.573-1.226 17.36.035 6.717 1.526 10.814 1.69 11.21 1.988 1.936 4.304 3.67 6.87 5.24 4.536-8.52 8.03-16.96 9.363-25.23l-16.696-8.58zm202.955 36.5c-38.698.407-97.748 25.527-127.31 46.75l21.93 26.664c23.08-25.157 50.67-42.282 78.29-49.248 28.02-7.068 56.45-3.25 78.33 13.597 1.784-1.8 2.504-3.56 2.694-5.432.305-3.01-.998-7.446-4.865-12.283-7.734-9.675-24.947-19.342-45.388-20.008-1.204-.04-2.43-.052-3.68-.04zm-259.16 8.734c-6.568 16.39-10.208 33.35-7.805 47.883 2.263 13.104 8.145 17.46 18.125 21.94 9.99 4.483 23.807 7.117 36.907 14.036l6.466 3.417-2.022 7.03c-5.67 19.72-14.65 38.776-28.312 56.41 8.66 10.85 24.016 19.95 40.84 29.016l6.138-10.893-17.434-29.078 4.14-4.914c10.787-12.804 16.836-38.882 20.882-55.754-7.692-7.7-25.79-16.08-42.803-28.55l-6.36-4.66 3.784-6.917c.52-.952 1.076-1.906 1.62-2.86-12.188-5.97-22.86-14.237-29.39-26.11-1.823-3.313-3.407-6.652-4.778-9.995zm260.135 29.922c-7.587-.093-15.517.908-23.664 2.963-26.07 6.576-53.767 24.346-75.986 51.377l-6.952 8.457-33.34-40.54c-1.77.288-3.426.55-5.21.842 9.908 16.11 16.95 31.17 25.693 40.888 5.715 6.352 11.743 10.584 20.38 12.742 8.025 2.006 18.66 2.104 33.263-1.126-2.695-7.855-2.26-16.004-.318-23.077 2.52-9.172 7.08-17.28 10.78-24.534l16.035 8.184c-2.167 4.244-4.322 8.392-6.112 12.324 5.102-.272 13.1-.745 20.61-1.246 8.984-.6 14.34-.982 17.38-1.197 1.703-3.57 3.562-6.718 5.905-9.497 3.513-4.17 8.686-7.383 14.256-8.108 1.392-.18 2.764-.257 4.13-.234 6.8.114 13.423 2.692 21.293 6.686 1.867-6.108 3.71-12.142 5.54-18.045-12.05-11.18-27.044-16.652-43.683-16.856zM277.92 210.86c-4.448.743-8.952 1.51-13.448 2.27 5.022 3.758 9.534 8.032 13.05 13.293l2.204 3.297-.948 3.852c-3.357 13.658-7.853 41.85-21.802 62.15l16.474 27.48-14.802 26.26c6.94-1.8 13.538-4.246 19.607-7.447l11-5.8 2.074 12.26c5.978 35.36-13.102 68.48-22.475 99.294 6.508 9.05 12.247 14.98 17.275 20.388 4.097 4.407 8.004 9.006 10.654 14.683h28.254c-1.863-9.857-5.227-15.497-17.834-26.75l-5.578-4.98 3.87-6.396c15.287-25.248 24.903-82.92 28.925-111.46l.92-6.526 6.503-1.092c10.253-1.72 16.833-5.857 22.162-11.826 5.33-5.97 9.233-14.076 12.258-23.29 1.334-4.067 2.448-8.31 3.478-12.62-16.163 3.494-29.45 3.68-40.754.855-12.36-3.088-21.957-9.893-29.4-18.164-12.948-14.39-20.65-32.733-31.665-49.73zm-108.337 19.524c-14.047 2.79-27.408 5.57-39.43 8.29-12.594 4.275-20.655 10.807-26.92 19.765-6.32 9.03-10.644 20.798-14.083 34.75-6.85 27.778-10.026 63.737-23.073 100.858l-17.465 65.434c3.948 3.74 7.722 6.273 11.717 9.855 3.488 3.13 6.69 7.757 8.58 13.504h23.447c.593-9.5-2.71-19.834-10.856-26.5l-5.18-4.235 26.142-62.953 5.35-.537c21.24-2.133 40.548-26.11 51.19-40.262l3.75-4.982 5.982 1.758c22.6 6.637 49.11 10.156 73.326 7.377-21.107-11.086-43.545-22.54-55.405-43.017l-3.175-5.483 4.09-4.84c12.58-14.873 20.877-30.868 26.6-47.8-8.712-3.39-18.953-6.002-28.93-10.48-5.508-2.472-10.967-5.897-15.657-10.5zm288.38.46c-.19-.005-.353.002-.493.02-1.118.146-1.406.185-2.817 1.858-1.352 1.604-3.214 4.944-5.216 9.785-1.614 5.982-.063 10.297 4.242 15.903 2.565 3.34 6.158 6.746 10.16 10.117 4.106-10.06 7.79-20.716 11.25-31.467-9.026-4.414-14.86-6.17-17.128-6.217zm-340.25 13.26c-.02 0-.32.076-.358.08.37.02.43-.086.36-.08zm313.353 4.83c-4.126.288-5.917.422-12.262.845-10.82.72-21.303 1.44-26.12 1.497.313 2.1 1.08 4.127 2.41 6.265l.532.854.33.95c.627 1.807 1.2 3.502 1.744 5.15 2.49 4.435 9.938 11.22 20.264 16.535 10.333 5.317 23.014 9.548 34.29 11.682 1.334-2.325 2.624-4.727 3.876-7.19-5.863-4.615-11.877-9.832-16.727-16.148-4.34-5.652-7.67-12.72-8.337-20.44zm-347.57 7.306c-5.687 2.507-11.285 5.163-16.114 7.74-6.134 3.273-10.633 6.54-12.37 8.03-4.556 15.79-6.52 30.088-11.78 44.884-4.72 13.276-12.487 26.58-26.66 40.11 11.624 10 23.234 16.21 37.47 15.316 8.202-29.22 11.38-58.08 17.63-83.44 2.888-11.71 6.472-22.743 11.825-32.64zm320.41 37.61c.224 5.742-.135 11.87-.944 19.608-.05 6.863 3.644 11.33 9.248 12.71 5.623 1.388 14.58-.295 24.822-12.622l.204-.244.22-.23c1.315-1.372 2.59-2.824 3.836-4.324-10.776-2.654-21.76-6.668-31.562-11.71-1.99-1.025-3.925-2.093-5.825-3.19zm-27.463 33.017c-6.36 6.718-14.816 11.936-25.082 14.857-.01.077-.026.17-.037.248l15.336 17.203-8.665 25.655-14.53 3.216c-1.706 8.07-3.678 16.264-5.95 24.278.423.08.85.17 1.27.246 10.442 1.892 19.172 1.915 26.915-1.684 17.515-18.86 28.118-31.565 31.95-53.44-1.87-7.903-10.127-20.008-19.666-29.138-.512-.49-1.026-.967-1.54-1.44zm-210.993 42.66c-5.333 6.792-12.013 14.51-20.16 21.164 16.307 31.444 34.568 62.892 57.48 92.173h26.753c-28.96-35.58-47.84-75.123-64.073-113.336z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CaveEntrance;

impl IconShape for CaveEntrance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M346.951 24.582L299.193 72.34l-101.136-7.024-40.97 80.737 68.688 25.35 37.153-19.936 8.511 15.861-44.293 23.768-79.7-29.416-70.19 55.341 35.117 58.995-.375.2 13.014 21.585 29.134 2.361 55.06-35.123 9.679 15.176-60.16 38.377-44.364-3.596-18.23-30.234-56.8 30.586 33.712 61.804-33.713 40.735L18 444.177V494h170.62l-5.6-45.592a260.658 260.658 0 0 1-5.147-4.512c-4.186-3.761-5.89-5.444-8.027-7.484l-73.13 21.797-21.339-20.484 12.467-12.985 13.777 13.225 73.068-21.78 3.784 3.667s4.24 4.09 9.216 8.636l37.797-37.248 8.133 79.54 6.3-93.444 10.364 28.387 6.281-45.112 3.14-3.091-.29-.233 22.486-27.974.465-.907.188.096 11.453-14.248 14.03 11.277-9.122 11.348 67.803 34.715 27.008-9.489 22.478 17.71 22.924-12.036 8.367 15.938-33.262 17.46-23.875-18.81-24.964 8.772-9.584-4.907 39.04 87.842L383.923 494H494v-28.512L462.713 478.2l-6.776-16.678L494 446.06V211.176l-23.438-26.463-21.654-67.371-33.547 32.666-107.77-13.873-28.019-29.096 12.967-12.486 23.629 24.539 92.867 11.953 31.442-30.615-52.79-61.801zm27.53 177.74l34.177 41.428 28.863-6.56-4.136-13.59 17.22-5.243 9.77 32.098-58.543 13.307-31.377-38.033-33.086 19.853-9.262-15.436z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caveman;

impl IconShape for Caveman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.1 25.62l-3.5 12.53 134.9 36.28 4.4-13.19zM316.4 54.6l-8.6 25.73c14.6 13.43 29.6 14.58 47.1 13.07l6-29.18c-12.6-6.91-27.8-9.25-44.5-9.62zm128 27.27l-29.6 8.09-4.7 17.24 23.8 23 52.1-11.7zm-68.5.58L373 96.57l19.6 5.33 3.8-14.07zm-174.6 7.46c-7.3.18-14.4 3.61-20.7 9.95-7 7.24-12.4 18.24-13.9 31.04s1.4 24.7 6.7 33.3c5.4 8.4 12.7 13.5 21.1 14.4 8.4.8 16.7-2.6 23.8-9.9 7-7.2 12.5-18.2 14-31.1 1.4-12.7-1.5-24.6-6.8-33.1-5.4-8.55-12.7-13.61-21-14.47-1-.11-2.1-.15-3.2-.12zm113.3 16.39c-4.6 33.6-11.8 60.1-22 88.3l-27.5-3.6c-.4 15-2.4 30-7.5 45.2 20.6-.5 40.2-2.8 59.3-11.3 11.3-37.8 18.4-75.3 24.3-112.9-8.9-.4-17.8-1.9-26.6-5.7zm-174.1 76.9c-8.7 0-15.5.7-26.6 4.1-26.62 16.2-45.72 40.2-53 57.9-8.4 20.9-11.67 47-11.26 70.5l25.64 3.2c3.41-24 4.92-41.7 10.83-60.8l47.29-34-2.9 45.9 7.5-2.3c18-9.1 30.5-20.7 41.3-34.1 9.4-11.6 17.3-24.5 25.7-37.5-4.1.8-8.2 1-12.5.6-10.5-1-19.6-5.9-26.9-13.1-10.9 0-18.7-.4-25.1-.4zm106.1 4.8l-13.7.2c-12.9 17-23.3 36.5-37.9 55 6.4 2.3 11.4 8.4 11.5 13.9-.9 10.3-10.6 15-19 15.1-6.1-.4-11-2-15-5.6-12.1 10-26.8 18.8-45.4 25.2.2 2.4.5 4.9.6 7.3 3.1-1 6.3-1.5 9.8-1.5 11.5.3 23.1 7.4 23.3 18.1-1.3 12.4-13.3 18-23.3 18.1-3.7 0-7.2-.6-10.3-1.8-.9 7.5-2.5 15.1-5.1 22.7l27 2.5 5.8 29.4 24.9-23 12.5 32.3c5.4-10.2 11-20.4 17.2-30.4-11.3-.2-23.6-6.5-23.9-16.7 1.3-12.5 14.3-16.7 24-16.8 7.3.4 13.8 1.8 19 6.2 7.8-9.8 16.6-19.1 26.4-27.8-1.3-3.4-3-7-5.1-10.6-3 .8-6.4 1.2-9.9 1.2-10.2-1.1-22.7-3.5-22.9-14.5.4-6.3 4.9-10.2 9.9-12.3 1.3-.5 2.7-.9 4.1-1.2-2.7-3.5-5.1-6.5-7.8-10.1l3.7-5.5c15.5-23.2 19.4-45.3 19.6-69.4zm4.2 152c-8 8.9-15 18.3-21.6 28.3 4.5 3.8 9.4 7.8 14.2 11.9 9.4 8 19.2 17 21.7 30.3l14.4 75.9 27.8-10.4c-3.6-28.8-5.3-48.9-12.7-81.3v-.3l-.1-.3c-1.6-10-10.3-20.4-21.8-31.6-7.1-7-15.1-14.3-21.9-22.5zM126 373.4l-20 50.1c-24.75 5.4-51.43 1-72.64-3.4l-7.39 23.7c32.23 6.1 74.93 10.2 97.83 5.9l18.8-31.1-8.8-44.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CctvCamera;

impl IconShape for CctvCamera {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109.285 30.402c-14.82-.007-30.414 2.144-46.822 6.932a9.5 9.5 0 0 0-.145.05 9.5 9.5 0 0 0-.496.173 9.5 9.5 0 0 0-.39.152 9.5 9.5 0 0 0-.47.218 9.5 9.5 0 0 0-.384.193 9.5 9.5 0 0 0-.463.273 9.5 9.5 0 0 0-.342.22 9.5 9.5 0 0 0-.435.32 9.5 9.5 0 0 0-.324.256 9.5 9.5 0 0 0-.397.357 9.5 9.5 0 0 0-.297.29 9.5 9.5 0 0 0-.37.405 9.5 9.5 0 0 0-.247.293 9.5 9.5 0 0 0-.342.463 9.5 9.5 0 0 0-.215.315 9.5 9.5 0 0 0-.282.472 9.5 9.5 0 0 0-.193.354 9.5 9.5 0 0 0-.233.497 9.5 9.5 0 0 0-.156.367 9.5 9.5 0 0 0-.178.512 9.5 9.5 0 0 0-.122.386 9.5 9.5 0 0 0-.17.688L33.42 156.55a9.5 9.5 0 0 0 5.625 10.614l82.023 34.578 31.62 162.133-116.534 25.313a9.5 9.5 0 0 0-7.5 9.156l-1.062 76.47a9.5 9.5 0 0 0 12.375 9.186l146.468-46.813 24.123-4.677c.177.003.353.015.53.015 9.956 0 19.332-4.742 25.88-12.472 6.543-7.724 9.966-17.79 9.956-28.16v-.026c.006-6.574-1.372-13.037-4.045-18.855l-25.273-130.57 125.774 53.02a9.5 9.5 0 0 0 .155.058 9.5 9.5 0 0 0 .545.197 9.5 9.5 0 0 0 .35.11 9.5 9.5 0 0 0 .543.138 9.5 9.5 0 0 0 .416.086 9.5 9.5 0 0 0 .483.073 9.5 9.5 0 0 0 .482.05 9.5 9.5 0 0 0 .43.02 9.5 9.5 0 0 0 .54.004 9.5 9.5 0 0 0 .363-.01l83.406-5.28a9.5 9.5 0 0 0 7.97-5.438l50.522-106.954.008-.014a9.5 9.5 0 0 0 0-.002 9.5 9.5 0 0 0 .02-.047 9.5 9.5 0 0 0-5.51-13.137c-7.787-4.27-15.802-7.26-23.956-9.148L152.273 36.688a9.5 9.5 0 0 0-.802-.268c-13.317-3.843-27.364-6.01-42.185-6.018zM82.938 44.125a9.5 9.5 0 0 1 3.687.72l290.75 116.53a9.508 9.508 0 0 1 5.77 10.79 9.5 9.5 0 0 0-.707 1.46l-.836 2.07a9.508 9.508 0 0 1-11.29 3.336L79.563 62.47a9.5 9.5 0 0 1 3.376-18.345zm357.308 128.367c4.4.038 8.75.508 13.068 1.404l14.74 5.72-23.67 50.114c.912-4.058 1.378-8.082 1.335-11.855-.1-8.732-2.94-15.95-7.845-19.563-4.905-3.613-11.688-3.48-18.375.25-1.65.92-3.305 2.063-4.906 3.375.614-.822 1.19-1.72 1.687-2.687 1.417-2.757 2.248-5.952 2.22-8.78-.032-2.835-.945-5.243-2.563-6.47-.808-.613-1.74-.922-2.75-.906-1.01.016-2.102.332-3.156.937-2.107 1.212-4.08 3.52-5.5 6.282-1.417 2.764-2.25 5.948-2.217 8.782.03 2.833.945 5.242 2.562 6.47 1.617 1.225 3.798 1.147 5.906-.064-3.416 3.562-6.546 7.9-9.092 12.72-4.608 8.716-7.226 18.798-7.125 27.53.1 8.732 3 15.98 7.906 19.594 4.904 3.614 11.624 3.45 18.31-.28 4.178-2.332 8.29-6.018 11.91-10.582l-8.41 17.8-62.75 4 37.253-92.39c14.635-7.746 28.272-11.513 41.463-11.4zm-298.078 38.145l16.014 6.752 29.732 139.555c-3.005-.917-6.143-1.41-9.342-1.41-2.724 0-5.4.366-7.988 1.037l-28.416-145.935zm37.353 15.748l17.017 7.174 23 118.83c-2.732-.75-5.564-1.156-8.447-1.156-1.643 0-3.266.14-4.865.39l-26.704-125.24zM211.09 370.3c3.863 0 8.258 1.978 11.472 5.772 3.215 3.795 5.433 9.89 5.424 15.795a9.47 9.532 0 0 0 0 .026c.01 5.905-2.21 12-5.423 15.795-1.525 1.8-3.316 3.177-5.188 4.142l-6.143 1.19c2.106-5.273 3.184-11.002 3.178-16.827v-.025c.004-3.773-.452-7.51-1.342-11.107a9.5 9.5 0 0 0-.193-2.248l-2.656-12.458c.29-.022.583-.055.87-.055zm-32.518 4.3c3.864 0 8.26 1.978 11.475 5.773 3.214 3.795 5.43 9.89 5.422 15.795a9.47 9.532 0 0 0 0 .025c.008 5.905-2.21 12-5.423 15.795-3.215 3.795-7.61 5.774-11.475 5.774-3.863 0-8.233-1.98-11.447-5.774-3.214-3.794-5.458-9.89-5.45-15.795a9.47 9.532 0 0 0 0-.025c-.008-5.905 2.236-12 5.45-15.795s7.584-5.773 11.447-5.773zm-34.496 10.59c-.87 3.56-1.316 7.25-1.312 10.978v.025c-.01 10.37 3.41 20.437 9.953 28.16.838.99 1.723 1.93 2.648 2.817L46.78 461.875l.782-55.72 96.514-20.966z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CeilingBarnacle;

impl IconShape for CeilingBarnacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.867 18c12.65 11.06 31.3 26.2 44.985 32.2 17.032 7.47 38.4 1.287 54.988 9.59-5.477-8.777-8.41-17.61-9.207-26.09-.515-5.483-.15-10.734.805-15.7h-91.57zm110.022 0c-1.246 4.476-1.79 9.165-1.335 14.018.818 8.717 4.722 18.385 15.29 29.267.32.33.63.667.926 1.01l.193-.113c.255.437.532.888.793 1.33a25.45 25.45 0 0 1 2.74 4.508c5.69 9.12 12.674 18.614 21.805 25.728 11.105 8.652 25.032 14.21 45.923 11.79l2.07 17.882c-25.174 2.916-44.854-4.41-59.055-15.473-4.365-3.4-8.24-7.116-11.707-10.955-3.803 10.373-8.874 20.164-9.628 24.29-2.652 14.53-9.086 27.746-13.47 39.945-4.385 12.2-6.614 22.717-3.668 32.267 4.606 14.934 14.197 28.927 26.466 40.906 9.46-14.322 24.7-23.213 40.327-26.728a70.313 70.313 0 0 1 12.548-1.676c11.136-.452 22.084 1.948 31.04 7.988 14.714 2.962 28.41 3.4 41.11 1.766 17.47-3.79 30.232-8.383 40.212-13.375 9.084-5.11 12.158-7.887 19.762-15.072l11.31 14.486c-5.327 5.032-4.732 4.77-10.815 8.98 6.572 8.777 10.043 19.63 11.36 30.986.504 4.332.71 8.777.68 13.295 5.377-.733 10.593-1.358 15.053-2.378 7.49-1.714 11.58-3.946 13.387-7.748 3.456-7.267 3.06-14.07.008-22.61-3.052-8.538-9.047-18.164-15.76-28.248-13.425-20.167-30.778-42.58-26.732-68.818 1.815-11.767 10.355-18.66 16.682-24.264 6.328-5.602 10.496-10 11.17-13.714.68-3.745-1.33-6.83-4.736-13.61a40.06 40.06 0 0 1-1.795-4.146 53.576 53.576 0 0 1-15.38 6.826c-13.728 3.666-28.27 2.59-41.812-.22-13.54-2.812-26.147-7.455-35.946-11.727-9.798-4.273-15.97-7.58-19.377-9.938l10.246-14.8c.2.138 7.356 4.326 16.328 8.238 8.97 3.912 20.578 8.146 32.41 10.603 11.832 2.457 23.82 3.04 33.508.453 9.562-2.554 16.974-7.552 22.328-18.247 2.03-6.903.398-14.886-3.094-22.703H140.89zm240.673 0c3.49 10.68 4.348 22.59-1.428 34.084-3.22 6.41-1.924 8.107.783 13.494 1.664 3.31 4.448 7.73 5.88 13.242 8.43-7.886 31.92-28.96 48.272-34.545 11.597-3.96 26.696 6.013 36.75-.994 6.514-7.855 6.166-16.655 10.682-25.28h-100.94zM283.06 133.574c10.816.026 22.858 3.918 33.096 7.557 10.238 3.64 18.332 7.28 18.332 7.28l-7.38 16.418s-7.488-3.362-16.98-6.736c-9.494-3.374-21.332-6.504-27.11-6.518-8.447-.02-24.147 4.163-36.834 8.604-12.688 4.44-22.704 8.883-22.704 8.883l-7.3-16.453s10.622-4.715 24.056-9.418c13.435-4.703 29.34-9.648 42.825-9.616zM118.187 208.62c-9.852 38.733 2.81 83.295 19.835 120.958 6.99-22.215 8.133-50.082 17.472-69.916-.072-1.11-.133-2.227-.18-3.35-15.91-13.017-29.21-29.15-37.126-47.693zm209.78 11.47c-8.96 4.17-19.533 7.938-32.35 11.174 20.208 38.092 21.473 71.305 23.624 103.172 5.584-14.437 11.1-31.037 14.617-47.545 3.29-15.437 4.793-30.625 3.35-43.06-1.172-10.1-4.204-17.948-9.24-23.74zm-113.93 3.945a45.573 45.573 0 0 0-2.358.018c-2.995.098-6.08.484-9.172 1.18-11.658 2.622-22.74 9.42-29.197 19.134-1.078 31.31 7.395 55.407 20.983 80.217 7.8 14.24 17.38 28.777 27.523 44.478-8.355-58.696-7.032-103.982 6.873-141.943-4.166-1.893-9.21-2.982-14.655-3.085zm31.665 8.85c-4.467 12.118-7.57 25.227-9.352 39.646 17.637 1.544 36.295-.585 55.267-4.112-3.334-10.953-8.054-22.24-14.888-34.12-9.927.655-20.282.235-31.026-1.413zm155.622 17.808a41.73 41.73 0 0 1-.86 1.96c-5.166 10.862-15.987 15.36-25.63 17.566-6.32 1.445-12.623 2.186-18.2 2.942 11.612 18.383 11.028 43.545 9.985 70.98 31.542-36.217 41.67-65.675 34.705-93.45zM278.598 289.12c-5.986.832-11.994 1.465-18.004 1.83 4.76 32.818 13.655 69.713 12.058 101.798-1.38 22.25-11.16 57.128-20.697 85.732a932.855 932.855 0 0 1-5.34 15.52h19.074c1.1-3.185 2.216-6.454 3.34-9.828 9.73-29.186 19.966-64.19 21.587-90.31.043-36.722-5.454-72.72-12.02-104.743zm-108.422 76.628s-16.99 38.27-10.7 56.09c1.55 4.398 6.118 8.588 10.518 8.488 4.957-.112 9.903-5.077 11.527-10.092 5.71-17.614-11.344-54.486-11.344-54.486zm147.113 44.607s-21.92 49.688-12.642 72.34c2.29 5.59 8.713 10.814 14.748 10.535 6.8-.313 13.405-6.853 15.452-13.343 7.19-22.798-17.56-69.532-17.56-69.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CeilingLight;

impl IconShape for CeilingLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 22v81h18V22h-18zm-31.975 99l-11.5 46h104.95l-11.5-46h-81.95zM192 185c-18 0-45.643 21.459-68.973 50.621-19.568 24.46-36.5 53.474-45.869 75.379h357.684c-9.371-21.905-26.308-50.917-45.88-75.377C365.63 206.461 337.983 185 320 185H192zm25.719 144c.687 5.463 2.03 12.676 4.717 19.838 2.655 7.077 6.541 13.756 11.806 18.437C239.507 371.956 246.008 375 256 375c9.992 0 16.493-3.044 21.758-7.725 5.265-4.68 9.15-11.36 11.806-18.437 2.688-7.162 4.03-14.375 4.717-19.838H217.72zm-17.326 6.137l-90.346 20.078 3.906 17.57 90.736-20.164c-2.131-6.242-3.465-12.3-4.296-17.484zm111.214.002c-.83 5.183-2.165 11.241-4.296 17.482l90.736 20.164 3.906-17.57-90.346-20.076zm-97.691 36.13l-60.748 70.874 13.664 11.714 59.775-69.736a46.747 46.747 0 0 1-4.324-3.396c-3.249-2.889-6.006-6.091-8.367-9.455zm84.168 0c-2.361 3.365-5.118 6.567-8.367 9.456a46.749 46.749 0 0 1-4.324 3.396l59.775 69.736 13.664-11.714-60.748-70.873zM247 392.272V492h18v-99.729a55.93 55.93 0 0 1-18 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CellarBarrels;

impl IconShape for CellarBarrels {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.5 45.39c-19.9 0-39.8 1.51-59.7 4.51-29.6 26.08-45.4 71.3-45.4 115.4 0 20.2 3.3 39.8 9.6 57 6.5-.3 12.9-.5 19.4-.5 18.5-.8 31.2 0 46.6 2.6-6.1-18.4-9.1-38.7-9.1-59.1 0-43.7 13.6-89.1 42.1-119.83h-3.5zm28.9 1.14c-32.3 25.42-49.5 72.67-49.5 118.77 0 22.2 3.9 43.6 11.5 61.9 12 1.9 23.9 4.3 35.9 7.2 5.8.2 11.5 1.4 16.9 3.4-12-21.2-19-48.7-19-78.8 0-31.8 7.8-60.77 21.1-82.38 6.2-10.15 13.9-18.81 22.6-25.13-13.2-2.3-26.3-3.97-39.5-4.96zm-118.3 8.95c-3.2.74-6.5 1.51-9.8 2.33l-.4.1-.3.1C96.79 69.64 80.62 173.7 118.1 228.1c11.4-2 22.8-3.5 34.2-4.6-5.9-18.1-8.9-38.1-8.9-58.2 0-39.2 10.9-79.7 33.7-109.82zm190.7 2.71c-14.7 0-29 9.74-40.1 27.87-11.2 18.14-18.5 44.14-18.5 72.94 0 28.8 7.3 54.8 18.5 72.9 11.1 18.2 25.4 27.9 40.1 27.9 14.7 0 29-9.7 40.1-27.9 11.2-18.1 18.5-44.1 18.5-72.9 0-28.8-7.3-54.8-18.5-72.94-11.1-18.13-25.4-27.87-40.1-27.87zm-.1 134.01h.2c7.2.1 11.6 5.3 13.9 10 2.3 4.7 3.4 10 3.4 15.9s-1.1 11.2-3.4 15.9c-2.3 4.7-6.7 9.9-13.9 10h-.2c-7.2-.1-11.6-5.3-13.9-10-2.3-4.7-3.4-10-3.4-15.9s1.1-11.2 3.4-15.9c2.3-4.7 6.7-9.9 13.9-10zm-177.3 47.5c-19.8 0-39.7 1.5-59.6 4.5-29.6 26.1-45.45 71.2-45.45 115.3 0 42 14.04 81.3 40.35 101.9 21.1 3.4 42.2 5.2 63.2 5.2-25-25.9-37-66.3-37-107 0-43.8 13.5-89.2 42.1-119.9zm29 1.1c-32.4 25.4-49.6 72.7-49.6 118.8 0 45 16.2 87 46.5 106.2 14.2-1 28.4-2.7 42.6-5.1-8.7-6.4-16.3-15-22.5-25.1-13.3-21.7-21.1-50.6-21.1-82.4 0-31.8 7.8-60.7 21.1-82.3 6.2-10.1 13.8-18.8 22.4-25.1-13.2-2.3-26.3-4-39.4-5zM101 249.9c-3.31.7-6.5 1.5-9.73 2.3h-.43l-.31.1c-90.831 15.1-90.831 186.8 0 201.9l.31.1h.43l3.65.9c-18.61-25.6-27.52-60.5-27.52-95.7 0-39.1 10.88-79.6 33.6-109.6zm190.8 2.5c-14.7 0-28.9 9.8-40.1 27.9-11.2 18.1-18.5 44.1-18.5 72.9 0 28.9 7.3 54.8 18.5 73 11.2 18.1 25.4 27.9 40.1 27.9 14.7 0 28.9-9.8 40.1-27.9 11.2-18.2 18.5-44.1 18.5-73 0-28.8-7.3-54.8-18.5-72.9-11.2-18.1-25.4-27.9-40.1-27.9zm139 0c-8.9.1-17.7 3.7-25.8 10.7-.2.2-.4.4-.6.5-4.9 4.4-9.5 10-13.6 16.8-11.1 18.1-18.4 44-18.4 72.8 0 28.8 7.3 54.8 18.5 72.9C402 444.3 416.3 454 431 454c14.7 0 29-9.7 40.1-27.9 11.2-18.1 18.5-44.1 18.5-72.9 0-28.8-7.3-54.8-18.5-72.9-11.1-18.2-25.4-27.9-40.1-27.9zm-139 134.1c7.2 0 11.7 5.2 14.1 9.9 2.3 4.7 3.3 10 3.3 16 0 5.9-1 11.3-3.3 15.9-2.4 4.8-6.9 9.9-14.1 9.9-7.2 0-11.7-5.1-14-9.9-2.4-4.6-3.4-10-3.4-15.9 0-6 1-11.3 3.4-16 2.3-4.7 6.8-9.9 14-9.9zm139.1 0h.2c7.2.1 11.6 5.3 13.9 10 2.3 4.7 3.4 10 3.4 15.9s-1.1 11.2-3.4 15.9c-2.3 4.7-6.7 9.9-13.9 10h-.2c-7.2-.1-11.6-5.3-13.9-10-2.3-4.7-3.4-10-3.4-15.9s1.1-11.2 3.4-15.9c2.3-4.7 6.7-9.9 13.9-10zm-69.5 16.8c-3.5 11.9-8.3 22.8-14.1 32.3-8.5 13.6-19.4 24.6-31.9 30.8 27.5.9 55.1-.9 82.6-5.7-8.6-6.3-16.3-15-22.5-25.1-5.8-9.5-10.6-20.4-14.1-32.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Centaur;

impl IconShape for Centaur {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.2 20.34c-21.4 1.16-30 25.84-29.7 42.79.3 18.28 10.2 43.97 29.7 42.87 21.4-1.2 30-25.94 29.7-42.87-.3-18.29-10.2-43.85-29.7-42.79zM175.3 72.73c-36.6 49.47-17.2 102.67 7.3 146.47l53.6-71.3c24.1 22.7 51.8 37.3 56.4 36.8 10-.9 29.9-16.4 42.8-35-5.6 22.9-9.2 46.2-21 63.9 9.3 36.5 48.2 85 85.4 64 10.3-38.2 12.3-89.7 6.7-127.6 29.6 14.8 43.7 46.1 49.3 72.4 2.4 11.9 31.4 19.7 22.1-14.6-10.8-39.7-31.1-84.1-73.6-99.6-8.2 9.5-19.5 16.8-32.1 15.8-16.3-1.4-30.2-10.4-37.3-22.8-11.9 7.1-36.6 41.1-45.7 55.5-14.5-11.2-24.2-20.9-35.3-32.4l60.3-80.27c-58.2-19.69-112.6-2.46-138.9 28.7zm107.4-16.67L241.4 111c-22.3-10.8-32.5 6.8-17.8 23.8L185 186c-18.4-34.8-15.1-75.7 4.7-102.33 27.2-30.02 57.5-32.98 93-27.61zm14.4 162.84c-51.3 11.4-105.7 15.9-151.3 28.6-27.5 7.7-35.1 30.8-41 54.5-11.28 61.7-24.24 105.4-40.5 166.3 8.4 6.9 17 13.6 20.31 23.3H108c-2.5-15.4-8.32-19.5-15.98-30.7L118.1 398c27.7-6.5 45.2-26 60.3-45.8 38 23.8 82.1 9.4 126.5-7.2 9.5 42-9.7 77.3-20.4 111.6 8.3 12.9 21.7 22.4 27.9 35h28.2c-5.6-16.9-11.9-21.5-23.4-31.7 20.1-41.4 28.2-84.3 33.7-124.4 22-8 32.9-16.9 41.2-35.9-52.5 8.7-85.3-50.5-95-80.7zM99.19 265c-12.02-.2-27.04 3.5-28.49 15.8-4.1 34.8-3.85 71.5-38.44 85 8.4 14 21.75 24.1 37.47 15.3 12.85-39.9 11.04-81.5 29.46-116.1zM392 335.7c-6.3 6.7-14.8 11.9-25 14.8 0 .1-.1.2-.1.3l15.4 17.2-8.7 25.6-14.5 3.2c-1.7 8.1-3.7 16.3-6 24.3 34.2 7.7 55.7-31.4 60.2-54.9-5.4-12-12.4-23.2-21.3-30.5zm-210.9 42.6c-5.4 6.8-12.1 14.5-20.2 21.2 16.3 31.4 34.6 62.9 57.5 92.2h26.7c-28.9-35.6-47.8-75.2-64-113.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CentaurHeart;

impl IconShape for CentaurHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.9 25.75c-10.1 0-20.2 1.2-29.9 3.6-52 13-95.7 59.8-97.8 127.05-1.1 35.8 9.9 65.6 27.6 91.1 17.6 25.6 41.5 47.1 66.8 68.5C165.2 358.5 221 399.8 247 464.3l8.9 22 8.5-22.2C289 399.5 343 356.3 393 312.8c50-43.5 96.6-88.3 98.8-155.8 2.3-71.55-42.4-116.75-95.5-127.15-49-9.7-105.4 9.1-140.3 57.7-27.5-42.1-68.3-61.7-108.1-61.8zM80 112l80 32-64 32 116.4 23.3L256 112l43.6 87.3L416 176l-64-32 80-32 32 80-171.5 66L256 416l-36.5-158L48 192l32-80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CenturionHelmet;

impl IconShape for CenturionHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-38.5 0-75.7 10.76-108.4 28.79l17.9 34.65-31.6-26.54C85.5 92.66 48.34 139.4 32.89 189.7l42.31 17.6-46.81.1c-2.04 10.1-3.18 20.3-3.32 30.5.15.1.01 0 .49.3 2 1.3 5.88 2.9 10.8 4.4 9.82 3 23.85 5.5 38.24 6.4 14.39 1 29.3.4 40.8-2 10.2-2.2 16.9-6.1 19.6-9.6.7-21.4 9.3-44.1 23.5-64.1L128 144l41.2 16c.1 0 .1-.1.1-.1 18.4-20.1 43.4-35.9 72.3-39.9L256 48l14.4 72c28.9 4 53.9 19.8 72.3 39.9 0 0 0 .1.1.1l41.2-16-30.5 29.3c14.2 20 22.8 42.7 23.5 64.1 2.7 3.5 9.4 7.4 19.6 9.6 11.5 2.4 26.4 3 40.8 2 14.4-.9 28.4-3.4 38.2-6.4 5-1.5 8.8-3.1 10.8-4.4.5-.3.4-.2.5-.3-.1-10.2-1.3-20.4-3.3-30.5l-46.8-.1 42.3-17.6c-15.4-50.3-52.6-97.04-101-127.8l-31.6 26.54 17.9-34.65C331.7 35.76 294.5 25 256 25zm0 112c-29 0-54.7 14.5-73.3 35.1-16.1 17.6-26.5 39.7-29 58.9h14c6-6.3 13-11.7 20.8-16.2 3.9-9.4 9.9-18 17.1-25.2C219.1 176.2 237 167 256 167s36.9 9.2 50.4 22.6c7.2 7.2 13.2 15.8 17.1 25.2 7.8 4.5 14.8 9.9 20.8 16.2h14c-2.5-19.2-12.9-41.3-29-58.9C310.7 151.5 285 137 256 137zm0 80c-38.2 0-62.9 11-79 30.7-9.6 11.7-16.2 27-20 45.6 70.2 13 127.8 13 198 0-3.8-18.6-10.4-33.9-20-45.6-16.1-19.7-40.8-30.7-79-30.7zm-101.7 94.1c-.6 5.7-.9 11.6-1.1 17.8 59.6 13.3 146 13.3 205.6 0-.2-6.2-.5-12.1-1.1-17.8-71.5 13.1-131.9 13.1-203.4 0zm-2.8 35.8-14.4 101.3c0 1.2 1.1 4.8 3.9 9.1 2.9 4.3 7.4 9.3 12.8 13.8 9.6 8.1 22.3 14.4 34.2 15.6 1.4-1.8 3.3-4.3 5.2-7.2 3.8-5.9 6-13.3 5.9-14.1-.3-2.2-6.5-10.3-13.6-15.9-7.1-5.7-14-9.7-14-9.7l-14.5-8.4 15-7.5c14.9-7.4 20.8-14.1 23-19.4 2.3-5.2 1.6-10.6-.8-17.7-5.9-17.8-11.8-28.7-16.3-35.1-9.1-1.3-17.9-2.9-26.4-4.8zm209 0c-8.5 1.9-17.3 3.5-26.4 4.8-4.5 6.4-10.4 17.3-16.3 35.1-2.4 7.1-3.1 12.5-.8 17.7 2.2 5.3 8.1 12 23 19.4l15 7.5-14.5 8.4s-6.9 4-14 9.7c-7.1 5.6-13.3 13.7-13.6 15.9-.1.8 2.1 8.2 5.9 14.1 1.9 2.9 3.8 5.4 5.2 7.2 11.9-1.2 24.6-7.5 34.2-15.6 5.4-4.5 9.9-9.5 12.8-13.8 2.8-4.3 3.9-7.9 3.9-9.1l-14.4-101.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CeremonialMask;

impl IconShape for CeremonialMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21c-41 0-82 6.9-115.1 20.34-33 13.38-57.7 33.05-68.48 57.92C57.64 144.1 61.7 219.2 83.55 291.8 105.5 364.7 145 435.1 197.3 472.7c30.6 22.1 86.8 22.1 117.4 0 52.3-37.6 91.8-108 113.7-180.9 21.9-72.6 26-147.7 11.2-192.54-10.8-24.87-35.5-44.54-68.5-57.92C338 27.9 297 21 256 21zm0 18c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-76 28c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm152 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-220 36c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm288 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-185.6 34.6l41.6 41.7 41.6-41.7 12.8 12.8-54.4 54.3-54.4-54.3 12.8-12.8zm-55 54.1h2.8c6.4.1 13.2 1.3 20.1 3.8 15.8 5.8 32 18 48.7 38.9l4.1 5.1-3.6 5.5C214 271.3 187 285 160 285s-54-13.7-71.49-40l-4.09-6.1 5.22-5.3c6.94-6.9 24.06-28.9 49.26-38.1 6.3-2.3 13.2-3.7 20.5-3.8zm190.4 0h2.8c7.3.1 14.2 1.5 20.5 3.8 25.2 9.2 42.3 31.2 49.3 38.1l5.2 5.3-4.1 6.1C406 271.3 379 285 352 285s-54-13.7-71.5-40l-3.6-5.5 4.1-5.1c16.7-20.9 32.9-33.1 48.7-38.9 6.9-2.5 13.7-3.7 20.1-3.8zm-190.1 17.9c-5.1.1-9.9 1.2-14.6 2.9-15.6 5.6-28.2 18.7-37.3 28.2C122 258.4 141 267 160 267c19.1 0 38.2-8.6 52.4-26.5-13.4-15.5-25.7-24.2-36.2-28-5.9-2.2-11.3-3-16.5-2.9zm192.6 0c-5.2-.1-10.6.7-16.5 2.9-10.5 3.8-22.8 12.5-36.2 28 14.2 17.9 33.3 26.5 52.4 26.5 19 0 38-8.6 52.2-26.3-9.1-9.5-21.7-22.6-37.3-28.2-4.7-1.7-9.5-2.8-14.6-2.9zM247 240h18l7 112c0 16-32 16-32 0l7-112zM61.29 279.1c-14.18 1.2-25.75 11.8-33.44 25.6C19.67 319.4 15 338.8 15 360c0 21.2 4.67 40.6 12.85 55.3C36.03 430 48.58 441 64 441c15.42 0 27.97-11 36.2-25.7 3.2-5.8 5.9-12.4 8-19.6-4.8-8.3-9.36-16.9-13.62-25.7-1.22 14.4-5.02 27.3-10.16 36.5C78.12 417.9 70.67 423 64 423c-6.67 0-14.12-5.1-20.42-16.5C37.29 395.2 33 378.5 33 360s4.29-35.2 10.58-46.5C49.88 302.1 57.33 297 64 297c.79 0 1.58.1 2.39.2-.02-.1-.05-.1-.07-.2-1.79-6-3.46-11.9-5.03-17.9zm389.41 0c-1.5 6-3.2 11.9-5 17.9 0 .1 0 .1-.1.2.8-.1 1.6-.2 2.4-.2 6.7 0 14.1 5.1 20.4 16.5 6.3 11.3 10.6 28 10.6 46.5s-4.3 35.2-10.6 46.5c-6.3 11.4-13.7 16.5-20.4 16.5-6.7 0-14.1-5.1-20.4-16.5-5.1-9.2-9-22-10.2-36.5-4.2 8.8-8.8 17.4-13.5 25.7 2 7.2 4.7 13.8 7.9 19.6C420 430 432.6 441 448 441c15.4 0 28-11 36.2-25.7 8.1-14.7 12.8-34.1 12.8-55.3 0-21.2-4.7-40.6-12.8-55.3-7.7-13.8-19.3-24.4-33.5-25.6zm-233.1 2.5l12.8 12.8c-9.1 9-25.3 21.1-44 31.5C167.7 336.3 147 345 128 345v-18c13 0 32.3-7.3 49.6-16.9 17.3-9.6 33.1-21.5 40-28.5zm76.8 0c6.9 7 22.7 18.9 40 28.5C351.7 319.7 371 327 384 327v18c-19 0-39.7-8.7-58.4-19.1-18.7-10.4-34.9-22.5-44-31.5l12.8-12.8zm-76.8 48l12.8 12.8c-9.1 9-21.7 17.3-34.4 23.7-12.7 6.3-25 10.9-36 10.9v-18c5 0 16.7-3.4 28-9.1 11.3-5.6 22.7-13.3 29.6-20.3zm76.8 0c6.9 7 18.3 14.7 29.6 20.3 11.3 5.7 23 9.1 28 9.1v18c-11 0-23.3-4.6-36-10.9-12.7-6.4-25.3-14.7-34.4-23.7l12.8-12.8zM256 391c18.6 0 35.4 2.7 48.4 7.6 6.5 2.4 12.1 5.4 16.5 9.3 4.5 4 8.1 9.5 8.1 16.1 0 6.6-3.6 12.1-8.1 16.1-4.4 3.9-10 6.9-16.5 9.3-13 4.9-29.8 7.6-48.4 7.6-18.6 0-35.4-2.7-48.4-7.6-6.5-2.4-12.1-5.4-16.5-9.3-4.5-4-8.1-9.5-8.1-16.1 0-6.6 3.6-12.1 8.1-16.1 4.4-3.9 10-6.9 16.5-9.3 13-4.9 29.8-7.6 48.4-7.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chainsaw;

impl IconShape for Chainsaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415.01 24.54l-11.534 15.874-6.784-12.55-6.052 20.284-10.82-10.822V59.59l4.927-4.928c1.285-1.285 2.6-2.472 3.938-3.572l1.548-1.55 1.752-.946c3.075-2.14 6.244-3.83 9.452-5.108l1.56-.843 1.385-.22c4.262-1.358 8.56-2.017 12.76-2.034 4.26-.02 8.418.626 12.337 1.84l1.277.19.728.488c4.625 1.7 8.865 4.218 12.475 7.428l.02-.03.08.116c.51.458 1.013.927 1.498 1.412 9.712 9.712 14.015 24.82 9.85 39.69l-.067.763.098.008-.664 1.295c-1.39 4.16-3.46 8.28-6.277 12.238l-.002.002 14.234 7.305-6.69-20.785 15.238 1.345-14.136-16.873 14.986-4.27-18.652-10.384 12.31-8.625-21.447-3.773 8.095-12.086-21.213 4.193 2.28-15.225-16.255 12.022-2.236-14.133zm-46.505 24.1v22.264l11.133-11.133-11.133-11.13zm48.902 8.983c-6.054-.044-12.86 2.697-19.93 9.768l-90.437 90.434-61.594 61.594 32.528 32.527L430 99.918c14.143-14.142 10.963-27.224 2.83-35.356-4.065-4.065-9.368-6.895-15.423-6.94zm-60.215 2.332v22.262l11.13-11.13-11.13-11.132zm-11.314 11.313V93.53l11.13-11.13-11.13-11.132zm69.412 2.67a8.745 8.745 0 0 1 8.744 8.748 8.745 8.745 0 0 1-8.744 8.744 8.745 8.745 0 0 1-8.744-8.744 8.745 8.745 0 0 1 8.744-8.747zm-80.727 8.644v22.264l11.133-11.133-11.133-11.13zM323.25 93.895v22.263l11.132-11.13-11.13-11.133zm-11.313 11.314v22.263l11.13-11.13-11.13-11.134zm136.464.75c-1.64 2.29-3.515 4.53-5.67 6.685l-4.924 4.923 10.595 10.596V105.96zm-264.524 7.02l-15.45 9.23 33.032 55.286-.246 28.295h-23.346c4.726 6.403 9.315 12.9 13.76 19.472l6.004-8.407 16.598 16.598 4.95-14.848-.08-.08.403-45.925-35.624-59.622zm116.746 3.543v22.264l11.133-11.133-11.133-11.13zm136.465 1.764l-10.594 10.594 10.594 10.597v-21.19zm-147.777 9.55V150.1l5.002-5.002 6.128-6.13-11.13-11.132zm136.464 1.763l-10.595 10.595 10.594 10.596V129.6zm-147.78 9.55v22.264l11.134-11.133-11.133-11.13zm136.466 1.764l-10.596 10.596 10.596 10.595v-21.19zm-147.777 9.55v22.263l11.13-11.13-11.13-11.134zm136.463 1.765l-10.594 10.592 10.594 10.596v-21.19zm-147.778 9.547v22.264L266.5 172.91l-11.132-11.13zm136.465 1.764l-10.596 10.597 10.596 10.595v-21.19zm-272.45.925l-9.898 9.896c51.183 53.098 93.407 120.56 116.97 183.82l8.632-8.633c-21.83-62.468-64.416-131.767-115.705-185.082zm124.67 8.627v22.263l11.134-11.132-11.133-11.13zm136.466 1.763l-10.597 10.596 10.596 10.597v-21.192zm-147.78 9.55v22.263l11.132-11.13-11.13-11.134zm136.464 1.765l-10.594 10.594 10.594 10.595v-21.19zm-272.746.342c-7.49 13.277-9.05 27.2-5.568 40.146 2.025 7.532 5.466 14.662 9.906 21.446l13.152-13.153c-2.605-4.405-4.542-8.754-5.676-12.968-1.974-7.342-2.096-14.397.91-21.74-4.177-4.68-8.418-9.265-12.724-13.73zm261.434 10.97l-10.596 10.596 10.596 10.596v-21.192zm-11.315 11.315l-10.596 10.596 10.597 10.593v-21.19zm-11.312 11.312l-10.596 10.595 10.595 10.596v-21.19zm-11.315 11.314l-10.596 10.596 10.596 10.595v-21.19zm-90.54 1.412l-4.952 14.848 27.33 27.33-20.035 28.05c4.44 9.612 8.486 19.194 12.127 28.688 11.856-17.912 22.027-37.11 30.435-54.01l-6.705-6.705-38.2-38.2zm-95.042 3.152l-32.703 32.703-.9 11.392 17.115 1.13-2.522 38.145-17.603-1.164-.65 8.22c6.142 19.093 14.25 36.545 24.17 48.837 10.192 12.628 21.517 19.733 35.677 20.13 18.773.53 36.16-8.02 52.067-22.02-2.85-8.232-6.06-16.588-9.61-25.018l-8.622 12.072.248-.365c-5.264 8.19-14.726 12.155-23.21 11.388-8.482-.767-16.196-4.998-22.764-10.97-13.138-11.947-22.39-32.392-15.39-53.386l.427-1.283 26.754-37.46c-7.085-10.993-14.606-21.814-22.486-32.352zm174.268 6.75l-10.596 10.596 10.596 10.594v-21.19zm-11.313 11.313l-10.595 10.596 10.595 10.596v-21.19zm-90.66 1.294c5.73 9.71 11.107 19.502 16.12 29.308l5.495-7.693-21.615-21.616zM55.396 274.426l-2.67 45.176 17.968 1.062.803-13.603 30.516 1.805 1.187-17.963-30.64-1.81.804-13.606-17.968-1.06zm115.732 10.496l-20.62 28.87c-3.68 12.636 2.224 25.683 10.663 33.356 4.334 3.94 9.138 6.08 12.278 6.364 3.14.284 4.405-.02 6.446-3.196l.12-.185 14.874-20.823c-7.017-14.794-14.985-29.68-23.76-44.385zm-83.762 57.055l-47.494 59.37 47.842 86.112 74.078-74.077c-.45-.005-.895.003-1.346-.01-5.527-.156-10.785-1.093-15.765-2.68l-49.01 49.01-33.06-63.266 31.582-37.97c-2.48-5.315-4.752-10.83-6.826-16.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chakram;

impl IconShape for Chakram {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19C125 19 19 125 19 256s106 237 237 237 237-106 237-237S387 19 256 19zm31.2 24.62c32 8.05 45.4 16.11 62.4 33.82-14.2 10.15-32.7 13.37-52.5 14.63 27.8 6.96 52.9 20.83 73.3 39.63 8.3 3.4 15.9 5.1 21.4 2.9-16-9.8-21.9-32.5-17.9-46.12 20.6 23.02 30.2 38.12 54.3 39.32 16.9 28.3 20.7 43.5 20.2 68.1-17.3-2.9-32.7-13.7-47.6-26.9 14.3 23.6 22.9 51.1 24.1 80.4 3.4 8.1 7.5 14.6 12.9 16.8-4.3-18.3 7.5-38.5 20-45.3-1.8 30.8-5.7 48.3 10.5 66.2-8 32-16.1 45.4-33.8 62.4-10.1-14.2-13.3-32.6-14.6-52.3-7 27.9-21 53.1-40 73.6-3.2 8.1-4.8 15.5-2.6 20.9 9.9-16 32.5-21.9 46.1-17.9-23 20.5-38.1 30.1-39.3 54.3-28.3 16.9-43.5 20.7-68.1 20.2 2.9-17.1 13.6-32.4 26.6-47.3-23.6 14.3-51.1 22.8-80.4 23.9-7.9 3.3-14.2 7.5-16.4 12.7 18.3-4.3 38.5 7.6 45.3 20-30.8-1.7-48.3-5.6-66.2 10.6-32-8-45.4-16.1-62.4-33.8 14.1-10.1 32.3-13.3 51.9-14.6-27.8-7-52.9-21-73.3-40-8-3.2-15.5-4.8-20.8-2.7 16 9.9 21.9 32.6 17.9 46.2-20.6-23-30.2-38.1-54.31-39.3-16.97-28.3-20.72-43.5-20.22-68 17.15 2.8 32.4 13.5 47.23 26.5-14.17-23.6-22.7-51-23.77-80.2-3.39-8-7.53-14.4-12.81-16.6 4.3 18.3-7.6 38.5-20 45.3 1.7-30.8 5.6-48.3-10.6-66.2 8-32 16.1-45.4 33.8-62.4 10.16 14.1 13.35 32.5 14.61 52.2a168.64 168.64 0 0 1 39.77-73.2c3.4-8.2 5-15.8 2.8-21.2-9.9 16-32.6 21.8-46.13 17.9 23.03-20.6 38.13-30.2 39.33-54.32 26.5-15.91 41.5-20.2 63.5-20.26 1.5-.01 3 .01 4.5.04-2.8 17.31-13.7 32.65-26.9 47.64 23.7-14.31 51.1-22.93 80.4-24.06 8.2-3.41 14.7-7.6 16.9-12.96-18.3 4.31-38.5-7.53-45.3-19.99 30.8 1.71 48.3 5.62 66.2-10.57zm12.9 14.02c-5.5 0-10 4.48-10 10s4.5 10 10 10 10-4.48 10-10-4.5-10-10-10zm-146.1 24c-2.6 0-5.1.98-7.1 2.92-3.9 3.89-3.9 10.25 0 14.14 3.9 3.9 10.3 3.9 14.2 0 3.8-3.89 3.8-10.25 0-14.14-2-1.94-4.5-2.92-7.1-2.92zM420.3 144c-2.5 0-5.1 1-7.1 2.9-3.9 3.9-3.8 10.2 0 14.1 3.9 3.9 10.3 3.9 14.2 0 3.9-3.9 3.9-10.3 0-14.1-1.9-1.9-4.5-2.9-7.1-2.9zM67.72 201.9c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zM444.3 290c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zM91.74 347.9c-2.56 0-5.13 1-7.07 2.9-3.89 3.9-3.89 10.3 0 14.2 3.89 3.9 10.25 3.9 14.14 0 3.89-3.9 3.89-10.3 0-14.2-1.94-1.9-4.51-2.9-7.07-2.9zm266.16 62.3c-2.5 0-5 .9-7 2.9-3.9 3.9-3.9 10.3 0 14.2 3.9 3.9 10.2 3.9 14.1 0 3.9-3.9 3.9-10.3 0-14.2-2-2-4.5-2.9-7.1-2.9zm-145.9 24c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChalkOutlineMurder;

impl IconShape for ChalkOutlineMurder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.425 19.299L281.232 99.354l45.166 80.685-70.531 74.764-96.022 32.947-20.248 101.426-38.095 3 1.083 58.568 86.213-6.248 24.397-106.637 55.072-13.36 21.385 74.804 55.13 34.213-19.853 31.593 52.004 27.592 50.865-75.572-81.103-52.332-12.567-49.137 46.518-54.855 13.201 31.976-40.763 41.801 33.783 41.022 78.111-66.213-31.418-88.645c16.485-5.976 30.692-19.808 39.576-32.7 14.597-23.06 18.935-49.879 2.957-70.292-18.962-19.83-39.886-19.706-61.07-7.244-13.22 7.918-24.606 19.565-32.223 32.08l-15.91-25.639 66.899-45.408zm-178.12 16.584c-.37-.01-.735-.01-1.098.004-28.11 1.002-40.308 71.436-73.14 83.677-30.314 11.304-69.61-23.941-96.845-6.476-20.375 13.065-34.59 45.303-25.826 67.865 13.478 34.7 63.441 58.38 99.758 50.203 28.439-6.403 28.177-54.969 53.728-69.002 20.05-11.011 59.002 14.364 68.313-6.529 5.336-11.973-18.796-19.335-23.39-31.611-14.24-38.045 43.357-86.468-1.5-88.131zm-64.27 7.373c-17.951-.223-50.581 42.837-29.698 51.04 17.149.037 55.673-50.718 29.698-51.04zm236.369 1.508l12.387 21.312-67.307 45.686 44.123 71.1c5.973-23.32 19.118-45.365 37.666-56.91 14.959-8.169 27.974-8.762 37.826 3.122 17.114 23.72-6.151 56.46-23.598 69.092-11.466 7.922-17.522 6.155-30.341 4.799l35.7 100.728-54.706 46.373-11.916-14.47 37.77-38.73-28.995-70.223-71.627 84.468 16.62 64.983 71.613 46.209-31.567 46.9-20.576-10.916 19.18-30.521-64.608-40.092-24.224-84.744-82.694 20.062-23.91 104.512-53.99 3.914-.418-22.629 34.772-2.736 20.886-104.635 90.44-31.031 82.652-87.608c-14.476-25.855-28.95-51.712-43.424-77.568zM251.755 182.158c.505 16.04 29.413 13.718 27.041 1.24-2.017-10.614-27.317-10.017-27.04-1.24zm-49.714-4.19c-10.263.111-19.229 3.684-18.846 11.948 1.31 28.305 48.694 24.597 47.746 2.191-.368-8.698-15.706-14.28-28.9-14.138zm28.193 49.048c9.692 11.541 28.526-5.324 20.89-14.489-9.34-4.919-24.937 8.837-20.89 14.489z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChampagneCork;

impl IconShape for ChampagneCork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.4 23.36c4.3 9.66 13.2 22.08 25.9 34.75 18 17.99 42.6 36.94 68.5 53.39 25.9 16.5 53 30.6 75.6 39.2 11.3 4.2 21.6 7.1 29.7 8.3 3.4.5 6.4.7 8.9.6-22.2-33.8-56.4-66.36-94.5-91.13-37.3-24.25-78.1-40.9-114.1-45.11zm-18.1 4.13c-41.7 28.17-56 76.31-65.5 124.01 8.1 17.3 35.4 46.3 71.3 72.1 36.6 26.3 81.9 50.1 123.5 60.3 34.5-8.8 56.1-26.4 71.3-48.1 12.4-17.6 20.4-38 26.7-58.1-3.9.1-8-.3-12.2-.9-10-1.4-21.2-4.7-33.4-9.3-22.6-8.6-48.2-21.8-73.3-37.3l-52.5 48.1 24.4-66.8c-18.3-13.05-35.2-26.88-49-40.67-14.7-14.63-26.3-28.9-31.3-43.34zM184 197.5L48.21 359l-.22.3c-.5.5-.63.6-.63 1.7s.28 3.2 1.45 6c2.35 5.6 7.92 13.6 15.85 22.2.57.6 1.18 1.3 1.78 1.9l27.01-22.9-19.34 30.6c15.51 15 36.19 31.3 57.99 45.7 21.1 14 43.4 26.3 62.6 34.3l37.8-71.3-12.1 79.6c6 1.3 11.2 1.7 14.9 1.4 6-.6 7.6-1.8 8.9-5.1l.1-.2 87.2-191.3c-8.4-3.1-16.9-6.6-25.3-10.5L278.9 308l11.8-34.1c-20.6-10.6-40.3-22.9-58.1-35.7-18.7-13.4-35.3-27.2-48.6-40.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Champions;

impl IconShape for Champions {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33c-25 0-47.7 2.03-63.6 5.15-6.2 1.23-11 2.65-14.7 4.01 3.7 1.36 8.5 2.78 14.7 4.01 15.9 3.12 38.6 5.15 63.6 5.15s47.7-2.03 63.6-5.15c6.2-1.23 11-2.65 14.7-4.01-3.7-1.36-8.5-2.78-14.7-4.01C303.7 35.03 281 33 256 33zm-100.8 5.31c-19.1 8.9-29.4 26.02-26.8 43.08 2 12.32 10.9 23.51 25 29.31 8.1 3.4 17.9 5.2 29.4 5.1 13.3 24.7 31.3 45.1 50.6 54.6v43.9c-17 10.3-28.3 31.7-39.4 53.7 38.8 9.9 85.3 9.4 123.9-.1-11-22-22.4-43.3-39.3-53.6v-43.9c19.3-9.5 37.3-29.9 50.6-54.6 11.5.1 21.3-1.7 29.4-5.1 14.1-5.8 23-16.99 25-29.31 2.6-17.06-7.7-34.18-26.8-43.08.4 1.2.6 2.48.6 3.85 0 4.35-2.3 7.91-4.7 10.15-2.3 2.24-4.9 3.73-7.8 5.08-5.8 2.7-13.1 4.72-21.9 6.44-17.5 3.46-41 5.49-67 5.49s-49.5-2.03-67-5.49c-8.8-1.72-16.1-3.74-21.9-6.44-2.9-1.35-5.5-2.84-7.8-5.08-2.4-2.24-4.7-5.8-4.7-10.15 0-1.37.2-2.65.6-3.85zm6.6 16.31c2.3 14.34 6.5 28.91 12.3 42.74-5.6-.55-10.1-1.71-13.8-3.24-9.4-3.9-13.2-9.63-14.1-15.51-1.2-7.93 3.3-18.15 15.6-23.99zm188.4 0c12.3 5.84 16.8 16.06 15.6 23.99-.9 5.88-4.7 11.61-14.1 15.51-3.7 1.53-8.2 2.69-13.8 3.24 5.8-13.83 10-28.4 12.3-42.74zm70.7 219.58c-10.2.2-20.1 5.2-28.7 14.2-9.6 10.3-17 25.8-18.9 43.7-1.9 17.9 1.9 34.6 9.1 46.7 7.3 12.2 17.6 19.6 29.3 20.8 11.8 1.3 23.4-3.7 33.1-14 9.7-10.3 17-25.8 19-43.7 1.9-17.9-1.9-34.6-9.1-46.7-7.4-12.2-17.6-19.6-29.4-20.8-1.5-.2-2.9-.2-4.4-.2zm-329.8 0c-1.5 0-3 0-4.4.2-11.8 1.3-22 8.8-29.3 20.8-7.3 12.2-11.1 28.9-9.1 46.8 1.9 17.9 9.2 33.4 18.9 43.7 9.7 10.2 21.3 15.3 33.1 14 11.8-1.3 22-8.7 29.3-20.8 7.3-12.2 11.1-28.9 9.1-46.8-1.9-17.9-9.2-33.4-19-43.7-8.4-8.9-18.4-13.9-28.6-14.2zM309 288.3c-10.8 2.1-21.9 3.6-33.2 4.4 13.5 43.8 37.4 83.5 63.8 122.1 5.6-8.2 11.8-14.7 18.6-19.9 3-2.3 6.1-4.3 9.2-6l.1-.1c-.2-.3-.3-.5-.5-.8-3.9-6.5-6.9-13.8-9-21.7-17.9-22.1-35.9-45.6-49-78zm-106.1.2c-13.1 32.2-31 55.7-48.8 77.7-2.1 7.9-5.2 15.3-9.1 21.9-.1.2-.3.5-.5.7l.1.1c3.1 1.7 6.2 3.7 9.2 6 6.8 5.2 13 11.7 18.6 19.9 26.4-38.5 50.2-78.2 63.8-122-11.3-.8-22.5-2.2-33.3-4.3zm250.7 113.6c-12.3 10.9-27.6 17.2-43.8 15.4-11.7-1.2-22.2-6.5-30.7-14.4-3.5 1.7-6.8 3.7-9.9 6.1-15.2 11.6-28.5 41.8-38.1 85.8H487v-59.8c-2.2-2.8-9-11.5-19.3-21.4-4.4-4.3-9.3-8.3-14.1-11.7zm-395.2.1c-4.8 3.3-9.7 7.3-14.1 11.6-10.3 9.9-17.1 18.6-19.3 21.4V495h155.9c-9.6-44-22.9-74.2-38.1-85.8-3.1-2.4-6.4-4.4-9.9-6.1-8.5 7.9-18.9 13.2-30.7 14.5-16.1 1.8-31.6-4.5-43.8-15.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chanterelles;

impl IconShape for Chanterelles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198.5 62.04c-16.7 0-34.1.48-53.4.63 16.6 9.6 37.8 20.63 59.8 30.78 36 16.85 73.5 31.75 88.5 35.45 4 .9 18.3 2.5 36.4 3.4 18 1 40.5 1.5 63.6 1.4 38.2-.2 78.8-2.7 103-7.4-15.9-18.8-30.9-31.95-52.1-39.18-25.1-8.61-60.4-9.63-117.1-.77l-2.6.41-2.5-1.08c-45.6-20.3-81.9-23.64-123.6-23.64zm-5.7 45.76c35.9 40.5 66.2 81.5 88.1 123.8 32.9 63.6 46.6 130.7 31.2 202.6 6 9.1 12.1 13.8 18.3 15.3 6.6 1.5 14.6-.2 25-6.7 31.5-43.2 27.4-105.4 31-166.3 1.9-30.7 5.9-61.1 19.2-88 6.7-13.7 15.9-26.4 28.2-37.6-9.2.3-18.5.5-27.9.7-21.3 27-35.3 68.1-34.7 105.9-20.8-33.3 0-77.1 15.6-105.8-19.4 0-38-.4-53.9-1.2 5.6 23.9 7.2 56.3 7.6 72.8-15.7-6.8-15.3-46.7-25.5-73.8-11.4-.9-20.1-1.8-25.8-3.2-7.9-1.9-19-5.7-31.9-10.7 30.6 40.6 73.7 106.8 57.8 126-14.9-44.2-51.2-96-92.1-140.1-8.4-3.7-17.1-7.6-25.7-11.6zm-80.9 81.7c-38.51 4.3-69.01 22.1-96.28 37 16.53 3.7 34.99 8.1 53.13 11.7 28.43 5.6 55.95 7.5 66.05 3.1 32.1-14.2 65.2-23.4 88.3-36.9-32.8-6-72.4-14.4-111.2-14.9zm83.6 47.9c-8 3-16.2 5.9-24.3 8.9-4 14.5-8.6 54-11.8 54.8-3.3.8-11.5-36.8-9-46.9-2.8 1.1-5.6 2.3-8.4 3.5-9.8 4.4-21.7 5.3-34.9 4.5 7 12.5 24.3 38.4 24.9 61 0 0-34.02-47.3-56.5-65.4-3.38-.6-6.8-1.2-10.24-1.9-9.46-1.9-18.89-4-28.13-6.1C75.45 271 102.1 300.1 119.8 330c24 40.7 32.1 82.6 32.8 111 9.6 2.4 17.6 2.8 23.8 1.4 6.3-1.4 11.1-4.3 15.3-9.3-5.8-29.7-15.5-69.1-15.9-109.7-.2-29.2 4.6-59.2 19.7-86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Character;

impl IconShape for Character {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255 45.4c-24.5 0-47 11.8-63.9 33.4-16.9 21.5-27.1 52.6-27.1 86.5 0 36 12.1 67.5 31 89.5l13.5 15-19.6 4.6c-52.3 11.9-77.4 36.9-91.75 75.2-13.7 35.7-15.6 84.8-16.1 143.3H431c-.2-58.7-.5-109.3-13-145.5-13.4-39.4-37.9-64.3-94-75.4l-19.9-3.7 12.9-15.7c17.7-21.9 28.8-52.6 28.8-87.5 0-33.9-10.3-64.9-27.2-86.3-16.8-21.7-39.3-33.6-63.6-33.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Charging;

impl IconShape for Charging {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322 25l-10 30h103l-10-30h-83zM66.5 32v55h-23v18h128V87h-23V32h-18v55h-46V32h-18zm210 41v302h174V73h-174zm-208 48v51.3L95.23 199h24.57l26.7-26.7V121h-78zm222 62h146v50h-146v-50zm-192 34v167c0 31.4 18.6 55.7 44.5 70.8 25.8 15.1 59.2 22.2 92.5 22.2s66.7-7.1 92.5-22.2c23.4-13.6 40.8-34.7 44-61.8h-18.1c-2.9 20-15.6 34.9-34.9 46.2-22.2 12.9-52.8 19.8-83.5 19.8-30.7 0-61.3-6.9-83.5-19.8-22.1-12.9-35.5-30.6-35.5-55.2V217h-18zm192 30h146v50h-146v-50zm0 64h146v50h-146v-50z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChargingBull;

impl IconShape for ChargingBull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.22 61.008c-45.151 7.449-99.44 35.085-131.642 54.097V297.21c5.34 7.523 13.07 12.906 24.904 17.07 5.308 1.868 11.417 3.433 18.221 4.783-21.112-27.026-26.391-50.921-21.297-79.236l17.715 3.192c-6.724 34.584 13.695 64.344 34.152 77.013l7.15 4.37 2.407 3.814c9.482 17.063 28.034 25.752 51.426 41.152l9.723 6.403-8.645 7.798c-9.834 8.873-17.062 16.44-18.367 26.559l-1.592 12.342-24.098-11.545c-11.192 12.316-20.47 25.593-27.652 40.025 10.977 6.704 36.525 19.136 49.105 16.346 32.21-21.813 59.517-67.5 71.09-97.953-6.484-24.65-21.778-46.56-40.277-70.047l-4.1-5.205c4.853-7.592 11.429-14.973 18.084-19.31 26.259-20.873 35.437-38.189 37.44-53.362.675-21.155-6.159-35.841-14.106-53.04l16.34-7.55c9.207 20.935 17.712 44.638 15.611 62.947-1.68 12.732-7.198 25.876-17.857 39.399 9.34-1.382 16.555-2.574 25.883-4.121l.262 10.343c.44 17.375 1.668 24.569 15.748 49.57l1.554 2.763-8.457 51.103c7.432 10.524 20.33 11.513 30.994 10.781 25.144-26.855 42.492-57.16 57.1-89.058-8.896-1.83-15.986-6.023-20.451-11.895-5.026-6.609-6.408-14.801-5.057-22.137 2.702-14.67 16.832-27.65 34.66-25.044l-.304-.04c4.278.478 8.63.829 13.035 1.09-42.222-45.878-38.747-104.57-74.713-138.82-37.98-22.166-89.34-36.372-133.988-36.701zm299.657 133.017c-25.974 8.19-52.938 16.89-80.334 23.028a3126.23 3126.23 0 0 1 8.764 18.293c29.023-10.805 51.564-25.555 71.57-41.32zm19.978 55.053c-40.912 3.884-85.203 8.795-125.962 4.25l-.153-.017-.152-.022c-8.297-1.213-13.24 4.437-14.356 10.494-.557 3.029-.034 5.724 1.684 7.983 1.688 2.22 4.886 4.52 11.58 5.46 52.566 1.922 92.792-11.677 127.36-28.148zm-163.32 43.738c4.068-.076 9.831 6.07 9.94 9.87.123 4.33-4.278 13.351-12.106 22.978-2.335-8.081-8.27-32.478 2.166-32.848zm-13.96 64.67l-19.882 19.58s-2.011-12.095 1.621-16.068c6.037-2.969 12.016-3.867 18.26-3.512zm-44.636 38.348l-11.55 35.494s-12.831-12.815-20.018-10.535c-12.026 3.815-17.207 33.71-17.207 33.71l-23.176-9.13s3.691 28.627 14.748 34.416c15.559 8.145 51.621-10.535 51.621-10.535s1.372 21.203 9.483 23.176c15.088 3.669 35.467-30.2 35.467-30.2s36.32 34.765 51.972 23.88c14.938-10.39 2.14-52.38-4.103-54.432-7.744-2.546-16.676 17.888-16.676 17.888s-10.826-24.025-22.063-27.017c-9.81-2.613-28.445 10.885-28.445 10.885l5.393-31.528c-3.305-.031-6.567-.272-9.77-.781l-10.37 29.932 4.347-31.245c-3.373-.936-6.912-2.436-9.653-3.978zM84.4 398.047c-11.613 11.065-20.069 23.628-27.237 37.137 3.725 1.954 7.425 4.1 11.086 6.3 7.066-13.88 15.86-26.738 26.148-38.648z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chart;

impl IconShape for Chart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 23v466h466v-18H41v-82.184l85.854-57.234 70.023 70.022 65.133-260.536L387.28 203.7 455.07 95.73l19.317 11.858 6.102-71.1-60.644 37.616 19.884 12.207-59.01 93.99-130.732-65.366-62.865 251.462-57.98-57.978L41 367.184V23H23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChatBubble;

impl IconShape for ChatBubble {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.7 22.66A155.2 235.6 80.24 0 0 23.81 215.6 155.2 235.6 80.24 0 0 236.7 333.4c23.8 55.6-17.1 109.3-83.6 161.1 86.2-28.3 176.2-94.4 179.7-178.7a155.2 235.6 80.24 0 0 155.4-180.1A155.2 235.6 80.24 0 0 229.7 22.66z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheckMark;

impl IconShape for CheckMark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.47 250.9C88.82 328.1 158 397.6 224.5 485.5c72.3-143.8 146.3-288.1 268.4-444.37L460 26.06C356.9 135.4 276.8 238.9 207.2 361.9c-48.4-43.6-126.62-105.3-174.38-137z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheckeredFlag;

impl IconShape for CheckeredFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.7 20.11l-15.6 3.53c5.5 24.18 10.9 48.4 16.4 72.61-12.4-1.91-22.7-3.61-34-5.36l6.5 28.91c12.4 1.6 22.6 3.6 34 5.3l7.6 33.6c9.4 41.6 18.9 83.3 28.3 124.9-12.4-1.9-22.6-3.7-34-5.4l6.5 28.8c12.3 2.1 22.7 3.4 34 5.4 13.6 59.8 27 119.7 40.6 179.5l15.6-3.7c-37.4-162.5-73.8-328.9-105.9-468.09zM391.4 307c-12.9-1.9-23.9-3.4-33.7-4l7.4 32.9h.4c12.2 1.3 22.5 3.1 33.5 4.7zm-33.7-4l-6.7-29.5c-14.4-1.5-24.2-1.5-32.7.3l7 31.3c10.4-2.4 20.6-2.9 32.4-2.1zm-32.4 2.1c-10.3 2.4-19.7 6.3-30.1 12l7.4 32.7c9.8-5.2 20.1-11.2 29.8-13.4zm-30.1 12l-6.6-29.5c-7.8 4.8-17.2 11.1-28.6 18.8l6.5 28.9c10.8-7.4 20.2-13.4 28.7-18.2zm-28.7 18.2c-10.3 7-18.9 13-28.4 19.5l7.6 33.2c10-7.2 18.8-13.1 28.3-19.6zm-28.4 19.5l-6.5-28.9c-10.8 7.4-20.1 13.4-28.7 18.2l6.7 29.5c7.8-4.8 17.2-11.1 28.5-18.8zm-28.5 18.8c-12.3 7.5-21.2 11.7-29.7 13.7l7 31.2c10.4-2.4 19.8-6.4 30.1-12.1zm-29.7 13.7l-7.1-31.2c-10.3 2.3-20.5 2.8-32.3 2.1l6.7 29.5c14.3 1.5 24.1 1.5 32.7-.4zm-32.7.4c-9.1-.9-20.3-2.6-33.9-4.7l7.6 33.6s16 2.9 33.7 4zm-33.9-4.7l-6.5-28.8c-12.35-2-22.71-3.4-34.02-5.4l6.53 28.8c12.36 1.8 22.69 3.8 33.99 5.4zm-6.5-28.8c12.9 1.9 23.9 3.4 33.7 4l-7.5-32.9c-9.1-1-20.2-2.6-33.8-4.7zm-7.6-33.6l-6.52-28.9c-12.39-1.8-22.66-3.7-34.02-5.3l6.52 28.8c12.35 2 22.71 3.4 34.02 5.4zm-6.52-28.9c12.82 2 23.92 3.5 33.72 4.1l-7.5-32.9c-9.1-1-20.19-2.6-33.82-4.7zm-7.6-33.6l-6.52-28.9c-12.38-1.8-22.66-3.6-34.02-5.2l6.52 28.8c12.38 1.9 22.64 3.7 34.02 5.3zm-6.52-28.9c12.89 2 23.94 3.5 33.74 4.1l-7.5-33c-9.07-.9-20.22-2.5-33.84-4.7zm-7.6-33.6l-6.52-28.8c-12.33-2.1-22.71-3.3-34.02-5.3l6.52 28.9c12.36 1.9 22.66 3.6 34.02 5.2zm-6.52-28.8c12.89 2 23.93 3.5 33.72 4l-7.45-32.9c-11.72-2.1-24.9-3.3-33.87-4.7zm33.72 4l6.64 29.5c14.4 1.6 24.2 1.5 32.7-.4l-7-31.2c-10.4 2.4-20.6 2.9-32.34 2.1zm32.24-2.1c10.4-2.3 19.8-6.3 30.2-12l-7.5-32.9c-12.3 7.5-21.2 11.7-29.7 13.7zm-7-31.2c-.1 0-.1 0 0 0zm37.2 19.2l6.6 29.5c7.8-4.8 17.2-11 28.6-18.8l-6.6-28.8c-10.7 7.3-20.1 13.4-28.6 18.1zm28.6-18.1c10.3-7 18.9-13.1 28.5-19.4l-7.6-33.66c-10.4 7.05-19 13.01-28.5 19.56zm28.5-19.4l6.5 28.7c10.8-7.3 20.1-13.4 28.7-18.1l-6.7-29.5c-7.8 4.8-17.2 11.1-28.5 18.9zm28.5-18.9c12.3-7.55 21.2-11.74 29.7-13.68l-7-31.2c-11.1 3-21.8 7.36-30.1 11.95zm29.7-13.68l7.1 31.28c10.3-2.4 20.5-2.9 32.3-2.2l-6.7-29.53c-14.3-1.51-24.1-1.48-32.7.45zm32.7-.45c9.1.97 20.3 2.59 33.9 4.72l-7.6-33.59s-16.1-2.91-33.7-4.03zm6.7 29.53l7.4 32.8c9.2 1 20.3 2.6 33.9 4.8l-7.6-33.5c-12.9-2-23.9-3.5-33.7-4.1zm41.3 37.6l6.5 28.8c12.4 1.9 22.7 3.7 34.1 5.3l-6.6-28.8c-12.4-1.9-22.7-3.7-34-5.3zm6.5 28.8c-12.8-2-23.9-3.5-33.7-4l7.5 33c9.1.9 20.2 2.5 33.8 4.6zm7.6 33.6l6.6 28.9c12.4 2 22.7 3.4 34 5.3l-6.5-28.9c-12.4-1.8-22.7-3.7-34.1-5.3zm6.6 28.9c-12.9-2-24-3.5-33.8-4l7.5 32.9c9.1.8 20.2 2.6 33.9 4.7zm-33.8-4l-6.6-29.5c-14.4-1.6-24.2-1.5-32.7.4l7 31.1c10.3-2.3 20.6-2.8 32.3-2zm-32.3 2c-10.3 2.5-19.8 6.4-30.1 12l7.5 33c12.3-7.5 21.1-11.8 29.7-13.8zm-30.1 12l-6.7-29.5c-7.8 4.9-17.1 11-28.5 18.9l6.5 28.8c10.8-7.3 20.1-13.5 28.7-18.2zm-28.7 18.2c-10.5 6.9-18.7 13.2-28.4 19.5l7.6 33.6c10.4-7 19-13 28.4-19.5zM224 292.2l-6.5-28.8c-10.8 7.3-20.1 13.4-28.7 18.2l6.7 29.5c7.8-4.8 17.1-11.1 28.5-18.9zm-28.5 18.9c-12.3 7.5-21.2 11.7-29.7 13.6l7 31.4c10.3-2.4 19.8-6.4 30.1-12zm-29.7 13.6l-7.1-31.1c-10.3 2.3-20.5 2.8-32.2 2.1l6.5 29.5c14.4 1.5 24.2 1.5 32.8-.5zm-7.1-31.1c10.3-2.4 19.8-6.2 30.1-11.9l-7.4-33.1c-12.3 7.7-21.2 11.9-29.8 13.7zm-7.1-31.3l-7-31.2c-10.3 2.4-20.5 3-32.2 2.2l6.6 29.5c14.3 1.5 24.1 1.5 32.6-.5zm-7-31.2c10.3-2.3 19.7-6.3 30.1-12l-7.5-32.9c-12.3 7.6-21.1 11.9-29.7 13.7zm30.1-12l6.7 29.5c7.8-4.6 17.1-11 28.5-18.8l-6.5-28.8c-10.8 7.3-20.1 13.4-28.7 18.1zm28.7-18c10.2-7.2 18.9-13 28.4-19.5l-7.6-33.7c-10.3 7.2-19 13.1-28.4 19.6zm28.4-19.5l6.5 28.8c10.8-7.3 20.1-13.4 28.7-18.1l-6.7-29.5c-7.8 4.7-17.1 11-28.5 18.8zm28.5-18.9c12.3-7.6 21.2-11.8 29.7-13.6l-7-31.2c-10.3 2.2-19.8 6.1-30.1 11.8zm29.7-13.6l7.1 31.1c10.3-2.3 20.5-2.9 32.3-2.1l-6.7-29.5c-14.3-1.6-24.1-1.5-32.7.5zm7.1 31.1c-10.3 2.4-19.8 6.4-30.1 12l7.4 32.9c12.3-7.5 21.2-11.8 29.8-13.6zm-58.8 30.1c-10.3 7.1-19 13-28.4 19.5l7.6 33.7c10.3-7.2 18.9-13 28.4-19.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Checklist;

impl IconShape for Checklist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.31 84.615l-2.85 8.54-11.394 34.185-5.703-5.703L96 115.27 83.27 128l6.367 6.363 26.297 26.297 20.605-61.814 2.845-8.537-17.076-5.695zM151 119v18h242v-18H151zm0 64v18h242v-18H151zm0 64v18h242v-18H151zm-28.69 29.615l-2.85 8.54-11.394 34.185-5.703-5.703L96 307.27 83.27 320l6.367 6.363 26.297 26.297 20.605-61.814 2.845-8.537-17.076-5.695zM151 311v18h242v-18H151zm0 64v18h242v-18H151z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChefToque;

impl IconShape for ChefToque {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M268.608 25.48c-26.47.197-43.568 5.534-55.357 13.75-13.473 9.39-21.036 23.152-27.08 40.974 2.562 20.932 23.94 48.19 19.657 70.38-16.48-28.212-33.466-67.988-63.31-76.116-17.075-4.62-36.54-5.802-43.54-1.436-8.273 5.16-13.81 14.76-16.943 26.854-3.132 12.095-3.66 26.237-2.69 38.285 2.432 30.134 24.784 74.997 46.92 111.093 16.58 27.035 32.78 49.416 39.87 58.953a263.647 263.647 0 0 1 22.85-5.62c-1.538-18.02 1.384-34.673.828-53.947 4.206 18.19 7.84 34.576 14.275 51.36 12.383-1.772 25.42-2.8 38.85-2.82a262.144 262.144 0 0 1 28.256 1.463l14.22-41.562-2.373 43.103c17.118 2.644 34.412 7.158 51.38 13.978 12.21-12.758 16.877-27.402 24.99-41.186.398 16.003-4.507 31.896-15.052 45.464 8.902 4.1 17.684 8.87 26.268 14.38 41.514-67.15 66.69-133.49 61.885-198.7-1.497-20.33-6.088-38.187-12.69-51.105-6.6-12.92-14.827-20.444-23.493-22.704-6.985-1.822-24.825 2.828-39.44 9.496-26.947 10.81-48.5 45.717-55.894 69.53-.253-11.64 3.003-44.39 15.947-60.698-3.98-12.57-6.914-26.394-12.085-36.362-10.442-16.115-20.236-16.91-36.247-16.806zm-26.836 289.85c-25.985.123-50.39 4.192-70.77 10.214l-11.626 98.96c10.16-5.65 22.32-9.144 35.318-11.17 9.958-1.553 20.53-2.233 31.362-2.17 1.547.01 3.1.034 4.658.073 12.457.313 25.19 1.57 37.674 3.582 24.965 4.023 48.854 11.044 67.463 20.175 7.344 3.604 14.094 7.5 19.717 11.9l8.33-96.945c-38.464-25.67-82.153-34.81-122.125-34.62zm-15.84 113.86c-10.017-.06-19.652.554-28.464 1.928-16.116 2.513-29.044 7.62-37.168 14.707 50.417 46.585 123.38 52.03 190.373 22.225-3.786-4.99-11.387-11.32-22.752-16.897-16.367-8.032-38.93-14.78-62.398-18.562-13.2-2.127-26.71-3.32-39.59-3.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChelseaBoot;

impl IconShape for ChelseaBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.3 86.6c-30.5 8.58-50.4 30.6-50.6 58l18-5.6c2.7-18.5 20.6-31 36.6-34.8zm-206.52 1L29.2 101.4c19.15 16.1 34.3 32.5 35.25 47.5l17.96 6.8c-1.04-30.9-21.74-51.4-41.63-68.1zm150.52 86.3l13.8 136.8c5.9 44.1-74.9 48.1-82.7 5.4L104.7 197c-8.62-24.3-19.67-24.7-40.02-30.1.5 45.4-.6 85.3-12.73 125.4-11.17 36.8-14.35 71.9-12.82 93.5C72.78 392.1 243 422.5 333.6 418c43.5-2.1 133.3-16.5 155.8-20.2 2.6-10.9 1.8-27.3-34.5-34.2-64.5-11.1-112.5-25.4-169.7-64.2-14.3-7.5-57.8-56.3-68.9-143.3-10.2-.5-25.5 8.6-25 17.8zm-16.9 12.2c-18.2 4.2-35.6 5.4-52.3 5.2l18.1 122.2c3.1 21.1 48.6 16 46.9-1zm-135.23 218l-4.68 56.2c42.9 15.6 94.81 17.1 139.41 11.2l2.6-26c35.2 8.6 83.5 25.5 108.3 26.5 59.5 2.5 153.8-12.7 205.9-32l-.1-24.1c-24.4 4-110.8 17.9-156.2 20.1-91.9 4.5-253.05-24-295.23-31.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cherish;

impl IconShape for Cherish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.361 28.344c-51.352.63-79.54 56.303-79.244 86.957 1.504 47.346 34.181 79.356 74.82 114.763 35.351 30.799 76.091 63.283 100.907 109.987.05-.092.105-.18.156-.272.051.092.105.18.156.272 24.816-46.704 65.556-79.188 100.906-109.987 40.64-35.407 73.317-67.417 74.82-114.763.297-30.654-27.891-86.327-79.243-86.957C314.636 27.878 270 54 256 96c-14-42-58.636-68.122-96.639-67.656zM60.17 198.06c-8.818-.137-17.843 11.093-17.895 39.882-.078 44.153-4.356 56.616 16.077 106.551C73.335 381.112 80.054 409.257 128 432c5.68 20.022 3.413 24.73-.44 41.84-3.596 15.974 33.423 18.91 60.534 5.453 29.091-15.868 26.65-59.557 21.453-89.184-6.044-34.454-25.06-41.615-41.543-56.332-17.115-24.475-21.098-68.813-48.856-86.699-5.797-3.735-35.37-7.527 5.262 93.942-53.571-13.268-43.813-74.773-47.687-120.31-1.154-13.561-8.773-22.53-16.553-22.65zm391.66 0c-7.78.12-15.399 9.088-16.553 22.65-3.874 45.536 5.884 107.041-47.687 120.309 40.633-101.47 11.059-97.677 5.262-93.942-27.758 17.886-31.74 62.224-48.856 86.7-16.482 14.716-35.5 21.877-41.543 56.331-5.197 29.627-7.638 73.316 21.453 89.184 27.111 13.456 64.13 10.521 60.533-5.453-3.852-17.11-6.119-21.818-.439-41.84 47.946-22.743 54.665-50.888 69.648-87.506 20.433-49.935 16.155-62.398 16.077-106.55-.052-28.79-9.077-40.02-17.895-39.883z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cherry;

impl IconShape for Cherry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M278.814 35.137c-3.87 29.372 2.21 62.917 23.563 91.277 24.7 32.807 70.077 59.506 146.49 64.467-10.864-53.306-31.943-84.387-60.87-107.415-23.07-18.367-51.784-31.734-84.02-45.96 29.838 36.785 60.63 73.392 105.382 92.694l-7.13 16.527c-55.713-24.03-90.292-70.698-123.416-111.59zM259.2 46.79c-42.613 88.792-88.927 175.71-147.975 257.08-1.967-1.61-3.77-3.225-5.454-4.725-4.98-4.436-9.11-7.99-15.42-10.407-2.338-.896-4.675-1.33-7.02-1.326-7.035.01-14.15 3.948-21.65 11.11-10 9.553-18.946 24.412-23.893 37.62-14.318 38.227 4.955 80.574 43.186 94.89 38.23 14.32 80.582-4.952 94.9-43.178 4.94-13.187 8.024-30.42 6.8-44.243-.61-6.91-2.283-12.897-4.786-17.208-2.503-4.31-5.532-7.033-10.21-8.627-4.466-1.52-10.517-1.707-17.765-1.85-6.83-.133-14.742-.297-22.97-3.064 53.342-73.767 96.236-151.695 135.23-230.99-7.14 56.593-14.18 114.543-29.91 170.29-7.03-.83-12.847-3.195-17.887-5.144-6.222-2.407-11.337-4.285-18.094-4.336-10.013-.077-17.4 6.766-23.415 19.216-5.06 10.48-8.094 24.21-8.93 36.708 3.11.388 6.3 1.027 9.544 2.132 8.872 3.023 15.68 9.234 19.973 16.627 4.293 7.394 6.374 15.88 7.15 24.662.775 8.75.267 17.862-1.156 26.727 11.08 6.646 24.062 10.47 37.967 10.47 40.825 0 73.725-32.898 73.725-73.718 0-14.08-3.156-31.3-9.15-43.817-2.997-6.257-6.663-11.276-10.52-14.435-3.856-3.16-7.648-4.648-12.59-4.5-4.713.142-10.445 2.09-17.282 4.498-3.142 1.107-6.54 2.286-10.188 3.25 11.84-43.77 18.6-88.247 24.276-131.803C263.302 95.443 258.402 70.4 259.2 46.79zm46.732 110.605c1.617 5.452 3.26 10.96 4.945 16.554 20.44 67.845 45.324 144.313 68.207 195.255-4.537.18-8.715-.204-12.46-.52-6.65-.564-12.083-.93-18.583.917-9.63 2.738-14.8 11.38-17.075 25.017-2.275 13.638-.524 30.894 3.437 44.43 11.464 39.178 52.28 61.515 91.463 50.052 39.182-11.464 61.52-52.276 50.057-91.454-3.955-13.514-11.82-29.155-21.086-39.484-4.634-5.164-9.564-8.953-14.152-10.902-2.295-.975-4.456-1.554-6.63-1.698-2.177-.143-4.368.15-6.718.915-4.485 1.458-9.44 4.937-15.324 9.168-4.337 3.118-9.218 6.61-15.076 9.29-21.51-47.232-46.358-122.123-66.762-189.375-9.007-5.556-17.075-11.646-24.242-18.168z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chest;

impl IconShape for Chest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M58.553 89L42.27 211.8H79V89H58.553zM97 89v122.8h38V89H97zm56 0v122.8h56.666v-17.6h92.668v17.6H359V89H153zm224 0v122.8h38V89h-38zm56 0v122.8h36.73L453.446 89H433zM227.666 212.2v105.2h56.668V212.2h-56.668zM256 223.794a18.667 16.103 0 0 1 18.666 16.1 18.667 16.103 0 0 1-9.666 14.09v37.214h-18V254a18.667 16.103 0 0 1-9.666-14.106 18.667 16.103 0 0 1 18.666-16.1zM41 229.8v127.915l19.334 18.23V229.8H41zm37.334 0v158h355.332v-158H302.334v105.6h-92.668V229.8H78.334zm373.332 0v146.145L471 357.715V229.8h-19.334zM41 382.456V423h43.002L41 382.455zm430 0L427.998 423H471v-40.545zM92 405.8l18.24 17.2h291.52L420 405.8H92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChestArmor;

impl IconShape for ChestArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.7 25.83L89 39.38c-.1 58.57-1.74 119.32-43.49 167.22C104.4 246.5 189 260.7 247 248.8v-99L108.3 88.22l7.4-16.44L256 134.2l140.3-62.42 7.4 16.44L265 149.8v99c58 11.9 142.6-2.3 201.5-42.2-41.8-47.9-43.4-108.65-43.5-167.22l-67.7-13.55c-12.9 13.88-20.6 28.15-32.9 40.53C308.9 79.78 289.5 89 256 89c-33.5 0-52.9-9.22-66.4-22.64-12.3-12.38-20-26.65-32.9-40.53zM53.88 232.9C75.96 281 96.07 336.6 102.7 392.8l65 22.8c4.2-52.7 28.2-104 63.7-146.1-55.1 6.3-122.7-5.8-177.52-36.6zm404.22 0c-54.8 30.8-122.4 42.9-177.5 36.6 35.5 42.1 59.5 93.4 63.7 146.1l65.2-22.9c6.6-56.8 26.6-111.8 48.6-159.8zM256 269c-40.5 43.1-67.7 97.9-70.7 152.7l61.7 21.6V336h18v107.3l61.7-21.6c-3.1-54.8-30.2-109.6-70.7-152.7zm151.7 143.4L297 451.1v18.8l110.2-44.1c.1-4.5.3-8.9.5-13.4zm-303.3.1c.3 4.5.4 8.9.5 13.4l110.1 44v-18.7l-110.6-38.7zM279 457.4l-23 8.1-23-8v19.6l23 9.2 23-9.2v-19.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChestnutLeaf;

impl IconShape for ChestnutLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.8 21.43s-5.9 14.34-15.6 19.23c-17.6 8.99-36.7 21.57-38.7 55.07-3.7 62.07 19 131.87 40.6 190.77-20.4-41.5-39.5-71.9-93-114.5-23.73-19.2-60.37-50.5-78.88-43.7-10.17 3.8-24.08-5-24.08-5 5.31 11.2 7.49 24 7.82 36.3 1.26 26.9 11.81 57.6 29.02 82.4 37.59 52.6 91.92 75 138.52 86-41.2-6.2-72.7-5-122.09 10.1-22.85 6.8-31.79 22.1-37.33 39.2-3.02 9.5-12.98 15.3-12.98 15.3 8.99 2.4 18.38 6.1 25.49 12.5 15.81 13.7 37.38 15.7 62.11 11.5 56.8-9.5 82.5-26.6 121.1-61.3 1.2 47.2-2.7 96.4-11.3 135.1l17.6 4c9-40.3 12.9-89.9 11.8-137.9 46 24.1 110.2 51.6 171.7 32.9 22.7-7.4 36.9-28.3 46.7-46.2 4.5-8.2 15.4-10.1 23.6-14.7 0 0-14.6-1.9-21.8-10.4-13.4-15.2-32.9-26-59.3-26.4-40.5-.8-71.2 7.9-98.3 19.7 31.4-21.9 65.9-52.1 107.1-86.5 35.7-36.2 35.2-48.8 34.1-75.8-.7-12.2-6.9-20.8-2.6-32.2 0 0-14.3 1.3-25.2 1.3-22.3 0-34.6-11.2-56.6 10-43.7 41.4-73 92-96.1 140.4 16.2-54.4 26.1-123.5 15.2-175.2-4.9-31.93-13.7-43.53-40.2-52.25-11.6-3.85-13.8-8.26-18.4-19.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chicken;

impl IconShape for Chicken {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.852 31.858c-10.152 2.474-24.915 7.073-37.437 13.602-9.2 4.797-17.277 10.575-21.928 16.19-4.65 5.618-6.05 9.96-4.416 15.587l3.556 12.254-12.736-.76c-3.048-.183-4.944-.117-7.364-.262-2.42-.146-5.405-.706-8.27-1.87-3.86-1.568-9.082-4.65-16.085-8.91-.366 4.63-.58 10.108-.407 16.006.38 12.915 2.02 27.945 4.82 41.17 1.328 6.27 3.007 12.134 4.805 17.13 2.992-4.705 6.264-9.202 9.84-13.368 17.022-19.818 40.47-41.586 69.867-43.697 14.423-1.037 29.333 5.324 42.554 12.41 3.997-7.635 10.257-13.963 16.617-19.67 6.403-5.748 13.146-11.018 18.95-15.97-9.552-6.72-16.81-10.074-23.02-10.855-7.936-.998-16.028 1.45-28.835 8.828l-15.21 8.762 4.7-46.577zm-12.796 80.995a16.57 16.57 0 0 0-1.672.03c-20.817 1.494-41.72 19.098-57.5 37.47-13.842 16.117-23.36 41.13-28.65 61.556 6.866 1.127 14.21 2.21 21.564 2.43 10.95.33 20.46-1.593 25.334-5.83l7.04-6.114 5.862 7.25c4.956 6.128 10.802 14.087 14.32 23.476 1.78 4.75 2.88 10.128 2.698 15.607 12.487-2.64 23.93-7.162 28.884-12.86l5.256-6.043 6.614 4.52c10.006 6.838 19.827 14.582 26.634 25.236 1.033-3.752 1.935-7.666 2.416-11.75 1.503-12.738-.18-25.93-6.636-35.494-10.232-11.257-22.116-22.055-24.93-37.03-1.066-5.675.69-10.02 2.78-14.29 2.092-4.27 4.972-8.467 8.35-12.593 3.803-4.644 8.228-9.1 12.948-13.05-4.015-2.658-8.39-5.55-13.877-8.665-12.77-7.256-28.594-13.592-37.434-13.86zM48.52 128.626c-6.353-.037-9.976.466-9.976 1.576 2.82 12.857 7.998 26.53 15.432 39.48 26.005-3.718 53.01-5.705 80.652-5.488 26.75 8.66 54.68 16.02 80.83 25.338-25.477-4.52-50.737-6.842-75.512-7.3a489.987 489.987 0 0 0-11.82-.073c-28.5.16-56.26 2.772-82.938 7.17 4.785 32.48 20.097 79.06 50.397 120.476 32.95 45.036 82.958 84.022 156.976 94.457 58.185 8.202 107.473-4.926 132.47-31.346 12.5-13.21 19.395-29.548 19.23-49.768-.157-18.958-6.877-41.526-22.327-67.106-1.133-.884-2.3-1.766-3.52-2.654-13.164 10.368-31.666 13.752-47.895 15.322l-18.392 1.78 9.94-15.58c2.974-4.66 2.76-9.265.433-15.474-1.486-3.962-4.016-8.048-6.75-11.992-9.13 4.418-19.634 5.185-29.495 4.887-12.977-.392-25.546-2.913-33.66-4.262l-9.268-1.538 1.936-9.193c2.894-13.746 7.735-30.663 15.19-46.902-46.584-23.24-175.11-41.595-211.933-41.812zm303.762.088c8.852 0 16.186 7.384 16.186 16.213 0 8.83-7.334 16.213-16.186 16.213-8.85 0-16.187-7.384-16.187-16.213 0-8.83 7.336-16.213 16.187-16.213zm73.906 13.47l-1.707.936c-5.958 3.275-13.704 10.08-19.133 16.71-2.715 3.316-4.887 6.612-6.11 9.108-.885 1.807-1.032 3.154-1.13 3.35 1.295 5.8 10.486 16.914 20.966 28.522l.387.427.326.473a54.88 54.88 0 0 1 4.754 8.342c11.47.563 23.966-.753 38.652-3.727l-41.35-30.937s37.437.748 51.126-1.635c4.696-.818-25.494-22.228-46.78-31.57zM160.52 231.076l17.516 4.15c-1.628 6.866-6.334 11.36-11.355 15.008-5.02 3.65-10.874 6.607-17 9.354-5.37 2.408-10.923 4.598-16.195 6.698 17.247 7.16 39.738 12.514 57.944 7.756l8.135-2.127 2.672 7.975c2.102 6.27.8 12.92-1.97 18.097-2.766 5.176-6.815 9.438-11.452 13.343-4.408 3.713-9.428 7.075-14.636 10.11 1.512.4 2.75.78 4.413 1.185 16.154 3.923 39.21 7.99 62.21 9.678 22.997 1.688 46.086.824 61.544-4.053 7.728-2.44 13.347-5.8 16.605-9.553 3.26-3.753 4.8-7.815 4.16-14.64l17.922-1.678c1.02 10.888-2.2 20.873-8.49 28.12-6.29 7.245-15.014 11.835-24.78 14.917-19.536 6.163-44.068 6.615-68.28 4.837-24.213-1.778-47.956-5.964-65.14-10.137-8.59-2.087-15.446-4.112-20.384-6.105-2.47-.997-4.277-1.582-6.817-3.805-1.27-1.112-3.838-3.195-3.59-8.084.122-2.444 1.414-4.847 2.696-6.168 1.28-1.32 2.438-1.895 3.368-2.295 9.76-4.196 20.562-10.17 27.602-16.098a41.493 41.493 0 0 0 3.95-3.828c-28.726 2.026-57.113-10.163-73.773-20.45l-13.646-8.425 14.302-7.258c9.833-4.99 23.145-9.453 34.26-14.44 5.56-2.492 10.508-5.107 13.787-7.49 3.277-2.38 4.37-4.38 4.42-4.597zM132.378 373.31c-9.94 10.178-24.66 20.105-40.18 28.05-6.34-7.936-13.154-15.46-20.445-22.242L59.495 392.3c5.485 5.1 10.75 10.778 15.762 16.814-5.725 2.31-11.364 4.275-16.715 5.793l4.914 17.315c6.655-1.89 13.604-4.25 20.605-7.035-.004 16.89-1.79 35.74-6.532 48.816l16.92 6.14c3.645-10.05 5.755-21.453 6.826-32.9 4.775 8.44 9.016 16.875 12.606 24.934l16.443-7.326c-6.96-15.626-16.04-32.46-26.976-48.42 16.785-8.633 32.574-19.633 43.97-32.488a244.225 244.225 0 0 1-14.94-10.632zm301.435 35.127c-15.158.19-32.163 7.857-49.21 18.494a196.634 196.634 0 0 0-20.456 14.66c-6.71-5.158-13.73-10.692-20.86-16.23a1086.232 1086.232 0 0 0-7.88-6.062c-7.882 1.91-16.138 3.324-24.705 4.232 7.053 4.96 14.317 10.433 21.545 16.047 6.184 4.802 12.332 9.672 18.37 14.354-4.958 5.056-9.45 10.33-13.243 15.735l14.734 10.34c3.507-4.998 7.984-10.123 13.076-15.117 5.09 3.68 10.056 7.083 14.82 9.965l9.317-15.4a143.322 143.322 0 0 1-4.667-2.96c19.407-2.33 39.054-.35 52.653 2.676l3.91-17.57c-10.58-2.356-23.95-4.223-38.416-4.275l-.19.002c13.615-7.218 26.607-11.223 33.21-10.857l1-17.97a44.232 44.232 0 0 0-3.007-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChickenOven;

impl IconShape for ChickenOven {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.8 45.5s-12.6 6.61-25.3 16.33c-6.3 4.86-12.8 10.5-18 16.94-5.2 6.44-9.5 13.89-9.5 22.73 0 8.6 4.6 15.7 10 20.6 5.3 4.8 11.5 8.2 17.3 11.4 5.8 3.2 11.3 6.3 15 9.3 3.7 3 5.4 5.4 5.8 8.1 1.1 6.6-5.2 22.1-13.2 34.5-8.1 12.4-16.6 22.1-16.6 22.1l13.4 12s9.4-10.6 18.3-24.3c8.9-13.7 18.6-30.2 15.9-47.1-1.4-8.5-6.6-14.8-12.3-19.3-5.6-4.6-11.9-7.9-17.6-11.1-5.7-3.1-10.9-6.2-14-9-3.1-2.8-4-4.5-4-7.2 0-2.49 1.7-6.72 5.5-11.41 3.8-4.7 9.3-9.64 15-13.96 11.3-8.63 22.7-14.71 22.7-14.71zm90 32.43s-12.4 4.66-25.1 11.56c-6.3 3.45-12.8 7.42-18.1 12.11-5.4 4.7-10.6 10.4-10.6 18.9 0 8.2 5.7 14 11.1 17.5 5.4 3.4 11.4 5.8 17.3 8.1 5.8 2.2 11.4 4.5 15.1 6.6 3.7 2.2 4.7 3.9 4.7 4 .2.6-.2 3.7-2.5 7.8-2.2 4-6 8.8-9.9 13.1-7.9 8.7-16.4 15.6-16.4 15.6l11.2 14s9.4-7.5 18.5-17.4c4.5-5 9-10.5 12.4-16.6 3.3-6 6-12.8 4.3-20.5-1.8-7.8-7.7-12.3-13.3-15.6-5.6-3.2-11.8-5.5-17.6-7.8-5.7-2.3-11-4.5-14-6.5-2.3-1.4-2.8-2.1-2.9-2.3.2 0 1.1-2.4 4.4-5.4 3.7-3.2 9.2-6.7 14.9-9.8 11.3-6.16 22.9-10.53 22.9-10.53zm67.5 12.82c-3.7.69-7.8 4.37-10.9 10.65-3.1 6.3-4.6 14.5-4.1 20.2.1 1.1 4.1 8.2 9 13.3 5 5.1 9.9 8.9 9.9 8.9l4.5 3.4-10.6 51.3 14.3 4.4 22.1-42.2c-5.1-5.5-10.2-11.9-10.9-21-.5-7.6.6-15.7 3.4-23.4-6.3-1.7-7.8-5-10.1-8-2.5-3-4.9-6.4-7.3-9.37-2.4-3.01-4.9-5.62-6.8-6.96-1.8-1.33-2.3-1.21-2.5-1.21zm56.3 16.65c-3.7.7-7.8 4.3-10.9 10.6-3 6.3-4.6 14.5-4.1 20.3.1 1.1 4.1 8.2 9 13.3 5 5.1 9.9 8.9 9.9 8.9l4.5 3.4-10.7 51.4 14.3 4.5 25.8-49.3 3.7-1s9.4-2.8 19.2-7.4c4.9-2.3 9.8-5.1 13.3-7.9 3.6-2.9 5.5-5.6 5.8-6.9v-.1c1.5-5.2.4-13.5-3-20.6-3.5-7-9-12.3-13.8-13.8-.2-.1-.7-.2-2.8 1-2.1 1.2-5 3.6-8 6.4-3 2.9-6.1 6-9.8 8.7-3.6 2.7-8.7 5.8-15.3 4.1-6.6-1.6-8.1-5.1-10.5-8.1-2.5-3-4.9-6.4-7.3-9.4-2.4-3-4.9-5.6-6.8-6.9-1.8-1.4-2.3-1.2-2.5-1.2zM92.36 119.9s-12.5 5.4-25.21 13.5c-6.36 4.1-12.83 8.7-18.13 14.2-5.3 5.5-10.04 12-10.04 20.5 0 8.2 5.22 14.7 10.59 18.7 5.38 4 11.48 6.8 17.3 9.5 5.82 2.6 11.35 5.2 15.06 7.7 3.7 2.5 4.96 4.4 5.21 5.7.35 1.8-.3 6-2.69 11-2.38 4.9-6.16 10.6-10.15 15.7-7.97 10.2-16.5 18.2-16.5 18.2l12.34 13.2s9.37-8.8 18.35-20.4c4.49-5.7 8.94-12.2 12.21-19 3.3-6.8 5.7-14.2 4.1-22.1-1.5-8-7.18-13.4-12.81-17.2-5.64-3.8-11.88-6.6-17.61-9.2-5.73-2.6-10.95-5.2-14.02-7.5-3.06-2.3-3.39-3.2-3.39-4.3 0-.9 1.26-4.1 4.96-8 3.7-3.8 9.23-7.9 14.87-11.5 11.29-7.2 22.79-12.3 22.79-12.3zm238.54 93.6c-2.3 1.6-7.7 5.5-15.2 11.2 12 2.5 24.3 5.8 36.7 9.8 1.6-1.3 3-2.4 4.5-3.6-.5-4.2-1-7.5-1.3-9.7zm56.4 16.8c-4.5 3.2-19.6 14.2-39.2 31.3-22.8 19.8-48.2 45.6-58.3 66.1-7.6 15.4-16.3 34.2-20.6 52-4.3 17.8-4.1 33.7 3.3 44.8 4.2 6.3 10.7 8.3 20.4 8.1 9.7-.1 21.3-3.2 30.9-6.2 33.7-11 69-35.1 85-69.8 7.2-15.6 8.6-47.5 7.2-74.5-1.1-22-3.3-37.7-4.2-44zm-111.9 8.1c-1.1 0-2.3 0-3.4.1-38.3 2-82.1 9.5-119.7 25-37.7 15.4-68.95 38.5-84.12 71.2-5.49 11.8-5.15 27.7-.16 41.1 4.99 13.4 14.28 23.3 24.06 25.9 42.92 11.2 101.22 16 158.32 17-3.5-13.2-2.3-27.6.9-41.4-31.1 11.8-76.5 14.6-133.8-3.5l-8.5-2.7 2.6-8.5c7.4-25 30-57.7 66.8-74.6l7.6 16.4c-26.9 12.3-45.6 36.2-53.9 54.9 59.5 16.7 102.7 8 126.3-5.3 4.6-12.5 10.2-24.2 15.2-34.3 12.5-25.2 38.7-50.8 62.1-71.1-20.7-6-40.6-10-57-10.2zm158.9 49.3c1.1 26.4.3 55.9-9.1 76.5-9.4 20.3-23.9 37-40.8 50.3 7.9-.7 15.4-1.4 22.1-2.2 12.4-1.3 22.6-2.8 29.8-4.2 3.6-.8 6.5-1.5 8.4-2 .7-.3 1.1-.5 1.4-.7 12.1-15.1 23.8-29.4 31.6-44.2 7.3-14.2 11.3-28.6 9.4-46-4.1-2.4-24-13.7-52.8-27.5zM53.14 386.9c-5.4 2.4-10.12 4.8-14.04 7.3-10.89 6.9-14.66 13-14.66 17.3 0 4.3 3.77 10.4 14.66 17.3s27.79 13.6 48.95 19.3c42.35 11.2 101.85 18.4 167.45 18.4s125.1-7.2 167.4-18.4c21.2-5.7 38-12.4 48.9-19.3 10.9-6.9 14.7-13 14.7-17.3 0-3.7-2.9-8.8-10.7-14.6-5.5 7.2-11.2 14.2-16.8 21.2l-.3.5-.5.4c-3.2 3-5.3 3.3-8.2 4.2-2.8.9-6.2 1.7-10.2 2.5-8 1.6-18.6 3.1-31.3 4.5-16.1 1.8-35.6 3.4-57.1 4.6-7.4 3.5-14.8 6.4-22.1 8.8h-.1c-10.1 3.2-23 6.8-36 7-12 .3-25.4-3.1-33.9-13.7-60.6-.6-123.8-5.3-171.76-17.8-15.92-4.2-27.55-17-34.4-32.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChiliPepper;

impl IconShape for ChiliPepper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M446.738 28.814c-25.117 13.687-48.889 42.68-61.957 71.809-7.818-2.893-16.676-4.618-25.513-4.545-14.73.121-29.385 5.227-39.008 18.168.886.005 1.774.018 2.666.05 12.22.443 24.958 3.41 37.304 8.102 22.98 8.734 45.207 23.286 58.29 41.83 12.723-30.603-.83-45.203-17.569-55.43 11.733-25.618 34.789-53.49 54.4-64.177zM319.824 132.261a58.819 58.819 0 0 0-6.894.35c-11.725 1.322-19.854 5.705-24.686 14.477-45.314 82.267-40.39 117.237-53.092 156.177-6.35 19.47-17.347 39.092-40.322 63.21-22.975 24.116-57.954 53.12-113.379 93.007-12.743 9.171-20.766 16.8-24.03 21.39-.686.967-.496.828-.773 1.417 2.1.465 6.218 1.262 13.534.709 9.923-.751 23.7-3.263 40.53-7.672 85.471-22.392 164.479-75.553 220.118-132.317 27.82-28.381 49.794-57.658 63.861-84.048 14.068-26.39 19.84-49.872 17.239-65.627-3.273-19.817-29.295-43.162-58.096-54.11-10.8-4.105-21.814-6.517-31.592-6.908a69.925 69.925 0 0 0-2.418-.055zm1.977 17.813c1.725.06 3.385.555 4.967 1.533-22.945 39.64-46.91 81.1-60.47 138.438-22.95-11.989 25.686-141.007 55.503-139.971z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chimney;

impl IconShape for Chimney {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.9 176.8c-20.9 19.6-34.65 25.8-60.02 24.9-9.64 16.9-9.17 28.1-4.31 38.6 2.93 6.4 8.08 12.6 14.57 18.8H309.6c13.5-5.4 21.6-17.7 24.3-29.5-18.5 2.8-35 1.4-49-4.6-14.7-6.3-26.2-17.7-34.3-32.5-24.6.5-50-20.1-60.8-38.3 53.3 30 100.1 15.3 131.4 6.2-18.3 18.3-29.1 23.8-51.2 29.3 5.9 8.8 13.1 14.9 22 18.7 11.6 5 26.4 6.2 45.3 2.3l.1-.3.4.2c32.4 19 73.8 22.1 100.9 7.3 26.5-15.1 44.7-30.4 55.3-45.2V75.77c-22.6 14.04-48.9 21.81-73.1 18.99-29.2 20.14-67.3 30.44-103.8 31.04-37.3.6-73.8-17.1-99.5-39.02 33.8 13.82 65.2 21.62 99.2 21.02 27.4-.4 56.2-7.2 79.8-19.39-14.6-5.83-33.4-13.4-56.1-32.32 67.3 19.87 106.3 31.32 153.5-2.05 1.2-9.7-.7-22.02-1.8-31.17L18 23.19v66.75c14.13 16.06 84.3 17.66 126.5 8.63C109.7 113 59.91 122.1 29.79 112.9c-20.186 8-11.42 30.1-4.08 43.5 15.79 28.8 72.89 38.5 105.19 20.4zM73 277.1v62h238v-62zm48 80v30h30v-30zm48 0v30h94v-30zm-48 48v30h78v-30zm96 0v30h46v-30zm-96 48v30h30v-30zm48 0v30h94v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChipsBag;

impl IconShape for ChipsBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.684 31.388a1.443 1.443 0 0 0-.29.004c-.396.048-.768.25-1.398.609-1.26.719-3.215 2.597-5.039 5.484-3.648 5.776-6.593 15.148-7.516 22.34-2.004 15.623 3.42 23.692 13.293 31.436 5 3.92 11.236 7.328 17.914 10.515-3.23-13.668-3.189-27.344-3.732-38.859-.419-8.882-1.232-16.509-3.107-21.623-1.853-5.052-3.884-7.627-8.987-9.62-.472-.156-.833-.262-1.138-.286zm111.212 11.478c-27.446.122-54.797 1.187-81.492 2.78.891 5.354 1.23 10.856 1.492 16.423.048 1.01.092 2.025.137 3.037 21.693 20.288 34.01 21.811 44.826 20.485 5.516-.677 10.93-2.497 17.13-3.977.993-.237 2.029-.455 3.081-.658 8.481-8.258 19.868-14.662 33.342-20.033A61.785 61.785 0 0 1 287.7 56.56c8.175.303 15.944 2.17 22.854 5.03 6.499 2.69 12.318 6.169 17.218 10.23 2.24-.62 4.518-.928 6.819-.967 7.174-.12 14.565 2.29 21.66 5.385 11.352 4.952 22.62 12.632 31.791 20.908 2.124 1.917 4.14 3.82 6.033 5.737l16.018-3.11 2.63-1.925c13.21-9.668 22.782-20.853 30.01-31.409-56.662-17.009-121.396-23.16-186.43-23.564-4.136-.026-8.271-.028-12.406-.01zm-142.01 7.254a4102.267 4102.267 0 0 0-36.077 3.254c1.134 11.198 6.268 21.673 18.056 32.58l3.17 2.934 22.328 4.808c-6.756-9.505-10.64-21.648-8.777-36.162.309-2.406.74-4.894 1.3-7.414zm183.048 24.371c-5.166.056-10.503 1.019-15.856 3.153C255.233 83.162 245 89.696 239.15 96.478c-5.85 6.78-7.914 13.268-6.27 22.378.093.51.196 1.012.302 1.51l33.588 7.235 69.66-13.526c-4.783-5.828-9.006-12.019-12.248-18.79-2.489-5.199-10.313-12.84-20.512-17.061-5.1-2.111-10.69-3.475-16.533-3.702-.73-.028-1.465-.039-2.203-.03zm57.095 15.85c3.411 5.378 7.23 10.978 11.621 16.22a150.804 150.804 0 0 0 3.252 3.54l15.147-2.94c-7.09-5.78-15.437-11.126-22.996-14.424a45.357 45.357 0 0 0-7.024-2.396zm-174.496.594c.94 5.71 2.199 11.12 3.799 16.109l43.184 9.303a43.858 43.858 0 0 1 1.423-13.678 70.877 70.877 0 0 1-4.888.787c-11.8 1.447-26.322-.936-43.518-12.521zM91.93 108.356l-8.383 76.563 94.193 2.305c21.335-19.254 48.606-30.866 78.479-30.866 31.857 0 60.758 13.206 82.652 34.805l77.983 1.908-5.041-75.295-145.231 28.198zm164.289 66.002c-58.224 0-106.217 52.74-106.217 119.13 0 66.39 47.993 119.128 106.217 119.128 58.223 0 106.217-52.739 106.217-119.129 0-66.39-47.994-119.129-106.217-119.129zM75.785 202.733l-6.281 62.846C63.95 321.138 77.74 377.93 99.787 435.145l1.66 4.31-2.531 3.86c-7.597 11.588-19.783 21.862-33.562 31.42 14.767 1.264 29.76 2.284 44.917 3.102l22.924-29.006 14.121 11.16-14.927 18.89c14.169.58 28.459.997 42.832 1.278l1.113-25.775 17.984.777-1.093 25.283c16.038.191 32.158.21 48.296.127v-25.629h18v25.5c16.873-.173 33.736-.457 50.543-.818l-3.898-24.117 17.77-2.873 4.296 26.58c16.438-.401 32.687-.872 48.893-1.346l-13.9-23.219 15.445-9.246 19.074 31.867c16.498-.494 32.835-.987 48.902-1.44-12.73-11.767-25.39-24.23-32.433-39.46l-1.111-2.402.367-2.623s12.397-89.64 12.533-132.92c.073-23.34-2.226-55.719-5.145-87.25l-66.455-1.625c16.34 23.275 26.034 52.45 26.034 83.937 0 75.138-55.176 137.13-124.217 137.13-69.042 0-124.217-61.992-124.217-137.13 0-33.654 11.075-64.665 29.502-88.656zm237.53 41.409c6.184-.143 12.236 2.243 17.081 5.77 6.891 5.014 12.332 12.414 15.83 21.1 6.998 17.373 5.063 41.493-15.263 57.376-17.671 13.808-38.32 16.338-57.145 10.445a79.905 79.905 0 0 1-6.324-2.295c-12.764 3.93-27.601 9.065-42.97 9.707-16.562.692-34.526-5.338-46.34-23.398-5.325-8.14-10.014-18.55-11.545-29.149-.766-5.3-.78-10.759 1.148-16.115 1.929-5.356 6.402-10.43 12.367-12.79l.145-.056.146-.052a32.522 32.522 0 0 1 10.29-1.885c6.457-.127 12.625 1.658 17.83 4.586 7.93 4.46 14.327 11 20.703 17.789.692.737 1.384 1.481 2.076 2.222 29.671 1.337 40.027-5.507 47.39-13.54 3.755-4.098 6.69-8.995 10.442-14.147 3.752-5.152 8.697-10.777 16.314-13.93a21.561 21.561 0 0 1 7.824-1.638zm1.013 17.925a4.529 4.529 0 0 0-1.955.346c-3.299 1.365-5.61 3.723-8.648 7.895-3.039 4.171-6.427 9.934-11.721 15.71-8.033 8.765-20.623 16.386-41.225 18.745 7.154 6.034 14.434 10.94 21.575 14.23l13.15 4.242c11.839 2.249 22.923-.082 34.375-9.03 14.157-11.063 14.339-24.833 9.652-36.468-2.343-5.817-6.195-10.7-9.726-13.271-2.318-1.687-4.071-2.343-5.477-2.399zm-122.54 18.5c-1.556.022-3.21.362-5.126 1.028-1.288.523-1.468.776-1.94 2.086-.49 1.365-.757 4.062-.269 7.443.977 6.761 4.824 15.8 8.793 21.867 8.623 13.182 17.991 15.796 30.527 15.272 6.35-.266 13.304-1.726 20.454-3.641-11.335-8.295-20.188-18.721-28.08-27.125-6.088-6.482-11.659-11.753-16.407-14.424-2.374-1.335-4.366-2.162-6.426-2.422a10.956 10.956 0 0 0-1.527-.084z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chisel;

impl IconShape for Chisel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426.2 30.65L405 51.82l55.2 55.08 21.2-21.1-55.2-55.15zM173.6 55.12c-13.3 19.1-31.3 28.5-50 31.6-12.3 2-24.91 1.5-37.41.4 10.5 10.6 19.91 22.18 24.21 36.18 36.7.2 69.2-9.9 98.6-36.28-8.9-13.4-21.3-23.1-35.4-31.9zm218.7 9.47L231.6 225.3c0 10.1-.1 20.4-1.5 30-1.1 7.8-3.1 15.4-7 21.9l11.7 11.7c6.5-3.9 14.1-5.9 21.9-7 9.6-1.4 19.9-1.5 30-1.5l160.7-160.7-55.1-55.11zM188.6 268.2l-21.2 21.2 55.2 55.2 21.2-21.2-55.2-55.2zm-24.8 43c-28.8 11.1-48.7 30.5-59.4 41.2l-79.14 79.2c-.71.7-1.72 2.6-1.98 6.2-.26 3.7.28 8.5 1.52 13.5 2.48 9.9 8.22 20.5 11.79 24.1 3.55 3.6 14.15 9.3 24.08 11.8 4.97 1.2 9.83 1.8 13.45 1.5 3.61-.2 5.59-1.3 6.3-2l79.18-79.2c10.7-10.6 30.1-30.5 41.2-59.3l-37-37zM314 375.6c-17.2 13-25.1 26.3-27 37.2-2.1 11.1 1.5 19.7 8.2 25.5l40.2 13.7c-3.9-9.7-6.8-19.9-5.8-30.8.8-9.2 4.8-18.5 12.6-26.2 3.2-3.2 7-6 11.3-8.7L314 375.6zm85.4 40.5c-17.7 1.8-36.1 5-52 9.7.2 7.8 3.6 17.2 7.9 27.1 22.7-9.5 54.8-17.6 87.9-19.6-15.9-8.6-28.4-13.7-43.8-17.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Choice;

impl IconShape for Choice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M400 25c-48.2 0-87 38.84-87 87 0 48.2 38.8 87 87 87s87-38.8 87-87c0-48.16-38.8-87-87-87zm40.5 34.01l15 9.98-70.1 105.11-55.8-55.7 12.8-12.8 40.2 40.3 57.9-86.89zM304.7 156.1L186.4 238H32v36h154.4l118.3 81.9c5.1-11 12.1-21 20.5-29.5L223.6 256l101.6-70.4c-8.4-8.5-15.4-18.5-20.5-29.5zM400 313c-48.2 0-87 38.8-87 87s38.8 87 87 87 87-38.8 87-87-38.8-87-87-87zm-41.6 32.6l41.6 41.6 41.6-41.6 12.8 12.8-41.6 41.6 41.6 41.6-12.8 12.8-41.6-41.6-41.6 41.6-12.8-12.8 41.6-41.6-41.6-41.6 12.8-12.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Chopsticks;

impl IconShape for Chopsticks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.8 19.46h-1.1c-1.8.1-3.5.34-5.1.85-4.2 1.3-7.4 3.84-9.6 9.49l-14.5 39.6 33.8 12.74 16.4-38.93c2.2-5.65 1.6-9.64-.6-13.3-2.2-3.8-6.3-7.04-11.2-8.87-2.6-1-5.4-1.53-8.1-1.59zM217.4 86.2 82.21 455.4l15.84 5.9L250.4 98.63zm189.8 11.6c-4.3.2-8.1 1.85-11.8 6.7l-24.5 34.6 29.3 20.8 26.1-33.4c3.7-4.8 4.1-8.9 3-12.9-1.2-4.3-4.2-8.4-8.5-11.4-3.7-2.67-8-4.21-11.9-4.4h-1.7zm-46.7 55.9L132.1 476l13.7 9.7 243.3-311.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Church;

impl IconShape for Church {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.5 22.754l-68.178 170.16h136.356L163.5 22.754zm-73.328 186.16v280.332H131.5v-72c20.034-22.093 41.16-25.61 64 0v72h40V208.914H90.172zm33.328 16.332h16v32h-16v-32zm32 0h16v32h-16v-32zm32 0h16v32h-16v-32zm64 47.715v216.286h48V324.264c-2.595-2.982-13.49-15.47-26.64-29.56-7.4-7.93-15.062-15.85-21.22-21.622-.055-.052-.084-.07-.14-.12zm-177.328 1.267c-5.95 5.658-13.084 13.03-20.033 20.476-13.15 14.09-24.045 26.58-26.64 29.56v164.983h46.672v-215.02zm89.328 7.35c30.933 0 56.186 24.12 56.186 53.67 0 29.547-25.253 53.67-56.186 53.67s-56.186-24.123-56.186-53.67c0-29.55 25.253-53.67 56.186-53.67zm-9 16.614c-4.782 1.046-9.23 2.898-13.172 5.415l13.172 12.957v-18.37zm18 0v19.847l15.14-13.088c-4.407-3.203-9.544-5.536-15.14-6.76zm-42.61 16.605c-2.68 4.026-4.588 8.57-5.53 13.45h19.2l-13.67-13.45zm68.485 2.025l-13.217 11.426h17.48c-.785-4.078-2.24-7.923-4.263-11.426zM315.5 330.246v30h156.27l-30-30H315.5zm-190.135 16c.993 3.174 2.404 6.17 4.176 8.932l10.33-8.932h-14.505zm59.31 0l11.278 11.096c2.486-3.335 4.422-7.07 5.682-11.096h-16.96zM154.5 354.75l-13.662 11.813c4.064 2.68 8.68 4.65 13.662 5.738v-17.55zm18 1.965V372.3c4.084-.892 7.924-2.373 11.414-4.357L172.5 356.715zm143 21.53v110h169v-110h-169zm25 23h18v32h-18v-32zm32 0h18v32h-18v-32zm32 0h18v32h-18v-32zm32 0h18v32h-18v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cigale;

impl IconShape for Cigale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.32 99.5c-7.3 0-12.6 1.7-15.7 4.2-4.7 4-7.5 11.4-4.7 26.3 6.5 34.2 30.5 54.7 66.4 69.1 5.9 2.3 12.08 4.5 18.38 6.4 3.3 0 6.6 0 10.2.1 5.4.1 11.3.5 17.5 1 21.7 1.9 46.9 6.5 70.7 15.8 1.1-3 2.6-5.8 4.6-8.3 0-1.3 0-2.6.1-4-16.4-21.6-47.1-47.4-77.5-68.2-31.4-21.5-63.98-38-76.68-40.8-3.6-.8-7-1.3-10-1.5-1.1-.1-2.2-.1-3.3-.1zm421.38 0c-1.1 0-2.2 0-3.3.1-3 .2-6.3.7-10 1.5-12.7 2.8-45.2 19.3-76.7 40.8-30.4 20.8-61.1 46.6-77.5 68.2.1 1.4.1 2.7.1 4 2 2.5 3.5 5.3 4.6 8.3 23.8-9.3 49-13.9 70.7-15.8 6.2-.5 12-.9 17.5-1 3.6-.1 7-.1 10.2-.1 6.4-1.9 12.6-4.1 18.4-6.4 35.9-14.4 59.9-34.9 66.4-69.1 2.8-14.9 0-22.3-4.7-26.3-3.1-2.5-8.4-4.2-15.7-4.2zm-271.1 32.2c0 11.6 5.5 21.8 12.5 31.1 3.6 4.8 7.6 9.5 11.9 14 2.5-5.1 5.9-10.2 10.5-15.1-3-3.3-5.7-6.5-8-9.6-5.8-7.9-8.9-14.8-8.9-20.4zm102.8 0c0 5.6-3.1 12.5-8.9 20.4-2.3 3.1-5 6.3-8 9.6 4.6 4.9 8 10 10.5 15.1 4.3-4.5 8.3-9.2 11.9-14 7-9.3 12.5-19.5 12.5-31.1zM256 162.5c-.3.1-.6.3-1.3.9-2 1.6-5.2 4.7-9.4 9-12.3 12.3-14.2 23.2-14.5 36.1h50.4c-.3-12.9-2.2-23.8-14.5-36.1-4.2-4.3-7.4-7.4-9.4-9-.7-.6-1-.8-1.3-.9zm-142.5 61.2c-12.9.1-22.78 1.4-26.38 2.4-4.6 1.4-4.8 2.4-5 3.2-.2.8-.1 3.6 2.4 7.8 5 8.5 17.98 20.5 34.08 29.6 16.1 9.2 35.3 15.7 52.6 16.1 11.3.3 21.7-1.8 30.6-7.5 2-8 5-15.7 9-23-1.8-3.5-3.2-7.2-3.9-11.1-23.2-9.8-49.1-14.8-71.1-16.7-5.8-.5-11.3-.7-16.6-.8zm279.2 0c-5.2.1-10.8.3-16.6.8-22 1.9-47.8 6.9-71 16.7-.7 3.9-2.1 7.6-3.9 11.1 4 7.3 7 15 9 23 8.9 5.7 19.3 7.8 30.6 7.5 17.3-.4 36.5-6.9 52.6-16.1 16.1-9.1 29.1-21.1 34-29.6 2.5-4.2 2.7-7 2.5-7.8-.3-.8-.4-1.8-5.1-3.2-3.7-1.1-13.5-2.3-26.4-2.4zM226 226.5c-3.2 5.1-2.8 11.7 1.3 18.5 4.8 8 14.5 14.9 28.7 14.9s23.9-6.9 28.7-14.9c4.1-6.8 4.5-13.4 1.3-18.5zm-2.3 40.8c-9.3 21.4-8.8 47.9-1.9 72 7.3 25.5 22 47.4 34.2 56.2 12.2-8.8 26.9-30.7 34.2-56.2 6.9-24.1 7.4-50.6-1.9-72-8.4 6.5-19.5 10.6-32.3 10.6-12.8 0-23.9-4.1-32.3-10.6zm-25.2 35.2c-7.8 2.5-17 5.5-27.7 9.4l-6 2.2v6.3c0 7.9-.9 24.9-3.8 41.3-2.8 16.4-8.6 32.5-14.2 38l12.8 12.8c11.5-11.6 16-29.8 19.2-47.7 2.6-14.8 3.4-28.1 3.7-37.8 6.3-2.2 11.9-4.1 17.2-5.8-.8-6.2-1.2-12.4-1.2-18.7zm115 0c0 6.3-.4 12.6-1.2 18.7 5.3 1.8 10.8 3.6 17.1 5.8.3 9.7 1.2 23.1 3.8 37.8 3.1 17.9 7.7 36.1 19.2 47.7l12.8-12.8c-5.6-5.5-11.4-21.6-14.3-38-2.9-16.5-3.8-33.4-3.8-41.3v-6.3l-6-2.2c-10.7-3.8-19.8-6.8-27.6-9.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cigar;

impl IconShape for Cigar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.022 27.541c-43.9.028-111.558 28.053-110.32 71.936 1.261 44.656 116.215 66.754 116.215 66.754s-57.956 31.231-54.701 57.48c6.09 49.118 101.218 36.19 125.531 79.3 18.501 32.808 16.192 99.727 2.216 112.971 34.537-17.716 63.839-83.723 52.243-128.476-9.39-36.24-82.42-33.313-87.506-70.402-6.125-44.662 87.029-65.718 78.658-110.014-9.032-47.796-73.694-79.58-122.336-79.549zM30.42 83.834c-3.89.095-5.436.99-6.276 1.83-.84.84-1.735 2.385-1.83 6.276 2.113 24.907 20.582 54.074 31.67 71.31l16.52-66.074C57.55 91.46 44.728 83.638 30.419 83.834zm56.373 22.399L67.54 183.235c12.125 17.145 26.832 36.244 44.072 57.095l26.99-98.965c-17.471-12.944-34.274-24.722-51.81-35.132zm67.248 46.941l-28.346 103.934c4.426 5.18 9.05 10.495 13.774 15.875l11.783-11.784a82.612 82.612 0 0 1-3.334-8.377c-4.674-14.021-4.768-28.777 4.92-38.464 15.746-10.961 32.396-8.198 46.842-1.586l11.783-11.784c-20.611-18.104-39.793-34.043-57.422-47.814zm73.043 57.648l-11.285 11.286c6.027 4.215 11.965 9.194 17.648 14.877s10.664 11.622 14.88 17.65l11.284-11.285zm-61.518 16.264c-2.809 2.81-4.086 9.498-.57 20.045 3.516 10.547 11.56 23.472 23.197 35.11 11.637 11.636 24.563 19.683 35.11 23.199 10.547 3.515 17.236 2.236 20.045-.573 2.809-2.809 4.088-9.497.572-20.045-3.516-10.547-11.562-23.472-23.2-35.109-11.636-11.637-24.562-19.682-35.109-23.197-6.035-1.687-15.118-4.156-20.045.57zm106.332 29.432l-14.236 14.236a82.562 82.562 0 0 1 3.332 8.375c4.674 14.022 4.77 28.78-4.918 38.467-9.688 9.688-24.445 9.592-38.467 4.918a82.562 82.562 0 0 1-8.375-3.332l-14.238 14.238c18.655 19.456 32.69 33.568 50.783 51.66l38.787-116.365a2334.082 2334.082 0 0 0-12.668-12.197zm-111.31 20.8l-11.285 11.286 32.527 32.527 11.285-11.285c-6.027-4.216-11.967-9.196-17.65-14.879-5.683-5.683-10.662-11.621-14.877-17.648zm138.287 5.399l-38.865 116.594 53.652 53.652 38.89-116.672c-17.612-17.557-36.8-36.92-53.677-53.574zm67.906 67.803l-28.592 85.779 57.186-57.186zm32.922 48.195l-61.207 61.207 12.727 12.729 61.209-61.21zm11.81 33.443l-39.574 39.575 12.729 12.728 39.574-39.574z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cigarette;

impl IconShape for Cigarette {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224 32c9.036 24.71 106.984 58.72 156.096 64-37.096 7.89-53.042 10.52-57.545 32-13.076 62.384 191.477 60.478 115.73 152.223 69.11-15.788 57.922-116.197 15.887-129.84-27.237-8.84-63.75-11.67-47.75-38.383C425.962 88.104 503.57 59.74 448 32zM28.096 292v64h87v-64zm105 0v64h274v-64zm292 0v64h16v-64zm34 0v64h17v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Circle;

impl IconShape for Circle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.05C127.5 23.05 23.05 127.5 23.05 256S127.5 488.9 256 488.9 488.9 384.5 488.9 256 384.5 23.05 256 23.05zm0 17.9c118.9 0 215.1 96.15 215.1 215.05S374.9 471.1 256 471.1c-118.9 0-215.05-96.2-215.05-215.1C40.95 137.1 137.1 40.95 256 40.95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CircleForest;

impl IconShape for CircleForest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16C123.6 16 16 123.6 16 256s107.6 240 240 240 240-107.6 240-240S388.4 16 256 16zm0 18c122.7 0 222 99.3 222 222 0 46.7-14.4 89.9-38.9 125.7-16.6-19.3-26.2-36.8-38.8-60.2l48.4 8.7c-23.2-22-44.2-50.3-57.3-74.6l33.1 1.5c-28.3-19.2-44.2-36.7-58.7-60.4-2.6 4.8-4.9 9.2-7.1 13.6-12.3-13.8-23.5-28.4-31.7-43.6 7.6 1.5 19.3 9 34.6 3.6-16.8-15.9-33.4-37-42.9-54.7 5.3 3.1 17.5 4.3 26.3 1.6-20.6-13.9-28-27.77-38.6-44.97-9.3 17.2-22.6 34.77-38.6 49.27 6.5.8 18.2-3.5 25.3-8.6-3.9 21.3-19.6 44-38.2 58.6 10.5-1.7 19.8.4 31.9-5.8-13.9 21.4-30.4 39.2-50.7 57.9 18.1 2.3 42 4.3 65 5.1l-.3 27.6c9.3 2.1 19.7 3.1 28.3 1.4l27-2.2c-10.1 28.6-32.6 53.6-58.2 73.7l50.2-8c-16.4 25.3-36 49.3-58.8 71.9-9.1-11.4-17.3-23.1-23.7-35 14.1 3.8 27.1 4 39.5 1.9-23.2-22-42.9-45.6-56-69.9l44.4 5.1c-28.3-19.2-45.5-46.9-60-70.6-10 18.6-24.1 40.6-40.3 58.9-19.3-19.5-36.1-40.5-47.4-61.5l33.1 1.5c-28.3-19.2-42.9-38.2-57.4-61.9-12.8 23.7-23.99 43.4-46.02 63.3 14.6 2.1 24.62-2.5 35.02-6.6-10 28.6-34.29 56.1-59.89 76.2 20.12 2.9 37.33-4.1 53.49-11.1-12.33 25.4-27.24 47.7-47.98 69.4C41.95 323.5 34 290.7 34 256c0-122.7 99.3-222 222-222zm-55.3 37.67c-8.4 13.54-16.8 18.84-33 29.83l19-.9c-7.5 14-19.6 30.3-32.8 42.8l27.7-5c-8.7 16.2-15 27.5-28.7 41.6 7 2.9 20.4 5.2 36.1 6.5l-1.1 27.9 17.4-1.9-.7-25.1c16.2.7 33.2.3 47.3-1.5-16-14.8-29.4-30.7-40.4-47.6l28.8 4.6c-14.7-11.6-27.6-28-33.4-44.37l18.1 3.57c-12.6-11.39-17-16.89-24.3-30.43zM348.9 228.4c-5.5 9.2-11.9 17.9-21.4 27l-5.4-26.2c9.7.1 18.9-.2 26.8-.8zM154 283.8l33.3 6c-2.6 2.7-5.3 5.3-8 7.8l38.3-5c-6 16.9-16.3 32.3-29.1 46.2-14-17.3-23-33.7-34.5-55zm55.6 73.7c-19.1 29.5-34.2 56.4-62.1 82.2 23.2 2.9 52.5 5.1 81.1 6l-.3 30.6c-70.1-8.7-130.05-50.1-164.13-108.4 16.54 1.2 33.75 1.5 50.43 1l-1.1 39.5 34.9 2.1-7.1-42.9c22-3.5 51.8.1 68.3-10.1zm214.9 43.1c-7.9 9.2-16.6 17.8-25.9 25.6l-4.3-21.6c11-1.1 21.3-2.4 30.2-4zm-124.3 5.7c21.4 1.4 44.8 1.4 67 .3l-.5 41.9c-30.5 17.6-65.6 28.1-103 29.4l-6.6-31.8c31.9-.1 59.8-2.3 72.9-7.7-10-10.2-20.2-21-29.8-32.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CirclingFish;

impl IconShape for CirclingFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M443.9 30.89c-15.7 2.5-30.9 5.3-44 9.58-13.5 4.4-24.9 10.12-33.7 18.09 17.2 3.33 34.3 8.43 50.1 15.3.1-.58.3-1.16.4-1.73 1.9-7.79 6-14.79 10.8-21.53 4.9-6.76 10.7-13.35 16.4-19.71zM317.8 71.93c-19.2.15-37.3 3.03-52 8.63-20.9 7.95-34.6 20.54-38.8 38.94-.9 3.8.2 13.1 5 23.5s12.9 22.1 24 32.5c22.1 20.8 55.5 36.7 100.3 29.9 20.5-3.1 37.4 3.2 47.2 16 9.8 12.9 13.2 30.5 13.4 50.3.5 32.7-8.1 72.3-18.9 109.2 77.8-53.4 109.2-156.9 77.4-231.8-17.5-41.1-75.9-69.75-132.7-75.89-7-.77-14.1-1.17-21-1.27h-3.9v-.01zM61.39 84.51c-1.86 22.09-.41 44.59 2.78 66.19 10.85-12 23.14-23 36.73-32.6-13.59-7.7-26.79-18.81-39.51-33.59zm240.01 2.15a9.875 10.38 69.37 0 1 .1 0 9.875 10.38 69.37 0 1 9.3 5.94 9.875 10.38 69.37 0 1-5.8 13.1 9.875 10.38 69.37 0 1-13.4-5.1 9.875 10.38 69.37 0 1 5.8-13.11 9.875 10.38 69.37 0 1 4-.83zm36 41.44c27.8 5.3 58.8 9.2 83.5 26.3 24.7 17.1 40.9 47.8 38.9 99.8l-18-.6c1.9-48.3-11.4-70.7-31.1-84.4-19.8-13.7-48.3-18.1-76.7-23.5l3.4-17.6zm-160.6 1.8c-14.6 2.6-29.3 3-43.8.2-5.1 17-9.8 34.7-13.3 51.9 20.4-14.7 40-32.6 57.1-52.1zm-62.8 1.2C36.23 184.5 4.78 288 36.58 362.9c17.52 41.2 75.92 69.8 132.62 75.9 28.4 3.1 56.1.6 77-7.3 20.9-8 34.6-20.6 38.8-39 .9-3.8-.2-13.1-5-23.5s-12.9-22.1-24-32.5c-22.1-20.8-55.5-36.7-100.4-29.9-20.4 3.1-37.3-3.2-47.1-16-9.8-12.9-13.2-30.5-13.4-50.3-.5-32.7 8.1-72.3 18.9-109.2zm163.8 15.1a9.875 10.38 69.37 0 1 9.3 6 9.875 10.38 69.37 0 1-5.7 13.1 9.875 10.38 69.37 0 1-13.4-5.2 9.875 10.38 69.37 0 1 5.7-13 9.875 10.38 69.37 0 1 4.1-.9zm87 76.4c-1.8.1-3.8.3-5.8.6-15.3 2.3-29.6 2.2-42.8.3 8.4 19 26 34.7 45.5 49-.8-6.8-1.6-13.9-1.7-21.2-.1-9.2 1.1-19.1 4.8-28.7zm-214.5 16.9c.8 6.8 1.6 13.9 1.7 21.2.1 9.2-1.1 19.1-4.8 28.7 1.8-.1 3.8-.3 5.8-.6 15.3-2.3 29.6-2.2 42.8-.3-8.4-19-26-34.7-45.5-49zm-98.12 18.3l17.98.6c-1.85 48.3 11.4 70.7 31.14 84.4 19.8 13.7 48.3 18.1 76.7 23.5l-3.4 17.6c-27.8-5.3-58.8-9.2-83.5-26.3-24.7-17.1-40.92-47.8-38.92-99.8zM392.3 330c-20.4 14.7-40 32.6-57.1 52.1 14.6-2.6 29.3-3 43.8-.2 5.1-17 9.8-34.7 13.3-51.9zm-157.6 15.9a9.875 10.38 69.37 0 1 9.4 5.9 9.875 10.38 69.37 0 1-5.8 13.1 9.875 10.38 69.37 0 1-13.4-5.1 9.875 10.38 69.37 0 1 5.8-13.1 9.875 10.38 69.37 0 1 4-.8zm213.1 15.4c-10.8 12-23.1 23-36.7 32.6 13.6 7.8 26.8 18.8 39.5 33.6 1.9-22.1.4-44.5-2.8-66.2zm-236.9 44.2a9.875 10.38 69.37 0 1 .1 0 9.875 10.38 69.37 0 1 9.3 5.9 9.875 10.38 69.37 0 1-5.8 13.1 9.875 10.38 69.37 0 1-13.4-5.1 9.875 10.38 69.37 0 1 5.8-13.1 9.875 10.38 69.37 0 1 4-.8zM95.7 438.2c-.1.5-.3 1.1-.4 1.7-1.9 7.8-5.95 14.8-10.8 21.5-4.87 6.8-10.62 13.3-16.32 19.7 15.62-2.5 30.82-5.3 43.92-9.6 13.5-4.4 24.9-10.1 33.7-18-17.2-3.4-34.3-8.5-50.1-15.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CityCar;

impl IconShape for CityCar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M188.287 169.428c-28.644-.076-60.908 2.228-98.457 8.01-4.432.62-47.132 24.977-58.644 41.788-11.512 16.812-15.45 48.813-15.45 48.813-3.108 13.105-1.22 34.766-.353 36.872 1.17 4.56 7.78 8.387 19.133 11.154C35.84 295.008 53.29 278.6 74.39 278.574c22.092 0 40 17.91 40 40-.014 1.764-.145 3.525-.392 5.272.59.008 1.26.024 1.82.03l239.266 1.99c-.453-2.405-.685-4.845-.693-7.292 0-22.09 17.91-40 40-40 22.092 0 40 17.91 40 40 0 2.668-.266 5.33-.796 7.944l62.186.517c1.318-22.812 6.86-46.77-7.024-66.72-5.456-7.84-31.93-22.038-99.03-32.66-34.668-17.41-68.503-37.15-105.35-48.462-28.41-5.635-59.26-9.668-96.09-9.765zm-17.197 11.984c5.998.044 11.5.29 16.014.81l7.287 48.352c-41.43-5.093-83.647-9.663-105.964-27.5.35-5.5 7.96-13.462 16.506-16.506 4.84-1.724 40.167-5.346 66.158-5.156zm34.625.348c25.012.264 62.032 2.69 87.502 13.94 12.202 5.65 35.174 18.874 50.537 30.55l-6.35 10.535c-41.706-1.88-97.288-4.203-120.1-6.78l-11.59-48.245zM74.39 294.574a24 24 0 0 0-24 24 24 24 0 0 0 24 24 24 24 0 0 0 24-24 24 24 0 0 0-24-24zm320 0a24 24 0 0 0-24 24 24 24 0 0 0 24 24 24 24 0 0 0 24-24 24 24 0 0 0-24-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clamp;

impl IconShape for Clamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 25c-13 0-27.05 6.78-37.64 17.36C63.78 52.95 57 67 57 80v192c0 13 6.78 27.1 17.36 37.6C84.95 320.2 99 327 112 327h311v-30H128c-11 0-20.9-5.2-28.36-12.6C92.22 276.9 87 267 87 256V96.1c0-11.03 5.21-21.01 12.63-28.45C107 60.22 117 55 128 55h295V37.56L397.9 25H112zm217 48v14h62V73h-62zm-18.5 32l-10 30h119l-10-30h-99zm-10 112l10 30h99l10-30h-119zm28.5 48v14h62v-14h-62zm0 80v30h62v-30h-62zm-73 32c-2.6 0-5.9 1.8-9.3 7.3-3.3 5.6-5.7 14.1-5.7 23.7s2.4 18.1 5.7 23.7c3.4 5.5 6.7 7.3 9.3 7.3 2.6 0 5.9-1.8 9.3-7.3 3.3-5.6 5.7-14.1 5.7-23.7s-2.4-18.1-5.7-23.7c-3.4-5.5-6.7-7.3-9.3-7.3zm208 0c-2.6 0-5.9 1.8-9.3 7.3-3.3 5.6-5.7 14.1-5.7 23.7s2.4 18.1 5.7 23.7c3.4 5.5 6.7 7.3 9.3 7.3 2.6 0 5.9-1.8 9.3-7.3 3.3-5.6 5.7-14.1 5.7-23.7s-2.4-18.1-5.7-23.7c-3.4-5.5-6.7-7.3-9.3-7.3zm-175.8 20c.5 3.5.8 7.2.8 11 0 3.1-.2 6.1-.5 9h143c-.3-2.9-.5-5.9-.5-9 0-3.8.3-7.5.8-11H288.2zm56.8 38v36h30v-36h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clapperboard;

impl IconShape for Clapperboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M419.682 26.2l-8.66 2.452L32.915 135.81 55.27 214.7l386.77-109.608L419.683 26.2zm-12.41 22.224l9.074 32.014-41.086-22.942 32.013-9.072zM350.77 64.438l56.8 31.714-37.084 10.51-56.8-31.715 37.084-10.51zm-61.577 17.45l56.803 31.716-37.084 10.51-56.8-31.718 37.08-10.51zm-61.574 17.45l56.802 31.715-37.084 10.51-56.803-31.715 37.084-10.51zm-61.577 17.45l56.803 31.716-37.084 10.51-56.8-31.717 37.08-10.51zm-61.574 17.45l56.8 31.715-37.083 10.51-56.802-31.715 37.084-10.51zm-45.86 26.227l41.085 22.94-32.01 9.072-9.074-32.012zM55 215v274h402V215H55zm18 18h33.273L73 266.273V233zm58.727 0h38.546l-46 46H85.727l46-46zm64 0h38.546l-46 46h-38.546l46-46zm64 0h38.546l-46 46h-38.546l46-46zm64 0h38.546l-46 46h-38.546l46-46zm64 0h38.546l-46 46h-38.546l46-46zM439 245.727V279h-33.273L439 245.727zM73 297h366v174H73V297zm248.635 46.57l-192.44.703.067 18 192.44-.703-.067-18zM130.7 391.33l-.134 17.998 92.707.703.137-18-92.71-.7zm127.155.7l-.2 18 63.913.702.2-17.998-63.913-.703z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClassicalKnowledge;

impl IconShape for ClassicalKnowledge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104 37.25V215.1c3.6 9.9 10 14.1 20.9 17 11.4 2.9 27.1 3.1 43.9 3.1 16.8 0 34.6-.1 51.4 3.6 9.5 2.1 18.7 5.7 26.8 11.2V55.43c-7.2-9.9-15.9-13.69-27.3-15.09-12.2-1.49-27.3.55-42.9 2.83-15.7 2.28-31.9 4.81-47.7 2.88-8.7-1.07-17.3-3.87-25.1-8.8zm304 0c-7.8 4.93-16.4 7.73-25.1 8.8-15.8 1.93-32-.6-47.7-2.88-15.6-2.28-30.7-4.32-42.9-2.83-11.4 1.4-20.1 5.19-27.3 15.09V250c8.1-5.5 17.3-9.1 26.8-11.2 16.8-3.7 34.6-3.6 51.4-3.6 16.8 0 32.5-.2 43.9-3.1 10.9-2.9 17.3-7.1 20.9-17V37.25zM130.8 80.03h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zm-161 44.47h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zm-161 46.8h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zM96 249c-17.3 0-29.19 7.3-37.77 18.9C49.66 279.4 45 295.7 45 312s4.66 32.6 13.23 44.1C66.81 367.7 78.7 375 96 375c22 0 35.7-7.1 44.4-14 8.6-6.9 11.5-13 11.5-13l2.5-5h203.2l2.5 5s2.9 6.1 11.5 13c8.7 6.9 22.4 14 44.4 14 17.3 0 29.2-7.3 37.8-18.9 8.5-11.5 13.2-27.8 13.2-44.1s-4.7-32.6-13.2-44.1c-8.6-11.6-20.5-18.9-37.8-18.9-22 0-35.7 7.1-44.4 14-8.6 6.9-11.5 13-11.5 13l-2.5 5H154.4l-2.5-5s-2.9-6.1-11.5-13c-8.7-6.9-22.4-14-44.4-14zm4.6 21.9c.9 0 1.9 0 2.9.1 13.5 1.2 28.2 8.9 44.1 24h216.8c15.9-15.1 30.6-22.8 44.1-24 14.2-1.2 26.6 5.8 33.1 16.2 13.1 20.9 7 53.9-20.6 72.3l-10-15c20.4-13.6 22.3-36.6 15.4-47.7-3.5-5.6-8.1-8.6-16.4-7.8-8.2.7-20.6 6.3-35.6 21.4l-2.7 2.6H140.3l-2.7-2.6c-15-15.1-27.4-20.7-35.6-21.4-8.26-.8-12.9 2.2-16.37 7.8-6.92 11.1-4.99 34.1 15.37 47.7l-9.99 15c-27.65-18.4-33.72-51.4-20.64-72.3 5.72-9.1 15.9-15.6 27.92-16.3h2.31zM169 361v126h30V361h-30zm48 0v126h30V361h-30zm48 0v126h30V361h-30zm48 0v126h30V361h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Claws;

impl IconShape for Claws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.3 25c-3.4 4.84-16.5 23.75-33.3 50.76-19.11 30.74-40.34 68.54-48.59 94.44-5.1 16-8.12 43.7-9.54 66.8-.16 2.5-.26 4.7-.38 7 3.37-1.1 6.84-1.6 10.37-1.7 6.1-.2 12.37.8 18.5 2.4 12.25 3.2 24.54 9.1 35.74 15.5 2.3 1.3 4.5 2.6 6.7 3.9 1.1-1.2 2.3-2.3 3.5-3.6 17.3-17.8 36.7-40.5 44.6-56.3h.1c7.8-15.7 25-52.2 39.2-90.1 12.5-33.31 22.1-68.58 22.3-89.1h-89.2zm154.2 0c.2 20.52 9.8 55.79 22.3 89.1 14.2 37.9 31.4 74.4 39.2 90.1h.1c7.9 15.8 27.3 38.5 44.6 56.3 1.2 1.3 2.4 2.4 3.5 3.6 2.2-1.3 4.4-2.6 6.7-3.9 11.2-6.4 23.5-12.3 35.7-15.5 6.1-1.6 12.4-2.6 18.5-2.4 3.5.1 7.1.7 10.5 1.7-.2-2.3-.3-4.5-.4-7-1.5-23.1-4.5-50.8-9.6-66.8-8.3-25.9-29.5-63.7-48.6-94.44-16.8-27.01-29.9-45.92-33.3-50.76h-89.2zM53.66 260.4c-3.79.1-6.97.8-9.4 2.2-5.7 3.3-10.44 10.8-13.52 21.7-3.07 10.9-4.36 24.6-4.53 37.8-.09 6.3.04 12 .28 17.2 32.82-26.6 60.25-44.6 85.41-55-4.1-2.7-8.6-5.6-13.74-8.5-10.34-5.9-21.56-11.1-31.38-13.7-4.3-1.1-8.21-1.7-11.67-1.7h-1.45zm403.14 0c-3.4 0-7.3.6-11.6 1.7-9.8 2.6-21 7.8-31.4 13.7-5.1 2.9-9.7 5.8-13.8 8.4 25.2 10.5 52.7 28.5 85.5 55.2.3-5.3.4-11 .3-17.3-.2-13.2-1.4-26.9-4.5-37.8-3.1-10.9-7.9-18.4-13.6-21.7-2.4-1.4-5.6-2.1-9.4-2.2h-1.5zm-303.4 31c-35.5 4.3-75.8 27.2-136.11 79.2 1.3 11.5 8.39 22.3 16.35 34.3 38.19-37.8 99.06-75.4 156.06-91.6-10.9-10.9-21.3-19.7-36.3-21.9zm205.2 0c-15 2.2-25.4 11-36.3 21.9 57 16.2 117.9 53.8 156 91.6 8-12 15.1-22.8 16.4-34.3-60.3-52-100.6-74.9-136.1-79.2zm-164.3 39.3c-22.7 6.6-46.7 17.1-69.4 29.8 28.6 12.4 52.3 34.6 69.3 59.2 16.3 23.4 27.3 48.8 30.6 71.6 10.8-25.1 15.2-59 9.6-90.2-4-22.3-12.8-43-26.3-58.1-4.1-4.6-8.7-8.7-13.8-12.3zm123.4 0c-5.1 3.6-9.7 7.7-13.8 12.3-13.5 15.1-22.3 35.8-26.3 58.1-5.6 31.2-1.2 65.1 9.6 90.2 3.3-22.8 14.3-48.2 30.6-71.6 17-24.6 40.7-46.8 69.4-59.2-22.8-12.7-46.8-23.2-69.5-29.8zm-212.8 41.6c-19.8 12.5-37.97 26.2-52.75 39.9 9.16 18.9 29.92 42 57.25 58.6 28.1 17 62 27.5 95.6 23.8-25.6-13.6-47.8-33.8-65.2-56.4-16.1-20.8-28-43.7-34.9-65.9zm302.2 0c-6.9 22.2-18.8 45.1-34.9 65.9-17.4 22.6-39.6 42.8-65.2 56.4 33.6 3.7 67.5-6.8 95.6-23.8 27.3-16.6 48.1-39.6 57.3-58.6-14.8-13.6-33-27.4-52.8-39.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClayBrick;

impl IconShape for ClayBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.3 99.64l-39.7 10.46c-30.2 26.1-62.7 50.9-96.7 75.1l-6.7 21-34.1 7.3c-22.6 15.3-45.6 30.4-68.82 45.5l120.32 18.4 213.9-167.1c-27.7-3.8-56.9-7.5-88.2-10.66zm103.4 21.56l-61.4 47.9-43 53.1-45 15.7-65 50.7 20.8 115.1c65.6-54.6 127.6-109.4 187-163.1l-5.6-31.2 42.1-1.9c8.3-7.4 16.5-14.9 24.6-22.3zM61.58 277.6c-21.15 39.9-32.01 70.6-36.83 95.8 9.21 1.1 18.3 2.2 27.28 3.5l16.76-30.6 5.52 34c53.29 8.6 103.09 20.5 152.19 32.1l-26.9-117.6-66-10.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClaymoreExplosive;

impl IconShape for ClaymoreExplosive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215 29.85l-13 60.3h.1c36 2.3 71.8 2.3 107.8 0h.1l-13-60.3zM98.92 38.66l-32.8 32.8C85.85 75.54 105.3 79 124.5 81.85l22.9-34.29c-18.7-2.7-35.2-5.77-48.48-8.9zm314.48.32c-14.8 4.57-30.7 8.1-47.3 10.77l21.4 32.1c19.2-2.85 38.7-6.3 58.4-10.39zm-219.2.21l-28.8 5.75-20.6 38.91 40.2 4zm123.6 0l9.2 48.66 40.2-4-20.6-38.91zM56.19 87.75L41.58 277.7c138.12 29.5 290.72 29.5 428.82 0L455.8 87.75c-137.6 29.35-262 29.35-399.61 0zM83.91 119l8.99.9c160 16 166.2 16 326.2 0l9-.9 13.7 141.6-8.5 1.2c-113 16.1-241.6 16.1-354.57 0l-8.52-1.2L83.04 128zm16.19 19.7L89.8 245c106.2 14.3 226.2 14.3 332.4 0l-10.3-106.3c-147.4 14.7-164.4 14.7-311.8 0zM80.29 303.5l-9 116-46.49 62 14.4 10.8 40.37-53.8 24.93 37.4 15-10-30.22-45.3 8.85-114.3c-5.97-.9-11.91-1.8-17.84-2.8zm351.41 0c-5.9 1-11.9 1.9-17.8 2.8l8.8 114.3-30.2 45.3 15 10 24.9-37.4 40.4 53.8 14.4-10.8-46.5-62zM129 310.4c-.7 11.7.6 23.6 8.4 32.9 14.7 17.5 37.8 22.8 62.1 23.2 24.4.4 51-3.9 75.9-7.5 24.8-3.6 47.9-6.4 63.3-4.1 7.7 1.2 13.1 3.5 16.5 6.6 3.3 3.1 5.5 7.2 5.9 15 .3 5.1-.8 6.9-3.2 9-2.5 2.1-7.4 4.2-14.3 5.3-13.9 2.3-34.8 1.1-56.1-.4-21.2-1.4-42.8-3-60.6-.1-8.9 1.4-17 3.9-23.6 9.2-6.5 5.4-10.6 13.9-10.6 23.4 0 7.4 3.2 14.3 8 19 4.8 4.7 10.8 7.5 17.3 9.6 12.9 4.2 28.5 5.5 43.7 6.8 15.2 1.4 30 2.8 39.9 5.7 11.7 3.2 12.3 8.7 12.4 20.2h18c0-7.2-1.8-20.9-8-28.5-4.1-5-10.8-7-17.3-8.9-12.8-3.9-28.3-5.1-43.4-6.4-15.2-1.3-30-2.8-39.8-6-4.9-1.6-8.4-3.6-10.3-5.4-1.8-1.8-2.5-3.1-2.5-6.1 0-5.1 1.2-7.1 4-9.4 2.8-2.2 8-4.3 15.1-5.5 14.2-2.3 35.3-1 56.5.4 21.3 1.4 42.7 3 60.2.2 8.7-1.5 16.7-4 23.1-9.4 6.3-5.5 10-14.2 9.5-23.7-.6-11.2-4.7-20.8-11.8-27.3-7-6.4-16.1-9.6-26-11.1-19.7-2.9-43.5.4-68.5 4.1-25 3.6-51 7.6-73 7.3-21.9-.4-38.8-5.1-48.6-16.8-2.2-2.7-3.7-10.3-3.8-19.2-6.1-.7-12.3-1.3-18.4-2.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cleaver;

impl IconShape for Cleaver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.3 46.15c-6.4-.1-12.6.7-18.9 2.5 26.1 15.8 35.7 36.4 30.6 55.15-40.2-33.05-98.5-36.45-128.4-4.95 30.7.4 48.8 13.25 53.8 32.15-51.5-8.5-103.61 17.7-113.67 59.7 27.04-14.8 49.77-12.7 63.47 1.6-48.86 18.3-80.89 66.9-68.55 108.4 16.02-26.6 36.67-36.3 55.75-30.8-26.03 31.5-34.03 73.9-21.31 105.1h19.01c5.1-17 15.7-27.5 29.5-31-1.7 10.4-2 20.9-1.1 31H207l18.4-91.9c-6.5-7.2-10.4-16.7-10.4-27.1 0-22.5 18.5-41 41-41s41 18.5 41 41c0 10.4-3.9 19.9-10.4 27.1L305 375h98.9c26.9-9.8 47.9-29.3 53.8-54.4-26.9 14.8-49.5 12.9-63.4-1 48.9-18.3 81.4-67.4 69.1-108.9-15.9 26-36.4 36.2-55.2 31.1 33.1-40.2 35.9-98.5 4.5-128.3-.5 30.6-13.3 48.7-32.2 53.8 8.5-51.4-17.7-103.45-59.7-113.45 14.7 26.8 12.9 49.55-1.1 63.25-15.5-41.35-53-70.65-89.4-70.95zM247.4 265L203 487h106l-44.4-222h-17.2zM54.79 393l-26.86 94H184.6l18.8-94H54.79zm253.81 0l18.8 94h156.7l-26.9-94H308.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cleopatra;

impl IconShape for Cleopatra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.6 17l-14.4 94.6 14.9 59.7c2.9 2.8 5.6 5.5 7 6.7.6.4.7.4.9.6.2-.2.3-.2.9-.6 1.4-1.2 4.1-3.9 7-6.7l14.9-59.7L264.4 17h-16.8zm-18.7 10.61c-36.1 6.78-71.8 26.1-101.4 49.45-5.7 4.49-11.1 9.14-16.3 13.88 34.4 3.96 70 6.44 105.9 7.49l11.8-70.82zm54.1.03l11.9 70.76c35.9-1.02 71.5-3.49 105.8-7.44-5.2-4.75-10.7-9.4-16.4-13.9-29.6-23.32-65.1-42.61-101.3-49.42zM94.81 107.1c-9.8 10.4-18.14 20.7-24.63 30.2 52.52 5.3 103.12 8.4 153.22 9.4l-7.6-30.3c-41.2-1.3-81.9-4.3-120.99-9.3zm322.19 0c-39 5-79.7 8-120.8 9.2l-7.6 30.4c50.1-1 100.6-4.1 153.1-9.4-6.5-9.4-14.8-19.8-24.7-30.2zM60.08 154.3c-1.43 2.9-2.58 5.6-3.44 8.1-7.98 40.7-7.5 86.3-5.27 132.1 11.55 11.4 22.95 22 34.03 30.3 11 8.2 21.6 14.1 31.5 16.7 1.9-39.3 2-86.5 2-149.5v-13.3l12.3 4.9c77.7 31.1 171.7 31.1 249.4 0l12.3-4.9V192c0 63 .1 110.3 2 149.5 10-2.6 20.6-8.4 31.7-16.7 10.9-8.2 22.1-18.6 33.5-29.8 2.5-50.6 3.3-99.3-4.8-132.4-.9-2.5-2-5.3-3.5-8.3-57.6 6.1-112.9 9.5-167.7 10.4l-4 15.9-1.7 1.8c-4 4-7.1 7.1-10.3 9.6-3.2 2.6-7.1 5-12.1 5s-8.9-2.4-12.1-5c-3.2-2.5-6.3-5.6-10.3-9.6l-1.7-1.8-4-15.9c-54.9-.9-110.2-4.3-167.82-10.4zm76.82 50.6c0 22.4 0 42.9-.2 61.8 8.7-12.8 18.2-21.2 28.4-25.6 5.1-2.3 10.4-3.4 15.6-3.7 1.3-.1 2.5-.1 3.8-.1 3.8.1 7.6.6 11.3 1.4 19.3 4.5 35.8 17.4 49 25.7l-9.6 15.2c-6-3.8-12.3-8-18.6-11.8.3 1.4.4 2.8.4 4.2 0 13.7-11.3 25-25 25s-25-11.3-25-25c0-5.2 1.6-10 4.4-14-6.2 2.8-12.9 8.5-19.9 19l-14.8-9.9c-.1 17.4-.4 33.5-.8 48.5 6.9 24.8 16.8 47.1 29 65.5C189 417.6 221.2 439 256 439s67-21.4 91.1-57.9c12.1-18.3 22-40.4 28.8-65-.4-15.1-.7-31.3-.8-48.8l-14.6 9.7c-7-10.5-13.7-16.2-19.9-19 2.8 4 4.4 8.8 4.4 14 0 13.7-11.3 25-25 25s-25-11.3-25-25c0-1.4.1-2.8.4-4.2-6.3 3.8-12.6 8-18.6 11.8l-9.6-15.2c13.2-8.3 29.7-21.2 49-25.7 3.7-.8 7.5-1.3 11.3-1.4 1.3 0 2.5 0 3.8.1 5.2.3 10.5 1.4 15.6 3.7 10.1 4.3 19.6 12.6 28.2 25.3-.2-18.8-.2-39.2-.2-61.5-75.5 26.8-162.5 26.8-238 0zM192 265c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm128 0c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm-89.9 48.4c9.1 8.4 17.6 13 25.2 13.6 7.6.5 15.7-2.4 26.2-13.3l13 12.6c-12.9 13.3-26.9 19.6-40.5 18.6-13.6-.9-25.4-8.4-36.1-18.3l12.2-13.2zm-177.31 7.4c.8 13.8 1.64 27.5 2.35 41.1L112 398.7c1.6-12.3 2.9-25.2 3.8-39-14.4-2.9-28.06-10.6-41.2-20.5-7.37-5.5-14.63-11.8-21.81-18.4zm405.91.5c-7 6.4-14.1 12.5-21.3 17.9-13.2 9.9-26.9 17.7-41.4 20.6.9 13.8 2.2 26.7 3.9 39l56.7-36.8c.6-13.3 1.4-27 2.1-40.7zm-220.5 38.6c.6 0 1.2 0 1.8.1 7.5.7 16 12 16 12s8.5-11.3 16-12c19.1-1.9 48 24 48 24s-40.1 32-64 32-64-32-64-32 27.1-24.3 46.2-24.1zm-104.4 2.3c-1.4 19.5-3.4 37.2-6.2 54.3H170c-7.3-7.6-14.1-16.2-20.2-25.5-5.8-8.9-11.2-18.6-16-28.8zm244.2.3c-4.7 10.2-10 19.7-15.8 28.5-6.1 9.3-12.9 17.9-20.2 25.5h42.2c-2.8-17-4.8-34.6-6.2-54zM56.16 384.1c.34 8.9.58 17.7.65 26.3l48.79 24.4c1.2-5.5 2.3-11 3.3-16.5l-52.74-34.2zm399.44.1l-52.7 34.2c1 5.5 2.1 11 3.3 16.4l48.8-24.4c.1-8.4.3-17.2.6-26.2zm-262.3 52.3c-3.7 15-9.7 30.1-20.9 45.1L161.6 496h188.8l-10.8-14.4c-11.2-15-17.2-30.1-20.9-45.1-18.9 13.1-40.1 20.5-62.7 20.5s-43.8-7.4-62.7-20.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CliffCrossing;

impl IconShape for CliffCrossing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.8 103.5l-5.6 17c49.1 16.4 84.5 16.4 133.6 0l-5.6-17c-46.9 15.6-75.5 15.6-122.4 0zM25 121.9V487h158V339.7l-15.5 46.6-23.3-99.7 34.4 17.8-11.7-47.9 15-120.4-96.71-8.8-13.61 46.4L59.39 125 25 121.9zm462 0l-156.8 14.2 30.9 232.4L331.5 487h68.3l-12.2-48.7 39.2-3.7-20.4 52.4H487v-86.2L466.1 328l20.9 1.4V121.9zm-16.8 102.2l-15.8 41.2-26.5-11.2-29.7 31.4-19.2-44.9 91.2-16.5zM42.95 402.7l120.35 17.6-32.9 41.3-40.26-29.1-21.74 47.7-25.45-77.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClockwiseRotation;

impl IconShape for ClockwiseRotation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.09 50c-11.882-.007-23.875 1.018-35.857 3.13C142.026 68.156 75.156 135.026 60.13 220.233 45.108 305.44 85.075 391.15 160.005 434.41c32.782 18.927 69.254 27.996 105.463 27.553 46.555-.57 92.675-16.865 129.957-48.15l-30.855-36.768c-50.95 42.75-122.968 49.05-180.566 15.797-57.597-33.254-88.152-98.777-76.603-164.274 11.55-65.497 62.672-116.62 128.17-128.168 51.656-9.108 103.323 7.98 139.17 43.862L327 192h128V64l-46.34 46.342C370.242 71.962 317.83 50.03 263.09 50z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClosedBarbute;

impl IconShape for ClosedBarbute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32c-2.329.582-4.684 1.22-7.05 1.887-.3 36.24-2.47 79.688-18.057 121.529L256 150.852l25.318 4.603c-15.798-41.57-17.97-85.178-18.267-121.568A244.501 244.501 0 0 0 256 32zm-25.154 7.744c-55.28 20.23-114.511 63.785-132.334 139.742l111.494-20.271c17.016-39.333 20.234-82.084 20.84-119.47zm50.31 0c.615 37.616 3.88 80.578 21.164 119.53l111.168 20.212C395.666 103.53 336.436 59.975 281.156 39.744zM247 170.785L84.893 200.258C79.975 206.216 77 214.932 77 224c0 8.727 2.773 17.108 7.355 23.049 9.955.016 30.477.143 54.334 1.978 26.423 2.033 54.653 5.58 73.336 14.922l3.334 1.668 1.18 3.537c8.759 26.277 12.438 70.147 14.451 112.418 1.917 40.258 1.983 77.296 1.987 94.678L256 499.273l23.02-23.02c.002-24.258.059-62.04 1.992-100.702 2.015-40.3 5.785-80.404 14.449-106.397l1.18-3.537 3.334-1.668c18.683-9.341 46.913-12.89 73.336-14.922 23.857-1.835 44.379-1.962 54.334-1.978C432.227 241.109 435 232.727 435 224c0-9.068-2.975-17.784-7.893-23.742L265 170.785V288h-18V170.785zM224 196l8 40c-16 0-136 4-136-12s96-28 128-28zm64 0c32 0 128 12 128 28s-120 12-136 12l8-40zM84.768 265.018L64 400c50.299 12.575 100.598 25.157 150.896 53.266-.174-19.269-.64-44.677-1.886-70.838-1.886-39.599-5.906-81.122-12.496-103.846-14.253-5.833-39.588-9.793-63.203-11.61-22.087-1.698-42.15-1.922-52.543-1.954zm342.464 0c-10.393.032-30.456.256-52.543 1.955-23.63 1.817-48.98 5.78-63.228 11.619-6.654 22.578-10.59 60.209-12.473 97.857-1.366 27.324-1.786 54.59-1.92 76.838C347.38 425.165 397.69 412.577 448 400l-20.768-134.982zm-313.466 46.156l80 16-3.532 17.652-80-16 3.532-17.652zm284.468 0l3.532 17.652-80 16-3.532-17.652 80-16zm-300.576 45.98l96 18-3.316 17.692-96-18 3.316-17.692zm316.684 0l3.316 17.692-96 18-3.316-17.692 96-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClosedDoors;

impl IconShape for ClosedDoors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 57.545c-29.212 2.622-71.312 17.137-106.37 38.172-19.394 11.637-36.707 25.19-48.83 39.178C79.68 148.882 73 163 73 176v263h174v-78h-46v16h-66v-16h-32v-66h32v-16h66v16h46V57.545zm18 0V295h46v-16h66v16h32v66h-32v16h-66v-16h-46v78h174V176c0-13-6.678-27.118-18.8-41.105-12.123-13.988-29.436-27.54-48.83-39.178C336.31 74.682 294.21 60.167 265 57.545zM153 297v62h30v-62h-30zm176 0v62h30v-62h-30zm-208 16v30h14v-30h-14zm80 0v30h110v-30H201zm176 0v30h14v-30h-14zM73 457v30h174v-30H73zm192 0v30h174v-30H265z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClothJar;

impl IconShape for ClothJar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.2 42l6 30h254l6-30zm9.6 48l2.8 14h241.2l2.8-14zm-20.6 32c-17.95 2.5-42.45 24.1-48.5 37.6-2.24 5.5-2.26 9.3-.21 13 4.38 7.7 7.04 8.3 12.68 7.8 5.63-.4 14.26-4.2 23.62-9.3 9.31-5.2 19.51-11.5 30.01-15.9 10.6-4.4 22.4-7.2 33.8-2.5 8.7 3.5 14.5 10.5 18.6 17.7 7.9 12.8 9.7 27.7 18.1 39.6 2.9 4.1 5.1 5.7 8.8 6.1v-.1c5 .6 8.4-1.2 13.2-5.9 12.6-14.1 19.9-31.8 31.8-44.8 6.8-7.2 15.9-13.3 27.1-13.3 9.1 0 16.6 4.8 21.9 10.4 10.1 10 14.4 23.2 24.1 33.1 3.4 3.5 5.6 4.6 8.7 4.5 4.2-1 6.7-6.6 8.8-10 4.2-7.2 8.9-17.9 20.8-21.6 20.9-4.7 38.3 7.5 54.7 16.6 7.8 4.3 15 7.4 19.6 7.9 4.5.6 6.2.4 9.7-4.9 3.4-5.1 3.6-10.5 1.1-17.7-9.4-21.6-30.4-39.9-50.4-48.3zm38.4 46.3c-12.8 1.2-24.2 8.4-34.4 14.1-14.1 65.9-7.8 151 52.8 183.9-21.6-58.6-13.2-113.4 7.1-164.8-5-11.8-9.8-27.6-19.3-32.2-1.8-.7-3.9-1.1-6.2-1zm-96.65 21.1c-6.76 25.6-9.74 53.9-8.89 81.9 1.03 34 7.67 67.5 20.63 95.3 11.39 24.3 27.96 44.4 50.21 55l-12.7 25.3v2.1c.8 10.4 12.3 12.7 19.7 14.1 8.5 1.6 20 2.9 33.6 3.9 27.4 2 63.5 3 99.7 3s72.3-1 99.7-3c13.6-1 25.1-2.3 33.6-3.9 8.4-1.5 19.5-4.8 19.7-14.1-3.2-9.5-8.2-18.6-12.6-27.4 22.1-10.6 38.6-30.7 49.9-55.1 12.9-27.7 19.5-61.2 20.5-95.2.8-23.4-1.2-47.1-5.8-69.2-4.7 4.9-10.7 7.7-16.7 8.6 3.6 19.2 5.2 39.7 4.6 60-1 32-7.4 63.5-18.9 88.3-11.3 24.3-27.3 41.7-47.7 49H129.9c-20.5-7.3-36.53-24.7-47.9-49.1-11.59-24.7-17.98-56.2-18.95-88.2-.75-24.9 1.77-50 7.3-72.7-5.86-1-11.62-3.9-16.4-8.6zM133.8 426h244.8l9.5 18.9c-11.3 2.3-24 3.4-33.6 4.1-26.6 2-62.5 3-98.3 3s-71.7-1-98.3-3c-15.2-.8-23.4-1.3-33.6-4.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clothes;

impl IconShape for Clothes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.3 33.41L77.89 47.25 34.6 148.3l33.29 22.2 27.46-54.9 17.05 4.9-15.07 150.1H245.2l9.2-87.9.9-8.1h4.5l-5.4-54.1 17.1-4.9 27.4 54.9 33.3-22.2-43.3-101.05-55.4-13.84c-5.5 3.87-12.2 6.21-19.5 7.95-9.4 2.21-20 3.24-30.6 3.24-10.6 0-21.2-1.03-30.6-3.24-7.3-1.74-14-4.07-19.5-7.95zM271.5 192.6l-1.5 14h178.8l-1.5-14zm-3.4 32l-26.7 254h62.7l46.5-216.9h17.6l46.5 216.9h62.7l-26.7-254z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clothespin;

impl IconShape for Clothespin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.4 21.08c-7-.01-13 7.72-8.1 17.19l77.2 148.63c10.3-1.7 21.2 1.5 29 9.3 4.2 4.2 7.1 9.4 8.6 14.8h.1l.4 2.3c.1.5.2.9.2 1.4l6.3 35.4 33.7 34s22.8-9.2 29.4-1.9c5.9 6.5-4.5 25.9-4.5 25.9l38 38c28.8 2.2 58.6 17.3 51.1 54.5l12.1 12c64.3 4.4 85-1 66.6-20.9L383.1 282s-12.8 1.6-20-6.1c-6.5-7.1.5-19.8.5-19.8l-211-231.11c-2.5-2.73-5.4-3.91-8.2-3.91zM31.32 134.5c-9.22.1-14.22 10.9-6.33 18.1l231.11 211s1.3-.7 3.3-1.5l-20.2-114.8-.8-.8c-12.8 8.9-30.8 7.4-42.2-4-7.8-7.8-11-18.7-9.3-29L38.28 136.3c-2.47-1.3-4.83-1.8-6.96-1.8zm187.78 69.8c-3.8-.1-7.6 1.4-10.5 4.3-5.8 5.8-5.8 15.1.3 21.2s15.4 6.1 21.2.3c5.8-5.8 5.8-15.1-.3-21.2-3-3-6.9-4.6-10.7-4.6zm42.4 65.1l17 96.9c4.7 7.3 3.5 16.8 3.5 16.8l109.7 101.4c19.9 18.4 25.3-2.3 20.9-66.6l-12-12.1c-37.2 7.5-52.3-22.3-54.5-51.1l-38-38s-19.4 10.4-25.9 4.5c-7.3-6.6 1.9-29.4 1.9-29.4l-22.6-22.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CloudDownload;

impl IconShape for CloudDownload {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.1 31.2A130.1 132.4 0 0 0 70.03 163.6a130.1 132.4 0 0 0 .55 11.3 80.98 73.47 0 0 0-52.21 68.6A80.98 73.47 0 0 0 99.35 317a80.98 73.47 0 0 0 37.25-8.3 189.3 80.97 0 0 0 78.4 16.5v-49.9h82v50.1a189.3 80.97 0 0 0 39.5-5.7 91.09 67.8 0 0 0 66 21.1 91.09 67.8 0 0 0 91.1-67.8 91.09 67.8 0 0 0-58-63.1 70.1 81.72 20.61 0 0 2.6-6.2 70.1 81.72 20.61 0 0-36.8-101.2 70.1 81.72 20.61 0 0-76.9 22.8 130.1 132.4 0 0 0-124.4-94.1zM233 293.3v112h-51.3l74.3 74.3 74.3-74.3H279v-112h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CloudUpload;

impl IconShape for CloudUpload {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.1 31.2A130.1 132.4 0 0 0 70.03 163.6a130.1 132.4 0 0 0 .55 11.3 80.98 73.47 0 0 0-52.21 68.6A80.98 73.47 0 0 0 99.35 317a80.98 73.47 0 0 0 37.25-8.3 189.3 80.97 0 0 0 70.4 15.6l49-49 49.2 49.2a189.3 80.97 0 0 0 31.3-4.8 91.09 67.8 0 0 0 66 21.1 91.09 67.8 0 0 0 91.1-67.8 91.09 67.8 0 0 0-58-63.1 70.1 81.72 20.61 0 0 2.6-6.2 70.1 81.72 20.61 0 0-36.8-101.2 70.1 81.72 20.61 0 0-76.9 22.8 130.1 132.4 0 0 0-124.4-94.1zM256 300.7L181.7 375H233v112h46V375h51.3L256 300.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clown;

impl IconShape for Clown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-38.3 0-53.9 13.6-62.4 30.97-5.6 11.28-7.5 24.61-8.2 37.03h141.1c-.8-12.37-2.9-25.68-8.6-36.97C309.2 38.6 293.6 25 256 25zm-98.9 86l9.1 24h187.5l3.8-24zm-65.6 9.5c-2.35.1-4.56.4-6.55 1-5.26 1.4-9.4 4.3-12.92 10.6-.51 1.1-.57 1.8.4 4.2.99 2.6 3.3 6.2 6.05 10.2 2.75 4 5.91 8.4 8.27 13.6 2.36 5.2 3.95 11.8 1.85 18.6-2.85 9.1-9.6 15.3-16.68 19.6-7.08 4.2-14.83 7.1-22.01 9.8-7.17 2.8-13.75 5.4-18.12 8.4-4.36 2.9-6.26 5.3-6.9 9-.98 5.8 1.76 11.7 7.69 18.7 5.94 7 14.51 14.2 21.79 21.4 6.36 6.4 6.43 14.7 6.1 20.7-.32 6.1-.9 11.5-.53 13.6.15 1 .35 1 .25.9-.1-.1.14.3 2.14.6 3.45.5 11.77-.5 24.69-4.2V296c0-59.1 19.89-112.9 52.19-151.2-8.8-9.5-22.2-18.7-34.8-22.4-3.7-1-7.2-1.6-10.48-1.8-.82-.1-1.62-.1-2.41-.1zm326.6.1c-3.3.2-6.8.8-10.5 1.9-12.6 3.7-26 12.8-34.8 22.3C405.1 183.1 425 236.9 425 296v1.2c12.9 3.7 21.3 4.7 24.7 4.2 2-.3 2.2-.7 2.1-.6 0 .1.1.1.3-.9.3-2.1-.2-7.5-.6-13.6-.3-6-.2-14.3 6.1-20.7 7.3-7.2 15.9-14.4 21.8-21.4 6-7 8.7-12.9 7.7-18.7-.6-3.7-2.5-6.1-6.9-9-4.4-3-10.9-5.6-18.1-8.4-7.2-2.7-14.9-5.6-22-9.8-7.1-4.3-13.8-10.5-16.7-19.6-2.1-6.8-.5-13.4 1.9-18.6 2.3-5.2 5.5-9.6 8.2-13.6 2.8-4 5.1-7.6 6.1-10.2.9-2.4.9-3.1.4-4.2-3.5-6.3-7.7-9.1-12.9-10.6-2-.6-4.2-.9-6.6-.9zM156 153c-31.1 34.8-51 85.7-51 143 0 23.1 3.2 45.2 9.2 65.6C126.3 346.8 145 339 166 339c13.2 0 27.5 2.8 42.2 8.2a48 48 0 0 1 10.1-24.8c-11.8-3.7-19.4-5.4-26.3-5.4-10 0-21.2 3.5-45.2 11.5l-11.8 4V320c0-5.5 1.1-14.3 3.1-25.8 2.1-11.6 5.2-25.4 9.3-38.8 4.1-13.5 9.3-26.6 16-37 3.3-5.1 7.2-9.8 11.7-13.3L192 168l16.9 37.1c4.5 3.5 8.4 8.2 11.7 13.3 6.7 10.4 11.9 23.5 16 37 4.1 13.4 7.2 27.2 9.3 38.8.7 3.8 1.2 7.3 1.7 10.6a48 48 0 0 1 8.4-.8 48 48 0 0 1 8.4.8c.5-3.2 1-6.8 1.7-10.6 2.1-11.6 5.2-25.4 9.3-38.8 4.1-13.5 9.3-26.6 16-37 3.3-5.1 7.2-9.8 11.7-13.3L320 168l16.9 37.1c4.5 3.5 8.4 8.2 11.7 13.3 6.7 10.4 11.9 23.5 16 37 4.1 13.4 7.2 27.2 9.3 38.8 2 11.5 3.1 20.3 3.1 25.8v12.5l-11.8-4c-24-8-35.2-11.5-45.2-11.5-6.9 0-14.4 1.7-26.3 5.4a48 48 0 0 1 10 24.8c14.8-5.4 29-8.2 42.3-8.2 21 0 39.7 7.8 51.8 22.6 6-20.4 9.2-42.5 9.2-65.6 0-57.3-19.9-108.2-51-143zm36 64c-3.5 0-8.2 3.1-13.4 11.1-5.3 8.1-10.1 20-14 32.5-3.9 12.6-6.8 25.8-8.7 36.7-.7 3.7-1.1 6.7-1.5 9.8 10.8-3.5 19.1-6 26.9-7.2A16 16 0 0 1 176 288a16 16 0 0 1 16-16 16 16 0 0 1 16 16 16 16 0 0 1-5.3 11.9c7.8 1.2 16.1 3.7 26.9 7.2-.4-3.1-.8-6.1-1.5-9.8-1.9-10.9-4.8-24.1-8.7-36.7-3.9-12.5-8.7-24.4-14-32.5-5.2-8-9.9-11.1-13.4-11.1zm128 0c-3.5 0-8.2 3.1-13.4 11.1-5.3 8.1-10.1 20-14 32.5-3.9 12.6-6.8 25.8-8.7 36.7-.7 3.7-1.1 6.7-1.5 9.8 10.8-3.5 19.1-6 26.9-7.2A16 16 0 0 1 304 288a16 16 0 0 1 16-16 16 16 0 0 1 16 16 16 16 0 0 1-5.3 11.9c7.8 1.2 16.1 3.7 26.9 7.2-.4-3.1-.8-6.1-1.5-9.8-1.9-10.9-4.8-24.1-8.7-36.7-3.9-12.5-8.7-24.4-14-32.5-5.2-8-9.9-11.1-13.4-11.1zm-64 103a32 32 0 0 0-32 32 32 32 0 0 0 6.2 18.8 48 48 0 0 1 44.6-44.7A32 32 0 0 0 256 320zm-90 37c-21.9 0-36.9 8.3-44.3 26.5C147 445.3 198.1 487 256 487c57.9 0 109-41.7 134.3-103.5-7.4-18.2-22.4-26.5-44.3-26.5-13 0-28.3 3.5-44.7 10.6A48 48 0 0 1 256 400a48 48 0 0 1-45.3-32.4C194.3 360.5 179 357 166 357zm1.7 22.4c22.7 37.7 55.6 55.6 88.3 55.6 32.7 0 65.6-17.9 88.3-55.6l15.4 9.2C334.4 430.9 295.3 453 256 453s-78.4-22.1-103.7-64.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clownfish;

impl IconShape for Clownfish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.38 71.32c-2.692.027-5.327.135-7.884.319-26.372 51.103 17.394 93.805 64.493 104.945 13.09-17.97 20.194-35.75 19.81-52.19l-13.342 9.173-10.197-14.832 19.385-13.328a51.746 51.746 0 0 0-2.67-5.307c-12.504-21.573-43.584-29.033-69.596-28.78zm-37.335 5.07c-17.856 4.26-35.236 10.617-50.578 16.962-15.406 6.371-49.229-21.262-61.195-9.934-47.257 44.737-30.373 63.14-36.053 72.645 26.004 6.87 47.011 17.806 78.174 19.775 4.524-6.931 8.111-11.8 12.752-17.982l46.873.31-.121 17.998-37.573-.248c-6.871 9.512-12.176 18.044-14.943 24.862-3.133 7.72-3.384 12.978-1.998 16.851 7.927 14.29 31.59 18.35 45.008 20.778l30.031-39.956 14.389 10.815-36.608 48.707c-16.36-2.943-34.12-5.98-47.841-12.496l-.082-.041c6.302 17.447 14.137 34.826 18.359 51.228a647.74 647.74 0 0 0 13.004-7.658c22.215-13.45 5.493 46.972 53.295 3.69 5.713-5.174 8.326-49.352 10.16-51.223 13.1-13.364 30.148-30.006 45.225-47.686-67.624-8.885-98.696-65.168-80.278-117.396zm60.54 14.683a10.985 10.985 0 0 1 4.984 20.945c-5.505 2.548-12.033.152-14.582-5.352-2.55-5.505-.154-12.034 5.351-14.584a10.984 10.984 0 0 1 4.246-1.01zm-256.343 91.076c-10.778-.103-22.732 2.199-29.648 8.23-70.643 61.604-16.27 86.406-11.574 90.723 22.797 20.957 39.667 72.813 45.96 88.693 3.648 9.202 19.545 26.155 54.594 9.934 52.654-20.53 29.41-48.545 57.666-62.912-9.123-50.356-50.136-103.254-96.902-130.684-4.04-2.37-11.712-3.904-20.096-3.984zM92.99 324.759c-60.74-.071-78.355 61.634-68.033 92.634 39.549 51.777 96.597 6.736 124.514-33.545-10.297-23.138-22.417-43.575-40.1-57.686-5.776-.95-11.233-1.398-16.38-1.404z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoaDeJima;

impl IconShape for CoaDeJima {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.1 21.72c-8.5 0-16.9.92-25.2 2.58-33.2 6.64-63.3 25.83-78.8 41.36-3.6 3.53-6 9.78-6.8 18.63-.8 8.85.2 19.91 2.2 31.41 2.7 15.3 7.2 31.2 11.6 45.2l36.3-50.8.5-.6c5.9-5.8 13.9-9.3 22.7-9.9 2.9-.21 5.9-.11 9 .33 12.2 1.77 25.2 8.57 37.6 20.87 12.3 12.4 19.1 25.4 20.9 37.6 1.7 12.3-1.9 23.9-9.6 31.7l-.6.5-50.8 36.3c14 4.4 29.9 8.9 45.2 11.6 11.5 2 22.6 3 31.4 2.2 8.9-.8 15.1-3.2 18.6-6.8 15.6-15.5 34.8-45.6 41.4-78.8 6.6-33.1 1.8-68.91-30.1-100.74-23.8-23.87-49.9-32.54-75.5-32.64zm-36.3 95.78c-4.6.3-8.2 2-10.8 4.5l-51.5 72.1 34.4 34.4L390 177c3.3-3.5 5.3-8.7 4.3-16-1.1-7.6-5.6-17.2-15.9-27.4-10.2-10.3-19.8-14.8-27.4-15.9-1.4-.2-2.7-.2-4-.2zm-74.2 90.3L18 461.5V494h32.53L304.2 240.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoalPile;

impl IconShape for CoalPile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367.5 18l-45.2 135.5c6 1.5 11.8 3.4 17.1 5.7L386.5 18zm-73.1 150.5c-12.3 0-26.2 1.8-28.5 9L247.6 232l-1.1.2-38.9-25.9-47.9 44.4-53.3 19.3 6.8 41.3L62 334.9l4.02 74.1-55.45 34.2 78.9 33.1 83.23-10.5 67.1 31.5 76-10.6 26.7-24.3L424 492l69.2-28.7-34.4-56.1-31.1-15.8 21.1-19.3-40.4-82.5-62.5-4.5 24.3-72.8c-1-15.5-20.3-27.8-32.4-34L309.3 223c-1.1 1.5-.9.5-1.2-.9l4.1-52.3c-3.5-.6-10.3-1.3-17.8-1.3zm-85 60.6l33.1 22.1 53.9-8.8 14.4 47.7-35.6 23.1-43.2-16.6 40.6 48.7 60.6-43.1 63.6 4.6 13.4 27.2-58.9 14.6 67.6 3.1 7.9 16.2-30.3 27.9 49.7 25.2 20.6 33.7-43.2 17.9-85.1-30.8-30.7 27.9-65.2 9-66.9-31.5-83.71 10.7-42.16-17.7 34.75-21.4-3.94-72.7L119 328.4l33.6 39.5 35.7-31.1-39 2.7-16.3-18.6-6.4-39.1 22.9-8.3 45.6 1.7-20-14.3zm138.2 162l-66.2 20.2-36.5-14.4 50.4 43zm-230.3 17.6l40.2 24.7 56.5-2.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoalWagon;

impl IconShape for CoalWagon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 64c-23.723 1.039-64 32-96 48-32-10.667-79.124-37.34-96-32-22.196 7.024-47.374 44.154-71.533 71h435.719C467.4 130.604 444.747 80.887 432 80c-15.998-1.113-80 48-80 48-16-21.333-36.57-64.5-48-64zM27.133 169l44.144 206H119V169H27.133zM137 169v14h46v-14h-46zm64 0v206h239.725l44.142-206H201zm-64 32v14h46v-14h-46zm0 32v14h46v-14h-46zm0 32v14h46v-14h-46zm0 32v14h46v-14h-46zm0 32v14h46v-14h-46zm0 32v14h46v-14h-46zM25 393v30h462v-30H25zm11.822 48C34.387 445.436 33 450.543 33 456c0 17.227 13.773 31 31 31s31-13.773 31-31c0-5.457-1.387-10.564-3.822-15H36.822zm80 0c-2.435 4.436-3.822 9.543-3.822 15 0 17.227 13.773 31 31 31s31-13.773 31-31c0-5.457-1.387-10.564-3.822-15h-54.356zm81.74 0l15 30h84.875l15-30H198.563zm142.26 0c-2.435 4.436-3.822 9.543-3.822 15 0 17.227 13.773 31 31 31s31-13.773 31-31c0-5.457-1.387-10.564-3.822-15h-54.356zm80 0c-2.435 4.436-3.822 9.543-3.822 15 0 17.227 13.773 31 31 31s31-13.773 31-31c0-5.457-1.387-10.564-3.822-15h-54.356z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cobra;

impl IconShape for Cobra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.4 20.95c-15.3.23-28.6 3.6-40.4 10.47-15.4 2.32-31.2.89-45.4 4.01-23.6 5.29-44.3 18.98-54.5 56.05 1.7-2.63 3.7-5.01 5.9-7.08 5.9-5.55 14.2-8.95 22.7-7.25 8 1.59 14.1 7.27 17.7 14.08 3.4-8.45 8-16.94 13.7-25.52 9.5-12.42 24.3-13.31 37.6-12.68L288 63.18l45.5-6.98c-7.8-18.12-27.2-30.54-53.6-34.39 11.4 8.12 12.8 19.86 13.4 30.1-10.6-7.83-17.4-12.76-34.6-18.61l16.4-12.1c-.9-.1-1.8-.18-2.7-.25zm-49.9 49.38c-5.8 0-11.3 1.51-15.4 5.32-7.9 11.93-13.2 22.91-16 33.45 22.3-2.2 43-3.2 64.6-.7-8.9-11.04-17.3-23.12-22.6-36.56-3.5-.95-7.1-1.5-10.6-1.51zm109.6 4.23L317 76.87l5.7 30.03zm-76.9 1.13c7.9 13.7 19.7 27.21 30.7 40.81 4.1 2.3 7.7 3.3 10.7 3.6-6.3-13.4-9.7-26.53-12.5-39.39zM150.1 97.66c-2.7 2.54-5.3 6.94-6.4 12.44-1.1 5.5-.4 10.7 1.1 14.1 1.7 3.5 3.6 4.9 5.5 5.2 2 .4 4.3-.1 7.1-2.7s5.4-7.1 6.5-12.6c1.1-5.5.3-10.6-1.2-14-3.3-6.39-8.1-6.47-12.6-2.44zm76.6 27.14c-13 0-26.2 1-38.3 2.5-.1 3.9.1 7.9.7 11.8.7 5.3 2.1 10.7 4 16.2 28.6-5.5 53.5-8.6 80.8-4.1-.3-7.3-.8-14.5-1.5-21.4-13-3.7-29.2-5.1-45.7-5zm-55.8 13.8c-.4.4-.8.9-1.3 1.3-5.9 5.5-14.2 8.9-22.8 7.2-3.6-.7-6.9-2.3-9.7-4.4 6.3 14 16 28.5 28.2 42.1 15.9 17.8 35.5 33.9 55.6 45.5-3.2-3.5-6.2-7-9.1-10.5-23-27.7-36.9-52.7-40.5-78.1-.1-1-.3-2.1-.4-3.1zm73 28.4c-14.8.2-30 2-43.4 4.9 6 11.3 14.3 23.3 25.1 36.4.3.4.7.8 1 1.2 18.7-10.4 34-14 47.2-14.5.3-8.4.5-17 .5-25.7-9.4-1.7-19.8-2.4-30.4-2.3zm-5.2 56.1c8.2 8.8 17.3 18.1 26.4 28.1 10.3-7.5 23.2-13.3 38.3-15.6-7.3-7.7-14.5-15.2-21.4-22.7-16-.8-32.6 4.7-43.3 10.2zm38.2 41.5c7.6 8.9 14.9 18.5 21.6 28.8 13.7-7.4 28.6-13.8 43.4-15.6-7.3-8.8-14.9-17.2-22.6-25.5-14.9.1-31.6 5-42.4 12.3zm74.5 30.8c-12.5.1-28.6 5.6-43.8 13.4 7.3 13.6 13.3 28.4 16.9 44.8 5.2 23.7 4.4 43.2-7.5 57.8-1.6 1.7-2 2.3-3 3.4-44.6 53.7-203.7 39.5-202.2 31.9 2.2-13.6 96.1 7.5 168.5-30.3-56.7.1-117.1-1.9-170.4 4.7-15.02 2.7-71.52 5.1-72.51 24.8 1.54 16.1 19.23 24.4 31.2 29.1 21.11 8.1 67.31 13.1 99.91 15.1 65.2 3.9 141.1-4.7 176.1-19.3 22.5-9.4 35-22.6 42-38.2 6.9-15.5 8.1-33.9 5.6-52.8-4.2-31.7-18.3-59.2-36.4-84.2-1.4-.1-2.9-.2-4.4-.2zm-99.5 45.8c-49.1-.1-194.74 14.9-194.37 49.5.1 8.1 6.1 14.4 16.23 19.3 10.16-3 21.61-5.1 33.84-6.7 37.2-4.8 81.5-4.7 112.6-5.3 13.4-.3 32.6.3 50 .4 8.8.1 17.1.1 23.8-.1 4.7-.1 8.3-.5 10.9-.8 4-6.3 5.5-14 4.5-25l-202.3 9.8c27.4-14.4 86.1-21.2 134.5-25.2 24.8-5 27.3-9.3 26.1-14.3-.9-1-6.7-1.6-15.8-1.6zm156.5 26.4c.6 3.2 1.1 6.5 1.6 9.9.9 6.8 1.4 13.6 1.4 20.5 16-1.3 33.9-6.7 44.1-6.6-6.1 8.5-26.8 17.2-45.1 22-1.2 9.2-3.6 18.1-7.4 26.7-1.1 2.5-2.4 5-3.7 7.4 42.8-3.2 74.7-10.7 75.3-46.6.4-23.4-36.9-30.7-66.2-33.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coconuts;

impl IconShape for Coconuts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M178.9 22.46c-4.5 0-9 .27-13.6.72-24 2.4-44.1 19.61-61.2 42.42-4.39 5.9-8.61 12.23-12.66 18.86l.98-45.3-24.83 91.74c-2.34 5.3-4.6 10.7-6.78 16.1-1.26 3.1-2.49 6.3-3.69 9.4l-6.14-68.08L40.82 203.5c-2.95 9.5-5.61 18.6-7.9 27-6.6 24.1-10.37 41.6-11.25 49.3-3.81 33.5-1.2 75.7 11.67 113.7-4.19.3-8.59-1.1-13.96-10.2-2.61 21.8 12.65 34.1 25.28 47.8-9.17 4.1-14.29 3.2-25.28-1.5 20.17 13.9 36.78 30.3 65.75 38.3 12.87 9 27.87 15.3 45.27 17.8 66 9.5 111.1.7 142.1-19.4 33.7 22.9 78.8 30.7 136.4 10.8 28.9-10 48.6-30.6 60.1-57.1l9 19.4-.3-47.1c1.3-6.3 2.3-12.8 3-19.5.2-2.1.4-4.2.5-6.3l11.7 8.4-13-57.1c-4-34.8-13.9-71.9-28.5-108.4l-7.8-19.4-7.3 15.7c-6 19.2-20.3 34.8-38.5 46.6-22.6 14.7-51.4 24.4-80.6 29.9-29.2 5.4-58.8 6.5-83 3.3-12.1-1.6-22.9-4.3-31.9-8.4-2.1-1-4.1-2-6.1-3.1-1.1-.4-2.3-.8-3.4-1.2l-14.4-5 2.6 15c1.9 10.8 4.1 22.2 6.9 33.8l11.6 90.2 6.3-24.6 12 66.7 2.4-35.8 15.2 51.2c-24.8 7.9-57.7 10-102.4 3.6-40-5.8-64.59-34.1-79.21-70.9-14.62-36.8-18.05-81.6-14.24-115.2.5-4.4 4.27-23 10.73-46.6 6.46-23.5 15.67-52.8 27.23-81.4C89.06 125.1 103 97.11 118.5 76.37c15.6-20.78 32.3-33.65 48.6-35.28 4.1-.4 8-.62 11.9-.65 27.3-.23 50.2 8.46 69.8 23.39 22.5 17.06 40.5 42.57 53.8 72.17 1.7 3.7 3.3 7.5 4.8 11.4 5.8-1.1 11.9-2 18.2-2.7-1.7-4.3-3.4-8.5-5.2-12.7l22.7 4.1-39-35.9c-.9-1.49-1.8-2.99-2.8-4.39l25 .6L282.7 71c-7-7.96-14.7-15.19-23-21.51-22.4-17.02-49.6-27.21-80.8-27.03zm-1.2 48.2c-1.7 0-3.3.28-4.8.92-11.2 4.74-3.7 27.43 4.7 36.22 6.6 7 23.4 13.4 28.3 5.2 8.2-13.69-12.2-42.22-28.2-42.34zm-34.2 29.64c-9.7-.3-18.3 22.1-18.4 35 0 8.9 6 23.3 13.1 21.4 15.1-4.3 22.6-48 8.3-55.6-1-.5-2-.8-3-.8zm206.9 61c-21.5.2-43.8 3.7-60.4 8.5-20.8 6.1-45.6 16.8-63.8 31.3-17.7 14.2-28.7 30.9-27.3 51.5 1.7 2.5 5.1 5.5 10.8 8.1 6.7 3.1 16 5.5 26.9 6.9 21.7 2.9 49.8 2 77.3-3.1 27.4-5.1 54.4-14.4 74.1-27.3 19.2-12.6 31.1-27.8 32.9-46.3-2.2-8.1-7.2-14-15.4-18.7-8.7-5-20.7-8.3-34.1-9.8-6.8-.8-13.8-1.1-21-1.1zm-3.1 15c22.3-.2 44.1 4.3 57.4 15.9-8.5-3.1-65.2-3.6-95.8 5.5-31.2 9.3-64.2 22.4-84.7 48.5 5.4-35 46.7-53.6 79.1-63.3 13.2-4 28.7-6.4 44-6.6zm93.6 56.6c17.6 49.2 25.9 98.3 21.9 138.1-4.4 44.4-22.6 76.2-59.7 89.1-72.8 25.1-117.1 4.3-148.4-34.7-28.2-35.1-44.2-86.1-53.2-131.1 24.4 6.9 48.5 9.8 71.6 9.7 16.4 7.7 31.4 13.6 52.8 10.8 0 0 2.7 30 2.1 45-.4 10.8-7.6 22-4.1 32.3 3.3 9.7 11.4 22.3 21.7 21.8 10.9-.6 19.7-14.7 20.7-25.7.9-10-11.8-16.9-14.4-26.7-4.3-16.6-1-51.6-1-51.6 22.4-35.4 61.6 3.3 63.8-51.1 10.5-8 19.3-16.7 26.2-25.9zm-208 193.3c2.5 3.6 5.1 7.1 7.8 10.5 5.1 6.4 10.8 12.4 16.8 17.9-6.5 3.7-13.8 7-21.9 9.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoffeeBeans;

impl IconShape for CoffeeBeans {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.043 26.648c-8.893.062-17.672 1.326-26.193 3.873-8.454 2.53-16.242 6.197-23.31 10.867 7.722 19.622 27.435 44.53 50.27 65.793 23.842 22.202 51.18 41.065 68.835 49.572l.207.1.203.103c16.224 8.335 27.71 21.453 34.34 35.924 4.27 9.318 6.757 19.078 8.207 29 13-10.14 26.704-18.26 40.636-24.153-1.06-18.31-5.088-37.51-12.424-56.735-15.386-40.32-42.26-72.78-72.695-92.576-21.875-14.228-45.35-21.926-68.077-21.768zm-76.408 42.305c-5.113 7.934-9.306 16.78-12.492 26.387-10.64 32.074-9.777 72.308 5.61 112.63 9.312 24.403 22.837 45.92 38.81 63.5 15.736 4.708 31.3 11.982 45.92 21.852 11.296 7.627 21.362 16.357 30.085 25.852 2.847.692 5.695 1.282 8.54 1.746 5.42-14.138 12.455-28.204 21.124-41.85 5.353-8.424 11.116-16.354 17.21-23.757.072-5.192.03-10.223-.217-15.026-.67-12.99-2.75-24.1-6.56-32.414-3.808-8.314-8.77-14.122-18.06-18.894l.41.202c-22.878-11.025-51.447-31.172-77.74-55.655-20.9-19.46-40.288-41.258-52.64-64.574zm279.752 135.725c-13.507.11-27.796 3.247-42.252 9.248-30.84 12.802-61.806 38.75-84.71 74.797-11.717 18.442-20.137 37.67-25.372 56.523 20.55 34.478 25.597 74.082 10.793 107.342 2.417 3.444 5.08 6.657 7.986 9.613 21.644-18.674 46.588-34.143 64.316-50.028 9.69-8.68 17.027-17.275 21.104-25.46 4.077-8.187 5.48-15.697 3.36-25.923l-.124-.595-.082-.6c-8.053-58.294 6.075-92.552 26.664-113.51 16.556-16.85 33.036-25.725 44.405-37.442-8.214-2.73-16.972-4.04-26.088-3.965zm56.746 23.953c-16.63 20.67-37.133 30.217-49.383 42.686-14.076 14.328-23.793 31.575-16.715 83.104 3.408 17.52.413 34.346-6.558 48.342-7.097 14.247-17.71 25.832-29.305 36.222-17.613 15.782-37.93 29.296-54.926 42.48 19.275 5.007 41.22 2.584 63.565-6.693 30.84-12.8 61.808-38.75 84.71-74.797 22.905-36.048 33.24-75.107 31.728-108.463-1.156-25.51-9.035-47.368-23.115-62.88zm-66.098 125.79c-.06-.315-.108-.628-.174-.943l.208 1.193c-.01-.085-.02-.165-.033-.25zm-280.223-71.424c-18.383-.166-35.7 3.865-50.275 11.807.1.003.187.01.287.013 8.63.305 19.464-.713 31.938.99 12.473 1.704 27.085 7.368 38.154 19.893 11.07 12.524 18.66 30.28 23.947 55.78l.125.594.082.602c2.453 17.792 13.786 28.085 33.434 37.722 16.764 8.223 38.287 14.095 58.717 20.073 9.15-41-12.56-91.006-58.81-122.23-24.938-16.836-52.274-25.015-77.597-25.244zm-81.078 41.447c-25.27 43.53-5.004 107.405 50.106 144.612 54.225 36.61 119.786 32.276 151.34-5.7-18.436-5.254-39.336-11.22-58.53-20.634-24.75-12.14-48.34-32.54-53.1-64.222-4.533-21.7-10.59-33.28-15.61-38.96-5.04-5.707-8.97-7.095-16.05-8.06-7.08-.968-16.81-.277-28.333-.683-8.98-.316-19.516-1.605-29.823-6.352zm89.817 54.055c.022.1.044.192.065.293l-.207-1.196c.042.304.097.6.143.904z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoffeeCup;

impl IconShape for CoffeeCup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144 32S94.11 69.4 96 96c1.604 22.57 44.375 25.665 48 48 1.91 11.772-16 32-16 32s48-25.373 48-48-42.8-25.978-48-48c-3.875-16.414 16-48 16-48zm80 0s-49.89 37.4-48 64c1.604 22.57 44.375 25.665 48 48 1.91 11.772-16 32-16 32s48-25.373 48-48-42.8-25.978-48-48c-3.875-16.414 16-48 16-48zm80 0s-49.89 37.4-48 64c1.604 22.57 44.375 25.665 48 48 1.91 11.772-16 32-16 32s48-25.373 48-48-42.8-25.978-48-48c-3.875-16.414 16-48 16-48zM73.293 201c1.43 63.948 18.943 179.432 74.707 238h152c55.764-58.568 73.278-174.052 74.707-238H73.293zm319.598.445c-.186 9.152-.652 19.252-1.472 30.057C419.312 235.162 441 259.142 441 288c0 31.374-25.626 57-57 57-4.387 0-8.656-.517-12.764-1.465-2.912 9.62-6.176 19.165-9.84 28.51C368.602 373.97 376.176 375 384 375c48.155 0 87-38.845 87-87 0-45.153-34.153-82.12-78.11-86.555zM42.763 457c1.507 5.193 3.854 11.2 6.955 16.37 2.637 4.394 5.69 8.207 8.428 10.58C60.882 486.32 63 487 64 487h320c1 0 3.118-.678 5.855-3.05 2.738-2.373 5.79-6.186 8.428-10.58 3.1-5.17 5.448-11.177 6.955-16.37H42.762z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoffeePot;

impl IconShape for CoffeePot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M49.66 45.63L108.1 148.3h217.5V78.25zm27.9 120.67v19.6H334.6c48 0 82.2 29.3 103.2 64.3 19 31.5 28.2 67.7 29.9 95.6h20.1c-2.1-32.8-15.2-76.2-37.2-111.8-24.1-38.9-57.8-67.7-98-67.7zm13.29 37.6c-3.15 4.7-9 15.1-14.87 28.6-7.34 16.9-15.6 38.8-23.3 62.9C37.29 343.7 24.2 400.9 24.2 443.3c0 6 3.27 13.1 8.54 18.5 5.27 5.3 12.2 8.6 17.99 8.6H370.6c5.6 0 12.6-3.3 17.9-8.6 5.3-5.4 8.6-12.5 8.6-18.5 0-42.4-13.1-99.6-28.6-147.9-7.7-24.1-16-46-23.4-62.9-5.9-13.5-11.8-23.9-15-28.6zM65.01 337.1H355.6c7.5 29.1 12.8 59.7 12.8 84.3 0 13.8-14.6 28.3-29.2 28.3H81.04c-14.29 0-28.73-14.5-28.73-28.3 0-24.6 5.24-55.2 12.7-84.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoiledNail;

impl IconShape for CoiledNail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.63 48.7c39.43 38.73 93.67 90.2 140.57 131.8 24.5 21.8 47.1 40.8 63.8 53.6 2.9 2.2 5.3 3.9 7.8 5.6-1.8-2.5-3.5-5-5.7-7.8-12.5-16.8-31.6-39.4-53.3-64C139.2 121 87.67 66.73 48.7 27.63zm89.27 109.6c-10.8 13.4-19.24 26.7-22.87 37.6L168.7 251c.8-15.4.7-30.9-.1-46.2-4.1-3.5-8.3-7.1-12.4-10.9-12.8-11.3-26-23.3-39.3-35.6zm50.9-48.7c3.2 8.3 6 17.1 8.3 26 6.1 6.9 12.2 13.7 18.1 20.3 14.1 15.9 26.9 30.9 37.8 44.2-7.2-34.1-16-67.1-24.3-90l-11.8-16.07c-8.4 2.81-18 8.27-28.1 15.57zm72 43.9c5.2 20.3 9.9 42.3 14.1 64.2.9 4.9 1.8 9.6 2.7 14.4 2.8 4.1 5.1 7.8 7 11.2 1.7 3.2 2.9 5.9 3.6 8.9.8 3.1 1.5 8.1-2.7 12.3-.8.8-1.6 1.4-2.5 1.9 1.6 10.7 2.9 21 3.9 30.5 1.1 10.2 1.8 19.4 2.2 27.6l46.8 34.7c.6-40.5-5.6-87.6-17.9-128.4zm-52.6 67.4c.2 14.3-.3 28.7-1.3 42.9l63.2 46.6c-1.3-15.8-3.6-32.9-5.7-46.9-6.2-3.4-13.6-8.5-22.3-15.1-9.8-7.4-21.3-16.8-33.9-27.5zm137.5 47.5c6.8 35.3 9.4 71.8 7.9 103.8l56.2 41.5c1.7-20.8-.6-42.8-8.5-70.2zM405.8 378c2.1 17.2 1.9 32.8-.4 48.1l79 58.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coins;

impl IconShape for Coins {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136 25.01c-16.5 0-31.3 3.4-41.29 8.4-9.9 5-13.7 10.6-13.7 14.6 0 3.9 3.8 9.61 13.7 14.5 9.99 5 24.79 8.5 41.29 8.5s31.3-3.5 41.2-8.5c10-4.89 13.8-10.6 13.8-14.5 0-4-3.8-9.6-13.8-14.6-9.9-5-24.7-8.4-41.2-8.4zm160 32c-16.5 0-31.3 3.4-41.2 8.4-10 5-13.8 10.6-13.8 14.6 0 3.9 3.8 9.61 13.8 14.5 9.9 5 24.7 8.49 41.2 8.49 4.6 0 9-.3 13.2-.8 4.3-5.49 10.4-10.36 17.5-13.6 8.2-3.7 17.7-6.7 24.3-8.59 0-4-3.8-9.6-13.8-14.6-9.9-5-24.7-8.4-41.2-8.4zM81.01 75.4c-.4 14.66 15.48 20.64 25.49 23.6 17.9 5.2 41.1 5.2 59 0 12.8-3.66 25.4-10.72 25.5-23.6-16.1 10.63-39.6 13.49-55 13.6-19.5-1.63-39.98-3.65-54.99-13.6zM376 96.31c-16.5 0-31.3 3.4-41.2 8.49-10 4.9-13.8 10.6-13.8 14.5 0 4 3.8 9.6 13.8 14.6 9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6 0-3.9-3.8-9.6-13.8-14.5-9.9-5.09-24.7-8.49-41.2-8.49zM241 107.4v2.4c2.9 1 5.7 2.2 8.3 3.5 9 4.5 16.8 10.8 20.8 18.7 10.2 2.5 21.7 3.4 32.9 2.7v-13.9c-2.3.1-4.6.2-7 .2-18.9 0-36.1-3.7-49.3-10.3-2-1-3.9-2.1-5.7-3.3zm-159.99.1c-.34 14.6 15.52 20.6 25.49 23.6 6.8 1.9 14.4 3.2 22.2 3.6 2-5.2 5.6-9.8 10.2-13.7-12.8.3-25.7-1.3-37.4-4.6-7.79-2.3-14.69-5.2-20.49-8.9zM200 121c-16.5 0-31.3 3.5-41.2 8.4-10 5-13.8 10.6-13.8 14.6s3.8 9.6 13.8 14.6c9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6s-3.8-9.6-13.8-14.6c-9.9-4.9-24.7-8.4-41.2-8.4zM81.01 139.5c-.34 14.6 15.52 20.6 25.49 23.6 6.3 1.8 13.3 3 20.5 3.5v-13.8c-8.8-.6-17.4-2.1-25.5-4.4-7.79-2.3-14.69-5.2-20.49-8.9zM321 146.8c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.2 41.1 5.2 59 0 12.7-3.7 25.4-10.7 25.5-23.6-1.8 1.1-3.7 2.2-5.7 3.2-13.2 6.6-30.4 10.3-49.3 10.3s-36.1-3.7-49.3-10.3c-2-1-3.9-2.1-5.7-3.2zm-48 4.2v13.7c9.4 1.9 19.9 2.6 30 2v-13.8c-10.1.5-20.3-.1-30-1.9zm-128 20.4c-.5 6 2.2 10.9 5.5 13.8 4.2 3.6 11 7.3 20 9.9 17.9 5.1 41.1 5.1 59 0 9-2.6 15.8-6.3 20-9.9 4.9-4.1 5.5-8.1 5.5-13.8-1.8 1.2-3.7 2.3-5.7 3.3-13.2 6.6-30.4 10.3-49.3 10.3s-36.1-3.7-49.3-10.3c-2-1-3.9-2.1-5.7-3.3zm-63.99.1c-.34 14.6 15.52 20.6 25.49 23.6 6.3 1.8 13.3 3 20.5 3.5v-13.8c-8.8-.6-17.4-2.1-25.5-4.4-7.79-2.3-14.69-5.2-20.49-8.9zM321 178.8c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.2 41.1 5.2 59 0 12.7-3.7 25.4-10.7 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.3-47.3 6.3-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-48 4.2v13.7c9.4 1.9 19.9 2.6 30 2v-13.8c-10.1.5-20.3-.1-30-1.9zM81.01 203.5c-.34 14.6 15.52 20.6 25.49 23.6 6.3 1.8 13.3 3 20.5 3.5v-13.8c-8.8-.6-17.4-2.1-25.5-4.4-7.79-2.3-14.69-5.2-20.49-8.9zm63.99 0c-.5 6 2.2 10.8 5.5 13.7 4.2 3.6 11 7.3 20 9.9 17.9 5.1 41.1 5.1 59 0 9-2.6 15.8-6.3 20-9.9 4.9-4.1 5.5-8 5.5-13.7-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm176 7.3c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.2 41.1 5.2 59 0 12.7-3.7 25.4-10.7 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.3-47.3 6.3-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-48 4.2v13.7c9.4 1.9 19.9 2.6 30 2v-13.8c-10.1.5-20.3-.1-30-1.9zm-128 20.5v2.3c2.9 1 5.7 2.2 8.3 3.5 9 4.5 16.8 10.8 20.8 18.7 17.3 4.2 38.7 3.9 55.4-.9 9-2.6 15.8-6.3 20-9.9 4.9-4.1 5.5-8 5.5-13.7-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm176 7.3c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.2 41.1 5.2 59 0 12.7-3.7 25.4-10.7 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.3-47.3 6.3-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-48 4.2v13.7c9.4 1.9 19.9 2.6 30 2v-13.8c-10.1.5-20.3-.1-30-1.9zm-169 2c-16.49 0-31.29 3.5-41.29 8.4-9.9 5-13.7 10.6-13.7 14.6s3.8 9.6 13.7 14.6c10 5 24.8 8.4 41.29 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6s-3.8-9.6-13.8-14.6c-9.9-4.9-24.7-8.4-41.2-8.4zm151 18.5c-5.8 3.7-12.7 6.6-20.5 8.9-18 5.1-38.6 6-57.5 2.6v13.7c16.8 3.5 36.7 2.9 52.5-1.6 12.6-3.7 25.4-10.8 25.5-23.6zm66 7.3c-.3 14.2 14.7 20.3 24.6 23.3 5.6-4.5 10.7-7.9 16.7-10.4-7.2-.8-14.2-2.1-20.8-4-7.8-2.3-14.7-5.2-20.5-8.9zm110 0c-2.8 1.8-5.9 3.4-9.3 4.9 3.1.3 6.2.7 9.1 1.2.4-2 .2-4 .2-6.1zM273 279v13.6c10.9 2.1 20 2.6 30 2.2v-13.9c-10.1.5-20.3-.1-30-1.9zm135 18c-16.5 0-31.3 3.5-41.2 8.4-10 5-13.8 10.6-13.8 14.6s3.8 9.6 13.8 14.6c9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6s-3.8-9.6-13.8-14.6c-9.9-4.9-24.7-8.4-41.2-8.4zm-358.99 2.4c-.29 14.8 15.31 20.7 25.5 23.7 17.9 5.1 41.09 5.1 58.99 0 12.7-3.7 25.4-10.8 25.5-23.7-1.8 1.2-3.7 2.3-5.7 3.3-13.2 6.6-30.4 10.3-49.3 10.3-19.61-1.6-39.88-3.6-54.99-13.6zm205.99.1c-5.8 3.7-12.7 6.6-20.5 8.9-18 5.1-38.6 6-57.5 2.6v13.7c16.8 3.5 36.7 2.9 52.5-1.6 12.6-3.7 25.4-10.8 25.5-23.6zm66 7.3c-.4 10.3 8 16.1 13.8 19.1 0 0 .1.1.2.1v-12.4c-5.2-1.9-9.9-4.2-14-6.8zM49.01 331.5c-.34 14.6 15.52 20.6 25.5 23.6 17.9 5.1 41.09 5.1 58.99 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.29 6.2-68.99 0-7.8-2.3-14.7-5.2-20.5-8.9zM177 343v13.6c4.9 1.1 10.2 1.8 15.7 2.2 2-5.3 5.6-9.9 10.2-13.8-8.7.2-17.5-.5-25.9-2zm87 2c-16.5 0-31.3 3.5-41.2 8.4-10 5-13.8 10.6-13.8 14.6s3.8 9.6 13.8 14.6c9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6s-3.8-9.6-13.8-14.6c-9.9-4.9-24.7-8.4-41.2-8.4zm89 2.4c-.1 14.8 15.2 20.7 25.5 23.7 17.9 5.1 41.1 5.1 59 0 12.7-3.7 25.4-10.8 25.5-23.7-15.8 9.6-39.7 13.5-55 13.6-19.6-1.6-39.9-3.6-55-13.6zM49.01 363.5c-.34 14.6 15.52 20.6 25.5 23.6 17.9 5.1 41.09 5.1 58.99 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.29 6.2-68.99 0-7.8-2.3-14.7-5.2-20.5-8.9zm303.99 16c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.1 41.1 5.1 59 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-144 15.9c-.5 6 2.2 10.9 5.5 13.8 4.2 3.6 11 7.3 20 9.9 17.9 5.1 41.1 5.1 59 0 9-2.6 15.8-6.3 20-9.9 4.2-3.6 5.5-6.7 5.5-9.2v-4.6c-1.8 1.2-3.7 2.3-5.7 3.3-13.2 6.6-30.4 10.3-49.3 10.3s-36.1-3.7-49.3-10.3c-2-1-3.9-2.1-5.7-3.3zm-159.99.1c-.34 14.6 15.52 20.6 25.5 23.6 17.9 5.1 41.09 5.1 58.99 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.29 6.2-68.99 0-7.8-2.3-14.7-5.2-20.5-8.9zm303.99 16c-.2 14.7 15.4 20.6 25.5 23.6 17.9 5.1 41.1 5.1 59 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-303.99 16c-.34 14.6 15.52 20.6 25.5 23.6 17.9 5.1 41.09 5.1 58.99 0 12.6-3.7 25.4-10.8 25.5-23.6-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.29 6.2-68.99 0-7.8-2.3-14.7-5.2-20.5-8.9zm159.99 0c-.4 10.3 8 16.1 13.8 19.1 9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 9.9-6.2 13.8-8.6 13.8-19.1-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm144 16c-.4 10.3 8 16.1 13.8 19.1 9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 9.9-6.2 13.8-8.6 13.8-19.1-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.3 6.2-69 0-7.8-2.3-14.7-5.2-20.5-8.9zm-303.99 16c-.44 10.2 7.88 16.1 13.7 19.1 10 5 24.8 8.4 41.29 8.4 16.5 0 31.3-3.4 41.2-8.4 9.9-6.2 13.8-8.6 13.8-19.1-5.8 3.7-12.7 6.6-20.5 8.9-21.7 6.2-47.29 6.2-68.99 0-7.8-2.3-14.7-5.2-20.5-8.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoinsPile;

impl IconShape for CoinsPile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M431.1 23.53c-9.5 17.34-25.4 23.34-49.6 14.15 17.9 10.24 28.5 24.99 24.6 48.64 12.4-21.29 29.2-24.49 49.4-14.11-18.3-11.28-33.4-24.22-24.4-48.68zM206 45.39c-3.4 27.17-10.8 51.2-46.9 52.1 27.4 3.11 44.3 19.11 46.9 52.21 2.3-26.1 14.6-45.7 46.8-52.21-34.1-4.65-48-23.18-46.8-52.1zM85.7 101.2c-5.5 22-19 32.5-43.2 27.8 20.4 12.6 24.5 30.3 20.4 50.6 9-24.3 24-32.3 43.4-28-24.4-9.4-24.2-29.2-20.6-50.4zm310.4.8c3.6 21.2 3.8 41-20.5 50.4 19.3-4.3 34.3 3.7 43.3 28-4.1-20.2 0-38 20.4-50.6-24.2 4.7-37.7-5.8-43.2-27.8zm-139.4 52c-9.6 0-18.1 2.4-23.7 5.8-5.5 3.4-7.3 6.7-7.3 9.3 0 2.6 1.8 5.9 7.3 9.3 5.6 3.3 14.1 5.7 23.7 5.7 3.9 0 7.7-.4 11.1-1.1 5.5-6.1 12.5-10.2 19.7-12.6.6-4.9-4.7-9.1-7.1-10.6-5.6-3.4-14.1-5.8-23.7-5.8zm-45.1 28.2c-6.2.9-9.1 3.1-10.2 5.4-1.9 12.5 13 22.2 22.1 26.5 8.7 3.9 17.5 5.2 23.9 4.5 6.4-.7 9.4-3.1 10.5-5.4 1.1-2.4.8-6.1-2.6-11.1-12-.2-22.8-3.1-31.5-8.3-4.9-3-9.3-6.9-12.2-11.6zm98.6 2.6c-9.6 0-18.1 2.4-23.7 5.7-5.5 3.4-7.3 6.7-7.3 9.3 0 2.6 1.8 5.9 7.3 9.3 5.6 3.3 14.1 5.7 23.7 5.7s18.1-2.4 23.7-5.7c5.5-3.4 7.3-6.7 7.3-9.3 0-2.6-1.8-5.9-7.3-9.3-5.6-3.3-14.1-5.7-23.7-5.7zm48.8 12.3c5.1 10.4-10.3 23.8-17.6 28.4 1.4.7 3.2 1.3 5.5 1.8 6.4 1.2 15.2.6 24.2-2.7 7.7-2.8 14.1-7 18.4-11.3.4-5.7 1.2-11 4.7-15-10.5-6.9-24.8-5.1-35.2-1.2zm-202-1.5c-9.6 0-18.1 2.4-23.7 5.7 4.6 6.3 5.7 13.2 4.5 20.8 5.2 2.1 11.9 3.5 19.2 3.5 9.6 0 18.1-2.4 23.7-5.7 5.5-3.4 7.3-6.7 7.3-9.3 0-2.6-1.8-5.9-7.3-9.3-5.6-3.3-14.1-5.7-23.7-5.7zm251.1 14.2c-2.7 12.2 11.8 23 20.5 27.7 8.5 4.4 17.1 6.2 23.6 5.9 6.4-.4 9.6-2.5 10.8-4.8 1.2-2.3 1.2-6.1-2.2-11.6-3.4-5.5-9.8-11.6-18.3-16.1-6.5-3.1-28.9-11.1-34.4-1.1zm-302.5-.9c-5.9-.1-13.1 1.2-20.3 4.2-8.8 3.7-15.7 9.2-19.5 14.4-3.8 5.3-4.2 9-3.2 11.4 1 2.4 4 4.8 10.4 5.8 6.3.9 15.1-.2 24-4 8.9-3.7 15.8-9.2 19.6-14.4 3.8-5.3 4.2-9 3.2-11.4-4.3-4.9-8.5-6-14.2-6zm168 13.1c-3.1 5.8-8.3 9.8-14.4 12.1 6.4 3.9 11.5 9.7 13.1 17.2 2.2 10.5-3 20.4-10.7 27.5-7.7 7.2-18.2 12.4-30.5 14.9-12.2 2.6-24 2.1-33.9-1.3-9.9-3.4-18.6-10.4-20.8-20.8-2.2-10.5 2.9-20.4 10.6-27.5 7.1-6.6 16.7-11.6 27.7-14.3-4.4-2-8.4-4.4-12-7.1-2.9 5.2-7.5 9.4-12.8 12.6-9 5.4-20.4 8.3-32.9 8.3-9.9 0-19.1-1.8-27-5.3-6.1 7.9-15.2 14.5-26 19-10.5 4.4-21 6.3-30.6 5.5-3.8 7.5-11.4 12.4-19.6 15-10.1 3.1-21.9 3.2-34 .2-.3-.1-.6-.1-.8-.2V324c2.8-1.5 5.9-2.6 9-3.3 3.4-.8 7-1.2 10.7-1.3v-.2c-2.9-10.3 1.7-20.5 8.9-28.1 7.2-7.6 17.4-13.5 29.5-16.8 11.56-3 23.1-3.7 33.9-.8 10.1 2.8 19.3 9.2 22.1 19.5 2.9 10.3-1.6 20.5-8.9 28.1-7.2 7.6-17.4 13.4-29.5 16.8-1.8.5-3.7.9-5.6 1.3 7.46 8.4 11.8 21.7 9.3 30.2-3.3 10.1-12.7 16.1-22.9 18.5-10.3 2.4-22 1.6-33.9-2.2-8.7-2.8-16.4-6.9-22.6-12.1v113.9h77.2c-4-10.7 3.9-11.4-7.2-16.1-11.6-4.7-21-11.8-27.3-20.2-6.3-8.4-9.5-19.1-5.5-29 4.1-9.8 13.9-15.1 24.3-16.7 10.4-1.5 22.1.1 33.6 4.9 11.6 4.7 21 11.8 27.3 20.2 2.3 3.1 4.2 6.4 5.5 9.9 8.4-.6 16.4.4 23.5 2.8 9.9 3.4 18.6 10.4 20.8 20.8 1.8 8.6-1.3 16.8-6.7 23.4h256.1c-6.3-7.3-10-16.6-7.4-26.2 2.8-10.3 11.9-16.7 22-19.6 10.1-2.9 21.9-2.7 33.9.6 1.7.5 3.3 1 4.9 1.6V342.7c-11 1.8-21.6 1.1-30.6-2-9.9-3.4-18.6-10.4-20.8-20.8-2.2-10.5 2.9-20.4 10.6-27.5 13.2-10.1 25.8-15.4 40.8-16.3V275c-15 .2-35.9-5.5-44.9-13.6-9.3-.2-19.2-2.9-28.9-8-10.7-5.6-19.1-13.1-24.6-21.7-5.3 4-11.5 7.3-18.3 9.8-11.8 4.3-23.5 5.5-33.8 3.5-8.6-1.7-16.7-5.9-21.3-13.1-3.8.6-7.9.9-12 .9-12.5 0-23.9-2.9-32.9-8.3-1.3-.8-2.5-1.6-3.7-2.5zm207 5.9c1.9 11.1.3 19.9-8 26.7 7.8 2.2 14.2 2.9 21.4 2.4v-29.6c-4.5-.3-9.3-.2-13.4.5zM18 229.7v28.9c9.44 3.2 21.18 4.7 30.4 2 3.3-1 5.5-2.2 7-3.6-7.21-5.3-11.24-12.3-11.3-20.7-3.7-2-8-3.7-12.8-4.9-4.6-1.1-9.2-1.7-13.3-1.7zm203.2 17.1c-9.4 2-17.2 6.1-22 10.4-4.7 4.5-5.7 8.1-5.2 10.7.5 2.5 3 5.4 9.1 7.5 6.1 2.1 14.9 2.7 24.3.7s17.2-6.1 22-10.4c4.7-4.5 5.8-8.1 5.3-10.6-.6-2.6-3-5.4-9.1-7.6-8.3-2.4-16.6-2.4-24.4-.7zM81.9 291.6c-9.3 2.6-16.9 7.2-21.3 11.8-4.4 4.8-5.3 8.4-4.6 11 .7 2.5 3.3 5.1 9.6 7 6.1 1.7 15 1.7 24.3-.9 9.2-2.5 16.9-7.1 21.3-11.8 4.4-4.7 5.3-8.4 4.6-10.9-.7-2.5-3.4-5.2-9.6-7-7.91-2-16.83-1.3-24.3.8zm261 .1c6.5.1 12.6 1.1 18.2 3 10 3.5 18.7 10.4 20.9 20.9 1 4.9.4 9.8-1.4 14.3 9.9 3.4 18.3 8.6 24.6 15 7.2 7.6 11.8 17.8 9 28.1-2.8 10.3-11.9 16.8-22 19.6-10.1 2.9-21.8 2.7-33.9-.6-12.1-3.2-22.3-9-29.6-16.6-4.4-4.6-7.9-10.1-9.2-16.1-4.4-.4-8.7-1.3-12.6-2.7-9.9-3.4-18.6-10.3-20.8-20.8-2.2-10.5 3-20.3 10.7-27.5 7.6-7.1 18.2-12.3 30.4-14.9 5.4-1.1 10.6-1.7 15.7-1.7zm151.1 2.4c-2.2.2-4.4.5-6.6 1-9.4 2-17.2 6.1-22 10.4-4.7 4.5-5.7 8.1-5.2 10.7.5 2.5 3 5.4 9 7.5 6.2 2.1 15 2.7 24.4.7.1 0 .3-.1.4-.1zM330.9 311c-9.3 2-17.2 6.1-22 10.5-4.6 4.4-5.7 8-5.2 10.6.5 2.5 3 5.4 9.1 7.6 6.1 2.1 14.9 2.7 24.3.7s17.3-6.1 22-10.5c4.7-4.5 5.8-8.1 5.3-10.6-.6-2.5-3-5.4-9.1-7.6-8.3-2.4-16.6-2.4-24.4-.7zm-133.4 5.7c12.2 2.6 22.7 7.9 30.4 15.1 7.6 7.2 12.8 17.1 10.5 27.5-2.3 10.5-11 17.4-21 20.8-9.9 3.3-21.7 3.8-33.9 1.1-12.2-2.6-22.7-7.9-30.4-15-7.6-7.2-12.8-17.1-10.5-27.6 2.3-10.5 11-17.4 21-20.7 11.5-3.6 23-3.4 33.9-1.2zm-28.2 18.2c-6.1 2.1-8.6 5-9.1 7.5-.6 2.6.5 6.2 5.2 10.6 4.7 4.5 12.5 8.6 21.9 10.6 9.4 2.1 18.2 1.5 24.4-.5 6.1-2.2 8.5-5 9.1-7.6.5-2.5-.5-6.1-5.2-10.6-4.8-4.4-12.6-8.6-21.9-10.6-8-1.5-16.7-1.8-24.4.6zM32 338.2c-6.2 1.5-9 4.1-9.8 6.6-.8 2.5-.1 6.1 4.1 11.1 4.3 4.8 11.7 9.7 20.8 12.7 9.2 2.9 18 3.3 24.3 1.8 6.3-1.5 9-4.1 9.8-6.6.8-2.4.1-6.1-4.1-11.1-4.3-4.8-11.6-9.7-20.8-12.7-8.27-2.3-16.36-3.4-24.3-1.8zm336.9 7c-10.3 6.9-20.1 11.5-30.6 13.3 5.3 8.5 16.8 14 24.7 16.2 9.3 2.5 18.1 2.4 24.4.7 6.2-1.9 8.8-4.6 9.5-7.1.6-2.5-.2-6.2-4.7-10.9-7.7-6.2-15.2-10.4-23.3-12.2zm-53.7 34.9c9.9 3.4 18.6 10.3 20.8 20.8 2.2 10.5-3 20.4-10.7 27.5-7.6 7.1-18.2 12.3-30.4 14.9-12.3 2.6-24 2.1-33.9-1.3-10-3.5-18.7-10.4-20.9-20.9-2.2-10.4 3-20.3 10.7-27.5 7.7-7.1 18.2-12.3 30.4-14.9 11.1-2.3 23.6-2.2 34 1.4zM285 396.3c-9.4 2-17.3 6.1-22 10.5-4.7 4.5-5.8 8.1-5.3 10.6.6 2.6 3 5.4 9.1 7.6 6.1 2.1 15 2.7 24.4.7 9.3-2 17.2-6.1 22-10.5 4.6-4.4 5.7-8 5.2-10.6-.5-2.5-3-5.4-9.1-7.6-8.1-2.3-16.3-2.3-24.3-.7zm-201.8 27c-6.4 1-9.3 3.4-10.3 5.8s-.6 6.1 3.2 11.4c3.9 5.2 10.9 10.6 19.7 14.3 9 3.6 17.7 4.6 24.2 3.7 6.3-1 9.3-3.4 10.3-5.8.9-2.4.5-6.1-3.3-11.4-3.9-5.2-10.8-10.6-19.7-14.3-8.15-2.8-16.13-4.7-24.1-3.7zm387.9 34.5c-6.5.1-18.5 1-20.5 8.2-.1 12.5 16 19.8 25.6 22.5H494v-25.3c-7.3-3.4-15.2-5.2-22.9-5.4zm-323.8.8c-4.3 9.9-16.3 16.3-24.7 17.7-3 .4-6.1.6-9.3.5-1.9 6.1 5.6 10.3 9.7 11.7h25.2c8.6-2 15.7-6 20.1-10 4.7-4.5 5.9-8.1 5.3-10.6-.5-2.6-3-5.4-9.1-7.6-6.2-1.6-11.4-2.4-17.2-1.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coliseum;

impl IconShape for Coliseum {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.39 77.82c-49.333 15.867-93.323 45.849-114.356 85.986 13.498-.909 10.582 14.516 10.582 29.947H35.133c.299 20.005 4.471 22.494 4.471 22.494 8.813 0 8.813 16 8.813 32H31.576L21 410.247c0 2.752 3.504 5.265 9.857 7.543.22-25.637 1.467-47.543 8.747-47.543 7.706 0 8.674 24.472 8.795 52.014 6.795 1.305 14.716 2.501 23.544 3.593.173-27.374 1.5-51.607 11.724-51.607 10.528 0 11.617 25.708 11.73 54.07 9.233.829 19.047 1.576 29.416 2.23.127-28.453 1.37-54.3 13.687-54.3 12.527 0 13.596 26.746 13.69 55.772 8.306.378 16.815.712 25.5.994.132-28.636 1.492-54.766 15.643-54.766 14.282 0 17.254 8 17.365 36.943 27.602 20.197 24.014 14.35 27.7 18.983.115-29.085 1.467-55.926 17.602-55.926 16.136 0 17.487 26.846 17.602 55.934 9.875-.068 19.698-.194 29.419-.375.112-28.944 1.364-55.559 15.646-55.559 14.15 0 15.51 26.127 15.643 54.76a1988.66 1988.66 0 0 0 20.588-.764l-34.499-77.27-30.497-2.595-24.543-113.03-35.274 2.962-13.024-52.692-15.948-2.326zm-13.691 45.933c13.708 0 13.708 16 13.708 32l-27.416 8c0-16 0-40 13.708-40zm-54.833 16c11.75 0 11.75 16 11.75 32l-23.5 4c0-16 0-36 11.75-36zm109.467 60.494c15.667 0 15.667 16 15.667 32l-31.333 2c0-16 0-34 15.666-34zm-54.833 4c13.708 0 13.708 16 13.708 32l-27.416 2c0-16 0-34 13.708-34zm-54.833 6c11.75 0 11.75 16 11.75 32l-23.5 4c0-16 0-36 11.75-36zm199.323 27.147l20.012 92.175c0-23.77.146-47.322 15.665-47.322 15.666 0 15.666 24 15.666 48-1.437 5.715-1.537 6.167-2.18 7.664l28.683 64.244c1.412-15.195 4.743-25.908 12.664-25.908 12.316 0 13.56 25.846 13.687 54.299 9.64-.609 18.791-1.3 27.457-2.059.11-28.43 1.182-54.24 11.731-54.24 10.253 0 11.559 24.37 11.725 51.84 10.484-1.26 19.768-2.66 27.463-4.211.129-27.382 1.122-51.629 8.791-51.629 7.21 0 8.501 21.485 8.74 46.797 5.109-2.078 7.906-4.342 7.906-6.797l-9.013-138.066c-10.884-10.001-26.092-16.875-44.141-21.692l-19.893 14.002-30.259-2.808-20.7-21.143c-27.077-1.717-55.883-2.184-84.004-3.146zm-89.657 44.853c15.667 0 15.667 24 15.667 48h-31.333c0-24 0-48 15.666-48zm62.667 0c17.625 0 17.625 24 17.625 48h-35.25c0-24 0-48 17.625-48zm-117.5 2c13.708 0 13.708 24 13.708 48h-27.416c0-24 0-48 13.708-48zm235 0c13.708 0 13.708 24 13.708 48h-27.416c0-24 0-48 13.708-48zm-289.833 2c11.75 0 11.75 22 11.75 46l-23.5 2c0-24 0-48 11.75-48zm342.708 0c11.75 0 11.75 24 11.75 48l-23.5-2c0-24 0-46 11.75-46zm-382.77 2c8.812 0 8.812 22 8.812 46l-17.625 2c0-24 0-48 8.812-48zm426.75 0c8.812 0 8.812 24 8.812 48l-17.625-2c0-24 0-46 8.812-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Colombia;

impl IconShape for Colombia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.285 18.627l16.062 11.568c-61.797 55.453-66.367 51.932-35.505 133.25l140.122 32.45c-15.192 70.066-3.262 87.445 13.239 129.328l-74.323.29c1.584 53.786 13.364 101.907-6.953 167.86l-24.831-8.94 6.952-46.682-70.35 6.09c-51.27-68.647-121.674-90.653-186.9-125.28 29.958-14.76 57.869-31.287 67.54-63.568L126.466 143.75c41.01-47.538 75.07-92.922 173.819-125.123z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ColombianStatue;

impl IconShape for ColombianStatue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-62.125 0-111.195 19.114-145.31 57.02C77.922 118.427 58.765 173.19 57.286 247h53.91c.117-9.742.472-20.34 1.42-31.37-.22-.238-.444-.467-.66-.714-7.73-8.838-10.903-21.857-8.908-39.705.84-10.634 6.332-19.899 14.892-23.652 3.153-1.383 6.422-2.13 9.801-2.399a154.227 154.227 0 0 1 4.21-9.185 126.923 126.923 0 0 1 3.048-5.707V103h25.105C181.958 83.704 213.081 71 256 71s74.042 12.704 95.895 32H377v31.268a126.923 126.923 0 0 1 3.049 5.707 154.227 154.227 0 0 1 4.209 9.185c3.379.27 6.648 1.016 9.8 2.399 8.56 3.753 14.054 13.018 14.893 23.652 1.995 17.848-1.178 30.867-8.908 39.705-.216.247-.44.476-.66.715.948 11.029 1.303 21.627 1.42 31.369h53.91c-1.479-73.81-20.636-128.573-53.402-164.98C367.195 44.114 318.125 25 256 25zm-103 96v14h206v-14H153zm0 32v62h14v-24.896c-.358-1.28-.005-2.142 0-2.633V153h-14zm32 0v7.38c3.425-3 7.44-5.664 12.074-7.38H185zm32.871 0c1.893.826 3.627 1.888 5.113 3.174 3.838 3.321 5.9 7.543 7.13 11.437 1.34 4.25 1.884 8.396 2.2 11.944l.223-.33 5.027-7.463 14.928 10.056-5.03 7.463-11.232 16.672C241.815 209.145 248.817 211 256 211s14.185-1.855 19.77-5.047l-11.233-16.672-5.03-7.463 14.929-10.056 5.027 7.463.223.33c.316-3.548.86-7.693 2.2-11.944 1.23-3.894 3.292-8.116 7.13-11.437 1.486-1.286 3.22-2.348 5.113-3.174H217.87zm97.055 0c4.634 1.716 8.649 4.38 12.074 7.38V153h-12.074zM345 153v34.47c.005.492.358 1.353 0 2.634V215h14v-62h-14zm-213.695 14.203c-2.818-.048-4.907.299-6.137.838-2.46 1.078-3.699 2.077-4.195 8.639l-.012.17-.02.17c-1.738 15.228.614 21.534 4.563 26.048 2.108 2.41 5.409 4.558 9.496 6.727v-42.287c-1.307-.15-2.601-.286-3.695-.305zm249.39 0c-1.094.019-2.388.156-3.695.305v42.287c4.087-2.17 7.388-4.316 9.496-6.727 3.949-4.514 6.3-10.82 4.563-26.048l-.02-.17-.012-.17c-.496-6.562-1.736-7.56-4.195-8.639-1.23-.54-3.319-.886-6.137-.838zm-172.658 1.795c-5.602.023-11.098 4.21-15.598 9.629l21.48.223c-.247-2.165-.49-4.3-.97-5.823-.596-1.89-1.28-2.844-1.742-3.244-.462-.4-.86-.794-3.17-.785zm95.926 0c-2.31-.01-2.708.385-3.17.785-.462.4-1.146 1.354-1.742 3.244-.48 1.522-.723 3.658-.97 5.823l21.48-.223c-4.5-5.42-9.996-9.606-15.598-9.629zM185 196.548V233h-30l42.4 31.8c34.664 25.998 86.703 22.873 117.2 0L357 233h-30v-36.451l-35.617.369 8.222 12.203-5.242 5.242C284.243 224.484 270 229 256 229s-28.242-4.516-38.363-14.637l-5.242-5.242 8.222-12.205-35.617-.367zm7 40.454h128v17.996H192v-17.996zm-57.977 2.766l-12.949 64.752 5.873 70.482H247.002v-35.275l-8.78-8.778-28.097 14.049h-43.123v-60.725l11.297-11.298-44.276-33.207zm243.954 0L333.7 272.975l11.297 11.298v60.725h-43.123l-28.098-14.049-8.779 8.778v35.275h120.055l5.873-70.482-12.95-64.752zm-59.05 43.884c-35.576 22.626-86.937 25.006-125.874.022l-8.055 8.053v35.275h20.877l35.902-17.951L256 323.275l14.223-14.224 35.902 17.951h20.877v-35.275l-8.074-8.075zm-190.48 109.346l7.834 94.004h78.72v-52.275l-27.817-41.729h-58.737zm80.367 0l20.002 30.004h54.368l20.002-30.004H208.814zm116.002 0l-27.818 41.729v52.275h78.72l7.835-94.004h-58.737zm-91.818 48v46.004h46.004v-46.004h-46.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ColumnVase;

impl IconShape for ColumnVase {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 25v30h112.5l10-30H201zm-9 48c-13 0-27.1 6.78-37.6 17.36C143.8 100.9 137 115 137 128c0 30.5 7.5 51.4 15.4 71.7 7 17.9 14.5 35.6 16.2 57.3h174.8c1.7-21.7 9.2-39.4 16.2-57.3 7.9-20.3 15.4-41.2 15.4-71.7 0-13-6.8-27.1-17.4-37.64C347.1 79.78 333 73 320 73H192zm-71.6 7c-14.1.18-26.1 4.67-35.16 12.22C70.75 104.3 64 122.9 64 141.1c0 18.3 6.75 36.8 21.24 48.9 11.79 9.8 28.56 14.5 48.36 11.2-2-5.4-4.1-11.1-6-17.2-13.8 1.8-23.6-1.8-30.84-7.8C87.25 168.3 82 154.9 82 141.1c0-13.7 5.25-27.1 14.76-35.1 7.04-5.8 16.54-9.35 29.84-7.88 3-5.84 6.8-11.32 11.1-16.29-6.1-1.31-11.9-1.9-17.3-1.83zM137 275.5v16.8c84.3 17.9 157.1 14 238 .4v-17.2H137zm-20.6 32.8c-15.3.1-30.89 5.7-42.7 12.2C28.8 345.4 9 403.9 34.6 449.3c21.6 38.4 71.8 55.3 110.5 32.9 32-18.4 46.1-60.8 26.9-93.2-5.9-10-14.4-18.6-24.8-22.8-9.3-3.8-18.5-5.8-26.8-6-8.6-.3-17.2 2.5-25 7.3-20.6 12.6-29.5 40.6-16.4 61.2 9.8 15.5 31.2 22.2 46.6 11.9 10.8-7.3 15.4-22.7 7.8-33.2-4.8-6.6-14.7-9.4-20.8-4.5-1.5 1.2-2.9 3.5-3.2 5.5-.1 6.9 9.1 11.5 15.4 16.2-3.6 5-10 6.9-14.9 6.4-4.9-.4-9.1-2.5-12.4-6-5.4-5.5-6.9-13.2-5.8-19.7 1.1-6.5 4.5-12.3 9.6-16.4 15.2-12.3 36.4-6.2 46.7 8 14.1 19.6 6.2 46.1-12.4 58.6-24.5 16.5-56.9 6.3-71.8-17.1-18.9-29.8-6.5-68.7 22.2-86.2 9.4-6.1 19.3-9.5 30.6-10.3 21.6-1.5 43.9 9.3 65.9 18.2 22.6 9.1 45.1 18.3 64.5 20.9h18c19.4-2.6 41.9-11.8 64.5-20.9 22-8.9 44.3-19.3 65.9-18.2 10.8.6 22 5.1 30.6 10.3 28.7 17.5 41.1 56.4 22.2 86.2-14.9 23.4-47.3 33.6-71.8 17.1-18.6-12.5-26.5-39-12.4-58.6 10.3-14.2 31.5-20.3 46.7-8 5.1 4.1 8.5 9.9 9.6 16.4 1.1 6.5-.4 14.2-5.8 19.7-3.3 3.5-7.5 5.6-12.4 6-4.9.5-11.3-1.4-14.9-6.4 4.5-2.9 16.1-12.1 15.4-16.2-.4-2-1.7-4.3-3.2-5.5-6.1-4.9-16-2.1-20.8 4.5-7.6 10.5-3 25.9 7.8 33.2 15.4 10.3 36.8 3.6 46.6-11.9 13.1-20.6 4.2-48.6-16.4-61.2-7.8-4.8-16.4-7.6-25-7.3-8.3.2-17.5 2.2-26.8 6-10.4 4.2-18.9 12.8-24.8 22.8-19.2 32.4-5.1 74.8 26.9 93.2 38.7 22.4 88.9 5.5 110.5-32.9 25.6-45.4 5.8-103.9-39.1-128.8-17.3-9.6-30.3-13.4-49.2-11.7-37.4 3.3-69.4 13.7-124.1 14.5h-18c-54.8-.9-84.7-10.7-124-14.7-2.2-.2-4.4-.3-6.6-.3zm72.3 73.7c9 16.3 11.7 34.3 9.1 51.5h116.4c-2.6-17.2.1-35.2 9.1-51.5-19.2 7.7-38.8 15.2-58.3 17.2h-18c-19.5-2-39.1-9.5-58.3-17.2zm4.4 69.5c-3.4 9.1-8.2 17.6-14.4 25.2l5.6 17.3h142.6l5.6-18.3c-5.8-7.4-10.4-15.5-13.6-24.2H193.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CommercialAirplane;

impl IconShape for CommercialAirplane {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468 26.25c-.8-.02-1.7-.02-2.6.02v-.01c-7.2.28-16.2 2.74-25.5 6.7-18.4 7.91-37.7 21.75-48 31.99L137.4 340.8l10.5 10.5 38.9-38.8 12.8 12.8-38.8 38.9 10.5 10.5 275.8-254.6c10.2-10.3 24.1-29.61 32-48.05 3.9-9.23 6.4-18.25 6.7-25.44.2-7.19-1.3-12.01-4.9-15.55-3.1-3.09-7.1-4.66-12.9-4.81zM167.7 53.16l-14.9 16.47 43 14.36 1.4-1.23c0-.61-.3-1.79-1.1-3.55-1.9-3.97-6-9.47-10.7-14.21-4.7-4.73-10.2-8.81-14.2-10.7-1.7-.83-2.9-1.04-3.5-1.14zm240.4 5.48l34 11.31 11.3 33.95-11.3 11.3-45.3-45.25 11.3-11.31zM90.3 67.77c-8.08.35-17.37 4.63-27.48 12.21C55.09 85.78 47 93.45 38.8 101.5l201.8 100.8 59.6-64.6L90.3 67.77zm143.4 9.85l-13.2 14.6 42.6 14.18c-.1-.6-.4-1.5-1-2.7-1.8-3.99-5.9-9.49-10.7-14.23-4.7-4.73-10.2-8.81-14.2-10.7-1.7-.83-2.9-1.05-3.5-1.15zM374.3 211.8l-64.7 59.7 100.9 201.8c8.1-8.2 15.8-16.4 21.6-24.1 7.5-10.1 11.8-19.4 12.2-27.4l-70-210zm31.3 37.1l14.2 42.6 14.6-13.2c0-.6-.3-1.7-1.1-3.5-1.9-4-6-9.5-10.7-14.2-4.8-4.7-10.3-8.8-14.3-10.7-1.1-.5-2-.8-2.7-1zm23.7 65.9l-1.3 1.4 14.4 43 16.4-14.8c0-.6-.3-1.8-1.1-3.5-1.9-4-6-9.5-10.7-14.3-4.7-4.7-10.2-8.8-14.2-10.7-1.7-.8-2.9-1.1-3.5-1.1zM71.69 340l-22.77 22.7 60.28 40.2 40.1 60.2 22.8-22.8-9.8-49.2-14.3-14.2-27.6 27.6-12.8-12.8 27.6-27.6-14.3-14.3-49.21-9.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CompactDisc;

impl IconShape for CompactDisc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336.77 30.56A240 240 0 0 0 137.145 48 240 240 0 0 0 20.162 298.94l142.405-25.665c-6.87-38.47 10.598-78.89 46.42-99.323 25.063-14.296 53.977-15.877 79.228-6.808L336.77 30.56zm52.936 26.914l-80.56 120.245c11.773 7.904 21.943 18.56 29.43 31.683 25.942 45.482 10.03 103.645-35.452 129.588-43.752 24.957-99.236 11.178-126.487-30.395L55.644 388a240 240 0 0 0 319.322 76.943 240 240 0 0 0 89.56-327.382 240 240 0 0 0-74.82-80.086zM290.19 187.387c-22.148-10.942-49.142-11-72.286 2.2-30.09 17.163-44.195 51.33-37.098 83.402 1.637 7.4 4.404 14.687 8.364 21.63 21.123 37.033 68.003 49.86 105.035 28.737s49.858-68.003 28.736-105.035c-7.92-13.887-19.463-24.37-32.75-30.935zm-15.607 33.635a40 40 0 0 1 16.218 15.632 40 40 0 0 1-14.927 54.563 40 40 0 0 1-54.56-14.927 40 40 0 0 1-4.31-11.153 40 40 0 0 1 19.232-43.41 40 40 0 0 1 38.348-.705zm-109.206 63.764L27.33 327.966a240 240 0 0 0 13.3 34.151L170.765 298.3c-2.17-4.418-3.96-8.937-5.388-13.514z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CompanionCube;

impl IconShape for CompanionCube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v142h62.432c1.901-22.183 10.369-41.386 24.302-55.355C125.66 97.685 144.82 89.192 167 87.385V25H25zm192 0v46h78V25h-78zm128 0v62.432c22.183 1.901 41.386 10.369 55.355 24.302 13.96 13.925 22.453 33.086 24.26 55.266H487V25H345zM185 57v48h-9c-22 0-39.37 7.173-51.521 19.355-12.152 12.183-19.348 29.668-19.479 51.698l-.053 8.947H57v14h32v48h62.39c4.33-50.72 44.89-91.28 95.61-95.61V89h-48V57h-14zm128 0v32h-48v62.39c50.72 4.33 91.28 44.89 95.61 95.61H407v-48h48v-14h-48v-9c0-22-7.173-39.37-19.355-51.521-12.183-12.152-29.668-19.348-51.698-19.479l-8.947-.053V57h-14zm-57 112c-48.155 0-87 38.845-87 87s38.845 87 87 87 87-38.845 87-87-38.845-87-87-87zm-34.799 41.043c13.685-.168 29.758 9.24 34.799 24.363 5.041-15.124 21.114-24.53 34.799-24.363 18.492.227 28.641 20.276 28.535 31.314-.542 17.05-12.307 28.577-26.941 41.327C279.663 293.774 256 320.83 256 320.83s-23.663-27.056-36.393-38.146c-14.634-12.75-26.4-24.278-26.941-41.327-.106-11.038 10.043-31.087 28.535-31.314zM25 217v78h46v-78H25zm400 0v78h46v-78h-46zM89 265v48H57v14h48v9c0 22 7.173 39.37 19.355 51.521 12.183 12.152 29.668 19.348 51.698 19.479l8.947.053V455h14v-32h48v-62.39c-50.72-4.33-91.28-44.89-95.61-95.61H89zm271.61 0c-4.33 50.72-44.89 91.28-95.61 95.61V423h48v32h14v-48h9c22 0 39.37-7.173 51.521-19.355 12.152-12.183 19.348-29.668 19.479-51.698l.053-8.947H455v-14h-48v-48h-46.39zM25 345v142h142v-62.432c-22.183-1.901-41.386-10.369-55.355-24.302C97.685 386.34 89.192 367.18 87.385 345H25zm399.568 0c-1.901 22.183-10.369 41.386-24.302 55.355-13.925 13.96-33.086 22.453-55.266 24.26V487h142V345h-62.432zM217 441v46h78v-46h-78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ComputerFan;

impl IconShape for ComputerFan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.688C126.7 21.688 21.687 126.698 21.687 256 21.688 385.3 126.7 490.313 256 490.313c129.3 0 234.313-105.012 234.313-234.313C490.313 126.7 385.3 21.687 256 21.687zm-201.47 9A22.53 22.53 0 0 0 32 53.218 22.53 22.53 0 0 0 54.53 75.75a22.53 22.53 0 0 0 22.532-22.53 22.53 22.53 0 0 0-22.53-22.532zm404.25 0a22.53 22.53 0 0 0-22.53 22.53 22.53 22.53 0 0 0 22.53 22.532 22.53 22.53 0 0 0 22.533-22.53 22.53 22.53 0 0 0-22.532-22.532zm-202.78 9c119.573 0 216.313 96.74 216.313 216.312 0 119.573-96.74 216.313-216.313 216.313S39.687 375.572 39.687 256 136.428 39.687 256 39.687zm43.684 22.433c-.485-.01-.955-.008-1.41.003-6.047.15-9.43 2.236-8.545 6.738 10.475 42.195 11.75 85.79-5.087 124.314 12.714 5.83 23.38 15.397 30.556 27.297 28.976-24.022 58.114-55.318 76.618-79.786 26.14-34.564-61.598-77.91-92.134-78.563zm-98.278 4.392c-40.03-.548-110.755 59.8-90.63 66.685 41.8 12.03 80.21 32.736 105.154 66.608 11.014-7.883 24.416-12.613 38.882-12.86-6.316-37.106-18.853-77.99-30.79-106.25-4.202-9.947-12.412-14.044-22.616-14.183zM438.22 190.227c-1.095.02-2.198.483-3.298 1.443-31.292 30.16-68.396 53.055-110.16 57.748.206 2.168.322 4.36.322 6.582 0 12.156-3.18 23.588-8.732 33.53 35.294 13.084 76.97 22.67 107.416 26.462 49.867 6.21 33.393-126.102 14.453-125.765zm-353.636 5.58c-48.158.507-27.205 141.674-7.564 124.533 31.307-30.175 68.43-53.08 110.218-57.756-.207-2.17-.322-4.363-.322-6.584 0-12.144 3.174-23.567 8.717-33.502-35.305-13.093-77.003-22.687-107.46-26.48-1.238-.154-2.433-.224-3.59-.21zM256 204.917c-11.406 0-21.907 3.696-30.387 9.958 1.986 3.567 3.84 7.256 5.55 11.074 6.763-5.608 15.427-8.99 24.837-8.99.844 0 1.68.035 2.51.09-.264-3.93-.632-7.967-1.108-12.1-.467-.01-.932-.034-1.402-.034zm20.42 4.22c-2.088 3.49-4.345 6.925-6.785 10.302 9.298 3.5 16.938 10.46 21.336 19.29 3.297-2.21 6.634-4.567 10-7.066-5.402-10.007-14.048-17.97-24.55-22.527zm-63.98 20.088c-4.77 7.775-7.524 16.938-7.524 26.775 0 1.94.116 3.85.324 5.73 4.05.066 8.14.303 12.268.727-.355-2.103-.55-4.258-.55-6.457 0-7.987 2.44-15.436 6.606-21.643-3.563-1.75-7.273-3.464-11.123-5.132zM256 234.96c-11.728 0-21.04 9.312-21.04 21.04s9.312 21.04 21.04 21.04 21.04-9.312 21.04-21.04-9.312-21.04-21.04-21.04zm38.494 14.6c.353 2.098.547 4.247.547 6.44 0 8-2.446 15.46-6.624 21.672 3.564 1.75 7.275 3.465 11.125 5.133 4.785-7.782 7.544-16.955 7.544-26.805 0-1.935-.115-3.84-.322-5.72-4.05-.062-8.14-.297-12.268-.72zm-73.478 23.686c-3.297 2.21-6.633 4.567-10 7.065 5.394 10.005 14.03 17.97 24.52 22.534 2.09-3.488 4.346-6.925 6.786-10.3-9.287-3.51-16.918-10.472-21.306-19.298zm59.773 12.846c-6.758 5.583-15.403 8.95-24.79 8.95-.865 0-1.72-.04-2.572-.097.264 3.93.632 7.968 1.107 12.102.488.013.974.037 1.465.037 11.385 0 21.867-3.684 30.338-9.924-1.986-3.565-3.84-7.252-5.55-11.068zm-84.005 5.408c-28.992 24.028-58.15 55.347-76.664 79.828-32.065 42.4 107.234 98.014 102.09 71.82-10.48-42.204-11.75-85.81 5.1-124.343-12.704-5.837-23.356-15.407-30.525-27.305zm99.242 20.727c-11.02 7.875-24.43 12.594-38.902 12.828 6.316 37.11 18.854 77.997 30.793 106.26 20.686 48.97 138.5-43.86 113.242-52.5-41.79-12.027-80.187-32.73-105.133-66.588zM52.803 436.25a22.53 22.53 0 0 0-22.532 22.53 22.53 22.53 0 0 0 22.533 22.533 22.53 22.53 0 0 0 22.53-22.532 22.53 22.53 0 0 0-22.53-22.53zm406.156 0a22.53 22.53 0 0 0-22.532 22.53 22.53 22.53 0 0 0 22.53 22.533 22.53 22.53 0 0 0 22.532-22.532 22.53 22.53 0 0 0-22.53-22.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConcreteBag;

impl IconShape for ConcreteBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M172.416 41.021c-39.47.351-78.748 5.972-114.732 14.827 10.094 15.264 27.17 26.95 46.898 34.865 23.65 9.488 50.72 13.333 70.959 12.299 20.826-1.065 47.765-9.524 68.764-21.008 10.5-5.742 19.542-12.245 25.652-18.5 3.24-3.317 5.517-6.486 6.99-9.316-30.874-8.778-63.696-12.865-96.635-13.167a438.026 438.026 0 0 0-7.896 0zm111.541 33.877c-.372.396-.743.793-1.125 1.184-7.888 8.075-18.231 15.34-29.889 21.715-23.314 12.75-51.772 21.928-76.484 23.191-23.227 1.188-52.158-2.967-78.58-13.568-18.094-7.26-35.189-17.651-47.762-31.873C33.802 206.86 19.325 353.169 39.992 473.012c19.598 6.163 40.992 10.825 63.008 13.95V423h64v-64h109.957c-.024-3.013.152-6.295.486-9.97.96-10.546 3.217-24.018 6.338-39.007 5.408-25.967 13.412-56.318 21.948-82.152-4.95-49.133-12.133-100.876-21.772-152.973zm152.682.59c-.909.002-1.93.107-2.87.137l-56.949 71.28c7.692 2.471 14.598 7.387 19.639 14.052l55.268-66.045c.901-2.06.935-7.813-2.174-12.293-2.433-3.505-5.967-6.446-12.051-7.092-.27-.028-.56-.04-.863-.039zm-69.506 87.742a31.857 31.857 0 0 0-4.278 6.745c-3.85 8.26-4.52 17.07-3.816 24.61l.022.224 3.507 24.408a201.33 201.33 0 0 0-5.46.586c-11.149 1.362-23.392 3.885-31.805 6.601-9.124 26.31-18.124 59.552-23.9 87.29-3.034 14.562-5.182 27.607-6.034 36.966-.268 2.945-.188 4.657-.203 6.729 2.338-1.204 5.048-2.731 8.326-4.871 9.674-6.317 22.502-16.22 36.13-27.565 25.535-21.259 53.706-47.399 71.997-65.816-2.982-7.624-8.213-16.243-13.951-23.516-6.682-8.469-14.49-15.144-16.53-16.408-.057.008-.262-.026-.392-.04l-3.783-26.323c-.448-4.91.237-11.044 2.207-15.27.975-2.092 2.012-3.727 3.46-4.951-3.847-5.382-9.725-8.894-15.497-9.399zM377 313v46h110v-46H377zm-192 64v46h110v-46H185zm128 0v46h110v-46H313zm128 0v46h46v-46h-46zm-320 64v46h110v-46H121zm128 0v46h110v-46H249zm128 0v46h110v-46H377z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Confirmed;

impl IconShape for Confirmed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16C123.5 16 16 123.5 16 256c0 132.6 107.5 240 240 240 132.6 0 240-107.4 240-240S388.6 16 256 16zm0 60c99.4 0 180 80.6 180 180s-80.6 180-180 180S76 355.4 76 256 156.6 76 256 76zm91.3 64.2c-6.5 0-12.5 2.4-16.8 8.2-52 70.1-69 96.5-106 169.8-8.4-11.1-65.6-72.4-93.9-94.1-14.2-10.9-41.3 27.2-31.6 37.1C142.6 306.1 220.1 406 232.7 405c21.4-1.7 75.1-136.8 148.8-233.7 8-10.4-15-31.3-34.2-31.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Confrontation;

impl IconShape for Confrontation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v29.75l36.09 31.578c13.506-3.722 27.044-6.596 40.193-8.146L47.75 18zm89.25 0l34.172 54.676c19.488 4.303 38.114 12.753 55.457 25.668L166.75 18zm120.656 0l28.092 129.424S278.068 45.746 284.092 18zm117.344 0l-30.13 80.344c17.344-12.915 35.97-21.365 55.458-25.668L404.75 18zm119 0l-46.533 53.182c13.15 1.55 26.687 4.424 40.193 8.146L494 47.75V18zM118.736 88.04c-1.488-.026-2.997-.025-4.525.003-28.57.524-63.666 10.44-96.21 22.7v143.114c2.86-7.516 7.632-14.432 13.44-20.22 7.7-7.675 17.647-13.693 28.706-14.117.79-.03 1.586-.032 2.387-.004.8.028 1.607.086 2.418.175 7.908.875 13.682 5.74 18.136 10.994 4.454 5.252 7.902 11.385 10.74 17.312 5.676 11.853 8.844 23.21 8.844 23.21l-17.326 4.878s-2.89-10.16-7.754-20.315c-2.432-5.078-5.373-10.072-8.233-13.444-2.86-3.372-5.325-4.627-6.382-4.744-5.24-.58-12.662 2.66-18.83 8.805-6.165 6.145-10.49 14.778-10.98 20.923-1.776 22.332 7.533 36.257 18.413 45.745 5.44 4.743 11.306 8.183 16.06 10.357 2.375 1.087 4.48 1.858 6.012 2.32 1.534.462 2.868.52 1.875.512l-.146 18c-2.76-.022-4.48-.542-6.92-1.277-2.44-.736-5.233-1.78-8.308-3.186-6.148-2.81-13.41-7.06-20.402-13.16-8.955-7.808-17.41-18.972-21.75-33.386V427.39c24.102 26.71 51.126 51.064 81.078 61.965 12.463 4.536 28.87 3.676 40.942-2.03.215-.717.515-2.225.86-4.427.74-4.75 2.008-13.206 9.718-18.332 6.447-4.286 12.678-4.82 15.756-5.78-3.493-7.43-10.868-26.54-6.184-48.735 3.417-16.19 15.896-29.056 30.18-35.605 7.14-3.274 14.995-4.98 22.87-3.648 3.937.667 7.822 2.23 11.307 4.615 3.25-4.3 6.502-8.302 8.506-11.1l3.62-5.054 4.005 1.594c4.42 1.172 6.194 1.58 6.215 1.703.18-.15.412-.382.828-.793.182-.354 2.685-9.4.513-20.692-2.187-11.373-5.665-25.125-15.215-37.41-5.235.462-10.274.937-14.357 1.643-5.597.966-9.288 2.814-9.607 3.125l-12.566-12.887c3.454-3.367 7.37-5.176 11.527-6.354-5.143-1.766-10.087-2.734-15.598-2.49l-.792-17.983c15.547-.686 27.433 5.062 39.65 10.902-7.522-7.768-13.75-15.06-19.606-20.476-7.838-7.25-14.08-10.976-23.085-10.95-1.806.007-4.95 2.097-9.334 6.88-4.386 4.784-8.75 11.637-17.673 14.957l-6.278-16.87c1.232-.46 5.672-4.788 10.68-10.25 5.006-5.463 11.842-12.683 22.548-12.716 14.558-.043 26.002 7.077 35.36 15.732 5.22 4.825 10.085 10.18 15.134 15.62 5.293-23.545 9.614-46.54 8.076-69.415-31.038-64.935-71.1-95.532-115.53-103.06-4.063-.613-8.346-.945-12.812-1.026zm274.528 0c-4.466.082-8.75.414-12.813 1.026-44.428 7.53-84.49 38.126-115.528 103.06-1.538 22.876 2.783 45.87 8.076 69.417 5.05-5.44 9.915-10.796 15.133-15.62 9.36-8.656 20.804-15.776 35.362-15.732 10.706.034 17.542 7.254 22.55 12.716 5.006 5.463 9.446 9.79 10.68 10.25l-6.28 16.87c-8.92-3.32-13.286-10.172-17.67-14.956-4.385-4.783-7.53-6.873-9.334-6.88-9.006-.026-15.248 3.7-23.086 10.95-5.856 5.414-12.084 12.707-19.606 20.475 12.217-5.84 24.103-11.588 39.65-10.902l-.792 17.982c-5.51-.243-10.455.725-15.598 2.49 4.157 1.18 8.073 2.988 11.527 6.356l-12.566 12.888c-.32-.31-4.01-2.158-9.608-3.125-4.084-.705-9.123-1.18-14.358-1.643-9.55 12.285-13.028 26.037-15.215 37.41-2.172 11.293.33 20.338.512 20.692.415.41.646.642.827.793.02-.122 1.794-.53 6.215-1.703l4.006-1.594 3.62 5.053c2.003 2.8 5.255 6.802 8.505 11.102 3.485-2.384 7.37-3.948 11.308-4.615 7.875-1.333 15.73.374 22.87 3.648 14.284 6.55 26.763 19.415 30.18 35.606 4.684 22.195-2.69 41.306-6.184 48.735 3.078.96 9.31 1.495 15.756 5.78 7.71 5.127 8.978 13.582 9.72 18.333.343 2.202.643 3.71.858 4.428 12.073 5.705 28.48 6.565 40.942 2.03 29.952-10.902 56.976-35.257 81.078-61.965V293.235c-4.34 14.414-12.795 25.578-21.75 33.387-6.993 6.1-14.254 10.35-20.402 13.16-3.075 1.407-5.867 2.45-8.307 3.187-2.44.735-4.16 1.255-6.92 1.277l-.145-18c-.993.008.34-.05 1.875-.512 1.533-.462 3.637-1.233 6.013-2.32 4.753-2.174 10.62-5.613 16.06-10.357 10.88-9.488 20.188-23.413 18.41-45.744-.488-6.145-4.813-14.778-10.98-20.923-6.166-6.146-13.59-9.384-18.828-8.805-1.057.117-3.523 1.372-6.382 4.744-2.86 3.372-5.8 8.366-8.233 13.444-4.863 10.155-7.754 20.314-7.754 20.314l-17.326-4.88s3.168-11.355 8.844-23.208c2.838-5.927 6.286-12.06 10.74-17.312 4.454-5.253 10.228-10.12 18.135-10.993.81-.088 1.616-.146 2.417-.174.8-.03 1.597-.027 2.387.004 11.06.424 21.006 6.443 28.707 14.117 5.808 5.788 10.58 12.705 13.44 20.22V110.743c-32.544-12.26-67.64-22.175-96.21-22.7-1.53-.027-3.038-.028-4.526 0zM207.568 388.366c-2.844.06-6.23.844-9.716 2.442-.61.28-1.218.587-1.823.914l15.636 9.07s2.62-4.082 5.238-8.237c-1.925-2.575-3.95-3.546-6.69-4.01-.81-.137-1.698-.198-2.646-.178zm96.864 0c-.948-.02-1.836.04-2.647.178-2.738.464-4.764 1.435-6.69 4.01 2.62 4.155 5.24 8.238 5.24 8.238l15.636-9.07c-.604-.326-1.212-.634-1.822-.913-3.485-1.598-6.872-2.382-9.716-2.442zM176.795 427.13c.727 14.314 6.52 25.452 6.945 26.253 4.71-1.988 8.2-3.552 8.26-3.867.104-.54-7.425-11.492-15.205-22.387zm158.41 0c-7.78 10.894-15.31 21.847-15.205 22.386.06.315 3.55 1.88 8.26 3.867.425-.8 6.218-11.94 6.945-26.254zM18 454.503V494h49.19C49.272 483.442 32.927 469.57 18 454.504zm476 0c-14.928 15.066-31.273 28.938-49.19 39.496H494z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Congress;

impl IconShape for Congress {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.002 32v47.725a56.476 56.476 0 0 1 17.996 0V32h-17.996zM256 96.998c-11.5 0-23.002 5.001-23.002 15.002v10.1c7.37-2 15.05-3.098 23.002-3.098 7.953 0 15.632 1.098 23.002 3.098V112c0-10-11.502-15.002-23.002-15.002zm0 40c-28.25 0-53.982 17.938-72.867 42.488-16.345 21.249-26.934 47.277-29.496 67.516h204.726c-2.562-20.239-13.15-46.267-29.496-67.516-18.885-24.55-44.617-42.488-72.867-42.488zm-80 78.004h32v17.996h-32v-17.996zm64 0h32v17.996h-32v-17.996zm64 0h32v17.996h-32v-17.996zm-170.29 49.996l-7.53 16.004h259.64l-7.53-16.004H133.71zm1.292 34v28.004h17.996v-28.004h-17.996zm56 0v28.004h17.996v-28.004h-17.996zm56 0v28.004h17.996v-28.004h-17.996zm56 0v28.004h17.996v-28.004h-17.996zm56 0v28.004h17.996v-28.004h-17.996zm-270.004 46v16.004h334.004v-16.004H88.998zm14.004 34v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm48 0v60.004h17.996v-60.004h-17.996zm-350.004 78v30.004h430.004v-30.004H40.998z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Conqueror;

impl IconShape for Conqueror {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.896 18.31l-21.51 3.016 50.184 404.992c7.915-.592 16-1.099 24.248-1.515l-30.935-237.614c25.61-7.714 50.943-16.448 73.25-36.277 14.77 90.454-1.795 182.196-2.377 272.658 12.68-.146 26.55-.009 37.9.293-.566-6.92-7.696-101.44 24.094-130.373 18.74-17.055 75.734-6.549 75.734-6.549 13.115 21.985 13.064 36.927 8.98 62.612l31.163 8.045c2.469-14.451 1.707-51.72-7.055-96.522-1.229-2.948-10.45-4.763-18.036-8.04-.183-30.68 6.268-60.047.273-90.727-14.382-11.332-45.991-20.998-70.762-34.35l-5.58-.762c-7.236 7.58-16.643 12.56-27.188 12.56-15.213-2.301-26.7-10.05-33.625-20.849l-12.734-1.736c-23.748 18.203-50.06 31.28-77.733 41.635zM288.28 36.94c-6.21 0-12.37 3.612-17.55 11.154-5.181 7.542-8.762 18.73-8.762 31.256 0 12.525 3.58 23.711 8.762 31.254 5.18 7.542 11.34 11.154 17.55 11.154 6.211 0 12.372-3.612 17.553-11.154 5.18-7.543 8.76-18.729 8.76-31.254 0-12.526-3.58-23.714-8.76-31.256-5.18-7.542-11.342-11.155-17.553-11.155zM109.873 54.4c-.932 2.868-1.81 5.768-2.848 8.555-3.482 9.362-7.548 18.137-12.91 25.352-5.361 7.214-12.501 13.287-21.787 14.603-13.724 1.946-21 6.09-25.857 11.809-4.858 5.72-7.681 14.024-9.352 25.42-2.552 17.412-.925 39.067 1.97 61.132 1.418-4.107 2.921-8.171 4.733-12.01 4.205-8.905 9.672-17.033 17.334-23.017 7.663-5.984 17.6-9.48 28.815-9.146 7.657.228 13.652-4.943 18.765-14.57 5.056-9.52 7.849-22.506 7.909-31.97zM323.744 160.97c13.772 8.366 27.424 15.481 44.86 16.52 6.827 23.86 1.635 49.908.83 73.769-22.109-4.356-43.114-9.48-45.623-23.147 2.972-34.461 3.447-49.16-.067-67.142zm48.836 203.847c-4.585 21.75-13.021 42.473-24.904 63.268 36.88 2.608 75.117 5.883 112.222 15.611-.06-19.97-6.113-40.476-16.906-60.699zm-127.242 76.692c-97.482.507-174.844 14.648-227.338 28.416V491h476v-18.94c-58.673-14.917-146.115-31.086-248.662-30.552z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Contortionist;

impl IconShape for Contortionist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.6 36.6c-6.1 1.55-42 10.9-86.3 28.22-48.2 18.84-101.8 46.78-122.69 76.68-26.68 38-36.09 98.3-16.68 139.4 8.38 17.7 37.77 37.9 65.27 51.9 27.6 14 52.6 22.6 52.6 22.6l6.2 2.1-.1 6.6c-.6 38.4-1.9 73.8-2.7 111.3H257c-.2-7.7-27.4-16.9-46-23.8l1.4-6.7c6.7-33.1 9.9-73.1 12.4-110.5-6.3-.6-12.5-2.4-18.3-5.3-12.6-6.2-23.5-17.4-30.6-32-.6-1.3-1.2-2.7-1.8-4-10.1-2.9-19-6.4-26.9-10.8-20.9-11.6-34.4-29.4-45.5-54.6l-3.69-8.5 8.59-3.4c15.7-6.4 25.1-11.3 32.8-20.1 7.6-8.9 14.1-22.8 21.3-48.1l1.2-3.9 117.9-56.4 102 71.9c-2.4 7.9-5.4 15.6-3.6 23.2 12 6.9 35.8 13.7 56.1 18.1 8.9 1.9 16.6 3.3 23.1 4.4-4.4-10-10.8-17.8-19.1-25.3-11.7-10.4-27.2-19.8-44.5-31.2l-.9-.6-.8-.9c-35.3-39.5-65.9-80.67-101.5-110.3zm-5.3 76.7c16.9 21.8 35.2 44.4 45.8 70.6l1.8 4.4c-3.9 6.6-8.5 12-9.7 19.3 14.5 9 37.2 16.1 56.4 20.5 7.5 1.7 14.2 3 19.9 4-3.1-4.6-7.1-9.7-12.1-14.7-10.3-10.5-23.7-21-36.1-29.2l-3.8-2.4-.3-4.5c-.8-11.2-4.4-21.3-9.4-31zm-74.4 121.5c-3.5 0-6.9.8-10 2.3-7 3.4-11.8 10.3-13.7 19.7-1.9 9.5-.6 21.2 4.8 32.4 5.5 11.3 13.9 19.5 22.6 23.9 8.6 4.2 16.9 4.7 24 1.3 7-3.4 11.8-10.3 13.8-19.7 1.9-9.5.5-21.2-4.9-32.5-5.5-11.2-13.9-19.5-22.5-23.8-4.8-2.4-9.6-3.6-14.1-3.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Contract;

impl IconShape for Contract {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96 64L64 96l48 48-48 48h128V64l-48 48-48-48zm224 0v128h128l-48-48 48-48-32-32-48 48-48-48zM64 320l48 48-48 48 32 32 48-48 48 48V320H64zm256 0v128l48-48 48 48 32-32-48-48 48-48H320z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ControlTower;

impl IconShape for ControlTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352 21v18h39v16h18V39h39V21h-96zm35 52l-40 30h106l-40-30h-26zM69.48 120.5l-8.96 15.6 110.98 63.7 35.6 20.4 33.6-58.7-77 13.1-94.22-54.1zM329 121v30h30v-30h-30zm48 0v30h46v-30h-46zm64 0v30h30v-30h-30zm-103 48l34.5 46h55l34.5-46H338zm39 64v30h46v-30h-46zm0 48v206h46V281h-46zM68.52 329L34.3 375H359v-46H68.52zM25 393v94h30v-64h66v64h238v-94H25zm416 .5V487h46v-65.9l-46-27.6zM160 439h48v18h-48v-18zm96 0h48v18h-48v-18zm-183 2v46h30v-46H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConvergenceTarget;

impl IconShape for ConvergenceTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M172.7 19.27l-25.4 25.46L256 153.5 364.7 44.73l-25.4-25.46L256 102.5l-83.3-83.23zM44.73 147.3l-25.46 25.4L102.5 256l-83.23 83.3 25.46 25.4L153.5 256 44.73 147.3zm422.47 0L358.6 256l108.6 108.7 25.4-25.4-83.2-83.3 83.2-83.3-25.4-25.4zM256 358.5L147.3 467.3l25.4 25.4 83.3-83.2 83.3 83.2 25.4-25.4L256 358.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConverseShoe;

impl IconShape for ConverseShoe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M42.63 89c8.3 49.2 17.42 100.1 14.35 151.5-2.9 48.8-28.19 92.8-31.58 134.5h319.7c5.3-16.4 16.2-30.9 28.3-42.1 4.2-3.9 8.5-7.5 12.8-10.6-34.9-9.7-61.7-24-82.5-41.3H244v-18h41c-8.5-9.5-15.7-19.6-21.7-30H208v-18h46c-4.6-9.9-8.4-19.9-11.7-30H192v-18h44.8c-2.8-10.1-5.3-20.2-7.6-30H176v-18h49c-2.4-10.5-4.9-20.54-7.7-30H42.63zM128 215c31.4 0 57 25.6 57 57s-25.6 57-57 57c-31.37 0-57-25.6-57-57s25.63-57 57-57zm0 18c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm287.6 96c-5 .3-18.6 6.5-30 17.1-8.7 8-16.5 18.3-21.2 28.9H448c11.5 0 25.6-5.7 38.6-12.3-.4-4.2-1-7.7-2.2-10-1.6-3.3-3.9-5.7-8.7-8.3-9.6-5.2-28.9-9.5-60.1-15.4zm71.4 52.9c-2 .9-3.4 1.6-5.7 2.5C471 388.5 459 393 448 393H25v30h407c22.2 0 45.3-8.7 55-12.8v-28.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Convict;

impl IconShape for Convict {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185 25v14h142V25H185zm0 32v14h142V57H185zm2.512 32c-1.626 7.3-2.512 15-2.512 23 0 48.966 32.654 87 71 87s71-38.034 71-87c0-8-.886-15.7-2.512-23H187.512zm21.027 118.72c-22.123 6.853-39.915 18.596-54.614 33.583-.142.145-.28.294-.422.44 30.324 4.354 58.944 6.987 86.484 7.907l-31.45-41.93zm94.92 0l-31.667 42.223c29.804-.46 58.58-3.033 87.186-7.697-.304-.314-.6-.633-.906-.943-14.7-14.987-32.49-26.73-54.613-33.584zm-67.437 6.645L256 241.002l19.977-26.637A76.84 76.84 0 0 1 256 217a76.84 76.84 0 0 1-19.977-2.635zm-106.914 60.05c-3.84 6.633-7.324 13.557-10.493 20.685l28.81 7.203c110.47 15.786 106.675 15.786 217.147 0l28.81-7.203c-3.15-7.085-6.61-13.97-10.423-20.565-79.61 15.326-159.822 15.182-253.85-.12zm-22.905 54.69a326.24 326.24 0 0 0-1.533 5.303 362.76 362.76 0 0 0-4.926 19.975L135 363.195v-26.89l-28.795-7.2zm299.59 0l-28.795 7.2v26.37l34.857-10.048a360.236 360.236 0 0 0-4.53-18.22 326.34 326.34 0 0 0-1.532-5.302zM153 339.46v27.95c73.738 14.2 132.264 14.196 206-.004V339.46c-96.875 13.752-109.125 13.752-206 0zm265.188 48.806L377 400.14v27.055l44.227-11.056a528.943 528.943 0 0 0-3.04-27.874zM93.59 389.95a531.613 531.613 0 0 0-2.817 26.19L135 427.194v-26.89L93.59 389.95zM153 404.04v27.173c88.597 14.452 132.463 14.508 206 .205v-27.38c-72.118 13.164-133.882 13.164-206 0zm-64.152 48.726c-.356 14.784-.125 26.056.027 34.234H135v-22.695l-46.152-11.54zm334.304 0L377 464.306V487h46.125c.152-8.178.383-19.45.027-34.234zM153 467.696V487h206v-18.94c-71.098 13.194-121.477 13.04-206-.365z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Convince;

impl IconShape for Convince {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v207.053c19.25 18.903 53.07 37.274 84.973 47.933 28.11 9.392 46.653 12.82 66.886 5.338 15.865-5.866 34.172-10.222 46.44-18.12 12.266-7.896 19.334-16.98 15.82-39.366l-.036-.233-.023-.234c-.327-3.16-.745-6.478-1.208-9.866-.18.048-.353.1-.536.146-10.828 2.783-26.286 4.28-45.757.356-1.35.83-2.715 1.64-4.107 2.41l-7.877 4.355-8.71-15.75 7.874-4.356c19.52-10.796 36.083-31.545 46.055-47.434-.362-1.25-.745-2.51-1.12-3.765-12.854 8.896-31.028 13.176-52.173 4.945l-8.387-3.265 6.53-16.774 8.386 3.265c19.01 7.4 29.868 2.503 39.136-5.938 7.444-6.78 12.796-16.308 16.33-23.72C200.162 74.25 174.97 45.817 150.072 18zm184.098 0c9.883 14.11 23.515 29.61 39.943 44.97 2.322-.828 4.714-1.657 7.226-2.462 12.116-3.887 25.88-7.772 38.888-7.238 4.336.177 8.587.846 12.664 2.17l8.56 2.78-5.556 17.118-8.56-2.777c-7.706-2.5-25.637.32-40.498 5.086-8.86 2.842-16.452 5.906-21.157 7.924 3.427 3.978 6.868 7.985 10.336 12.045l3.65 4.27-2.234 5.154c-1.224 2.822-2.9 6.616-5.104 10.833 10.92 13.352 26.323 27.074 37.03 34.844 17.4 12.628 42.365 27.795 61.884 31.898 9.76 2.052 17.528 1.385 23.1-1.996 5.572-3.382 10.426-9.972 12.86-24.143l1.524-8.872 17.74 3.05-1.525 8.868c-.04.223-.086.436-.126.657 31.894 13.803 62.577 22.355 87.45 22.82 4.85.09 9.452-.125 13.806-.633V106.63c-8.336 6.688-18.94 14.612-32.676 24.112l-10.24-14.803C472.05 101.436 485.12 90.98 494 82.956V18zm-140.23 1.408c11.063.573 118.618 57.055 88.53 46.65-1.587-.548-9.626-1.652-20.597-2.624 2.99 5.485 4.843 11.576 5.403 17.86.696 7.81-.678 14.718-4.043 19.93-3.365 5.21-9.344 8.953-17.078 7.756-7.734-1.196-14.553-6.918-18.953-13.33-4.4-6.41-7.063-13.943-7.76-21.752-.393-4.423-.122-8.556.798-12.255-22.742.214-43.964 2.89-48.23 11.275L61.11 19.53c.148-.1.404-.14.76-.122zm48.243 45.004c-.487-.075-1.508.018-2.813 2.04-1.305 2.02-2.272 5.74-1.87 10.237.4 4.497 2.065 8.626 3.772 11.113 1.706 2.487 2.772 2.905 3.26 2.98.49.076 1.512-.02 2.817-2.04 1.305-2.022 2.272-5.74 1.87-10.24-.4-4.497-2.065-8.623-3.772-11.11-1.707-2.487-2.775-2.905-3.264-2.98zm189.033 24.102c.576.01 1.155.03 1.736.064 18.6 1.05 37.856 12.446 57.638 33.215l-13.036 12.414c-17.96-18.858-33.937-27-45.617-27.658-11.68-.66-20.613 4.674-28.44 18.493l-15.66-8.87c9.8-17.305 25.495-27.965 43.378-27.66zm-75.247 84.984c-5.424 7.34-11.826 14.886-19.17 21.854 8.736.288 15.768-.762 21.112-2.135.762-.196 1.43-.396 2.115-.596-1.153-6.153-2.514-12.555-4.057-19.122zm163.516 6.063c-2.47 5.277-5.564 9.725-9.225 13.303 31.756 24.712 60.36 54.72 77.924 91.237l.894 1.857c30.018 39.74 39.6 93.688 31.875 140.422l-.427 2.585-1.75 1.95c-27.812 31.048-73.822 47.28-115.084 53.597-20.632 3.157-40.1 3.763-55.972 1.95-15.872-1.815-28.883-4.708-35.914-15.536l-1.035-1.594-.302-1.875c-1.843-11.445-2.61-22.47-3.927-33.252-17.095 19.167-29.632 38.814-36.216 59.795H494V202.477c-4.6.443-9.322.61-14.143.52-28.046-.525-59.884-9.43-92.445-23.436zM18 248.92v50.342c9.123 6.8 33.478 24.938 62.78 46.496 17.705 13.026 35.537 26.052 49.144 35.785 6.146 4.396 11.06 7.835 15.04 10.557.42-1.207.71-1.858 1.173-3.27 2.58-7.876 5.727-18.634 8.748-29.394 4.688-16.703 8.28-30.408 10.013-37.067-1.166-7.074-1.57-14.938-1.146-23.665-21.102 4.21-42.043-.48-66.484-8.646-28.234-9.435-57.335-23.897-79.268-41.14zm408.607 31.94c-.558-.018-1.087-.027-1.503.005-4.856.37-6.203 2.073-8.16 4.252-1.303 1.453-2.563 3.47-4.815 5.963-2.253 2.492-6.56 5.677-11.724 5.91-4.653.21-8.815-1.813-11.35-3.65-2.534-1.837-4.092-3.443-5.46-4.496-2.736-2.106-3.71-3.362-11.24-1.64-3.17.724-3.98 2.038-5.827 5.558-.923 1.76-1.817 3.907-3.128 6.324-1.31 2.417-3.092 5.53-7.095 7.713-2.902 1.58-5.935 1.408-7.737 1.026-1.8-.38-2.926-.905-3.955-1.365-2.057-.92-3.683-1.764-5.547-2.413-3.728-1.3-7.94-2.22-15.793.848-6.544 2.557-6.794 4.043-7.48 5.79-.343.874-.54 1.99-1.217 4.106-.677 2.117-2.908 6.577-7.324 8.29-3.775 1.464-7.653 1.175-10.342.604-2.69-.572-4.63-1.286-6.558-1.766-3.856-.96-7.658-1.625-15.57.95-4.61 1.5-9.89 8.046-12.335 16.86-2.4 8.648-1.578 18.425 1.157 23.342 30.118 34.035 28.01 69.583 32.198 98.74 2.26 1.604 9.918 5.4 21.886 6.766 5.613.642 11.98.935 18.855.864 1.086-34.234-7.61-76.94-20.19-104.827l16.405-7.404c13.87 30.74 22.888 73.896 21.845 111.273 4.66-.436 9.442-1.022 14.29-1.764 9.362-1.434 18.96-3.473 28.46-6.107-6.532-36.43-12.015-75.947-31.57-109.668l15.57-9.03c21.366 36.845 27.08 77.85 33.293 113.18 8.396-3.052 16.54-6.588 24.184-10.607-1.915-42.748-7.087-79.433-24.318-106.14l15.125-9.76c18.78 29.108 24.406 65.356 26.676 105.17 5.61-4.036 10.723-8.41 15.184-13.115 7.132-48.38-6.747-105.394-43.217-139.723-.53-.01-1.117-.04-1.676-.06zM18 321.7V494h201.545c7.798-28.846 25.177-54.816 48.295-79.12l-64.578-39.228-.065-.04c-9.837-6.207-19.81-13.738-27.28-24.73-1.19 4.364-2.42 8.847-3.702 13.42-3.056 10.885-6.236 21.773-8.973 30.132-1.368 4.18-2.605 7.693-3.787 10.5-.59 1.403-1.124 2.597-1.935 3.93-.406.668-.84 1.376-1.8 2.355-.963.978-2.718 2.94-6.853 2.94-2.477 0-2.973-.462-3.56-.69-.588-.23-.965-.42-1.33-.607-.73-.376-1.366-.752-2.098-1.2-1.464-.898-3.24-2.067-5.405-3.534-4.33-2.936-10.154-7.034-17.022-11.946-13.735-9.825-31.6-22.878-49.34-35.928C49.467 345.066 31.506 331.74 18 321.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConwayLifeGlider;

impl IconShape for ConwayLifeGlider {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.51 19.51V492.3H492.3V19.51H19.51zm18 18H171.1V171.1H37.51V37.51zm151.59 0h133.6V171.1H189.1V37.51zm151.6 0h133.6V171.1H340.7V37.51zm-84.8 9.94a56.85 56.85 0 0 0-56.8 56.85 56.85 56.85 0 0 0 56.8 56.9 56.85 56.85 0 0 0 56.9-56.9 56.85 56.85 0 0 0-56.9-56.85zM37.51 189.1H171.1v133.6H37.51V189.1zm151.59 0h133.6v133.6H189.1V189.1zm151.6 0h133.6v133.6H340.7V189.1zm66.9 10a56.85 56.85 0 0 0-56.8 56.8 56.85 56.85 0 0 0 56.8 56.9 56.85 56.85 0 0 0 56.8-56.9 56.85 56.85 0 0 0-56.8-56.8zM37.51 340.7H171.1v133.6H37.51V340.7zm151.59 0h133.6v133.6H189.1V340.7zm151.6 0h133.6v133.6H340.7V340.7zm-236.4 10.1a56.85 56.85 0 0 0-56.85 56.8 56.85 56.85 0 0 0 56.85 56.8 56.85 56.85 0 0 0 56.9-56.8 56.85 56.85 0 0 0-56.9-56.8zm151.6 0a56.85 56.85 0 0 0-56.8 56.8 56.85 56.85 0 0 0 56.8 56.8 56.85 56.85 0 0 0 56.9-56.8 56.85 56.85 0 0 0-56.9-56.8zm151.7 0a56.85 56.85 0 0 0-56.8 56.8 56.85 56.85 0 0 0 56.8 56.8 56.85 56.85 0 0 0 56.8-56.8 56.85 56.85 0 0 0-56.8-56.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cook;

impl IconShape for Cook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255 22.31c-21.2 0-40.5 10.78-50.5 27.63l-4.4 7.42-7.6-4.08c-7.1-3.85-15.2-5.89-23.3-5.89-28.3 0-51.3 23.57-51.3 53.21 0 26.5 18.6 48.6 43.5 52.6l7.6 1.2v53.4c57.9-11.1 116-11.6 174 0v-69.7l4.8-2.6c15.7-8.3 26.1-26.1 26.1-46.15 0-28.8-20.7-51.12-45.4-51.12-6.5 0-13 1.61-18.9 4.72l-6.2 3.2-4.6-5.09C288 29.29 272 22.31 255 22.31zm1 194.79c-25.6 0-51.1 2.4-76.7 7-.9 6-1.3 12.2-1.3 18.6 0 29 9.2 55.2 23.6 73.7 14.4 18.5 33.5 29.3 54.4 29.3s40-10.8 54.4-29.3c14.4-18.5 23.6-44.7 23.6-73.7 0-6.4-.5-12.7-1.3-18.7-25.6-4.7-51.1-7-76.7-6.9zM208.7 348l-89.2 29.7-27.98 112H321.6L307.1 388l17.8-2.6 14.9 104.3h80.7l-28-112-89.2-29.7c-13.8 9.9-30 15.7-47.3 15.7-17.3 0-33.5-5.8-47.3-15.7zm69.3 52.7a9.999 9.999 0 0 1 10 10 9.999 9.999 0 0 1-10 10 9.999 9.999 0 0 1-10-10 9.999 9.999 0 0 1 10-10zm7 46a10 10 0 0 1 10 10 10 10 0 0 1-10 10 10 10 0 0 1-10-10 10 10 0 0 1 10-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cookie;

impl IconShape for Cookie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.9 31.85C158.6 30.52 30.27 148.3 32 256c1.82 113.4 142.9 231.4 256 224 95.5-6.2 189.9-119.7 189.8-215.4C477.7 161.1 375.4 36.94 272 32c-1.7-.08-3.4-.13-5.1-.15zm24.8 20.97c1 .04 1.9.18 2.9.41 16.7 4.1 27.3 37.42 15 49.47-12 11.8-44 .6-48-15.74-3.5-14.32 15.1-34.72 30.1-34.14zM135.4 131.4c1.4 0 2.7.2 4 .5 17.9 4.1 31.6 34.3 22.5 50.3-7.5 13.1-30.6 9.8-45 5.2-8.9-2.8-21.07-9.3-20.95-18.7.23-17.2 20.55-36.9 38.15-37.3h1.3zm238.7 69.5h1.2c12.1.2 24.7 14.9 25 27 .3 10.6-10.4 22.9-21 24-11.5 1.2-26.1-9.5-27.7-21-1.7-12.4 10-29.2 22.5-30zm-141 105.7c15.4 0 26 22.1 27 37.5.7 11.9-5.4 29.7-17.2 31.5-16.1 2.5-33.8-17.6-35.3-33.8-1.3-14.4 11-35.2 25.5-35.2zm188.6 1.1c1.2 0 2.2.1 3.3.4 11.7 3.2 17.8 26.9 9 35.2-8.5 8.1-30.9.9-33.7-10.5-2.5-10.2 10.6-24.8 21.4-25.1zm-269.6 19.9c19.2-.5 36 30.2 30.8 48.7-3.7 13.1-23.1 18.2-36.8 18-9-.1-21.4-4-24-12.7-5.9-19.7 9.4-53.4 30-54zm166.2 87.6c.3 0 .7.1 1 .1 11.3 1.1 21.2 17.4 18.8 28.5-2.2 10.1-16.2 18.7-26.3 16.5-8.8-1.9-15.8-13.5-14.9-22.5 1-10.2 11.2-22.8 21.4-22.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CookingGlove;

impl IconShape for CookingGlove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.1 41.41c-21.8.1-43.2 5.41-61 17.32-19.1 12.7-34.5 32.86-42.5 63.97-26.1 101.5 19.3 208.4 43.2 314.7 64.6 15 126 11.7 185.3-5.5 17.2-26.3 38.4-52.3 56.3-77.5 18.5-26.2 33.2-51.6 36.9-74.1 1.8-10.8.1-24.5-5.8-32.7-5.9-8.2-15-13.4-36.1-8.1-6.9 1.8-15.5 10.3-24 24.5s-17 33.1-26.3 52.4l-17.1-4.5c4.6-69.1 26.7-152.1-.4-215.52C330 68.77 284 42.73 237.5 41.46c-1.5-.04-2.9-.06-4.4-.05zM125.7 384.2c-1 0-2 .1-3 .1-12 .5-24.24 3.1-35.56 7.5-15.09 5.7-28.65 14.4-37.23 26.4-8.57 11.9-11.16 28.2-3.32 43.3l.45.9.65.8c9.41 11.2 24.41 14.2 39.51 13.3 15.1-.8 31.2-5.4 45.9-12 8.9-4 17.2-8.7 24.3-13.9l-.8-3.7c-1.2-5.3-2.4-10.6-3.7-16-6.5 6-16.3 12.3-27.2 17.2-12.9 5.8-27.44 9.8-39.48 10.5-11.5.6-19.75-1.9-24.06-6.4-4.35-9.2-3-16 2.38-23.5 5.59-7.8 16.35-15.3 29.03-20.1 9.53-3.7 20.03-5.9 29.93-6.3 3.3-.1 6.5-.1 9.6.2 4.9.4 9.4 1.4 13.4 2.8-1.8-6.6-3.5-13.2-5.4-19.9-2.1-.3-4.3-.6-6.5-.8-2.9-.3-5.9-.4-8.9-.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CookingPot;

impl IconShape for CookingPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 100c-8 0-16 4-32 12l10.848 32.543C179.665 147.226 112.76 160.04 98.68 183h314.625c-7.012-11.422-27.093-20.334-52.305-26.738V135h-18v17.266c-21.203-4.107-44.4-6.68-65.848-7.723L288 112c-16-8-24-12-32-12zM96 201v14H55v18h41v151c0 16 16 32 32 32h256c16 0 32-16 32-32V233h41v-18h-41v-14H96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cooler;

impl IconShape for Cooler {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "m71.03 41-11.5 46H452.5L441 41H71.03zM25 105v46h158v-28h146v28h158v-46H25zm176 36v78h110v-78H201zM41 169v276.3L68.82 487H443.2l27.8-41.7V169H329v68H183v-68H41zm196.5 78.1 16.9 30.3h.8l16.9-30.3 15.8 8.8-24.1 43.2v39.8l33.5-19.8 24.4-42.9 15.6 8.8-17.3 30.4.7 1.1 34-.1v18l-48.4.2-34.3 20.3 34.4 20.4 48.5.3-.2 18-33.9-.2-.7 1.1 17.3 30.4-15.6 8.8-24.4-42.9-33.6-19.9v39.8l24.1 43.2-15.8 8.8-16.8-30.2h-1l-16.8 30.2-15.8-8.8 24.1-43.2v-40.2l-33.5 19.8-24.4 42.9-15.6-8.8 17.3-30.4-.7-1.1-34 .1v-18l48.4-.2 33.5-19.9-33.5-19.8-48.3-.2v-18l34.1.1.6-1-17.3-30.5 15.6-8.8 24.5 43 33.3 19.7v-40.3l-24.1-43.2 15.8-8.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coral;

impl IconShape for Coral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.5 25.06c-.4 9.84-.9 19.71-1.4 29.59-3.8-.38-7.7-2.4-12.3-5.8-6.9-5.12-14-13.21-21.2-20.3L245 41.43c6.4 6.27 13.9 15 23 21.84 6.3 4.69 14.1 8.57 22.6 9.22-1.1 37.51-.4 74.91 6.9 111.21-10.9 14.4-19.6 31-26 48.2-1 2.7-1.9 5.4-2.9 8.1-13.4-6-27.7-15.6-41.6-26.8-13.7-34-14.6-68.6 5-95.7 9.8-6 14.6-17.76 16-29.81l-17.9-2.09c-1 9.34-6.4 16.3-8.9 17.1-.2.1-.4.1-.6.2l-.1-.1c0 .1-.1.1-.1.2-1 .2-2.1-.1-4.5-1.7-3-2.06-7.3-6.96-11.9-15.69l-16 8.32c5.4 10.37 11.1 17.57 17.6 22.17 1.5 1 3 1.8 4.5 2.5-11.5 22.1-13.4 47.1-8.5 72-.9-.8-1.7-1.7-2.6-2.5-24.7-24.5-43.3-48.2-56.6-60.1-.9-9.9-1.5-17.9-.9-24.5.9-10.73 3.7-17.78 12.9-26.71l-12.6-12.88c-11.6 11.36-17.1 24.16-18.3 38.09-.7 9.3.1 19.7 1.3 31-21.3-11.9-41.34-21.2-66.46-27.5L54 123c25.1 6.3 44.29 15.5 66.7 28.4 6.9 6.1 29.3 33.1 55.8 59.4 24.2 24 52.8 48.7 84.8 60.8-3.2 23.7-.9 47.2 9.9 67-6.4 6.7-12 13.8-16.9 21.2-2.7 4.1-5.1 8.2-7.4 12.4-22.2-7.7-52.1-26.6-76.8-47.8-.7-.6-1.4-1.3-2.2-1.9.3-7.2 3.2-15.7 7.8-24 5.8-10.5 14.2-20.4 21.6-27.1L185.2 258c-8.9 8.1-18.3 19.2-25.2 31.7-3.2 5.8-6 11.9-7.8 18.2-7.1-7-13.5-13.9-18.7-20.2-9.3-11.4-14.6-22.2-15-24.5-7.3-38.6-10.7-51.1-40.03-90.9l-25.77 19c7.18 9.7 12.44 17.1 16.43 23.2-13.82 1.5-29.01-2.2-37.78-10.2l-12.1 13.4c15.54 14.1 38.51 18.3 58.95 13.6 3.77 9.4 5.25 19.2 8.8 37.9.28 1.5.64 2.9 1.05 4.4h-1.03c-19.91.8-37.54 11.6-51.15 26.6l13.32 12.1c14.08-15.5 29.07-23.8 47.67-20.2 3.34 5.2 7.34 10.3 11.84 15.8 10.9 13.3 24.9 27.4 40.5 40.8 10.9 9.3 22.5 18.3 34.3 26.4-21.2 8.1-52.6 12.5-76.5 8.5l-3 17.7c11.6 2 24 2.6 36.3 1.8-1.3 4.7-1.4 9.6-.5 14.1 2 10.1 8.7 18.7 17.7 24.8l10.1-14.8c-5.8-4-9.3-9.2-10.2-13.6-.9-4.4-.2-8.3 4.8-13.1 14.7-2.8 28.5-7.4 39.7-13.8 10.7 6.1 21.5 11.3 32.1 15-11.2 32.6-13 64.6-13.7 84.6h32c.9-27.3 4.6-72.3 28.7-108.8 9.8-14.8 22.6-28.5 40.5-39.3 23.6 4.6 46.6 9.7 67.6 17-1.8 9.6-7.9 14.5-15.2 22.9-3.8 4.5-7.9 10-9.8 17.3-2 7.3-1.7 16 1.5 25.9l17.2-5.4c-2.5-7.6-2.3-12.2-1.4-15.8 1-3.6 3-6.6 6.2-10.2 5.4-6.3 14.8-14.4 18.4-28 10.2 4.5 19.8 9.7 28.6 16l10.4-14.7c-28-20-61.5-30.2-96-37.7 22.6-7.8 50.9-11.8 86.9-10.6 5.4 11.5 16.1 21.7 29.2 30l9.7-15.2c-17.3-11-25.5-23.9-24.7-32.6.5-4.4 2.9-8.9 9.4-13.9 6.6-5 17.4-10.1 33.3-14l-4.4-17.5c-17.4 4.3-30.4 10-39.9 17.2-5.2 4.1-9.5 8.8-12.2 13.9-4.9-.1-9.4-.2-13.9-.1-13.4.1-26 1-37.9 2.5 19.8-24 31.8-51.9 36.1-83l-17.7-2.5c-1.9 13-5.1 25.2-9.9 36.8-5.5-.6-10.4-2.9-14.6-6.2-5.8-4.7-9.9-11.6-11.1-17.7l-17.7 3.6c2.2 10.7 8.4 20.8 17.5 28.1 5 4 11.2 7.2 17.7 8.9-7.8 13.8-18.1 26.4-30.9 38.1-22.5 5.9-41.5 14.8-57.4 25.6-6.7-19.3-5-47 4.9-73.8 10.6-28.4 29.9-54.2 49.9-66.7 4.9 2.1 10.4 3.1 15.7 3.4 11 .6 22.7-1.3 33.7-4 22.1-5.3 41.6-13.9 41.6-13.9l-7.2-16.5s-18.5 8.1-38.6 12.9c-10 2.4-20.4 4-28.5 3.5-8-.4-12.5-2.5-14.6-5.7-.8-1.3-1.2-3.8.6-8.6 1.8-4.9 5.6-11 9.9-16.7 8.5-11.3 18.6-20.8 18.6-20.8l-12.2-13.16S359.2 107.1 349.5 120c-4.9 6.5-9.5 13.6-12.3 21.2-.9 2.4-1.6 4.9-2 7.5-8.1 4.8-15.7 10.7-22.6 17.5-6.8-44.5-4.3-92.12-2.2-140.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CorkHat;

impl IconShape for CorkHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M293 54.44c-59.6 2.43-107.8 6.61-153.5 43.8l-1.2 120.16c5.9 12.7 21.4 16.3 32.8 17.9 19.3 2.7 45.2.9 72.2-3.9 50.4-9 104.7-29 129.4-45L335.5 81.42zM120.6 185.1c-19.2 6.8-36.16 16.9-48.81 31-12.99 14.6-24.45 29.5-30.59 42.1-6.14 12.7-6.79 21.3-2.24 27.7 4.56 6.4 17.62 13.3 44.88 15.8 27.26 2.4 67.76.5 124.56-7.6 50.6-7.3 113-18.8 166.9-35 45.1-13.5 83.8-31.1 104.3-49.6-25.6-5.1-54.9-10.1-86.1-14.8l-4.5 3.4c-27.3 20.9-86.2 42-142.5 52-28.2 5-55.5 7.2-77.9 4-11.2-1.5-21.3-4.4-29.7-9.3-25.3-18.2-18.6-29.4-18.3-59.7zm350.7 53.7c-5.6 3.5-11.6 6.8-18 10v60.3l18-4.8zm-62 28.3c-5.9 2-11.9 4-18 5.9v61.5l18 1.7zm-170 40.5c-6.1 1-12.1 1.9-18 2.8v76.5l18 3zm-201.96.4v73.5l18 3.7v-70c-6.98-1.9-12.98-4.3-18-7.2zm99.96 11.7c-6.3.4-12.3.7-18 .8v80.9l18-1.3zm339 2l-29.3 7.7 13.6 35.7 22.8-6zM385.2 352l.6 38.2 23.4 2.2 6.2-37.5zM32.25 398.8l-3.69 38 23.05 4.8L61.94 405zm182.95 5.3l-2.2 38.2 23.1 3.8 9.1-36.9zm-74 13.8l-30.2 2.2 6.8 37.5 23.5-1.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Corkscrew;

impl IconShape for Corkscrew {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.1 35.94c-1.5.5-4.2 1.73-7.4 3.77-6.9 4.38-15.8 11.85-24 19.98-8.1 8.13-15.6 17.03-20 23.92-2 3.16-3.2 5.81-3.7 7.31 15.7 15.38 31.3 25.88 44.6 33.88 13.9 8.3 25.1 13.4 32.9 21.1l.6.7.5.7c45.5 68.3 19.7 42.6 88 88l.7.5.7.6c7.7 7.8 12.8 19.1 21.1 32.9 8 13.3 18.5 28.9 33.9 44.6 1.5-.5 4.2-1.7 7.3-3.7 6.9-4.4 15.8-11.9 24-20 8.1-8.2 15.6-17.1 20-24 2-3.2 3.2-5.9 3.7-7.4-11.6-11.6-32.3-31.3-62.6-41.4l-3.6-1.1-1.7-3.4c-21.5-43.1-66-87.5-109-109.2l-3.3-1.6-1.2-3.48c-10.2-30.37-29.9-51.02-41.5-62.68zm32.5 157.86l-26.4 26.4 32.5 32.5 26.4-26.3c-16.7-11.1-21.4-15.9-32.5-32.6zm-34.9 43.3c-7.4 9.5-8.4 17-7.5 34.5.5 9.8-2.6 18.7-3.3 19.2-.8.7-2.3.6-6.7-.9-4.1-1.4-10.6-4.7-17.4-8.2-7-3.5-14.7-7.5-22.9-10-8.1-2.4-17.6-2.9-23 2.4-5.6 5.6-4.5 15.7-1.8 24 2.7 8.2 7.1 16.1 10.7 23.3 3.8 7.1 6.9 13.5 8.2 17.1 1.4 3.9 1.1 3.9.6 4.5-.4.4-.5.6-4.4-.7-3.7-1.2-10-4.4-17.2-8.1-7.1-3.7-15-8.1-23.2-10.7-8.3-2.8-18.4-3.8-24 1.8-5.5 5.5-4.5 15.6-1.7 23.9 2.6 8.2 7.1 16.1 10.7 23.2 3.6 7.2 6.8 13.5 8.2 17.1 1.2 4 1 4.1.5 4.6s-.5.7-4.4-.7c-3.7-1.2-10.1-4.4-17.1-8.2-7.2-3.6-15.1-8-23.3-10.7-8.29-2.7-18.41-3.8-23.99 1.8-5.45 5.5-4.88 15.1-2.26 23.3 2.61 8.2 6.71 16 10.32 23 3.68 7 6.79 13.4 8.34 17.5 5.66 15-58.55 14.4-68.09 12.2 6.43 16.5 80.48 34 94.38 16.4 4.4-6.3 3-16 .2-24.3-2.9-8.2-7-16-10.7-22.9-3.4-6.8-6.5-12.9-7.6-16.6-1.1-3.6-.9-3.8-.3-4.3.5-.5.5-.7 4.4.5 3.7 1.4 10.1 4.5 17.2 8.2 7.1 3.7 14.9 8 23.3 10.7 8.2 2.8 18.4 3.8 23.9-1.7 5.6-5.6 4.5-15.7 1.8-24s-7.1-16.1-10.7-23.2c-3.8-7.2-7-13.5-8.3-17.2-1.2-3.9-1-4-.6-4.4.6-.6.7-.8 4.5.5 3.7 1.4 10 4.5 17.2 8.3 7.1 3.6 15 7.9 23.2 10.7 8.3 2.7 18.4 3.8 23.9-1.7 5.7-5.7 4.6-15.8 1.9-24.1-2.8-8.3-7.1-16.1-10.7-23.2-3.8-7.1-6.9-13.5-8.3-17.2-1.2-3.8-1-3.9-.5-4.4.6-.6.8-.9 4.4.2 3.5 1.2 9.3 4 16.2 7.3 6.7 3.5 14.5 7.7 22.6 10.4 8.1 3 17.5 4.5 24.4.9 11.1-6.4 11.6-21.4 9.6-33-1.7-10.2-.1-16.8 3.8-22.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Corn;

impl IconShape for Corn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.543 39.226l13.316 66.134c2.8-3.765 5.596-7.473 8.384-11.048l17.066-21.885-.974 27.736c-.69 19.64-1.247 39.345-1.49 58.973 6.94-3.547 14.11-7.24 21.494-11.108 14.69-7.69 29.31-15.51 41.242-22.017-3-6.667-6.218-13.2-9.916-19.5-15.624-26.61-39.145-50.258-89.123-67.284zm300.03 3.724c-1.405.014-2.832.088-4.28.22 4.59 6.668 9.32 12.88 14.29 18.708l12.968-12.967c-6.443-3.9-14.258-6.046-22.978-5.96zm-22.645 4.828c-2.824 1.143-5.69 2.488-8.586 4.07-1.83.996-3.664 1.98-5.495 2.973.78 1.247 1.562 2.483 2.348 3.7 4.43-2.915 8.834-5.77 13.195-8.533-.49-.726-.975-1.473-1.462-2.21zm58.35 13.86L452.874 75.04c5.875 5.755 12.12 11.16 18.86 16.336 1.55-11.45-.575-21.67-5.458-29.738zm-88.18 1.705c-6.794 3.656-13.59 7.3-20.38 10.94 1.52 2.57 3.05 5.077 4.588 7.52 6.406-4.58 12.767-9.032 19.073-13.343-1.103-1.678-2.194-3.39-3.28-5.117zm41.884 1.25c-4.455 2.814-8.952 5.716-13.488 8.7 3.288 4.364 6.66 8.533 10.156 12.52l11.403-11.404c-2.757-3.173-5.44-6.446-8.07-9.817zm-78.05 18.178c-7.558 4.073-15.095 8.16-22.594 12.27 2.482 4.546 4.97 8.91 7.482 13.096 7.037-5.412 14.042-10.692 21.006-15.828-1.99-3.093-3.95-6.277-5.893-9.537zm49.808.426c-6.383 4.367-12.83 8.883-19.33 13.54 4.776 6.542 9.727 12.63 14.96 18.357l16.766-16.768c-4.287-4.812-8.406-9.844-12.396-15.13zm48.656 4.323l-11.29 11.288c3.424 3.257 6.974 6.402 10.673 9.46 3.202-4.148 6.437-8.332 9.593-12.415-3.074-2.71-6.07-5.48-8.977-8.334zM303.61 103.73c-7.378 4.124-14.707 8.288-21.975 12.503 3.508 6.854 7.005 13.322 10.537 19.414 6.827-5.588 13.643-11.066 20.443-16.435-3.05-4.946-6.043-10.105-9.004-15.48zm54.442 3.437c-7.102 5.25-14.255 10.65-21.445 16.195 5.945 8.62 12.127 16.47 18.762 23.73l19.507-19.507c-5.9-6.388-11.475-13.17-16.824-20.418zm105.27.074c-3.028 3.92-6.133 7.937-9.207 11.92 1.775 1.244 3.59 2.477 5.432 3.702 1.267-2.337 2.52-4.68 3.795-7.015 1.153-2.115 2.177-4.21 3.095-6.287-1.047-.77-2.087-1.54-3.115-2.32zm-46.695 4.048l-16.532 16.53c4.718 4.312 9.686 8.43 14.946 12.417 4.7-6.056 9.32-12.013 13.925-17.97-4.273-3.543-8.383-7.19-12.338-10.977zM266.2 125.565c-.83.906-1.07.793-1.485 1.09-.558.4-1.1.752-1.735 1.153-1.268.8-2.864 1.753-4.828 2.892-2.413 1.4-5.514 3.145-8.904 5.033-2.702 1.698-5.397 3.405-8.074 5.125 3.755 8.345 8.797 16.637 15.002 25.17 7.333-6.372 14.678-12.64 22.025-18.8-4.073-6.815-8.057-14.03-12-21.663zm-116.65 2.803C90.93 211.753 34.103 335.944 40.22 432.138c5.696 6.334 12.39 12.947 19.215 17.95 7.61 5.582 15.156 8.76 19.907 8.76h.45l139.268 13.926c-68.43-92.97-72.94-220.298-69.51-344.406zm293.692 4.87c-4.444 5.752-8.902 11.505-13.44 17.357 3.562 2.317 7.27 4.602 11.106 6.87 3.373-6.288 6.746-12.58 10.13-18.874-2.65-1.763-5.263-3.542-7.796-5.353zm-120.662 1.107c-6.922 5.48-13.865 11.083-20.822 16.8 6.816 10.3 13.91 19.52 21.61 27.948l19.51-19.508c-7.19-7.783-13.896-16.15-20.298-25.24zm65.023 5.966l-19.508 19.51c6.02 5.5 12.446 10.686 19.374 15.687 5.624-7.137 11.186-14.23 16.686-21.283-5.807-4.458-11.314-9.074-16.553-13.912zm-162.52 8.6c-6.484 3.484-13.3 7.11-20.3 10.802 4.492 10.944 11.093 22.845 19.223 35.006 6.07-5.553 12.16-11.05 18.27-16.48-7.103-9.59-12.857-19.13-17.192-29.327zm62.9 13.685c-6.882 5.788-13.763 11.678-20.638 17.658 7.596 9.074 16.32 18.562 26.073 28.79l17.46-17.458c-8.167-8.842-15.714-18.43-22.894-28.99zm130.845 2.115c-5.385 6.91-10.834 13.864-16.346 20.865 5.56 3.47 11.445 6.88 17.672 10.28 4.108-7.497 8.183-15.046 12.254-22.602-4.7-2.8-9.226-5.642-13.58-8.543zm-230.043 3.377c-7.095 3.687-13.966 7.22-20.463 10.51 3.642 13.868 11.777 30.123 22.885 46.923 6.346-6.118 12.732-12.185 19.158-18.193-9.026-13.173-16.406-26.366-21.58-39.24zm166.818 4.225l-19.508 19.507c7.207 6.583 14.993 12.72 23.534 18.624 5.666-7.013 11.274-14.016 16.823-20.994-7.41-5.446-14.336-11.123-20.85-17.138zM253.58 192.354c-6.36 5.658-12.702 11.39-19.02 17.184 8.084 10.67 17.152 21.326 26.858 31.506l19.263-19.264c-10.142-10.567-19.194-20.173-27.1-29.426zm137.777 7.317c-5.434 6.843-10.926 13.71-16.48 20.595 7.44 4.473 15.463 8.87 24.092 13.287 4.212-7.266 8.368-14.596 12.49-21.973-7.073-3.895-13.765-7.85-20.103-11.91zm-67.754 4.642l-17.46 17.458c8.36 7.97 17.038 15.497 25.783 22.417 5.536-6.632 11.016-13.27 16.447-19.91-8.91-6.3-17.12-12.9-24.77-19.965zM167.437 221.79c.31 8.662.715 17.282 1.262 25.836 3.052-3.06 6.117-6.108 9.198-9.145-3.788-5.568-7.284-11.143-10.46-16.69zm53.653.22c-6.492 6.08-12.944 12.228-19.352 18.423 8.29 11.04 17.64 22.08 27.68 32.61l19.263-19.263c-9.95-10.366-19.25-21.02-27.59-31.77zm142.412 12.268c-5.642 6.908-11.343 13.822-17.106 20.73.95.67 1.9 1.326 2.848 1.98 11.135-5.043 21.08-9.175 29.514-11.823.806-.253 1.553-.48 2.33-.723-6.137-3.337-12.01-6.713-17.586-10.164zm-70.094.23l-19.264 19.262c9.262 8.83 18.92 17.118 28.62 24.633 5.875-6.745 11.693-13.52 17.456-20.314-9.126-7.32-18.12-15.24-26.812-23.583zM188.6 253.257c-6.066 5.994-12.07 12.037-18.024 18.104.08.84.16 1.677.242 2.514 8.02 10.558 16.996 21.096 26.6 31.168l19.263-19.264c-10.078-10.5-19.56-21.436-28.08-32.52zm207.175 6.792c1.045.547-4.21-.04-11.627 2.29-7.62 2.39-17.802 6.602-29.472 11.934-23.342 10.665-52.773 25.796-82.73 40.12-29.96 14.327-60.4 27.873-86.608 35.478-.61.177-1.208.335-1.815.506 9.725 39.354 24.64 75.796 47.09 107.666 10.53-.556 19.844-2.732 28.217-6.078 18.345-7.332 32.617-20.42 44.62-35.205 12.005-14.786 21.526-31.097 30.673-44.343 4.573-6.623 9.025-12.513 14.183-17.188 5.16-4.675 11.558-8.383 19.036-8.383 16.213 0 30.66 10.89 45.064 26.074 9.18 9.68 18.34 21.64 27.37 34.79 2.69-28.988 8.2-55.247 7.468-77.426-.482-14.58-3.403-27.167-10.916-38.607-7.486-11.398-19.84-22.032-40.553-31.627zm-134.367 6.457l-19.264 19.263c5.433 5.18 11.003 10.173 16.637 14.94 1.8-.852 3.6-1.694 5.4-2.555 7.132-3.41 14.244-6.875 21.275-10.324-8.177-6.68-16.235-13.824-24.047-21.323zm-32 32l-19.264 19.263c1.084 1.034 2.176 2.056 3.27 3.075 8.875-3.585 18.068-7.574 27.39-11.795-3.846-3.427-7.648-6.946-11.396-10.543zm-54.406 8.834c.887 5.78 1.856 11.515 2.922 17.198l6.757-6.758c-3.296-3.435-6.522-6.92-9.678-10.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CornerFlag;

impl IconShape for CornerFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 32v298.582l-41.893 22.178c-3.534 10.965-9.343 20.92-16.877 29.303l67.77-35.88 105.512 55.86c-65.754 32.576-140.177 33.31-206.332 2.242C146.677 407.328 137.53 409 128 409c-7.938 0-15.606-1.17-22.863-3.313L18 451.817v20.365l113.213-59.936c78.502 43.595 171.072 43.595 249.574 0L494 472.182v-20.364L265 330.582V143.756c25.495-1.29 37.302-7.34 55 .244 29.395 23.17 64 48 96 48l-16-32c-48 0-53.708-90.33-80-112-19.185-11.34-29.794-15.214-55-15.88V32h-18zM116.963 265.975c-15.102 2.65-28.325 10.627-37.65 21.957L80 288l5.658 25.99-20.61 12.035c-.02.658-.048 1.313-.048 1.975 0 9.597 2.134 18.675 5.94 26.8l1.53-2.8 26.145 4.893 3.426 26.377-2.284 1.085C108.244 388.6 117.83 391 128 391c3.24 0 6.42-.244 9.525-.71l-6.257-6.618L144 360.316l26.146 4.89 1.124 8.64c10.107-9.54 17.04-22.395 19.09-36.87l-7.628 3.883-18.808-18.81L176 298.35l8.31 1.316c-6.132-12.207-16.102-22.12-28.357-28.17l.094 1.15-24.547 10.25-14.537-16.92zM128 304l18.81 18.81-12.078 23.7-26.27-4.16-4.163-26.274L128 304z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cornucopia;

impl IconShape for Cornucopia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.4 25.6c-15.8.49-36.7 11.91-50.7 18.51 15.2 2.23 33.5 6.67 45.2 13.9C256.6 50.15 262.7 41.1 265 31c-3.9-4.1-9.4-5.59-15.6-5.4zm-79.3 34.37c-16.1 1.66-40.7 11.42-50.4 38.2 30.1-5.32 64.9-14.77 87.1 6.33 16.2-5.65 20.7-20.65 25.2-32.45-19.8-9.66-41.6-11.32-61.9-12.08zm267.1 12.67c-16.5 18.03-18.6 26.03-22 41.16l11.7 16.9 18.4-17c1.5-15.13 1.2-18.23-8.1-41.06zm-47 34.66c-1.5 16.1-1 30.8 1.2 43.3l20.9 20.5 4.9-28.2-10.9-22.9c-4.9-4.2-10.3-8.5-16.1-12.7zM161.9 109c-26.1.1-55.7 12.3-72.9 19.9-40.81 24.8-54.24 59-57.44 97.4 34.32-56.4 101.84-82.6 159.74-83.7 6.8-7 7.1-14.2 6.3-21.5-9.4-8.9-22.1-12.2-35.7-12.1zM470 121.3c-6 1.4-11.5 3.1-16.8 4.9l-21.3 19.4-5 28.3 26.4-11.3c6.6-11 12.4-25.1 16.7-41.3zm-278.6 39.3C114 162.2 51.39 208 30.29 273.1c-1.47 27.3.76 51.9 29.44 69.3-2.71-83 67.57-141.6 137.07-163.5 3.2-7-.6-13.2-5.4-18.3zm184.4 2.1c-.4 46.2 13.6 48 28 56.3l5.3-29.9-20-19.4c-4.2-2.3-8.6-4.7-13.3-7zm87.9 15.4c-3.7.4-7.5.7-11.1 1.1l-28.8 12.6-5.4 30.4c21.2-1.5 31.6-4.3 45.3-44.1zm-257.2 16.7c-82.3 25.4-148.52 102.1-121.89 177 11.35 32.4 35.09 36.3 55.79 39.6-23.1-78.2 23.7-166.1 87.6-197.6-3.7-9.6-13.8-16.6-21.5-19zm42.4 29.9c-61.6 26.4-110 104.1-95.7 166.8 14.4-16.9 36.6-25.9 58.7-22.3 1.5-2.8 3.4-5.3 5.6-7.6-1.2-30.1 9.3-62.2 14.8-88.8 7.7 1.2 15.4 2.3 23.1 3.4 13.1-10.4 28.9-18.4 46.4-22.9-2.8-8.3-6.2-13.2-10.7-20.4-11.4-7.8-24-13.3-42.2-8.2zm101.7 7c-.7 6.5-.9 12.4-.7 18 16.3 1.6 31.6 6.1 45.2 12.9l-9.2 28.5 14.7 3.6 7.2-24.8c28.8 18.9 47.2 48.8 47.2 82.1 0 4.5-.3 8.9-1 13.2 6.1 1 12.7 3.8 17.1 6.9 1.2-6.6 1.9-13.3 1.9-20.1 0-42-24.1-78.6-60.3-100.2.7-4.9 1.4-10.2 2.2-16.1l-14.8-2.3c-.5 3.9-1 7.5-1.5 11-14.7-6.7-30.9-11.1-48-12.7zm-18.5 6l-16 3.1c6 14.7 6.1 29.1 5.2 43.4 5.1.6 10.3 1.1 15.4 1.5-3.1-15.4-5.6-30-4.6-48zm-85.6 55.4l-2.9 13.9 146.3 11.8 1.6-10.8c-51-3.2-99.1-8.3-145-14.9zm14.7 34.2c-9.2 0-15.9 6.7-15.9 14.5s6.7 14.5 15.9 14.5 15.9-6.7 15.9-14.5-6.7-14.5-15.9-14.5zm51.3 4.9c-9.8 0-17.3 7.4-17.3 16.6 0 9.2 7.5 16.6 17.3 16.6s17.3-7.4 17.3-16.6c0-9.2-7.5-16.6-17.3-16.6zm50.9 3.4c-9.2 0-15.9 6.7-15.9 14.5s6.7 14.5 15.9 14.5c8.4-.1 15.7-7.1 15.9-14.5 0-7.8-6.7-14.5-15.9-14.5zm44 0c3.4 16.5 3.8 30.6 3.4 45.4 6.1 5.6 9.6 3.2 14.8-1-3.7-14.4-5.6-30.6-2.6-43.3zm-166.5 34.3c-8.4 0-14.9 6.5-14.9 14.5s6.5 14.5 14.9 14.5 14.9-6.5 14.9-14.5-6.5-14.5-14.9-14.5zm46 8c-7.6 0-13.5 5.8-13.5 13.1s5.9 13.1 13.5 13.1 13.5-5.8 13.5-13.1-5.9-13.1-13.5-13.1zm91.2 1.3c-6-.2-10.9 6-16.5 15.7-4.7 8.4-7.6 19-8 27.6-1 23.4 12 52.9 31.2 63.8 11.4 2.3 22.4-4.4 33.2-4.2 9.1-1.6 25.9 11.6 33 7.6h.1c10.2-5.6 18.5-16.7 23.6-30.1 5.1-13.3 6.9-28.6 5.1-41.2-1.1-7.3-4.6-15.9-9.7-22.6-5.1-6.7-11.4-11.3-17.6-12.6-13.5 5.5-23.6 19.5-35.6 19.5-14.9 2.6-27.9-22.9-38.8-23.5zm-45.2 2.3c-8.5 0-14.5 6-14.5 12.8 0 6.8 6 12.8 14.5 12.8 1.8 0 3.5-.3 5-.8 1.6-6.4 4-12.9 7.3-18.9-2.5-3.5-6.9-5.9-12.3-5.9zm-131.3 4.9c-19.6.2-37.9 13.4-44.5 34.4-8 25.8 5.4 52.2 29.4 59.7 20.2 6.2 41.7-2.7 52.9-20.9-9.3-5.8-15.6-15.8-15.6-27.3 0-6.5 2-12.5 5.4-17.6-11.6-4.4-20.1-15.1-21.1-27.9-2.2-.3-4.3-.4-6.5-.4zm56.1 31.4c-9.2 0-15.9 6.7-15.9 14.5s6.7 14.5 15.9 14.5 15.9-6.7 15.9-14.5-6.7-14.5-15.9-14.5zm53 6.1c-10.6 0-18 7.2-18 15.2 0 8 7.4 15.2 18 15.2s18-7.2 18-15.2c0-8-7.4-15.2-18-15.2zm30.2 33.3c-5.4 7.6-14.2 13.1-24.1 14.6 10.9 1.3 20.8 1.5 30.9.7-2.7-4.8-5-10-6.8-15.3zm-67.3 7.4c-9.2 0-15.9 6.7-15.9 14.5s6.7 14.5 15.9 14.5 15.9-6.7 15.9-14.5-6.7-14.5-15.9-14.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coronation;

impl IconShape for Coronation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.856 50.373c-4.289-.091-8.97 1.201-13.855 3.974-7.815 4.436-15.57 12.706-20.586 23.664-5.016 10.958-6.207 22.235-4.457 31.049s6.028 14.76 12.027 17.506c5.999 2.746 13.296 2.098 21.111-2.338 7.815-4.436 15.57-12.708 20.586-23.666 5.016-10.958 6.207-22.233 4.457-31.047s-6.028-14.76-12.027-17.506c-2.25-1.03-4.682-1.582-7.256-1.636zM266.938 79.83l3.158 34.64-34.638-8.844 3.156 34.64-34.639-8.845 35.795 41.483 62.965-51.592zM61.048 129.4c-27.989 32.733-17.602 69.647-23.278 152.113-3.037 52.28-4.751 125.24-18.652 178.877H78.2c-3.42-12.717-11.376-11.458-32.334-14.79C63.382 398.616 63.012 341.9 73.907 295.922c14.704 48.344 17.938 116.123 22.338 164.467l64.459.248c-6.723-14.747-18.838-14.824-40.645-17.521 2.451-91.78-14.807-191.88-10.67-261.424 12.405 17.217 19.833 28.382 44.163 39.637 17.033-5.673 44.009-18.605 64.761-37.442l-13.773-17.224c-21.008 8.648-30.82 14.272-48.815 27.177-10.452-17.337-27.853-37.185-41.933-53.855-11.554 6.496-25.238 8.467-37.297 2.947-6.503-2.977-11.656-7.744-15.447-13.533zm235.304 46.508c-5.298-.121-9.812 1.346-13.33 4.209-5.117 4.164-7.767 10.993-7.248 19.964.52 8.972 4.507 19.585 12.114 28.932 7.606 9.347 17.19 15.409 25.869 17.74 8.678 2.332 15.902 1.124 21.02-3.04 5.116-4.165 7.769-10.994 7.25-19.966-.52-8.97-4.51-19.586-12.116-28.933-7.607-9.347-17.189-15.407-25.867-17.738-2.712-.729-5.283-1.113-7.692-1.168zm61.47 64.412c-2.198 6.706-6.03 12.752-11.684 17.353-8.425 6.856-19.163 9.123-29.815 7.86l-17.764 51.593c-23.887-19.119-21.008-19.596-33.611-29.752l-14.45 14.88c14.9 22.152 41.159 38.663 55.577 39.58 16.303-13.172 24.397-35.43 33.6-51.221 12.194 21.115 22.89 31.738 28.033 58.656-26.345 3.216-47.191 7.628-66.772 13.773-11.928 28.678-4.843 57.944-3.304 79.229-21.82 1.926-36.488 3.791-45.332 18.12h67.847c1.334-25.93-1.594-46.712-.158-70.112 14.757-.875 36.395 1.388 58.232-7.221-10.028 30.347-14.07 77.567 1.329 77.332 40.849-.624 55.168-11.297 79.673-24.076 10.758 24.182 34.55 32.637 33.633 18.355-9.4-12.598-21.035-25.694-24.99-42.417-31.704 14.746-44.336 20.923-66.205 22.755 11.165-20.84 35.358-60.87 34.2-84.031-2.806-56.052-53.141-95.034-78.04-110.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Corporal;

impl IconShape for Corporal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.978 93.103C226.38 140.78 161.383 218.66 106 257.6v52.892c53.113-38.92 105.113-92.537 140.56-145.71l9.44-14.158 9.44 14.16c35.333 53 87.963 106.296 140.56 145.47v-52.593c-56.39-38.937-120.654-116.944-150.022-164.557zm0 108.403C226.38 249.183 161.384 327.066 106 366.01v52.887c53.113-38.92 105.113-92.537 140.56-145.71L256 259.03l9.44 14.158c35.333 53 87.963 106.298 140.56 145.473v-52.594c-56.39-38.937-120.654-116.947-150.022-164.56z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Corset;

impl IconShape for Corset {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.338 41.857a56.97 56.97 0 0 0-3.11.077c-8.137.423-15.005 2.59-20.763 5.88-23.03 13.16-30.536 47.917-16.414 76.16 1.852 3.704 4.176 8.36 6.755 13.64l.09-.093c17.297 16.677 39.81 20.348 65.273 17.753 23.326-2.376 48.32-10.295 70.832-17.767v-37.73c-30.213-29.67-56.348-46.09-77.4-53.256-9.48-3.227-17.864-4.643-25.262-4.663zm223.326 0c-7.4.02-15.785 1.436-25.264 4.663-21.052 7.166-47.187 23.585-77.4 53.257v37.73c22.51 7.47 47.506 15.39 70.832 17.766 25.464 2.595 47.976-1.076 65.273-17.752l.09.095c2.58-5.28 4.903-9.937 6.754-13.64 14.12-28.244 6.616-63-16.415-76.16-6.477-3.702-14.358-5.983-23.87-5.958zM247 156.47c-21.26 7.003-45.164 14.283-69.008 16.712-18.156 1.85-36.632.733-53.365-5.875 5.4 12.258 10.946 25.775 15.86 39.697 12.245 34.696 21.475 71.573 12.052 99.842-8.95 26.846-29.95 47.313-47.575 68.853C87.34 397.24 73 419 73 448c0 4.25 2.587 8.662 9.543 13.72.254.186.525.37.79.553 6-7.805 12.843-17.922 18.8-28.644C111.748 416.32 119 397 119 384h18c0 19-8.748 39.678-19.133 58.37-5.844 10.52-12.22 20.262-18.29 28.386 4.05 1.66 8.443 3.22 13.07 4.642 5.606 1.726 11.565 3.253 17.68 4.6C154.508 450.405 167 409.304 167 368h18c0 41.506-11.394 83.17-34.78 115.648C165.033 485.86 179.73 487 192 487c5 0 16.16-3.256 27.008-10.488 10.385-6.924 20.808-17.23 27.992-30.723V406.56l-34.975 17.49-8.05-16.103L235.873 392l-31.898-15.95 8.05-16.1L247 377.437v-52.45l-51.84 19.44-6.32-16.856L230.365 312l-41.525-15.572 6.32-16.856 51.84 19.44v-60.45l-50.975 25.49-8.05-16.103L235.873 224l-47.898-23.95 8.05-16.1L247 209.437v-52.97zm18 0v52.968l50.975-25.49 8.05 16.103L276.127 224l47.898 23.95-8.05 16.1L265 238.563v60.45l51.84-19.44 6.32 16.856L281.635 312l41.525 15.572-6.32 16.856-51.84-19.44v52.45l34.975-17.49 8.05 16.103L276.127 392l31.898 15.95-8.05 16.1L265 406.563v39.227c7.184 13.49 17.607 23.798 27.992 30.722C303.84 483.744 315 487 320 487c12.27 0 26.968-1.14 41.78-3.352C338.393 451.168 327 409.506 327 368h18c0 41.304 12.493 82.405 36.672 111.998 6.116-1.347 12.075-2.874 17.682-4.6 4.626-1.423 9.018-2.983 13.07-4.642-6.072-8.124-12.447-17.865-18.29-28.385C383.747 423.68 375 403 375 384h18c0 13 7.252 32.322 16.867 49.63 5.957 10.72 12.8 20.838 18.8 28.643.265-.184.536-.367.79-.552 6.956-5.058 9.543-9.47 9.543-13.72 0-29-14.34-50.76-31.965-72.3-17.624-21.54-38.625-42.008-47.574-68.854-9.422-28.27-.192-65.146 12.054-99.842 4.913-13.922 10.46-27.44 15.86-39.697-16.734 6.608-35.21 7.724-53.366 5.875-23.844-2.43-47.75-9.71-69.008-16.713z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Corsica;

impl IconShape for Corsica {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.6 116.9l-28.5-13.5C197 130 170 171.2 146.9 213.6l35.3 33-33.8.8 7.5 33.7 33.8 8.2-21.8 56.3 33-2.3-18.7 49.5 48.7 12.7-27.7 30.8 97.4 58.5c40.6-74 48.1-148 64.5-222-.1-50.7.7-101.7-24.7-144.7 9.5-35.14 11-71.76-1.5-110.92l-31.5 6c-4.3 31.25-9.2 62.5-3.8 93.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CosmicEgg;

impl IconShape for CosmicEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M125.5 18.32c-7.6 11.66-3.8 25.54-29.09 27.43C122 47.6 119.6 62.27 116.7 79.64c7-10.99 5.8-26.11 29.6-26.37-17.6-8.95-20.8-21.77-20.8-34.95zm289.3 23.86c-7.9 15.84-10.7 33.81-42.5 39.75 32.5-1.2 35.5 18.01 34.2 40.27 7.8-16.6 6.5-43.57 33.9-37.6-23.5-8.64-23.7-25.84-25.6-42.42zM256 48c-46.3 0-117.6 75.3-153.6 177.4 7.3 3.1 14.3 6.9 21 11.3 5-2.7 10.4-4 15.9-4.1 6.1-.1 12.2 1.3 17.9 3.9 11.3 5.2 21.3 15 28.2 28.4 6.9 13.3 9.4 27.8 7.6 40.9-1.5 10.9-6.1 21.2-13.9 28.3 5.8 13.1 14 25.9 24.1 36.9 10.7 11.7 23.5 21.4 37.9 27.7a40 40 0 0 1 38.8-30.7 40 40 0 0 1 .1 0 40 40 0 0 1 23.5 7.7c13.8-17.5 26.1-34.9 33.1-53.6a30.91 36.38 9.798 0 1-9.9-33.7 30.91 36.38 9.798 0 1 31.9-31 30.91 36.38 9.798 0 1 4.7.4 30.91 36.38 9.798 0 1 10 3.9c-2.6-10.6-6.6-20.6-22.7-24.3 20.1-.2 21-10.8 24.9-23.8 3 17.7 3.3 26 24.2 28.4-21.6 6.8-20.7 11.8-23.4 21.9a30.91 36.38 9.798 0 1 11.3 35 30.91 36.38 9.798 0 1-1.7 6.6c8.6 2.2 18.9 3 29.5 2.5 4.5-.3 9.1-.8 13.6-1.6C410.9 165.6 313.8 48 256 48zM39.74 73.43c2.02 15.89-3.06 25.8-10.52 33.77 11.39-1.3 18.79-9.04 31.53 7-8.69-15.97 3.77-19.21 13.51-28.88-10.56.26-23.53 3.95-34.52-11.89zM255.9 80a80 80 0 0 1 .1 0 80 80 0 0 1 80 80 80 80 0 0 1-80 80 80 80 0 0 1-80-80 80 80 0 0 1 79.9-80zm.1 16-16 40-48 24 48 12 16 52 16-52 48-12-48-24-16-40zm182.9 40.6c2.7 13.6 15.1 20.9-1.7 39.9 19.6-16.5 28.1-4.3 38.1 10.2-2.6-12.8-14-22.8 2.9-39.6-18.9 5.9-30.1-1.1-39.3-10.5zM33.68 157.3c9.19 14.5 31.84 29 8.15 50 21.42-13 35.01-2.4 49.14 6.5-7.42-16.1-17.78-22.1-2.52-50.6-19.37 26.1-38.17 9-54.77-5.9zm63.21 84.9C86.35 276.7 80 313.9 80 352c0 42.7 35.7 92.6 88 121a40 33.09 35.15 0 1 2.4-4.2 40 33.09 35.15 0 1 25.8-12.5 40 33.09 35.15 0 1 25.9 8.5 40 33.09 35.15 0 1 18.7 30.5c5 .5 10.1.7 15.2.7 24.8 0 48.6-5.4 70.2-14.4-9.3-3.7-17.3-8.6-24.4-14.4-7.2-5.8-13.3-12.4-18.8-19.3a40 40 0 0 1-3 .1 40 40 0 0 1-38.6-29.7c-20.1-7.2-37.5-19.8-51.5-35.1-11.2-12.2-20.3-26.2-26.9-40.7-8.3 1.8-17.1.5-24.9-3.2-5.5-2.5-10.7-6.1-15.4-10.7 2.6 17.2 9.9 28.8 32.9 28.3-30.9 9.7-27.6 21.3-33.6 38-3.9-16.2-9.6-31.4-30.54-39 22.44 0 25.94-14.9 28.84-29.7-4-4.4-7.5-9.5-10.5-15.2-6.9-13.3-9.4-27.8-7.6-40.9 1-7.6 3.6-15 7.7-21.1-4.1-2.6-8.5-4.9-13.01-6.8zm279.01 79.1a30.91 36.38 9.798 0 1-22.7 8.5c-8.5 21.9-22.6 41.3-37.6 59.9A40 40 0 0 1 320 408a40 40 0 0 1-18.6 33.8c3.7 4.2 7.6 8.1 11.8 11.5 9.8 8 21.3 13.9 36.8 16.4 49-28.9 82-76.6 82-117.7 0-9.2-.4-18.4-1.1-27.5-4.8.7-9.7 1.1-14.5 1.4-14.1.8-28.2-.4-40.5-4.6zm-22.5 39.2c18.6 17.4 28.7 8.5 43.6 0-12.8 18.8-19.7 26.7-2.7 47.1-29.1-14.4-29.7-5.6-45.5 2.4 8.3-14.4 18.5-28.4 4.6-49.5zm-191.5 20.2c4.6 16 7.6 30.3 32.2 34.9-28.3 6.2-22.4 20-25.8 36-6-21.1-14.4-38.1-38.4-34.2 30.5-11 26.7-19.8 32-36.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CottonFlower;

impl IconShape for CottonFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.507 115.11c9.57 5.297 18.566 12.903 26.037 21.379 10.833 12.29 28.59 45.178 16.488 56.211-4.728-13.9-21.103-34.226-29.992-44.311s-21.578-18.9-52.738-28.575c-31.16-9.674-69.148 19.903-76.52 51.505-2.914 12.495.51 28.852 8.485 46.326s20.208 35.816 32.984 52.318a477.534 477.534 0 0 0 9.41 11.756c18.983 4.276 37.443 15.428 55.809 26.63 20.962 12.787 41.92 25.934 61.137 31.946 5.485-36.352 27.15-69.3 61.484-97.972l11.166-9.325 3.36 14.155c7.24 30.507 11.35 65.134-1.391 99.884 40.212-3.17 90.187-3.23 131.701 10.72 15.05-13.313 25.29-25.987 17.26-43.76-51.41 12.81-96.615-21.713-110.274-43.09 35.856 22.168 58.87 35.061 96.428 27.488 29.382-7.439 56.674-9.419 65.94-39.385 16.521-53.932 14.432-125.682-21.018-166.254-17.638-20.186-39.924-35.822-62.8-41.017-22.878-5.196-46.394-.887-66.583 16.095-20.188 16.982-29.956 33.382-33.648 48.041-3.693 14.66 8.225 45.176 10.042 52.874-19.041-15.644-32.472-37.512-27.495-57.27 4.468-17.742 15.862-34.596 30.91-47.748-6.982-14.43-19.913-23.282-34.713-28.453-61.606-16.768-134.47 5.879-121.469 79.832zm112.725 151.232c-27.875 26.527-43.112 55.04-44.983 85.74l-.619 10.162-10.01-1.86c-27.054-5.03-52.438-21.976-76.523-36.667-16.28-9.93-31.842-18.507-45.717-22.818 10.695 15.797 22.65 33.306 38.1 49.05 21.19 21.595 46.663 37.596 79.838 35.805l14.314-.773c-13.651 31.451-22.935 66.172-22.822 94.023l15.404 2.96c6.81-36.11 13.404-62.107 29.902-86.911 52.267 7.413 107.26-4.614 147.467-24.219-39.897-9.577-88.254-8.25-124.73-4.54l-16.412 1.667 7.48-14.703c14.8-29.092 14.524-58.461 9.31-86.916z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoveredJar;

impl IconShape for CoveredJar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20.499c-5.37 0-11.966 2.87-17.602 7.799-5.635 4.928-10.078 11.758-11.736 17.642-.916 3.253 1.542 14.605 5.803 23.897 2.475 5.398 4.819 9.6 6.619 12.664h33.832c1.8-3.064 4.144-7.266 6.62-12.664 4.26-9.292 6.718-20.644 5.802-23.897-1.658-5.884-6.101-12.714-11.736-17.642-5.636-4.929-12.231-7.799-17.602-7.799zm-34.879 66.803c-15.953 2.54-29.665 7.058-40.234 13.892-16.04 10.371-25.856 25.57-27.54 50.541 100.168 14.306 105.138 14.306 205.305 0-1.683-24.97-11.5-40.17-27.539-50.54-10.57-6.835-24.28-11.353-40.234-13.893-2.98 5.463-5.326 9.09-5.326 9.09l-2.66 4.107h-53.786l-2.66-4.107s-2.346-3.627-5.326-9.09zm-84.889 80.18C80.017 193.328 80 237.626 80 259.5c0 64 32 136 64 200 16 16 64 32 112 32s96-16 112-32c32-64 64-136 64-200 0-21.874-.017-66.172-56.232-92.02l-6.495.928c-112 16-114.546 16-226.546 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cow;

impl IconShape for Cow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468.958 108.958c-27.507 2.08-48.997 7.94-71.375 22.572-5.333-2.214-12.62-17.738-16-16-11.82 6.08-14.892 19.555-4.916 32.817l-59.084 9.916c-24.776 3.341-49.567 4.838-74.187 5.334 1.326 3.832 2.96 7.636 4.812 10.05 5.219 6.802 20.323 6.21 21.07 14.75 1.935 22.098-24.876 47.415-47.056 47.057-15.401-.248-17.017-28.762-31.604-33.713-19.097-6.482-41.62 18.77-59.699 9.832-15.267-7.547-24.992-39.8-27.836-50.41-10.213-.127-20.327-.142-30.316.035-12.564.366-22.902 5.645-29.408 14.239-8.676 11.458-11.652 26.658-13.254 42.925-1.78 18.057 6.147 53.007 5.517 70.282-.504 13.85-7.493 11.87-11.912 18.888-13.52 21.47 8.894 20.83 17.014 5.56 12.482-23.473 4.253-63.11 7.195-92.974 1.855-35.76 10.597-23.937 15.664-24.588-4.2 13.065-6.21 30.962-7 51.334 6.895-2.342 36.498-11.6 42.73-.174 6.872 12.598-27.802 22.016-23.878 35.819 2.464 8.666 22.95 2.378 24.582 11.238 3.322 18.035-32.13 38.713-42.236 44.209.812 23.329 1.564 45.567 1.238 65.086H88.91c-4.234-16.543-12.038-49.944-4.06-55.084 21.425-18.091 29.836-37.484 42.732-56.428 8.755 2.556 16.92 4.787 24.782 6.672 3.553.972 7.244 1.771 10.984 2.44 24.859 4.967 61.553 5.678 90.783-.172 3.76 34.12 7.263 68.452 4.602 102.572h28.957c-12.375-26.902-4.263-65.044 13.892-86.27l44.934-33.462c24.881-16.384 42.93-37.996 55.982-63.38 30.402 3.413 57.086 3.29 77.192-.786l12.84-19.55c-24.257-17.857-43.3-36.585-62.948-58.13 10.063-14.533 25.027-22.765 39.375-32.506zm-39.375 54.572a8 8 0 1 1 0 16 8 8 0 0 1 0-16zM366.2 183.481c5.029 9.822-26.17 10.808-24.933 21.772.998 8.847 22.204 3.839 23.53 12.643 3.818 25.373-28.44 53.805-54.08 54.78-14.262.544-34.902-14.06-32.308-28.093 2.605-14.092 34.551-1.657 40.383-14.748 4.724-10.603-18.352-22.01-12.992-32.307 6.264-12.032 30.364-22.553 41.934-22.646 11.57-.093 15.606 3.347 18.466 8.6zm-26.585 126.346l-34.707 23.96 6.464 69.255h34.414c-11.783-22.454-15.58-55.506-6.171-93.215zm-204.561 1.41c-6.047 12.184-14.147 21.97-22.174 31.242 5.97 3.235 11.648 5.414 17.154 6.614 11.218 2.443 21.636.333 29.948-4.408 10.056-5.737 17.521-14.452 24.115-23.368-14.615-.869-32.96-2.962-49.043-10.08zm24.252 52c-8.737 2.585-17.452 3.7-25.566 2.96 5.167 12.624 10.45 24.152 15.824 36.845h28.306c-10.393-18.48-16.148-29.285-18.564-39.805z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CowboyBoot;

impl IconShape for CowboyBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M186.04 28.48a129.5 129.5 0 0 0-5.07.054c-49.926 1.53-75.597 31.9-74.4 57.398.89 18.922 2.416 37.83 4.444 56.733 19.092-4.165 37.502-6.347 55.134-6.797 11.13-.284 21.945.136 32.434 1.166-2.545-36.064-5.777-72.215-8.744-108.45-1.275-.045-2.55-.094-3.797-.105zm21.972 1.466c3.003 36.432 6.283 72.948 8.824 109.553 37.808 6.546 70.754 21.334 97.615 40.987a3378.23 3378.23 0 0 0 17.077-73.777c-9.38 2.87-18.88 7.747-24.04 16.015l-13.88 22.23-2.707-26.065c-3.884-37.403-15.315-58.383-31.798-71.15-13.105-10.15-30.336-15.402-51.09-17.794zm-33.04 123.758a247.963 247.963 0 0 0-3.66.004c-18.41.157-37.85 2.365-58.22 6.947 7.097 57.442 18.488 114.89 30.615 172.664 20.94 1.16 38.01 2.942 54.818 7.325 6.488-61.598 5.21-123.43 1.288-185.515a240.542 240.542 0 0 0-24.842-1.426zm43.08 4.182c3.85 62.53 4.95 125.308-2.007 188.322 13.285 4.984 27.21 11.94 43.518 21.807l2.67 1.617 1.097 2.922c12.882 34.34 25.885 69.15 31.828 104.648 68.924-1.1 149.596 3.353 197.332-3.967-40-52.644-101.235-64.218-147.013-70.672-9.992-.196-18.673.505-31.99 1.596 6.397-6.884 10.99-11.14 16.503-13.43l-54.908-63.407 1.387-4.717c11.695-39.76 22.927-81.474 33.292-123.058-24.73-19.558-55.586-34.706-91.71-41.662zM69.51 279.98l-8.883 26.654c-.452.173-.897.36-1.336.56l-25.136-12.568 12.57 25.137c-.2.438-.388.884-.562 1.336l-26.652 8.88 26.652 8.886c.174.452.362.895.56 1.334l-12.568 25.137L59.29 352.77c.44.2.885.385 1.337.56l8.883 26.65 8.885-26.65c.45-.175.895-.36 1.334-.56l25.135 12.567L92.3 340.2c.074-.166.138-.338.21-.506 17.088 5.487 30.27 8.56 48.287 11.533.157-9.57 2.457-14.43 2.775-17.867-15.31-1.792-29.058-6.342-44.04-10.197l-6.675-2.065c-.173-.45-.36-.897-.558-1.335l12.565-25.137-25.136 12.568c-.44-.2-.884-.387-1.335-.56L69.51 279.98zm0 38.638c6.356 0 11.363 5.007 11.363 11.363 0 6.358-5.007 11.365-11.363 11.365-6.357 0-11.364-5.007-11.364-11.364 0-6.355 5.007-11.362 11.364-11.362zm71.39 32.57c-11.994 19.473-18.548 50.984-24.37 71.516 34.156 6.413 72.87 2.2 100.835 11.896 19.624 6.545 38.616 17.945 57.326 31.65-6.132-27.707-16.43-55.875-27.102-84.362-41.578-24.765-63.012-28.43-106.688-30.7zm-22.96 89.72c5.37 14.482 15.01 27.736 29.4 41.347 10.983 1.942 24.74 1.31 37.1.396 2.596-11.198 7.043-22.792 14.148-33.626-27.144-4.143-53.522-5.665-80.65-8.117z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CowboyHolster;

impl IconShape for CowboyHolster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.287 18c20.026 4.554 37.905 10.988 53.424 18.826 29.344 14.82 50.536 34.743 61.185 56.785.762-.375 1.524-.716 2.286-1.064 16.01-27.813 44.678-53.513 72.084-67.44L324.252 18zm207.543 0l-5.943 17.959c-2.84 8.581-7.447 22.48-10.336 35.844-1.474 6.817-2.196 13.56-2.324 19.002 8.954 2.6 17.027 5.537 23.914 7.69l6.515 2.034-2.418 81.147c43.855-2.398 89.439-6.668 139.522-12.838-6.076-.836-10.757-4.974-13.76-9.477-3.362 5.042-8.825 9.639-16 9.639-7.175 0-12.638-4.597-16-9.639-3.362 5.042-8.825 9.639-16 9.639-7.175 0-12.638-4.597-16-9.639-3.362 5.042-8.825 9.639-16 9.639-8.485 0-14.587-6.426-17.637-12.418-3.05-5.992-4.552-12.672-5.578-19.18-.942-5.975-1.383-11.792-1.598-16.402H359v-6.412a92.162 92.162 0 0 1 0-2.317V18zM377 25v78h14V25zm32 0v78h14V25zm32 0v78h14V25zm32 0v78h14V25zM52.371 28.453c-3.13-.019-6.297.005-9.5.07-5.249.108-10.71.475-16.152.82-5.876 24.015-4.617 48.104 1.295 72.721 48.867-2.29 92.91 6 130.681 26.471 20.332-1.332 38.212-5.913 59.59-23.488a98.494 98.494 0 0 1 2.074-1.654c-8.162-18.217-26.107-36.532-53.763-50.5-28.66-14.475-67.282-24.156-114.225-24.44zm5.604 20.897c8.177 0 15 6.822 15 15 0 8.177-6.823 15-15 15-8.178 0-15-6.823-15-15 0-8.178 6.822-15 15-15zm240.783 4.168c-12.121 8.949-23.875 20.11-33.348 31.78a91.28 91.28 0 0 1 9.62-.4 97.4 97.4 0 0 1 7.687.399c3.11.284 6.16.706 9.152 1.213.512-6.049 1.739-12.27 3.088-18.51 1.087-5.028 2.471-9.735 3.8-14.482zM57.975 61.35c-1.55 0-3 1.45-3 3s1.45 3 3 3 3-1.45 3-3-1.45-3-3-3zm214.021 41.504c-13.842.202-27.8 4.194-42.281 16.1-27.858 22.9-54.097 27.305-80.018 27.997-25.205.673-50.467-1.378-82.197 6.805-3.925 4.703-5.438 12.194-3.213 23.664 2.446 12.607 9.436 28.598 20.016 45.172 21.16 33.147 56.519 68.736 95.558 90.105l3.918 2.145 5.787 38.676c5.627.414 11.16.741 16.621.978l-6-46.326c-61.83-34.404-107.71-85.402-120.054-136.733 6.733-1.8 11.87-3.182 17.566-3.966 49.06-6.144 91.932 4.671 150.955-41.836 6.793-5.353 14.465-7.532 22.303-7.922a54.42 54.42 0 0 1 2.945-.065c6.886.03 13.831 1.296 20.36 2.871 9.793 2.363 19.385 5.46 27.566 7.526l.432-14.455c-12.858-4.22-26.731-9.05-41.18-10.367a89.855 89.855 0 0 0-6.316-.36 79.045 79.045 0 0 0-2.768-.01zM44.584 119.492a323.97 323.97 0 0 0-22.94.785l-3.644.25v46.264a2915.14 2915.14 0 0 0 27.355 3.385c2.461-40.486 36.809-39.757 69.131-40.85-21.45-6.556-44.743-9.781-69.902-9.834zM377.244 121c.204 3.997.561 8.769 1.322 13.598.866 5.492 2.31 10.812 3.84 13.82 1.531 3.008 1.647 2.582 1.594 2.582-.053 0 .063.426 1.594-2.582 1.53-3.008 2.974-8.328 3.84-13.82.76-4.83 1.118-9.601 1.322-13.598zm32 0c.204 3.997.561 8.769 1.322 13.598.866 5.492 2.31 10.812 3.84 13.82 1.531 3.008 1.647 2.582 1.594 2.582-.053 0 .063.426 1.594-2.582 1.53-3.008 2.974-8.328 3.84-13.82.76-4.83 1.118-9.601 1.322-13.598zm32 0c.204 3.997.561 8.769 1.322 13.598.866 5.492 2.31 10.812 3.84 13.82 1.531 3.008 1.647 2.582 1.594 2.582-.053 0 .063.426 1.594-2.582 1.53-3.008 2.974-8.328 3.84-13.82.76-4.83 1.118-9.601 1.322-13.598zm32 0c.204 3.997.561 8.769 1.322 13.598.866 5.492 2.31 10.812 3.84 13.82 1.531 3.008 1.647 2.582 1.594 2.582-.053 0 .063.426 1.594-2.582 1.53-3.008 2.974-8.328 3.84-13.82.76-4.83 1.118-9.601 1.322-13.598zm-198.832 14.682c-5.918-.1-10.816 1.094-14.617 4.09-61.862 48.743-111.583 40.606-156.283 45.195 16.65 39.858 56.729 81.362 109.289 109.656l4.066 2.19 7.531 58.144c30.008.192 58.766-2.478 90.91-8.21l5.97-200.194c-10.673-2.243-21.309-6.14-31.237-8.535-5.805-1.4-11.026-2.26-15.629-2.336zm56.676 226.316c-55.492 10.883-101.631 13.389-156.37 8.227l11.17 64.12c53.668 3.52 92.439 2.388 143.364-8.107zm-18.791 85.797c-26.058 4.345-49.883 6.217-75.05 6.351l4.183 32.291c12.605 3.098 24.55 3.438 34.966 1.905 19.798-2.914 32.784-13.29 35.286-19.942zm-107.777 5.644l2.662 17.795a116.105 116.105 0 0 0 15.228 8.5l-3.338-25.77c-4.761-.12-9.62-.303-14.552-.525z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cpu;

impl IconShape for Cpu {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151 22v32h18V22h-18zm48 0v32h18V22h-18zm48 0v32h18V22h-18zm48 0v32h18V22h-18zm48 0v32h18V22h-18zM131.7 73L73 131.7v248.6l58.7 58.7h248.6l58.7-58.7V131.7L380.3 73H131.7zm60.3 46h128v18H192v-18zM22 151v18h32v-18H22zm436 0v18h32v-18h-32zm-339 32h274v146H119V183zm-97 16v18h32v-18H22zm436 0v18h32v-18h-32zm-321 2v110h238V201H137zM22 247v18h32v-18H22zm436 0v18h32v-18h-32zM22 295v18h32v-18H22zm436 0v18h32v-18h-32zM22 343v18h32v-18H22zm436 0v18h32v-18h-32zm-266 32h128v18H192v-18zm-41 83v32h18v-32h-18zm48 0v32h18v-32h-18zm48 0v32h18v-32h-18zm48 0v32h18v-32h-18zm48 0v32h18v-32h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crafting;

impl IconShape for Crafting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v206h110v-3.3L99.27 192 135 156.3V25H25zm398 94c-16.5 0-31.3 3.4-41.2 8.4-10 5-13.8 10.6-13.8 14.6s3.8 9.6 13.8 14.6c9.9 5 24.7 8.4 41.2 8.4 16.5 0 31.3-3.4 41.2-8.4 10-5 13.8-10.6 13.8-14.6s-3.8-9.6-13.8-14.6c-9.9-5-24.7-8.4-41.2-8.4zm-263 37.7L124.7 192l64 64-64 64 35.3 35.3 76.3-76.3H329v37.8l72.9-60.8-72.9-60.8V233h-92.7L160 156.7zm208 12.8v34.8l62.1 51.7-62.1 51.7V366c0 8 4.8 13.8 15 18.9 10.2 5.2 25.1 8.1 40 8.1 14.9 0 29.8-2.9 40-8.1 10.2-5.1 15-10.9 15-18.9V169.5c-1.8 1.1-3.7 2.2-5.7 3.2-13.2 6.6-30.4 10.3-49.3 10.3s-36.1-3.7-49.3-10.3c-2-1-3.9-2.1-5.7-3.2zM80 361c-30.48 0-55 24.5-55 55s24.52 55 55 55c30.5 0 55-24.5 55-55s-24.5-55-55-55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crane;

impl IconShape for Crane {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M213.293 19.46L29.691 120.34h37.375l133.489-73.346-15.819 73.346h18.41l11.584-53.701 13.688 53.7h18.574l-19.447-76.294 202.941 76.295h51.147zM25 138.34v30h462v-30zm32 48v30h62v-30zm144 0v46h30v-46zm48 0v46h19.273L279 221.613V186.34zm190 0v141.707a24.618 24.618 0 0 1 9-1.707c3.166 0 6.2.61 9 1.707V186.34zm-238 64v242h30v-242zm247 94c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zm-20.393 21.365l-16.421 24.635h21.63l9.743-14.613c-6.118-1.384-11.417-5.04-14.952-10.022zm40.786 0c-3.535 4.981-8.834 8.638-14.952 10.022l9.743 14.613h21.63zM409 408.34v30h78v-30zm-226 24.5l-60.4 45.3 10.8 14.4 49.6-37.2zm66 0v22.5l49.6 37.2 10.8-14.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CreditsCurrency;

impl IconShape for CreditsCurrency {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224 22v63.46c-31.9 7.25-58.7 20.94-80.3 41.14-33.7 31.5-50.53 74.7-50.53 129.6 0 54.3 16.53 97.3 49.63 129 21.9 20.9 49 35 81.2 42.1V492h64v-59.4c21.5-.6 42.3-3.2 62.7-7.9 23.5-5.3 56.3-13.2 78.2-23.9l-16-163.8H302l-36 58.8h69.6l8 66.2c-16.2 6.2-36.3 7.1-54.6 7.1-33.5 0-59.4-9.8-77.7-29.5-18.3-19.6-27.4-47.4-27.4-83.4 0-36.4 9.4-64.3 28.3-83.8 19-19.6 46-29.4 80.9-29.4 18.9 0 37.7 2.7 56.4 8 18.9 5.3 33.8 13.4 52.8 24.2l-8-72.5c-18.4-8.35-26-12.66-46.9-16.94-18.9-3.94-38.7-6.06-59.4-6.38V22h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrenelCrown;

impl IconShape for CrenelCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 68.02L169.7 240.7l14.8 44.5-17 5.6-15.2-45.6-66.42-53-12.18 60.9 12.62 12.6-12.66 12.6-15.21-15.2-30.53-20.4 25.15 163.4 39.17-65.2 89.66 35.8 30.9 46.4h86.4l30.9-46.4 89.7-35.8 39.1 65.2 25.2-163.4-30.6 20.4-15.2 15.2-12.6-12.6 12.6-12.6-12.2-60.9-66.4 53-15.2 45.6-17-5.6 14.8-44.5zm0 122.58l55.7 92.8 1.9 3.2-17.5 70-20.4 20.3h-39.4l-20.4-20.3-17.5-70zm0 34.8l-38.4 64 14.5 58 11.6 11.7h24.6l11.6-11.7 14.5-58z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrescentStaff;

impl IconShape for CrescentStaff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.8 20.58l9.4 56.31c9.5-8.14 19.9-14.23 30.7-18.5zm82 47.65c-24.8.21-47.5 8.5-66.8 27.81-42.6 42.66-42.5 94.96-31.6 138.56 10.9 43.6 32.7 76.4 32.7 76.4l9.3 14h-40.2l33.3 33.4 37.5 37.4 57.4-24.6c-7.4-3.8-14.4-8.8-20.6-15-18.1-18-25.8-42.7-23.2-66.3-.8-1.6-1.7-3.3-2.5-4.9-12.8-25.2-23.7-52.3-27.2-77.9-3.6-25.6.5-50.7 19.3-67.6 21-18.9 49.2-22.1 77.5-15.9 28.3 6.2 57.8 21.4 85.3 40.6 27.5 19.1 53 42.2 72.9 64.6 12.1 13.8 22.2 27.1 29.4 39.6-.1-1.2-.1-2.4-.3-3.7-1.5-10.7-6.8-24.5-15.3-39.3-17-29.8-46.6-64.1-81.5-92.8-34.9-28.8-75.2-51.93-112.9-60.56-9.4-2.15-18.6-3.45-27.5-3.75-1.7-.1-3.3-.1-5-.1zM49.45 98.9l81.95 58.9c2.4-12.4 6.4-24.8 12.4-36.8zm80.95 117.2l-68.5 30.6 75.6 1.7c-.9-3.1-1.8-6.2-2.6-9.4-1.8-7.3-3.4-15-4.5-22.9zm188.7 19.8c-16.1 0-32.2 6.2-44.6 18.5a62.83 62.83 0 0 0 0 89.1 62.83 62.83 0 0 0 89.1 0 62.83 62.83 0 0 0 0-89.1c-12.4-12.3-28.4-18.5-44.5-18.5zm-198 81.4l-21.25 21.3L200.3 439l21.2-21.2zm-22.69 45.3L18 443v51h104.7l53.6-53.6-12.8-12.7-38.9 38.9-12.8-12.8 38.9-38.9-26.8-26.8L84.99 427l-12.74-12.8 38.85-38.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cricket;

impl IconShape for Cricket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.635 85.86L247.09 96.466c21.23 29.114 69.244 55.739 112.074 79.193 4.964 2.718 9.83 5.363 14.594 7.955-9.767-3.123-19.881-6.35-30.317-9.775-26.672-8.755-54.46-18.512-77.57-29.09-23.109-10.578-41.403-22.446-48.861-32.674l-14.543 10.606c11.293 15.487 31.657 27.33 55.912 38.433 24.255 11.103 52.538 20.995 79.45 29.828 26.91 8.833 52.481 16.61 70.808 23.192 9.163 3.29 16.56 6.339 20.978 8.732 1.43.775 1.879 1.178 2.569 1.68-.44 2.39-1.41 6.243-4.782 11.303-6.575 9.761-18.197 14.277-29.384 15.49 4.176 1.229 6.886 8.01 6.88 17.219 9.784-1.672 17.722-5.09 24.008-9.342 7.844-4.62 13.311-10.662 16.674-16.664 4.461-9.639 9.002-23.26 3.248-31.955-1.703-2.47-3.74-4.467-6.115-6.506-4.751-4.078-10.966-8.21-18.477-12.776-15.022-9.133-35.145-19.788-56.427-31.443-42.565-23.31-89.902-51.696-106.174-74.012zm-114.397 24.762c-9.4 3.874-8.762 10.376-3.888 16.318 14.772 18.104 27.812 44.994 40.523 58.752a9926.19 9926.19 0 0 1 13.887 15.059c-2.567-4.963-4.868-9.385-7.864-15.219-10.224-19.909-19.95-47.74-29.648-65.207-3.197-4.244-7.41-9.635-13.01-9.703zm-30.687 20.363c-11.185 1.776-7.269 11.57-3.813 17.637 10.272 22.183 29.461 39.584 38.063 57.246 18.24 43.23 31.939 85.906 58.873 112.25a73.164 73.164 0 0 1 10.844-12.451c7.632-6.975 16.662-11.506 26.277-14.346-11.05-22.287-7.461-19.075-76.143-93.414-16.09-17.416-28.97-44.54-41.248-59.586-3.769-3.53-7.776-6.975-12.853-7.336zm-14.463 34.899L62.422 382.042l-39.764 10.867 3.229 11.045 49.888-13.002 35.383-211.057a350.858 350.858 0 0 1-9.07-14.011zm23.84 34.777l-3.473 20.711c2.635-.34 5.295-.672 7.97-1l3.016-8.492c-2.395-3.862-4.895-7.525-7.513-11.219zm152.787 11.065c-.23 7.585-1.024 14.207.398 19.38 2.012 7.321 6.792 14.234 28.57 20.516l5.694 1.643.742 5.877c1.323 10.48 3.45 21.298 7.139 31.388 6.038 2.343 9.859-.249 15.707-.43 2.519-.059 4.882.323 7.096 1.006-.11-1.585-.192-3.19-.227-4.816.92-25.278 8.112-43.763 27.992-56.736-26.79-12.354-65.704-17.266-93.111-17.828zm-18.477 15.777c-11.795.668-23.882 1.43-36.047 2.273 30.931 34.513 30.044 36.855 41.002 58.06 4.566-.45 9.15-.654 13.68-.648 4.433.006 8.808.205 13.066.522a126.809 126.809 0 0 0 8.332-4.608c-1.298-5.421-2.283-10.807-3.058-16.019-21.288-7.389-32.065-18.864-35.457-31.205-.789-2.87-1.252-5.67-1.518-8.375zm-116.218 9.389c-.565.063-1.146.12-1.71.185a1097.7 1097.7 0 0 0-22.97 2.877l-10.219 60.965c21.487 4.577 45.342 7.712 69.647 8.295-16.523-23.339-25.31-47.885-34.748-72.322zm243.205 4.591c-9.683 4.55-15.505 10.473-19.33 17.112-4.66 8.084-6.27 17.674-6.065 27.31.115 5.376.81 10.7 1.754 15.637 1.282 5.49 4.624 10.074 9.328 10.789 7.816 1.117 15.351-.584 21.184-5.463 5.832-4.88 10.597-13.285 11.35-27.947.136-2.67-.092-5.496-.589-8.352a52.415 52.415 0 0 1-.61 6.059c-2.11 13.112-8.581 22.975-14.454 22.03-5.872-.947-8.923-12.34-6.814-25.45 2.068-12.839 8.332-22.61 14.14-22.057-3.176-4.713-6.832-7.906-9.894-9.668zM68.59 248.712c-5.001 1.124-9.696 2.29-14.014 3.498-10.94 3.062-19.547 6.474-24.629 9.594-4.341 2.665-5.022 4.082-5.185 4.57.286.44.921 1.484 2.47 2.87 2.789 2.492 7.585 5.705 13.858 8.978 5.673 2.96 12.603 5.996 20.441 8.959l7.059-38.47zm362.127 25.453l-7.27 4.687c-.01.33-.01.66-.027.99a76.86 76.86 0 0 1-1.324 10.856l42.093 58.615 25.153-9.761-6.514-16.782-15.16 6.41-36.951-55.015zM282.99 305.712a154.67 154.67 0 0 0-3.642.004c-18.142.23-36.153 3.612-46.69 13.24-19.557 17.87-22.155 49.233-25.113 77.91l24.922 29.274 15.322-7.645-21.021-26.187.724-4.034c3.167-17.61 4.964-34.087 22.432-50.298l2.869-2.664 3.906.285c13.501.981 25.494 1.403 34.512-.506 8.927-1.89 14.718-5.24 19.404-13.361 1.65-3.378 1.663-5.31.98-7.598-.542-1.822-2.077-4.087-4.187-6.504-7.586-1.06-15.935-1.825-24.418-1.916zm54.399 2.385c-8.286 3.23-9.852 14.926-7.436 21.496 1.977 5.303 6.073 10.403 11.713 14.967 10.212 8.263 25.065 14.122 36.346 17.011l35.115-24.441 38.117 50.508 37.594-12.412-4.143-14.13-26.914 10.155-40.996-57.092-41.586 29.73-5.344-4.486c-11.343-9.523-19.438-22.073-25.904-27.765-3.233-2.846-5.26-3.572-6.562-3.541zm-231.25 10.605l-4.125 24.608c34.766.566 67.115-2.114 98.091-6.745a99.96 99.96 0 0 1 .782-1.986 100.748 100.748 0 0 1-4.526-4.303 173.342 173.342 0 0 1-2.836-2.968c-30.55.615-60.648-2.936-87.386-8.606zm-55.612 28.436L30.06 352.73l3.23 11.045 14.898-3.882 2.34-12.756zm209.116 6.607c-2.152 3.434-2.897 8.202-4.096 12.193l38.459 32.315 11.578-13.781-29.389-24.696 1.612-5.363c-5.934.075-12.007-.253-18.164-.668z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CricketBat;

impl IconShape for CricketBat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M433.2 17.99L159.8 291.4l60.8 60.8-6.3 6.3L494 78.79c0-24.32-36.5-60.8-60.8-60.8zM161.5 64.03a32 32 0 0 0-7.8.59c3.9 21.25 13.8 38.48 30.3 52.48a32 32 0 0 0 3.7-37.13 32 32 0 0 0-26.2-15.94zm-24.1 9.35a32 32 0 0 0-5.1 38.62 32 32 0 0 0 36 14.9c-15.5-14.7-25.9-32.79-30.9-53.52zm26.4 247.22C126.3 378.1 60.46 427.7 19.06 479.5c-4.82 5.9 7.6 18.2 13.53 13.5C84.32 451.6 133.9 385.7 191.4 348.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrimeSceneTape;

impl IconShape for CrimeSceneTape {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M390.527 22.85l-72.185 24.5-20.711 38.71 72.185-24.501zm16.83 6.697L394.76 53.094l18.463-6.268zM121 41v54.324l30-10.181V71h41.664l88.385-30zm172.398 14.816l-72.185 24.502-20.711 38.711 72.184-24.502zM391 73.38L361 83.56V205.43l30 9.564zM196.268 88.785l-72.186 24.502-7.588 14.182 30.496 9.724 28.569-9.697zM343 89.67L175.865 146.4 343 199.69zM99.139 121.754l-.276.094.192.06zm-30.98 9.197l28.995 40.733 93.37 29.77-28.997-40.733zm121.948 38.883l28.997 40.732 93.37 29.772-28.995-40.733zM121 198.18v161.793l30-11.137v-141.09zm191.06 10.539l28.997 40.732 41.777 13.32 31.547-11.709-8.951-12.574zM169 213.484v128.67l116.621-43.293C281.521 294.4 279 288.468 279 282c0-13.7 11.3-25 25-25 .565 0 1.124.027 1.68.065zm279.635 44.063l-91.873 34.105-27.06 42.045 91.874-34.105zm-131.711 3.101c7.426 6.439 12.262 14.032 12.057 22.118L343 277.56v-8.598zM304 275c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zm24.637 27.092l-91.873 34.105-27.06 42.047 91.872-34.105zM391 330.142l-30 11.137v83.834l30 6.024zM208.639 346.64l-83.713 31.076 55.945 11.232.707-.261zM343 347.96l-128.563 47.726L343 421.5zM80.54 387.162l30.355 36.695 88.02 17.672-30.356-36.695zm116.034 23.297l30.356 36.695 88.021 17.672-30.355-36.695zm116.035 23.297l30.356 36.695 88.02 17.672-30.356-36.695zM121 444.244V487h30v-36.732zm48 9.637V487h164.951zm259.645 3.172l20.35 24.6 3.958-19.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Croissant;

impl IconShape for Croissant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 99.633c-37.26 0-74.595 11.18-119.844 33.328 1.565 57.322 29.767 114.884 57.942 145.362C211.383 271.182 233.625 268 256 268s44.617 3.18 61.902 10.322c28.175-30.478 56.377-88.04 57.942-145.36C330.594 110.813 293.26 99.63 256 99.63zm-134.422 54.135c-25.185 6.602-40.16 20.58-49.844 40.697-5.602 34.042-.223 57 10.98 74.916 10.892 17.424 27.93 30.347 47.21 42.335 10.962-1.166 21.316-2.24 30.152-5.563 8.206-3.086 15.32-8.034 21.715-17.27-27.815-30.238-53.7-80.825-60.212-135.114zm268.844 0c-6.513 54.29-32.397 104.876-60.213 135.115 6.393 9.235 13.508 14.183 21.714 17.27 8.836 3.322 19.19 4.396 30.152 5.562 19.28-11.988 36.318-24.91 47.21-42.334 11.203-17.915 16.582-40.873 10.98-74.915-9.684-20.118-24.66-34.095-49.844-40.697zM54.33 234.014C36.35 260.292 24 289.6 24 320c0 21.623 1.848 42.626 6.418 58.707 4.57 16.08 11.55 26.322 20.512 29.85 13.776 4.573 33.902-22.085 45.773-41.323 3.23-6.184 6.993-13.896 10.555-21.39 5.296-11.145 8.708-18.703 10.545-22.787-18.77-11.952-36.496-25.745-48.657-45.194-7.68-12.283-12.92-26.732-14.816-43.85zm403.34 0c-1.897 17.117-7.137 31.566-14.816 43.85-12.16 19.448-29.886 33.24-48.657 45.193 1.837 4.084 5.25 11.642 10.545 22.787 3.562 7.494 7.326 15.206 10.555 21.39 7.403 14.066 26.39 45.016 45.773 41.323 8.96-3.528 15.942-13.77 20.512-29.85C486.152 362.627 488 341.623 488 320c0-30.4-12.35-59.708-30.33-85.986z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrookFlail;

impl IconShape for CrookFlail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426 28.41c-9.7-.13-19.6 1.7-28.8 5.82l22 30.51c3.2-.53 6.5-.56 9.8-.14l29.6-27.93c-5.1-2.67-10.6-4.73-16.2-6.13-5.3-1.32-10.8-2.06-16.4-2.13zM374.8 51.1c-8.9 10.45-15 24.2-17.9 41.02l36.3.86c1.1-4.26 2.4-7.87 4-10.95L374.8 51.1zm-268.6 3.09c-10.98 0-19.68 8.7-19.68 19.68s8.7 19.68 19.68 19.68c11 0 19.7-8.7 19.7-19.68s-8.7-19.68-19.7-19.68zm374.3.37L454 79.57c.8 1.35 1.4 2.73 1.9 4.12.7 2.07 1.2 4.36 1.2 6.88l34.1 12.23c2.4-10.59 2-21.01-1.1-30.49-2.2-6.62-5.5-12.55-9.6-17.75zM138.9 92.48c-3.1 5.44-7.6 10.02-12.9 13.32l.7 37.3 11.1 19 31.7-17.1-30.6-52.52zM89 107.3l-21.17 66.6 41.57 7.1-1.3-69.5h-1.9c-6.2 0-12.03-1.5-17.2-4.2zm355.6 8.5c-1 1.2-2.1 2.3-3.3 3.5l-5.3 5.2V148h36v-9.1c2.9-3.4 5.5-6.9 7.9-10.4l-35.3-12.7zm-89.3 4.3c.1 2.5.2 5 .4 7.6l-10 17 30.3 19.4 16.6-28.1-.7-6c-.4-3.2-.6-6.2-.7-9.1l-35.9-.8zm-23.9 48.8l-17.6 29.7 30.7 18.8 17.2-29.1-30.3-19.4zm-147.8.3l-31.7 17.2 21 36 31.3-17.7-20.6-35.5zM47.13 188.6c-.31.7-.61 1.5-.92 2.3-5.98 15.6-11.46 34.7-15.53 54.9-8.14 40.3-11.18 85 1.48 116.9 6.97 17.6 4.68 48.3-.38 73.9-5.06 25.6-12.16 46-12.16 46l17 6s7.49-21.6 12.82-48.5 9.25-59.3-.54-84c-10.03-25.3-8.34-68.3-.58-106.8 3.89-19.2 9.16-37.5 14.7-52 .74-1.9 1.5-3.8 2.27-5.6l-18.16-3.1zm25.75 4.4c-1.72 10.2-3.29 22.3-4.4 35.7-3.07 36.7-2.88 81.9 8.19 118.2 20.19 66.3-.78 92.8-15.95 140.7l17.16 5.4c14.29-45.1 37.62-80.2 16.01-151.3-9.84-32.4-10.43-76.2-7.48-111.5 1.07-12.8 2.59-24.5 4.22-34.2l-17.75-3zm30.72 5.3c.6 12 1.5 26.7 2.7 42.5 3 38.4 7.3 81.2 15.6 104.4 22.5 62.4-15.2 143.9-15.2 143.9l16.2 7.8s42.1-85.1 16-157.7c-6.5-18-11.7-61.8-14.6-99.8-1.1-13.8-1.9-26.9-2.5-38l-18.2-3.1zm196 24.4L279.8 256l30.2 19.8 20.3-34.3-30.7-18.8zm-81.3 6.2L187 246.7l16.8 28.9 30.8-18.7-16.3-28zm47.3 51.3l-8.8 14.8-8-13.8-30.8 18.7 17.8 30.6-20.5 34.7 30.6 18.9 10.6-17.9 10.6 18.2 31.4-18-20.9-35.8 18.1-30.7-30.1-19.7zM201 389.3l-21 35.5 30.7 19 21-35.6-30.7-18.9zm111.5 1.3l-31.3 18 19.1 32.8 31.1-18.4-18.9-32.4zm33 56.6l-31.2 18.3 16.1 27.6 31.2-18.2-16.1-27.7zM165.8 449l-15.3 25.8 31 18.4 14.9-25.3-30.6-18.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossShield;

impl IconShape for CrossShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20c-64 96-128 88-192 104 0 256 64 320 192 368 128-48 192-112 192-368-64-16-128-8-192-104zm0 32a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm.291 30.152a269.17 269.17 0 0 0 13.84 14.15c34.949 35.385 82.966 45.887 130.685 56.428 2.732 1.184 6.62.508 8.864 1.958-2.683 64.84-5.522 131.649-32.315 191.746-12.685 31.46-36.26 57.602-64.37 76.144-15.452 10.864-32.847 18.227-49.884 26.115-6.586 4.573-13.697-.448-20.242-2.46-43.648-17.847-84.444-48.619-105.056-92.266-29.065-62.018-32.949-131.823-35.815-199.393 57.423-8.808 112.578-27.8 152.441-70.418zM256 124l-27.512 68.78C211.228 189.067 190.45 182.15 160 172c0 32-16 48-32 64 0 16 64 32 80 32 13.173-8.782 22.72-15.138 30.646-19.1C234.19 277.441 218.65 337.35 192 364c32 16 48 32 64 48 16-16 32-32 64-48-26.65-26.65-42.19-86.559-46.646-115.1 7.926 3.962 17.473 10.318 30.646 19.1 16 0 80-16 80-32-16-16-32-32-32-64-30.45 10.15-51.228 17.068-68.488 20.78zm-172 8a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm344 0a9 9 0 1 1 0 18 9 9 0 0 1 0-18zM96 282a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm320 0a9 9 0 1 1 0 18 9 9 0 0 1 0-18zM160 410a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm192 0a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm-96 50a9 9 0 1 1 0 18 9 9 0 0 1 0-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrosscutSaw;

impl IconShape for CrosscutSaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.2 25.24c-2.6 2.79-4.7 8.5 4.3 17.93l53.2 53.59L406 82.83l-54.2-53.11c-10.5-9.45-16-7.26-18.6-4.48zM25.21 333.3c-2.7 2.6-4.97 8.1 4.48 17.8l53.11 55 15.05-15-54.65-53.5c-9.49-9-15.22-6.9-17.99-4.3zm72.64 85.5l69.65 70.3 3.5-31.3 26.5 15.9c.1-.1.2-.1.3-.1l5.2-33.7 32.7 8.8.2-.1 9-36.4 34 7.8c.1-.1.3-.3.5-.4l6.5-38.1 31 6.7 2.8-35.1 35 1.6-1.4-35 34.9-2.8-6.7-30.7 38-6.8.4-.5-7.7-34.1 36.7-8.8.2-.2-9.2-32.7 33.5-6.7.2-.2-15.9-25.1 31.4-3.5-70.4-70.84z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crosshair;

impl IconShape for Crosshair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 32v23.21C143.25 59.8 59.798 143.25 55.21 247H32v18h23.21C59.8 368.75 143.25 452.202 247 456.79V480h18v-23.21C368.75 452.2 452.202 368.75 456.79 265H480v-18h-23.21C452.2 143.25 368.75 59.798 265 55.21V32h-18zm0 41.223V128h18V73.223C359 77.76 434.24 153 438.777 247H384v18h54.777C434.24 359 359 434.24 265 438.777V384h-18v54.777C153 434.24 77.76 359 73.223 265H128v-18H73.223C77.76 153 153 77.76 247 73.223zM247 224v23h-23v18h23v23h18v-23h23v-18h-23v-23h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crossroad;

impl IconShape for Crossroad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164 16l-32 16 32 32 64 16V32l-64-16zm184 0l-64 16v48l64-16 32-32-32-16zM247 32v112h18V32h-18zM16 64l182.7 182.7L96 496h320L313.3 246.7 496 64h-64L256 192 80 64H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrowNest;

impl IconShape for CrowNest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.34 32l-4.2 215h44.4l-4.2-215zm-19.123 2.615C138.694 43.565 84.74 71.663 29.66 103.07c55.44 5.404 110.725 12.245 154.174 37.74zm145.11 43.916c-7.32 0-14.18 3.754-19.69 10.898-5.51 7.144-9.235 17.565-9.235 29.265s3.724 22.124 9.235 29.268c5.51 7.145 12.37 10.897 19.69 10.897 7.322 0 14.182-3.752 19.693-10.896 5.51-7.143 9.234-17.567 9.234-29.267s-3.724-22.12-9.234-29.265c-5.51-7.144-12.37-10.897-19.692-10.897zM464.34 98v11h-87.738c.42 3.16.652 6.394.652 9.693 0 2.817-.162 5.59-.47 8.307 30.437-.032 59.455.005 87.556 0v11h18V98zm-43.244 46.984c-1.398.002-1.39 0-2.813.002-6.143.01-12.254.028-17.152.05l-10.81 22.693-44.84 6.014c-4.726 1.99-9.82 3.113-15.152 3.113-6.93 0-13.46-1.882-19.29-5.126L279.802 247h72.715l-4.663-37.492-18.46 2.18-2.11-17.877 2.186-.257.067.492 72.84-9.774zM90.526 265l14.154 46h53.015l-7.076-46zm78.304 0l7.076 46h92.867l7.077-46zm125.23 0l-7.076 46H340l14.154-46zm-183.843 64l14.154 46h43.17l-7.075-46zm68.46 0l7.075 46h73.176l7.076-46zm105.538 0l-7.076 46h43.17l14.153-46zM129.91 393l19.076 22h30.864l-9.54-22zm58.61 0l9.54 22h48.56l9.538-22zm85.85 0l-9.54 22h30.863l19.077-22zm-78.643 40l-.41 61h54.046l-.41-61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crowbar;

impl IconShape for Crowbar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M417.186 30.744c12.997 11.133 42.59 56.346 39.306 97.635-1.062 43.45-8.042 83.123-20.326 115.91l-53.443 63.673c-11.52 28.003-20.44 60.487-33.024 84.76l-15.93-8.383c13.343-29.754 23.773-60.04 33.152-85.55l53.416-63.644c27.66-74.695 20.835-130.908 2.615-166.083-46.748-89.71-131.486 12.928-167.7 64.822l-95.968 132.588s9.633 11.59 16.127 19.236c14.846-20.453 67.174-89.815 104.817-133.747 27.56-32.168 71.878-85.727 102.04-69.326 8.757 4.65 9.267 9.775 14.37 27.263 5.104 17.49 4.986 106.234-14.238 145.098l-30.47 38.74-31.23 97.5 21.19 17.35 19.985-3.47 51.7-71.854-16.33 59.623-7.423 27.404-10.047 4.75 26.957 5.345 5.518-5.537c8.46-13.59 35.28-53.34 44.082-83.32l4.414-82.33c27.852-64.092 49.867-167.234-21.46-219.372-10.932-6.942-10.954-6.95-22.102-9.082zm-55.82 73.03c-23.088 10.194-39.402 27.09-66.65 58.675-43.976 50.97 0 0-104.378 133.34 8.856 3.515 21.662 8.974 21.662 8.974 45.562-49.32 113.515-196.82 184.64-194.864-1.83-3.83-4.207-6.543-6.68-8.35-9.062-5.913-19.99-2.063-28.593 2.225zm-211.68 174.828L18 460.734V494h57.52l128.47-177.686-32.297-11.544z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crucifix;

impl IconShape for Crucifix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.842 28.045l-56.086 69.44 33.695 21.06 55.35-68.527-32.957-21.973zM194.64 44.265h.002L172.63 77.28l240.73 150.455 22.01-33.015-73.81-46.132zM407 92.843v-20.52l-46 53.653 12.887 8.283zm-238 3.394v26.774l67.117 41.948 14.37-17.792L169 96.238zm96.863 60.54L45.2 429.983l32.958 21.973L299.56 177.838l-33.697-21.06zm56.29 35.18v26.774L407 271.763v-26.774l-84.848-53.03zM304 204.614L88.848 470.38v18.462L304 224v-19.387zm135 17.112l-14 21v15.55l14-21zM41 448.816V475.1l30 19.375v-25.66z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CryoChamber;

impl IconShape for CryoChamber {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.113 18c3.425 32.11 13.432 59.227 28.08 82.438 20.956 33.203 50.994 58.33 83.807 80.37v-21.865c-27.563-19.53-51.623-41.236-68.584-68.11C53.43 70.252 44.41 46.607 41.136 18H23.112zM105 18v39.512L145.46 71h59.194L183 45.285V18h-78zm96 0v20.715L228.188 71h55.625L311 38.715V18H201zm128 0v27.285L307.346 71h59.193L407 57.514V18h-78zM153 89v334h206V89h-30.527a16 16 0 0 1-15.973 15.25A16 16 0 0 1 296.537 89H186.064c4.35 15.944 7.01 31.603 13.13 42.752 4 7.287 8.96 12.664 17.085 16.357 2.936 1.334 6.36 2.437 10.345 3.226a29.68 39.572 0 0 1-.305-5.336A29.68 39.572 0 0 1 256 106.428 29.68 39.572 0 0 1 285.68 146a29.68 39.572 0 0 1-21.186 37.885c5.498.232 11.014.828 16.32 1.914 8.974 1.39 15.104 5.588 20.174 12.384 5.07 6.797 8.75 16.362 11.178 27.472 4.403 20.152 4.68 44.91 4.697 66.7h-25.287l-6.453 97.806c-17.838 4.018-37.613 4.163-56.135-.017l-7.293-97.79h-26.558c.17-21.525 1.238-45.946 6.097-65.945 2.684-11.04 6.515-20.62 11.524-27.494 5.01-6.875 10.868-11.097 18.86-12.6a155.5 155.5 0 0 1 16.698-2.142 29.68 39.572 0 0 1-15.66-13.863c-9.147-.758-17.02-2.72-23.824-5.814-11.886-5.402-20.042-14.295-25.414-24.082-9.082-16.545-11.715-35.59-16.172-51.414H153zm341 8.44c-5.896 14.547-12.162 28.405-19.1 41.1-22.9 41.908-51.386 70.866-97.9 75.806v18.074c54.012-5.202 89.058-40.16 113.695-85.248a322.96 322.96 0 0 0 3.305-6.23v-43.5zM333.242 114.9a13.02 13.02 0 0 1 13.022 13.022 13.02 13.02 0 0 1-13.022 13.02 13.02 13.02 0 0 1-13.02-13.02 13.02 13.02 0 0 1 13.02-13.022zm-26.535 33.3a9.047 9.047 0 0 1 9.047 9.048 9.047 9.047 0 0 1-9.047 9.047 9.047 9.047 0 0 1-9.047-9.047 9.047 9.047 0 0 1 9.047-9.047zM494 224.036c-10.438 26.16-21.8 49.85-33.584 69-15.506 25.197-31.98 42.045-45.44 47.106-6.732 2.53-12.46 2.607-18.732.048-5.882-2.4-12.438-7.535-19.244-16.57v25.87c3.984 3.133 8.124 5.6 12.44 7.364 10.418 4.25 21.64 3.984 31.87.138 20.456-7.69 37.942-27.718 54.436-54.52 6.28-10.205 12.38-21.468 18.254-33.542v-44.893zM105 441v18h142v-18H105zm160 0v18h142v-18H265zM73 477v17h174v-17H73zm192 0v17h174v-17H265z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CryptEntrance;

impl IconShape for CryptEntrance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.7 25l21.9 62h23.3l24.8-62h-70zm86.9 6.35l-17.3 43.26c25.2 4.97 51.4 14.79 74.1 27.59 16.7 9.3 31.4 20.3 42.3 32.6 6.9 7.8 12.4 16.2 15.4 25.2h45.5c-2.6-7.2-6.6-15.6-12.2-24.4-10.4-16.4-25.9-34.3-45.2-50.74-27.5-23.33-62.6-43.66-102.6-53.51zm-103.7.13c-39.8 9.9-74.8 30.16-102.1 53.38-19.32 16.44-34.77 34.34-45.21 50.74-7.51 11.8-12.18 22.8-14.26 31.4h45.62c2.26-11.6 8.62-22.4 17.35-32.2 10.9-12.3 25.6-23.3 42.3-32.6 21.9-12.38 47.2-21.99 71.7-27.1l-15.4-43.62zm79.5 60.25l-5.2 12.97c3.9 3 8 5.7 12.4 8.3-21.6 8.7-48.2 18.1-69.3 15.1.1-12.3-4.4-22.7-10.2-32.41-6 1.62-12 3.49-18 5.61 6.6 11 11.9 22.5 10.2 32.2-8.2 20-25.4 26.8-39 37.5 4.7-18.7 1.8-39.7-4.3-55.2-1.2.7-2.4 1.3-3.6 2-4 2.3-7.9 4.7-11.6 7.1 6.1 14.1 6.3 26.5 2.9 39.1-7.8 23.5-22.1 39.6-37.8 55.3l-4.9 7.4v22.8c6.6-6.7 14.5-14.5 22.8-22.2 23 10.2 37.3 21.3 50.1 40.3-25.1 18-49.1 37-72.9 56.2v23.1c56.6-45.8 113.2-90.6 181-124.2 70.3 29.6 109.9 69.4 121 121v-48.1c-7.6-12.9-17.3-24.9-28.9-36-3.9-13.3-1.2-22.9 6.4-32.8 4.2-5.5 10.2-10.8 17.4-16l-10.1-15c-8.5 6-15.8 12.5-21.6 20-6.1 8-10.1 17.4-11.2 27.5-14.9-11.3-32.1-21.5-51.5-30.7 24.1-10.7 49.8-20 77.3-27.4l-10.5-15.8c-9.3 2.6-18.4 5.4-27.3 8.4-7.4-17.4-14.1-33.8-14.6-52.2 10.1-1 19.8-3.2 29.7-3.9-2.1-1.4-4.3-2.6-6.5-3.9-6.8-3.8-14.1-7.4-21.6-10.6-3.2.5-6.5 1-9.7 1.5-12.6-4.4-22.3-9.06-31-14.92-3.3-.78-6.6-1.46-9.9-2.05zm31.2 36.87c.8 15.7 5.2 29.9 10.4 43.2l-33-8.2 2.8-31.2c5.6-1.2 12.5-2.5 19.8-3.8zm-38.4 9.1l-2.4 26.6c-15.1 3-34.1 5.2-48.8 16.6-7.2-7.1-15.3-11-24.2-13.2 7.1-6.1 13.5-13.2 17.3-22 19.8 3.3 39.3-1.3 58.1-8zM401.6 178l20 30H476l20-30h-94.4zM284 181.8c12.4.1 24.5 2.5 34.1 6.7-34.8 14-66.6 31-96.4 49.6-2.3-41 30.8-56.4 62.3-56.3zM178.2 183c12.2.7 26.2 2 34.4 10.7-11.2 16.2-9.9 38.1-7.9 55.5-4.1 2.7-8.2 5.4-12.2 8.1-13.3-19.4-29.1-32.6-50.6-43.2 9.6-8.7 19-16.9 26.4-23.2 3.9-3.3 7.3-6 9.9-7.9zm-161.38 2l20 30h54.36l20.02-30H16.82zM425 226v213h46V226h-46zm-384 7v206h46V233H41zM25 457v30h78v-30H25zm384 0v30h78v-30h-78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalEarrings;

impl IconShape for CrystalEarrings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.4 33.6c-12.3.3-25.6 5.1-38.8 15L341.4 63c14.4-10.8 26.5-12.8 35.9-10.7 9.3 2.1 16.6 8.5 20.5 17.2 7.9 17.4 3.4 43.3-33.1 57.9l-5.7 2.3v45.1h18v-33.2c38.7-18.3 48.8-54.1 37.2-79.5-6.1-13.4-17.8-24-33-27.4-3.8-.8-7.7-1.2-11.8-1.1zm-224 .04c-12.3.32-25.6 5.07-38.8 14.96L117.4 63c14.4-10.81 26.5-12.77 35.9-10.67 9.3 2.1 16.6 8.51 20.5 17.19 7.9 17.37 3.4 43.28-33.1 57.88l-5.7 2.3v45.1h18v-33.2c38.7-18.3 48.8-54.1 37.2-79.52-6.1-13.32-17.8-23.91-33-27.31-3.8-.85-7.7-1.24-11.8-1.13zM89 192.8v30h110v-30H89zm224 0v30h110v-30H313zm-187.7 48l-55.6 69.5L144 496l74.3-185.7-55.6-69.5h-37.4zm224 0l-55.6 69.5L368 496l74.3-185.7-55.6-69.5h-37.4zM135 257.4v31.4l-31.4 7.8 31.4-39.2zm18 0l31.3 39.2-31.3-7.8v-31.4zm206 0v31.4l-31.4 7.8 31.4-39.2zm18 0l31.3 39.2-31.3-7.8v-31.4zm-242 49.9v117.8L92.2 318l42.8-10.7zm18 0l42.8 10.7L153 425.1V307.3zm206 0v117.8L316.2 318l42.8-10.7zm18 0l42.8 10.7L377 425.1V307.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalShrine;

impl IconShape for CrystalShrine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M116.215 17.404c0 16-16 32-32 32 16 0 32 16 32 32 0-16 16-32 32-32-16 0-32-16-32-32zm64.326 12.87l-23.488 92.062h63.965l27.49-27.49-67.967-64.573zm228.147 25.958c0 20.214-20.216 40.428-40.43 40.428 20.214 0 40.43 20.214 40.43 40.428 0-20.214 20.213-40.428 40.427-40.428-20.214 0-40.428-20.214-40.428-40.428zm-150.022 53.913l-23.18 23.18L283.043 311h29.066l-53.443-200.855zm75.232 2.365l16.123 32.281 45.188 33.148-4.393-53.533-56.918-11.896zm-18.033 4.181l-26.685 38.121 10 37.586 33.38-42.283-16.695-33.424zm-160.672 23.645L172.42 206.4l21.988 12.623L239.043 311h25.365l-45.68-170.664h-63.535zm189.797 23.088l-40.03 50.703L330.737 311h.026l64.08-111.004-49.852-36.572zm122.352 5.834c0 16-16 32-32 32 16 0 32 16 32 32 0-16 16-32 32-32-16 0-32-16-32-32zm-374.22 12.375l11.308 76.129 48.834-6.356 19.322-24.154-79.465-45.62zm346.995 53.793l-52.547 13.172L351.547 311h25.77l19.16-19.48 43.64-56.094zm-255.21 5.244l-17.403 21.75 25.77 48.58h25.761l-34.129-70.33zm-33.84 29.174l-39.005 5.074L148.145 311h24.751l-21.83-41.156zm-91.37 11.396c0 16-16 32-32 32 16 0 32 16 32 32 0-16 16-32 32-32-16 0-32-16-32-32zM137 329v30h238v-30H137zm32 48v78h16v-78h-16zm34 0v78h106v-78H203zm124 0v78h16v-78h-16zm-164.758 96l-30.119 16h247.754l-30.12-16H162.243z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cuauhtli;

impl IconShape for Cuauhtli {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.2 79.02c-2.7 0-5 .24-6.7.66-2.6.67-3.6 1.43-4 2.1-.5.67-.9 1.78-.6 4.51.2 2.74 1.4 6.8 3.8 11.71 4.8 9.8 14 22.6 26.8 36.9.4.5.8.9 1.2 1.4.9-4.1 2.4-7.9 4.7-11.3 4.9-7.2 12.3-12.2 20.7-15.9 7.4-3.4 15.7-5.9 24.5-7.9-7.3-3.45-14.3-6.53-21-9.2-17.8-7.18-33-11.47-43.8-12.64-2-.23-3.9-.34-5.6-.34zm97.2 35.78c-17.2 2.5-33.1 5.8-43.9 10.7-6.5 2.9-10.9 6.3-13.3 9.7-1.9 2.7-2.8 5.5-2.4 9.6 27.4 9.4 57.5 21.6 88.6 36.4 12.5 5.9 24.5 12 36 18.1 18.5 1.2 37 7.1 56.6 17.4 1.4 0 2.8-.1 4.1-.1 8 0 15.4.2 22.3.7-19.6-17-42.1-34.7-66.7-52-28.2-19.8-55.9-36.9-81.3-50.5zM68.2 141.6c-1.51 0-2.94 0-4.29.1-5.45.3-9.59 1.3-12.12 2.4-2.48 1-3.27 2-3.61 2.7-.35.7-.59 1.9.17 4.5.72 2.7 2.54 6.5 5.76 11 6.34 8.7 17.51 19.9 32.54 31.9 4.36 3.5 9.09 7.1 14.05 10.7-2.57-14.3-.4-27.8 6.8-38.7 4.2-6.4 9.9-11.7 16.8-15.7-5.2-1.4-10.3-2.6-15.1-3.7-16.41-3.6-30.49-5.3-41-5.2zm86 17.7c-15.7 2-26.1 8.4-31.7 16.8-5.3 8-6.8 18.5-2.8 31.3 27.8 2.7 59 7.6 92 14.8 16.3-9.5 31.7-16.2 46.9-19.8-3.3-1.7-6.6-3.3-10-4.9-33.3-15.9-65.6-28.8-94.4-38.2zM284 218.4c-7.1 0-13.4 2.3-17.5 5.5-4.2 3.2-6.1 6.8-6.1 10.6s1.9 7.4 6.1 10.6c4.1 3.2 10.4 5.5 17.5 5.5s13.4-2.3 17.5-5.5c4.2-3.2 6.1-6.8 6.1-10.6s-1.9-7.4-6.1-10.6c-4.1-3.2-10.4-5.5-17.5-5.5zm-207.77 4.7c-19.19-.1-34.91 1.6-45.35 4.5-5.23 1.4-9.12 3.3-11.37 4.9-2.23 1.5-2.75 2.6-2.94 3.4-.18.8-.22 2 1.09 4.4 1.29 2.4 3.93 5.8 7.96 9.5 8.04 7.2 21.32 15.8 38.52 24.3 1.42.7 2.88 1.4 4.36 2.2-6.88-15.7-3.73-38 14.18-53.1-2.19-.1-4.34-.1-6.45-.1zM323.9 225c1.1 3 1.7 6.2 1.7 9.5 0 10.1-5.4 19-13.1 24.9-7.6 5.9-17.6 9.2-28.5 9.2-10.9 0-20.9-3.3-28.5-9.2-7.7-5.9-13.1-14.8-13.1-24.9 0-2.9.4-5.6 1.2-8.3-10.4 4.4-21.3 10.4-33.2 18 20.4 37 48.2 56.9 74.9 54.3 41.6-4 56-27.8 72.9-55.6-12.2-7.8-23.5-13.7-34.3-17.9zm-203.2.6l-4.6 1.1C75.75 236 82.6 263.3 88.91 273c28.39-11.6 62.29-22.7 99.49-32.1 0 .2 1.5-2.7 1.6-4.8-24.6-4.9-48.1-8.4-69.3-10.5zM398.9 239c-7 0-14.6 2.5-20 6.9-5.4 4.5-9 10.6-9 20.1 0 13.7-4.3 26.2-12.1 36.9-7.9 10.7-19.1 19.7-33.2 28.3-28.2 17.2-68.3 33.1-120.2 55.1-6.2 2.6-9.3 6.3-11.3 11-2 4.8-2.5 10.8-1.6 16.6.8 5.8 3.1 11.4 5.5 15 2.4 3.6 4.6 4.1 3.9 4.1h192c5.8 0 9-1.8 11.7-4.7 2.7-2.9 4.7-7.2 5.4-11.8.5-3 1.4-12-2.4-13.5l-106.7-1c35.9-6.5 67.4-50.7 108-49 4 0 8.3-.1 12.6.6 4.4.7 10.3 2.1 13.4 8.4 3.2 6.3.9 12.6-2.6 18.2-1.6 2.6-3.7 5.4-6.2 8.4 11.8.4 23.1-4.3 33.7-12.7 14.8-11.6 27-30.3 32.5-48.5 5.4-18.1 4-34.7-4.6-44.4-8.7-9.8-26.5-15.8-60.8-8.2l-15.6 3.4 5.1-15c3.3-9.9 1.5-14.8-1.5-18.3-3.1-3.5-9-5.9-16-5.9zm-202 18.3c-37.1 9.2-71 20.2-99.1 31.6l-1.36 1.7c-8.71 11-12.88 19.9-14.22 26.4-1.34 6.4-.28 10.3 1.94 13.7 4.01 6 14.58 10.7 25.84 12.1 31.8-14.6 70.8-28.8 113.7-40.8 3.5-1 6.9-1.9 10.3-2.8-13.8-9.9-26.5-24-37.1-41.9zm141.8 40.4c-16.5 12.4-34.8 18.8-53.4 18.8-9.3 0-18.6-1.6-27.6-4.8-9.5 2.3-19.3 4.8-29.1 7.6-41 11.5-78.4 25-108.6 38.7-5.3 7.8-5.1 12.1-3.4 16.2 1.7 4.3 6.9 9.2 14.5 13.2 12.3 6.3 30.4 9.6 43.2 9.7.6-2.3 1.3-4.5 2.2-6.7 3.6-8.6 10.6-16.4 20.9-20.7 52.1-22 92-38.1 117.8-53.9 9.9-6.1 17.7-12 23.5-18.1zM68.3 302c-.8.4-1.63.8-2.41 1.2-17.17 8.5-30.44 17.1-38.48 24.3-4.03 3.7-6.65 7.1-7.95 9.5-1.3 2.4-1.27 3.6-1.08 4.4.18.8.7 1.9 2.94 3.4 2.27 1.6 6.14 3.5 11.37 4.9 10.45 2.9 26.18 4.6 45.34 4.4 2.05 0 4.16-.1 6.29-.1-5.99-3.1-11.29-7.5-15.2-13.4-4.8-7.3-6.66-17-4.52-27.3.76-3.6 2-7.4 3.7-11.3zm29.54 66.8c-2.61 1.3-5.16 2.7-7.61 4-16.82 9.2-29.75 18.3-37.49 25.8-3.88 3.8-6.38 7.3-7.57 9.8-1.21 2.4-1.13 3.7-.91 4.4.21.8.78 1.9 3.07 3.3 2.31 1.6 6.27 3.3 11.54 4.5 10.54 2.4 26.33 3.5 45.43 2.7 19.5-.9 42.5-3.5 67.7-8-15.7-.2-34-4.2-49.1-11.9-9.9-5.1-18.7-12.1-22.97-22.2-1.58-3.9-2.27-8.1-2.09-12.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cube;

impl IconShape for Cube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24.585L51.47 118.989 256 213.394l204.53-94.405zM38.998 133.054v258.353L247 487.415V229.063zm434.004 0L265 229.062v258.353l208.002-96.008z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CuckooClock;

impl IconShape for CuckooClock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 15.27L95.64 175.6l12.76 12.8L256 40.73 403.6 188.4l12.8-12.8L256 15.27zm0 53.46L137 187.7V311h238V187.7L256 68.73zm0 82.27c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm-9 18.7c-26.2 4.3-46 26.9-46 54.3 0 30.5 24.5 55 55 55s55-24.5 55-55c0-27.4-19.8-50-46-54.3v38.4l13.1-7.8 9.2 15.4-40.3 24.2v-70.2zm227.4 106c-18.4 15.9-30.8 13-48.9 10.8-3 23.1 3.3 49.3 12.2 68.2-4.9.9-9.9 2.6-14.7 5.1-16.1 8.3-25.1 22.8-20.2 32.3 5 9.5 22 10.4 38.1 2.1s25.1-22.8 20.2-32.3c-7-17.6-16.7-38.9-18.2-54.8 16.4.6 33.2-4.7 45.5-20.2l-14-11.2zM215 329v82.6c3-.4 6-.6 9-.6s6 .2 9 .6V329h-18zm64 0v39.5c2.6-.3 5.3-.5 8-.5 3.4 0 6.7.2 10 .8V329h-18zM95.22 383.7c-13.89 18.7-21.14 44.5-22.61 65.4-4.7-1.7-9.98-2.6-15.37-2.8-18.13-.6-33.12 7.6-33.48 18.3-.34 10.7 14.05 19.9 32.16 20.5 18.12.6 33.1-7.6 33.46-18.3 2.71-19 4.49-41.8 11.02-56.7 14 8.6 31.3 12.2 49.6 4.7l-6.8-16.6c-23.5 5-33.5-3.8-47.98-14.5zM287 386c-5 0-14 1-16.8 2.2-1.3.6-2 1.2-2.2 1.4v52.8c.2.2.9.8 2.2 1.4C273 445 282 446 287 446s14-1 16.8-2.2c1.3-.6 2-1.2 2.2-1.4v-52.8c-.2-.2-.9-.8-2.2-1.4C301 387 292 386 287 386zm-63 43c-5 0-14 1-16.8 2.2-1.3.6-2 1.2-2.2 1.4v52.8c.2.2.9.8 2.2 1.4C210 488 219 489 224 489s14-1 16.8-2.2c1.3-.6 2-1.2 2.2-1.4v-52.8c-.2-.2-.9-.8-2.2-1.4C238 430 229 429 224 429z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cupcake;

impl IconShape for Cupcake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M236.854 43.83c-20.16 13.472-36.99 24.95-45.3 34.426-4.717 5.377-6.786 9.82-7.056 13.88-.27 4.057 1.052 8.634 5.95 14.97l1.128 1.458c18.455-3.476 39.757-5.143 62.834-4.593 31.04.74 60.438 5.363 85.147 12.778-1.497-2.823-2.983-5.458-4.604-7.744-5.866-8.274-11.98-13.49-30.498-12.436l-.514.03-.51-.037c-32.236-2.307-48.314-12.643-56.16-25.792-5.796-9.718-7.625-19.235-10.416-26.938zm14.03 76.106c-33.25-.134-62.172 4.695-82.003 12.46-10.576 4.142-18.52 9.15-23.18 14.196-4.658 5.047-5.933 9.63-5.083 13.92.713 3.6 3.05 7.485 7.738 11.78 25.135-9.197 55.557-16.22 89.254-20.02 48.777-5.503 95.2-3.222 131.65 5.238 7.676 1.78 14.91 3.834 21.654 6.174-1.476-3.516-4.52-7.305-9.797-11.487-6.712-5.317-16.727-10.752-29.053-15.44-24.65-9.373-58.415-15.87-94.474-16.728-2.254-.054-4.49-.086-6.705-.094zm43.085 44.937c-16.56-.05-33.91.863-51.58 2.856-47.114 5.313-87.534 17.302-114.218 31.905-13.342 7.3-23.203 15.28-28.82 22.926-4.695 6.39-6.384 12.186-5.698 17.534 3.86-1.397 7.875-2.74 12.057-4.028 39.064-12.02 91.923-19.22 150.29-19.22 58.367 0 111.226 7.2 150.29 19.22 1.26.388 2.505.782 3.737 1.18 4.37-3.597 7.91-7.223 10.522-10.777 5.616-7.647 6.945-14.448 5.03-20.64s-7.217-12.243-17.025-18.148c-9.808-5.906-23.772-11.197-40.578-15.098-21.008-4.876-46.41-7.63-74.008-7.71zM256 231.153c-56.508 0-107.65 7.127-143.867 18.27-18.11 5.573-32.444 12.176-41.77 18.96-9.325 6.784-13.42 13.294-13.42 19.617s4.095 12.833 13.42 19.617c.07.05.144.1.213.15l57.447-28.722 63.22 32.01 64.827-32.012 62.36 32.012 65.615-31.977 57.38 28.69c.068-.05.143-.1.212-.15 9.325-6.785 13.42-13.295 13.42-19.618 0-6.323-4.095-12.833-13.42-19.617-9.326-6.784-23.66-13.387-41.77-18.96-36.218-11.143-87.36-18.27-143.867-18.27zm127.955 65.77L327.51 324.43 311.938 449l-15.875-2 15.205-121.635-55.338-28.408-55.332 27.326L215.938 447l-15.875 2-15.42-123.352-56.666-28.693-54.022 27.012L133.605 488h244.79l59.65-164.033-54.09-27.045z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurlingStone;

impl IconShape for CurlingStone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 85c-3.1 0-9.2 3.86-14.2 11.74-3.4 5.26-6 11.86-7.5 18.26h168l22.5 62H128c-3.5 0-9.8 3.7-14.8 10.4-2.7 3.5-4.8 7.7-6.2 11.6h297.2c-1.6-3.3-3.9-6.8-6.8-9.9-5.9-6.3-13.5-10.1-17.4-10.1h-5.5l-48-94H160zm-48 132c-28.25 0-49.54 17.5-64.51 40-12.09 18.2-19.31 39.6-21.65 54H486.2c-2.4-14.4-9.6-35.8-21.7-54-15-22.5-36.3-40-64.5-40H112zM25 329v46h462v-46H25zm.84 64c2.34 14.4 9.56 35.8 21.65 54 14.97 22.5 36.26 40 64.51 40h288c28.2 0 49.5-17.5 64.5-40 12.1-18.2 19.3-39.6 21.7-54H25.84z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CustodianHelmet;

impl IconShape for CustodianHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.82l-27.7 18.46 27.7 9.23 27.7-9.23L256 26.82zm-37.9 34.01C171.6 70.9 142 100.1 122.1 140 97.12 189.9 89 256.8 89 320c0 6.7 3.4 12.7 11.7 19.2 8.2 6.4 21.1 12.4 36.9 17.2C169.3 366 212.7 371 256 371c43.3 0 86.7-5 118.4-14.6 15.8-4.8 28.7-10.8 36.9-17.2 8.3-6.5 11.7-12.5 11.7-19.2 0-63.2-8.1-130.1-33.1-180-19.9-39.9-49.5-69.09-95.9-79.16l-38 12.65-37.9-12.66zm20.3 70.97h2.1c4.8.2 10 1.1 15.5 2.8 5.5-1.7 10.7-2.6 15.5-2.8h2.1c4.8 0 9.2.7 13.1 2.3 9.1 3.5 15.2 11.1 17.8 19.1 4.6 13.6 2.1 28.8-5.7 39.9l27.9-3.8-6 43.9L356 260l-35.3 26.8 6 43.9-43.9-6L256 360l-26.8-35.3-43.9 6 6-43.9L156 260l35.3-26.8-6-43.9 27.9 3.8c-7.8-11.1-10.3-26.3-5.7-39.9 2.6-8 8.7-15.6 17.8-19.1 3.9-1.6 8.3-2.3 13.1-2.3zm.2 18c-2.9 0-5.2.5-6.9 1.1-3.9 1.5-5.8 3.9-7.2 7.9-2.2 6.9.1 18.1 3.9 24.2H247v-32.1c-2.6-.6-5.1-1-7.1-1.1h-1.3zm34.8 0h-1.3c-2 .1-4.5.5-7.1 1.1V183h18.6c3.8-6.1 6.1-17.3 3.9-24.2-1.4-4-3.3-6.4-7.2-7.9-1.7-.6-4-1.1-6.9-1.1zM256 217c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zM71.03 316.6C61.34 323.1 57 329.5 57 336c0 19 17.55 45.7 52.5 72.9 34.4 26.7 84.6 54 146.5 77.4 61.9-23.4 112.1-50.7 146.5-77.4 35-27.2 52.5-53.9 52.5-72.9 0-6.5-4.3-12.8-14-19.1v3.1c0 13.3-7.6 24.8-18.6 33.3-11 8.6-25.6 15.1-42.8 20.3C345.3 384 300.7 389 256 389c-44.7 0-89.3-5-123.6-15.4-17.2-5.2-31.8-11.7-42.81-20.3C78.6 344.8 71 333.3 71 320c0-1.1.02-2.2.03-3.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CutLemon;

impl IconShape for CutLemon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.134 57.858c-40.166 32.88-74.244 84.108-93.63 146.225-19.385 62.116-20.494 123.63-6.158 173.513 14.337 49.883 44.656 88.692 88.08 102.238 106.061 24.782 226.483 8.177 305.424-28.503 24.29-1.026 68.942 3.339 74.586-6.823 3.926-7.068-4.585-74.09-25.144-88.843C445.467 182.72 422.602 59.65 256.737 23.838c-42.84-11.975-98.768 9.106-130.603 34.02zm97.298-21.066c9.494.008 18.85 1.391 27.944 4.228 36.373 11.347 62.964 44.189 76.138 90.03 13.175 45.84 12.393 104.12-6.039 163.179-18.431 59.059-50.936 107.442-87.847 137.658-36.911 30.216-77.465 42.11-113.838 30.764-36.373-11.347-62.968-44.189-76.143-90.03-13.174-45.84-12.39-104.12 6.041-163.18C68.12 150.384 100.625 102 137.536 71.785c27.683-22.662 57.415-35.018 85.896-34.992zM153.014 90.35l30.114 142.85 50.097-176.69c-27.712.493-64.49 13.887-80.21 33.84zm104.442-25.865c-4.214-.702-57.045 171.713-57.045 171.713l110.49-81.07c-.621-20.609-27.34-82.678-53.445-90.643zm-125.16 46.584c-24.488 18.994-43.871 58.246-51.621 86.387l85.66 42.029zm184.468 70.633l-110.728 74.242 95.596 25.568c7.185-27.973 15.554-73.327 15.132-99.81zm-244.52 38.58c-9.37 25.663-16.358 50.834-16.855 75.5l106.756-35.819zm130.976 51.83l65.798 80.002c15.402-16.993 22.597-34.688 28.52-50.979zm-40.022 5.144L57.163 322.51c-.675 29.088 8.752 58.465 21.25 80.528zm27.39 5.534l2.811 151c36.41-15.04 56.473-44.405 67.946-62.569zm-16.505 2.457L91.42 424.739c18.588 17.405 57.63 22.587 83.506 17.072z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CyberEye;

impl IconShape for CyberEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.565 30.643c-81.598 0-152.721 46.707-189.777 115.92h50.29l16.74-33.481h115.865c2.055-4.234 5.416-7.771 9.246-10.324 6.302-4.201 14.192-6.414 22.748-6.414 8.555 0 16.446 2.213 22.748 6.414 6.302 4.2 11.361 11.054 11.361 19.324 0 8.27-5.06 15.123-11.361 19.324-6.302 4.201-14.193 6.414-22.748 6.414-8.556 0-16.446-2.213-22.748-6.414-3.83-2.553-7.193-6.09-9.248-10.326H143.94l-7.74 15.482h52.402v17.999H57.143a228.822 228.822 0 0 0-5.96 15.48h36.974v17.998H45.802c-4.006 15.707-6.415 32.092-7.051 48.963h109.883l16.742-50.22h39.967v17.997h-26.996l-10.743 32.223h47.594c2.056-4.235 5.418-7.773 9.248-10.326 6.302-4.201 14.193-6.414 22.748-6.414 8.556 0 16.446 2.213 22.748 6.414 6.302 4.2 11.364 11.054 11.364 19.324 0 8.27-5.062 15.123-11.364 19.324-6.302 4.201-14.192 6.414-22.748 6.414-8.555 0-16.446-2.213-22.748-6.414-3.83-2.553-7.192-6.09-9.248-10.326h-95.74l24.482 48.963h78.143v17.998h-89.266l-33.482-66.961H38.751c1.614 42.826 14.69 82.527 36.129 115.922h90.096c2.055-4.235 5.42-7.773 9.25-10.326 6.302-4.201 14.19-6.414 22.746-6.414 8.555 0 16.446 2.213 22.748 6.414 6.302 4.2 11.363 11.054 11.363 19.324 0 8.27-5.061 15.123-11.363 19.324-6.302 4.201-14.193 6.414-22.748 6.414-8.556 0-16.444-2.213-22.746-6.414-3.83-2.553-7.193-6.09-9.248-10.324h-9.784l21.483 32.22h73.328l16.74-33.48h39.043v17.998h-27.92l-7.742 15.483h52.402v17.998H167.046l-33.483-50.219H87.716c39.81 50.37 100.234 82.44 167.85 82.44 92.336 0 171.262-59.806 202.581-144.358-4.882 10.507-10.77 19.344-17.916 25.893-7.212 6.609-16.06 10.914-25.628 10.914-9.569 0-18.417-4.305-25.63-10.914-7.212-6.61-13.145-15.546-18.054-26.182-9.818-21.272-15.537-49.542-15.537-80.711 0-31.169 5.719-59.44 15.537-80.71 4.91-10.637 10.842-19.573 18.055-26.183 7.212-6.609 16.06-10.914 25.629-10.914 9.568 0 18.416 4.305 25.628 10.914 7.146 6.549 13.034 15.386 17.916 25.893C426.828 90.448 347.902 30.643 255.565 30.643zm25.112 83.699c-5.313 0-9.98 1.533-12.766 3.39-2.786 1.858-3.348 3.375-3.348 4.35 0 .975.562 2.492 3.348 4.35 2.787 1.857 7.453 3.39 12.766 3.39s9.979-1.533 12.765-3.39c2.787-1.858 3.346-3.375 3.346-4.35 0-.975-.56-2.492-3.346-4.35-2.786-1.857-7.452-3.39-12.765-3.39zm159.037 83.44c-11.598 0-20.097 8.806-25.37 19.35-5.272 10.545-8.163 24.04-8.163 38.868 0 14.829 2.891 28.323 8.164 38.867 5.272 10.545 13.77 19.352 25.369 19.352 11.598 0 20.098-8.807 25.371-19.352 5.273-10.544 8.164-24.038 8.164-38.867 0-14.829-2.891-28.323-8.164-38.867-5.273-10.545-13.773-19.352-25.371-19.352zm4.613 20.157c1.556 1.497 3.261 3.769 4.93 7.106 3.662 7.324 6.299 18.517 6.299 30.955 0 12.438-2.637 23.63-6.3 30.955-3.662 7.324-7.506 9.57-9.542 9.57-2.036 0-5.88-2.246-9.543-9.57-3.663-7.324-6.297-18.517-6.297-30.955 0-.253.008-.502.01-.754a16.458 24.686 0 0 0 7.604 2.81 16.458 24.686 0 0 0 16.457-24.685 16.458 24.686 0 0 0-3.618-15.432zm-197.133 30.32c-5.313 0-9.977 1.534-12.763 3.391-2.787 1.858-3.348 3.375-3.348 4.35 0 .975.561 2.492 3.348 4.35 2.786 1.857 7.45 3.39 12.763 3.39 5.314 0 9.98-1.533 12.766-3.39 2.786-1.858 3.348-3.375 3.348-4.35 0-.975-.562-2.492-3.348-4.35-2.786-1.857-7.452-3.39-12.766-3.39zm-50.222 133.919c-5.314 0-9.978 1.533-12.764 3.39-2.786 1.858-3.348 3.375-3.348 4.35 0 .975.562 2.492 3.348 4.35 2.786 1.857 7.45 3.39 12.764 3.39 5.313 0 9.979-1.533 12.765-3.39 2.787-1.858 3.348-3.375 3.348-4.35 0-.975-.561-2.492-3.348-4.35-2.786-1.857-7.452-3.39-12.765-3.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CyborgFace;

impl IconShape for CyborgFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218.195 28.5l13.75 110h48.11l13.75-110zm93.069 5.459L295.945 156.5h-79.89L200.754 34.08c-17.39 9.193-33.547 22.691-47.754 39.895V220.5H97.623a334.688 334.688 0 0 0-1.623 31c0 128.13 71.634 232 160 232 71.065-.062 133.586-68.083 153.496-167h-7.371l-32 16h-69.691L263 297.3v-62.8h136v16h16.965c-.335-96.78-42.068-183.093-104.701-216.541zM256 42.5c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm0 18c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zm-121 39.635c-17.438 29.328-29.537 64.52-35.191 102.365H135zm185 149.38l-32 48 14.977 9.985 32-48zm48 0l-32 48 14.977 9.985 32-48zM144 266.5h80v18h-7.045c-.458 6.484-5.303 10.55-9.617 12.707-4.533 2.267-9.704 3.293-15.338 3.293-5.634 0-10.805-1.026-15.338-3.293-4.314-2.157-9.159-6.223-9.617-12.707H144zm265 2v30h30v-30zm-217 126h128v18H192zm48 32h32v18h-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cycling;

impl IconShape for Cycling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.7 60.61c-3.4 0-6.9.76-10.7 2.4-7.4 3.25-15 9.88-20.3 19.2-5.2 9.33-6.9 19.29-5.8 27.39 1.1 8 4.7 13.8 10.3 17 5.5 3.1 12.4 3.2 19.8-.1 7.5-3.2 15.1-9.9 20.3-19.2 5.3-9.31 7-19.28 5.9-27.33-1.1-8.08-4.8-13.81-10.3-16.95-2.8-1.56-5.9-2.38-9.2-2.4zM271.6 102c-31 17.2-67.1 32.6-117.2 43.6-13.8 3-22.3 35-11.9 46.4h-14.9v18H157c4.3 5.6 8.6 11.2 12.6 17l-26.1 52.2c-9.8-3.7-20.4-5.8-31.5-5.8-49.05 0-89 40-89 89s39.95 89 89 89c46 0 84-35.2 88.5-80h15.8c-1.7-6.1-1.5-12.3 0-18h-15.8c-2.8-27.7-18.4-51.8-40.8-66.1l21.6-43.2c6.1 9.5 11.8 19.2 16.9 29-4.2 4.4-8.9 8.8-14.3 13.3 5.8 8.6 11.6 17 20.8 22.5 2.2-2 4.4-4.2 6.7-6.5 4.9 12.8 8.7 25.7 11.2 39 6.1-7.3 15.2-12 25.4-12 9.3 0 17.8 4 23.8 10.3l80-91.5c1.8 12.2 4.4 23.8 7.5 35.1-28.6 14.8-48.3 44.8-48.3 79.1 0 49 40 89 89 89s89-40 89-89-40-89-89-89c-8.2 0-16.2 1.1-23.8 3.3-4-14.9-6.9-30.2-8.3-46.8 4.7-5.7 8.4-12.9 10.6-20.4l.1-.2c8.3 1.2 19 6.4 21.1 13.6l17.4-4.4c-10.4-26-38.7-31-62.1-26.1-32.4-6.6-56.2-14.4-59.1-48-1.5-.6-3.1-1.3-4.6-2.2-11-6.2-17.5-17.7-19.2-30.2-.5-3.3-.6-6.6-.5-10zm-1.3 61.8c25.3 46.3 54.8 48.2 84.7 51.8-2.4 3.2-5.3 6.4-8.3 9.8h-75.9c2.6-4.5 4.3-8 4.8-10 1.1-5.2-10.6-13.4-24.2-21.6-11.7 5.4-26.4 9.9-42.4 11.7 8.9 5.7 17.1 12.3 24.6 19.9h-14.9c-3.1-6.5-6.4-13.1-9.7-19.9-2.5-5.1-5-10.3-7.5-15.7 19.8-2.7 47-8.2 68.8-26zm-11 79.6h72.9l-76.1 86.9c-3.1-22-9-41.2-16.7-60 7.3-9.2 14.1-18.6 19.9-26.9zm-147.3 48c8.2 0 16.1 1.4 23.4 4l-37.96 76H182.4c-4.4 35-34.2 62-70.4 62-39.32 0-71-31.7-71-71s31.68-71 71-71zm288 0c39.3 0 71 31.7 71 71s-31.7 71-71 71-71-31.7-71-71c0-26.4 14.3-49.4 35.6-61.6 7.3 21.6 16.6 42.7 27.2 65.4l16.4-7.6c-10.7-23-19.9-43.7-26.8-64.7 5.9-1.6 12.1-2.5 18.6-2.5zm-248.4 12c16.6 11.2 28.2 29.2 30.8 50h-55.8zm96.4 44c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DaemonPull;

impl IconShape for DaemonPull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269 34.19l-25.2 6.77c8.2 44.13 18.1 74.34 42.6 120.24l1.1 2-.3 24.6c3.7 6.3 8.9 11.7 15.4 17 23.9 16.5 43.2 25.5 66.6 37.7l-7.9 8.6c-8.4 9.1-21.3 12.8-36 14-12 .9-25.3-.1-38.9-3l-.2 19.4c26 7.5 50.6 9.6 74.2.3 14.8-5.8 25.3-17.8 34.4-33.7 5.5-9.7 10.4-20.7 15.1-31.9l8.2-29.4 1.6-1.6c35.9-37.5 53-68.6 70.9-105.38l-14.5-18.8c-24.9 37.68-48.5 77.68-87.8 108.88-1 1.2-2 2.4-3.1 3.6-8.7 9.6-20.9 15.6-33.8 14.1-12.9-1.5-23.4-10.1-29.8-21.3-3.1-5.5-5.3-11.7-6.6-18.2-19.6-36.1-38.7-73.51-46-113.91zm91 58.01c-5.5.12-11.2 2.89-16.2 8.4-5.9 6.3-10.4 16-11.7 27.4-1.3 11.4.9 21.9 5.2 29.4 4.1 7.4 9.9 11.6 16.2 12.3 6.2.7 12.8-2.1 18.5-8.3 5.9-6.3 10.4-16.1 11.7-27.5 1.3-11.3-.9-21.9-5.2-29.3-4.1-7.45-9.9-11.57-16.2-12.29-.8-.1-1.6-.13-2.3-.11zm-116 71.1c-7 0-12.7 1.6-17 4.1-8.7 5-12 12.5-9.8 20.1 7.9 28.1 35.5 46.7 64.9 55 14.7 4.1 29.7 5.6 41.8 4.6 4.3-.3 8.1-1.1 11.5-2-15.9-8.2-31.3-16.1-44-26.3-15.4-12.3-26.6-29-28.1-51.4-7.2-2.8-13.7-4.1-19.3-4.1zm186.3 50.8c-6 14.4-12 29.2-19.9 42.9-10.1 17.7-23.5 33.7-43.4 41.6-41.6 16.5-84 2.9-124.8-13.7-40.7-16.6-81-36.3-119.2-37.5-35.54 1.6-69.3 6.5-103.37 14.7v229.5H187.6c-37.7-28-67.8-64.5-72-107.3-1-11.5 1.4-24 11.5-31.1 7.9-4.4 16.4-4 24-.4 7.1 3.3 13.4 8.4 19.1 13.7 8.3 7.6 15.2 15.9 18.4 19.9 5.4-.9 11.3-1.4 16.3-1.7.3-4.1.8-9.1 1.7-14.3 1.1-6 2.1-12.6 5.6-18 5.5-8.5 10.1-13.2 19-13.2 7.3-.1 13.6 4 18.3 8.6 5.4 5.2 9.6 11.8 13.1 18.2 5.9 10.8 9.7 21.1 10.9 24.4.9.2 1.7.3 2.6.4 3.8.6 7.7 1.1 11.5 1.7.9-2.6 2.2-6.2 3.9-9.8 1.6-3.5 3.6-7.2 6.5-10.5 2.9-3.4 7.2-7 13.4-7.1 6.6-.2 11.5 3.5 15 7.1 3.4 3.7 6 7.8 8.1 11.8 3.2 6.3 5.4 12.2 6.3 14.7 7 .4 13.7.6 20.2.4 25.6-.7 45.8-6.5 58.8-21.8 18.8-22 32.6-53.3 34.8-84.8 1.9-27.6-4.7-55.2-24.3-78.4zM228.2 360.6c-3.5 8-4.5 15.9-5.3 24.2 9.7.4 19.8 1.5 30.1 2.8-4.6-9.6-8.6-19.6-16.1-27-4.6-4.4-6.6-3.9-8.7 0zm-90.7 7.4c-3.3 2.3-4.7 6.4-4 14.7 2 12.4 5.8 22.7 10 32.8 6.3-10.8 15.5-18.4 26.4-23.3-8.2-8.6-15.6-17.9-26.4-23.1-2-.8-4.1-2-6-1.1zm168.3 27c5 .7 10 1.4 15 1.9-8.3-15.4-8-18.9-15-1.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DaggerRose;

impl IconShape for DaggerRose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.522 17.166c-.412-.005-.826 0-1.243.012l-.003-.002c-9.747.288-20.823 5.23-29.843 14.25C16.242 46.62 12.596 67.62 23.31 78.334c7.99 7.988 21.715 8.026 34.47 1.22 16.166 30.05 42.153 57.687 71.437 76.374-18.77 24.156-29.97 54.48-29.97 87.375h18.69c0-28.9 9.826-55.474 26.342-76.53l2.156 39.405c2.91 2.622 5.82 5.224 8.732 7.832 4.356-12.66 10.49-24.082 18.785-33.344l13.057-14.578 2.568 19.4c3.6 27.192 6.476 50.554 9.908 67.99 15.483 13.69 30.924 27.27 46.223 40.555 5.405-2.125 11.38-3.683 17.63-5.1 18.31-4.148 40.412-6.538 60.058-9.835-37.685-43.742-77.43-88.55-117.246-132.668l-38.968-2.125c20.764-15.68 46.636-24.966 74.718-24.97v-18.69c-32.2.003-61.944 10.726-85.843 28.78-18.697-29.382-46.39-55.48-76.53-71.685 6.794-12.748 6.796-26.422-1.188-34.406-4.08-4.08-9.646-6.094-15.82-6.168zm319.773 2.682l-51.34 54.99 27.06 85.992L419.642 176l16.407-49.58-45.104-23.934-8.447 23.213 15.62 9.597 2.673-11.535 14.618 7.54-5.765 27.046-49.16-27.498L384 78l43.107 24.766 17.795-57.682-62.607-25.236zM203.79 32.305c-23.41 22.86-38.652 47.65-46.438 71.302.95 1.23 1.894 2.47 2.818 3.72 19.074-11.54 40.616-18.787 62.72-21.53-8.528-18.76-16.008-37.234-19.1-53.492zm139.29 3.027c-2.256.45-43.49 8.084-53.945 9.863l-13.783 97.078 75.595 85.483 116.612-14.272 24.63-100.953-44.635-18.63-4.655 15.092 12.768 8.856-26.49 79.732-85.477-21.86-31.407-99.814 30.787-40.574zm-99.756 99.93c-8.035.007-15.983.746-23.94 2.43a9462.44 9462.44 0 0 1 40.825 45.27c-.502-13.06-6.45-29.622-14.358-47.657-.843-.015-1.687-.044-2.528-.043zm49.067 53.3a233.982 233.982 0 0 0-15.814 12.737 6065.473 6065.473 0 0 1 40.684 46.173c13-2.56 26.228-6.366 38.982-11.928-21.436-4.717-51.77-8.685-60.724-26.168a234.736 234.736 0 0 1 9.285-6.922c-2.27-2.522-2.445-2.703-4.967-5.52-2.645-2.954-4.985-5.603-7.445-8.374zm-117.267 24.686c-7.373 17.72-11.074 40.45-10.783 63.322.422 33.24 5.29 63.63 16.855 79.524-18.443 39.608-40.69 81.563-69.343 102.687h-.004c-26.502 18.904-51.61 14.405-63.866.624-6.127-6.89-9.442-16.274-7.98-28.258 1.45-11.88 7.926-26.43 22.246-42.21 11.966-10.248 21.69-14.276 28.156-14.954 6.552-.687 9.854 1.214 12.336 4.327 4.963 6.226 5.048 20.812-7.48 31.327l12.013 14.316c19.1-16.03 22.676-41.487 10.082-57.29-6.297-7.9-17.036-12.51-28.9-11.268-11.865 1.245-24.787 7.553-38.885 19.76l-.41.357-.365.4c-16.57 18.11-25.296 36.22-27.34 52.973-2.045 16.753 2.874 32.043 12.564 42.94 19.38 21.79 56.224 25.322 88.68 2.175l.003-.002a160.698 160.698 0 0 0 16.992-13.967c29.887-7.726 58.962-10.74 92.3-37.436-21.193.977-40.373-1.7-53.542-15.13 13.405-25.285 23.347-52.815 34.78-79.87 4.153-9.833 8.482-19.624 13.212-29.285a8956.346 8956.346 0 0 1-13.22-11.605 47.82 47.82 0 0 1-1.582-.322l-5.325 15.978c-7.244-2.413-12.01-8.344-15.4-15.106-3.39-6.763-5.785-14.94-7.92-24.63-2.96-13.43-5.385-30.65-7.875-49.376zm192.2 78.113c-.95 3.686-2.002 7.268-3.15 10.75a3912.925 3912.925 0 0 1 38.073 45.722c15.284-8.49 29.937-19.356 42.938-32.674-23-3.926-50.907-14.148-77.862-23.797zm-19.044 1.066c-26.425 7.104-58.293 8.925-80.964 14.062-13.756 3.117-23.042 7.92-25.418 11.51-1.187 1.795-1.65 3.264-.867 6.848.784 3.583 3.327 9.055 8.585 16.04l.004.005.003.007c15.597 20.782 35.098 23.19 55.207 12.3 17.34-9.387 34.29-30.29 43.45-60.77zm9.195 26.633c-8.447 18.075-19.744 32.47-32.63 42.465 62.56 52.325 120.89 98.433 169.995 133.31-34.996-50.882-83.143-111.51-137.365-175.776z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dam;

impl IconShape for Dam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 78.56l-46 23.04V487h109l-30.8-292.4-32.2-64.5V78.56zM137.6 163c-8-.3-16.7 5.6-27 13.7-10.4 8.2-22.34 18.4-38.64 18.3-15.91-.1-32.07-9.1-45.61-17.4-3.71-2.2-6.26-4.1-9.35-6.2V487h166V190c-2.8-2.5-7.9-6.9-15.4-12.4-10.4-7.5-23.8-14.3-30-14.6zm240.2 246c-2.7-.1-6.9 2.3-12.6 6.3-5.7 4.1-13 9.9-23.4 9.7-8-.2-14.8-3.6-20.9-7l7.2 69H495v-68.2c-4.6 3.2-9.9 5.9-16.6 6.2-10.1.4-16.9-5.6-22-9.7-5.1-4-8.7-6.2-10.6-6.3-2.7-.1-6.9 2.3-12.6 6.3-5.7 4.1-13 9.9-23.4 9.7-9.8-.2-16.3-6-21.3-9.9-5.1-3.9-8.6-6-10.7-6.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DandelionFlower;

impl IconShape for DandelionFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.2 26.85c-13.9 57.93-26.5 115.75-34.1 173.25 3.8-.9 7.7-1.3 11.8-1.3 6.8 0 13.4 1.2 19.6 3.5 4.3-57.1 10.9-114.79 25.5-173.25zm-59.7 8.63l-35.4 8.33c3.5 16.38 7.7 32.72 12.5 49.04l38.5 53.05c1.6-9.4 3.4-18.7 5.2-28.1-8-27.07-15.4-54.46-20.8-82.32zM346 44.76c-18.9 24.74-33.8 50.61-47.2 77.04-2 15-3.7 29.9-5.2 45 6.7-5.9 13.3-11.8 19.8-17.7 13-32 28.9-63.92 53.3-95.12zM147.1 61.14l-18.7 15.02 89.2 135.34c1.3-1.1 2.6-2.1 4-3.2 1.6-12.4 3.3-24.8 5.2-37.2zm259.8 22.63c-35.7 37.83-75 73.73-115.6 109.03l-1.5 20c4.3 3.8 8.1 8.3 11.1 13.3 43.5-41 86-81.7 121.3-123.9zM96.74 117.2L75.81 147c20.36 17.2 44.09 32.4 69.39 46.8 15.9 4.9 31.8 9.4 47.8 13.6l-26.2-39.9c-25.2-14.9-49.3-30.9-70.06-50.3zm348.96 14.3l-73.5 51.4c-5.6 5.7-11.4 11.2-17.1 16.9 12.7-.3 25.4-.9 38.2-1.9 20.7-15.5 42.5-30.6 66.8-44.9zm-391.12 49l-5.85 23.1c44.78 20.3 91.67 36.4 139.17 51.5 3.1-2.2 6.2-4.3 9.3-6.4.8-7.2 2.9-13.8 6.1-20-50.7-12.9-100.6-28-148.72-48.2zm421.32 22.7c-47.4 11.4-94.1 14.9-139.9 14.8-9.3 8.9-18.6 17.7-28 26.6l.3 1.5c1.2.8 2.3 1.5 3.5 2.2 57.9-.9 114-7.7 169.2-17.5zm-223 13.7c-21.1 0-38 17-38 38.2 0 21.2 16.9 38.1 38 38.1s37.9-16.9 37.9-38.1c0-21.2-16.8-38.2-37.9-38.2zM35.18 227.4L31 253.7l59.57 8.2c13.03-2.2 25.93-4.5 38.63-7-21.2-7.4-42.24-15.2-62.97-23.9zm363.42 33.7c-18.8 2-37.7 3.5-56.7 4.5 19.1 10.1 39.1 19.5 59.7 28.6l67.8 14.8 3.1-34.8zm-234.8 5.4c-40.3 8.2-81.34 16.1-126.65 21.3l3 34.3 67.25-14.8c20.8-12.7 41.3-25.8 61.3-39.2-1.6-.5-3.3-1.1-4.9-1.6zm144 .4c-2.6 11.4-8.5 21.6-16.7 29.3 53.1 29.4 116.6 49.9 179 72.2l8.6-22.8c-59.1-23.6-118.5-47.2-170.9-78.7zm-109.1 2.6c-47.7 32.7-97 63.9-149.75 91.8l13.23 19.9c48.52-22.8 94.52-47.8 138.42-74.8l10.3-14.1c-5.7-6.5-10-14.2-12.2-22.8zm72.7 38.6c-5.8 2.2-12.1 3.3-18.5 3.3-4.6 0-9-.6-13.1-1.6l21.9 175.3 23.5-4zm-50.1.6l-103 142.4 19.8 13.5 88.7-111.8zm69 7.8l1.8 22.7c23.9 42.7 48.8 85 77 126l29.3-15.9c-30.4-39.2-56.4-79.2-81-119.5-9.2-4.2-18.3-8.6-27.1-13.3zm56.3 26c3.6 5.9 7.4 11.7 11.1 17.6 24.7 23.2 48.7 47.7 70.2 76.1l24.8-22.7c-14.9-17.4-30.8-33.3-47.3-48.7-19.7-7-39.5-14.4-58.8-22.3zm-172.8 1.1c-23.9 13.7-48.4 26.8-73.6 39.4l-26.6 24.5 24.9 22.9 45.5-45.8zm56.2 34.6l-27.1 34.1-10.7 60.6 26.3 7.7 14.1-81.8zm65.5 3.9l.7 8 30.2 89.1 14.6-6-9.1-31.1c-12.7-19.8-24.7-39.9-36.4-60z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dango;

impl IconShape for Dango {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M474.2 37.8c-21.6-21.6-56.2-21.6-77.8 0-21.6 21.6-21.6 56.2 0 77.8 21.6 21.6 56.2 21.6 77.8 0 21.6-21.6 21.6-56.2 0-77.8zm-90.5 90.5a54.984 54.984 0 0 0-77.8 0c-21.6 21.6-21.6 56.2 0 77.8 21.6 21.6 56.2 21.6 77.8 0 21.5-21.6 21.5-56.2 0-77.8zm-90.5 90.5a54.984 54.984 0 0 0-77.8 0c-21.6 21.6-21.6 56.2 0 77.8 21.6 21.6 56.2 21.6 77.8 0 21.5-21.6 21.5-56.2 0-77.8zm-96.5 83.7L21.62 477.6l12.73 12.8L209.5 315.3c-2.5-1.9-4.7-3.8-6.8-6-2.2-2.1-4.1-4.3-6-6.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dart;

impl IconShape for Dart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.745 22.098c-4.538-.146-9.08 1.43-14.893 7.243-5.586 5.586-11.841 21.725-15.248 35.992-.234.979-.444 1.907-.654 2.836l114.254 105.338c-7.18-28.538-17.555-59.985-29.848-86.75-11.673-25.418-25.249-46.657-37.514-57.024-6.132-5.183-11.56-7.488-16.097-7.635zM92.528 82.122L82.124 92.526 243.58 267.651l24.072-24.072L92.528 82.122zm-24.357 21.826c-.929.21-1.857.42-2.836.654-14.267 3.407-30.406 9.662-35.993 15.248-5.813 5.813-7.39 10.355-7.244 14.893.147 4.538 2.452 9.965 7.635 16.098 10.367 12.265 31.608 25.842 57.025 37.515 26.766 12.293 58.211 22.669 86.749 29.848L68.17 103.948zM280.899 255.79l-25.107 25.107 73.265 79.469 31.31-31.31L280.9 255.79zm92.715 85.476l-32.346 32.344 2.07 2.246c.061.058 4.419 4.224 10.585 6.28 6.208 2.069 12.71 2.88 21.902-6.313 9.192-9.192 8.38-15.694 6.31-21.902-2.057-6.174-6.235-10.54-6.283-10.59l-2.238-2.065zm20.172 41.059a46.23 46.23 0 0 1-5.233 6.226 46.241 46.241 0 0 1-6.226 5.235L489.91 489.91l-96.125-107.586z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Database;

impl IconShape for Database {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.11c-48.03 0-91.515 6.572-122.235 16.82-15.36 5.123-27.503 11.218-35.225 17.308C90.82 59.328 88 64.702 88 69.278c0 4.574 2.82 9.948 10.54 16.038 7.722 6.09 19.865 12.184 35.225 17.308 30.72 10.247 74.204 16.82 122.235 16.82 48.03 0 91.515-6.573 122.235-16.82 15.36-5.124 27.503-11.22 35.225-17.308 7.72-6.09 10.54-11.464 10.54-16.04 0-4.574-2.82-9.948-10.54-16.038-7.722-6.09-19.865-12.185-35.225-17.308C347.515 25.682 304.03 19.11 256 19.11zM88 99.434v92.63c0 5.84 5.338 13.804 19.285 21.862 13.947 8.058 35.283 15.424 61.976 20.564 53.387 10.283 120.093 10.283 173.48 0 26.692-5.14 48.028-12.505 61.975-20.563C418.662 205.87 424 197.905 424 192.067V99.434c-10.135 7.894-23.752 14.42-40.19 19.903-33.272 11.098-78.19 17.727-127.81 17.727-49.62 0-94.538-6.63-127.81-17.727-16.438-5.483-30.055-12.01-40.19-19.903zm0 122.75v95.32c0 5.84 5.338 13.803 19.285 21.86 13.947 8.06 35.283 15.425 61.976 20.566 53.387 10.282 120.093 10.282 173.48 0 26.692-5.14 48.028-12.506 61.975-20.564 13.947-8.058 19.285-16.022 19.285-21.86v-95.322c-3.18 2.475-6.685 4.812-10.47 7-16.58 9.578-39.446 17.215-67.46 22.61-56.023 10.79-124.117 10.79-180.14 0-28.014-5.395-50.88-13.032-67.46-22.61-3.785-2.188-7.29-4.525-10.47-7zm0 125.44v98.035h.386c.994 3.89 4.026 8.27 10.154 13.102 7.722 6.09 19.865 12.185 35.225 17.308 30.72 10.248 74.204 16.82 122.235 16.82 48.03 0 91.515-6.572 122.235-16.82 15.36-5.123 27.503-11.218 35.225-17.308 6.128-4.833 9.16-9.213 10.154-13.102H424V347.623c-3.18 2.475-6.685 4.813-10.47 7-16.58 9.58-39.446 17.215-67.46 22.61-56.023 10.79-124.117 10.79-180.14 0-28.014-5.395-50.88-13.03-67.46-22.61-3.785-2.187-7.29-4.525-10.47-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeadHead;

impl IconShape for DeadHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.313c-44.404 0-85.098 25.433-115.248 68.123C110.6 130.126 91.594 189.846 91.594 256c0 66.152 19.005 125.87 49.156 168.563 30.15 42.69 70.845 68.125 115.25 68.125 44.402 0 85.07-25.435 115.22-68.125 30.15-42.69 49.186-102.41 49.186-168.563 0-66.152-19.037-125.87-49.19-168.564-30.15-42.69-70.812-68.124-115.214-68.124H256zM204.23 213.88l14.99 9.966-20.074 30.19 30.192 20.073-9.965 14.99-30.19-20.073-20.074 30.192-14.99-9.966 20.07-30.192L144 238.99l9.965-14.99 30.19 20.072 20.074-30.19zm103.54 0l20.074 30.192L358.034 224 368 238.99l-30.19 20.072 20.07 30.192-14.99 9.965-20.072-30.193-30.19 20.073-9.966-14.99 30.192-20.073-20.073-30.19 14.99-9.966zM256 367c26 0 52.242 8.515 70.363 26.637l-12.726 12.726c-3.28-3.28-7.006-6.198-11.067-8.75-.06 1.55-.142 3.128-.27 4.737-.46 5.693-1.33 11.654-3.568 17.257-2.236 5.603-6.655 11.875-14.228 13.487-8.496 1.807-15.982-2.58-21.13-7.59-5.146-5.01-9.12-11.24-12.495-17.422-4.78-8.754-8.213-17.494-9.83-21.902-16.58 2.595-31.98 9.477-42.687 20.183l-12.726-12.726C203.757 375.515 230 367 256 367zm3.945 18.084c1.67 4.095 3.972 9.312 6.735 14.373 2.885 5.286 6.303 10.28 9.25 13.147 2.8 2.724 4.114 2.98 4.728 2.896.056-.07.543-.523 1.358-2.564 1.098-2.752 1.965-7.354 2.34-12.032.333-4.114.343-8.192.257-11.523-7.827-2.495-16.192-3.952-24.668-4.296z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeathStar;

impl IconShape for DeathStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32C135.1 32 36.06 127.9 32.12 248.7c136.18 13.8 311.58 13.8 447.78 0-.3-10.6-1.4-21.2-3.3-31.7H352v-18h32v-16h32v-16h45.6c-4.5-10.4-9.8-20.4-15.8-30H368v-18h48v-14h-18.7V89H368V73h-48V55h34.9c-30.8-15.14-64.6-23-98.9-23zm-64.3 64h.3c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64c0-35.2 28.5-63.83 63.7-64zM32.26 266.7C37.97 386.1 136.4 480 256 480c10.6-1.4 16 0 43.8-7v-18h59c8.1-4.2 16-8.9 23.5-14H368v-16h-32v-18h85.4c8.5-9.3 16.3-19.4 23.1-30H432v-16h-80v-18h16v-16h48v-16h32v-16h28.5c1.7-9.4 2.7-18.8 3.2-28.3-136.8 13.7-310.6 13.7-447.44 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeerTrack;

impl IconShape for DeerTrack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415 26.08c-45.5-.55-114 109.42-124 148.32-7.9 37 71.8 92.2 85.3-22.3 4.1-34.8 55.5-120.32 43.6-125.42v-.1c-.1 0-.3-.1-.6-.1-1.4-.25-2.9-.39-4.3-.4zm57.7 21.96c-12.2-1.44-34.4 93.16-55.4 120.66-69.9 91.7 25.7 107.4 45.6 75.3 20.8-36 49.1-169.82 10.9-195.52-.1-.1-.3-.2-.5-.3-.2-.1-.4-.12-.6-.14zM130.3 202.5C84.67 203 26.14 322.6 20.16 363.1c-4.03 37.6 81.04 84.2 82.64-31 .4-35.1 42.7-125.5 30.3-129.4v-.1h-.6c-.7-.1-1.4-.1-2.2-.1zm57.6 16c-12.3-.1-24.6 96.4-42.6 125.8-60.06 98.5 36.7 104.2 53.1 70.2 17-38 31.3-174.1-9.4-195.7-.1-.1-.3-.1-.5-.2s-.4-.1-.6-.1zm116.3 11.9c-9.1-.1-16.7 3.2-19.9 9.5-5.3 10.9 3.9 26.5 20.8 35 16.8 8.4 35 6.4 40.3-4.4 5.5-10.9-3.8-26.5-20.7-34.9-1.1-.6-2.1-1-3.1-1.4-6-2.6-12-3.8-17.4-3.8zm77.4 31.7c-12 0-21.9 4.8-24.5 13.1-3.7 11.5 8 25.6 26 31.2 18 5.7 35.5.9 39.2-10.7 3.5-10.7-6.6-23.8-22.7-30l-3.3-1.2c-5-1.6-10.1-2.3-14.7-2.4zM41.81 417.2c-10.35.3-18.76 4.5-21.53 11.7-4.14 11.4 6.63 26 24.32 32.7 17.58 6.6 35.44 2.7 39.64-8.6 4.4-11.4-6.5-25.9-24.22-32.5-1.16-.5-2.19-.8-3.23-1.1-5.16-1.6-10.27-2.3-14.98-2.2zm82.39 23.6c-14.2-.1-25.85 6-27.85 15.7-2.51 11.8 10.65 24.6 29.15 28.3 18.5 3.8 35.4-2.8 37.9-14.7 2.4-11-9-23-25.7-27.5-1.1-.2-2.2-.5-3.4-.8-3.4-.7-6.9-1-10.1-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DefenseSatellite;

impl IconShape for DefenseSatellite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.816l-39 26v23.455L243.729 103h24.542L295 76.271V52.816l-39-26zM119.027 41l-11.5 46H151V41h-31.973zM361 41v46h43.473l-11.5-46H361zM169 55v18h30V55h-30zm144 0v18h30V55h-30zm-86.734 55.994c-.06.03-.123.057-.182.086-7.048 3.524-9.084 7.157-9.084 8.92s2.036 5.396 9.084 8.92S243.961 135 256 135c12.039 0 22.868-2.556 29.916-6.08 7.048-3.524 9.084-7.157 9.084-8.92s-2.036-5.396-9.084-8.92c-.059-.03-.123-.057-.182-.086L275.73 121H236.27l-10.005-10.006zM199 143.977c-61.739 6.488-118.528 23.478-154.256 49.627 7.202 8.662 15.23 16.686 23.967 24.052 15.382-8.683 32.294-16.008 50.289-21.996V192c0-6.438 2.95-12.44 7.168-16.457 4.218-4.018 9.452-6.435 15.021-7.914 5.57-1.48 11.577-2.058 17.666-1.74a64.318 64.318 0 0 1 18.166 3.632l.12.043 21.859 8.49v-34.077zm114 0v34.078l21.86-8.49.119-.044a64.318 64.318 0 0 1 18.166-3.632c6.09-.318 12.096.26 17.666 1.74s10.803 3.896 15.021 7.914S393 185.563 393 192v3.66c17.995 5.988 34.907 13.313 50.29 21.996 8.737-7.366 16.764-15.39 23.966-24.052-35.728-26.15-92.517-43.139-154.256-49.627zm-96 .5v80.908c13.604 10.234 26.464 15.115 39 15.115 12.536 0 25.396-4.881 39-15.115v-80.908c-.344.18-.685.369-1.033.543C283.643 150.182 270.47 153 256 153c-14.47 0-27.643-2.818-37.967-7.98-.348-.174-.689-.362-1.033-.543zm-62.371 39.437c-3.215.05-6.246.428-8.818 1.111-2.588.688-4.44 1.661-5.85 2.623L199 215.2v-17.834l-28.037-10.89c-4.094-1.457-8.664-2.277-13.068-2.502a48.853 48.853 0 0 0-3.266-.059zm202.742 0a48.853 48.853 0 0 0-3.266.059c-4.404.225-8.974 1.045-13.068 2.502L313 197.365V215.2l59.04-27.55c-1.41-.963-3.263-1.936-5.85-2.624-2.573-.683-5.604-1.06-8.819-1.11zM41 216.217v42.86C79.07 314.612 167.082 344.5 256 344.5s176.93-29.887 215-85.424v-42.86C418.828 270.5 337.25 297 256 297S93.172 270.499 41 216.217zm164.191 23.023l-57.197 22.217c13.515 4.655 27.557 8.377 41.916 11.186l40.64-18.965c-8.619-3.254-17.095-8.104-25.359-14.438zm101.618 0c-8.264 6.334-16.74 11.184-25.36 14.438l40.64 18.965c14.36-2.81 28.402-6.531 41.917-11.186l-57.197-22.217zM256 261.666l-33.646 15.701A349.784 349.784 0 0 0 256 279c11.255 0 22.498-.555 33.646-1.633L256 261.666zm-39 99.047v52.746c6.479 10.81 22.181 17.541 39 17.541s32.521-6.732 39-17.541v-52.746a428.936 428.936 0 0 1-39 1.787c-13.033 0-26.077-.606-39-1.787zm16 85.06V464c0 20 46 20 46 0v-18.227c-7.402 2.19-15.267 3.227-23 3.227-7.733 0-15.598-1.036-23-3.227z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DekuTree;

impl IconShape for DekuTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201.2 18.02c-7.5 18.43-14.9 39.97-36.4 53.59l-3.8 2.4-4.2-1.6c-7.5-2.85-13.7-7.31-18.9-12.42 1.2 32.51 3.3 65.11 5 97.81 24.3-17 44.8-27.6 69-36.7l33.6 42.4c-4.5 1.6-9.4 3.2-13.8 4.9l-6.3 70.6-20.5 21.8 39.5 22.6 51.9-21.4-23-19.4-8.9-73.3c-5-1.9-10.2-3.6-15.4-5.5 11.2-14.1 22.3-28.3 33.6-42.4 23.4 8.9 47.3 20.9 65 33.7-1.3-35.6-.6-71.97 2.2-109.21-7.7 5.32-15.5 10.38-23.1 14.56-13.2 7.15-24.9 12.69-37 10.98-14.2-2.03-23.5-13.27-31.7-24.64-7.2-9.95-13.7-20.75-19.5-28.77zM18.51 19.11c2.09 4.8 4.64 10.38 7.84 16.43 7.85 14.87 19.56 30.33 27.54 33.88 4.72 2.1 6.66 1.61 10.75-.37s9.39-6.25 16.15-10.67c9.22-6.03 22.01-11.36 38.61-9.63-.2-5.53-.3-11.06-.4-16.61l-.2-13.03zm112.29 0l4.9 8.27c6.2 10.39 13.9 20.83 23.3 26.18 10.7-8.47 16.4-20.65 22.1-34.45zm130.3 0c3.9 5.89 7.7 11.84 11.5 17.12 7.4 10.2 14.9 16.69 19.7 17.38 2.8.41 13.9-2.53 25.8-8.97 11.8-6.45 25.1-15.59 36.4-24.54l1.3-.99zm108.8 0c-1.4 15.51-2.7 32.08-3.5 45.64 15.6 3.2 31.9 12.6 46.9 10.08 11.1-2.08 22.1-12.72 35-22.71 8.7-8.17 19.3-4.28 29-6.67 9.2-4.48 12.9-17.72 15.8-26.34zM206 142.7c-28.4 11.4-51.1 26.7-70 44.7l7.4 13.9c20.3-17 43.2-33.7 72.6-46zm82.5.3l-10 12.6c29.4 12.3 52.3 29 72.6 46l7.4-13.9c-18.9-18-41.6-33.3-70-44.7zm-78.3 63.7l-51.6 19.7c-8.5-9-5.7-9.7-13.4-3.2.3 28.6-.3 57.3-2.9 86.4 11.4-3.7 23.6-7.7 35.6-11.9 12.5-4.3 24-8.3 34.4-12L176.1 265l31.9-33.8zm77 1.4l3.1 25.3 40.2 34-48.5 20c26.2 9.7 57.5 16.5 87.1 22.9-6.8-27.3-12-55-15.6-83.2-3.3-2.8-6.9-6-10-8.5l-7.6 8.1zm-28.7 89l-15.3 6.3-10.3-5.9c-12 4.4-29.3 10.5-49.1 17.3-16.7 5.7-33.5 11.2-48.3 15.8 13.5 2.6 27.6 4.6 41.3 5.5 26.6 1.8 51.3-1.3 66.3-11.2l5-3.3 5 3.3c17.5 11.6 45 14.1 73.3 11.2 14.4-1.4 28.8-4.2 42.2-7.4-36.5-7.7-77.2-16-110.1-31.6zm120.4 47.7c-32.6 7.4-65.2 13.4-96.4 8.9 17.1 24.2 17.7 65.9 14.2 94.1h-.7l58.3 46.2c-.9-4.4-1.6-8.9-1.9-13.3-.9-15.1 2.3-30.8 12.3-43.6l5-6.4 6.8 4.2c42.5 26.3 75.8 41.4 116.4 44.9-40.3-32.2-69.6-65.9-104.8-109.1-4.1-8.1-6.7-17.9-9.2-25.9zm-241.4 4.4c-.4 2.8-.4 5.5-2 7.8-33.2 54.5-59.53 70.3-113.53 105.7 34.78 4 70.98-1.9 92.33-18.1l13.7-10.4.7 17.2c-.4 25.1 9.1 27.9 22.1 43.4 13.5-9.1 24.6-13 31.1-17.1 12.1-11.4 13.7-20.4 15.2-32.3-4.8-27.8-5.2-67.9 10.7-91.5-10.4 1-21.3.9-32.2.2-12.7-.9-25.7-2.6-38.1-4.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DelicatePerfume;

impl IconShape for DelicatePerfume {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M351.6 27c-7.3 0-14.6 1.01-19.2 2.54-2 .69-3.2 1.44-3.8 1.85V85h46V75l-15-15 15-15V31.39c-.6-.41-1.8-1.16-3.8-1.85-4.6-1.53-12-2.54-19.2-2.54zm-47.4 23.52c-31.2-.16-58 6.8-80.9 19.28-30.6 16.65-53.9 42.8-72.7 73.6-22.8 37.5-39.1 82-53.27 126.7.56 0 1.13.1 1.7.1 2.47.2 4.87.6 7.37 1.4 3 .9 5.8 2.1 8.3 3.7 14.1-44.1 29.9-87.3 51.3-122.5 17.6-29 38.9-52.5 65.9-67.19 21.8-11.85 47.4-18.22 78.7-16.97V50.66c-2.2-.1-4.3-.13-6.4-.14zm8.4 52.48v14h78v-14zm-19.9 32c-10.7 16.8-29.7 27.8-45.6 40.1-17.4 13.6-30.5 26.9-30.5 46.9 0 62.9 11.7 105.5 23.5 139 10.5 29.7 21.6 52.4 24 76h175c2.4-23.6 13.5-46.3 24-76 11.8-33.5 23.5-76.1 23.5-139 0-20-13.1-33.3-30.5-46.9-15.9-12.3-34.9-23.3-45.6-40.1zM96.21 287.9c-2.85 0-5.17.8-7.72 2.4-3.87 2.4-8.01 7-11.77 13.4-2.45 4.1-4.67 8.8-6.72 13.9 2.68-.8 5.42-1.3 8.2-1.5 4.71-.4 9.55 0 14.46 1.5 7.84 2.4 14.04 6.8 18.94 12.6 1.1-5.4 1.9-10.6 2.1-15.5.3-7.4-.6-13.5-2.6-17.7-1.9-4.1-4.4-6.5-9.9-8.2-1.31-.4-2.59-.6-3.74-.8-.43 0-.85-.1-1.26-.1zm-14.9 46c-.7 0-1.4 0-2.09.1-8.35.8-16.8 6.1-25.06 14.9-11 11.8-20.15 29-24.29 42.9-4.15 13.9-5.9 33.3-3.12 49.1 2.78 15.8 9.19 26.8 20.22 30.1 11.01 3.2 22.35-2.4 33.34-14.1 11-11.8 20.09-29 24.29-42.9 4.1-13.8 5.7-33.3 2.8-49.2-2.9-15.9-9.41-26.8-19.87-30-2.06-.6-4.14-.9-6.22-.9zM255.6 455c-5.8 0-8.9 1.8-11.3 4.5-2.3 2.6-3.7 6.5-3.7 10.5s1.4 7.9 3.7 10.5c2.4 2.7 5.5 4.5 11.3 4.5h192c5.8 0 8.9-1.8 11.3-4.5 2.3-2.6 3.7-6.5 3.7-10.5s-1.4-7.9-3.7-10.5c-2.4-2.7-5.5-4.5-11.3-4.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeliveryDrone;

impl IconShape for DeliveryDrone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407 24.98v14.04h16V25zM88.99 25v14.03H105V25zM487 57H344.9v15.96H487zm-320 0H25v15.98h142zm256 33.93h-16.1v27.97l13.7.1h2.4zm-318 .1H88.97v28.07H105zm272 45.87l-.1 32.1h-78.5l-16-32h-52.8l-16 32.1-78.6-.1v-32H55.03l-12.04 48L199 214.4V208c.1-31.4 25.7-56.9 57.1-57 31.3 0 57 25.6 56.9 57 0 4.1.1 6.4.1 6.4L469 185.1 457 137zM256.1 169c-21.6 0-39 17.4-39.1 39.1.1 21.5 17.5 38.9 39.1 38.9s39-17.4 38.9-39c.1-21.5-17.3-39-38.9-39zm-.2 14c13.8 0 25 11.3 25.1 25 0 13.7-11.3 25.1-25 25-13.7 0-25.1-11.3-25-24.9 0-13.8 11.3-25 24.9-25.1zm-54.7 40.5L215 279h82l13.9-55.4c-6.8 23.9-28.8 41.4-54.8 41.4-26.1 0-48.1-17.6-54.9-41.5zm-35.8 4.2L60.35 321.1l83.85 107.7c5-5 11.3-8.8 18.2-11.1L100.2 318l87.9-73-3.4-13.4zm181.3.2l-19.4 3.8-3.3 13.4 87.8 73-62.2 99.6c7 2.3 13.2 6.2 18.3 11.3l83.8-107.8zM176 433.6c-15 0-26.9 11.9-26.9 26.7 0 14.9 11.9 26.7 27 26.8 14.9-.1 26.9-12 26.9-26.8-.1-14.8-11.9-26.7-27-26.7zm159.9 0c-14.9.1-27 11.9-26.9 26.8 0 14.7 11.9 26.6 27 26.6 15 0 27-11.8 26.9-26.7.1-14.8-11.9-26.7-27-26.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Desert;

impl IconShape for Desert {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M481.5 21.96l-45.6 12.33c2.6 5.3 4.3 11.14 4.9 17.3l45.3-12.25-4.6-17.38zm-279.3.67L200 40.51l143 17.04V56c0-5.7 1-11.17 2.8-16.26L202.2 22.63zM392 25c-17.2 0-31 13.77-31 31s13.8 31 31 31 31-13.77 31-31-13.8-31-31-31zm-43.8 52.81l-74.5 54.89 10.6 14.4L359 92.12c-4.5-4.05-8.1-8.9-10.8-14.31zm73.9 16.81c-4.8 3.7-10.2 6.58-16.1 8.28l38.9 67.2 15.6-9-38.4-66.48zm-294.2.58c-.3.01-.5.02-.7.04-3.3.32-7.7 3.47-11.8 8.76-2.5 20.1-2.5 42.6.3 62.6l1.7 11.8-11.9-1.7c-5.1-.7-7.11-.8-12.91-.4l-8.75.6-.8-8.8c-.8-8.6-3.77-20.7-7.11-29.3-3.41-2.9-5.73-3.4-7.78-3.2-1.85.3-4.44 1.5-7.51 4.5 1.81 18.8 3.36 36.9 8.7 54.9 9.63 4.2 23.42 6.4 36.96 5.7l10-.5-.6 10c-4.3 73.9-6.1 142.6-1 215.8 8.1 3.7 15.8 5.5 21.9 5.5 5.8 0 9.6-1.5 12-3.5 4.5-42.7.6-83.1-1.8-124.8l-.5-9.4 9.4-.1c10.7-.1 19.7-2.3 25.9-5.4 6-2.8 8.8-6.4 9.3-7.8 5.6-38.6 9.4-72.6 7.2-109.3-.1-2.2-.7-2.9-1.8-3.8-1-.9-3-1.7-5.2-1.8-2.2-.2-4.6.3-6.1 1.1s-2 1.5-2.3 2.4c-9.4 31.1-17.3 62-18.6 94.7v.1l-18-.9v-.1c2.7-51 .6-104.7-2.6-156.2-7.2-9.39-12.2-11.54-15.6-11.5zm239.6 3.2l-53.9 142.9 16.8 6.4 54-143.3c-6-.9-11.8-3-16.9-6zm66.4 111.7v47.8l-7.6-1.8-4-28.2-17.8 2.6 5.8 40.4 23.6 5.5V297h-233c-3.1 3-7.1 5.5-11.4 7.6-6.8 3.2-15 5.6-24.2 6.6 2.5 39.2 5.8 78.9.9 121.7l-.2 2.4-1.5 2c-6.4 8.5-17 12.2-27.9 12.2-11 0-22.9-3.3-34.8-9.7l-4.41-2.3-.36-4.9C93.6 386.2 93 341.8 94.04 297H25v190h462V297h-35.1v-38.5l23-5.3 4.8-24.8-17.6-3.4-2.6 13.2-7.6 1.7v-29.8h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DesertCamp;

impl IconShape for DesertCamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M339.6 16.39c0 30.48 24.5 55 55 55s55-24.52 55-55zM9.07 81.71C49.52 134.6 128.5 181.5 217.7 220.2c96.5 41.8 203.2 74.2 285.2 98.5-7.8-18.4-15.7-36.7-21.8-55-41.6-22-57.8-32.6-68.1-43.5 19.2 5.7 66.1 11.1 57.4-5.6-6.4-23.8 3.5-49.2 19.4-72.6-154.1 23.1-355.4-4.6-480.73-60.29zm26.56 53.69v208h30V158.7c-10.65-7.5-20.66-15.3-30-23.3zm91.67 61.2c-3.8 9.9-8.2 18.4-13.7 25.7-7.6 10.2-17.17 18.5-29.97 25.8v20.1c18.87-9.3 33.47-20.5 44.37-35.2 6.1-8.3 11.1-17.6 15.2-28-5.3-2.8-10.7-5.6-15.9-8.4zm324.3 125.6v22.7c3.4 1.7 6.5 3.5 9.4 5.6l8.6 6-7.3 7.6c-3.4 3.4-6.7 8.4-10.7 14v21c6 13.3 11.4 27.7 14.1 42.3 2.8 15.6 2.1 31.9-5.1 46h21V331.1c-10-2.9-19.3-5.7-29.9-8.9zm-39.9 33.2c-4.1 0-8 .5-11.7 1.3.4 7.6 2.7 13 8.6 20 9.7 5.7 17.2 3.9 19.8 2.2 5-6 9-12.3 13.4-18.2-7.5-3-16.7-5-25.9-5.3h-2.1zm-392.07 6v81.2l81.17-81.2zm106.77 0L19.63 468.2v19.2h19.4l106.57-100v-26zm273.1 30.8c-3.1 1.2-5.8 3.5-8.7 7.1-4.7 5.9-8.7 15.4-11.5 26.2-5.4 21.4-5.6 48.2-3.4 60.3-.1-1.2 1.1 1.3 5.4 3.4 4.7 2.3 11.6 4.4 19 5.5 14.7 2.4 31-.1 36.2-4.9 12.8-11.8 14.8-26.8 11.5-45.1-2.8-15.3-9.8-31.9-17.1-47.3-9 2.7-20.3 1.4-31.4-5.2zm-253.9 20-80.17 75.2h80.17zm216.7 7.2c-12.2 3.4-23 7.6-29.1 11.2 1.6-.9-.7 1-1.3 6.1-.6 5.2-.2 12.4 1.1 19.8 2.7 14.7 10.4 29.2 16.7 32.6 3.2 1.7 6.4 2.9 9.6 3.7-.5-1.1-.8-2.2-1-3.4-3.2-16.5-2.7-43.7 3.6-68.3.1-.6.3-1.1.4-1.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeshretRedCrown;

impl IconShape for DeshretRedCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.584 25.057c4.56.092 9.456.807 14.64 2.265 23.538 6.625 42.59 36.765 37.022 77.908-7.188 53.11-34.83 91.61-66.517 125.633-5.844-2.294-11.512-5.036-17.066-8.142 32.206-33.85 58.95-69.708 65.744-119.904 4.656-34.395-13.062-55.07-24.06-58.166-15.98-4.496-22.284-.58-26.557 4.614-4.272 5.193-5.342 14.235-4.884 16.693.84 4.505 5.31 9.92 10.664 12.75 5.355 2.83 9.875 2.558 11.645 1.147.7-.56 1.258-1.106 1.73-1.64a16.304 13.092 31.855 0 1-7.463-2.76 16.304 13.092 31.855 0 1-6.937-19.725 16.304 13.092 31.855 0 1 20.758-2.517 16.304 13.092 31.855 0 1 .15.1c7.694 3.575 12.903 10.946 13.442 18.843.55 8.077-3.418 16.16-10.46 21.772-9.448 7.532-21.805 5.7-31.277.693-9.47-5.005-17.773-13.705-19.947-25.364-1.717-9.216.222-21.15 8.68-31.43 6.344-7.71 17.01-13.045 30.694-12.77zM96.22 28.795c119.857 248.87 236.552 245.093 321.796 218.965 2.965 40.132 7.887 77.118 18.132 113.94l-77.625 48.83c-12.293-27.498-34.082-38.8-48.013-24.82-13.932 13.977 6.638 45.033 20.992 63.08l-38.252 37.02C196.355 352.16 124.757 202.942 76.555 39.33L96.22 28.795z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Desk;

impl IconShape for Desk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.998 104.998v110.004h206.004V104.998H104.998zm288 112v46.004h30.004v-46.004h-30.004zm-194.512 16l-8.668 26.004h36.364l-8.668-26.004h-19.028zm-157.488 44v18.004h430.004v-18.004H40.998zm14.004 36V496h17.996V371.729l58.73-58.731h-25.453l-33.277 33.277v-33.277H55.002zm289.996 0v46.004h94.004v-46.004h-94.004zM394.271 320a10.272 8 0 0 1 10.272 8 10.272 8 0 0 1-10.272 8A10.272 8 0 0 1 384 328a10.272 8 0 0 1 10.271-8zm-49.273 56.998v46.004h94.004v-46.004h-94.004zM394.271 384a10.272 8 0 0 1 10.272 8 10.272 8 0 0 1-10.272 8A10.272 8 0 0 1 384 392a10.272 8 0 0 1 10.271-8zm-49.273 56.998v46.004h94.004v-46.004h-94.004zM394.271 448a10.272 8 0 0 1 10.272 8 10.272 8 0 0 1-10.272 8A10.272 8 0 0 1 384 456a10.272 8 0 0 1 10.271-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Detonator;

impl IconShape for Detonator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 41v46h94V41H25zm368 0v46h94V41h-94zM137 55v18h110v110h18V73h110V55H137zM73 201v30h366v-30H73zm32 48v190h302V249H105zm151 17l96 150H160l96-150zm-9 38v64h18v-64h-18zm9 75a12 12 0 0 0-12 12 12 12 0 0 0 12 12 12 12 0 0 0 12-12 12 12 0 0 0-12-12zM73 457v30h366v-30H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Detour;

impl IconShape for Detour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M486.945 25.055L347.49 52.945l23.78 23.784L390.544 96l-56.793 56.795c-27.393-22.7-57.978-32.844-86.97-32.06-33.838.918-64.92 15.95-87.858 38.888-22.94 22.94-38.084 54.114-39.406 88.178-1.138 29.306 8.49 60.407 30.742 88.485L19.27 467.27l25.46 25.46 155.48-155.484-12.476-12.726c-24.72-25.22-33.185-51.125-32.246-75.323.94-24.198 11.9-47.13 28.89-64.12 16.988-16.988 39.66-27.71 63.38-28.352 23.72-.643 49.04 8.152 73.633 33.5l12.727 13.115L416 121.457l43.055 43.053 27.89-139.455zM256 192a64 64 0 0 0-64 64 64 64 0 0 0 64 64 64 64 0 0 0 64-64 64 64 0 0 0-64-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DevilMask;

impl IconShape for DevilMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.55 31.4C58.98 60.64 45.4 99.1 47 136c1.88 43.1 23.9 83.8 69 106.3l5 2.5v5.6c0 45 23.1 100.1 52.5 145.2 14.6 22.5 30.8 42.6 46 57.8 13.9 13.8 27.1 23.2 36.5 27.2 9.4-4 22.5-13.4 36.4-27.3 15.2-15.2 31.4-35.3 46.1-57.8 29.3-45.1 52.5-100.1 52.5-145.1v-5.6l5-2.5c45.1-22.5 67.1-63.2 69-106.3 1.6-36.9-12-75.36-39.5-104.6.9 28.55 2.9 50.9-.6 70.6-4.5 24.4-19.5 43.8-52.9 60.5l-4.9 2.4-4.5-3.3c-2.1-1.6-4.2-3-6.3-4.5-3.3 7-7.9 13.6-13.9 19.7-11.2 11.1-27.4 10.9-39.7 6-12.3-5-23.7-14.4-23.7-28.4v-3.7l2.6-2.7c6-6 10.7-11.2 14.6-16.2-26.3-5.7-54-5.7-80.4 0 3.9 5 8.6 10.2 14.6 16.2l2.6 2.7v3.7c0 14-11.4 23.4-23.7 28.4-12.3 4.9-28.5 5.1-39.7-6-6-6.1-10.6-12.7-13.9-19.7-2.1 1.4-4.2 2.9-6.3 4.5l-4.5 3.3-4.9-2.4c-33.4-16.7-48.42-36.1-52.85-60.5-3.58-19.7-1.54-42.05-.6-70.6zm88.15 52.71C171 94.26 168 104.9 167 115.3c-1.9 18.2 1.5 34.9 15.4 48.7 4.8 4.9 12.6 5.1 20.3 2 5.6-2.2 9.6-6.3 11.3-9.2-14.1-14.7-22.4-27.1-28.3-40.9-4-9.3-7.3-19.9-11-31.79zm162.6 0c-3.7 11.86-7 22.49-11 31.79-5.9 13.8-14.2 26.2-28.3 40.9 1.7 2.9 5.7 7 11.3 9.2 7.7 3.1 15.5 2.9 20.3-2 13.9-13.8 17.3-30.5 15.4-48.7-1-10.4-4-21.04-7.7-31.19zM157.2 192.6l10.9 21.8c11.1 22.2 31.3 45.3 53.3 61.7l-21.8-54.4 16.8-6.6 30.7 76.8 1.9.9v.9h14v-.9l1.9-.9 30.7-76.8 16.8 6.6-21.8 54.4c22-16.4 42.2-39.5 53.3-61.7l10.9-21.8 22.2 88.7v1.1c0 6.2-2.6 12.1-6.3 16.4-3.8 4.4-8.6 7.5-13.9 10-10.5 5-23.3 7.5-36.1 8.6-2.1.2-4.1.3-6.1.4l-17 33.9c9.7-3.6 21.1-8.1 35.1-13.7l12.3-4.9v13.3c0 20.5-13.6 41.3-30.6 58.4-17.1 17-37.9 30.6-58.4 30.6s-41.3-13.6-58.4-30.6c-17-17.1-30.6-37.9-30.6-58.4v-13.3l12.3 4.9c14 5.6 25.4 10.1 35.1 13.7l-17-33.9c-2-.1-4-.2-6.1-.4-12.8-1.1-25.6-3.6-36.1-8.6-5.3-2.5-10.1-5.6-13.9-10-3.7-4.3-6.3-10.2-6.3-16.4v-1.1zm6.3 49l-10.4 41.5c.1 1.3.5 2.5 1.8 3.9 1.5 1.8 4.2 3.8 7.9 5.5 7.5 3.5 18.7 6 29.9 6.9 10.8.9 21.5.5 29.3-.9-22.5-14.2-43.4-34.6-58.5-56.9zm185 0c-15.1 22.3-36 42.7-58.5 56.9 7.8 1.4 18.5 1.8 29.3.9 11.2-.9 22.4-3.4 29.9-6.9 3.7-1.7 6.4-3.7 7.9-5.5 1.3-1.4 1.7-2.6 1.8-3.9zm-106.4 70.1l-22 11 35.9 71.9 35.9-71.9-22-11zm-53.3 49.4c4.3 10 12 21.3 21.6 30.9 11.3 11.3 25 20.1 36 23.6l-20.6-41.1c-10.6-3.1-22.5-7.6-37-13.4zm134.4 0c-14.5 5.8-26.4 10.3-37 13.4l-20.6 41.1c11-3.5 24.7-12.3 36-23.6 9.6-9.6 17.3-20.9 21.6-30.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DialPadlock;

impl IconShape for DialPadlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.2 31.57c-17.6-.14-35.5 3.28-52.6 8.4-24.9 7.45-49.3 18.87-66.9 37-17.8 18.15-27.46 45.53-18.8 74.23l23.3 77.9c7.8-12.1 17-23.3 27.6-33.2l-16.4-55c-5.2-17.2-1.1-27.4 10-38.8 11.1-11.33 30.4-21.33 51.5-27.64 14.5-4.34 29.2-6.76 42.1-6.76 5.8 0 11.3.51 16.1 1.57 15.5 3.39 24.5 9.65 29.7 26.9l16.4 55.03c14.4 2.5 28.3 6.7 41.4 12.6l-23.3-77.96c-8.6-28.74-31.7-46.28-56.5-51.7-7.7-1.71-15.6-2.5-23.6-2.57zm34 134.93c-15.5-.1-31.2 2-46.8 6.7C146.3 198 99.18 285.3 124.1 368.5c24.9 83.1 112.1 130.2 195.3 105.3 83.1-24.9 130.2-112.1 105.3-195.3-20.2-67.6-81.6-111.3-148.5-112zm-3.1 65c40.1-.6 77.4 25.4 89.4 65.6 14.6 48.6-13.2 100-61.7 114.5-48.6 14.6-100-13.2-114.5-61.7-14.6-48.6 13.2-100 61.7-114.6 8.4-2.5 16.8-3.7 25.1-3.8zm2.2 17.9c-4.4 0-8.9.4-13.4 1.2l9.2 30.4-17.2 5.2-9.1-30.5c-12.7 5.5-23.2 14.2-30.8 24.9l29.1 15.7-8.6 15.9-29.1-15.6c-4.7 12.2-6.3 25.7-3.9 39.3l30.7-9.2 5.1 17.3-30.7 9.2c14.4 33 50.6 51.1 86.1 42l-32.3-46 39.8-11.9-1.7 56.2c34.6-11.9 54.9-47.1 48.8-82.4l-30.7 9.1-5.1-17.2 30.7-9.2c-5.5-12.7-14.3-23.1-25-30.7l-15.8 29.1-15.8-8.6 15.8-29.1c-8.2-3.2-17-5-26.1-5.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiamondHilt;

impl IconShape for DiamondHilt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-13.926 0-31.544 1.105-45.613 5.2-14.07 4.094-23.213 10.325-25.662 20.007-1.661 6.566.726 15.172 7.03 24.953 6.306 9.782 16.126 20.111 26.401 29.264 16.976 15.121 32.104 25.063 37.844 28.752 5.74-3.689 20.868-13.631 37.844-28.752 10.275-9.153 20.095-19.482 26.4-29.264 6.305-9.781 8.692-18.387 7.031-24.953-2.449-9.682-11.592-15.913-25.662-20.008C287.543 26.105 269.926 25 256 25zm-39 102.027v12.758l39 32.5 39-32.5v-12.758c-18.142 14.699-34.277 24.633-34.277 24.633L256 154.572l-4.723-2.912s-16.135-9.934-34.277-24.633zm0 36.188v41.57L241.941 184zm78 0L270.059 184 295 204.785zm-39 32.5l-39 32.5V231h19.273l13.364-13.363L256 211.27 275.729 231H295v-2.785zm175.771 24.783c-15.255 13.207-31.532 20.581-48.66 24.348-19.619 4.314-40.22 4.227-63.14 4.154h-26.244l14 14H384v18h-74.904l-8.4 14H352c31.07 0 60.695 13.027 79.646 28.627L483.273 272zm-351.552.01L28.727 272l51.627 51.627C99.305 308.027 128.93 295 160 295h51.305l-8.4-14H128v-18h76.273l14-14H192c-24 0-44.575.091-63.953-4.215-16.904-3.756-32.736-11.132-47.828-24.277zM256 236.727l-36.668 36.668L256 334.508l36.668-61.113zM201 313v180h46V354.492L222.105 313zm88.895 0L265 354.492V493h46V313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiamondRing;

impl IconShape for DiamondRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M191.02 25.346l-22.9 34.35h30.714l22.9-34.35H191.02zm52.347 0l-22.898 34.35h71.06l-22.897-34.35h-25.266zm46.9 0l22.9 34.35h30.714l-22.9-34.35h-30.714zm-117.234 52.35l50.115 50.115-25.058-50.115h-25.057zm45.182 0L256 153.265l37.785-75.57h-75.57zm95.695 0l-25.058 50.115 50.115-50.115H313.91zm-134.435 31.898C109.163 139.5 59.693 209.29 59.693 290.348c0 108.185 88.122 196.306 196.307 196.306 108.185 0 196.307-88.12 196.307-196.306 0-81.057-49.47-150.848-119.782-180.754l-30.517 30.517c64.397 19.592 111.037 79.292 111.037 150.238 0 86.966-70.08 157.045-157.045 157.045-86.966 0-157.045-70.08-157.045-157.045 0-70.946 46.64-130.646 111.037-150.237l-30.517-30.516z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiamondTrophy;

impl IconShape for DiamondTrophy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.6 41l34.5 69.1L239.2 41zm114.2 0l46.1 69.1L353.4 41zM256 48.22L208.8 119h94.4zm-113.9.14L83.22 119h94.18zm227.8 0L334.6 119h94.2zM80.82 137L196.8 311H249l-63.4-174zm124.08 0L256 277.7 307.1 137zm121.5 0L263 311h52.2l116-174zM201 329v46h110v-46zm-67.8 64l-53.69 94H432.5l-53.7-94H183zm26.8 46h192v18H160z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceEightFacesEight;

impl IconShape for DiceEightFacesEight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 37.143L77.896 343.853h356.208zM230.154 49.79L72 164.233v157.91zm51.69 0L440 322.144V164.232zm-132.516 90.02v21.786l-8.486 9.68v-16.942c-2.772 3.24-5.692 6.367-8.385 9.664 3.536.293 2.484 5.43 2.207 7.752-1.746 9.536-8.154 17.575-13.404 24.79-1.943 2.544-3.943 5.075-6.008 7.507-4.65 3.4-8.49 4.39-10.775-1.463.294-7.806 3.84-15.22 8.046-20.967l5.288-7.918c-.048 2.462.1 4.97-.072 7.405-2.34 4.347-6.766 9.46-5.758 14.608 7.76.874 12.22-10.863 14.522-16.58.832-2.76 2.108-5.458-1.418-5.434v-7.264zm212.13 1.21l44.853 54.464v7.262l-30.304-36.31v8.472l-6.06-7.262c-.155-4.15-1.424-8.377-2.425-12.103-1.86-2.936-3.96-5.704-6.06-8.47zM256.07 203.86c8.37 0 14.733 1.53 19.088 4.587 4.355 3.027 6.533 7.475 6.533 13.344 0 3.924-1.08 7.198-3.243 9.823-2.13 2.626-5.297 4.572-9.498 5.838 4.694 1.298 8.23 3.415 10.61 6.35 2.408 2.902 3.614 6.576 3.614 11.024 0 6.857-2.286 12.047-6.858 15.57-4.54 3.49-11.288 5.233-20.246 5.233-8.988 0-15.784-1.744-20.386-5.234-4.572-3.522-6.858-8.712-6.858-15.57 0-4.447 1.19-8.12 3.57-11.024 2.408-2.935 5.96-5.052 10.655-6.35-4.2-1.265-7.366-3.21-9.497-5.837-2.13-2.625-3.198-5.9-3.198-9.822 0-5.837 2.18-10.285 6.534-13.343 4.354-3.058 10.748-4.586 19.18-4.586zm0 11.212c-2.84 0-5.035.742-6.58 2.225-1.513 1.482-2.27 3.583-2.27 6.3 0 2.75.757 4.866 2.27 6.348 1.545 1.483 3.74 2.225 6.58 2.225 2.78 0 4.926-.742 6.44-2.225 1.513-1.482 2.27-3.598 2.27-6.347 0-2.75-.757-4.85-2.27-6.3-1.514-1.484-3.66-2.226-6.44-2.226zm0 28.262c-3.336 0-5.9.912-7.69 2.734-1.793 1.823-2.69 4.433-2.69 7.83 0 3.398.897 6.008 2.69 7.83 1.79 1.792 4.354 2.688 7.69 2.688 3.305 0 5.837-.896 7.598-2.687 1.76-1.824 2.64-4.434 2.64-7.832 0-3.428-.88-6.038-2.64-7.83-1.76-1.822-4.293-2.734-7.598-2.734zM88.7 359.852L256 480.912l167.3-121.06zm139.42 23.23h54.548v4.842c-14.406 5.942-21.582 12.897-27.88 25.416h-15.76c7.104-13.803 14.546-17.714 26.67-25.416h-37.58z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceFire;

impl IconShape for DiceFire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218.4 24.72c-14.2 0-30.5 3.56-49.5 11.88 77.2 8.6 65.9 91.4 14.1 106.2-65.4 18.7-131.31-23.7-98.34-99.2-39.67 18.95-42.17 80.8-12.93 111.5C141.3 227.9 56.9 279 37.25 200.7-1.929 326.2 60.34 489.5 258.7 489.5c250.7 0 282-374.7 129.2-415.04 26.5 43.04-13.1 70.94-24.9 73.14-51.3 9.9-58.1-122.89-144.6-122.88zm37.5 118.08c4.5 0 9.4 1.1 12.8 2.9l115.9 67.1c7.4 4.1 7.4 10.9 0 15.2l-115.9 66.9c-7.2 4.3-18.5 4.3-25.7 0L126.8 228c-7.3-4.3-7.3-11.1 0-15.2L243 145.7c3.4-1.8 7.9-2.9 12.9-2.9zm-89 62.6c-21.6-.4-33.1 15-18.2 24.3 9.6 4.8 23.7 4.4 32.7-.8 8.8-5.3 9.5-13.7 1.5-19.4-4.3-2.5-10-4-16-4.1zm178.6.1c-20.8.4-31.3 15.5-16.3 24.5 9.6 4.9 23.9 4.6 33-.7 8.9-5.3 9.5-13.9 1.2-19.6-4.2-2.4-9.9-4-15.9-4.2h-2zm-89 0c-6.6-.1-13 1.5-17.7 4.2-10.2 5.6-10.4 15.1-.6 20.9 9.9 5.8 25.8 5.6 35.1-.6 15-9 4.6-24.3-16.8-24.5zm-141 41c1.5.1 3.4.5 5.6 1.6l111.5 64.5c7.2 4.1 12.9 14.2 12.9 22.5v119.7c0 8.3-5.7 11.7-12.9 7.6L121.2 398c-7.4-4.3-13.2-14.2-13.2-22.6V255.7c0-6.2 3-9.2 7.5-9.2zm281.3 0c4.2 0 7.2 3 7.2 9.2v119.7c0 8.4-6 18.3-13 22.6l-111.5 64.4c-7.2 4.1-12.9.7-12.9-7.6V335.1c0-8.3 5.7-18.4 12.9-22.5L391 248.1c2.1-1.1 4.2-1.5 5.8-1.6zm-185 65.5h-1.1c-5.3.4-8.5 4.8-8.5 11.6-.6 10.4 7.2 24.1 16.9 29.8 9.8 5.6 17.6 1.1 17.2-9.9.2-14.2-13.3-31.1-24.5-31.5zm130.9 21.8c-11.2.1-24.8 17.2-24.7 31.4.1 10.4 7.7 14.4 17.2 8.9 9.4-5.5 17-18.3 17.1-28.8 0-6.7-3.3-11.1-8.5-11.5h-1.1zm-216.9 22.5c-5.4.3-8.7 4.7-8.7 11.6-.5 10.5 7.3 24.1 17 29.8 9.8 5.5 17.6 1 17.2-10.1 0-14.5-14.1-31.8-25.5-31.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceShield;

impl IconShape for DiceShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 24C0 312 128 488 256 488S512 312 480 24C320 56 192 56 32 24zm223.9 58.8c4.5 0 9.4 1.1 12.8 2.9l115.9 67.1c7.4 4.1 7.4 10.9 0 15.2l-115.9 66.9c-7.2 4.3-18.5 4.3-25.7 0L126.8 168c-7.3-4.3-7.3-11.1 0-15.2L243 85.7c3.4-1.8 7.9-2.9 12.9-2.9zm-89 62.6c-21.6-.4-33.1 15-18.2 24.3 9.6 4.8 23.7 4.4 32.7-.8 8.8-5.3 9.5-13.7 1.5-19.4-4.3-2.5-10-4-16-4.1zm178.6.1c-20.8.4-31.3 15.5-16.3 24.5 9.6 4.9 23.9 4.6 33-.7 8.9-5.3 9.5-13.9 1.2-19.6-4.2-2.4-9.9-4-15.9-4.2h-2zm-89 0c-6.6-.1-13 1.5-17.7 4.2-10.2 5.6-10.4 15.1-.6 20.9 9.9 5.8 25.8 5.6 35.1-.6 15-9 4.6-24.3-16.8-24.5zm-141 41c1.5.1 3.4.5 5.6 1.6l111.5 64.5c7.2 4.1 12.9 14.2 12.9 22.5v119.7c0 8.3-5.7 11.7-12.9 7.6L121.2 338c-7.4-4.3-13.2-14.2-13.2-22.6V195.7c0-6.2 3-9.2 7.5-9.2zm281.3 0c4.2 0 7.2 3 7.2 9.2v119.7c0 8.4-6 18.3-13 22.6l-111.5 64.4c-7.2 4.1-12.9.7-12.9-7.6V275.1c0-8.3 5.7-18.4 12.9-22.5L391 188.1c2.1-1.1 4.2-1.5 5.8-1.6zm-185 65.5h-1.1c-5.3.4-8.5 4.8-8.5 11.6-.6 10.4 7.2 24.1 16.9 29.8 9.8 5.6 17.6 1.1 17.2-9.9.2-14.2-13.3-31.1-24.5-31.5zm130.9 21.8c-11.2.1-24.8 17.2-24.7 31.4.1 10.4 7.7 14.4 17.2 8.9 9.4-5.5 17-18.3 17.1-28.8 0-6.7-3.3-11.1-8.5-11.5h-1.1zm-216.9 22.5c-5.4.3-8.7 4.7-8.7 11.6-.5 10.5 7.3 24.1 17 29.8 9.8 5.5 17.6 1 17.2-10.1 0-14.5-14.1-31.8-25.5-31.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesFive;

impl IconShape for DiceSixFacesFive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zm48.97 36.03A50 50 0 0 1 172 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zM256 206a50 50 0 0 1 0 100 50 50 0 0 1 0-100zM123.47 340.03A50 50 0 0 1 172 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesFour;

impl IconShape for DiceSixFacesFour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zm48.97 36.03A50 50 0 0 1 172 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm-268 268A50 50 0 0 1 172 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesOne;

impl IconShape for DiceSixFacesOne {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zM256 206a50 50 0 0 1 0 100 50 50 0 0 1 0-100z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesSix;

impl IconShape for DiceSixFacesSix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zm48.97 36.03A50 50 0 0 1 172 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zM122 206a50 50 0 0 1 0 100 50 50 0 0 1 0-100zm268 0a50 50 0 0 1 0 100 50 50 0 0 1 0-100zM123.47 340.03A50 50 0 0 1 172 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm268 0A50 50 0 0 1 440 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesThree;

impl IconShape for DiceSixFacesThree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zm316.97 36.03A50 50 0 0 1 440 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zM256 206a50 50 0 0 1 0 100 50 50 0 0 1 0-100zM123.47 340.03A50 50 0 0 1 172 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceSixFacesTwo;

impl IconShape for DiceSixFacesTwo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M74.5 36A38.5 38.5 0 0 0 36 74.5v363A38.5 38.5 0 0 0 74.5 476h363a38.5 38.5 0 0 0 38.5-38.5v-363A38.5 38.5 0 0 0 437.5 36h-363zm316.97 36.03A50 50 0 0 1 440 122a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97zm-268 268A50 50 0 0 1 172 390a50 50 0 0 1-100 0 50 50 0 0 1 51.47-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceTarget;

impl IconShape for DiceTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 16v23.2C134.4 43.81 43.81 134.4 39.2 247H16v18h23.2c4.61 112.6 95.2 203.2 207.8 207.8V496h18v-23.2c112.6-4.6 203.2-95.2 207.8-207.8H496v-18h-23.2C468.2 134.4 377.6 43.81 265 39.2V16h-18zm0 41.21V80h18V57.21C367.8 61.78 450.2 144.2 454.8 247H432v18h22.8c-4.6 102.8-87 185.2-189.8 189.8V432h-18v22.8c-102.8-4.6-185.22-87-189.79-189.8H80v-18H57.21C61.78 144.2 144.2 61.78 247 57.21zm8.9 38.12c-5 0-9.5 1.1-12.9 2.9L126.8 165.3c-7.3 4.1-7.3 10.9 0 15.2L243 247.4c7.2 4.3 18.5 4.3 25.7 0l115.9-66.9c7.4-4.3 7.4-11.1 0-15.2L268.7 98.23c-3.4-1.8-8.3-2.9-12.8-2.9zm-89 62.57c6 .1 11.7 1.6 16 4.1 8 5.7 7.3 14.1-1.5 19.4-9 5.2-23.1 5.6-32.7.8-14.9-9.3-3.4-24.7 18.2-24.3zm178.6.1h2c6 .2 11.7 1.8 15.9 4.2 8.3 5.7 7.7 14.3-1.2 19.6-9.1 5.3-23.4 5.6-33 .7-15-9-4.5-24.1 16.3-24.5zm-89 0c21.4.2 31.8 15.5 16.8 24.5-9.3 6.2-25.2 6.4-35.1.6-9.8-5.8-9.6-15.3.6-20.9 4.7-2.7 11.1-4.3 17.7-4.2zm-141 41c-4.5 0-7.5 3-7.5 9.2v119.7c0 8.4 5.8 18.3 13.2 22.6l111.4 64.4c7.2 4.1 12.9.7 12.9-7.6V287.6c0-8.3-5.7-18.4-12.9-22.5l-111.5-64.5c-2.2-1.1-4.1-1.5-5.6-1.6zm281.3 0c-1.6.1-3.7.5-5.8 1.6l-111.5 64.5c-7.2 4.1-12.9 14.2-12.9 22.5v119.7c0 8.3 5.7 11.7 12.9 7.6L391 350.5c7-4.3 13-14.2 13-22.6V208.2c0-6.2-3-9.2-7.2-9.2zm-185 65.5c11.2.4 24.7 17.3 24.5 31.5.4 11-7.4 15.5-17.2 9.9-9.7-5.7-17.5-19.4-16.9-29.8 0-6.8 3.2-11.2 8.5-11.6h1.1zm130.9 21.8h1.1c5.2.4 8.5 4.8 8.5 11.5-.1 10.5-7.7 23.3-17.1 28.8-9.5 5.5-17.1 1.5-17.2-8.9-.1-14.2 13.5-31.3 24.7-31.4zm-216.9 22.5c11.4-.5 25.5 16.8 25.5 31.3.4 11.1-7.4 15.6-17.2 10.1-9.7-5.7-17.5-19.3-17-29.8 0-6.9 3.3-11.3 8.7-11.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceTwentyFacesOne;

impl IconShape for DiceTwentyFacesOne {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248 20.3L72 132.6l176-3.8V20.3zm16 0v108.5l175.7 3.8L264 20.3zm43.1 49.97c2.8.06 5.8.75 9.2 2.08 2.3.91 4.1 1.91 5.6 3.07 1.5 1.15 2.8 2.5 3.7 3.79 1.5 2.06 2.2 4.04 2.6 6.25 2.4-1.77 5.2-2.98 8.2-3.84 3.4-.73 7.2-.35 11.1 1.23 4.6 1.82 8.1 4.19 10.3 7.11 2.2 2.93 3.5 5.97 4 9.13.3 1.71.3 3.41.1 5.01-.1 1.7-.6 3.3-1.2 4.7-.5 1.5-1.2 3-2.3 4.3-1 1.3-2.1 2.6-3.5 3.6-2.5 2-5.5 3.3-9.1 3.9-3.6.6-7.7 0-12.3-1.8-4-1.6-7-3.8-9-6.7-1.6-2.6-2.9-5.5-3.4-8.4-2 1.5-4.2 2.5-6.9 2.9-3 .6-6.5 0-10.7-1.6-2.4-1-4.5-2.1-6.2-3.3-1.8-1.3-3.2-2.61-4.3-4.08-2.1-2.58-3.2-5.37-3.5-8.35-.2-2.9.2-5.65 1.1-8.15.5-1.29 1.3-2.57 2.1-3.92 1-1.1 2-2.21 3.1-3.26 2.4-1.77 5.2-2.97 8.5-3.53.9-.12 1.8-.17 2.8-.14zM208 75.56c4.8.05 10.9 3.57 9 10.04-4 6.9-10.3 12.17-18 14.8-7.4 2.5-15 4.4-22 1.9-3-2.3-13-9.4-15-3.4-1.2 15.3 1 13-11 17.8V92.3c10-3.9 21-4.5 31 1.3 8 4.2 19 1.5 24-5.8 1-6.5-8-4.5-12-3.3-3-8.3 7.8-8.43 13-8.9.3-.03.6-.04 1-.04zm100.5 4.46c-.9.01-1.8.14-2.8.36-2.4.61-4.2 2.17-5.1 4.67-1 2.42-.8 4.74.6 6.88 1.4 2.22 3.3 3.73 6 4.78 2.9 1.15 5.4 1.41 8 .73 2.5-.56 4.3-2.12 5.2-4.54 1-2.5.8-4.82-.7-7.01-1.4-2.14-3.5-3.77-6.4-4.92-1.6-.66-3.2-.96-4.8-.95zm28.9 10.15c-1.1.05-2.2.27-3.2.65-2.7 1.17-4.5 2.96-5.4 5.39-1 2.5-.9 5.09.4 7.59 1.2 2.6 3.6 4.6 7.2 6.1 2.9 1.1 5.8 1.3 8.6.6 2.8-.8 4.7-2.7 5.8-5.6 1.1-2.9 1.1-5.53-.5-8.01-1.5-2.47-3.7-4.37-6.6-5.51-2.3-.9-4.4-1.29-6.3-1.21zM242 144.9L55 149l72 192.9 115-197zm28 0l115.4 197L456.6 149 270 144.9zm-14 7.5L139 352.6h234.1L256 152.4zm116.6 16.4l19.2 42.5 7.2-3.3 4.1 9.2-7.1 3.2 6.3 14-10.4 4.7-6.3-14-30.2 13.6-3.9-8.7c1.4-9.2 4.4-27.8 8.9-55.7l1.8-.8.8-.3 3.1-1.5 6.5-2.9zm-225.9 12.1h1.3c2.9 0 5.5.5 7.8 1.6 6.9 3.2 10.7 8.4 11.7 15.3.9 6.9-1 15.3-5.7 25.1-4.7 9.7-10 16.5-15.8 20.3-6 3.8-12.3 4.1-19.1 1-5.9-2.8-9.4-6.7-10.6-11.9-1.2-5.3-.9-9.7.9-13.5l9.6 4.4c-.9 1.7-1.1 3.8-.8 6.3.3 2.6 1.9 4.5 5 6 3.1 1.4 6.1 1.3 9.2-.2 3.1-1.4 6.3-5.2 9.7-11.3.5-1 1.1-2.1 1.7-3.3-1.8 1.2-3.6 2-5.5 2.6-3.2.9-6.6.5-10.3-1.2-4.3-2-7.5-5.5-9.5-10.6-2.1-5-1.5-10.7 1.6-17.2l.1-.1c1.1-2.3 2.4-4.4 4-6 1.4-1.7 3.1-3.1 4.8-4.2 3.1-1.9 6.4-3 9.9-3.1zM52 186v173.2l62-5.7L52 186zm408 0l-61.9 167.5 61.9 5.7V186zm-91.9.6c-1.6 9.7-3.6 22.5-6.2 38.2l19.6-8.8-8.2-17.9-5.2-11.5zm-219.7 4.1c-1.5.1-2.9.4-4.3 1.1-3 1.4-5.1 3.5-6.5 6.5-1.6 3.4-2.1 6.5-1.2 9.6.9 3 2.7 5.1 5.4 6.4 2.8 1.3 5.7 1.3 8.5 0s5.1-3.6 6.8-7c1.4-2.9 1.7-5.9 1-9-.8-3.1-2.6-5.3-5.4-6.6-1.4-.7-2.9-1-4.3-1zm103.2 47.7h15.6v84.2h-15.6v-70.2c-8.8 5.8-15.3 9.6-19.4 11.2l-6.3 2.8v-14l6.3-2.8c4.1-1.8 10.6-5.4 19.4-11.2zm201.7 6.2h.5c3.6.3 5.7 7 4.7 11.1-.1 18.6 1.1 39.2-9.7 55.3-.9 1.2-2.2 1.9-3.7 2.5-5.8-4.1-3-11.3 1.2-15.5 1 7.3 5.5-2.9 6.6-5.6 1.3-3.2 3.6-17.7-1-10.2.7 4-6.8 13.1-9.3 8.1-5-14.4 0-30.5 7-43.5 1.3-1.4 2.5-2.1 3.7-2.2zm-393.3.9c1 .1 1 1 2 3.6v61.1c-7-7-3-17.4-4-26.4-1-7.6 2-16.3-1-23.2-5-1.7-6-17-3-12.7 4 4.8 4-2.7 6-2.4zm390.9 10.6c-1 0-2 1-2.8 3.7-1.6 5.9-3.3 13.4-.7 19.3 5.1-2 5.4-9.6 6.6-14.5 1.2-3.3-.9-8.4-3.1-8.5zM75 268.2c4-.5 7 7.2 9 10.8 3.28 12.7 4.21 13.9 3 16.8-5-3.7-4.87-7.4-5.36-8.9-1-3-1.64-5.3-3.64-8.4-3.34 2.8-3 9.1-3 13.4 0-1.6 1-2.3 4-.7 7 12.6 12 29.1 7 43.5l-2 1.1c-11-5.8-12-19.4-14-30-1-12.3-1-24.7 2-36.7 1-.6 2-.9 3-.9zm358.2 4.8c4.5.3.8 35.2.8 55l-4.4 6.7v-42.3c-4.6 7.5-9.1 9.1-6.1-.9 4.9-13.4 7.9-18.6 9.7-18.5zM77 299.2c-4 4.7-2 12.8-1 18.4 2 5.5 7 10.2 6 1.6 0-5.7 1-11.8-3-16.4 0-.6-1-1.9-2-3.6zm66 69.4l113 123.1 112.8-123.1H143zm-21 .3l-54 4.9 64 41.1c-2-2.7-5-5.7-7-8.8-5-6.9-10-13.6-19-16.6-9-6.5-4-5.3 3-2.6-1-1.8-1-2.6 0-2.6 2-.2 9 4.2 10 6.3l25 31.6 65 41.7-87-95zm268.2 0l-42.4 46.3c6.4-3.1 11.3-8.5 17-12.4 2.4-1.4 3.7-1.9 4.3-1.9 2.1 0-5.4 7.1-7.7 10.3-9.4 9.8-16 23-28.6 29.1l18.9-24.5c-2.3 1.3-6 3.2-8.2 4.1l-40.3 44 74.5-47.6c5.4-6.7 1.9-5.6-5.7-.9l-11.4 6c11.4-13.7 26.8-23.6 40-35.6 3.2-1.5 9.5-5.6 11-5.7.8-.1.2 1-2.8 4.2l-12.6 16c10-7.6.9 3.9-4.5 5.5-.7 1-1.4 2-2.2 2.9l54.5-34.9-53.8-4.9zm-158.3 16.7c1.4 0 2.7.1 4.1.2v43.4h-13v-30c-5-1.4-11 1.7-16-.3-4-2.9 1-6.8 5-5.9 3-.1 7 .2 9-3.2 3.4-3.1 7-4.2 10.9-4.2zm33.1.7s1 .1 1 .2c4 .8 7 .3 10 .4h25.6c1.5 3 .8 7.8-3.3 7.9-3.9.5-7.8-.4-11.7.2-4.7.2-9.6-1.8-14.6.4-3 1.7-4 8.5 1 6.1 4-1.1 7.3-1.8 10.8-.9 7 1.1 15 2.9 19.1 9.2 2.1 3.1 2.7 7.3.7 10.7-3.6 6.5-11.6 8.4-18.3 9.7-2.4.4-4.7 1.4-7.3 1.2-7-.6-15-1.1-20-7.1-3-2.5-3-7.1 2-6.7 3-.1 8-.4 10 3.5 3 3.7 9 3 13 2 3.6-.5 7.5-2.6 7.6-6.7.6-4.2-3.1-7.2-6.9-7.8-5.7-2.3-11.7 1.4-17.7 1.8-3 1.1-9 .5-9-4.4 1-4.2 3-8.1 3-12.5 0-3 2-7 5-7.2zm133.5 5c-.2-.2-7 5.8-9.9 8.1l-15.8 13.1c8.6-4.4 16.5-9.6 22.3-17.4 2.6-2.6 3.5-3.7 3.4-3.8zM151 405.5c3 0 8 4.6 10 7l26 31.1c-8-2.1-13-7.1-18-13.7-6-7.3-11-16.6-21-19.6-9-5-5-6.4 2-2.2 0-1.9 0-2.6 1-2.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiceTwentyFacesTwenty;

impl IconShape for DiceTwentyFacesTwenty {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248 20.3L72.33 132.6 248 128.8zm16 0v108.5l175.7 3.8zm51.4 58.9c6.1 3.5 8.2 7.2 15.1 4.2 10.7.8 22.3 5.8 27.6 15.7 4.7 4.5 1.5 12.6-5.2 12.6-9.7.1-19.7-6.1-14.6-8.3 4.7-2 14.7.9 10-5.5-3.6-4.5-11-7.8-16.3-5.9-1.6 6.8-9.4 4-12-.7-2.3-5.8-9.1-8.2-15-7.9-6.1 2.7 1.6 8.8 5.3 9.9 7.9 2.2.2 7.5-4.1 5.1-4.2-2.4-15-9.6-13.5-18.3 5.8-7.39 15.8-4.62 22.7-.9zm-108.5-3.5c5.5.5 12.3 3 10.2 9.9-4.3 7-9.8 13.1-18.1 14.8-6.5 3.4-14.9 4.4-21.6 1.9-3.7-2.3-13.5-9.3-14.9-3.4-2.1 14.8.7 13.1-11.1 17.8V92.3c9.9-3.9 21.1-4.5 30.3 1.3 8 4.2 19.4 1.5 24.2-5.7 1.4-6.5-8.1-4.6-12.2-3.4-2.7-8.2 7.9-7.5 13.2-8.8zm35 69.2L55.39 149l71.21 192.9zm28.2 0l115.3 197L456.6 149zm-14.1 7.5L138.9 352.6h234.2zm133.3 21.1c13.9 8.3 21.5 26.2 22.1 43-1.3 13.6-.7 19.8-15.2 21.4-14.5 1.6-23.9-19.2-29.7-32.6-3.4-9.9-5.8-24 1.7-31.3 6.1-4.8 15-4.1 21.1-.5zm-223.7 16.1c2.1 4-.5 11.4-4.8 12.1-4.9.7-3.8-9.3-9.4-11.6-6.9-2.3-13.6 5.6-15 11.6 10.4-4 20.3 7.1 20.3 17-.4 11.7-7.9 24.8-19.7 28.1h-5.6c-12.7-.7-18.3-15.8-14.2-26.6 4.4-15.8 10.8-33.9 27.2-40.6 8.5-3.9 19 3.2 21.2 10zm213.9-8.4c-7.1-.1-4.4 10-3.3 14.5 3.5 11.5 7.3 26.6 18.9 30 6.8-1.2 4.4-12.8 3.7-16.5-4.7-10.9-7.1-23.3-19.3-28zM52 186v173.2l61.9-5.7zm408 0l-61.9 167.5 61.9 5.7zm-117.9.7l28.5 63.5-10 4.4-20-43.3c-6.1 3-13 8.9-14.6-1.4-1.3-3.9 8.5-5.1 8.1-11.9-.3-6.9 2.2-12.2 8-11.3zm-212 27.4c-2.4 5.1-4.1 10.3-2.7 15.9 1.7 8.8 13.5 6.4 15.6-.8 2.7-5 3.9-11.7-.5-15.7-4.1-3.4-8.9-2.8-12.4.6zm328.4 41.6c-.1 18.6 1.1 39.2-9.7 55.3-.9 1.2-2.2 1.9-3.7 2.5-5.8-4.1-3-11.3 1.2-15.5 1 7.3 5.5-2.9 6.6-5.6 1.3-3.2 3.6-17.7-1-10.2.7 4-6.8 13.1-9.3 8.1-5-14.4 0-30.5 7-43.5 5.7-6.2 9.9 4.4 8.9 8.9zM59.93 245.5c.59.1 1.34 1 2.48 3.6v61.1c-7.3-7-4.47-18-4.45-26.4 0-8.4 1.65-16.3-1.28-23.2-4.62-1.7-5.79-17-3.17-12.7 4.41 4.8 4.66-2.7 6.42-2.4zm178.77 7.6c8.1 4.5 13.8 14.4 10.8 23.6-2.1 15.2-27 21.1-30.4 29.7-1.2 3 25.4 1.6 30.2 1.6.5 4 1.5 10.7-3.8 11.7-14.5-1.2-29.9-.6-45.1-.6.4-11.2 7.4-21.3 17-26.8 6.9-4.9 15.4-9.3 18.1-17.9 1.8-4.5-.6-9.3-4.6-11.5-4.2-2.9-11-2.3-13.2 2.7-2 3.8-4.4 9.1-8.7 9.6-2.9.4-9 .5-7.2-4.9 1.4-5.6 3.4-11.5 8.2-15.2 8.8-6.3 19.9-6.7 28.7-2zm53.3-1.4c6.8 2.2 12 7.9 14.3 14.6 6.1 14.7 5.5 33.1-4.4 45.9-4.5 4.8-10.2 9.1-17 9.1-12.5-.1-22.4-11.1-24.8-22.8-3.1-13.4-1.8-28.7 6.9-39.8 6.8-7.6 16-10.3 25-7zm156.1 8.1c-1.6 5.9-3.3 13.4-.7 19.3 5.1-2 5.4-9.6 6.6-14.5.9-6.1-3.5-12.6-5.9-4.8zm-176.2 21.1c.6 10.5 1.7 22.8 9.7 28.2 4.9 1.8 9.7-2.2 11.1-6.7 1.9-6.3 2.3-12.9 2.4-19.4-.2-7.1-1.5-15-6.7-20.1-12.2-4.4-15.3 10.9-16.5 18zM434 266.8V328l-4.4 6.7v-42.3c-4.6 7.5-9.1 9.1-6.1-.9 6.1-7.1 4.8-17.4 10.5-24.7zM83.85 279c.8 3.6 5.12 17.8 2.04 14.8-1.97-1.3-3.62-4.9-3.41-6.1-1.55-3-2.96-6.1-4.21-9.2-2.95 4-3.96 8.3-3.14 13.4.2-1.6 1.18-2.3 3.39-.7 7.84 12.6 12.17 29.1 7.29 43.5l-2.22 1.1c-10.36-5.8-11.4-19.4-13.43-30-1.55-12.3-.79-24.7 2.3-36.7 5.2-3.8 9.16 5.4 11.39 9.9zm-7.05 20.2c-4.06 4.7-2.26 12.8-.38 18.4 1.11 5.5 6.92 10.2 6.06 1.6.69-11.1-2.33-12.7-5.68-20zm66.4 69.4L256 491.7l112.8-123.1zm-21.4.3l-53.84 4.9 64.24 41.1c-2.6-2.7-4.9-5.7-7.1-8.8-5.2-6.9-10.5-13.6-18.9-16.6-8.75-6.5-4.2-5.3 2.9-2.6-1-1.8-.7-2.6.1-2.6 2.2-.2 8.4 4.2 9.8 6.3l24.7 31.6 65.1 41.7zm268.4 0l-42.4 46.3c6.4-3.1 11.3-8.5 17-12.4 2.4-1.4 3.7-1.9 4.3-1.9 2.1 0-5.4 7.1-7.7 10.3-9.4 9.8-16 23-28.6 29.1l18.9-24.5c-2.3 1.3-6 3.2-8.2 4.1l-40.3 44 74.5-47.6c5.4-6.7 1.9-5.6-5.7-.9l-11.4 6c11.4-13.7 30.8-28.3 40-35.6 9.2-7.3 15.9-9.8 8.2-1.5l-12.6 16c10-7.6.9 3.9-4.5 5.5-.7 1-1.4 2-2.2 2.9l54.5-34.9zM236 385.8v43.4h-13.4v-30c-5-1.4-10.4 1.7-15.3-.3-3.8-2.9 1-6.8 4.5-5.9 3.3-.1 7.6.2 9.3-3.2 4.4-4.5 9.6-4.4 14.9-4zm29 .5c12.1 1.2 24.2.6 36.6.6 1.5 3 .8 7.8-3.3 7.9-7.7.3-21-1.6-25.9.6-8.2 10.5 5.7 3.8 11.4 5.2 7 1.1 15 2.9 19.1 9.2 2.1 3.1 2.7 7.3.7 10.7-5.8 6.8-17 11.5-25.3 10.9-7.3-.6-15.6-1.1-20.6-7.1-6.4-10.6 10.5-6.7 12.2-3.2 6 5.3 20.3 1.9 20.7-4.7.6-4.2-2.1-6.3-6.9-7.8-4.8-1.5-12.6 1-17.3 1.8-4.7.8-9.6.5-9-4.4.8-4.2 2.7-8.1 2.7-12.5.1-3 1.7-7 4.9-7.2zm133.5 5c-.2-.2-7 5.8-9.9 8.1l-15.8 13.1c10.6-6.5 19.3-12 25.7-21.2zm-247 14.2c2.4 0 7.5 4.6 9.4 7l26.1 31.1c-7.7-2.1-13.3-7.1-17.6-13.7-6.5-7.3-11.3-16.6-21.2-19.6-9-5-5.2-6.4 2.1-2.2-.3-1.9.2-2.6 1.2-2.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DigHole;

impl IconShape for DigHole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M443.805 69.348a3.472 3.472 0 0 0-.487.012c-12.998 1.235-31.783 19.242-24.832 30.295 3.356 5.336 13.305-.725 18.375-4.47 6.51-4.808 13.783-12.883 12.417-20.858-.41-2.39-3.026-4.878-5.472-4.98zm-57.483 5.647c-8.19.032-26.684 20.257-25 33.406.65 5.08 7.206 9.603 12.31 9.195 7.353-.59 12.785-8.993 15.395-15.89 3.123-8.252 6.932-23.048-1.213-26.44a3.82 3.82 0 0 0-1.492-.27zm2.477 56.144a57.016 57.016 0 0 0-12.344 1.283c-11.92 2.58-22.49 8.992-27.15 16.5-.004.008-.008-.008-.013-.012.02.03.06.12.176.61.257 1.092 1.213 3.267 2.598 5.862 2.77 5.19 8.083 12.27 6.315 22.35-2.377 13.553-12.455 21.748-19.912 28.853-.475.453-.902.88-1.353 1.318.2 1.22.36 2.456.485 3.707.876 8.88.196 18.3-3.415 26.436.867.716 1.735 1.27 2.56 1.588 6.51 2.502 18.693-1.57 27.11-7.795 5.37-3.972 9.217-10.368 12.973-18.44 3.756-8.073 7.244-17.554 13.272-26.32 2.182-3.176 4.618-5.91 7.054-8.39-2.554-7.28-3.338-15.11-1.02-22.623 2.335-7.574 7.147-14.296 13.2-19.853-.148-.11-.296-.23-.445-.32-5.107-3.06-12.35-4.71-20.09-4.754zm50.073 9.36a9.34 9.34 0 0 0-1.268.077c-2.357.28-5.852 1.578-9.335 3.766-6.967 4.376-13.556 12.553-14.936 17.03-.77 2.498-.33 9.123 1.82 13.91 1.78 3.962 3.69 5.435 4.83 5.944.358-.657.826-1.468 1.366-3.304 1.39-4.735 2.083-11.754 5.396-18.637 3.4-7.062 8.74-12.182 11.736-16.395.878-1.234.954-1.58 1.315-2.305a6.222 6.222 0 0 0-.924-.084zm-153.338 14.913l-58.824 44.12c4.327 11.118 10.304 31.646 10.304 31.646l-9.834 13.342-11.237-15.45-8.927-27.895h-12.682l-29.252 43.877 5.912 28.966-36.85-32.242-92.828 75.52 10.75 23.457 50.147-6.326 53.844-31.335 50.834 8.187 8.366 1.236-4.215-3.51 1.274-5.413c2.75-11.698 11.897-22.636 24.286-35.38 12.388-12.743 28.288-26.233 45.093-37.98a323.56 323.56 0 0 1 3.48-2.398c1.75-8.443 6.424-16.227 11.29-23.008 3.573-4.98 7.436-9.29 11.496-12.556 2.03-1.632 4.086-3.034 6.636-4.066 1.275-.516 2.804-1.003 4.523-1.15a11.955 11.955 0 0 1 5.664.897c1.68.7 3.09 1.605 4.29 2.643.523-.515 1.1-1.06 1.6-1.564l-45.14-33.62zm32.867 51.695c-2.15 1.888-4.826 4.748-7.314 8.215-5.457 7.604-8.88 17.797-8.47 21.383.04-.004.265.43.935.904.947.67 2.482 1.108 2.832 1.12 3.006.098 9.538-4.113 11.176-7.58 1.623-3.435 2.762-11.358 2.13-17.77a30.344 30.344 0 0 0-1.288-6.272zm-15.785 29.598c-.016.002-.01.06.024.25-.013-.074-.014-.17-.023-.25zm95.99-3.38c1.572 7.582 1.293 16.09.032 24.747-2.49 17.077-9.143 36.21-17.658 54.863a337.355 337.355 0 0 1-11.28 22.405l20.52 3.032 91.26 22.767-8.523-55.903-21.483-36.92-23.43 7.81-16.154 28.796 9.13-43.545 21.145-9.063-2.758-4.738-40.803-14.252zm-17.293 6.812c-1.985 2.21-4.208 4.292-6.752 6.173-11.307 8.364-27.884 16.426-44.275 10.124a32.986 32.986 0 0 1-7.887-4.365c-4.762 3.095-10.425 4.853-16.607 4.65-4.77-.157-8.94-1.797-12.645-4.42-1.752-1.24-3.452-2.775-4.875-4.637-14.494 10.46-28.23 22.263-38.765 33.1-8.307 8.545-14.397 16.95-17.475 22.306l23.22 19.34c6.954-6.846 16.983-15.512 27.226-23.692 6.957-5.558 13.793-10.65 19.657-14.303 2.93-1.827 5.555-3.305 8.357-4.373 1.4-.534 2.837-1.008 4.82-1.168 1.984-.16 5.106.007 7.963 2.387s3.588 5.42 3.79 7.4c.2 1.98-.008 3.48-.28 4.954-.544 2.95-1.522 5.796-2.79 9.01-2.533 6.427-6.304 14.07-10.513 21.92-6.194 11.55-12.904 22.982-18.38 31.058l23.222 19.342c4.713-3.996 11.878-11.504 18.78-21.22 9.503-13.375 19.466-30.66 27.5-48.264 8.037-17.603 14.128-35.618 16.22-49.983.88-6.043.977-11.16.488-15.34zM302.88 305.75a292.33 292.33 0 0 0-9.167 7.032c-12.01 9.593-24.005 20.703-28.615 25.584.282 4.886 1.298 8.09 2.254 9.133 1.01 1.1 3.36 2.304 10.28 1.31 3.964-5.413 12.724-19.223 19.99-32.772a292.287 292.287 0 0 0 5.257-10.287zm-45.734 41.66l-78.2 93.886c6.896.442 13.966.79 21.19 1.052l70.038-84.085-13.028-10.852zm-32.03 10.333c-15.156.146-29.902.68-44.052 1.568l-12.21 15.84-4.856-14.565c-21.108 1.803-40.613 4.395-57.873 7.61l-1.336 47.68-11.593-45.073a350.03 350.03 0 0 0-7.463 1.72c-18.672 4.534-33.576 9.968-43.076 15.422-9.5 5.454-12.14 10.133-12.14 12.233 0 2.1 2.64 6.778 12.14 12.232 9.5 5.453 24.404 10.887 43.076 15.42 20 4.857 44.368 8.75 71.565 11.33l67.815-81.417zm125.075 8.602c-9.647 13.38-18.383 23.522-28.817 28.09l-5.094 2.23-32.274-26.883-60.647 72.81c3.367.04 6.75.063 10.158.063 57.95 0 110.438-5.756 147.783-14.824 18.673-4.533 33.577-9.967 43.077-15.42 9.5-5.455 12.14-10.133 12.14-12.233 0-2.1-2.64-6.78-12.14-12.233-9.5-5.454-24.404-10.888-43.076-15.422-1.168-.283-2.395-.555-3.593-.832l-14.178 50.64-1.727-53.964a481.776 481.776 0 0 0-11.612-2.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dimetrodon;

impl IconShape for Dimetrodon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.982 97.941l2.643 154.663c1.182.007 2.364.01 3.543.035 3.934.083 7.85.268 11.742.55a1319.32 1319.32 0 0 0 2.065-13.32c1.971-13.106 4.467-30.398 6.918-47.613 4.548-31.951 8.58-61.086 9.189-65.483-11.4-16.17-23.595-27.229-36.1-28.832zm-17.97 1.829c-13 3.035-25.958 9.247-38.569 18.001l28.79 136.65a235.34 235.34 0 0 1 12.4-1.23zm-54.348 30.412c-10.78 9.487-21.187 20.728-31.01 33.297l46.041 96.562a235.422 235.422 0 0 1 11.756-2.707zm123.195 20.964c-1.74 12.454-3.88 27.722-6.146 43.647-2.454 17.239-4.954 34.555-6.94 47.754-.746 4.962-1.385 9.079-1.959 12.67 5.185.8 10.306 1.782 15.352 2.941l21.506-58.947c-6.572-16.604-13.908-33.22-21.813-48.065zM183.588 180c-7.51 10.993-14.573 22.735-21.09 34.992l50.52 54.461a231.898 231.898 0 0 1 11.232-4.174zm197.787 45.133l-13.803 37.828c10.575 3.434 20.693 7.707 30.207 12.78-3.986-13.445-9.533-31.244-16.404-50.608zm-227.492 7.039a411.753 411.753 0 0 0-13.508 32.072l38.656 22.258a226.545 226.545 0 0 1 16.66-9.258zm146.219 38.94c-50.046.083-99.53 19.975-138.327 48.306-26.682 37.672-120.21 39.383-139.056 77.502 47.173.69 109.846-26.377 150.062-38.574 7.15 3.76 14.778 7.626 21.053 10.459-4.837 14.275-11.095 31.767-7.965 45.254h81.8c-1.925-11.9-33.018-13.838-38.062-19.784-3.905-4.603-4.286-9.148-3.253-13.949 31.11 7.79 74.47 5.796 102.304-1.285 1.08 11.712 6.056 23.306 8.774 35.018h69.882c-12.354-8.423-35.004-13.834-40.048-19.78-7.943-9.361-3.555-22.048 5.386-31.074 10.2-10.296 17.087-13.427 31.737-22.469 17.765 7.829 59.647 15.906 69.1.215-7.47-1.42-15.012-3.545-22.428-6.308l6.285-16.868c10.747 4.005 21.83 6.277 31.935 6.881-.27-7.465-9.186-14.357-23.668-18.297-3.352-27.585-50.887-28.619-72.709-12.677-25.018-14.046-55.73-21.865-87.97-22.526a218.254 218.254 0 0 0-4.832-.045zm-165.735 10.443c-4.395 13.681-7.997 27.493-10.713 41.193 6.995-3.509 14.07-7.05 21.315-10.693a222.72 222.72 0 0 1 17.44-14.356z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Diplodocus;

impl IconShape for Diplodocus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M346.647 22.946c-19.81.144-40.982 6.645-48.194 25.359A39.33 20.719 0 0 0 279.4 66.033a39.33 20.719 0 0 0 36.664 20.649c17.706 4.338 42.703-3.822 56.312-25.166 22.5 9.72 50.156 21.74 56.615 47.18 13.014 51.25-19.25 147.44-38.24 153.953-54.464 18.681-114.531 21.169-152.465 45.69-43.773 28.295-72.155 82.248-111.75 92.456-32.22 8.307-96.032-7.227-103.89 18.01-1.202 8.7 6.012 16.63 25.914.074 28.679 7.782 106.19 35.345 179.18-23.144a169.515 169.515 0 0 0 14.203 7.9c.994 27.816 8.107 57.606 12.525 85.422h46.705l-4.916-44.467c4.988-16.298 11.013-25.643 14.697-43.342l17.664 3.461c-2.009 10.255-3.905 12.287-7.558 22.088 10.685.506 22.867-.07 33.894-1.025-7.715-17.771-11.885-41.54-15.886-57.371l17.45-4.41c5.517 21.825 14.342 52.147 17.983 60.296 3.248 7.27 11.303 64.77 11.303 64.77h37.223l7.515-85.74c28.595-16.919 38.1-37.13 43.64-60.215 19.358-80.647 23.886-168.749-7.448-243.842-19.615-47.005-57.366-60.762-91.875-72.01-7.463-2.65-17.643-4.381-28.211-4.304zm124.39 367.332c-6.211 7.738-13.93 15.286-23.39 22.273-1.986 24.653-3.834 51.635-5.881 76.506h32.767s-1.97-56.922-3.496-98.78zM356.46 443.266c-11.83 1.167-25.701 1.252-39.832.293l4.838 45.498h41.787z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Diploma;

impl IconShape for Diploma {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.41 67.996C305.221 82.672 154.69 102.263 24.955 128.82l41.068 278.137c84.113-17.286 175.36-32.728 265.59-45.207a404.446 404.446 0 0 0-4.63-19.385C245.851 354.53 163.671 369.2 90.36 385.582l-9.457 2.113-34.42-233.98-1.199-8.162 8.028-1.903c117.04-27.75 246.945-46.473 361.992-55.459l8.101-.632 42.905 236.183-9.498 1.131a4251.105 4251.105 0 0 0-36.885 4.574 515.021 515.021 0 0 0 5.328 20.397c20.837-2.417 41.486-4.672 61.789-6.701zm-31.794 38.846c-109.549 8.936-231.99 26.686-343.111 52.513L95.9 365.988c67.613-14.83 141.885-28.138 215.711-39.42-8.203-8.985-12.553-20.468-13.465-32.668-1.029-13.772 7.132-25.138 16.83-33.238 9.699-8.1 21.523-13.738 32.178-16.762 8.076-2.291 17.439-3.63 26.91-3.377a79.69 79.69 0 0 1 9.465.809c12.549 1.849 25.402 7.232 32.063 19.29 8.874 16.064 8.83 34.87 3.006 50.94a4202.77 4202.77 0 0 1 26.601-3.328zM173.4 172.346l2.631 17.804-73.998 10.926-2.629-17.805zm112.774 40.562l3.015 17.744-176.535 29.989-3.013-17.745zm-40.02 42.744l3.002 17.746-130.05 22.008-3.002-17.746zm124.649 2.895c-6.602.12-13.295 1.125-18.733 2.668-8.206 2.329-18.358 7.251-25.554 13.262-7.196 6.01-10.85 12.302-10.418 18.082.841 11.258 4.644 19.335 12.982 25.699 8.338 6.364 22.136 10.986 43.193 11.719 11.576.402 21.654-7.628 27.588-20.147 5.934-12.519 6.623-28.477-.021-40.506-2.916-5.279-9.587-8.808-18.934-10.185a58.923 58.923 0 0 0-7.283-.588 71.452 71.452 0 0 0-2.82-.004zm32.095 77.205c-8.366 7.734-19.065 12.635-31.25 12.21-9.477-.329-17.995-1.37-25.625-3.11 11.987 47.995 15.644 99.063 19.436 146.17 12.367-8.327 22.462-19.54 28.582-36.221l4.924-13.422 9.973 10.244c12.052 12.381 25.366 19.027 39.718 24.55-14.655-44.078-34.119-92.013-45.758-140.421z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DirectionSign;

impl IconShape for DirectionSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M66.26 62.5c-4.533 0-9.11.862-11.564 1.906-.914.39-1.142.617-1.377.797v32.26l26.488.287-.47-32.488c-.237-.183-.513-.445-1.47-.85C75.382 63.36 70.795 62.5 66.26 62.5zM365.22 78.293c-.528.005-1.08.022-1.65.05-2.287.117-4.886.428-7.47.968-5.167 1.08-10.42 3.023-13.677 4.973-2.754 1.65-3.064 2.87-3.095 2.225l.143 20.05 29.85.323V78.585c-.124-.03-.017-.013-.16-.04-.998-.18-2.358-.267-3.94-.25zM19.413 115.1l.56 54.732 11.036 8.027-4.257 66.695 132.46 8.416-133.66 6.99-3.5 44.987 361.22-1.93 48.19-36.52.257-12.01 60.867-41.66-39.547-40.106-56.44-6.484 39.544-5.52-58.74-35.747zM369.32 321.092l-27.723.148 1.63 167.76h26.092V370.074l-9.272-4.303 9.27-5.23zm-286.428 1.53l-29.573.16V489h31.867z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DirectionSigns;

impl IconShape for DirectionSigns {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.3 35.11l-32.1 2.12-1 32.93 33.6.05-.5-35.1zM151.7 88.04L67.96 118.9 152 169.2l188-6.2 2.4-74.72-190.7-.24zM279.2 183l-38.3 1.3-.8 27.8 39.5 1.2-.4-30.3zm-93.1 45.6l.8 64.2 200.4.9 51.7-29.2-55.8-30.2-197.1-5.7zm51.1 82.5l-5 175.3 50.9.6-2.3-175.7-43.6-.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DirectorChair;

impl IconShape for DirectorChair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157 21.234v16h18v-16zm180 0v16h18v-16zM153 55.232v62.002h206V55.232zm-3.89 80c-26.567 5.315-53.134 10.626-79.7 15.942l3.531 17.648L87 166.01v80.222h18V162.41l52-10.4v45.224h18v-62.002zm187.89 0v62.002h18V152.01l52 10.4v83.822h18V166.01l14.059 2.812 3.53-17.648c-26.565-5.315-53.132-10.628-79.698-15.942zm-174 80l-40.004 30.002h266.008L349 215.232zm-69.836 48l118.363 82.854c-37.367 27.406-74.74 54.805-112.105 82.213l10.642 14.514 18.743-13.745-8.008 20.823-37.332 26.13 10.322 14.745L256 377.216c54.07 37.851 108.142 75.698 162.21 113.55l10.323-14.745-37.332-26.13-8.008-20.823 18.743 13.745 10.642-14.514c-37.367-27.406-74.737-54.809-112.105-82.213l118.363-82.854h-31.383l-102.307 71.616-13.927-10.215 83.728-61.4H324.51L256 313.472l-68.51-50.24h-30.437l83.728 61.4-13.927 10.215-102.307-71.616zM256 335.793l13.574 9.955L256 355.25l-13.574-9.502zm-28.9 21.193l13.209 9.246-93.125 65.188 8.48-22.047zm57.8 0l71.436 52.387 8.48 22.047-93.125-65.186z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiscGolfBag;

impl IconShape for DiscGolfBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 31.45c-24.4 0-48.8 6.14-68.7 18.43-14.2 8.76-21.6 26.08-27.3 41.18-3.2 8.39-5.5 16.14-7 21.44h18.8c1.2-4.3 2.9-9.5 5-15.07 5.2-13.77 13.8-28.45 19.9-32.23 32.8-20.28 85.8-20.28 118.6 0 6.1 3.78 14.7 18.46 19.9 32.23 2.1 5.57 3.8 10.77 5 15.07H359c-1.5-5.3-3.8-13.05-7-21.44-5.7-15.1-13.1-32.42-27.3-41.18-19.9-12.29-44.3-18.43-68.7-18.43zM68.85 130.5l-36.16 55H167.6c2.7-1.7 5.5-3.3 8.3-4.8-22.7-16.7-52.5-35.2-82.16-50.2H68.85zm62.55 0c21.3 12.3 41.5 25.4 58 37.8 12.3 9.2 22.5 17.9 30.1 25.7 3.7 3.9 6.8 7.6 9.2 11.2 2.3 3.7 4.3 7.3 4.3 12.3v135h14v-16.1h18v16.1h14v-135c0-5 2-8.6 4.3-12.3 2.4-3.6 5.5-7.3 9.2-11.2 7.6-7.8 17.8-16.5 30.1-25.7 16.5-12.4 36.7-25.5 58-37.8H131.4zm286.8 0c-29.6 15-59.4 33.5-82.1 50.2 2.8 1.5 5.6 3.1 8.3 4.8h134.9l-36.2-55h-24.9zm-226.7 62.4c-48.6 22.9-82.9 71-86.2 127.6H215v-103c0 1 0-.4-1.4-2.5-1.4-2.2-3.8-5.1-7.1-8.5-3.9-4-9-8.7-15-13.6zm129 0c-6 4.9-11.1 9.6-15 13.6-3.3 3.4-5.7 6.3-7.1 8.5-1.4 2.1-1.4 3.5-1.4 2.5v103h109.7c-3.3-56.6-37.6-104.7-86.2-127.6zM41 210.5v30h14v-30H41zm32 0v30h14v-30H73zm32 0v30h7.4c2.1-3.4 4.3-6.6 6.6-9.8v-20.2h-14zm288 0v20.2c2.3 3.2 4.5 6.4 6.6 9.8h7.4v-30h-14zm32 0v30h14v-30h-14zm32 0v30h14v-30h-14zm-432 48v183c0 14.5 3.48 23.8 9.36 29.6 5.88 5.9 15.14 9.4 29.64 9.4h96.1C90.85 451.3 55 390.5 55 329.5v-9h32.24c1.17-22 6.58-43 15.46-62H25zm384.3 0c8.9 19 14.3 40 15.5 62H457v9c0 61-35.9 121.8-105.1 151h96.8c14.1 0 23.2-3.4 29-9.3 5.8-5.9 9.3-15.2 9.3-29.7v-183h-77.7zm-335.86 80c4.52 72.1 63.26 142 182.56 142 119.3 0 178-69.9 182.6-142H297v80h-82v-80H73.44zm159.56 32v30h46v-30h-14v15h-18v-15h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiscGolfBasket;

impl IconShape for DiscGolfBasket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.6 18v69h21V18zM89.27 105v9c0 65.6 20.83 130.8 51.43 180.2 15.3 24.7 33 45.5 52.4 60.5 14.1 10.9 29.4 18.8 45.1 22.3H56.03l23.94 82H245.6v35h21v-35h165.5l23.9-82H273.9c15.7-3.5 31-11.4 45.1-22.3 19.4-15 37.1-35.8 52.4-60.5 30.6-49.4 51.4-114.6 51.4-180.2v-9H245.6zm21.43 18h23.1c1.2 41.2 10.6 100.4 28.3 151.6 4.3 12.7 9.2 24.9 14.7 36.2-6.1-7.6-12-16-17.6-25-27.4-44.4-46.7-103.4-48.5-162.8zm44 0h34.9c.5 68.6 5 129.7 14.1 174.5 2.6 12.9 5.6 24.4 9 34.5-11.8-16.2-22-38.3-30.6-62.6-16.9-49-26.1-107.2-27.4-146.4zm55.9 0h35v230.4c-1.5-2-3.1-4.3-4.6-7-6.2-11.4-12-29.4-16.5-51.9-8.9-43.3-13.4-103.5-13.9-171.5zm56 0h34.9c-.4 68-5 128.2-13.8 171.5-4.6 22.5-10.4 40.5-16.6 51.9-1.5 2.7-3 5-4.5 7zm55.9 0h34.9c-1.3 39.2-10.5 97.4-27.4 146.4-8.5 24.3-18.8 46.4-30.6 62.6 3.4-10.1 6.5-21.6 9-34.5 9.1-44.8 13.7-105.9 14.1-174.5zm55.9 0h23.1c-1.9 59.4-21.1 118.4-48.5 162.8-5.6 9-11.6 17.4-17.6 25 5.4-11.3 10.3-23.5 14.6-36.2 17.8-51.2 27.1-110.4 28.4-151.6zM82.87 395h34.43l13.4 46H96.27zm56.03 0h34.4l13.4 46h-34.4zm56 0h50.7v46h-37.3zm71.7 0h50.7l-13.4 46h-37.3zm72.3 0h34.3l-13.4 46h-34.4zm55.9 0h34.4l-13.4 46h-34.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Discobolus;

impl IconShape for Discobolus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M127.1 23.61c-15.1 0-29.07 3.58-40.11 9.76-5.16 2.87-9.68 6.27-13.49 10.09 4.99-2.71 10.75-4.42 16.8-5.71 11-2.36 23.8-3.12 36.5-2.98v.1c12.7.13 25.4 1.15 36.5 2.37h.4c1.9.29 7.5.72 14.7 1.25-10.1-6.57-22.3-11.4-35.8-13.61-5.2-.85-10.4-1.27-15.5-1.27zM122 52.89c-10.3.1-20.1.79-27.95 2.46-8.96 1.91-14.68 5.25-16.35 7.61-1.63 2.31-2.35 4.98 2.3 13.04-.48-.77 2.24 1.64 7.29 3.15 5.17 1.55 12.32 2.83 20.11 3.54 15.5 1.51 33.9.84 45.5-1.97l1.2-.3 1.4.1c70.6 3.57 91.9 3.8 154 38.48l10.9 6.1-9.2 8.4c-27.2 24.9-52.1 53.8-68 79.8-7.9 13-13.5 25.2-16.1 35.4-2.5 9.8-2.1 17.2.1 22.4 38.1 42.1 56.7 47.8 115.9 70.9l6.8 2.7-1.2 7.2c-8 47.8-13.2 87.6-10.7 135.8h83.8l.3-10-58.3-14.1 1.9-8.7c7.4-33.7 12.4-66.3 18.2-99.7l1.6-11 .3-.8c.2-.5.4-1.2.5-1.7.8-3.8 1.4-7.6 2.2-11.5-8.9-21.7-25.9-40.1-74.4-65.1l-10.8-5.6 8.5-8.7c23.5-24.2 46.5-46.8 83.9-49.8l9.6-.7.1 9.6c.2 16 3.1 40.9 4.3 66.5 1 24.2.7 49-5.8 69.5-.8 4.1-1.6 8.3-2.3 12.4l-2.1 13.8c6.8.3 12.8-.3 17.1-2.3 6.2-2.9 11.1-8.1 13.1-23.4-.2-52.2 18.2-104.2 9.1-150.1v-.1c-2-9.7-6.6-19.1-13-28.4-25.3 9.6-53.7 4.2-67.7-16.6-11.2-16.5-9.7-37.1.7-54.34-.2-.27-.5-.52-.7-.79-6.2-7.15-20.5-14.5-38.8-19.99C301 70.6 279 66.6 257.2 63.72c-21.7-2.89-43.1-4.69-60.3-5.96-17.3-1.26-29.6-1.85-36-2.82l.4.1c-10.6-1.17-22.9-2.05-34.9-2.15H122zM59.94 74.2c-.33 13.08 5.2 26 15.54 37C87.17 123.8 105 133.6 126 137c21.1 3.5 40.9-.2 55.7-8.5 11.8-6.6 20.3-15.8 24.3-26.9-13.7-1.3-29.7-2.02-50.5-3.05-14.7 3.35-33.2 3.75-49.8 2.15-8.67-.88-16.74-2.26-23.58-4.31S69.3 92.4 65.02 86.07l-.16-.24-.15-.25c-2.22-3.77-3.81-7.61-4.77-11.38zm359.76 6.16c-9.2-.1-19.2 2.67-28.6 8.69-21.3 13.75-27.9 37.55-17.9 52.35 10 14.9 35 18.3 56.4 4.5 21.3-13.8 27.9-37.5 17.9-52.39-5.6-8.34-16-13.07-27.8-13.15zM328.2 366.2c-35.6 12.6-70.9 30.9-96 60.9 6.4 19 8.6 42.3 8.3 61.3H258c5.2-17.4 9-39 5.9-52.8l-1.5-7 61.1-29.7c1.4-10.7 2.9-21.6 4.7-32.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Discussion;

impl IconShape for Discussion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.262 25.154c-38.376 0-73.092 6.462-97.408 16.405-12.159 4.97-21.669 10.834-27.706 16.67-6.036 5.835-8.459 11.144-8.459 16.218 0 5.075 2.423 10.384 8.46 16.219 6.036 5.835 15.546 11.699 27.705 16.67 24.316 9.942 59.032 16.404 97.408 16.404.162 0 .32-.006.482-.006l-38.95 108.504 88.065-112.265c18.283-2.87 34.592-7.232 47.81-12.637 12.16-4.971 21.671-10.835 27.708-16.67 6.037-5.836 8.459-11.144 8.459-16.219 0-5.074-2.422-10.383-8.46-16.219-6.036-5.835-15.548-11.698-27.706-16.67-24.316-9.942-59.032-16.404-97.408-16.404zm183.797 94.815c-38.377 0-73.092 6.462-97.409 16.404-12.158 4.971-21.668 10.835-27.705 16.67-6.036 5.835-8.459 11.144-8.459 16.219 0 5.074 2.423 10.385 8.46 16.22 6.036 5.836 15.546 11.697 27.704 16.668 3.106 1.27 6.387 2.481 9.819 3.631l82.965 105.764-34.2-95.274c12.3 1.47 25.327 2.284 38.825 2.284 38.376 0 73.091-6.462 97.408-16.405 12.158-4.97 21.67-10.832 27.707-16.668 6.036-5.835 8.459-11.146 8.459-16.22 0-5.075-2.423-10.384-8.46-16.219-6.036-5.835-15.548-11.699-27.706-16.67-24.317-9.942-59.032-16.404-97.408-16.404zM96 249c-25.37 0-47 23.91-47 55s21.63 55 47 55 47-23.91 47-55-21.63-55-47-55zm320 0c-25.37 0-47 23.91-47 55s21.63 55 47 55 47-23.91 47-55-21.63-55-47-55zM58.166 363.348c-7.084 8.321-13.03 19.258-17.738 31.812-10.33 27.544-14.433 62.236-15.131 91.84h141.406c-.698-29.604-4.802-64.296-15.13-91.84-4.709-12.554-10.655-23.49-17.739-31.812C123.246 371.9 110.235 377 96 377c-14.235 0-27.246-5.1-37.834-13.652zm320 0c-7.084 8.321-13.03 19.258-17.738 31.812-10.33 27.544-14.433 62.236-15.131 91.84h141.406c-.698-29.604-4.802-64.296-15.13-91.84-4.709-12.554-10.655-23.49-17.739-31.812C443.246 371.9 430.235 377 416 377c-14.235 0-27.246-5.1-37.834-13.652z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DistressSignal;

impl IconShape for DistressSignal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M68.79 19.5l57.51 69h23.4l-57.49-69zm185.31 0l59.4 178.3c5.5-2.1 11.2-4 17-5.7L273 19.5zm-92.2 83.7l-2.5 25.1 90.7 108.8c4.4-4.1 9-7.9 13.8-11.5zm-78.45 3.3l14.19 142H129.4l14.2-142zm302.05 96c-3.2 0-6.4.1-9.6.2L361 253.8l46.9-21.5-3 43.1 40.5 12.4-47.2 32.2 27 36.8-51.8 11.6 8.3 53.6-74.3-44.2 8.9-70.8-28.4-44.7 58.9-55.7c-75.8 16.2-134 79.3-143.1 157.6l41.5-61.4 38.7 104.5-29.9 12.5 80.4 40.5-68.2 16.5-52-26.6c5.7 15.2 13.4 29.4 22.7 42.3h150.2l78.5-65.2-45.6-36 45.7-24.8 26.8 14.2V237c-30.1-21.7-67-34.5-107-34.5zm-272 64c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-94 11.1v18.7l60.11 16.2c-4.05-6-6.58-13-7.03-20.6zm268.4 7.3l4.2 42.1-14.1 25.5-15.3-51.2zM463.5 303l-15.4 43.4-19.7-24.9zm-315.9 9.1c-4 6.1-9.7 11.1-16.3 14.3l57.9 15.6c1.4-5.9 2.9-11.7 4.7-17.4zm171.1 87.1l29.7 23.5-18.3 25.4zm-131.4 20c-2.3.5-4.5 1-6.9 1.5-69.9 15.5-126.2 28.2-160.9 35.9v18.5c32.9-7.4 91.7-20.5 164.8-36.8 2.3-.5 4.5-1 6.8-1.5-1.5-5.8-2.8-11.7-3.8-17.6zm175.3 9.4l42.9 15.9-32.3 12.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DivingHelmet;

impl IconShape for DivingHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21c-17.065 0-32.536 1.784-43.072 4.418-3.267.817-5.818 1.714-7.95 2.582 2.132.868 4.683 1.765 7.95 2.582C223.464 33.216 238.935 35 256 35s32.536-1.784 43.072-4.418c3.267-.817 5.818-1.714 7.95-2.582-2.132-.868-4.683-1.765-7.95-2.582C288.536 22.784 273.065 21 256 21zm-72.203 11.64c-4.585 1.973-8.24 4.05-10.682 5.973C169.51 41.455 169 43.23 169 44c0 .77.51 2.545 4.115 5.387 3.606 2.842 9.813 6.025 17.848 8.703C207.033 63.446 230.3 67 256 67c25.7 0 48.967-3.554 65.037-8.91 8.035-2.678 14.242-5.86 17.848-8.703C342.49 46.545 343 44.77 343 44c0-.77-.51-2.545-4.115-5.387-2.44-1.923-6.097-4-10.682-5.974-1.58 4.39-5.256 7.33-8.652 9.337-4.474 2.645-9.8 4.49-16.112 6.068C290.81 51.202 274.28 53 256 53c-18.28 0-34.81-1.798-47.438-4.955-6.313-1.578-11.638-3.423-16.113-6.068-3.397-2.008-7.074-4.948-8.653-9.338zM347.99 65.032c-5.785 4.093-12.926 7.354-21.26 10.133C308.052 81.39 283.32 85 256 85c-27.32 0-52.053-3.61-70.73-9.834-8.33-2.777-15.467-6.036-21.25-10.125-24.608 16.21-45.61 38.716-61.21 65.64 3.276 5.266 5.99 11.497 8.356 18.59 4.585 13.756 7.744 30.802 9.094 49.742L140.27 179h19.072c16.006-37.578 53.313-64 96.658-64s80.652 26.422 96.658 64h34.026v82h-34.026c-16.006 37.578-53.313 64-96.658 64s-80.652-26.422-96.658-64h-19.07l-20.012-20.012c-1.35 18.94-4.51 35.986-9.094 49.74-3.113 9.338-6.826 17.19-11.64 23.3-3.33 4.225-7.537 7.852-12.483 9.69 6.29 17.048 14.535 32.926 24.414 47.282H151v-32h50v32h110v-32h50v32h39.543c9.88-14.356 18.123-30.234 24.414-47.283-4.946-1.837-9.152-5.464-12.482-9.69-4.815-6.11-8.528-13.96-11.64-23.298C394.608 272.052 391 247.32 391 220c0-27.32 3.61-52.053 9.834-70.73 2.362-7.085 5.073-13.31 8.346-18.573-15.604-26.92-36.58-49.456-61.19-65.664zM80 133c-.77 0-2.545.51-5.387 4.115-1.923 2.44-4 6.097-5.974 10.682 4.39 1.58 7.33 5.256 9.337 8.652 2.645 4.474 4.49 9.8 6.068 16.113C87.202 185.19 89 201.72 89 220c0 18.28-1.798 34.81-4.955 47.438-1.578 6.313-3.423 11.638-6.068 16.113-2.008 3.397-4.948 7.074-9.338 8.653 1.973 4.585 4.05 8.24 5.973 10.682C77.455 306.49 79.23 307 80 307c.77 0 2.545-.51 5.387-4.115 2.842-3.606 6.025-9.813 8.703-17.848C99.446 268.967 103 245.7 103 220c0-25.7-3.554-48.967-8.91-65.037-2.678-8.035-5.86-14.242-8.703-17.848C82.545 133.51 80.77 133 80 133zm176 0c-40.18 0-73.872 27.046-83.932 63.977h-21.2V197h-3.14l-23 23 23 23H151v-.022h21.057C182.1 279.932 215.804 307 256 307s73.9-27.068 83.943-64.02H361v.02h7.684v-.02h.025v-46.003H339.93C329.872 160.047 296.18 133 256 133zm176 0c-.77 0-2.545.51-5.387 4.115-2.842 3.606-6.025 9.813-8.703 17.848C412.554 171.033 409 194.3 409 220c0 25.7 3.554 48.967 8.91 65.037 2.678 8.035 5.86 14.242 8.703 17.848C429.455 306.49 431.23 307 432 307c.77 0 2.545-.51 5.387-4.115 1.923-2.44 4-6.097 5.974-10.682-4.39-1.58-7.33-5.256-9.337-8.652-2.645-4.474-4.49-9.8-6.068-16.112C424.798 254.81 423 238.28 423 220c0-18.28 1.798-34.81 4.955-47.438 1.578-6.313 3.423-11.638 6.068-16.113 2.008-3.397 4.948-7.074 9.338-8.653-1.973-4.585-4.05-8.24-5.973-10.682C434.545 133.51 432.77 133 432 133zm-176 14c40.21 0 73 32.79 73 73s-32.79 73-73 73-73-32.79-73-73 32.79-73 73-73zm0 18c-2.643 0-5.236.196-7.777.553L256 173.33l7.777-7.777c-2.54-.357-5.134-.553-7.777-.553zm-192 3.98c-.868 2.13-1.765 4.68-2.582 7.948C58.784 187.464 57 202.935 57 220s1.784 32.536 4.418 43.072c.817 3.267 1.714 5.818 2.582 7.95.868-2.132 1.765-4.683 2.582-7.95C69.216 252.536 71 237.065 71 220s-1.784-32.536-4.418-43.072c-.817-3.267-1.714-5.818-2.582-7.95zm384 0c-.868 2.13-1.765 4.68-2.582 7.948C442.784 187.464 441 202.935 441 220s1.784 32.536 4.418 43.072c.817 3.267 1.714 5.818 2.582 7.95.868-2.132 1.765-4.683 2.582-7.95C453.216 252.536 455 237.065 455 220s-1.784-32.536-4.418-43.072c-.817-3.267-1.714-5.818-2.582-7.95zm-218.84 2.967c-8.897 4.96-16.252 12.316-21.213 21.213l14.112 14.11 21.21-21.21-14.11-14.113zm53.68 0l-14.11 14.112 21.21 21.21 14.113-14.11c-4.96-8.897-12.316-16.252-21.213-21.213zM256 198.787L234.787 220 256 241.213 277.213 220 256 198.787zm-54.447 13.436c-.357 2.54-.553 5.134-.553 7.777s.196 5.236.553 7.777L209.33 220l-7.777-7.777zm108.894 0L302.67 220l7.777 7.777c.357-2.54.553-5.134.553-7.777s-.196-5.236-.553-7.777zM222.06 232.73l-14.113 14.11c4.96 8.897 12.316 16.252 21.213 21.213l14.11-14.112-21.21-21.21zm67.88 0l-21.21 21.21 14.11 14.113c8.897-4.96 16.252-12.316 21.213-21.213l-14.112-14.11zM256 266.67l-7.777 7.777c2.54.357 5.134.553 7.777.553s5.236-.196 7.777-.553L256 266.67zM169 357v14h14v-14h-14zm160 0v14h14v-14h-14zm-208 32v30h270v-30H121zm-93.6 48c2.473 5.036 6.916 10.005 14.315 15.078 11.75 8.058 29.705 15.387 51.603 21.227C137.116 484.985 196.6 491 256 491c59.4 0 118.884-6.016 162.682-17.695 21.898-5.84 39.852-13.17 51.603-21.227 7.4-5.073 11.842-10.042 14.315-15.078H27.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DjedPillar;

impl IconShape for DjedPillar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.6 25l-3.5 21H144v18h224V46h-68.1l-3.5-21h-80.8zm-34.4 55c2.8 3.14 5.5 6.32 8 9.6 4.7 6.29 8.7 13 10.5 20.4h112.6c1.8-7.4 5.8-14.11 10.5-20.4 2.5-3.28 5.2-6.46 8-9.6H181.2zM144 126v18h224v-18H144zm37.2 34c2.8 3.1 5.5 6.3 8 9.6 4.7 6.3 8.7 13 10.5 20.4h112.6c1.8-7.4 5.8-14.1 10.5-20.4 2.5-3.3 5.2-6.5 8-9.6H181.2zM144 206v18h224v-18H144zm37.2 34c2.8 3.1 5.5 6.3 8 9.6 4.7 6.3 8.7 13 10.5 20.4h112.6c1.8-7.4 5.8-14.1 10.5-20.4 2.5-3.3 5.2-6.5 8-9.6H181.2zM144 286v18h224v-18H144zm37.2 34c2.8 3.1 5.5 6.3 8 9.6 4.7 6.3 8.7 13 10.5 20.4h112.6c1.8-7.4 5.8-14.1 10.5-20.4 2.5-3.3 5.2-6.5 8-9.6H181.2zm19.8 48v16c0 19-8.8 39.9-21.3 60.6-8.8 14.8-19.7 29.3-31.1 42.4h214.8c-11.4-13.1-22.3-27.6-31.1-42.4C319.8 423.9 311 403 311 384v-16H201z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Djembe;

impl IconShape for Djembe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-52.5 0-100.1 4.48-133.9 11.53-17 3.52-30.49 7.76-39.04 11.97-4.27 2.11-7.25 4.23-8.74 5.75C72.84 71.76 73 72.16 73 72c0-.16-.16.24 1.32 1.75 1.49 1.52 4.47 3.64 8.74 5.75 8.55 4.21 22.04 8.45 39.04 11.97C155.9 98.52 203.5 103 256 103s100.1-4.48 133.9-11.53c17-3.52 30.5-7.76 39-11.97 4.3-2.11 7.3-4.23 8.8-5.75 1.1-1.12 1.3-1.62 1.3-1.75 0 0 0 .02 0 0 0-.13-.2-.63-1.3-1.75-1.5-1.52-4.5-3.64-8.8-5.75-8.5-4.21-22-8.45-39-11.97C356.1 45.48 308.5 41 256 41zm183 31c0-.02 0 0 0 0zm0 0s0 .02 0 0zM73.11 96.02c.21 31.18 1.6 54.48 11.25 78.68 4.88 12.2 11.98 25 22.34 39.4L73.11 96.02zm365.79.24L405.3 214.1c10.4-14.4 17.5-27.2 22.3-39.4 9.7-24.1 11.1-47.4 11.3-78.44zM93.78 102.9l33.72 118.4L154.3 115c-13-1.7-25.1-3.6-35.9-5.9-9.1-1.9-17.3-4-24.62-6.2zm324.32 0c-7.3 2.3-15.5 4.3-24.5 6.2-10.8 2.3-22.9 4.2-35.9 5.9l26.8 106.3 33.6-118.4zm-252.8 13.4l42.2 129.3 36.6-124.7c-28.3-.3-55-2-78.8-4.6zm181.4 0c-23.8 2.6-50.5 4.3-78.8 4.6l36.6 124.7 42.2-129.3zM256 143.9l-42.5 145.5c13.3 1 27.9 1.6 42.5 1.6 14.6 0 29.2-.6 42.5-1.6L256 143.9zm-94.9 17.6l-22.9 90.7c8 8.8 17 18.1 27.1 28.3 6.5 2.8 19.3 5.7 34.8 7.6.8.1 1.7.2 2.5.3l-41.5-126.9zm189.8 0l-41.5 126.9c.8-.1 1.7-.2 2.5-.3 15.5-1.9 28.3-4.8 34.8-7.6 10.1-10.2 19.1-19.5 27.1-28.3l-22.9-90.7zM167.1 300.3l-5.8 34.7c23.1 10.1 59 16 94.7 16s71.6-5.9 94.7-16l-5.8-34.7c-8.6 2.5-19 4.2-30.8 5.6-17.5 2.1-37.8 3.1-58.1 3.1-20.3 0-40.6-1-58.1-3.1-11.8-1.4-22.2-3.1-30.8-5.6zm-8.9 53.1l-20.9 125.8c.7.7 2.5 1.9 5.2 3 5.9 2.5 15.4 5 27 6.9 23.2 3.9 54.9 5.9 86.5 5.9s63.3-2 86.5-5.9c11.6-1.9 21.1-4.4 27-6.9 2.7-1.1 4.5-2.3 5.2-3l-20.9-125.8C327.1 364.3 291.7 369 256 369c-35.7 0-71.1-4.7-97.8-15.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Djinn;

impl IconShape for Djinn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.9 18.83c-6.6.13-12 2.13-15.7 5.89-.3.25-.4.18-.4 1.5s.4 3.82 1.7 6.97c2.6 6.3 8.4 14.98 16.2 23.97 13.8 16.04 34 33.06 53.4 44.94 6.7-11.59 8-22.39 6.1-32.55-2.3-12.14-9.6-23.58-19.5-32.53-9.8-8.94-22.1-15.21-32.9-17.33-2.7-.53-5.2-.76-7.6-.86-.5-.01-.9-.01-1.3 0zm-34 6.23c-10 2.63-20.9 8.52-29.8 16.6-9.9 8.94-17.2 20.39-19.5 32.52-1.9 10.15-.6 20.94 6.1 32.52 19.4-11.86 39.6-28.87 53.4-44.9 1.1-1.28 2.2-2.55 3.2-3.81-4.4-6.1-8-12.09-10.4-17.94-1.9-4.66-3.2-9.29-3.1-14.15 0-.28 0-.56.1-.84zm25 47.17c-.4.45-.7.89-1.1 1.34C240.4 90.16 221 107.1 201 119.9v.1c0 31.8 20.2 57.3 46 62.1V157l-19.8 7.4-6.4-16.8 35.2-13.2 35.2 13.2-6.4 16.8L265 157v25.1c25.8-4.8 46-30.3 46-62.1v-2.1c-20.1-12.2-40-28.99-55.1-45.67zM201.7 174.1C119 190.9 89.15 244.9 89.02 271.8c.19 4.3 1.97 6.8 8.92 9.7 7.06 2.9 18.86 4.6 33.96 3.6 26.1-1.7 61.9-10.7 101.8-28.5-9.4-2.7-20.2-4.5-30.6-5.7C185 249 168 249 160 249v-18c8 0 25.7 0 45 2.1 15.2 1.6 31.4 4.3 45.2 10l-21.6-48c-10.4-4.7-19.5-11.9-26.9-21zm108.3.4c-7.4 9-16.5 16.1-26.9 20.7l-6.8 15.3c14.6-2.5 30.1-4.1 45.5-4.4 14.2-.2 28.3.7 41.8 3 10.6 1.9 20.8 4.8 30.2 8.9-2.4-2.4-4.9-4.8-7.7-7.2-17.8-15.2-42.7-29-76.1-36.3zm14.8 49.7c-19.5.1-39.5 2.6-57.5 6.4l-7.6 17.1c.1.1.2.1.3.2 47.2 23.6 90.5 35.6 120.9 37.6 15.1 1 27-.6 33.9-3.5 6.4-2.7 8.1-4.9 8.2-9-7.4-27.1-30.9-40.6-62.6-46.1-10-1.8-20.7-2.6-31.7-2.7h-3.9zM256 266c-35.5 17.3-68.6 28.4-96.7 33.7 8.2 11.6 14.7 22.6 19.5 33 5 10.8 8.1 21.1 9.3 30.9 59.6 22 110.6 9.3 151.7-8.4 5.1-16.5 9.4-34.9 12.9-55.3-28.2-5.5-61.4-16.7-96.7-33.9zm76.2 111.5c-39.9 14.6-89.2 23.2-144.3 4.9-.9 5-2.4 9.8-4.5 14.3-8.6 18.2-26.8 31.1-52 40.5-18.4 6.9-40.92 12.1-67.37 15.9 56.47 25.2 118.27 42.7 169.57 28.2 29.9-8.4 56.7-27.2 78.7-62.8 7.3-11.7 13.9-25.4 19.9-41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DogBowl;

impl IconShape for DogBowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M466.514 72.842c-21.236-.326-48.863 15.524-76.766 35.336-55.475 15.033-197.205 13.795-254.367-.078-34.336-8.255-51.407-32.056-68.238-32.02-13.969.133-30.57 6.547-34.647 19.895-1.327 12.811 2.338 17.808 9.041 26.656-6.514 10.34-13.382 25.647-10.557 36.66 2.076 7.47 7.417 12.889 16.1 16.05 17.366 6.325 64.03-5.582 75.264-23.777l275.486-6.63c26.557 27.456 65.8 25.255 81.524 15.173 7.861-5.04 12.504-11.367 12.746-17.171.52-12.537-6.116-15.97-14.678-23.442 7.578-6.805 22.605-19.688 17.715-28.678-6.81-12.52-16.71-17.792-28.623-17.974zM256 274c-52.468 0-99.992 4.864-133.775 12.518-16.892 3.827-30.374 8.424-38.887 12.984-4.256 2.28-7.221 4.562-8.758 6.264-1.537 1.701-1.58 2.415-1.58 2.734 0 .32.043 1.033 1.58 2.734 1.537 1.702 4.502 3.984 8.758 6.264 8.513 4.56 21.995 9.157 38.887 12.984 4.822 1.093 9.953 2.121 15.31 3.094A120 16 0 0 1 256 320a120 16 0 0 1 118.516 13.568c5.338-.97 10.452-1.996 15.26-3.086 16.89-3.827 30.373-8.424 38.886-12.984 4.256-2.28 7.221-4.562 8.758-6.264 1.537-1.701 1.58-2.415 1.58-2.734 0-.32-.043-1.033-1.58-2.734-1.537-1.702-4.502-3.984-8.758-6.264-8.513-4.56-21.995-9.157-38.887-12.984C355.992 278.864 308.468 274 256 274zM65.021 326.912l-40.628 108.34-.038.09c-1.183 2.959-1.028 4.345.141 6.65 1.17 2.306 4.07 5.465 9.096 8.672 10.05 6.415 27.862 12.659 50.32 17.541C128.827 477.97 192.47 483 256 483c63.531 0 127.173-5.03 172.088-14.795 22.457-4.882 40.27-11.126 50.32-17.54 5.025-3.208 7.927-6.367 9.096-8.673 1.17-2.305 1.324-3.691.14-6.65l-.037-.09-40.627-108.34c-2.849 2.374-6.126 4.476-9.818 6.453-10.919 5.849-25.554 10.627-43.408 14.672C358.047 356.127 309.57 361 256 361c-53.57 0-102.047-4.873-137.754-12.963-17.854-4.045-32.49-8.823-43.408-14.672-3.691-1.977-6.968-4.08-9.817-6.453z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DogHouse;

impl IconShape for DogHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.52L25 212.3v41L256 68.48 487 253.3v-41L256 27.52zm0 64L73 237.9V487h94c.1-32.3.8-79.5 10.2-121 5.2-22.7 12.9-43.9 25.4-60 12.6-16.2 30.7-27 53.4-27s40.8 10.8 53.4 27c12.5 16.1 20.2 37.3 25.4 60 9.4 41.5 10.1 88.7 10.2 121h94V237.9L256 91.52zM163.9 198.2a25.03 14.73 15.04 0 1 12.1 2.2 25.03 14.73 15.04 0 1 17.7 14.6h124.6a14.73 25.03 74.96 0 1 17.7-14.6 14.73 25.03 74.96 0 1 12.1-2.2 14.73 25.03 74.96 0 1 17.8 7.8 14.73 25.03 74.96 0 1-13 19.6 25.03 14.73 15.04 0 1 10.7 18.4 25.03 14.73 15.04 0 1-29.9 5.7 25.03 14.73 15.04 0 1-18.1-16.7H196.4a14.73 25.03 74.96 0 1-18.1 16.7 14.73 25.03 74.96 0 1-29.9-5.7 14.73 25.03 74.96 0 1 10.7-18.4 25.03 14.73 15.04 0 1-13-19.6 25.03 14.73 15.04 0 1 17.8-7.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dolmen;

impl IconShape for Dolmen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436 26.98L285.9 63.63l-.5.1c-55.8 7.67-118.7 11.48-199.56 4.93L19.18 116.4l54.99 40.2L482.2 125l10.6-29.75c-4.3-5.21-7.9-10.15-11.7-15.12l-60.4 23.77-43.2-11.41 94-26.19C462.1 52.2 452 38.8 436 26.98zM290.7 90.3l-7.2 21.7H136.3l-57.42 5.3 26.72-21.32zm169.6 54.8l-40 1.1-17.1 90-14.5 20.9-15.5-41.6 30-68.9-9.7.3-39.2 60.4c-3.1 87.2-22.3 176.8-7.6 265.4 19 7.3 40.7 9.7 61.5 10.2L401 358.3l22.5-33 1.5 95.8 27.5 60.1c10.8-1.1 21.6-2.5 34.4-4.9l-36.1-154.2zm-330.7 28l-34.48 2.7-38.78 219 9.33 77.9c6.7 4.3 13.59 6.6 20.5 8.1l-8.99-101.6 12.18-43.3 2.16 81.7 15.38 66.5c22.6 2.4 45.9.1 66.4-5.1l-5.6-173.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dolphin;

impl IconShape for Dolphin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.22 47.23c29.498 15.152 55.025 36.05 55.53 67.366-93.62 83.867-83.862 179.356-97.002 270.34-67.68 55.552-67.57 90.948-60.9 101.227 3.94.743 29.11-25.94 48.326-30.397 14.23-4.094 12.284-15.99 16.273-25.275 2.438 14.55 7.17 22.612 17.133 25.485 12.874 3.36 44.932 28.15 51.53 25.504 1.374-20.382-26.01-63.854-48.028-90.087 41.012-63.28 81.365-136.458 211.162-207.77-3.21-3.706-6.216-6.45-8.8-7.986l9.198-15.472c11.617 6.907 20.522 19.56 29.248 35.033 5.94 10.532 11.528 22.644 16.96 35.117 15.682-32.87 22.983-66.406 16.402-90.254l17.35-4.786a87.287 87.287 0 0 1 1.927 8.83c33.29-4.253 55.718-13.083 85.11-29.322 3.744-2.068 19.054-13.012-.117-16.03 12.62-9.017 7.54-12.063 1.973-15.152-6.486-3.6-20.302-8.948-35.758-8.556-12.124-27.863-39.63-47.772-82.225-47.696-28.532.052-63.842 9.086-105.828 30.688C217.895 27.64 164.92 20.468 123.22 47.23zm286.942 28.74a9 9 0 1 1 0 18 9 9 0 0 1 0-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DominoTiles;

impl IconShape for DominoTiles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.6 69.81c-6.6 0-12.8 2.32-16.3 5.84l-90.5 90.55c-3.6 3.5-5.9 9.8-5.9 16.3-.1 6.4 2.2 12.6 5.4 15.7L449.1 425c3.5 3.6 9.7 5.9 16.2 5.9s12.7-2.3 16.2-5.9l12.5-12.5V224L345.8 75.65c-3.5-3.52-9.7-5.84-16.2-5.84zM46.69 81.12c-6.49 0-12.73 2.32-16.26 5.85L18 99.39V288.1l148.2 148.2c3.5 3.6 9.7 5.9 16.2 5.9 6.6 0 12.8-2.3 16.3-5.9l90.5-90.5c3.6-3.5 5.9-9.7 5.9-16.2 0-6.6-2.3-12.8-5.9-16.3L62.95 86.97c-3.53-3.53-9.77-5.85-16.25-5.85zm283.01 17.4c4.2 0 8.1 1.78 11.1 4.68 6.3 6.3 6.3 16.4 0 22.7-6.2 6.2-16.4 6.2-22.6 0-6.3-6.3-6.3-16.4 0-22.7 3.1-3 7.2-4.74 11.5-4.68zM46.9 109.9c4.16.1 8.14 1.8 11.08 4.7 6.23 6.2 6.23 16.4 0 22.6-6.25 6.2-16.37 6.2-22.62 0-6.23-6.2-6.23-16.4 0-22.6 3.05-3.1 7.22-4.8 11.54-4.7zm214.9 56.5h.1c4.1.1 8.1 1.8 11 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm135.8 0c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zM46.9 177.7c4.16.1 8.14 1.8 11.08 4.7 6.3 6.3 6.3 16.4 0 22.7-6.25 6.2-16.37 6.2-22.62 0-6.3-6.3-6.3-16.4 0-22.7 3.05-3.1 7.22-4.8 11.54-4.7zm67.8 0h.1c4.2.1 8.2 1.7 11.1 4.7 6.3 6.3 6.3 16.4 0 22.7-6.3 6.3-16.4 6.3-22.7 0-6.3-6.3-6.3-16.4 0-22.7 3-3.1 7.2-4.7 11.5-4.7zm321.6 21l12.8 12.8-90.5 90.5-12.8-12.8zM153.4 210l12.8 12.8-90.51 90.5-12.73-12.8zm176.3 24.3c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm135.8 0c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zM46.9 245.6c4.16.1 8.14 1.8 11.08 4.7 6.23 6.2 6.23 16.4 0 22.6-6.25 6.2-16.37 6.2-22.62 0-6.23-6.2-6.23-16.4 0-22.6 3.05-3.1 7.22-4.8 11.54-4.7zm135.7 0h.1c4.1.1 8.1 1.8 11 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm282.9 56.6c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm-350.8 11.3h.1c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.3 6.3-16.4 6.3-22.7 0-6.23-6.2-6.23-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm135.8 0c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm215 56.6c4.2.1 8.2 1.7 11.1 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7zm-282.9 11.3h.1c4.1.1 8.1 1.8 11 4.7 6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0-6.2-6.2-6.2-16.4 0-22.6 3-3.1 7.2-4.7 11.5-4.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DonerKebab;

impl IconShape for DonerKebab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 16v23.14c3-.08 6-.14 9-.14s6 .06 9 .14V16h-18zm9 41c-38.8 0-73.9 7.82-98.8 17.4-12.4 4.79-22.3 10.06-28.7 14.64-5.6 4.07-7.1 7.73-7.4 7.14L128 142c25.3 6.6 48.3 6.2 70.7 1.9l3.4 17.6c-22.3 4.4-45.9 5.2-71.2-.3l22.6 150.7c12.4 5 28.7 6 42.7 6.3l-.4 18c-11.4-.2-25.6-.6-39.3-4.3l2.9 19.5c4.8 2.1 13.9 4.8 22.8 6.3 11.4 1.8 23.8 2.2 26.7 1.8l2.6 17.8c-8.1 1.2-19.6.2-32.2-1.9-5.8-.9-11.5-1.9-16.8-3.4l6.1 40.5c2.1 2.9 12.2 9.1 27.9 12.7 16.5 3.8 38 5.8 59.5 5.8s43-2 59.5-5.8c15.7-3.6 25.8-9.8 27.9-12.7l3.5-23.2c-6.7 2.5-13.8 4.4-20.9 5.7-16 3-31.6 3.4-43 1.1l3.4-17.6c7.6 1.4 22.3 1.4 36.3-1.2 10.3-1.9 20.3-5.4 27.4-9.6l17.2-114.4c-48.2 17.3-82.8 15.3-116 14.6l.4-18c36 .8 68.4 3.2 118.7-16.9l16.3-108.9c-41 20.4-94.6 20.8-140.6 16.8l1.6-18c49.6 4.5 106.7 1.9 142.4-21.5l.8-5.22c-.3.59-1.8-3.07-7.4-7.14-6.4-4.58-16.3-9.85-28.7-14.64-24.9-9.58-60-17.4-98.8-17.4zm-76.2 145c5.9 1.4 22.6 2.8 39.6 3.1 17 .2 35.2-.5 45.5-2.2l2.8 17.8c-12.6 2-30.9 2.6-48.5 2.4-17.7-.3-33.8-1.2-43.6-3.5l4.2-17.6zm146.5 104.3l2.8 8.6 2.8 8.6c-29.3 9.5-68.1 12.2-95.8 6.7l1.7-8.8 1.7-8.8c23.3 4.5 61.3 2 86.8-6.3zM247 448.9V496h18v-47.1c-3 .1-6 .1-9 .1s-6 0-9-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Donut;

impl IconShape for Donut {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 92.3c-53.2 0-102.8 14.8-142.2 37.4l14.2 22.4-15.2 9.6-14.23-22.5c-2.17 1.4-4.3 2.9-6.39 4.4-38.75 27.9-63.12 63.7-66.7 97.2 2.98 6.7 8.12 17.5 14.74 28.8 10.73 18.3 26.22 36.6 37.19 39.8 17.92-2.5 33.99-22.1 50.29-19.3 25.1 5.1 38.1 28.4 50.3 48 9.3 14.5 21.1 34.7 38.1 36.5 6.2.7 11.6-1.2 17.7-5.2 6.1-4.1 12.5-10.4 19.2-17.3 13.2-13.7 27.7-30.9 49.5-33.6 15.3-2 27.6 6.2 38.1 12.4 10.4 6.1 18.7 10.2 25.5 8.6h.1c11.1-5.4 16.8-14.8 22.1-23.2l-35.6-25.4 10.4-14.6 35.9 25.6c5.1-5.5 11.4-10 19.7-11.8 11.5-2.5 20.4 3.8 27.1 8 6.6 4.2 11.2 6.3 13.8 5.8 3.1-.6 11.8-7 18.1-13.8 2-2.2 3.9-4.4 5.4-6.3 2.6-10.9 3.9-22.4 3.9-34.5 0-1.5-.1-3-.1-4.4l-37.6 18.7-8-16.2 42.4-21.2c-8-29-30.7-58.7-63.9-82.6-42-30.3-100.3-51.3-163.8-51.3zm69.1 14.2l6 17-50.3 18.1-6-17zm-140.2 11l33.4 9.6-5 17.2-33.4-9.5zm184.4 23l39.7 27.6-10.2 14.8-39.7-27.6zm-47.6 12.8l10.8 14.4-33 24.5-10.8-14.4zm-157 34l2.6 17.8-45.6 6.9-2.6-17.8zm91.3 3.6c17.8 0 34 3.2 46.5 9.1 12.5 5.8 22.9 15 22.9 28s-10.4 22.2-22.9 28c-12.5 5.9-28.7 9.1-46.5 9.1s-34-3.2-46.5-9.1c-12.5-5.8-22.9-15-22.9-28s10.4-22.2 22.9-28c12.5-5.9 28.7-9.1 46.5-9.1zm146.2 5.6l4.6 17.4-47.2 12.2-4.6-17.4zM256 208.9c-15.6 0-29.6 3-38.9 7.4-9.4 4.3-12.5 9.2-12.5 11.7s3.1 7.4 12.5 11.7c9.3 4.4 23.3 7.4 38.9 7.4 15.6 0 29.6-3 38.9-7.4 9.4-4.3 12.5-9.2 12.5-11.7s-3.1-7.4-12.5-11.7c-9.3-4.4-23.3-7.4-38.9-7.4zm-194.44 18l39.74 15.4-6.5 16.8-39.74-15.4zm-32 59.9c9.06 35.6 31.19 64.7 62.55 86.9 41.69 29.4 99.99 46 163.89 46 63.9 0 122.2-16.6 163.9-46 21.1-14.9 38.1-33 49.6-54.2-2 .9-4.1 1.6-6.3 2-11.5 2.4-20.4-4-27-8.2-6.7-4.1-11.2-6.2-13.7-5.6-7.2 1.6-13.4 9.7-20.6 20.8-7.3 11-15.6 25-31.8 28.6-15.2 3.4-28-4.4-38.7-10.7-10.6-6.3-19.5-11-26.6-10.1-16.8 5-29.2 18.3-38.9 28.3-6.8 7.1-13.8 14.3-22.1 19.8s-18.3 9.2-29.5 8.2c-26.8-4.9-39.2-24.9-51.6-45-12.3-19.7-23.5-36.8-38.6-39.9-18.7 3-31.62 24.4-51.74 18.9-18.43-5.4-32.01-22.5-42.8-39.8zm223.64 2.8l2.6 17.8-50.4 7.4-2.6-17.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Door;

impl IconShape for Door {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 41v398h302V41H105zm55 174c18.1 0 33 14.9 33 33s-14.9 33-33 33-33-14.9-33-33 14.9-33 33-33zm0 18c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zM73 457v30h366v-30H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoorHandle;

impl IconShape for DoorHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73 41v430h174V220.8c-.3 0-.7-.1-1-.1-21.5-2.9-39.3-2.1-48.7 1.9A71.88 71.88 0 0 1 160 233c-40.2 0-73-32.8-73-73s32.8-73 73-73c29 0 54.1 17 65.9 41.4.2.3.6.7 1.4 1.1 2 1.1 5.4 2.7 10 4.5 2.8 1.1 6.1 2.4 9.7 3.7V41H73zm152.9 87.4c-.4-.5-.2-.4.7 1.5-.2-.5-.5-1-.7-1.5zM160 105c-30.4 0-55 24.6-55 55s24.6 55 55 55c10.7 0 20.5-3 28.9-8.2l.6-.4.6-.3c15.3-6.6 35.3-6.4 58.3-3.3 23.1 3.2 49.2 9.6 75.6 17.6 52.7 16.1 106.4 38.4 137.2 53.5 9 4.5 12.2 3.2 14.2 1.5 2-1.7 4.1-6.8 3.6-14.2-1.1-14.7-12-34.7-32.3-41-78.3-24.5-135.1-42-173-54.4-18.9-6.2-33.1-11.1-43.1-15.1-5-2-8.9-3.7-12-5.5-3.2-1.7-6-2.4-8.4-7.8-8.7-19.1-27.8-32.4-50.2-32.4zm0 183a32 32 0 0 1 32 32 32 32 0 0 1-11.9 24.8L192 416h-64l11.9-71.2A32 32 0 0 1 128 320a32 32 0 0 1 32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoorRingHandle;

impl IconShape for DoorRingHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.1 42c-1.4 3.19-3.3 6.09-5.5 8.64-4.2 4.77-9.4 8.71-15 12.08-8.2 4.94-17.1 8.67-25.6 10.32v53.26c4.2-1.3 8.4-2.4 12.7-3.4 10.5-11.6 25.5-18.9 42.3-18.9 16.8 0 31.8 7.3 42.3 18.9 4.3 1 8.5 2.1 12.7 3.4V73.04c-8.5-1.65-17.4-5.38-25.6-10.32-5.6-3.37-10.8-7.31-15-12.08-2.2-2.55-4.1-5.45-5.5-8.64zm8.9 80c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm-54.7 23.2C135.9 167.8 89 229.9 89 303c0 92.3 74.7 167 167 167s167-74.7 167-167c0-73.1-46.9-135.2-112.3-157.8 1.5 5 2.3 10.3 2.3 15.8 0 9-2.1 17.5-5.8 25 45.2 20.1 76.8 65.5 76.8 118 0 71.1-57.9 129-129 129-71.2 0-129-57.9-129-129 0-53.2 32.4-99 78.5-118.7-3.5-7.4-5.5-15.6-5.5-24.3 0-5.5.8-10.8 2.3-15.8zm13.7 55.3c-4.9 1.8-9.5 4-14 6.5v10.3c7.4 1.9 14 6 19.4 11.3 5.3 5.4 9.4 12 11.3 19.4h48.6c1.9-7.4 6-14 11.3-19.4 5.4-5.3 12-9.4 19.4-11.3v-9.2c-4.6-2.7-9.5-5.1-14.5-7.1-10.3 10.5-24.7 17-40.5 17-16.1 0-30.7-6.7-41-17.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoorWatcher;

impl IconShape for DoorWatcher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 25v462h302V25H105zm44 28h214v150H149V53zm18 18v114h178V71H167zm16 16h146v82H183V87zm15.8 25c.8 7.9 5.2 18 11.1 24.8 11.2-.2 25.9-3.4 36.1-8.8-21-2.3-38.9-9.3-47.2-16zm114.4 0c-8.3 6.7-26.2 13.7-47.2 16 10.2 5.4 24.9 8.6 36.1 8.8 5.9-6.8 10.3-16.9 11.1-24.8zM256 279h128v18h-17v14h17v18h-64v-18h29v-14h-93v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleFish;

impl IconShape for DoubleFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336 32c-28.2 0-81.2 24.81-115.3 52.59C156.5 94.55 80 119.4 80 144c0 29 104.8 57.9 172.1 63.2C276.7 229 322.8 240 336 240c-12.5-12.5-25-25.1-22.2-37.6 34-8.2 69.4-24 100.5-37.9 21 23.9 53.2 43.5 65.7 43.5-16-32-16-48-16-64s16-48.05 32-64c-25.1 0-60 19.65-81.6 43.5-33.5-14.8-71.9-32.15-108.4-39.65 4.9-16.81 17.4-39.27 30-51.85zm-176 80a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm16 176c12.6 12.6 25.1 35 30 51.8-36.5 7.5-74.9 24.9-108.4 39.7C76 355.6 41.1 336 16 336c16 15.9 32 48 32 64s0 32-16 64c12.5 0 44.7-19.6 65.7-43.5 31.1 13.9 66.5 29.7 100.5 37.9 2.8 12.5-9.7 25.1-22.2 37.6 13.2 0 59.3-11 83.9-32.8C327.2 457.9 432 429 432 400c0-24.6-76.5-49.4-140.7-59.4C257.2 312.8 204.2 288 176 288zm176 80a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleNecklace;

impl IconShape for DoubleNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M471.1 30.58l17.8 2.84S476 114.1 448.1 204.9c5.4 4.6 8.9 11.5 8.9 19.1 0 13.2-10.5 24.2-23.5 25-18 50.4-40.6 100.6-68.8 139.3-9.1 12.5-18.8 23.8-29.2 33.6-3.9-4.7-8.9-8.6-14.5-11.2 10.2-9.1 19.9-20.2 29.2-33 26.4-36.2 48.5-84.9 66.1-134.3-5.7-4.6-9.3-11.6-9.3-19.4 0-13.4 10.8-24.4 24-25 27.4-89 40.1-168.42 40.1-168.42zm-430.19 0S53.71 110 81.01 199c13.2.5 23.99 11.6 23.99 25 0 7.8-3.7 14.8-9.29 19.4 17.59 49.4 39.69 98.1 66.09 134.3 9.3 12.8 19 23.9 29.2 33-5.6 2.6-10.6 6.5-14.5 11.2-10.4-9.8-20.1-21.1-29.2-33.6-28.2-38.7-50.69-88.9-68.79-139.3-13-.8-23.5-11.8-23.5-25 0-7.6 3.5-14.5 8.9-19.1-27.9-90.8-40.8-171.48-40.8-171.48zM407.1 62.52l17.8 2.96S417 113.4 393 162.2V208h-18v-14.5c-9.6 14.3-20.8 27.9-34.1 39.3-3.8 3.2-7.8 6.3-11.9 9.2v46h-18v-35.5c-13.8 6.7-29.2 11-46 12.2V304h-18v-39.3c-16.8-1.2-32.2-5.5-46-12.2V288h-18v-46c-4.1-2.9-8.1-6-11.9-9.2-13.3-11.4-24.5-25-34.1-39.3V208h-18v-45.8c-23.99-48.8-31.89-96.72-31.89-96.72l17.79-2.96s7.9 46.88 31.2 93.48c11.6 23.3 27 46.3 46.8 63.2 19.7 16.9 43.3 27.8 73.1 27.8 29.8 0 53.4-10.9 73.1-27.8 19.8-16.9 35.2-39.9 46.8-63.2 23.3-46.6 31.2-93.48 31.2-93.48zM304 425c12.8 0 23 10.2 23 23s-10.2 23-23 23c-2.6 0-5.1-.4-7.4-1.2.2-1.9.4-3.8.4-5.8 0-11.3-4.6-21.5-12.1-28.9C289 429 296 425 304 425zm-96 0c8 0 15 4 19.1 10.1-7.5 7.4-12.1 17.6-12.1 28.9 0 2 .2 3.9.4 5.8-2.3.8-4.8 1.2-7.4 1.2-12.8 0-23-10.2-23-23s10.2-23 23-23zm48 16c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleStreetLights;

impl IconShape for DoubleStreetLights {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96 25c-13 0-27.05 6.78-37.64 17.36-8.17 8.18-14.03 18.41-16.3 28.64H145.4l-23-46H96zm293.6 0l-23 46h103.3c-2.2-10.23-8.1-20.46-16.3-28.64C443.1 31.78 429 25 416 25h-26.4zm-27.5 14.65c-25.3 1.55-49.8 6.15-70.1 16.3-15.3 7.62-28 18.95-36 33.99-8-15.04-20.7-26.37-36-33.99-20.3-10.15-44.8-14.74-70.1-16.29l9.5 18.89c19.8 2.06 38.2 6.29 52.6 13.5C233.8 82.98 247 99 247 128v231h18V128c0-29 13.2-45.02 35-55.95 14.5-7.22 32.8-11.45 52.6-13.51l9.5-18.89zM47.34 89L19 131.2l47.8-21.9-9 66.7 32.9-58.8 13.2 85.8 14.8-89.3 46.7 58.7-22.1-69.6 51.2 13.6L163.4 89H47.34zm301.26 0l-31.1 27.4 51.2-13.6-22.1 69.6 46.7-58.7 14.8 89.3 13.2-85.8 32.9 58.8-9-66.7 47.8 21.9L464.7 89H348.6zM236.7 377l-3.4 110h45.4l-3.4-110h-38.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoughRoller;

impl IconShape for DoughRoller {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468.166 24.156c-13.8-.31-30.977 9.192-42.46 16.883-22.597 15.13-45.255 67.882-45.255 67.882s-17.292-5.333-22.626 0c-5.333 5.333 0 22.627 0 22.627l-4.95 4.948 22.628 22.63 4.95-4.952s17.293 5.333 22.626 0c5.333-5.334 0-22.627 0-22.627s52.75-22.66 67.883-45.255c10.7-15.978 24.91-42.97 11.313-56.568-3.824-3.825-8.707-5.45-14.107-5.57zM312.568 121.65L121.65 312.568l77.782 77.782L390.35 199.432l-77.782-77.782zm-176.07 231.223l-4.95 4.95s-17.293-5.332-22.626 0c-5.333 5.335 0 22.628 0 22.628s-52.75 22.66-67.883 45.255c-10.7 15.978-24.91 42.97-11.313 56.568 13.597 13.598 40.59-.612 56.568-11.312 22.596-15.13 45.254-67.882 45.254-67.882s17.292 5.333 22.626 0c5.333-5.333 0-22.627 0-22.627l4.95-4.948-22.628-22.63z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonOrb;

impl IconShape for DragonOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41C154.8 41 73 122.8 73 224c0 4.1.15 8.2.41 12.2 8.57 20.8 19.53 42 25.89 64.9-30.17-148.4 58.1-237.91 155-237.59 24.6.1 49.6 5.91 73.5 17.99 0 0-61.7-7.83-134.3 39.2l6.6 19.9c11.8 35.4 29 65.6 29.7 105.6 2.6 2.4 4.7 4.5 7.3 7l-1 4.7c-6.8 34.7-2.3 73.4 8.4 105.1 10.2-15.1 21.6-39.3 24.5-58.9.1-4 3.6-6.3 6.4-8.3 8.2-39.7 39-75.6 61.1-107.7l15.1-21.9 1.3 26.6c1.7 37 9.7 81.7 4.1 122.9l3.1 4.3-2.6 4.9c-8.3 15.5-12.7 33.5-14.7 49.3 20.1-19.7 38.4-40.3 51.8-59.1 2.7-16.7 10.9-32.7 19.8-48.1 8.5-15 17.9-29.6 24.6-43.4-.2-101-81.9-182.6-183-182.6zm-63 80c-7.2 4.7-14.6 10-22 15.9-39.4 31.2-60.7 143.7-66 174.8 14.1 21.1 23.3 42.4 47 59.9 4.4-38.6-.9-80.8-6.8-121.1l-.8-5.4c2.2-1.5 4.5-3.4 6.6-4.7 1.4-34.1 15.8-68.5 32.6-101.1zm-2.6 45.4c-10 21.7-17.5 43.4-20.3 64 4.7-1.6 9.7-2.7 15.1-2.9 8.1-.3 16.6 1.4 25.5 5.7-2.9-22.8-11.5-43.5-20.3-66.8zm146.3 52.5c-15.8 22.3-31.5 45.1-39.6 67.1 7-1.3 14.1-1 20.8.7 8.1 2.1 15.6 6.1 22.5 11.5 1.3-25.3-1.4-52.8-3.7-79.3zm-287.33 4.6c-11.5 28.9-17.48 59.9-10.92 87.4 9.79-11.4 24.63-19.2 38.5-18.7-8.27-21.8-20.26-44.3-27.58-68.7zm400.03 19.1c-12.3 23.1-28.3 44.2-35.3 68.3 15.5-.5 32.8-2.6 45.3 5.8 2.2-23.1-3.2-49.3-10-74.1zm-285.6 10.9c2.5 17.1 4.8 34.7 6.3 52.4 9.6-2.2 19.5 0 29.2.9l-2 18c-9.1-1-20.6-1.9-25.9-.4.4 8.7.5 17.4.2 26.1 11-2.4 23.4-1 33.4 1.7l-4.8 17.4c-13.5-3.8-22.6-3.1-29.8-.1-.6 6.4-1.5 12.7-2.6 19l-2.3 12.5-11.1-6.3c-40.7-23.3-51.7-56.1-68.69-79.3-13-15.1-36.87 6-38.5 19.5 10.66 13.6 18.58 26.2 24.76 37.7 5.88-6.7 13.33-13 23.9-16.2l5.13 17.2c-8.88 2.6-14.31 8.8-20.29 17.1 8.45 18.1 12.91 36.4 22.09 52.3h303c1.9-4.7 3.5-9.4 5-14.4-9.2-4.3-20.4-7.1-38.2-9.5l2.4-17.8c17.3 2.4 30 5.3 40.8 9.9a526 526 0 0 1 4.2-13.9c-6.9-4.1-16.1-8-27.6-11.4l5-17.2c11.1 3.2 20.7 6.9 28.8 11.4 6-14.6 14.5-29.6 28-44.3-10.4-11.6-39.4-6.9-48.4-5.6-18.3 25-34.3 43.1-67.1 72.2l-14.4 12.8c-.8-15.3-.9-32.4.9-45.7-5.8-4.6-19.5-9.1-32.1-9.4l.4-18c12.6.2 25.2 2.9 35.4 8.3 2.3-9.4 5.6-19.1 10-28.4-7.7-9.2-16.8-15.6-25.5-17.9-9.3-2.4-18.1-1.1-27.3 6.2-5.4 30.3-22.3 62.1-38.2 77.1l-9.4 8.8-5.1-11.8c-15.4-35.8-22.9-81.7-15.7-124.8-19.7-15.7-33.7-19-53.9-6.1zm-63 207.5l-19.98 30H431.2l-20-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonShield;

impl IconShape for DragonShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M111.9 33.4c24.8 45.04 23.8 88 8.4 124.5-16.3 38.6-47.47 70.4-78.91 94.6 1.8 12.4 11.15 31.8 26.2 52.9 16.81 23.7 40.01 49.9 64.81 74.6 24.7 24.8 51 48.1 73.9 66.1 21.1 16.5 39.6 28.2 49.7 32.5 10.1-4.3 28.6-16 49.7-32.5 22.9-18 49.2-41.3 73.9-66.1 24.8-24.7 48-50.9 64.8-74.6 15.1-21.1 24.4-40.5 26.2-52.9-31.4-24.2-62.6-56-78.9-94.6-15.4-36.5-16.4-79.46 8.4-124.5H354c-64.8 31.74-131.2 31.74-196 0zm49.2 46h49l1.9.95c22.1 11.01 33.7 15.75 44 15.75 10.3 0 21.9-4.74 44-15.75l1.9-.95h49l-1.6 10.38c-11.9 76.52 25 129.12 67.5 161.02l3.6 2.7v4.5c0 15.2-8.9 30.9-21.3 48.3-12.4 17.5-29 36.1-46.5 53.7-17.6 17.6-36.2 34.1-52.7 47-16.5 13-30 22.3-41.1 25.9l-2.8 1-2.8-1c-11.1-3.6-24.6-12.9-41.1-25.9-16.4-12.9-35-29.4-52.6-47s-34.2-36.2-46.6-53.7c-12.4-17.4-21.19-33.1-21.19-48.3v-4.5l3.59-2.7c42.4-31.9 79.4-84.5 67.4-161.01zm20.6 18c7.9 75.5-28.9 130.8-71.3 164.4 1.5 7.8 7.4 20.3 17.2 34.1 11.5 16.2 27.6 34.3 44.6 51.4 17.1 17.1 35.3 33.2 51 45.6 13.9 10.8 26.1 18.6 32.8 21.6 6.7-3 18.9-10.8 32.8-21.6 15.8-12.4 33.9-28.5 51-45.6s33.1-35.2 44.7-51.4c9.8-13.8 15.7-26.3 17.2-34.1-42.5-33.6-79.2-88.9-71.4-164.4h-24.2c-21.2 10.5-35.1 16.7-50.1 16.7s-28.9-6.2-50.1-16.7zm74.3 26.3l44.7 44.7-44.7 44.7-44.7-44.7 38.3-38.4zm0 25.4l-19.3 19.3 19.3 19.3 19.3-19.3zm0 86.6l76.7 76.7-76.7 76.7-76.7-76.7 70.3-70.4zm0 25.4l-51.3 51.3 51.3 51.3 51.3-51.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drakkar;

impl IconShape for Drakkar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.672 23.266l-64 32 61.566 15.39V87h19.524V23.266h-17.09zM146.334 105c13.692 21.145 20.243 47.388 20.164 73.742-.08 26.744-6.98 53.69-20.805 75.793h234.23c16.93-18.827 26.41-46.276 26.677-74.15.267-27.947-8.674-55.727-26.647-75.385h-233.62zM416 155.244L441 231h62v-14h-39v-18h39v-1.438l-32-16v-15.076l-55-11.242zm-371.492 6.61c-6.67.12-13.668 2.495-18.922 7.833-9.12 9.27-9.382 21.518-7.256 29.637 2.126 8.12 6.344 13.905 6.344 13.905l14.652-10.46s-2.4-3.49-3.584-8.006c-1.183-4.518-1.444-8.27 2.672-12.452 1.932-1.962 4.236-2.685 7.53-2.43 3.293.257 7.228 1.863 10.148 4.263s4.68 5.353 5.068 8.025c.388 2.67-.034 5.552-3.86 9.822l-.06.065-.054.064c-19.097 22.143-25.463 40.51-25.323 78.704.14 38.193.465 69.313 40.77 97.133l-56.87 48.746 11.714 13.666 61.35-52.585c2.307 1.25 4.674 2.5 7.173 3.75 7.86.786 15.04 1.502 22.164 2.21l-38.45 32.958 11.714 13.666 51.55-44.186c11.823 1.147 22.805 2.183 32.77 3.06l-32.035 27.46 11.715 13.665 45.582-39.07c12.314.895 23.462 1.514 34.158 1.87l-27.455 23.533 11.715 13.666 43.027-36.882c12.13-.13 24.454-.622 38.07-1.482l-28.812 24.697 11.715 13.666 47.427-40.653c12.838-1.1 27.384-2.48 43.473-4.053l-37.316 30.943 11.49 13.858 57.848-47.967c3.278-.327 6.228-.62 9.65-.963 50.065-50.065 60.964-100.13 63.338-142.535H441.68c-13.08 22.76-22.973 42.718-48.78 57.828 3.594 6.09 5.67 13.167 5.67 20.707 0 22.537-18.463 41-41 41-12.906 0-24.468-6.062-32-15.47-7.53 9.408-19.094 15.47-32 15.47-12.906 0-24.468-6.062-32-15.47-7.53 9.408-19.094 15.47-32 15.47-14.623 0-27.523-7.777-34.785-19.392-7.262 11.615-20.162 19.392-34.785 19.392-22.537 0-41-18.463-41-41 0-.17.012-.338.014-.508-29.774-3.39-49.577-21.213-64.58-42.46-5.57-7.888-4.7-17.596-4.704-25.907-.005-11.62 3.798-24.738 21.084-44.78l-.113.128c6.645-7.412 9.443-16.39 8.275-24.428-1.17-8.04-5.742-14.646-11.455-19.342-5.714-4.695-12.713-7.72-20.18-8.3-.934-.073-1.88-.102-2.832-.084zm201.73 110.68v17.59c6.004 2.7 11.26 6.794 15.332 11.88 1.282-1.6 2.69-3.096 4.192-4.49v-24.98h-19.524zm-86.238 32c-12.81 0-23 10.192-23 23 0 12.81 10.19 23 23 23s23-10.19 23-23c0-12.808-10.19-23-23-23zm69.57 0c-12.81 0-23 10.192-23 23 0 12.81 10.19 23 23 23s23-10.19 23-23c0-12.808-10.19-23-23-23zm64 0c-12.81 0-23 10.192-23 23 0 12.81 10.19 23 23 23s23-10.19 23-23c0-12.808-10.19-23-23-23zm64 0c-12.81 0-23 10.192-23 23 0 12.81 10.19 23 23 23s23-10.19 23-23c0-12.808-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrakkarDragon;

impl IconShape for DrakkarDragon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.988 26.096c-9.955.018-19.84 1.135-29.486 3.398-2.59 14.237.868 34.48 7.404 46.758l-15.888 8.457c-7.443-13.98-11.645-32.143-10.463-49.242-43.403 7.618-77.39 51.45-84.819 80.834 12.351 5.056 20.017 2.123 33.82 3.097l-1.267 17.957c-9.701-.684-21.562 1.923-37.053-3.576-6.91 33.13-5.098 69.107 13.621 101.67 6.554-1.95 13.756-5.446 16.998-15.105l17.065 5.726c-4.654 13.865-15.096 20.896-23.822 24.62 24.653 33.383 95.036 32.631 126.101 9.296-7.143-7.093-14.346-12.502-23.293-14.578l4.069-17.535c13.88 3.22 24.02 11.271 32.593 19.957 16.094-18.11 19.016-38.703 16.791-61.842-1.624-16.894-7.128-32.236-15.16-44.459-10.677-14.979-25.386-26.421-42.316-28.752-34.993-.358-67.225 39.516-56.168 73.598 12.008 34.181 43.49 21.029 49.875.951-21.181-9.78 1.157-45.415 17.017-8.15 2.81 8.217.057 16.337-3.918 22.41-3.974 6.073-9.372 10.952-14.851 14.736-30.75 15.974-61.217 4.54-66.115-27.744-2.604-19.044.042-36.571 8.578-53.514 17.457-26.425 36.379-43.624 67.277-40.175 14.506 1.43 26.471 6.82 36.026 14.627 7.093 6.074 13.114 12.732 18.24 20.08a244.477 244.477 0 0 1 6.947 10.088c18.415-8.728 40.014-13.843 51.607-30.627 9.538-20.162-6.803-46.898-22.523-59.453-26.399 7.064-29.42 17.47-40.408 36.607l-15.569-9.033c9.877-18.904 17.253-31.042 35.678-39.514-18.321-7.634-37.582-11.603-56.588-11.568zM297.604 109.1c-2.51.011-5.034.1-7.563.254a37.85 37.85 0 0 1-4.71 9.755c-4.894 7.269-11.779 13.04-19.394 18.037-12.954 8.502-27.839 14.48-40.609 19.317a123.133 123.133 0 0 1 5.95 27.803c3.147 32.747-4.94 66.918-39.37 91.67-20.426 14.684-49.603 24.049-80.472 20.886a260.09 260.09 0 0 1-2.754 4.783c-6.645 11.235-14.142 23.731-22.067 36.838l11.762 23.526 23.08-29.1 17.436 37.05 23.974-17.435 10.588 14.557-41.58 30.24-14.35-30.49-22.607 28.508-19.336-38.672c-12.78 20.996-26.212 42.84-39.4 64.191l6.597 15.399 27.979-26.98 17.86 43.658 34.335-33.325 14.688 42.104 28.574-30.04 13.043 12.407L131.736 494h78.25c-5.727-31.426-11.842-71.244-12.119-99.49-.199-20.295 10.711-44.324 22.635-64.139 5.962-9.907 12.212-18.542 18.191-24.787 2.99-3.123 5.834-5.681 9.258-7.586 3.424-1.905 9.065-3.668 14.276-.39 12.374 7.784 23.237 16.715 34.02 23.13 10.781 6.415 21.036 10.337 33.282 9.559l5.655-.36 2.77 4.942c3.9 6.962 7.812 12.172 11.501 15.293 3.69 3.12 6.81 4.376 11.164 4.348 14.668-.095 18.75-4.251 21.295-9.957 2.089-4.682 2.207-11.79 1.207-18.704-4.231-1.722-10.625-4.382-19.441-8.45-13.222-6.102-28.573-13.753-38.848-22.03-7.21-5.808-17.977-12.643-26.978-21.121-9.002-8.478-17.221-20.177-14.557-34.256 2.059-10.881 9.139-19.694 18.629-24.752 9.49-5.058 21.122-7.13 34.617-7.514l.15-.004h.15c38.972.197 75.933 4.565 108.022 30.702l12.598-42.188.195-.46c1.713-4.033 1.359-4.071-.984-6.589-2.343-2.517-8.087-5.88-15.48-8.834-14.788-5.908-35.17-10.476-49.926-19.062l-.842-.488-.717-.659c-24.027-22.048-46.49-45.622-73.232-49.707-6.857-.901-12.603-1.37-18.873-1.347zm13.835 29.578c25.962.586 45.175 20.279 60.97 48.496-37.788 4.804-73.065 5.805-90.346-27.22-2.318-17.07 17.289-21.55 29.376-21.276zm9.672 88.814c-4.326.921-7.934 2.158-10.72 3.643-5.557 2.961-8.14 6.18-9.301 11.756 4.868.58 10.394 1.305 16.336 2.238 18.403 2.889 40.195 8.013 51.006 14.119 9.415 5.318 16.856 14.984 24.82 26.027 7.964 11.043 16.398 23.412 29.629 31.825 10.19 6.479 24.476 10.918 36.787 14.324 12.31 3.406 22.494 5.451 22.494 5.451l3.549-17.646s-9.603-1.932-21.242-5.153c-11.64-3.22-25.465-8.055-31.93-12.166-9.242-5.877-16.642-16.007-24.687-27.164-8.046-11.156-16.793-23.39-30.567-31.17-15.206-8.589-37.148-13.067-56.174-16.084zM24.615 439.532c-2.305 3.72-4.363 7.023-6.615 10.652V494h111.854l-14.606-41.867-33.205 32.228-17.897-43.746-27.642 26.656-11.889-27.74z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drawbridge;

impl IconShape for Drawbridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v462h142V156.271l48-48V25h-30v48h-50V25h-30v48H55V25zm167.38 131.348l-7.38 7.38v10.418c4.551-.619 9.936 1.222 13.258 3.102 3.798 2.819 11.29 7.973 9.474 13.572-4.443 3.557-12.158.989-16.488-1.455-2.554-1.478-4.656-3.285-6.244-5.09v22.153c7.553 3.05 14.707 4.827 21.854 3.879 3.51 7.926 10.723 15.014 16.917 18.681 8.36 3.946 16.533 6.437 24.627 5.364 3.506 7.927 10.725 15.013 16.918 18.68 8.36 3.944 16.532 6.436 24.625 5.363 3.51 7.926 10.724 15.014 16.918 18.681 8.36 3.946 16.533 6.435 24.627 5.361 3.506 7.928 10.724 15.015 16.918 18.682 8.36 3.945 16.532 6.437 24.625 5.363 1.285 3.252 3.345 6.525 5.31 8.95L185 363.232v37.086l276.902-68.463-8.64-34.947-20.823 5.149c-3.111-8.604-10.869-16.274-17.447-20.168-8.36-3.946-16.533-6.435-24.627-5.362-3.506-7.927-10.722-15.016-16.916-18.683-8.36-3.946-16.532-6.433-24.627-5.36-3.51-7.926-10.723-15.016-16.918-18.683-8.36-3.943-16.533-6.44-24.627-5.36-3.505-7.926-10.722-15.016-16.916-18.683-8.36-3.945-16.533-6.435-24.627-5.362-3.51-7.926-10.722-15.016-16.918-18.683-8.36-3.945-16.533-6.433-24.627-5.36-3.505-7.927-10.721-15.016-16.916-18.683-4.816-2.788-9.868-4.587-14.892-5.322zm47.42 44.945c3.801 2.82 11.292 7.97 9.477 13.572-4.444 3.554-12.16.988-16.488-1.455-3.8-2.82-11.295-7.97-9.476-13.572 4.317-3.522 11.902-1.141 16.488 1.455zm41.546 24.043c3.798 2.819 11.29 7.973 9.474 13.572-4.443 3.557-12.158.989-16.488-1.455-3.802-2.82-11.29-7.968-9.477-13.572 4.32-3.522 11.905-1.141 16.49 1.455zm41.543 24.045c3.798 2.819 11.292 7.97 9.476 13.57-4.444 3.557-12.159.989-16.488-1.455-3.802-2.82-11.294-7.967-9.477-13.572 4.318-3.52 11.904-1.139 16.489 1.457zm41.545 24.043c3.8 2.82 11.289 7.97 9.474 13.572-4.444 3.554-12.16.988-16.488-1.455-3.8-2.82-11.291-7.97-9.477-13.572 4.335-3.473 11.76-1.223 16.49 1.455zm41.543 24.043c3.48 2.414 7.061 5.386 8.863 8.941l-14.914 3.688c-4.09-3.23-12.418-7.978-10.438-14.084 4.334-3.472 11.759-1.223 16.489 1.455zM425 405v18h62v-18zm-75.129 35.988C327.917 441.483 307.51 460.65 288 461c-23.065-2.608-43.13-19.673-64-20-14.073 1.314-26.678 4.405-39 8.736v19.51c12.73-5.24 26.302-10.001 39-10.246 23.065 2.608 43.13 19.673 64 20 22.767.773 43.861-19.639 64-20 5.556 0 14.283 1.97 23.24 4.68 5.96-4.151 11.487-8.612 16.446-13.537C378.966 445.47 364.568 441 352 441a37.607 37.607 0 0 0-2.129-.012zm71.461.012c-11.844 20.648-29.735 34.582-49.146 46H487v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DreamCatcher;

impl IconShape for DreamCatcher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248 16v32.24c-65 3.79-117.8 53.36-126.7 116.86-5-3.2-10.9-5.1-17.3-5.1-17.58 0-32 14.4-32 32 0 14.8 10.21 27.4 23.92 31l3.16 30.2c-.25 63.8 2.62 135.7-2.38 202.3-2.8-7.3-3.04-12.1-4.52-20.9l-12.22 2.2c2.2 13.7 4.98 27 13.12 38.9 23.92-9.3 30.22-60.9 36.62-93.9l-20.9-11.6 24.3-7c2.3-14.3 3.8-23.3 4.6-32.4l-19.5-15.2 20.2.2c0-3.9 0-8.1-.1-12.9-.4-13-11.8-42-23.3-48.2l-3.3-31.7c4.6-1.1 8.7-3.2 12.3-6.1 14.2 56.7 63.9 99.4 124 102.9v9.6c-9.3 3.3-16 12.2-16 22.6 0 11.6 8.3 21.3 19.3 23.5-12.5 3.6-25.2 19.2-23.8 26.2 8.3 41.6 14.9 88.6 30.8 93.1 19.6-19.7 21.6-59.3 25.5-97.1.5-4.8-11.6-18.8-23-22.2 10.9-2.3 19.2-12 19.2-23.5 0-10.4-6.7-19.3-16-22.6v-9.6c60.1-3.5 109.8-46.2 124-102.9 3.9 3.1 8.5 5.4 13.5 6.4l3.3 42.1c-11.6 5.4-21.7 20.6-22.1 32.1-.6 22.2.9 46.4 5.3 70.2l23.2 10.2-21.2-.3c.4 1.9.8 3.7 1.3 5.6l7.6 8.2-5.1 1.4c7.1 25.3 17.8 49 32.9 67.8 5.5-10.5 9.8-22.1 13.1-34.4l-12.2-1.9c-.6 7.8-1.3 15.6-2.1 23.3-5-58.5-4.6-127.2-4.8-183.6l-3.3-41.4c13.1-4.1 22.6-16.3 22.6-30.6 0-17.6-14.4-32-32-32-6.4 0-12.3 1.9-17.3 5.1C381.8 101.6 329 52.03 264 48.24V16h-16zm8 48c66.4 0 120 53.6 120 120s-53.6 120-120 120-120-53.6-120-120S189.6 64 256 64zm-4.8 15.01c-6.8.31-13.4 1.25-19.8 2.78-3.7 7.84-6.2 16.07-7.6 24.41-7-4.9-14.6-8.91-22.7-11.87-5.7 3.5-11 7.57-16 11.97 14.3 3.1 27.1 9.9 37.4 19.4.4 10.6 2.6 21.2 6.5 31.3-10.1-3.9-20.7-6.1-31.3-6.5-9.5-10.3-16.3-23.1-19.4-37.3-4.5 4.9-8.5 10.2-12 15.9 3 8.1 7.1 15.7 12 22.7-8.4 1.4-16.7 3.9-24.5 7.6-1.5 6.4-2.5 13-2.8 19.8 12.2-7.9 26.1-12.2 40.1-12.7 7.8 7.2 16.8 13.2 26.7 17.5-9.9 4.3-18.9 10.3-26.7 17.6-14-.6-27.9-4.8-40.1-12.7.3 6.8 1.3 13.3 2.8 19.7 7.8 3.7 16.1 6.2 24.5 7.6-4.9 7-9 14.6-12 22.7 3.5 5.7 7.5 11 12 15.9 3.1-14.2 9.9-27 19.4-37.3 10.6-.4 21.2-2.6 31.3-6.5-3.9 10.1-6.1 20.6-6.5 31.3-10.3 9.5-23.1 16.3-37.4 19.3 4.9 4.5 10.3 8.6 16 12.1 8.2-3 15.8-7 22.7-11.9 1.4 8.4 3.9 16.6 7.6 24.4 6.4 1.5 12.9 2.5 19.7 2.8-7.9-12.2-12.1-26-12.7-40.1 7.3-7.8 13.3-16.8 17.6-26.7 4.3 9.9 10.3 18.9 17.5 26.7-.5 14-4.8 27.9-12.7 40.1 6.8-.3 13.4-1.3 19.8-2.8 3.7-7.8 6.2-16 7.6-24.4 7 4.9 14.6 8.9 22.7 11.9 5.7-3.5 11.1-7.6 16-12.1-14.3-3-27.1-9.8-37.4-19.3-.4-10.6-2.5-21.2-6.5-31.3 10.1 4 20.7 6.1 31.3 6.5 9.5 10.3 16.3 23.1 19.4 37.3 4.5-4.9 8.5-10.2 12-15.9-3-8.1-7-15.7-11.9-22.7 8.4-1.4 16.6-3.9 24.4-7.6 1.5-6.4 2.5-13 2.8-19.8-12.2 7.9-26.1 12.2-40.1 12.7-7.8-7.2-16.8-13.2-26.7-17.5 9.9-4.3 18.9-10.3 26.7-17.6 14 .6 27.9 4.8 40.1 12.7-.3-6.8-1.3-13.3-2.8-19.7-7.8-3.7-16.1-6.2-24.5-7.6 4.9-7 9-14.6 12-22.7-3.5-5.7-7.6-11.1-12.1-16-3 14.3-9.8 27.1-19.3 37.4-10.7.4-21.2 2.6-31.3 6.5 3.9-10.1 6.1-20.7 6.5-31.3 10.3-9.5 23.1-16.4 37.4-19.4-5-4.5-10.3-8.47-16-11.97-8.1 2.96-15.7 6.97-22.7 11.87-1.4-8.34-3.9-16.57-7.6-24.41-6.4-1.53-13-2.47-19.8-2.78 8 12.2 12.2 26.09 12.8 40.09-7.3 7.8-13.3 16.8-17.6 26.7-4.3-9.9-10.3-18.9-17.6-26.7.6-14 4.8-27.89 12.8-40.09zM256 160c13.2 0 24 10.8 24 24s-10.8 24-24 24-24-10.8-24-24 10.8-24 24-24zm-152 16c8.9 0 16 7.1 16 16s-7.1 16-16 16c-8.93 0-16-7.1-16-16s7.07-16 16-16zm152 0c-4.5 0-8 3.5-8 8s3.5 8 8 8 8-3.5 8-8-3.5-8-8-8zm152 0c8.9 0 16 7.1 16 16s-7.1 16-16 16-16-7.1-16-16 7.1-16 16-16zM87.78 257.7c-10.12 5.9-18.62 15.3-18.82 22.9-2 42.8-.7 90.8 8.7 145.9l14.42 5.6c-3.8-58.4-3.7-116.3-4.3-174.4zM432 268c-.6 51.3-.5 102.5-4.3 154.1l14.4-5c7.6-31.7 9.6-67.4 9.3-103.2l-14.6-.3 14.4-8.4c0-5.7-.1-11.4-.4-17-.2-6.7-8.7-15-18.8-20.2zm-176 76c4.5 0 8 3.5 8 8s-3.5 8-8 8-8-3.5-8-8 3.5-8 8-8zm-4.2 31.6c1.4.3 2.8.4 4.2.4 1.3 0 2.5-.1 3.7-.3l-2.3 90.6-5.6-90.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drill;

impl IconShape for Drill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48.148 49c-9 0-14.776 3.864-19.793 11.29-5.017 7.424-8.323 18.56-9.234 30.4-.91 11.838.52 24.33 3.814 34.214 3.079 9.236 7.783 15.602 12.288 18.367 28.96 2.58 66.314 2.689 82.671 28.96 11.82 42.442-15.348 94.133-25.816 130.769h74.55l-5.064-89.941 23.168-4.729 14.12-58.926 64.296 7.219V49zm233 0v98.916l30-.453V49zm48 16v62h30V65zm-274 2h178v60h-178zm322 .525v56.95l46-11.5v-33.95zM73.148 85v24h142V85zm368 0v18h52V85h-9zm-228.5 84.064l-8.841 36.907 17.925-1.532c-1.87-15.08 1.338-23.637 10.96-33.125zM89.148 321v32H52.965l-20 30h244.879l-11.823-30h-98.873v-32zm-64 80v62h237.608l16.584-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drinking;

impl IconShape for Drinking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.56 70.504a88.18 88.18 0 0 0-12.686.949c-33.833 5.004-62.022 29.192-80.272 65.89-18.25 36.699-26.008 85.566-18.285 137.307 7.723 51.741 29.418 96.251 57.598 126.082 28.18 29.831 62.216 44.819 96.048 39.815 33.833-5.004 62.024-29.195 80.274-65.893 4.264-8.573 7.947-17.818 11.002-27.601-29.164.07-58.834-2.573-92.08-24.287 47.863-14.36 76.86-36.492 101.926-60.243a271.619 271.619 0 0 0-2.565-25.173c-7.723-51.741-29.416-96.253-57.596-126.084-24.657-26.103-53.8-40.838-83.365-40.762zm244.189 97.467l-87.937 109.81c-.11.17-17.645 28.102-14.198 42.682 1.549 6.554 7.56 14.287 14.304 14.287 6.744 0 12.758-7.733 14.307-14.287 3.426-14.494-13.853-42.137-14.238-42.75l8.82 5.222 128.162 75.854 59.686-74.506zm1.06 27.468l69.85 74.6H322.047zm-133.21 2.33l13.13 12.311c-17.393 18.552-47.5 23.81-71.523 21.414l1.787-17.912c19.327 1.927 45.889-4.382 56.605-15.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DropEarrings;

impl IconShape for DropEarrings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157 33.11L60.66 71.64l6.68 16.72L131 62.89l-10.2 40.71C101.7 107.1 87 123.9 87 144c0 19.9 14.4 36.6 33.3 40.3-8.7 18.1-19.3 40.9-29.97 67.1C72.49 295 57 343 57 372c0 21.5 8.53 36.5 21.62 47 13.1 10.4 31.18 16 49.38 16 18.2 0 36.3-5.6 49.4-16 13.1-10.5 21.6-25.5 21.6-47 0-29-15.5-77-33.3-120.6-10.7-26.2-21.3-49-30-67.1 18.9-3.7 33.3-20.4 33.3-40.3 0-18.7-12.7-34.5-29.9-39.4L157 33.11zm256 .04l-96.3 38.54 6.6 16.72L387 62.95l-10.2 40.65c-19.1 3.5-33.8 20.3-33.8 40.4 0 19.9 14.4 36.6 33.3 40.3-8.7 18.1-19.3 40.9-30 67.1C328.5 295 313 343 313 372c0 21.5 8.5 36.5 21.6 47 13.1 10.4 31.2 16 49.4 16s36.3-5.6 49.4-16c13.1-10.5 21.6-25.5 21.6-47 0-29-15.5-77-33.3-120.6-10.7-26.2-21.3-49-30-67.1 18.9-3.7 33.3-20.4 33.3-40.3 0-18.7-12.7-34.5-29.9-39.4L413 33.15zM128 121c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm256 0c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zM128 453c-7 0-13.2 2.2-17.2 5.2-4.1 3.1-5.8 6.4-5.8 9.8 0 3.4 1.7 6.7 5.8 9.8 4 3 10.2 5.2 17.2 5.2s13.2-2.2 17.2-5.2c4.1-3.1 5.8-6.4 5.8-9.8 0-3.4-1.7-6.7-5.8-9.8-4-3-10.2-5.2-17.2-5.2zm256 0c-7 0-13.2 2.2-17.2 5.2-4.1 3.1-5.8 6.4-5.8 9.8 0 3.4 1.7 6.7 5.8 9.8 4 3 10.2 5.2 17.2 5.2s13.2-2.2 17.2-5.2c4.1-3.1 5.8-6.4 5.8-9.8 0-3.4-1.7-6.7-5.8-9.8-4-3-10.2-5.2-17.2-5.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drum;

impl IconShape for Drum {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M476.865 25.514L282.941 145.422l19.32 9.215L486.333 40.822l-9.467-15.308zM73.6 65.508l-7.748 16.246 286.595 136.709 1.389 2.715c3.244 6.346 9.677 12.524 17.723 16.373l.003.002.004.002c8.566 4.084 17.188 5.364 23.63 4.373 6.443-.992 10.352-3.63 12.523-8.18 2.17-4.55 1.665-8.39-1.725-13.603-3.39-5.213-10.122-10.882-18.935-15.086-8.063-3.843-16.927-4.961-23.91-3.487l-2.983.63L73.6 65.507zm121.097 97.65c-40.936 2.913-77.435 8.644-106.084 16.283-21.165 5.644-38.06 12.392-48.953 19.26C28.767 205.57 25 211.723 25 216c0 4.277 3.767 10.43 14.66 17.299 10.894 6.868 27.788 13.616 48.953 19.26C130.943 263.847 190.374 271 256 271c49.18 0 94.88-4.017 132.512-10.781-8.123-.325-16.546-2.53-24.703-6.422l-.002-.002-.004-.002c-10.2-4.878-18.614-12.38-24.135-21.484l-72.705-34.68-36.498 22.566c-4.5 9.65-12.051 18.021-21.662 23.977l-.002.002-.004.002c-10.715 6.625-22.297 10.072-33.281 9.588-10.985-.484-21.794-5.485-27.856-15.29-6.062-9.803-5.366-21.696-.515-31.294 4.85-9.598 13.3-17.76 23.785-24.243l.002-.001h.002c9.63-5.951 20.504-8.973 31.16-8.688l6.904-4.27-14.3-6.82zm127.432.36l-.545.336 41.3 19.7c10.563-1.44 21.702.385 31.92 5.257h.005c11.125 5.306 20.412 12.504 26.275 21.52 5.863 9.014 7.844 20.763 2.88 31.167-3.08 6.457-8.178 11.27-14.2 14.395 4.699-1.07 9.273-2.174 13.623-3.334 21.165-5.644 38.06-12.392 48.953-19.26C483.233 226.43 487 220.277 487 216c0-4.277-3.767-10.43-14.66-17.299-10.894-6.868-27.788-13.616-48.953-19.26-27.516-7.337-62.286-12.91-101.258-15.923zm-93.81 15.677l-21.499 13.293-3.033-.3c-7.102-.708-15.793 1.364-23.39 6.058l-.002.002c-8.305 5.135-14.382 11.502-17.186 17.05-2.804 5.55-2.89 9.422-.238 13.71 2.651 4.288 6.822 6.486 13.336 6.773 6.513.287 14.949-1.923 23.023-6.916 7.58-4.699 13.305-11.538 15.842-18.199l1.086-2.85 31.383-19.404-19.323-9.217zM39.642 253.912l26.941 44.9 33.31-24.982a408.545 408.545 0 0 1-15.92-3.879c-17.352-4.627-32.253-9.928-44.331-16.039zm432.714 0c-12.078 6.11-26.98 11.412-44.332 16.04-6.926 1.846-14.283 3.565-21.949 5.175l38.926 24.377 27.355-45.592zM487 264.492l-17.576 29.293a90.955 90.955 0 0 0 2.209-.97c5.948-2.72 10.255-5.583 12.627-7.944 2.371-2.361 2.74-3.683 2.74-4.871v-15.508zm-462 .002V280c0 1.188.369 2.51 2.74 4.871 2.372 2.361 6.679 5.224 12.627 7.943.712.326 1.45.65 2.207.971L25 264.495zm98.639 14.027l-36.737 27.553c1.874.36 3.74.72 5.674 1.065 21.728 3.862 47.224 6.792 74.612 8.775l-36.143-36.143a573.54 573.54 0 0 1-7.406-1.25zm233.996 4.538c-23.345 2.877-48.603 4.787-75.155 5.552l37.08 27.809 38.075-33.361zm27.261.045l-37.195 32.59c26.286-1.979 50.764-4.83 71.723-8.555 1.011-.18 1.972-.373 2.967-.557l-37.495-23.478zm-224.369.697l32.317 32.316 36.676-27.506c-24.226-.698-47.389-2.342-68.993-4.81zM256 291.25l-36.322 27.242c12.024.332 24.171.508 36.322.508 12.15 0 24.298-.176 36.322-.508L256 291.25zM25 305.121V440c0 5.5 4.3 11.699 16.09 18.436 3.953 2.259 8.63 4.452 13.91 6.554V317.13c-8.28-2.377-15.693-5.007-22.117-7.943-2.813-1.287-5.44-2.63-7.883-4.065zm462 0c-2.443 1.435-5.07 2.778-7.883 4.065-6.424 2.936-13.838 5.566-22.117 7.943V464.99c5.28-2.103 9.957-4.295 13.91-6.554C482.7 451.699 487 445.5 487 440V305.121zM73 321.63v149.488c6.196 1.816 12.868 3.523 19.953 5.098 25.716 5.714 56.789 9.79 90.047 12.2V334.978c-34.264-1.945-66.46-5.297-93.576-10.118A430.035 430.035 0 0 1 73 321.63zm366 0a430.032 430.032 0 0 1-16.424 3.232c-27.115 4.82-59.312 8.173-93.576 10.118v153.435c33.258-2.409 64.331-6.485 90.047-12.2 7.085-1.574 13.757-3.281 19.953-5.097V321.63zM201 335.87v153.684c18.028.96 36.517 1.445 55 1.445 18.483 0 36.972-.485 55-1.445V335.87c-18.053.752-36.52 1.129-55 1.129-18.48 0-36.947-.377-55-1.129z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Duck;

impl IconShape for Duck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319.398 26.76c-9.51-.074-19.237 2.177-28.966 8.615-75.118 49.7-18.154 114.97-2.026 166.176 11.882 2.75 26.068 3.496 40.574 1.786 17.012-2.006 34.346-7.262 49.022-15.365-6.18-11.668 3.62-29.6 9.035-38.728l83.396-8.392c12.108-7.608 21.486-19.257 4.055-24.213l-82.885-11.448c7.013-28.32-22.403-65.608-41.035-71.92-9.898-3.354-20.393-6.427-31.17-6.51zm29.043 49.21c8.286 0 15 6.716 15 15 0 8.285-6.714 15-15 15-8.283 0-15-6.715-15-15 0-8.284 6.717-15 15-15zm43.038 125.055c-18.094 11.122-39.446 17.72-60.388 20.188-14.264 1.682-28.372 1.5-41.283-.82-77.015 18.895-133.99 36.876-211.24 36.876-24.21-3.115-31.616-11.996-50.368-20.08 16.237 56.88 3.742 95.626 64.382 131.193 105.145 50.197 218.445 51.527 320 0 21.96-11.142 33.838-103.735 17.986-127.114-8.27-12.196-27.656-30.114-39.09-40.245zm-28.93 55.27c.275 28.072-13.338 50.968-33.58 67.04-20.24 16.074-46.96 26.048-75.013 30.925-28.053 4.876-57.493 4.613-83.498-.717-26.005-5.33-48.854-15.582-62.87-32.49l13.856-11.487c9.996 12.058 29.158 21.53 52.63 26.342 23.47 4.81 50.974 5.107 76.8.617s49.922-13.804 66.902-27.287c16.98-13.483 26.994-30.408 26.774-52.765l17.997-.178zM176.17 416.35l-.266 44.437c-11.283 5.013-20.25 12.844-27.486 24.455h144c-14.892-14.892-33.408-29.823-64.274-31.777l.188-29.123c-5.886-.56-11.912-1.25-17.986-2.06l-.204 31.265c-5.774.325-11.17.92-16.205 1.844l.21-35.566c-6.128-1.044-12.176-2.194-17.978-3.474z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DuckPalm;

impl IconShape for DuckPalm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.5 16.44l8.4 58.01c2.3 10.1 6.7 18.63 18.4 28.35-14.5 2.6-23.1 1.1-29.8-2C116.3 140 51.75 263.3 33.71 409.3c-1.63 12 13.75-2.6 26.92-9.8.26-1.9.54-3.8.85-5.7 7.7-47.9 30.82-104.6 56.62-149.2 12.8-22.2 26.3-41.3 39.4-54.8 6.5-6.8 12.9-12.2 19.5-15.8 5-2.7 10.3-4.5 15.8-4.4 1.8 0 3.6.2 5.5.7 8.3 2.2 14.4 8.6 18.6 16.2 4.2 7.6 7.1 17 9.3 27.8 4.4 21.7 6 49.5 6.3 79.9.5 54.4-3.3 117-4.3 163.4 10 14.2 21.5 38.1 27.2 38 6.3-.1 18.8-21.8 29.8-35-6.9-43.7-12.1-107.1-11.1-162.9.6-30.2 3-58.1 8.3-79.8 2.7-10.9 6-20.2 10.7-27.8 4.7-7.6 11.3-13.7 19.9-15.6 1.6-.4 3.2-.5 4.8-.5h1.6c6.4.2 12.6 2.8 18 6.6 7.2 5.1 13.8 12.4 20.2 21.4 12.8 18 25.2 42.8 37 70.9 20.4 48.5 39 106.2 52.6 151.1 14.8 11.7 33.5 32.7 31 16-15.4-112.4-73.2-279-157.3-333.9-7.1 3.8-15.8 6-31.9 3.1 9.2-7.6 13.9-14.53 16.6-22.02l1.1-70.74zm-16 171.16c-1.5 0-3.7.5-6.8 2.2-4.2 2.3-9.6 6.6-15.3 12.5-11.4 11.8-24.4 30-36.7 51.4-24.4 42.1-46.64 97-54.12 140.9 33.62-3 77.42 7.4 131.02 46.9 1.5-44.7 4.4-99.3 3.9-147.1-.3-29.9-2-57-5.9-76.5-2-9.8-4.6-17.6-7.4-22.7-2.8-5.1-5.3-6.9-7.5-7.5-.3-.1-.7-.1-1.2-.1zm126.3 4.3c-.7 0-1.3.1-2 .2-2.5.5-5.2 2.5-8.4 7.5-3.1 5-6.1 12.8-8.5 22.6-4.8 19.4-7.2 46.4-7.8 75.9-.9 50 3.5 107.4 9.4 149.2 53-32.9 90.7-41 123.9-33.1-12.9-42-29.6-92.1-47.4-134.3-11.5-27.4-23.7-51.5-35.1-67.4-5.7-8-11.2-13.9-15.8-17.1-3.5-2.5-6.1-3.4-8.3-3.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DuffelBag;

impl IconShape for DuffelBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.9 22.5c-5.1 0-10 .36-14.6 1.22-.7 3.02-.1 3.89 2.5 6.38 2.8 2.82 8.7 6.14 15.8 9.17 7 3.03 15 5.92 22.4 9.44 4.7 2.28 9.4 4.73 13.2 8.26 12.3 1.11 23.6 4.95 35.5 10.9-.6-3.96-.9-7.81-1.2-11.24-.5-5.39-1.1-10.07-2-12.93-1-2.86-1.6-3.52-3.3-4.27h-.1c-12.3-5.3-32.8-12.94-53.2-15.78-5.1-.72-10.1-1.15-15-1.15zm-31.8 7.71c-1.9 1.2-3.7 2.54-5.3 4.06h-.1S179.2 132 135.1 186.6c-15.7 19.3-24.9 45.3-43.38 67.6-19.38 23.4-59.28 57.3-63.68 61.1-2.04 16.5 4.19 37 17.04 58.1 13.58 22.3 34.09 45.1 57.02 64.3 22.9 19.3 48.3 35.1 71.3 43.9 22.4 8.7 42 10.2 54.5 4.6 42.6-36.4 78.7-79.2 113.1-124.1 17-22.2 22.6-32.9 26.4-41.1 3.8-8.2 6.4-15.4 15.6-26.2 28.7-33.8 94.5-83 97-84.9.3-.3.7-.9 1.1-1.6-.6-.1-1.2-.2-1.7-.3-4.8-1.2-8.7-3.9-12-7-6.6-6.1-11.7-14.4-16.6-22.9-4.8-8.5-9.4-17.3-13.6-23.9-1.1-1.7-2.2-3.2-3.2-4.5-7.2 2-24.8 7.4-41 16.6-10.6 6-20.3 13.5-26.2 21.7-5.8 8.3-8.3 16.7-5.3 28v-.1c10.6 39.2-20.4 85.7-73.4 100l-4.6-17.4c45-12.1 67.8-51.4 60.6-77.8v-.1c-4.3-16.3-.2-31.4 8.1-43 8.2-11.6 20-20.2 31.9-26.9 8.5-4.8 17.1-8.6 24.8-11.6-11.3-2.8-22.6-6.7-32.8-16.1-8.3-7.7-11.7-17.6-14.3-26.7-1.5-5.09-2.7-9.99-4.2-14.44-4.7 7.38-11.3 17.28-19.1 27.64-15.6 20.9-34.8 44-56.2 52.4h-.1c-17.3 6.7-36.3 4.9-53.1 7.2-16.8 2.3-30.4 7-41 25.4l-15.6-9c13.5-23.5 34.8-31.5 54.1-34.2 19.3-2.7 37.6-1.8 49.1-6.2 13.5-5.3 33.5-26.5 48.4-46.41 9.7-13.04 17.6-25.28 21.9-32.27-.8-.5-1.8-1-2.8-1.49-6.1-2.94-14-5.81-21.7-9.14-7.8-3.33-15.4-6.96-21.5-12.98-3.2-3.26-5.7-7.69-6.9-12.6zm123.6 27.26c1 9.74 2.4 17.24 6.8 20.87 3.4 2.86 10.8 3.32 20.1 3.31-2.2-3.55-4.8-6.88-7.1-9.3-4.6-4.91-12.5-11.24-19.8-14.88zm-233.8 8.24c-4.6.01-9 .37-13.2 1.02-22.5 3.49-40.5 15.55-53.7 32.91C94.29 128.3 86.93 171.2 98.9 209.7c6.1-10.8 12.4-21.9 20.6-32.4-1.6-23.9 1.6-47 13.9-63.9 8.3-11.4 21.2-19.35 37.5-21 8-.8 16.8-.15 26.4 1.95 7.8-7.59 15.4-14.92 22.7-21.89-11.6-4.08-22.4-6.2-32.5-6.66-1.6-.07-3.1-.1-4.6-.09zm192.2 11.43c1.6 4.97 2.7 9.79 4 14.18 2.4 8.24 5 14.58 9.2 18.48 7.7 7.2 17.6 9.8 29.5 12.7-2.3-10.8-6.7-21.9-12.4-30.8-11.6-7.06-21-11.89-30.3-14.56zm54.6 22.31c3.7 9.15 6.4 18.85 7.4 28.65 7 3.4 11 9.7 15.3 16.4 4.9 7.7 9.4 16.6 14 24.6 4.7 8.1 9.4 15.2 13.2 18.7 1.9 1.8 3.4 2.5 4.2 2.7.2.1.4.1.5.1 0-6-.5-12.9-1.6-20.4-3.1-20.8-10.5-45.5-19.9-65.9-1.1-2.3-1.9-2.8-4.4-3.6-2.5-.75-6.7-1.01-11.7-1.01-5 0-11 .51-17-.24zM175.4 247l6.3 9.1c26.8 38.5 59.7 69.9 104.4 89.8l11.5 5-68.6 74.9-48.9 13.9-3.5-2.3c-24.9-16.6-56.3-30-74.4-68.7L101 366l11.1-52 55.7-59 7.6-8zm-2 28.2l-44.7 47.4-8.8 40.9c14.8 29.5 38.3 40.7 63.1 56.6l36.2-10.3 48.5-52.9c-39.1-19.8-69.5-48.3-94.3-81.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DunceCap;

impl IconShape for DunceCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M330.445 26.006l-126.79 211.61c24.586 20.357 46.073 33.117 68.584 38.63 22.632 5.543 47.123 4.26 78.421-4.044zM189.119 249.81C163.03 273.734 146 311.377 146 354.309c0 73.606 50.048 131.685 110 131.685s110-58.08 110-131.685c0-23.104-4.932-44.677-13.553-63.406-32.014 8.151-59.115 9.557-84.609 3.313-27.08-6.632-51.752-21.655-78.72-44.405zm47.507 88.622l5.851 17.553-49.345 16.448-5.85-17.552zm38.748 0l49.345 16.449-5.851 17.552-49.345-16.448zM256 411.977c19.532 0 38.348 9.842 55.886 27.38l-13.083 13.084c-15.358-15.358-29.438-21.964-42.803-21.964-13.365 0-27.445 6.606-42.803 21.964l-13.083-13.083c17.538-17.539 36.354-27.381 55.886-27.381z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DungeonGate;

impl IconShape for DungeonGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193.571 26.027l35.192 83.99c14.877 7.658 33.121 6.696 47.488-1.279l40.283-85.976c-45.582-7.268-84.512-4.945-122.963 3.265zm137.3 7.606l-32.038 71.38c12.536 12.349 37.237 18.872 47.033 15.448l31.172-64.691c-12.422-8.392-27.428-15.886-46.168-22.137zm-154.86-1.97c-21.814 6.55-40.982 16.35-56.099 28.591 14.941 15.844 28.861 34.184 38.194 52.832 24.477 6.133 35.479-6.849 47.475-18.55zm-74.245 34.831c-36.541 32.91-66.523 76.42-78.068 125.215l65.957 3.353c12.006-30.53 24.552-56.284 54.231-72.755-9.883-20.24-23.626-39.403-42.12-55.813zm292.503-.29l-31.852 61.044c32.54 21.007 43.572 41.348 52.597 69l72.464-8.43c-9.612-55.894-42.206-107.047-93.209-121.614zm-52.233 137.2c4.757 12.937-15.842 29.7-9.07 39.428-4.011.85-8.874 1.642-14.385-8.957-1.126 12.49 2.172 19.603 12.168 29.209-2.682.783-8.045 2.75-12.08.566-1.24 7.386 10.867 13.863 20.725 14.832l8.392-2.175c-6.09-1.106-7.881-3.315-10.627-6.13 2.97-1.32 12.554-7.117 2.149-14.751 12.634-2.752 6.035-14.89 4.14-21.862 7.525 7.798 15.243 22.54 21.862 7.084 4.176 12.604 6.561 12.12 13.614 9.107 1.054 9.196-2.957 14.791-8.792 22.518l12.494-4.992c6.018-5.026 20.16-25.502 6.428-35.5 2.603 12.443-5.563 14.388-18.672-10.937-4.377 30.773-12.236-7.49-28.346-17.44zm-321.668 2.108v66.242l72.842-11.858 1.592-49.873zm143.486.363c3.732 8.72-14.487 45.226-18.865 14.453-13.109 25.325-23.908 24.26-21.304 11.817-13.732 9.998-1.347 33.458 4.671 38.484l11.229 3.001c-5.835-7.727-11.565-13.614-10.512-22.81 7.053 3.013 10.492 5.604 14.668-7 6.618 15.456 17.32-4.378 24.846-12.175-1.554 11.494-6.282 22.427 7.303 25.197-9.13 10.082 1.899 19.99-12.694 22.812l8.393 2.176c9.857-.97 20.385-10.606 19.144-17.992-4.035 2.183-7.818 3.376-10.5 2.594 9.996-9.607 10.662-21.46 9.536-33.95-5.511 10.6-7.917 11.738-11.752 13.698 6.77-9.728-5.927-32.285-14.163-40.305zm327.512 1.172l-77.57 5.687 1.156 79.192 75.524 2.842zM98.313 279.81l-79.955 9.779 1.202 99.754 83.54 1.152zm280.659 7.347l-28.332 7.031 21.455 68.315 16.125-5.043zm-246.961 3.348l-9.248 70.303 16.125 5.043 21.455-68.315zM412.269 310.3v83.58l79.166-8.031 2.289-75.55zm84.605 91.656l-88.934 9.947-1.16 80.727 90.674.586zm-395.822 2.002l-81.848 2.322-4.658 86.184h90z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DungeonLight;

impl IconShape for DungeonLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 65c-4.37 0-8.74.485-13 1.469V151h26V66.469A57.805 57.805 0 0 0 128 65zm-31 9.354C83.018 84.017 73 101.452 73 128v23h24V74.354zm62 0V151h24v-23c0-26.548-10.018-43.983-24-53.646zm38.176 26.148C199.634 108.783 201 117.962 201 128v137H73.23L304 490h186V384L197.176 100.502zM73 169v78h24v-78H73zm42 0v78h26v-78h-26zm44 0v78h24v-78h-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Duration;

impl IconShape for Duration {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-3.7 0-7.4.1-11.1.27l.8 17.98c3.4-.16 6.8-.25 10.3-.25 118.8 0 215 96.2 215 215s-96.2 215-215 215c-89.6 0-166.35-54.7-198.65-132.6l27.63-8.3-48.43-34.3-19.05 54.5 22.55-6.7C74.68 428.8 158.4 489 256 489c128.6 0 233-104.4 233-233S384.6 23 256 23zm-30.8 2.04c-13.3 1.75-26.1 4.6-38.6 8.48l5.6 17.09c11.4-3.54 23.3-6.15 35.4-7.75l-2.4-17.82zm-57 15.12c-12.4 5.05-24.2 11.12-35.4 18.12l9.5 15.21c10.3-6.44 21.2-12.03 32.6-16.67l-6.7-16.66zM116.4 69.5a234.139 234.139 0 0 0-29.35 26.12l13.05 12.28c8.3-8.77 17.4-16.81 27-24.06l-4.8-6.57-5.9-7.77zm69.5 8.58l-4.4 17.44 217 55.48 4.4-17.4-217-55.52zM74.07 110.5c-8.19 10.2-15.54 21.2-21.94 32.7l15.65 8.8c5.91-10.7 12.69-20.8 20.26-30.3l-13.97-11.2zm127.63 8.8c-3.9 26 2.8 55.2 14.2 79.2 6.4 13.4 14.2 25.2 21.9 33.8 4.2 4.7 8.4 8.3 12.2 10.9l-5.4 21.2c-4.6.4-10 1.6-16 3.7-10.9 3.8-23.4 10.4-35.4 19.1-21.6 15.6-41.4 37.9-50.4 62.6l167.5 42.9c3.9-26-2.8-55.2-14.2-79.2-6.4-13.4-14.2-25.2-21.9-33.8-4.2-4.7-8.4-8.3-12.2-10.9l5.4-21.2c4.5-.5 10-1.6 16-3.7 10.9-3.8 23.4-10.4 35.4-19.1 21.6-15.6 41.4-37.9 50.4-62.6l-167.5-42.9zM43.24 160.9c-5.33 12-9.7 24.4-13 37.3l17.48 4.2c3.03-11.8 7.04-23.2 11.95-34.2l-16.43-7.3zM26.2 217.5C24.11 230 23 242.9 23 256v.9l18-.2v-.7c0-12.1 1.02-24 2.95-35.6l-17.75-2.9zM113.5 361l-4.4 17.4 217 55.5 4.4-17.4-217-55.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DutchBike;

impl IconShape for DutchBike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.695 89.836c-7.041 5.311-30.985 16.92-61.937 18.803l1.094 17.965c18.246-1.11 33.904-4.842 46.37-9.4l11.755 28.087c-5.284 27.528-17.35 66.21-33.762 97.492-8.143 11.525-28.555 46.051-40.477 54.319 10.815.008 19.976 5.61 25.61 13.087a38.883 38.883 0 0 1 2.359 3.536l78.668-91.022 7.658 18.3c-30.986 15.903-52.25 48.19-52.25 85.325 0 52.824 43.024 95.836 95.858 95.836 52.833 0 95.859-43.012 95.859-95.836 0-52.823-43.026-95.836-95.86-95.836a95.52 95.52 0 0 0-26.884 3.846l-38.057-90.934 11.045-1.045c1.75-3.507 5.703-11.74-3.119-18.713l-15.885.74-6.088-14.544c3.502-1.924 6.495-3.837 8.881-5.637zm-153.617 66.543c-7.176-.031-13.677.695-18.119 2.69-6.603 2.964-4.67 21.155 5.441 27.327 7.192.44 13.733-.15 21.026-1.314l4.678 11.367H60.072v17.998H73.31l4.16 14.557C42.879 243.488 18.5 277.686 18.5 317.447c0 52.824 43.026 95.838 95.86 95.838 35.996 0 67.433-19.97 83.818-49.402l-19.278-2.797c-13.976 20.659-37.63 34.2-64.54 34.2-43.11 0-77.862-34.745-77.862-77.839 0-31.71 18.83-58.88 45.947-71.031l15.215 53.24c2.9-1.577 6.224-2.554 9.791-2.554h8.197l-16.03-56.09a78.697 78.697 0 0 1 14.741-1.403c13.051 0 25.325 3.202 36.112 8.838l-31.692 48.655h21.479l25.094-38.522c11.54 9.993 20.096 23.327 24.185 38.522h18.494c-4.652-21.406-16.477-40.176-32.83-53.643l12.408-19.049 29.916 72.692h19.809l-47.83-115.383c5.566-1.076 11.77-2.239 18.976-3.399 15.623-2.514 10.974-10.972-.351-15.304-3.976-1.521-26.712-6.557-45.05-6.637zm162.772 17.28l12.763 30.5-45.564 52.718c1.05-1.89 2.088-3.798 3.103-5.732 12.935-24.655 23.022-52.67 29.698-77.487zM92.025 214.446h80.592l-12.32 18.916c-13.65-7.487-29.308-11.752-45.938-11.752-6.751 0-13.34.706-19.703 2.041zm305.616 34.043c43.109 0 77.86 34.744 77.86 77.838.001 43.094-34.751 77.838-77.86 77.838-43.11 0-77.86-34.744-77.86-77.838 0-29.828 16.656-55.646 41.201-68.72l28.358 67.755 16.603-6.949-28.195-67.367a78.382 78.382 0 0 1 19.893-2.557zM107.45 315.1c-.958 0-1.593.253-2.71 1.636-1.118 1.384-2.159 3.885-2.38 6.399-.22 2.514.327 4.86 1.303 6.386.972 1.52 2.157 2.632 5.404 3.245L231.273 350.5l.14.025c10.011 1.771 15.404-.189 18.696-2.888 3.293-2.7 5.112-6.94 5.287-12.06.176-5.121-1.548-10.74-4.423-14.557-2.876-3.817-6.29-5.92-11.258-5.92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DwarfFace;

impl IconShape for DwarfFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M127.4 14.4c-74.28 104.4-5.3 124.5 37.5 148.1 7.4-16.1 15.9-30.7 27.3-44.4-52-22.1-61.4-70.2-64.8-103.7zm257.2 0c-3.4 33.5-12.8 81.6-64.8 103.7 11.4 13.7 19.9 28.3 27.3 44.4 42.9-23.6 111.7-43.7 37.5-148.1zM256 89.5c-45.3 27.6-62.3 54.4-78.4 94.8 47.9 11.7 108.8 11.7 156.8 0-16.1-40.4-33.1-67.2-78.4-94.8zM148.8 196.1c-5.3 10.3-24.6 74.7-24.8 91.8 4.7-4.9 9.5-9.9 14.2-14.9l6.6 5.8c1.1-25.6 12.6-52.8 25.1-77.5-6.5-1.6-14.5-3.3-21.1-5.2zm214.4 0c-6.2 1.7-15.3 3.9-21.1 5.2 12.4 24.7 24 51.9 25 77.5l6.7-5.8 14.2 14.9c10.5-12.4-19.5-81.5-24.8-91.8zm-173.6 8.8l-7.9 23.8c22.8 6.5 43.6 12.6 69 20l-6.5 17c-5.6-1.6-11.4-3.2-17.1-4.9-2.9 5.8-9.5 9.6-16.7 9.6-10.2 0-18.3-7.2-18.3-16 0-1.3.1-2.5.4-3.7l-16.6-4.7-13.9 41.7 36.1 34.3 14.6-27h86.5l14.7 27 36.1-34.3-13.9-41.7c-5.4 1.5-10.8 3-16.1 4.6.4 1.2.5 2.5.5 3.8 0 8.8-8.1 16-18.4 16-7.3 0-13.9-3.9-16.8-9.7-5.9 1.7-11.7 3.3-17.5 5l-6.6-17c23.2-6.8 44.4-12.9 69.1-20l-8-23.8c-47.7 11.1-84.9 11.1-132.7 0zm-43.2 94.8l-70.42 73.7h47.42l-18.4 48h57.5L147.8 447l37.5-10.9 70.7 61.5 70.7-61.5 37.4 10.9-14.7-25.6h57.5l-18.3-48H436l-70.5-73.7-57.4 49.9-21.9-38.2h-60.7l-21.9 38.2zm91.2 25.7h36.8v18h-36.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dwennimmen;

impl IconShape for Dwennimmen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M148.595 25.125c-35.582-.093-62.553 9.909-80.52 26.615-18.548 17.245-26.965 41.05-27.073 65.65-.195 44.171 17.47 69.536 38.306 81.93 20.835 12.395 43.478 12.494 53.197 12.424 49.287-.355 83.718-38.835 84.804-75.272.48-16.103-5.29-33.649-16.957-47.793-11.667-14.144-29.912-24.69-52.666-24.55-38.619.239-64.006 29.365-64.632 58.966-.382 18.094 7.232 32.007 18.146 40.178 10.914 8.172 24.241 11.033 36.149 10.944 23.287-.173 39.02-16.675 38.891-34.023-.064-8.675-4.114-17.52-11.86-23.602-7.744-6.082-18.739-9.283-32.137-8.792l.721 18.416c9.944-.364 15.962 1.973 19.417 4.685 3.454 2.713 4.79 5.92 4.817 9.423.051 7.004-5.221 15.355-19.996 15.465-8.49.063-17.844-2.222-24.347-7.091s-11.042-11.893-10.76-25.225c.419-19.825 16.76-40.736 45.712-40.915 16.804-.103 28.99 7.107 37.66 17.617 8.67 10.51 13.141 24.517 12.806 35.765-.75 25.132-27.042 57.096-65.91 57.376-9.073.065-27.568-.465-43.082-9.695-15.515-9.229-29.41-26.484-29.235-66.153.091-20.652 6.881-39.106 21.223-52.44 14.342-13.335 36.774-22.135 70.388-21.438 43.062.891 63.104 17.87 74.391 39.452 11.288 21.581 12.375 48.778 11.263 67.186-1.154 19.09-8.812 33.688-20.921 45.753-12.11 12.065-28.898 21.352-47.62 28.04C131.326 237.4 86.295 240.17 59.492 237.76c-2.7 13.7-1.313 22.801 0 36.482 26.803-2.41 71.834.36 109.278 13.737 18.722 6.689 35.51 15.976 47.62 28.04 12.11 12.066 19.767 26.664 20.92 45.754 1.113 18.408.026 45.605-11.262 67.186-11.287 21.581-31.33 38.56-74.39 39.452-33.615.697-56.047-8.103-70.389-21.438-14.342-13.334-21.132-31.788-21.223-52.44-.174-39.67 13.72-56.924 29.235-66.153 15.514-9.23 34.01-9.76 43.082-9.695 38.868.28 65.16 32.244 65.91 57.376.335 11.248-4.137 25.255-12.806 35.765-8.67 10.51-20.856 17.72-37.66 17.617-28.952-.179-45.293-21.09-45.712-40.915-.282-13.332 4.257-20.356 10.76-25.225s15.858-7.154 24.347-7.09c14.775.11 20.047 8.46 19.996 15.464-.026 3.503-1.363 6.71-4.817 9.423-3.455 2.712-9.473 5.049-19.417 4.685l-.721 18.416c13.398.49 24.393-2.71 32.138-8.792 7.745-6.082 11.795-14.927 11.86-23.602.127-17.348-15.605-33.85-38.892-34.023-11.908-.089-25.235 2.772-36.149 10.944-10.914 8.171-18.528 22.084-18.146 40.178.626 29.601 26.013 58.727 64.632 58.965 22.754.14 41-10.405 52.666-24.55 11.666-14.143 17.437-31.69 16.957-47.792-1.086-36.437-35.517-74.917-84.804-75.272-9.719-.07-32.362.029-53.197 12.423-20.835 12.395-38.5 37.76-38.306 81.931.108 24.6 8.525 48.405 27.073 65.65 18.547 17.245 46.687 27.347 83.99 26.575 48.5-1.004 77.096-23.017 90.976-49.555 8.011-15.317 11.587-31.794 12.959-46.843 1.372 15.049 4.948 31.526 12.959 46.843 13.88 26.538 42.476 48.55 90.977 49.555 37.302.772 65.442-9.33 83.99-26.575 18.547-17.245 26.964-41.05 27.072-65.65.195-44.171-17.47-69.536-38.306-81.93-20.835-12.395-43.478-12.494-53.197-12.424-49.287.355-83.718 38.835-84.804 75.272-.48 16.103 5.29 33.649 16.957 47.793 11.667 14.144 29.912 24.69 52.666 24.55 38.619-.239 64.006-29.365 64.632-58.966.382-18.094-7.232-32.007-18.146-40.178-10.914-8.172-24.241-11.033-36.15-10.944-23.286.173-39.018 16.675-38.89 34.023.064 8.675 4.114 17.52 11.86 23.602 7.744 6.082 18.739 9.283 32.137 8.792l-.721-18.416c-9.944.364-15.962-1.973-19.417-4.685-3.454-2.713-4.79-5.92-4.817-9.423-.051-7.004 5.221-15.355 19.996-15.465 8.49-.063 17.844 2.222 24.347 7.091s11.042 11.893 10.76 25.225c-.419 19.825-16.76 40.736-45.713 40.915-16.803.103-28.99-7.107-37.659-17.617-8.67-10.51-13.141-24.517-12.806-35.765.75-25.132 27.042-57.096 65.91-57.376 9.073-.065 27.568.465 43.082 9.695 15.515 9.229 29.41 26.484 29.235 66.153-.091 20.652-6.881 39.106-21.223 52.44-14.342 13.335-36.774 22.135-70.388 21.438-43.062-.891-63.104-17.87-74.391-39.452-11.288-21.581-12.375-48.778-11.263-67.186 1.154-19.09 8.812-33.688 20.921-45.753 12.11-12.065 28.898-21.352 47.62-28.04 37.444-13.379 82.475-16.149 109.278-13.738 2.7-13.7 1.313-22.802 0-36.482-26.803 2.41-71.834-.36-109.278-13.737-18.722-6.689-35.51-15.976-47.62-28.04-12.11-12.066-19.767-26.664-20.92-45.754-1.113-18.408-.026-45.605 11.262-67.186 11.287-21.581 31.33-38.56 74.39-39.452 33.615-.697 56.047 8.103 70.389 21.438 14.342 13.334 21.132 31.788 21.223 52.44.174 39.67-13.72 56.924-29.235 66.153-15.514 9.23-34.01 9.76-43.082 9.695-38.868-.28-65.16-32.244-65.91-57.376-.335-11.248 4.137-25.255 12.806-35.765 8.67-10.51 20.856-17.72 37.66-17.617 28.952.179 45.293 21.09 45.712 40.915.282 13.332-4.257 20.356-10.76 25.225s-15.858 7.154-24.347 7.09c-14.775-.11-20.047-8.46-19.996-15.464.026-3.503 1.363-6.71 4.817-9.423 3.455-2.712 9.473-5.049 19.417-4.685l.721-18.416c-13.398-.49-24.393 2.71-32.138 8.792-7.745 6.082-11.795 14.927-11.86 23.602-.127 17.348 15.605 33.85 38.892 34.023 11.908.089 25.235-2.772 36.149-10.944 10.914-8.171 18.528-22.084 18.146-40.178-.626-29.601-26.013-58.727-64.632-58.965-22.754-.14-41 10.405-52.666 24.55-11.666 14.143-17.437 31.69-16.957 47.792 1.086 36.437 35.517 74.917 84.804 75.272 9.719.07 32.362-.029 53.197-12.423 20.835-12.395 38.5-37.76 38.306-81.931-.108-24.6-8.525-48.405-27.073-65.65-18.547-17.245-46.687-27.347-83.99-26.575-48.5 1.004-77.096 23.017-90.976 49.555-8.011 15.317-11.587 31.794-12.959 46.843-1.372-15.049-4.948-31.526-12.959-46.843-13.88-26.538-42.476-48.55-90.977-49.555a191.82 191.82 0 0 0-3.47-.04zM256 223.238A67.714 32.762 0 0 1 323.714 256 67.714 32.762 0 0 1 256 288.762 67.714 32.762 0 0 1 188.286 256 67.714 32.762 0 0 1 256 223.238z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dynamite;

impl IconShape for Dynamite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M280 67.77c-2.8 2.78-4.1 9.46-.7 20.04 3.4 10.59 11.3 23.59 22.8 35.39 11.5 11.7 24.3 19.9 34.9 23.5 10.5 3.7 17.2 2.4 20-.3 2.8-2.8 4.2-9.5.8-20.1-3.4-10.6-11.3-23.6-22.8-35.32-11.6-11.76-24.4-19.94-34.9-23.57-6.2-1.5-15-4.44-20.1.36zm89.1-1.84c-4 0-6.9 1.05-8.5 2.62-2.8 2.78-4.1 9.45-.7 20.04 3.4 10.58 11.3 23.61 22.8 35.31 11.5 11.8 24.3 20 34.9 23.6 10.5 3.6 17.2 2.4 20-.4 2.8-2.7 4.2-9.4.8-20-3.4-10.6-11.3-23.6-22.8-35.35-11.6-11.76-24.4-19.94-34.9-23.56-4.6-1.59-8.5-2.25-11.6-2.26zM260.4 86.97l-31.2 30.63c5.8 17.4 13.4 32.7 24.2 44.8 12.8 14.5 29.9 24.9 55.1 29.7l1.5.3 27.4-26.8c-2.1-.5-4.2-1.1-6.3-1.9-14-4.8-28.7-14.4-41.9-27.9-13.2-13.5-22.5-28.4-27.1-42.48-.7-2.18-1.2-4.44-1.7-6.35zm-58.3 57.13L81.3 262.4c5.7 16.5 13.2 31.1 23.5 42.7 12.8 14.5 29.9 24.9 55.1 29.7l4 .7 118-115.6c-37-11.4-63-38.6-79.8-75.8zm180 13.8c-4 0-6.9 1-8.5 2.6-2.8 2.8-4.1 9.5-.7 20 3.4 10.6 11.3 23.6 22.8 35.4 11.5 11.8 24.3 19.9 34.9 23.6 10.5 3.6 17.2 2.4 20-.4.7-.7 1.3-1.6 1.8-2.8 13.2 11.3 24.3 26.2 25.3 35.8 1.3 11.7-3.5 21.7-12.8 32.4-9.4 10.7-23.2 21.2-37.4 32-14.1 10.7-28.5 21.6-39.3 34.4-10.7 12.9-17.9 28.7-14.7 46.4 2.9 15.6 11.3 31.8 25.1 42.9 13.7 11.2 33.4 16.8 55.1 9.7l8.6-2.8-5.6-17.1-8.6 2.8c-16.3 5.3-28.4 1.5-38.2-6.5-9.8-8-16.6-20.9-18.6-32.2-2.1-11.6 1.9-21.1 10.7-31.6 8.9-10.5 22.4-21 36.4-31.7 14.1-10.7 28.8-21.7 40-34.5 11.2-12.7 19.2-28.3 17.2-46.1-2.2-20.4-18.9-37.8-35.6-51-4-3.2-8.1-6.1-12.1-8.6-4.2-8.6-10.7-18.1-19.3-26.9-11.6-11.8-24.4-19.9-34.9-23.6-4.6-1.5-8.5-2.2-11.6-2.2zM354 179.7l-27.3 26.8.2 1.5c4.2 25.3 14.3 42.7 28.5 55.8 11.9 11 27.1 19 44.3 25.1l31.3-30.6c-2.1-.5-4.2-1.1-6.3-1.8-14-4.8-28.7-14.5-41.9-28s-22.5-28.4-27.1-42.4c-.7-2.2-1.2-4.3-1.7-6.4zM298.6 234L180.5 349.6l.7 4c4.1 25.3 14.2 42.6 28.5 55.7 11.4 10.6 25.7 18.4 42.2 24.4l120-117.5c-36.8-17.8-63.1-44.6-73.3-82.2zM55.68 287.5c-11.64 9-23.69 22.4-34.25 33.5-2.84 2.8-4.19 9.5-.79 20.1 3.41 10.6 11.32 23.6 22.83 35.3 11.52 11.8 24.36 20 34.87 23.6 10.51 3.6 17.21 2.4 20.04-.4 12.72-12.3 25.72-25.1 36.62-35.8-36.88-11.6-62.65-38.9-79.32-76.3zm95.12 91.2c-12.2 11.4-20.2 19.3-35.8 35.1-2.8 2.8-4.2 9.4-.8 20 3.4 10.6 11.3 23.6 22.8 35.4 11.6 11.7 24.4 19.9 34.9 23.5 10.5 3.7 17.2 2.5 20.1-.3 11.3-10.6 21.6-21.2 32.4-31.8-36.8-17.8-63.2-44.5-73.6-81.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EagleHead;

impl IconShape for EagleHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.9 20.46c6.7 19.75 19.7 41.39 4 50.44-38.6 22.04-81.4 41.5-106.2 90.7C103.3 235.7 91.69 412 29.81 451c48.6 3.8 89.69-16.3 108.89-44.2 7.1 34.3 32.6 67 63 84.7-5.2-29-1.8-59.4 19-92.5 16.5 22.9 31.1 59.3 73.8 75.3-16.4-27.5-13.7-52.8-10.7-84.2 8.8 26.9 38.5 50 72.9 58.9-16.8-18.6-23.9-45.5-21-66 14.6 24.9 43.4 38.4 67.1 39.7-153.3-179.6-48.7-291.6 79.4-194.4-.5-49.7-31.4-66.7-67.2-95.7-.9-15.4-9.6-29.3-17.5-43.36-53.7-9.99-121.5-42.01-154.6-68.78zm81.2 74.88c26.1 10.86 46.2 22.56 56.4 35.46-16.6-3.6-39.8-3.5-70-1.1 15-9.7 16.5-21.7 13.6-34.36z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Earrings;

impl IconShape for Earrings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.6 38.64c-20.5 0-36.1 13.09-46.4 26.64-12.3 16.31-17.6 30.96-33.6 39.32 20.5 0 34.4-14.56 46.4-26.6 12-12 22.1-21.36 33.6-21.36 5 0 11.1 2.78 15.6 7.36 4.6 4.59 7.4 10.64 7.4 15.64 0 1-1 4.22-3.6 8.2-2.5 4-6.4 8.7-10.4 13.56-4 4.9-8.1 9.9-11.6 15.2-3.4 5.3-6.4 11-6.4 18v61.8l.9-1.8 8.1-16.1 9 18v-61.9c0-1 1-4.2 3.6-8.2 2.5-4 6.4-8.7 10.4-13.6s8.1-9.9 11.6-15.16c3.4-5.3 6.4-11 6.4-18 0-11-5.2-20.95-12.6-28.36-7.5-7.42-17.4-12.64-28.4-12.64zm192 0c-20.5 0-36.1 13.09-46.4 26.64-12.3 16.31-17.6 30.96-33.6 39.32C297.1 104.6 311 90 323 78c12-12 22.1-21.36 33.6-21.36 5 0 11.1 2.78 15.6 7.36 4.6 4.59 7.4 10.64 7.4 15.64 0 1-1 4.22-3.6 8.22-2.5 3.98-6.4 8.68-10.4 13.54-4 4.9-8.1 9.9-11.6 15.2-3.4 5.3-6.4 11-6.4 18v61.8l.9-1.8 8.1-16.1 9 18v-61.9c0-1 1-4.2 3.6-8.2 2.5-4 6.4-8.7 10.4-13.6s8.1-9.9 11.6-15.16c3.4-5.3 6.4-11 6.4-18 0-11-5.2-20.95-12.6-28.36-7.5-7.42-17.4-12.64-28.4-12.64zm-192 180.06L93.8 360.3c.5 5.8 3.8 17.5 9.4 30.8 6 14.6 14.4 31.4 23.2 47.1 8.9 15.7 18.3 30.5 26.1 41 4 5.3 7.6 9.5 10.3 12 .8.8 1.3 1 1.9 1.3.6-.3 1-.5 1.8-1.2 2.6-2.4 6.2-6.4 10-11.4 7.8-10.1 17-24.3 25.8-39.7 8.7-15.4 17.1-31.9 23.2-46.7 5.6-13.7 9.1-25.9 9.9-33.3l-70.8-141.5zm192 0l-70.8 141.6c.5 5.8 3.8 17.5 9.4 30.8 6 14.6 14.4 31.4 23.2 47.1 8.9 15.7 18.3 30.5 26.1 41 4 5.3 7.6 9.5 10.3 12 .8.8 1.3 1 1.9 1.3.6-.3 1-.5 1.8-1.2 2.6-2.4 6.2-6.4 10-11.4 7.8-10.1 17-24.3 25.8-39.7 8.7-15.4 17.1-31.9 23.2-46.7 5.6-13.7 9.1-25.9 9.9-33.3l-70.8-141.5zm-192 72.9c9.3 0 15.6 6.9 19.4 14.3 3.7 7.5 5.6 16.6 5.6 26.7 0 10.1-1.9 19.2-5.6 26.7-.4.8-.9 1.7-1.4 2.5 13.6 6.7 23 20.7 23 36.8 0 22.5-18.5 41-41 41s-41-18.5-41-41c0-16.1 9.4-30.1 23-36.8-.5-.8-1-1.7-1.4-2.5-3.7-7.5-5.6-16.6-5.6-26.7 0-10.1 1.9-19.2 5.6-26.7 3.8-7.4 10.1-14.3 19.4-14.3zm192 0c9.3 0 15.6 6.9 19.4 14.3 3.7 7.5 5.6 16.6 5.6 26.7 0 10.1-1.9 19.2-5.6 26.7-.4.8-.9 1.7-1.4 2.5 13.6 6.7 23 20.7 23 36.8 0 22.5-18.5 41-41 41s-41-18.5-41-41c0-16.1 9.4-30.1 23-36.8-.5-.8-1-1.7-1.4-2.5-3.7-7.5-5.6-16.6-5.6-26.7 0-10.1 1.9-19.2 5.6-26.7 3.8-7.4 10.1-14.3 19.4-14.3zm-192 18c-.1 0-.1 0 0 .1.1-.1.1-.1 0-.1zm0 .1c-.3.1-1.6.9-3.3 4.3-2 4.2-3.7 11-3.7 18.6 0 7.6 1.7 14.4 3.7 18.6 1.7 3.4 3 4.2 3.3 4.3.3-.1 1.6-.9 3.3-4.3 2-4.2 3.7-11 3.7-18.6 0-7.6-1.7-14.4-3.7-18.6-1.7-3.4-3-4.2-3.3-4.3zm0 45.8c-.1.1-.1.1 0 .1s.1 0 0-.1zm192-45.9c-.1 0-.1 0 0 .1.1-.1.1-.1 0-.1zm0 .1c-.3.1-1.6.9-3.3 4.3-2 4.2-3.7 11-3.7 18.6 0 7.6 1.7 14.4 3.7 18.6 1.7 3.4 3 4.2 3.3 4.3.3-.1 1.6-.9 3.3-4.3 2-4.2 3.7-11 3.7-18.6 0-7.6-1.7-14.4-3.7-18.6-1.7-3.4-3-4.2-3.3-4.3zm0 45.8c-.1.1-.1.1 0 .1s.1 0 0-.1zm-192 20.1c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm192 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EarthAfricaEurope;

impl IconShape for EarthAfricaEurope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32A224 224 0 0 0 32 256a224 224 0 0 0 224 224 224 224 0 0 0 223.672-217.45c-15.468 4.148-.306.22-16.467 4.51-9.1-2.965-28.42 10.264-29.197 10.264-1.756 0-14.65-49.66-14.65-49.66L381.08 208H368l-1.316 6.32 30.2 28.444-47.76 20.718-35.466-49.162-5.24 2.328 11.21 36.3 42.84 23.177-42.84 50.568 1.403 35.82-31.276 67.182-52.168-6.716-16-88.843-3.094-33.43-71.517-3.838-9.258-60.77 32.314-35.827 54.782-6.32 40.034 21.772 36.93-9.72c-1.112-18.374.05-12.54-1.112-18.374l-19.666-.7-1.053-10.184-5.97-2.107-2.81 12.64-9.48-.526-11.94-26.514-8.43 2.81 10.185 22.475-9.13 3.16-13.694-20.718-8.428-1.406-21.773 2.81-18.26 23.177-18.613 1.406-1.405-34.064 24.23-1.757 2.108-10.184-5.795-5.618-.174-3.69 16.182-7.94 11.56-2.944 19.665-6.848 6.32-7.375 3.512 7.375 22.474 2.81 8.78-9.13 5.97-24.582-6.673-2.81-11.238 16.857-8.43-9.834-11.586 14.75-14.4 2.458-.7-10.184 11.236-23.88 31.606-13.694 43.894-3.16 3.864 13.344s-4.916 13.344-5.97 13.695c-.138.045.428 1.754 1.464 4.565h31.195l14.047-11.59 29.484-9.138A224 224 0 0 0 256 32zM145.098 69.465l6.144 1.053s1.756 8.076.352 10.007c-1.405 1.932-10.885 7.903-10.885 7.903l-6.148-12.115 10.536-6.848zm41.086 11.588l8.252 19.49 3.337 16.68s-11.588 5.793-12.466 6.496c-.878.7-6.147-8.077-6.147-8.077l-1.93-17.91 2.81-15.1 6.144-1.58zm-12.116 22.474v16.155l-10.007 3.86-2.107-7.724 12.115-12.29zm189.104 238.618l-7.365 61.798-16.164 3.166s4.868-50.492 7.326-53.3l16.202-11.665z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EarthAmerica;

impl IconShape for EarthAmerica {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32c-37.764.086-74.894 9.72-107.938 28.002l27.52 19.36 40.033-13.694 24.582 5.62 8.78 49.864 15.1-11.588 41.087-14.046 18.26 27.742-35.82 18.963-22.473 16.152-2.458 22.475-24.932 21.07-7.023 34.064-14.047 1.053 7.023-38.63-53.027-2.807-12.64 18.61-.1-.01v26.644l25.824 1.986 23.838 16.885-1.986 25.328 33.77 5.96-.36.76 53.004-30.558 90.88 59.098-20.51 48.548-32.685 20.156-61.143 77.965-13.498-3.845L262.216 365l-42.213-42.213 7.853-13.86-25.732-9.482-25.326-30.79-21.853-4.967L116.422 208H112l-5.117 26.746-3.64-39.146 5.267-29.147-.7-23.178L97.247 98.2C55.516 140.12 32.06 196.847 32 256c0 123.712 100.288 224 224 224 82.413-.028 158.155-45.308 197.195-117.887L442.82 298.14l-5.62-36.17-34.06-27.392 6.67-37.926 15.803-20.367 37.555-5.05C428.766 87.086 346.913 32.072 256 32zm89.047 48H368v48l-32 16v-23.836zm-122.76 166.518l29.85 4.918-4.213 6.32-24.23-4.916z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EarthAsiaOceania;

impl IconShape for EarthAsiaOceania {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32A224 224 0 0 0 99.596 95.68l11.12-2.66 38.24-13.41 44.198-8.44 17.383 17.38 27.81-15.892 32.778.498 5.96 7.946 48.17-10.43 73.005 22.35-33.77 13.904 8.442 34.763-16.885 10.925-10.43-52.144-22.844 1.987-3.476 25.824-23.838 9.933 2.48 33.77-14.897 2.484-10.926-19.37-5.463 15.397 12.416 22.844-39.73 40.725-3.973 12.414 6.457 17.878s-15.892 23.343-18.375 22.846c-2.484-.495-44.698-37.743-44.698-37.743l-26.32 15.395-20.86-31.288-18.375 1.49-24.83 69.032-17.88 4.967-38.454-52.088A224 224 0 0 0 256 480a224 224 0 0 0 224-224A224 224 0 0 0 256 32zm75.217 112.67l9.93 15.394-14.897 22.348-2.484 15.893-7.946-4.967h1.49l4.47-42.213 9.437-6.455zm-18.873 56.117l11.422 1.49-.993 11.422-29.796 5.462-.995-7.945 20.362-10.43zm-39.233 26.818l14.9 4.47-2.483 21.355-17.382-12.416 4.966-13.41zm-9.434 45.69l2.482 18.87H245.3l-.993-13.407 19.37-5.463zm39.728 3.476l33.772 8.94 16.885 20.858-45.193-11.918-11.918 4.965-19.866-21.85 26.32-.994zM198.12 289.685l27.316 8.443 33.77 17.38s-20.86 4.47-23.84 3.477c-2.98-.993-43.702-19.37-43.702-19.37l6.457-9.93zm116.21 10.43l10.43 24.83 22.347 13.906-4.966 34.763-25.326 23.342-26.322-21.355-27.314 8.94-19.367 13.903L230.9 369.64s8.442-26.82 10.428-27.812l19.37-5.96 8.443-19.366 7.448 12.912 25.326-6.457 12.416-22.844zm86.91 49.66l4.965 2.484-10.926 15.396-3.475-8.94 9.435-8.94zm-11.422 19.867s6.456 4.47 4.47 5.96c-1.987 1.49-27.81 19.367-27.81 19.367l-10.927-5.463 23.343-17.38 10.925-2.483zm-82.44 32.28l12.415.498-10.428 9.932-1.988-10.43z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EasterEgg;

impl IconShape for EasterEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24.998c-20.25 0-39.997 12.86-58.574 35.248-10.389 12.52-20.203 27.836-29.248 44.756h175.644c-9.045-16.92-18.86-32.236-29.248-44.756C295.997 37.858 276.25 24.998 256 24.998zm-62.414 98c11.206 5.37 19.633 15.693 22.414 28.08 2.781-12.387 11.208-22.71 22.414-28.08h-44.828zm80 0c11.206 5.37 19.633 15.693 22.414 28.08 2.781-12.387 11.208-22.71 22.414-28.08h-44.828zm-97.586 14c-12.81 0-23.002 10.192-23.002 23.002 0 12.81 10.192 23.002 23.002 23.002 12.81 0 23.002-10.192 23.002-23.002 0-12.81-10.192-23.002-23.002-23.002zm80 0c-12.81 0-23.002 10.192-23.002 23.002 0 12.81 10.192 23.002 23.002 23.002 12.81 0 23.002-10.192 23.002-23.002 0-12.81-10.192-23.002-23.002-23.002zm80 0c-12.81 0-23.002 10.192-23.002 23.002 0 12.81 10.192 23.002 23.002 23.002 12.81 0 23.002-10.192 23.002-23.002 0-12.81-10.192-23.002-23.002-23.002zm-120 31.924c-2.781 12.387-11.208 22.71-22.414 28.08h44.828c-11.206-5.37-19.633-15.693-22.414-28.08zm80 0c-2.781 12.387-11.208 22.71-22.414 28.08h44.828c-11.206-5.37-19.633-15.693-22.414-28.08zm-158.17 5.976a677.419 677.419 0 0 0-7.406 22.104h27.99c-9.349-4.48-16.765-12.408-20.584-22.104zm236.34 0c-3.819 9.696-11.235 17.623-20.584 22.104h27.99a677.419 677.419 0 0 0-7.406-22.104zm-249.184 40.1a716.98 716.98 0 0 0-9.31 35.727c3.57-2.272 7.676-3.723 12.324-3.723 4.994 0 9.963 2.017 13.342 5.129 3.379 3.112 5.357 6.888 6.79 10.703 2.868 7.63 3.777 16.03 4.796 24.03 1.018 8 2.145 15.6 3.787 19.97.82 2.185 1.716 3.41 2.137 3.797.42.388.179.371 1.148.371.97 0 .727.017 1.148-.371.421-.388 1.316-1.612 2.137-3.797 1.642-4.37 2.769-11.97 3.787-19.97 1.019-8 1.928-16.4 4.795-24.03 1.434-3.815 3.412-7.59 6.791-10.703 3.379-3.112 8.348-5.13 13.342-5.13s9.963 2.018 13.342 5.13c3.379 3.112 5.357 6.888 6.79 10.703 2.868 7.63 3.777 16.03 4.796 24.03 1.018 8 2.145 15.6 3.787 19.97.82 2.185 1.716 3.41 2.137 3.797.42.388.179.371 1.148.371.97 0 .727.017 1.148-.371.421-.388 1.316-1.612 2.137-3.797 1.642-4.37 2.769-11.97 3.787-19.97 1.019-8 1.928-16.4 4.795-24.03 1.434-3.815 3.412-7.59 6.791-10.703 3.379-3.112 8.348-5.13 13.342-5.13s9.963 2.018 13.342 5.13c3.379 3.112 5.357 6.888 6.79 10.703 2.868 7.63 3.777 16.03 4.796 24.03 1.018 8 2.145 15.6 3.787 19.97.82 2.185 1.716 3.41 2.137 3.797.42.388.179.371 1.148.371.97 0 .727.017 1.148-.371.421-.388 1.316-1.612 2.137-3.797 1.642-4.37 2.769-11.97 3.787-19.97 1.019-8 1.928-16.4 4.795-24.03 1.434-3.815 3.412-7.59 6.791-10.703 3.379-3.112 8.348-5.13 13.342-5.13s9.963 2.018 13.342 5.13c3.379 3.112 5.357 6.888 6.79 10.703 2.868 7.63 3.777 16.03 4.796 24.03 1.018 8 2.145 15.6 3.787 19.97.82 2.185 1.716 3.41 2.137 3.797.42.388.179.371 1.148.371.97 0 .727.017 1.148-.371.421-.388 1.316-1.612 2.137-3.797 1.642-4.37 2.769-11.97 3.787-19.97 1.019-8 1.928-16.4 4.795-24.03 1.434-3.815 3.412-7.59 6.791-10.703 3.379-3.112 8.348-5.13 13.342-5.13 4.648 0 8.753 1.452 12.324 3.724a716.98 716.98 0 0 0-9.31-35.727H124.986zm3.014 50c-1.938 0-4.385 1.347-7.643 6.094s-6.357 12.087-8.714 19.601c-4.485 14.3-6.454 28.54-6.641 29.93.034 20.316 1.718 38.365 4.86 54.379h292.277c3.14-16.014 4.825-34.063 4.859-54.379-.187-1.39-2.156-15.63-6.64-29.93-2.358-7.514-5.457-14.854-8.715-19.601s-5.705-6.094-7.643-6.094c-.97 0-.727-.017-1.148.371-.421.388-1.316 1.612-2.137 3.797-1.642 4.37-2.769 11.97-3.787 19.97-1.019 8-1.928 16.4-4.795 24.03-1.434 3.815-3.412 7.59-6.791 10.703-3.379 3.112-8.348 5.129-13.342 5.129s-9.963-2.017-13.342-5.129c-3.379-3.112-5.357-6.888-6.79-10.703-2.868-7.63-3.777-16.03-4.796-24.03-1.018-8-2.145-15.6-3.787-19.97-.82-2.185-1.716-3.41-2.137-3.797-.42-.388-.179-.371-1.148-.371-.97 0-.727-.017-1.148.371-.421.388-1.316 1.612-2.137 3.797-1.642 4.37-2.769 11.97-3.787 19.97-1.019 8-1.928 16.4-4.795 24.03-1.434 3.815-3.412 7.59-6.791 10.703-3.379 3.112-8.348 5.129-13.342 5.129s-9.963-2.017-13.342-5.129c-3.379-3.112-5.357-6.888-6.79-10.703-2.868-7.63-3.777-16.03-4.796-24.03-1.018-8-2.145-15.6-3.787-19.97-.82-2.185-1.716-3.41-2.137-3.797-.42-.388-.179-.371-1.148-.371-.97 0-.727-.017-1.148.371-.421.388-1.316 1.612-2.137 3.797-1.642 4.37-2.769 11.97-3.787 19.97-1.019 8-1.928 16.4-4.795 24.03-1.434 3.815-3.412 7.59-6.791 10.703-3.379 3.112-8.348 5.129-13.342 5.129s-9.963-2.017-13.342-5.129c-3.379-3.112-5.357-6.888-6.79-10.703-2.868-7.63-3.777-16.03-4.796-24.03-1.018-8-2.145-15.6-3.787-19.97-.82-2.185-1.716-3.41-2.137-3.797-.42-.388-.179-.371-1.148-.371-.97 0-.727-.017-1.148.371-.421.388-1.316 1.612-2.137 3.797-1.642 4.37-2.769 11.97-3.787 19.97-1.019 8-1.928 16.4-4.795 24.03-1.434 3.815-3.412 7.59-6.791 10.703-3.379 3.112-8.348 5.129-13.342 5.129s-9.963-2.017-13.342-5.129c-3.379-3.112-5.357-6.888-6.79-10.703-2.868-7.63-3.777-16.03-4.796-24.03-1.018-8-2.145-15.6-3.787-19.97-.82-2.185-1.716-3.41-2.137-3.797-.42-.388-.179-.371-1.148-.371zm-13.752 128c4.453 15.05 10.424 27.958 17.715 38.951l41.547-38.951h-59.262zm97.129 0L256 432.043l44.623-39.045h-89.246zm127.113 0l41.547 38.951c7.29-10.993 13.262-23.902 17.715-38.951H338.49zm-146.281 7.143l-41.453 38.861h85.867l-44.414-38.861zm127.582 0l-44.414 38.861h85.867l-41.453-38.861zm-165.277 56.857C179.83 477.7 214.174 487.002 256 487.002c41.827 0 76.17-9.302 101.486-30.004H154.514z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eating;

impl IconShape for Eating {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.618 70.504a88.18 88.18 0 0 0-12.686.95c-33.832 5.003-62.022 29.192-80.271 65.89-18.25 36.698-26.008 85.566-18.286 137.306 7.723 51.741 29.418 96.251 57.598 126.082 28.18 29.832 62.216 44.819 96.049 39.815 33.832-5.004 62.023-29.194 80.273-65.893 4.264-8.573 7.948-17.818 11.002-27.601-29.163.07-58.834-2.573-92.08-24.287 48.479-14.36 82.354-48.492 100.926-72.243-.456-8.287-.298-4.69-1.565-13.173-7.722-51.741-29.415-96.253-57.595-126.084-24.658-26.103-53.8-40.838-83.365-40.762zm342 120.432c-1.774-.05-3.796.302-6.05 1.144-61.083 22.839-94.235 69.736-123.236 107.965-20.787 2.903-39.96 3.415-74.875 31.642-7.837 6.337 55.494 52.937 95.13-26.869 9.846-19.825 21.522-41.774 105.06-84.914 16.706-8.627 16.388-28.62 3.97-28.968zm-229.961 6.834l13.13 12.31c-17.392 18.552-47.5 23.81-71.523 21.414l1.787-17.912c19.327 1.928 45.89-4.382 56.606-15.812zm95.683 67.12c-5.603-.104-12.685 6.982-19.012 7.532-10.729.932-22.902-8.439-32.173-2.96-6.089 3.6-3.494 14.436-8.485 19.446-6.841 6.868-23.232 2.649-26.611 11.735-2.378 6.394 8.78 18.488 8.78 18.488 14.428-14.452 33.354-34.107 78.66-32.62 0 0 7.594-15.785 2.456-20.23-1.108-.959-2.322-1.366-3.615-1.39zm-205.28 23.026l9.977 14.982c-13.398 9.818-24.506 21.8-16.61 37.338 5.734 8.493 14.467 18.545 25.628 18.659l.303 17.996c-18.143-1.22-34.222-14.025-41.89-28.329-11.537-27.086 2.768-47.184 22.593-60.646z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EatingPelican;

impl IconShape for EatingPelican {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M345.2 17.46c-.5 7.78-1.3 16.37-3.5 22.71 3.7 1.89 7 3.92 10.1 6.2a59.95 59.95 0 0 1 14.5-14.36c-8.2-4.39-14.8-8.89-21.1-14.55zm-8.8 38.12c-2.9 12.45-1.5 25.9 4.3 36.88 15.1 18.44 31.5 28.74 52.5 22.74l-1.3-10.5c4.7-.8 9.6-.4 13.6.9 1.4-5.4-.9-13.41-4.7-17.47-8 0-16.6 1.63-23.5 1.77-6.8 0-14.5-.84-21.1-5.41-6.7-4.57-11.4-12.75-12.6-23.52-2.4-2.6-4.1-3.68-7.2-5.39zm-37.5 21.26c-12.4 33.26-18.7 68.76-8.7 101.76 4.4-.8 8.8-1.7 13.2-2.8-5.6-17.4-6.9-34-6.6-52.4.2-13.8 1.3-28.95 2.1-46.56zm101.9 78.06c-34 16-68.9 32-106.3 39 2.9 12.2 1.8 21.2-.9 30.5 16.3 10 41.3 31.7 58.9 25.8 17.6-9.2 21-46 21.2-62.7 14.9-16 26.7-18.6 27.1-32.6zm-156.7 16.8c-13.9.3-26.3 7.6-34.3 20.5-14.1 12.3-12.5 32.1-7.6 51.7 4.8-10.5 10.1-17 17.1-19.2 11.5 14.1 28.7 26.3 41.2 20.2l83.9 78.4c-31.8 44.5-84.2 74-124.7 95.2-29 15.1-59.8 25.9-89.7 29.6 18.7 14.6 45.8 23.5 81 10.9 110.5-39.4 188.4-87 182.7-118.2-5.8-31.5-26.3-54.1-53.3-73.6-26.1-6-44.9-23.2-65.7-35.9 7.4-20.7 4-35.9-.8-49.3-7.8-8-19.6-10.3-29.8-10.3zm1.7 18.7l16 1.6c-1.8 16.2-4.6 23.8-19.1 30.3 6.6-14.7 6-18.2 3.1-31.9zm16.9 133.9c-33.9.7-63.5 11-90.9 25.8-39.2 21.1-73.1 51.7-105.75 76.4 41.95 15.1 96.15 3.9 146.25-22.2 48.7-25.4 86.8-50.5 105.6-73-19.3-4.5-37.6-7-55.2-7zm-9.3 134.3l-11.8 4.7c-4 10.6-9.3 21.4-14.4 30.8l108.4.4c-5.8-4.8-13.1-13.4-13.7-19.4-31.4-.5-48.2 1.8-75.7 7.3 2.4-7.9 4.9-16.6 7.2-23.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ecology;

impl IconShape for Ecology {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-71.69 0-130 58.31-130 130s58.31 130 130 130 130-58.31 130-130S327.69 23 256 23zm-8.33 31.127l-11.774 35.246 52.145-5.463-5.186-17.457 14.624 4.049v19.367l22.843 1.49-4.468-17.38 12.007-6.954C352.41 87.553 368 118.417 368 153c0 16.668-3.625 32.471-10.125 46.672l-26.13 4.422v31.478a112.138 112.138 0 0 1-16.099 12.29l-11.216-17.448-21.852 5.96 6.14 23.786A112.353 112.353 0 0 1 256 265c-31.013 0-59.037-12.535-79.297-32.826l19.96-2.752 13.41-26.322-42.712-21.354 30.295-25.826-26.32-21.85-26.893 8.963c3.112-35.448 22.653-66.103 50.994-84.318l5.696 45.556 46.537-50.144zm38.88 64.217l-36.17 23.176 31.606 28.093 22.827-6.672-2.108 27.391 41.79-10.535-15.804-35.818-25.283.351 22.475-19.314-39.332-6.672zm-37.573 40.383l-19.315 8.427 13.695 10.184 5.62-18.611zm-45.362 3.154l-13.408 15.89 37.147 26.108-23.739-41.998zm59.76 8.785l-13.695 25.637 33.01 22.474-11.59-16.506 14.398-17.207-22.123-14.398zM60.17 198.061c-8.818-.137-17.843 11.093-17.895 39.882-.078 44.153-4.356 56.616 16.077 106.551C73.335 381.112 80.054 409.257 128 432c5.68 20.022 3.413 24.73-.44 41.84-3.596 15.974 33.423 18.91 60.534 5.453 29.091-15.868 26.65-59.557 21.453-89.184-6.044-34.454-25.06-41.615-41.543-56.332-17.115-24.475-21.098-68.813-48.856-86.699-5.797-3.735-35.37-7.527 5.262 93.942-53.571-13.268-43.813-74.773-47.687-120.31-1.154-13.561-8.773-22.53-16.553-22.65zm391.66 0c-7.78.12-15.399 9.088-16.553 22.65-3.874 45.536 5.884 107.041-47.687 120.309 40.633-101.47 11.059-97.677 5.262-93.942-27.758 17.886-31.74 62.224-48.856 86.7-16.482 14.716-35.5 21.877-41.543 56.331-5.197 29.627-7.638 73.316 21.453 89.184 27.111 13.456 64.13 10.521 60.533-5.453-3.852-17.11-6.119-21.818-.439-41.84 47.946-22.743 54.665-50.888 69.648-87.506 20.433-49.935 16.155-62.398 16.077-106.55-.052-28.79-9.077-40.02-17.895-39.883z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eel;

impl IconShape for Eel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.4 27.83C219 81.44 130.3 113.9 52.29 159.4c-5.97 3.5-7.78 6.9-8.57 12.3s.37 13.1 2.91 21.6c1.4 4.6 3.19 9.5 5.1 14.5 6.06-11.5 15.22-22.5 26.17-32.9 23.1-22.1 55.4-42.7 89.2-61.2 67.8-36.97 142.8-65.34 165.3-74.39-15.1-2.99-29.9-6.48-42-11.48zm94.1 18.23c-14.6 0-28.6 3.2-44.9 9.78-23 9.25-97.4 37.37-163.9 73.66-33.2 18.1-64.3 38.2-85.37 58.4-21.14 20.2-31.24 39.2-27.8 55.8 4.07 19.6 23.14 34.1 52.97 44.7 30 10.6 69.4 16.6 108.4 20.3 39.1 3.6 77.9 5 107.6 6.9 14.9 1 27.5 2.1 37.1 3.8 4.8.9 8.9 1.9 12.7 3.4 3.6 1.5 8 3.8 9.6 9.7 3.2 11.7-1.4 23.6-9.6 32.6-8.4 9.1-20.3 16.7-34.7 23.9-28.7 14.5-68 26.9-108.1 38-40.3 11-81.4 20.5-113.3 28.6-15.9 4.1-29.51 7.7-39.36 11-3.97 1.3-6.78 2.4-9.33 3.5 7.74 2.1 21.67 3.6 39.19 3.8 36.3.5 88.4-3.8 141.6-13.5 53.1-9.7 107.2-24.8 148-45.1 40.7-20.3 66.5-45.1 68.2-73.1 1.9-27.4-12.1-44.3-37.1-57.9-25-13.5-60.9-21.7-97.1-26.9-36.4-5.2-73.4-7.6-101.8-10.8-14.4-1.7-26.4-3.4-35.6-6.1-4.8-1.4-8.8-2.9-12.4-5.5-3.5-2.5-7.1-6.9-7.5-12.4-.4-8 4-14.7 9.4-20.2 5.3-5.6 12.3-10.5 20.6-15.3 16.5-9.5 38-18.3 59.4-26.1 42.7-15.5 85.5-26.4 85.5-26.4l1.5-.4 1.4.1c29.1 2.1 64.3-3.8 89.7-15.7 12.8-5.9 22.9-13.3 29-21.23 3.9-5.05 6-10.16 6.6-15.76-36.8 12.56-48.6 18.26-78.3 19.49l-.9-18.03c24.9-.98 34.1-4.88 62-14.57-26.1-10.97-46.5-18.01-64.3-20.85-5.6-.91-11-1.43-16.2-1.56h-2.9zm-11 17.11a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zM214.7 206.6c-4.3 2.9-8.1 5.8-10.6 8.3-2.6 2.7-3.4 4.5-3.6 5.7 1 .6 3.1 1.6 6.4 2.6 7.2 2.1 18.7 3.9 32.6 5.5 27.6 3.1 64.9 5.6 102.3 10.9 37.2 5.4 74.6 13.4 103.1 28.9 16.5 8.9 30 20.8 38.4 35.9.8-10.4.1-23.4-3.7-41.2C406 230 298.9 224 214.7 206.6zm157.8 140c-86.6 25.6-158.5 61.1-270.6 74.1-44.78 5.3-56.15 28-75.05 50.3 2.59 3.2 6.97 6.1 13.79 8.4 6.07 2.2 13.65 3.7 22.06 4.8-2.15-1.2-4.12-2.7-5.9-4.8-1.89-2.3-3.31-5.8-3.18-9.2.13-3.4 1.55-6.3 3.23-8.6 2.95-3.9 6.03-5.2 9.79-7 3.77-1.7 8.28-3.4 13.61-5.2 10.65-3.4 24.55-7.2 40.55-11.2 32.2-8.2 73.2-17.7 112.9-28.6 39.7-10.9 78.2-23.3 104.9-36.7 13.3-6.6 23.5-13.6 29.3-19.9 2.2-2.4 3.7-4.5 4.6-6.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EggEye;

impl IconShape for EggEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32C160 32 96 192 96 320c0 64 32 160 160 160s160-96 160-160c0-128-64-288-160-288zm74.1 89.2l11.8 13.6-53 46.7 8.8 14.6c31.1 34.3 62.9 65.8 97.4 96.4l-12 13.4-19.6-17.3-25.7 114.6-17.6-4 16.4-73c-46.8-15-93.2-31.5-140.1-46.3-3.9 1.6-8 2.9-12 4.3l-6.7 36.6 51 31.9-9.6 15.2-44.9-28.1-5.4 29.8-17.8-3.2 13.8-75.4-33.9 11.8-6-17 63.7-22.2 21.6-9.3 70.9-50.9-32.9-54.8 15.4-9.2 15.8 26.4 50.6-44.6zM288 236.5c-22.1.2-37.7 13-44.6 42.7 47.1 16.7 71.4-.2 84.5-33.4-14.9-6.2-28.3-9.5-39.9-9.3zm-6 6.9a10.24 10.37 0 0 0-1.1 4.8 10.24 10.37 0 0 0 10.2 10.4 10.24 10.37 0 0 0 9.6-6.8 18.38 17.35 0 0 1 2.5 8.7 18.38 17.35 0 0 1-18.4 17.3 18.38 17.35 0 0 1-18.3-17.3 18.38 17.35 0 0 1 15.5-17.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Egypt;

impl IconShape for Egypt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.208 51.973l7.023 407.352 398.925.702 63.636-60.515L326.02 133.443l8.428-9.833c26.455 31.79 72.101 106.86 79.364 93.41 15.243-28.226 13.407-53.944 19.665-80.768l-35.819-72.34-65.317 13.345-77.959-22.475-76.965 24.687z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianBird;

impl IconShape for EgyptianBird {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M393.2 28.76c-1.2 0-2.5.1-3.7.16-3.3.26-6.7.84-10.2 1.77-13.4 3.6-27.5 12.4-39.3 27.9-1.2 4.95-1.1 9.33.1 12.56 2 5.03 6.7 9.75 20.9 12.02l-2.8 17.73c-15.1-2.36-26.2-8.8-32.1-17.8-5.7 13.66-10 30.2-12 50.1l-.5 4-3.2 2.4c-119.7 86.7-215.6 186-281.74 279.7 95.44-20.8 185.74-43.1 253.64-78.5 71.3-37.3 117.8-87.4 124.2-167 0-8.1-2.1-13.5-4.9-17.4-3.4-4.5-8.2-7.2-13.5-8.3-5.3-1.2-11-.5-15.2 1.3-4.1 1.8-6.3 4.2-7.1 7.2l-17.4-4.4c2.3-9.2 9.4-15.9 17.3-19.3 15.8-6.5 34.4-3.2 46.4 8.3 2.9-9.8 6.6-19.9 10-29.8.9-2.6 1.8-5.2 2.6-7.7 14.8-14.48 30.3-23.12 58.4.1 3.1-27.19-24.8-53.8-50.9-48.22-2.5-9.52-8.3-16.44-16.2-21.05-6.3-3.75-14.2-5.84-22.8-5.77zM406.6 46c5 0 9 4.03 9 9s-4 9-9 9-9-4.03-9-9 4-9 9-9zm-31.5 247c-9.1 10.3-19.2 19.8-30.3 28.7-1.8 23-3.5 46.9-12.9 70.2 4.8.4 9.5.6 13.6.3 4.7-.4 8.4-1.4 10.6-2.7 2.3-1.4 3.5-2.6 4.4-5.6 8.6-29.7 12.1-60.1 14.6-90.9zm-49.9 43.2c-10.9 7.3-22.4 14.1-34.6 20.5-9.9 5.2-20.2 10-30.8 14.7l7.2 27.5c1.1 4.2 2.5 5.2 5.9 6.3 3.3 1.1 8.8 1.1 14.6-.1 5.9-1.2 12-3.6 16.6-6.1 4.6-2.5 7.6-6.1 7.1-5.1 9.1-17.7 12-37.2 14-57.7zm-143.1 63.4c-35.9 10.9-74 20.4-113.18 29.3-4.17 5.9-7.44 12.3-8.49 16.6-.52 2.2-.45 3.6-.33 4.1 12.93 7.1 31.41 9.6 44.3 9.2 16.6-.6 33.3-4.6 43.4-9.4 9.5-4.4 22-22.8 30.2-40.5 1.5-3.2 2.8-6.3 4.1-9.3zm171.6 9.6c-2.3.4-4.5.7-6.8.9-3.7.3-7.5.3-11.3.1l4.5 55h-46.6l3.1-43.8c-1.8.5-3.6.9-5.4 1.3-4.2.9-8.5 1.4-12.9 1.4l-2.8 41.1h-32.9l-14 18H434l-16-18h-59.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianProfile;

impl IconShape for EgyptianProfile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M283 23.76c-80 .95-128.2 41.59-154.4 102.44-26.2 60.7-32.7 141.1-35.67 226.9l-.33 9.4c10.5-.2 21.1-.5 31.6-.7 11.8 32.8 28.2 64 51.2 87 24.9 24.8 57.2 40.5 102.1 39.4 44.4-1.1 73.9-16.9 96.2-41.7 20.6-22.9 34.5-54.2 45.7-88.2-5.7-2.2-11.6-4.2-17.3-6.1-13.6 42.8-32.6 73.7-55.9 93.7-24.8 21.3-54.5 29.4-82.5 25.7-53-6.8-99.6-50.6-123.1-110.1l38.8-.9c21 42.8 56.4 71.2 88.8 75.4 18.9 2.5 36.9-2.1 54.6-17.3 16.5-14.2 32.7-38.6 44.7-76.4-4.7-1.1-9.3-2.1-14.1-3.1-13.5 26.3-26.3 45.1-39.6 57.9-14 13.4-29.3 20-44.6 18.4-15.3-1.5-29.1-10.3-42.5-23.7-8.5-8.7-17-19.3-25.7-31.7 7.1 0 14.7-.3 21.5-.7 5.8 7.6 11.5 14.3 17 19.8 11.6 11.6 22.2 17.6 31.5 18.5 9.3 1 18.8-2.4 30.4-13.6 10.3-9.8 21.5-25.6 33.5-47.9-3.8-.6-7.7-1.1-11.6-1.5-10.3 15.3-22.4 32.9-37.5 41.2-8.7 4.7-18.5 3.5-25.9-.3-9.3-5.3-15.5-12.3-21.6-19.5 5.8-2 11.2-4.9 15.9-8.8 6 5.9 14.8 17.1 23 12.8 8.3-4.4 21.5-21 31.7-36.1 7.9-9.1 12.5-24 22.5-29.9 15.2-4.3 37.1 11.5 46.9-1.2 3.3-4.5 5.6-9 7.2-13.5l-15.8-.5-8.8-18.3 27.7 1c-.2-11.7-2.1-20.4-4.1-31.9 8.7 1.6 18.5 2.6 26.2.7-4.1-9.7-9.5-19.5-17.8-27.9-41.2 5.3-77.4.5-99.4-32.4 32.5-13.7 71.2-17.8 91.2-3.2.1-6.2-.1-12.4-1.2-18.5 7.1.3 12.9.8 20.2 1.3l.2-9.5c.7-24.7-6.6-53.7-25.7-76.97-19.1-23.27-50.6-40-95.2-39.47zm.3 17h3.7c38.3.41 62.4 14.35 77.8 33.08 13.6 16.54 20.2 37.36 21.5 56.06-29.9-1.3-53 3-70.9 11.8-19.7 9.7-32.6 24.9-40.5 41.9-15.7 33.9-13.3 74.6-15.5 102.4-1.8 23.5-6.8 37.1-13.4 44.7-6.6 7.6-15.5 10.8-30 11.6l-105.4 2.3c3.2-81.9 10.5-157.4 34-211.9 24.5-56.65 64.1-91.05 138.7-91.94zM351.7 174c-8.4.5-16 1.8-23.1 3.7 6 3.7 12.7 6.5 19.5 8.4-1.2-4.4.7-9.6 3.6-12.1zm17 3.9c1.6 3.6 1.2 7.6-.5 10.8 3.9-.1 7.8-.4 11.4-1.2-2.6-4.2-7-7.3-10.9-9.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianPyramids;

impl IconShape for EgyptianPyramids {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M61.188 31.47A34.17 34.17 0 0 0 26.03 65.624a34.172 34.172 0 0 0 68.345 0A34.17 34.17 0 0 0 61.187 31.47zm215.093 86.093L61.5 326.905l13.5 2.78 66.5-64.436 6.75-6.53 6.5 6.75 96.813 100.78 74.593 15.438-49.875-264.125zm170.158 10.843l-68.75 67L479.25 302.22l-32.813-173.814zm-299.063 151.47L25.25 397.718l150.5 30.81-28.375-148.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianSphinx;

impl IconShape for EgyptianSphinx {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.576 62.504c-5.143.025-10.986.545-17.709 1.453-1.832 12.01-3.82 24.255-5.767 36.686.12-.049.228-.097.35-.145l6.65 16.727c-12.89 5.124-20.793 10.216-24.383 13.992-3.59 3.775-3.479 4.84-2.72 7.334.757 2.493 3.97 6.938 9.976 11.744s14.46 9.992 24.338 15.228l-8.43 15.905c-5.362-2.843-10.407-5.699-15.063-8.612-1.492 17.662-2.23 35.503-1.707 53.405 31.644 5.36 60.492 9.17 102.098-9.346-.48.214.854-.617 2.07-3.428 1.217-2.81 2.302-7.088 2.868-11.84 1.13-9.494.108-21.038-2.4-27.77l-13.505-33.028-1.87-24.323-.005-.088c-.425-7.426-4.354-20.672-10.2-31.431-5.844-10.759-13.971-18.371-18.183-19.281-9.633-2.082-17.388-3.225-26.408-3.182zm-36.12 2.402C199.106 72.436 141.72 99 107.876 175.696c14.148 6.566 44.463 12.325 73.25 14.308 15.532 1.07 30.814 1.255 43.348.553 10.835-.607 19.917-2.218 24.168-3.565.505-9.042 1.26-18 2.16-26.883-5.114-4.772-9.099-9.972-11.03-16.324-2.515-8.276.25-17.979 6.9-24.972 2.891-3.04 6.401-5.83 10.61-8.477 2.375-15.559 4.892-30.74 7.172-45.43zm74.25 51.82c4.875 14.575 2.858 18.95-4.585 33.524l-34.017-27.016 38.601-6.507zm-231.009 78.516c3.35 21.601 14.17 41.45 36.807 56.363 35.558 22.692 71.206 29.72 110.287 34.016-5.52-26.83-7.306-53.507-6.855-79.68-6.398 1.415-13.856 2.105-22.456 2.586-13.514.757-29.4.55-45.591-.566-26.352-1.816-52.968-5.472-72.192-12.719zm159.418 49.299c1.32 16.453 3.823 32.92 7.932 49.307l3.1 12.365-12.688-1.217c-40.783-3.908-80.133-9.74-119.176-31.39-7.632 10.71-16.994 21.064-30.12 29.937l-2.284 1.543H23.883V343H352.77c-4.408-14.152-10.687-27.805-19.693-40.783-8.612-12.412-15.316-25.337-16.392-39.844-.347-4.666-.033-9.416.939-14.227-17.998 1.137-34.396-.973-50.51-3.605zM23.883 361v30h337.752c-.902-10.159-2.238-20.177-4.26-30H23.883zm0 48v24.813c14.243-3.005 31.008-5.348 53.191-7.26 4.117-.355 7.992-.517 11.643-.49 10.953.08 19.888 1.86 27.273 5.24 9.847 4.506 16.44 12.031 20.324 19.967 5.85 11.953 7.063 24.81 8.706 34.523h342.859c1.198-12.979-1.829-25.945-15.858-36.398-4.45-3.317-11.144-6.12-26.046-6.624-14.903-.503-37.498 1.569-71.565 7.846l-10.42 1.922-.209-10.596c-.217-11.062-.447-22.06-.965-32.943H23.883zm64.66 35.07c-3.01-.025-6.309.105-9.924.416-23.802 2.052-40.63 4.434-54.736 7.606v33.701H126.4c-1.856-10.05-2.86-19.676-6.254-26.611-2.495-5.098-5.628-8.758-11.646-11.512-4.513-2.066-10.93-3.525-19.957-3.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianTemple;

impl IconShape for EgyptianTemple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M483.5 57l-10 30h-147l-10-30zm-288 0l-10 30h-147l-10-30zm260.4 48l30.2 302H445l-.2-210-32.8-73.1-32.8 73.1-.2 210h-18V199h-26.3l9.4-94zm-288 0l9.4 94H151v208h-18l-.2-210-32.8-73.1L67.2 197 67 407H25.9l30.2-302zM412 164.1l9.4 18.9h-18.8zm-312 0l9.4 18.9H90.6zM427 201v206h-30V201zm-312 0v206H85V201zm228 16v30H169v-30zm0 48v142h-30V295H199v112h-30V265zm144 160v62H342.1l-24.8-62zm-189.1 0l8.4 21H205.7l8.4-21zm-103.2 0l-24.8 62H25v-62zm118.8 39l9.2 23H189.3l9.2-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianUrns;

impl IconShape for EgyptianUrns {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M67.22 18.91c-3.69 6.62-6.78 17.57-8.28 30.74C57 66.43 57 86.18 57 104c0 10.1 6.82 18.4 16.41 23.7-1.56-7.7-2.43-15.7-2.4-23.7v-2.1l.94-1.93C77.59 88.69 87.37 81 98.78 76.39 93.84 62.2 87.93 48.5 81.86 37.79c-4.04-7.13-8.17-12.92-11.66-16.49-1.2-1.22-2.06-1.75-2.98-2.39zm121.58 0c-.9.64-1.8 1.17-3 2.39-3.5 3.57-7.6 9.36-11.7 16.49C168 48.5 162.2 62.2 157.2 76.4c11.4 4.6 21.2 12.29 26.9 23.57l.9 1.93v2.1c0 8.1-.9 16-2.5 23.7 9.7-5.2 16.5-13.6 16.5-23.7 0-17.82 0-37.57-1.9-54.35-1.5-13.17-4.6-24.12-8.3-30.74zM384 25c-7.9 0-16.7 5.06-23.6 18.45l-1 3.55h49.2l-1-3.55C400.7 30.06 391.9 25 384 25zm-29.8 40l-9.6 33.57L378.3 65h-24.1zm35.5 0l33.7 33.57L413.8 65h-24.1zM384 84.73l-21 21.07 21 42.1 21-42.1-21-21.07zM128 89c-16.7 0-32.3 6.64-38.86 17.3C89.8 133 103.2 160.6 116 175h24c12.8-14.4 26.1-42 26.9-68.7C160.3 95.64 144.7 89 128 89zm214.7 16.5l-13.4 46.9c.2.3.9 1.8 4 4.3 3.8 2.9 9.7 6.2 16.2 9 9.3 4 20.1 6.9 27.5 8.4L343.9 108l-1.2-2.5zm82.6 0L391 174.1c7.4-1.5 18.2-4.4 27.5-8.4 6.5-2.8 12.4-6.1 16.2-9 3.1-2.5 3.8-4 4-4.3l-13.4-46.9zM102 111h52v18h-52v-18zm-28.24 36.6c-1.31 2.2-2.6 4.4-3.84 6.7-11.65 21.6-19.11 48.1-26.35 71 9.35 2.1 18.69 3.9 28.03 5.3l16.77-63.2c-3.16-5.6-6.03-11.5-8.5-17.8-2.06-.6-4.1-1.2-6.11-2zm108.54 0c-2 .7-4.1 1.4-6.2 1.9-2.5 6.3-5.3 12.3-8.5 17.8l16.8 63.3c9.3-1.4 18.7-3.2 28-5.3-7.2-22.9-14.7-49.4-26.3-71-1.2-2.3-2.5-4.5-3.8-6.7zm136.9 20.7c-8 18.4-13.9 38.8-19.6 57 56.3 12.7 112.5 12.7 168.8 0-5.7-18.2-11.6-38.6-19.6-57-1 .9-2 1.7-3 2.5-5.7 4.6-12.8 8.3-20.3 11.5C410.6 188.7 395 193 384 193s-26.6-4.3-41.5-10.7c-7.5-3.2-14.6-6.9-20.3-11.5-1-.8-2-1.6-3-2.5zm-217.3 18.2l-12.28 46.3c25.58 2.7 51.18 2.7 76.78 0l-12.3-46.3c-1.2 1.3-2.5 2.7-3.7 3.9l-2.7 2.6h-39.4l-2.7-2.6c-1.2-1.2-2.5-2.6-3.7-3.9zm-60.69 56.9c.11 10.6.37 21.1.78 31.4 57.78 27.1 114.21 27.1 172.01 0 .4-10.3.7-20.8.8-31.4-57.8 12.8-115.79 12.8-173.59 0zm255.99 0c1 103.3 16.2 191.9 44.5 251.6h84.6c28.3-59.7 43.5-148.3 44.5-251.6-9.9 2.2-19.9 4-29.8 5.4V296h-18v-44.9c-10 .9-20 1.6-30 1.8V328h-18v-75.1c-10-.2-20-.9-30-1.8V296h-18v-47.2c-9.9-1.4-19.9-3.2-29.8-5.4zM42.99 295c4.84 81.1 19.24 150.5 42.72 200h84.59c23.5-49.5 37.9-118.9 42.7-200-56.3 23.8-113.65 23.8-170.01 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EgyptianWalk;

impl IconShape for EgyptianWalk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.512 18.479c-32.578-.085-52.916 34.52-54.649 58.357l23.64 14.547 26.333-8.41s-.994 22.179-5.809 21.927c-25.344-.124-79.06 1.741-114.797 5.588-3.243 26.137-5.325 58.266-4.015 84.403l-42.358 9.47c5.398 7.571 28.207 18.895 54.94 16.56 7.804-25.385 20.65-61.55 19.463-85.552 22.023 4.867 44.19 8.627 66.969 7.447 3.798 22.326 3.662 43.358 10.376 63.83 22.296 6.157 44.447 14.398 63.29 20.788 7.68-27.1 11.071-54.355 15.066-83.452 0 0 81.216-.021 85.223.551 4.006.573-1.135-91.85-1.135-91.85C411.28 48.71 419.999 42 430.525 31.237c-20.892-5.236-37.465-3.409-56.656 1.44l-7.416 81.246c-21.052-5.688-59.138-10.703-90.572-9.717l-3.77-18.81c10.162 2.381 24.457 7.756 33.532 8.582 5.676-1.62 3.628-14.765 3.187-15.877-17.932-1.545-14.697.558-19.248-16.198l16.053.153c-7.84-26.946-34.732-43.519-57.123-43.576zm-15.155 208.525c-1.813 4.053-4.194 9.634-7.05 16.539-5.98 14.452-13.723 33.818-21.377 53.184-11.625 29.41-18.16 46.38-22.985 58.837l149.034-52.888-42.09-56.91-55.532-18.762zm103.456 93.049c-15.556 5.35-30.83 11.465-46.178 17.375 8.913 14.955 15.794 30.925 28.902 43.783-2.248 18.194-3.509 26.486 1.717 38.06 9.383 20.785 49.22 47.514 49.22 47.514-1.627 6.569-8.79 19.485 0 26.748h59.239c4.798-5.58 2.227-10.342 1.43-15.3-46.64 3.791-65.323-57.482-83.561-92.442-.228-22.753-4.511-44.493-10.77-65.738zm-112.739 40.011l-54.865 19.471c-7.346 8.974-16.394 12.54-22.52 21.28-16.725 23.86-27.963 61.48-38.632 78.415-1.998 4.348-.924 11.468.859 14.303h68.107c4.58 0-.572-12.586-.572-12.586-19.358.345-29.845-2.456-37.773-12.017 7.137-26.23 33.068-43.45 50.365-66.971 16.006-10.358 25.745-27.624 35.031-41.895z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EightBall;

impl IconShape for EightBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.424 23 23 127.424 23 256s104.424 233 233 233 233-104.424 233-233S384.576 23 256 23zm0 18c118.848 0 215 96.152 215 215s-96.152 215-215 215S41 374.848 41 256 137.152 41 256 41zm-95.768 53.18c-20.468.103-50.85 29.877-72.595 72.966-24.85 49.246-29.006 97.236-9.283 107.188 19.722 9.952 24.796-38.29 49.646-87.535 24.85-49.247 60.066-80.848 40.344-90.8-2.466-1.244-5.188-1.835-8.112-1.82zm162.89 43.363A99.123 102.456 0 0 0 224 240a99.123 102.456 0 0 0 99.123 102.457A99.123 102.456 0 0 0 422.246 240a99.123 102.456 0 0 0-99.123-102.457zm8.32 45.057c6.57-.104 12.27 1.175 17.095 3.834 7.02 3.867 11.325 10.098 12.912 18.693 1.134 6.146.342 11.68-2.374 16.6-2.668 4.91-6.957 8.708-12.867 11.388 7.31.338 13.35 2.525 18.116 6.56 4.815 4.027 7.857 9.474 9.125 16.34 1.925 10.42.208 19.003-5.15 25.753-5.31 6.74-13.893 11.206-25.753 13.396-11.86 2.19-21.498 1.088-28.912-3.303-7.367-4.398-12.012-11.808-13.936-22.227-1.27-6.867-.373-13.04 2.687-18.52 3.06-5.48 7.943-9.684 14.652-12.61-6.527-.385-11.937-2.39-16.23-6.017-4.248-3.635-6.94-8.525-8.074-14.672-1.587-8.594.21-15.952 5.385-22.072 5.225-6.128 13.166-10.176 23.825-12.144 3.346-.618 6.512-.95 9.498-.998zm-2.358 11.98c-1.585.037-3.254.217-5.01.54-6.29 1.163-10.9 3.627-13.83 7.396-2.88 3.76-3.806 8.424-2.777 13.994 1.028 5.57 3.558 9.595 7.592 12.078 4.08 2.474 9.267 3.13 15.557 1.97 6.242-1.154 10.827-3.614 13.756-7.382 2.977-3.777 3.952-8.452 2.924-14.022-1.03-5.57-3.61-9.586-7.738-12.05-2.552-1.547-5.524-2.385-8.92-2.514-.51-.02-1.028-.022-1.556-.01zm9.832 46.848c-1.947-.014-4.008.18-6.184.582-6.914 1.277-12.023 4.13-15.326 8.564-3.254 4.425-4.283 9.877-3.086 16.36 1.197 6.482 4.105 11.21 8.725 14.18 4.668 2.96 10.46 3.8 17.373 2.525 6.914-1.278 12.023-4.133 15.326-8.566 3.294-4.48 4.346-9.94 3.158-16.373-1.197-6.48-4.128-11.203-8.797-14.165-3.176-2.042-6.906-3.077-11.19-3.107z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElbowPad;

impl IconShape for ElbowPad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414.6 20.26c-16.2 0-33.3.02-50.4.07-65.5.12-125.1.36-130.5.36-18.7 39.24-33.1 82.51-45.3 127.51 38.8 11.2 77.1 28 109.6 47.8 19.4 11.8 36.8 24.5 50.9 37.9 15.6-20.8 34.3-47.2 53-74.6 21.8-31.9 43.7-65.23 60.9-92.86 11.7-18.81 21-35.08 26.7-46.02-7.7-.04-18.1-.14-30.7-.14v.05c-13-.05-28.1-.07-44.2-.07zM158.4 159.2c-4.4 7.5-8.8 15.2-13.1 23.1 66.2 2.3 131.7 38.9 170.4 72.9l6.3 5.6-5 6.6c-8.2 10.8-15.6 37.2-3.5 66.5l5.7 13.7-14.8-1.3c-63.5-5.9-127.4 4.7-187.8 31.8 1.6 5.6 3.4 11.2 5.5 17 66.4-29.3 145.1-39.7 233.4-25.6 15-24.4 20.9-48.4 10.3-80.9-8-24.1-37.4-53-77.2-77.2-38-23.2-85.1-42.2-130.2-52.2zm-19.3 41h-2.9c-22 45.5-36.93 97.5-23.9 160.1 57.8-25.3 119.1-36.3 180.1-32.8-6.9-25.2-2.9-48 5.5-63.5-37.8-31.1-100.2-63.6-158.8-63.8zm137 181c-41.5.3-80 6.7-115.2 18.2 10.4 32 24.3 63.7 41.2 94.5h138.2c-1.5-36.9-6.6-74.2-15.5-110.3-16.7-1.8-32.9-2.5-48.7-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElectricalResistance;

impl IconShape for ElectricalResistance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElectricalSocket;

impl IconShape for ElectricalSocket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 23v466h466V23H23zm233 64c93.2 0 169 75.8 169 169s-75.8 169-169 169S87 349.2 87 256 162.8 87 256 87zm0 18c-83.5 0-151 67.5-151 151 0 71.3 49.2 130.9 115.5 146.8l13.9-27.8h43.2l13.9 27.8C357.8 386.9 407 327.3 407 256c0-83.5-67.5-151-151-151zm0 30c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-80 89a32 32 0 0 1 32 32 32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 32-32zm160 0a32 32 0 0 1 32 32 32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 32-32zm-90.4 169l-6.5 13.1c5.5.6 11.2.9 16.9.9 5.7 0 11.4-.3 16.9-.9l-6.5-13.1h-20.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Elephant;

impl IconShape for Elephant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M236.422 98.393c-126.642-1.276-206.07 46.77-212.058 83.93-2.977 41.18-4.165 83.628-4.016 124.617l4.31 3.796c3.963-15.315 6.47-31.843 14.122-44.085 1.3 27.18 5.068 58.562 11.369 82.067-2.477 24.988-2.118 47.99-3.436 72.978 21.158 12.726 60.485 10.65 67.541 1.986 2.936-20.695 4.981-42.58 3.973-68.535l7.592-35.355c6.418-14.587 25.29-17.243 23.406-31.799l17.828-2.467c.355 25.196-14.375 27.1-24.713 41.653 12.994 5.357 14.676 3.886 24.059 5.124 23.848 2.742 45.234 3.774 67.802-8.175l-3.101-17.541 17.723-3.135 3.064 17.328c4.22 14.097 11.996 104.392 18.559 108.361 13.411 6.417 53.823 6.417 55.472-5.312 1.647-45.786 3.861-90.1-5.07-133.242 3.702-4.1 7.34-8.112 10.928-12.096-20.178-10.157-44.214-25.838-57.62-41.797-9.037-17.21-13.75-38.688-17.304-56.256-2.546-12.943-4.3-26.074-3.81-37.486.244-5.706 1.003-11.018 2.982-15.938 19.848-20.186 56.606-35.68 79.58-46.503-33.273-7.269-71.55 7.386-99.182 17.882zm128.934-9.931c-29.757 10.977-72.215 22.174-92.633 45.267-.807 2.008-1.51 5.563-1.7 9.994-.38 8.863 1.097 21.093 3.487 33.243 2.39 12.15 5.644 24.32 8.53 33.642 1.442 4.662 2.797 8.624 3.865 11.44 15.216 22.215 45.646 39.625 67.966 44.959l14.495-28.713c-11.574-15.04-13.779-35.226-4.59-50.352 4.932-6.143 9.727-10.553 16.982-10.416 4.545.109 9.194 1.996 12.856 5.045 25.905 21.572 49.481 48.69 83.37 70.66-.136-6.626-.26-12.94-.243-18.761.026-9.03-18.924-97.759-50.614-139.553-22.918-5.83-40.343-9.14-61.771-6.455zm68.883 76.232c4.327-.07 8.421.563 11.857 2.319.061 4.922-.298 10.035-10.887 16.152-4.501-4.72-11.239-10.838-17.908-15.627 5.427-1.506 11.374-2.754 16.938-2.844zm-54.233 32.838c-2.263 3.593-3.912 11.657-2.703 17.531 1.402 6.812 9.062 16.901 21.55 26.47 12.49 9.567 29.242 18.77 46.753 26.087 15.609 6.522 31.748 11.435 46.058 14.19-49.78-25.118-79.482-61.19-108.566-85.409-1.548-1.595-2.387.034-3.092 1.131zm58.914 86.797c.526 23.427-2.416 50.265-17.086 59.894-11.128 7.306-33.235 1.34-38.41-10.925-3.657-8.667 15.567-15.677 13.408-24.832-1.718-7.287-11.033-14.374-18.375-12.912-17.881 3.558-34.905 28.836-29.3 46.185 10.14 31.387 62.177 51.105 91.875 36.75 27.49-13.288 35.058-46.714 36.808-81.19-12.704-3.13-25.983-7.579-38.92-12.97zm-200.681 52.52a129.415 129.415 0 0 1-9.993 4.34l-8.67 77.603c1.22 8.802 15.819 12.647 30.385 12.81zm-100.65 4.519c-1.341 10.733-2.367 21.785-3.073 30.953-1.545 20.225-2.483 41.562-2.496 51.49 18.869 11.927 54.798 4.533 53.105-2.005-.656-27.278-6.002-49.806-12.58-73.717-11.983-1.258-23.524-3.864-34.957-6.721z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElephantHead;

impl IconShape for ElephantHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.057 36.698c-2.614 0-5.23.162-7.827.52-25.68 3.542-67.16 25.9-97.54 52.824 10.785-5.202 24.81-11.394 39.464-16.28 13.623-4.54 27.76-8.077 41.006-8.306 1.893-.033 3.767.002 5.62.11 7.407.437 14.596 2.11 20.863 5.99 1.865 1.154 3.62 2.523 5.234 4.074 6.646-10.978 14.16-22.022 23.152-33.076-7.964-2.88-17.548-5.41-27.362-5.803-.87-.034-1.74-.052-2.61-.052zm237.886 0c-.87 0-1.742.018-2.61.053-9.815.395-19.4 2.925-27.362 5.804 8.993 11.054 16.507 22.098 23.153 33.076 1.615-1.55 3.37-2.92 5.234-4.074 6.267-3.88 13.456-5.553 20.864-5.99 1.853-.108 3.727-.143 5.62-.11 13.246.23 27.383 3.766 41.006 8.307 14.655 4.885 28.68 11.077 39.465 16.28-30.38-26.925-71.86-49.283-97.54-52.825-2.596-.358-5.213-.52-7.827-.52zm-179.45 1.02c-28.343 29.284-43.33 58.435-58.462 88.687.01 8.366.11 22.473 1.9 36.78 1.905 15.244 6.6 29.882 11.412 34.722l24.36 22.395H185v58.437l17.742 8.87 3.963-11.888-7.53-37.655 17.65-3.53 15.415 77.077c5.957 4.855 14.755 7.688 23.76 7.688s17.803-2.833 23.76-7.688l15.414-77.078 17.652 3.53-7.53 37.656 3.962 11.888L327 278.74V220.3h12.273l22.364-22.364c4.818-4.818 9.525-19.486 11.433-34.753 1.79-14.307 1.89-28.414 1.9-36.78-15.11-30.204-30.076-59.31-58.33-88.55-44.585 6.62-77.05 5.087-121.148-.137zm16.532 30.533c29.854 14.928 58.096 14.928 87.95 0l8.05 16.103c-34.146 17.073-69.904 17.073-104.05 0l8.05-16.102zM114.67 83.463c-10.478-.157-24.295 2.87-37.824 7.38-20.06 6.686-39.25 16.184-49.223 21.42.863 2.71 1.833 5.585 2.973 8.682C36.2 136.18 44.9 155.478 54.386 174.24c9.488 18.764 19.8 37.067 28.524 50.38 4.362 6.657 8.365 12.083 11.387 15.483.827.93 1.26 1.252 1.887 1.843 21.254-11.455 29.27-22.205 38.695-34.36-8.99-11.137-11.9-26.9-13.81-42.167C118.98 148.685 119 132.3 119 124.3v-2.125l.95-1.9c4.604-9.21 9.277-18.53 14.362-27.915-1.285-2.52-2.94-4.14-5.142-5.502-2.92-1.808-7.107-3.01-12.45-3.324-.667-.04-1.352-.064-2.05-.074zm282.66 0c-.698.01-1.383.035-2.05.074-5.343.314-9.53 1.516-12.45 3.324-2.2 1.363-3.857 2.982-5.142 5.502 5.085 9.386 9.758 18.704 14.363 27.914l.95 1.9v2.126c0 8 .02 24.384-2.07 41.117-1.91 15.266-4.82 31.03-13.81 42.167 9.425 12.154 17.442 22.904 38.696 34.36.626-.592 1.06-.914 1.887-1.844 3.022-3.4 7.025-8.826 11.387-15.483 8.723-13.313 19.036-31.616 28.523-50.38 9.488-18.762 18.186-38.06 23.79-53.296 1.14-3.097 2.11-5.973 2.974-8.683-9.974-5.234-29.162-14.732-49.223-21.42-13.53-4.51-27.346-7.535-37.824-7.378zm-203.68 54.695c3.49.06 6.937.312 10.287.727 8.934 1.105 17.267 3.408 24.286 6.838 7.02 3.43 13.198 7.86 16.138 15.252l-9.405 3.744c.567 5.67 1.005 11.785 1.188 17.922.375 12.586.037 24.885-3.723 34.84l-16.84-6.358c1.873-4.96 2.914-16.396 2.57-27.947-.237-7.954-.968-16.098-1.824-22.973-4.19-1.547-9.244-2.793-14.6-3.455-14.394-1.78-30.602.868-40.052 8.54l-11.348-13.972c11.352-9.216 25.78-12.845 39.824-13.15 1.17-.025 2.337-.027 3.5-.008zm124.7 0c1.163-.02 2.33-.017 3.5.008 14.043.305 28.472 3.934 39.824 13.15l-11.348 13.973c-9.45-7.673-25.658-10.32-40.053-8.54-5.355.662-10.41 1.907-14.6 3.454-.855 6.875-1.586 15.02-1.823 22.973-.345 11.55.697 22.987 2.57 27.947l-16.84 6.36c-3.76-9.957-4.098-22.255-3.723-34.842.183-6.137.62-12.25 1.188-17.922l-9.406-3.744c2.94-7.39 9.118-11.822 16.137-15.252 7.02-3.43 15.352-5.733 24.285-6.838 3.35-.414 6.8-.668 10.288-.727zm-140.582 27.32c9.89 1.982 19.044 2.465 27.94.122l4.585 17.405c-12.44 3.277-24.618 2.413-36.06.12l3.535-17.647zm156.464 0l3.536 17.65c-11.443 2.29-23.622 3.155-36.06-.122l4.585-17.406c8.895 2.342 18.05 1.86 27.94-.122zM149.484 221.57c-3.926 18.077-11.744 56.325-12.488 79.027-.338 10.32.083 22.752.97 36.025 9.928-15.62 19.44-33.406 29.034-54.307V237.67l-17.516-16.1zm210.11 3.865L345 240.028v42.285c9.74 21.218 19.397 39.22 29.49 55.01.838-13.487 1.126-26.103.526-36.502-1.178-20.39-9.878-54.958-15.422-75.385zM180.12 296.427c-27.3 57.515-55.76 93.404-93.753 125.43 25.12.802 41.352-8.37 56.606-25.72 17.816-20.268 33.22-52.94 52.918-91.825l-15.77-7.885zm151.76 0l-15.77 7.885c19.696 38.886 35.1 71.557 52.917 91.824 15.254 17.352 31.487 26.523 56.606 25.72-37.994-32.025-66.454-67.914-93.754-125.43zm-118.06 14.87l-.564 1.696-1.266-.633c-19.548 38.716-34.844 72.163-55.5 95.66-3.083 3.508-6.326 6.758-9.728 9.75 2.473 17.93 4.636 31.68 5.355 36.155 17.846 7.732 41.202 10.51 62.938 8.283-.035-.626-.055-1.26-.055-1.906v-143.11l-1.18-5.894zm84.36 0l-1.18 5.895v143.11c0 .645-.02 1.28-.055 1.906 21.757 2.23 45.136-.556 62.99-8.305.75-4.39 3.04-18.03 5.626-35.853-3.52-3.068-6.87-6.412-10.05-10.03-20.656-23.497-35.952-56.944-55.5-95.66l-1.266.633-.564-1.695zM233 332.854v11.363c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-11.363c-7.23 3.03-15.153 4.45-23 4.45-7.847 0-15.77-1.42-23-4.45zm0 32v11.363c5.93 4.487 14.373 7.086 23 7.086s17.07-2.6 23-7.086v-11.363c-7.23 3.03-15.153 4.45-23 4.45-7.847 0-15.77-1.42-23-4.45zm0 32v63.45c0 20 46 20 46 0v-63.45c-7.23 3.03-15.153 4.45-23 4.45-7.847 0-15.77-1.42-23-4.45z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Elevator;

impl IconShape for Elevator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153 35v58h206V35H153zm60.3 13h32l-16 32-16-32zm74.7 0l16 32h-32l16-32zm-183 89v350h142V137H105zm160 0v350h142V137H265zm173 141v84h52v-84h-52zm26 26a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElfEar;

impl IconShape for ElfEar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M397.063 35.625c-.457-.016-1.004.003-1.625.03-3.728.168-10.345 1.242-18.313 3.876-10.624 3.514-23.957 9.298-38.813 16.782-29.71 14.97-65.58 36.7-100 60.813-34.42 24.112-67.443 50.63-91.593 74.875-23.258 23.347-37.07 45.37-38.19 56.813 12.647 31.888 32.353 64.766 23.72 110.812l-.063.313-.062.28c-6.6 25.567-2.835 44.212 4.47 53.626 7.303 9.414 17.606 12.227 33.155 5.03 1.985-.917 4.3-2 6.75-3.155-2.486-10.81-7.07-21.55-12.375-30a9 9 0 0 1-.22-.376 9 9 0 0 1 1.22-11.188 9 9 0 0 1 4.125-2.344 9 9 0 0 1 1-.187c2.646-.604 5.262-.946 7.875-.97 8.826-.075 17.342 2.934 24.625 7.69 5.605 3.658 10.678 8.318 15.156 13.624 23.114-16.29 48.865-40.562 68.844-77.158 32.997-60.45 66.407-123.794 89-175.593 13.73-31.47 23.427-58.843 26.688-77.75 1.63-9.455 1.47-16.734.343-20.657-1.126-3.924-1.658-4.41-4.624-5.063-.27-.06-.637-.11-1.094-.125zm-59.094 53.47c5.087-.17 10.11 1.105 13.936 4.56 5.103 4.61 6.45 11.296 6.156 17.595-.294 6.3-2.115 13.014-5.125 20.406a9.012 9.012 0 0 1-16.687-6.812c2.493-6.125 3.694-11.232 3.844-14.438.102-2.183-.234-3.068-.344-3.344-.283-.06-1.086-.154-3.188.282-3.422.71-9.126 3.035-16.375 7.53-10.088 6.26-23.188 16.672-39.25 31.907 2.553.783 4.967 2.106 6.844 3.97 6.717 6.667 6.88 15.32 6.314 25.5-.565 10.18-2.784 22.688-6.156 37.75a9 9 0 1 1-17.563-3.938c3.27-14.602 5.288-26.493 5.75-34.812.41-7.41-.96-10.778-.938-11.188-.906.116-2.742.554-5.5 1.907-5.415 2.655-13.532 8.252-23.875 16.905-23.02 25.275-49.96 57.655-80.812 98.313 11.047 9.275 20.027 18.605 24.313 29.25 2.58 6.405 3.118 14.112-.25 20.75-3.37 6.637-9.644 11.313-17.844 14.78a9 9 0 1 1-7.032-16.562c5.844-2.472 8.12-4.95 8.843-6.375.725-1.424.874-2.696-.405-5.874-2.56-6.355-12.36-17.034-25.625-27.47a9 9 0 0 1-1.625-12.498c31.042-41.276 58.145-74.417 81.656-100.72a9 9 0 0 1 2.626-3.437c.716-.62 1.395-1.182 2.094-1.78 33.625-37.063 59.61-59.7 78.938-71.688 8.363-5.187 15.527-8.456 22.218-9.843 1.673-.348 3.367-.57 5.063-.626zM186.75 390.31c4.65 10.366 8.14 21.8 9.313 33.5 1.473 14.686-.817 30.045-9.47 42.438 8.513 8.398 14.487 9.757 18.626 8.938 4.937-.98 10.24-6.094 13.686-12.313 5.635-10.16 2.592-31.96-7.625-49.156-5.107-8.6-11.703-15.928-18.374-20.283-2.1-1.37-4.13-2.333-6.156-3.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElysiumShade;

impl IconShape for ElysiumShade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.2 13.97c-4.2 15.21-8.7 36.89-13 56.59-3 13.47-6 26.09-9.4 35.94-1.8 4.9-3.5 9.1-5.9 12.8-2.3 3.7-6 8.1-12.6 8.2-7.7.1-13.4-4.6-17.7-9.6-4.3-5-7.8-11.1-11-17.7-3.8-7.71-7.1-15.83-10.1-23.54-11.2 17.46-16.1 33.74-17.4 50.44-1.7 20.9 2.3 42.8 7.6 67.8l3.5 16.6-15.7-6.4c-27.9-11.3-48.2-31.6-64.6-52.1 7.9 29.1 28.5 62.6 52.7 87.8l9.4 9.7-12.7 4.9c-18.3 7.1-42.2 4.3-64.8-5.6 3.9 25.2 16.3 51.3 38.6 74.8-13.7 33.7-20.3 67.6-11.3 96.7 8 25.6 28.7 44.9 52.8 57.7 24.2 12.9 52.2 19.5 77.2 19 24.2-.6 50.7-8.3 73.4-21.7 22.7-13.5 41.8-33 48.9-57.9 9.6-33.8-1.5-73.8-19.8-112.3 13-16.6 19.9-36.4 20.6-60.3-1.9 1.4-3.9 2.5-6.1 3.5-8.5 4-19.6 3.6-27.6-2.9-10.5-8.4-12.8-22.4-10.4-35.7 2.4-13.4 9-27.6 17.9-41.9 14.6-23.4 35.4-46.6 56.8-62.7-13.8-4.9-28.4-7.63-41.8-6.41-18.3 1.71-34.7 9.71-47.7 30.91l-16.6 26.9-.1-31.6c-.1-31.2-.2-54.22-4.3-72.88-3.2-14.48-8.6-26.55-18.8-39.05zM253.7 177.1c11.7 14.1 37 45.7 60.8 83.6 32.2 51.3 59.4 113.6 48.2 152.7-5.4 19.1-20.8 35.6-40.7 47.4-19.9 11.8-44 18.7-64.6 19.2-21.5.4-47.1-5.6-68.3-16.9-21.3-11.3-38-27.6-44.1-47.2-12.2-39 14.9-101.9 47.2-153.9 24-38.4 49.7-70.6 61.5-84.9zm29.2 144a53.36 60.96 0 0 0-53.4 61 53.36 60.96 0 0 0 53.4 61 53.36 60.96 0 0 0 53.4-61 53.36 60.96 0 0 0-53.4-61zm3.8 33.4c17.5 0 31.6 14.8 31.6 32.4 0 17.6-14.1 32.4-31.6 32.4s-31.6-14.8-31.6-32.4c0-17.6 14.1-32.4 31.6-32.4zm0 18c-7.4 0-13.6 6.1-13.6 14.4s6.2 14.4 13.6 14.4c7.4 0 13.6-6.1 13.6-14.4s-6.2-14.4-13.6-14.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmeraldNecklace;

impl IconShape for EmeraldNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.92 25.17c-14.73-.32-29.25 5.4-39.24 19.19-19.29 26.68-23.67 60.44-18.07 95.14 5.61 34.7 21.08 70.6 42.55 103.4C118.2 299.5 172.9 347.4 229 359.6v-18.7c-47.8-12.5-98.6-55.7-132.78-107.8-20.32-31.1-34.76-65-39.84-96.5-5.08-31.4-.93-59.81 14.88-81.68 5.96-8.22 12.01-11.48 19.93-11.88 2.65-.13 5.5 0 8.62.48 12.49 1.7 28.49 8.83 45.69 18.02 31.7 16.92 66.8 40.96 101.5 44.66V87.91c-27.2-4.13-61.1-25.2-93-42.25-17.7-9.49-34.9-17.7-51.8-19.99-2.1-.28-4.17-.45-6.28-.5zm320.08 0c-2.1 0-4.2.21-6.3.5-16.8 2.29-34 10.5-51.7 19.99-31.9 17.05-65.8 38.12-93 42.25v18.19c34.7-3.7 69.8-27.65 101.5-44.57 17.2-9.19 33.2-16.32 45.7-18.02 12.5-1.7 20.6.44 28.5 11.41 15.8 21.87 20 50.28 14.9 81.68-5.1 31.5-19.5 65.4-39.8 96.5-34.2 52.1-85 95.3-132.8 107.8v18.7c56.1-12.2 110.8-60.1 147.8-116.7 21.5-32.8 37-68.7 42.6-103.4 5.6-34.7 1.2-68.46-18.1-95.13-10-13.8-24.5-19.51-39.3-19.2zM247 344.2V376.6h18V344.2c-3 .2-6 .4-9 .4s-6-.2-9-.4zm-12.3 50.4l-10.5 7 31.8 21.2 31.8-21.2-10.5-7zM217 418.4v30.4l22.8-15.2zm78 0l-22.8 15.2 22.8 15.2zm-39 26l-31.8 21.2 31.8 21.2 31.8-21.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyChessboard;

impl IconShape for EmptyChessboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21 21v58.75h58.75V21H21zm58.75 58.75v58.75h58.75V79.75H79.75zm58.75 0h58.75V21H138.5v58.75zm58.75 0v58.75H256V79.75h-58.75zm58.75 0h58.75V21H256v58.75zm58.75 0v58.75h58.75V79.75h-58.75zm58.75 0h58.75V21H373.5v58.75zm58.75 0v58.75H491V79.75h-58.75zm0 58.75H373.5v58.75h58.75V138.5zm0 58.75V256H491v-58.75h-58.75zm0 58.75H373.5v58.75h58.75V256zm0 58.75v58.75H491v-58.75h-58.75zm0 58.75H373.5v58.75h58.75V373.5zm0 58.75V491H491v-58.75h-58.75zm-58.75 0h-58.75V491h58.75v-58.75zm-58.75 0V373.5H256v58.75h58.75zm-58.75 0h-58.75V491H256v-58.75zm-58.75 0V373.5H138.5v58.75h58.75zm-58.75 0H79.75V491h58.75v-58.75zm-58.75 0V373.5H21v58.75h58.75zm0-58.75h58.75v-58.75H79.75v58.75zm0-58.75V256H21v58.75h58.75zm0-58.75h58.75v-58.75H79.75V256zm0-58.75V138.5H21v58.75h58.75zm58.75 0h58.75V138.5H138.5v58.75zm58.75 0V256H256v-58.75h-58.75zm58.75 0h58.75V138.5H256v58.75zm58.75 0V256h58.75v-58.75h-58.75zm0 58.75H256v58.75h58.75V256zm0 58.75v58.75h58.75v-58.75h-58.75zm-58.75 0h-58.75v58.75H256v-58.75zm-58.75 0V256H138.5v58.75h58.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyMetalBucket;

impl IconShape for EmptyMetalBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-6.9 4.8-8.8 8.7-8.8 11.3 0 1.7.8 3.9 3.2 6.5 13.3-9.1 30.1-15.9 48.9-21.2C186.6 153 221.3 149 256 149s69.4 4 98.9 12.3c18.8 5.3 35.6 12.1 48.9 21.2 2.4-2.6 3.2-4.8 3.2-6.5 0-2.6-1.9-6.5-8.8-11.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm0 30c-33.3 0-66.6 4-94.1 11.7-14.2 4-26.8 9.1-37 14.9 5.8 2.7 12.7 5.4 20.5 7.7 27.8 8.3 67.1 13.7 110.6 13.7s82.8-5.4 110.6-13.7c7.8-2.3 14.7-5 20.5-7.7-10.2-5.8-22.8-10.9-37-14.9C322.6 171 289.3 167 256 167zm-147.4 38.4c-.6.6-1.2 1.1-1.8 1.7l1.7 14.4c31 18.6 89.4 29.5 147.5 29.5 11.6 0 23.3-.4 34.7-1.3.2-6 .2-11.9.2-17.8-11.3.7-22.9 1.1-34.9 1.1-44.9 0-85.6-5.4-115.7-14.4-12.5-3.8-23.1-8.1-31.7-13.2zm294.8 0c-7.5 4.5-16.7 8.3-27.2 11.8-.2 5.4-.5 11-.8 16.8 10.8-3.6 20.3-7.8 28.1-12.5l1.7-14.4c-.6-.5-1.2-1.1-1.8-1.7zm-77.8 22.9c-5.4.8-11 1.5-16.7 2.1 0 5.8 0 11.7-.1 17.6 5.5-.6 11-1.4 16.3-2.2.3-5.8.4-11.7.5-17.5zm-214.5 15.1l25.5 217c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7h4.5c13.9-75 26.4-149.6 29.6-223.1-11.2.7-22.7 1.1-34.1 1.1-54 0-107.9-7.7-144.9-25.6zm289.8 0c-8.2 3.9-17.1 7.4-26.7 10.4-5.7 83.6-18.9 187.9-24.8 223.1 12.3-4.9 21.4-10.8 26-16.5l25.5-217zm-76.7 21.1c-5.3.7-10.6 1.4-16 1.9-3 74.5-15.5 149.3-29.3 223.9 5.2-.3 10.3-.8 15.3-1.3 13.3-75.4 25.7-150.6 30-224.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyMetalBucketHandle;

impl IconShape for EmptyMetalBucketHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 49v30h110V49H201zm-18 6.41c-30.6 2.78-54.5 19.59-70.3 41.3-15.86 21.89-24.24 48.49-25.51 72.79 2.57-1.5 5.57-2.5 8.81-2.5 3.41 0 6.6 1.1 9.2 2.8 1.3-20.7 8.8-44.2 22.1-62.5 13.1-18.06 31.3-31.22 55.7-33.82V55.41zm146 0v18.07c24.4 2.6 42.6 15.76 55.7 33.82 13.3 18.3 20.8 41.8 22.1 62.5 2.6-1.7 5.8-2.8 9.2-2.8 3.2 0 6.2 1 8.8 2.5-1.3-24.3-9.6-51-25.5-72.79C383.5 75 359.6 58.19 329 55.41zM256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-3.3 2.3-5.5 4.4-6.8 6.3.5.4.9.8 1.4 1.2 2.1 2 3.8 4.3 5.2 6.8 12.4-7.4 27.2-13.1 43.5-17.7C186.6 153 221.3 149 256 149s69.4 4 98.9 12.3c16.3 4.6 31.1 10.3 43.5 17.7 1.4-2.5 3.1-4.8 5.2-6.8.5-.4.9-.8 1.4-1.2-1.3-1.9-3.5-4-6.8-6.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm0 30c-33.3 0-66.6 4-94.1 11.7-14.2 4-26.8 9.1-37 14.9 5.8 2.7 12.7 5.4 20.5 7.7 27.8 8.3 67.1 13.7 110.6 13.7s82.8-5.4 110.6-13.7c7.8-2.3 14.7-5 20.5-7.7-10.2-5.8-22.8-10.9-37-14.9C322.6 171 289.3 167 256 167zM96 185.3h.03H96zm0 0c-.06 0-.07 0-.07.1-.72.6-1.94 2.3-3.04 4.7C90.7 195 89 202.8 89 211.5s1.7 16.5 3.86 21.4c1.1 2.4 2.32 4.1 3.04 4.7l.1.1c.1 0 .1 0 .1-.1.72-.6 1.94-2.3 3.04-4.7 2.16-4.9 3.86-12.7 3.86-21.4s-1.7-16.5-3.86-21.4c-1.1-2.4-2.32-4.1-3.04-4.7l-.1-.1zm320 0l-.1.1c-.7.6-1.9 2.3-3 4.7-2.2 4.9-3.9 12.7-3.9 21.4s1.7 16.5 3.9 21.4c1.1 2.4 2.3 4.1 3 4.7l.1.1.1-.1c.7-.6 1.9-2.3 3-4.7 2.2-4.9 3.9-12.7 3.9-21.4s-1.7-16.5-3.9-21.4c-1.1-2.4-2.3-4.1-3-4.7l-.1-.1zm-295 26.3c0 5.6-.5 10.8-1.5 15.7 32.7 15 84.7 23.7 136.5 23.7 11.6 0 23.3-.4 34.7-1.3.2-6 .2-11.9.2-17.8-11.3.7-22.9 1.1-34.9 1.1-44.9 0-85.6-5.4-115.7-14.4-7-2.1-13.5-4.4-19.3-7zm270 0c-4.6 2-9.5 3.9-14.8 5.6-.2 5.4-.5 11-.8 16.8 6.1-2 11.8-4.3 17.1-6.7-1-4.9-1.5-10.1-1.5-15.7zm-65.4 16.7c-5.4.8-11 1.5-16.7 2.1 0 5.8 0 11.7-.1 17.6 5.5-.6 11-1.4 16.3-2.2.3-5.8.4-11.7.5-17.5zm-212.2 16.2c-.6.9-1.2 1.9-1.8 2.7l25 213.2c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7h4.5c13.9-75 26.5-149.6 29.6-223.1-11.2.7-22.7 1.1-34.1 1.1-52.9 0-105.7-7.4-142.6-24.5zm285.2 0c-7.5 3.5-15.7 6.6-24.4 9.3-5.7 83.5-18.9 187.9-24.8 223.1 12.3-4.9 21.4-10.8 26-16.5l25-213.2c-.6-.8-1.2-1.8-1.8-2.7zm-74.4 20c-5.3.8-10.6 1.4-16 1.9-3 74.5-15.5 149.3-29.3 223.9 5.2-.3 10.3-.8 15.3-1.3 13.3-75.3 25.6-150.6 30-224.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyWoodBucket;

impl IconShape for EmptyWoodBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-6.9 4.8-8.8 8.7-8.8 11.3 0 1.7.8 3.9 3.2 6.5 13.3-9.1 30.1-15.9 48.9-21.2C186.6 153 221.3 149 256 149s69.4 4 98.9 12.3c18.8 5.3 35.6 12.1 48.9 21.2 2.4-2.6 3.2-4.8 3.2-6.5 0-2.6-1.9-6.5-8.8-11.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm0 30c-33.3 0-66.6 4-94.1 11.7-14.2 4-26.8 9.1-37 14.9 5.8 2.7 12.7 5.4 20.5 7.7 27.8 8.3 67.1 13.7 110.6 13.7s82.8-5.4 110.6-13.7c7.8-2.3 14.7-5 20.5-7.7-10.2-5.8-22.8-10.9-37-14.9C322.6 171 289.3 167 256 167zm-149.5 37.1l2 17.4c31 18.6 89.4 29.5 147.5 29.5 58.1 0 116.5-10.9 147.5-29.5l2-17.4c-8.9 5.7-20.3 10.4-33.8 14.5-30.1 9-70.8 14.4-115.7 14.4-44.9 0-85.6-5.4-115.7-14.4-13.5-4.1-24.9-8.8-33.8-14.5zm294.4 39.3c-7.5 3.6-15.7 6.8-24.4 9.6l-10.2 108.4c9.1-1.3 15.2-5.3 22-10.5l12.6-107.5zm-289.8.1l18.2 154.7c6.7 3 13.6 5.7 20.7 8.1l-13.9-153.1c-8.9-2.8-17.3-6.1-25-9.7zm246.8 14.7c-14.2 3.5-29.5 6-45.4 7.8l-7.3 153.2c13-1.9 25.8-4.5 38.2-7.8l14.5-153.2zm-203.2.2l4.7 51.7c14.5 5.6 38.2 9 55.6 8.6v-51.3c-21.2-1.6-41.6-4.6-60.3-9zm139.7 9.2c-12.6 1-25.5 1.4-38.4 1.4-7.7 0-15.4-.2-23-.5v153.7c18.1 1.1 36.2.8 54.1-.9l7.3-153.7zm-133.1 62.5l7.4 81.8c15.1 4.1 30.6 7 46.3 8.8v-83.9c-16.8.7-36.8-1.3-53.7-6.7zm224.3 43.6c-6 3-12.9 5.3-21.1 6l-2.5 26.1c7.1-2.4 14-5 20.7-7.8l2.9-24.3zm-5.3 44.7c-75.3 29-169.8 31.5-248.6.3l4.9 41.7c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7 27.4 0 54.7-3 76.7-8.7 20.8-5.4 36.2-13.8 42.7-21.9l.4-3.4a10.88 13.34 0 0 1-6.1 2.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3 10.88 13.34 0 0 1 8.4 4.8l2.2-19.1zm-226.5 17.4a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm167.5 11.3a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm-123.2.7a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm63.2 4.9a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyWoodBucketHandle;

impl IconShape for EmptyWoodBucketHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 49v30h110V49H201zm-18 6.41c-30.6 2.78-54.5 19.59-70.3 41.3-15.86 21.89-24.24 48.49-25.51 72.79 2.57-1.5 5.57-2.5 8.81-2.5 3.41 0 6.6 1.1 9.2 2.8 1.3-20.7 8.8-44.2 22.1-62.5 13.1-18.06 31.3-31.22 55.7-33.82V55.41zm146 0v18.07c24.4 2.6 42.6 15.76 55.7 33.82 13.3 18.3 20.8 41.8 22.1 62.5 2.6-1.7 5.8-2.8 9.2-2.8 3.2 0 6.2 1 8.8 2.5-1.3-24.3-9.6-51-25.5-72.79C383.5 75 359.6 58.19 329 55.41zM256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-3.3 2.3-5.5 4.4-6.8 6.3.5.4.9.8 1.4 1.2 2.1 2 3.8 4.3 5.2 6.8 12.4-7.4 27.2-13.1 43.5-17.7C186.6 153 221.3 149 256 149s69.4 4 98.9 12.3c16.3 4.6 31.1 10.3 43.5 17.7 1.4-2.5 3.1-4.8 5.2-6.8.5-.4.9-.8 1.4-1.2-1.3-1.9-3.5-4-6.8-6.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm0 30c-33.3 0-66.6 4-94.1 11.7-14.2 4-26.8 9.1-37 14.9 5.8 2.7 12.7 5.4 20.5 7.7 27.8 8.3 67.1 13.7 110.6 13.7s82.8-5.4 110.6-13.7c7.8-2.3 14.7-5 20.5-7.7-10.2-5.8-22.8-10.9-37-14.9C322.6 171 289.3 167 256 167zM96 185.3h.03H96zm0 0c-.06 0-.07 0-.07.1-.72.6-1.94 2.3-3.04 4.7C90.7 195 89 202.8 89 211.5s1.7 16.5 3.86 21.4c1.1 2.4 2.32 4.1 3.04 4.7l.1.1c.1 0 .1 0 .1-.1.72-.6 1.94-2.3 3.04-4.7 2.16-4.9 3.86-12.7 3.86-21.4s-1.7-16.5-3.86-21.4c-1.1-2.4-2.32-4.1-3.04-4.7l-.1-.1zm320 0l-.1.1c-.7.6-1.9 2.3-3 4.7-2.2 4.9-3.9 12.7-3.9 21.4s1.7 16.5 3.9 21.4c1.1 2.4 2.3 4.1 3 4.7l.1.1.1-.1c.7-.6 1.9-2.3 3-4.7 2.2-4.9 3.9-12.7 3.9-21.4s-1.7-16.5-3.9-21.4c-1.1-2.4-2.3-4.1-3-4.7l-.1-.1zm-295 26.3c0 5.5-.5 10.8-1.5 15.7 32.7 15 84.7 23.7 136.5 23.7s103.8-8.7 136.5-23.7c-1-4.9-1.5-10.2-1.5-15.7-5.8 2.5-12.2 4.9-19.3 7-30.1 9-70.8 14.4-115.7 14.4-44.9 0-85.6-5.4-115.7-14.4-7.1-2.1-13.5-4.5-19.3-7zm-7.6 32.9c-.6.9-1.2 1.9-1.8 2.7l17.7 151c6.7 3 13.6 5.7 20.7 8.1l-13.9-153.1c-8-2.5-15.7-5.5-22.7-8.7zm285.2 0c-6.8 3.1-14.2 6-22.1 8.5l-10.2 108.4c9.1-1.3 15.2-5.3 22-10.5l12.2-103.7c-.7-.8-1.3-1.8-1.9-2.7zm-40.7 13.7c-14.2 3.5-29.5 6-45.4 7.8l-7.3 153.2c13-1.9 25.8-4.5 38.2-7.8l14.5-153.2zm-203.2.2l4.7 51.7c14.5 5.6 38.2 9 55.6 8.6v-51.3c-21.2-1.6-41.6-4.6-60.3-9zm139.7 9.2c-12.6 1-25.5 1.4-38.4 1.4-7.7 0-15.4-.2-23-.5v153.7c18.1 1.1 36.2.8 54.1-.9l7.3-153.7zm-133.1 62.5l7.4 81.8c15.1 4.1 30.6 7 46.3 8.8v-83.9c-16.8.7-36.8-1.3-53.7-6.7zm224.3 43.6c-6 3-12.9 5.3-21.1 6l-2.5 26.1c7.1-2.4 14-5 20.7-7.8l2.9-24.3zm-5.3 44.7c-75.3 29-169.8 31.5-248.6.3l4.9 41.7c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7 27.4 0 54.7-3 76.7-8.7 20.8-5.4 36.2-13.8 42.7-21.9l.4-3.4a10.88 13.34 0 0 1-6.1 2.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3 10.88 13.34 0 0 1 8.4 4.8l2.2-19.1zm-226.5 17.4a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm167.5 11.3a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm-123.2.7a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm63.2 4.9a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Encirclement;

impl IconShape for Encirclement {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.732 38.031L64 64l43.873 21.793C60.785 127.065 31 187.623 31 255c0 124.05 100.95 225 225 225s225-100.95 225-225c0-67.377-29.785-127.935-76.873-169.207L448 64 307.268 38.031 370.932 166.2l9.834-53.299C420.17 147.503 445 198.28 445 255c0 104.595-84.405 189-189 189S67 359.595 67 255c0-56.721 24.83-107.497 64.234-142.1l9.834 53.3zm73.994 81.127c-8.391 0-15 6.61-15 15 0 8.391 6.609 15 15 15 8.39 0 15-6.609 15-15 0-8.39-6.61-15-15-15zm-75.369 68.498c-8.39 0-15 6.61-15 15 0 8.391 6.61 15 15 15 8.391 0 15-6.609 15-15 0-8.39-6.609-15-15-15zm129.14-15.232c-8.39 0-15 6.61-15 15 0 8.391 6.61 15 15 15 8.392 0 15-6.609 15-15 0-8.39-6.608-15-15-15zm-205.29 35.611c-8.39 0-15 6.61-15 15 0 8.391 6.61 15 15 15s15-6.609 15-15c0-8.39-6.61-15-15-15zm123.602 23.988c-8.391 0-15 6.61-15 15 0 8.391 6.609 15 15 15 8.39 0 15-6.609 15-15 0-8.39-6.61-15-15-15zm51.687 6.817c-8.39 0-15 6.609-15 15 0 8.39 6.61 15 15 15 8.391 0 15-6.61 15-15 0-8.391-6.609-15-15-15zm72.455 11.834c-8.39 0-15 6.609-15 15 0 8.39 6.61 15 15 15 8.391 0 15-6.61 15-15 0-8.391-6.609-15-15-15zm-197.097 20.273c-8.391 0-15 6.61-15 15 0 8.391 6.609 15 15 15 8.39 0 15-6.609 15-15 0-8.39-6.61-15-15-15zm75.447 29.637c-8.391 0-15 6.61-15 15s6.609 15 15 15c8.39 0 15-6.61 15-15s-6.61-15-15-15zm96.442 15.343c-8.39 0-15 6.609-15 15 0 8.39 6.61 15 15 15 8.391 0 15-6.61 15-15 0-8.391-6.609-15-15-15zm-186.355 33.08c-8.39 0-15 6.609-15 15 0 8.39 6.61 15 15 15 8.391 0 15-6.61 15-15 0-8.391-6.609-15-15-15zm109.116 24.382c-8.391 0-15 6.609-15 15 0 8.39 6.609 15 15 15 8.39 0 15-6.61 15-15 0-8.391-6.61-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EncryptedChannel;

impl IconShape for EncryptedChannel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "m399.816 26.656-38.025 28.782 9.318 12.312 12.967-9.814-.392 41.216 15.439.147.693-72.643zm-334.609.225c-8.453 0-15.595 5.085-20.111 11.734-4.517 6.65-6.973 15.136-6.973 24.364 0 9.227 2.456 17.714 6.973 24.363 4.516 6.649 11.658 11.734 20.111 11.734 8.453 0 15.597-5.085 20.113-11.734 4.517-6.65 6.973-15.136 6.973-24.363 0-9.228-2.456-17.715-6.973-24.364-4.516-6.649-11.66-11.734-20.113-11.734zM256 34c-27.111 0-49.757 8.433-66.252 23.4-16.495 14.968-26.617 35.397-33.133 58.204-8.595 30.082-11.34 65.024-12.213 101.396h32.162c.978-35.083 3.635-67.454 10.82-92.604 5.485-19.193 13.363-33.764 23.868-43.296C221.757 71.567 235.112 66 256 66c20.889 0 34.243 5.567 44.748 15.1 10.505 9.532 18.383 24.103 23.867 43.296 7.186 25.15 9.843 57.521 10.82 92.604h32.163c-.873-36.372-3.618-71.314-12.213-101.396-6.516-22.807-16.638-43.236-33.133-58.204C305.757 42.433 283.112 34 256 34zM65.207 42.88c2.088 0 4.488 1.205 6.879 4.725 2.391 3.52 4.207 9.083 4.207 15.374 0 6.29-1.816 11.852-4.207 15.373-2.391 3.52-4.791 4.724-6.879 4.724-2.088 0-4.486-1.204-6.877-4.724-2.39-3.52-4.207-9.083-4.207-15.373 0-6.291 1.816-11.853 4.207-15.374 2.391-3.52 4.79-4.724 6.877-4.724zm47.85 53.298L75.03 124.959l9.319 12.31 12.966-9.814-.392 41.219 15.44.146.693-72.642zm126.634.222c-8.452 0-15.596 5.086-20.113 11.735-4.516 6.649-6.973 15.136-6.973 24.363s2.457 17.714 6.973 24.363c4.517 6.65 11.66 11.735 20.113 11.735s15.597-5.085 20.114-11.735c4.516-6.649 6.97-15.136 6.97-24.363s-2.454-17.714-6.97-24.363c-4.517-6.65-11.66-11.735-20.114-11.735zm202.38 0c-8.454 0-15.598 5.086-20.114 11.735-4.516 6.649-6.973 15.136-6.973 24.363s2.457 17.714 6.973 24.363c4.517 6.65 11.66 11.735 20.113 11.735s15.595-5.085 20.112-11.735c4.516-6.649 6.972-15.136 6.972-24.363s-2.456-17.714-6.972-24.363c-4.517-6.65-11.659-11.735-20.112-11.735zm-202.38 16c2.088 0 4.486 1.205 6.877 4.725 2.391 3.52 4.207 9.082 4.207 15.373 0 6.29-1.816 11.853-4.207 15.373-2.39 3.52-4.789 4.725-6.877 4.725-2.087 0-4.487-1.205-6.879-4.725-2.39-3.52-4.207-9.082-4.207-15.373 0-6.29 1.816-11.853 4.208-15.373 2.39-3.52 4.79-4.725 6.878-4.725zm202.38 0c2.087 0 4.485 1.205 6.876 4.725 2.391 3.52 4.207 9.082 4.207 15.373 0 6.29-1.816 11.853-4.207 15.373-2.39 3.52-4.789 4.725-6.877 4.725-2.087 0-4.488-1.205-6.879-4.725-2.39-3.52-4.207-9.082-4.207-15.373 0-6.29 1.816-11.853 4.207-15.373 2.391-3.52 4.792-4.725 6.88-4.725zm-132.397 49.871-38.026 28.782 9.319 12.31 12.969-9.816-.223 23.453h15.44l.52-54.729zm184.035 0-38.025 28.782 9.318 12.31 12.969-9.816-.393 41.22 15.44.147.691-72.643zm-449.16.223c-8.453 0-15.597 5.085-20.113 11.735-4.517 6.649-6.973 15.135-6.973 24.363 0 9.227 2.456 17.714 6.973 24.363 4.516 6.65 11.66 11.734 20.113 11.734s15.597-5.085 20.113-11.734c4.517-6.65 6.973-15.136 6.973-24.363 0-9.228-2.456-17.714-6.973-24.363-4.516-6.65-11.66-11.735-20.113-11.735zm0 16c2.087 0 4.486 1.205 6.877 4.725 2.39 3.52 4.209 9.082 4.209 15.373 0 6.29-1.818 11.853-4.21 15.373-2.39 3.52-4.789 4.724-6.876 4.724-2.088 0-4.486-1.204-6.877-4.724-2.391-3.52-4.21-9.083-4.21-15.373 0-6.29 1.819-11.853 4.21-15.373 2.39-3.52 4.79-4.725 6.877-4.725zM137 235v238h238V235H137zM16 257v18h103v-18H16zm377 0v18h23v-18h-23zm55 0v18h32v-18h-32zm-192 31a32 32 0 0 1 32 32 32 32 0 0 1-23.19 30.764l23.19 80.98h-64l23.19-80.98A32 32 0 0 1 224 320a32 32 0 0 1 32-32zm-208 1v18h48v-18H48zm384 0v18h48v-18h-48zM32 337v18h80v-18H32zm361 0v18h71v-18h-71zM16 385v18h48v-18H16zm80 0v18h23v-18H96zm320 0v18h64v-18h-64zM48 433v18h71v-18H48zm352 0v18h32v-18h-32zm48 0v18h48v-18h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EnergyTank;

impl IconShape for EnergyTank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.908l-66.275 44.184h132.55zM131.727 88.092L105 114.818v168.547l26.727 26.727h61.71L167 257.217V155.365l32-32V88.092zm181.273 0v35.273l32 32v101.852l-26.438 52.875h61.711L407 283.365V114.818l-26.727-26.726zm-176 240v30h50.184l20-30zm91.816 0l-20 30h94.368l-20-30zm76 0l20 30H375v-30zm-167.816 48v30h50.184l20-30zm91.816 0l-20 30h95.145l-18.316-30zm77.916 0l18.319 30H375v-30zm-267.355 48l-12.4 62H71v-62zm49.623 0v62h138.1c-7.463-7.437-12.1-17.707-12.1-29 0-13.49 6.618-25.515 16.762-33zm191.238 0c10.144 7.485 16.762 19.51 16.762 33 0 11.293-4.637 21.563-12.1 29H407v-62zm144.762 0v62h60.023l-12.4-62zm-169 10c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Enrage;

impl IconShape for Enrage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185 23.42c53.7 45.44 5.5 70.31-7.8 76.32-40.5 18.36-87.65-24.61-99.5-67.35C63.43 75.61 30.56 164.5 88.87 200.5c-35.77 39.9-35.73 37-65.22-7.9-8.45 41.3-2.84 112.6 15.69 164.1 2.04-22.1 5.04-43.5 11.23-60.7l1.09-3 2.78-1.7c45.86-27.2 86.06-36 117.26-40.1-3-12.3-4.7-25.5-4.7-39.2 0-3 .1-6 .2-8.9l-82.06-40.7 35.46-14.9-45.34-45.2 89.74 51-29.2 12.2 32 30.6c2.5-26.4 11.2-50.1 24.3-68.5C207.8 105.5 230.5 91 256 91s48.2 14.5 63.9 36.6c13.2 18.5 21.9 42.4 24.4 68.9l40.1-41.3-38.1-10.9 84.1-70.13-42.9 60.53 45.2 14.3-88.2 49.7c.4 6.3.6 11.8.4 17.5 6.2-.9 12.5-1.5 18.7-1.6 5.8 0 11.5.4 16.7 1.3 14.8 4.2 40.8 45.8 45.1 57.7-2.9 14.3-13 25.4-22.4 34.8l44.9 95.9c5.9 12.6 2.8 28.4.5 40.3-2.4 12-9.3 23.5-21.7 27.5-23.7 5-40.5-7.7-54.3-23 .2 15.2 0 30.1-.4 44.9h94.4c27.4-32.1 28.2-70.2 24.9-111.1-24.7 25.5-45.1-14.3-57.4-41.6 29.3 26.7 70.1-42.9 59.3-106.7-5.4 15.8-42.6 27-59-27.7 50.4-13 54.4-78.4 60.5-109.96-21.2 26.86-33.3 42.06-65.6 24.26 38.8-28.35 7.1-73.26-26.7-91 23 33.73-57.3 89.8-81.1 66.49C306.6 45.5 237.3 16 185 23.42zM256 109c-18.7 0-36 10.5-49.2 29-5.5 7.6-10.1 16.6-13.7 26.5 22.5 12.7 45.4 25.1 57.2 47.7-1.4 5.3-2.4 10.8-3.9 16L202 217.6c7.1-12.6 27.8-11.6 39.7 3.2-7.6-11.3-19.1-20-38.9-21l-10.4-33.4c-4.7 13.7-7.4 29.2-7.4 45.6 0 29.2 8.5 55.5 21.8 74 13.2 18.5 30.5 29 49.2 29 18.7 0 36-10.5 49.2-29 1.4-1.9 2.6-3.9 3.9-5.9-2.2-17.1-3.9-39.4 3.1-52.2 3-4.7 9.9-6.1 14.5-7.6.8-18.8-2.2-39.9-7.9-55.9l-10 35c-17.1 1.3-27.8 8.2-35.2 17.4 8.1-4.5 25.6-6.4 36.4-8.8 1.1 5.7 2.8 11.4-2.8 17.9-13.3-4.4-29.6-1.4-40.9 2.8-1.2-5.4-3.3-11.1-4.7-15.7 11.4-23.2 34.5-36.2 56.9-49.6-3.5-9.5-8-18-13.3-25.4-13.2-18.5-30.5-29-49.2-29zm70.9 130.6c-2.2 6.6-3 19.7-.8 33.1 2.1 13.7 6.6 27.3 10.2 34.2 6.9 2.5 13.8 5.1 20.7 7.7l25 118c9.6 10.8 24.3 26.9 39.2 22.4 14.2-7.3 10.9-33 9.2-45.6l-48.6-103.9c7.7-11.8 20.9-21.1 24.6-31.2-5.2-13.2-17.7-31.3-31-40.9-15.3-.5-35.8 1.9-48.5 6.2zm-110.2 4.2c7.8 0 22.1 15 39.8 13.9 15.9-.9 29.4-21.3 39.5-9.2 11 13.3-4 33.9-11.4 40 0 0-14.3-14.7-27.8-13.6-13.3 1-25.1 16.4-25.1 16.4-15.8-9.5-28.3-28.6-19.4-44.7 1.1-2 2.6-2.8 4.4-2.8zm-39.4 24.9c-29.9 3.7-67.1 11.2-110.7 36.5-10.07 39-10.68 79.1-14.43 114.8l-23.88 41.2c2.8 14.4 7.46 33.4 23.47 32.1 17.97-2.5 35.79-13.4 42.11-29-2.43-10.8-6.14-19.3-10.17-28 4.28-33.2 4.25-66 13.33-91.5l2.89-7.8c29.18 6.6 47.78 2.6 70.18-13.4l-1.2 19c-3.4 51.4-12 105.7-10.1 151.4h195.1c1.5-49.8.3-100.3-10.5-154.2-.7-3.7-1.3-7.6-2-11.8l-17.6-6.6c-3.8-6-6.9-12.9-8.9-18.5-15.4 18.3-36 30.1-58.9 30.1-25.5 0-48.2-14.5-63.9-36.6-5.9-8.2-10.9-17.6-14.8-27.7zm-27.7 88.2c-13 4-26.8 3.6-38.1 1.6-7.3 24.1-7.4 48.4-9.5 74.6 5 12.5 9 21.8 10.4 33.2-4.1 10.6-10 21-16.47 27.7h44.67c-1.8-43.5 5.1-91.6 9-137.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EntryDoor;

impl IconShape for EntryDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217 28.098v455.804l142-42.597V70.697zM119 55v160h18V73h62V55zm257.98.03l.02 2.275V87h16V55zM377 105v16h16v-16zm0 34v236h16V139zm-276.564 58.727L42.162 256l58.274 58.273V279h96v-46h-96zM244 232c6.627 0 12 10.745 12 24s-5.373 24-12 24-12-10.745-12-24 5.373-24 12-24zm-125 65v151h18V297zm258 96v14h16v-14zm0 32v23h16v-23zM32 471v18h167v-18zm290.652 0l-60 18H480v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ermine;

impl IconShape for Ermine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24l-32 64 32 48 32-48-32-64zm-64 96l-64 32 64 32 48-32-48-32zm128 0l-48 32 48 32 64-32-64-32zm-64 32c-32 128-64 192-128 256 16 0 48 0 64-16 0 16-16 48-32 64 16 0 48 0 64-16 16 16 16 16 32 48 16-32 16-32 32-48 16.847 12.064 48 16 64 16-16-16-32-48-32-64 16 16 48 16 64 16-64-64-96-128-128-256z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Escalator;

impl IconShape for Escalator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 57c-16.3 0-31 16.54-31 39 0 22.5 14.7 39 31 39s31-16.5 31-39c0-22.46-14.7-39-31-39zm147.7 48L99.73 361H25v110h131.3l256-256H487V105H355.7zm-169.5 42.1c-1.4 2.3-2.7 4.8-4 7.5-7.9 17.1-13.2 41.8-13.2 69.2 0 13.8 1.4 27 3.7 38.8l71.7-71.7c-2.3-14-6-26.4-10.6-36.3-1.3-2.7-2.6-5.2-4-7.5-6.5 3.8-13.9 5.9-21.8 5.9s-15.3-2.1-21.8-5.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EternalLove;

impl IconShape for EternalLove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.48 31.215c-77.65 0-116.48 65.73-116.48 65.73s-38.83-65.72-116.48-65.72c-37.14 0-107.77 33.72-107.77 125.13 0 161.24 224.25 324.43 224.25 324.43s224.25-163.19 224.25-324.43c0-91.42-70.63-125.13-107.77-125.14zM160 129h192v18H160v-18zm23 31h18v176h-18V160zm33 0h80s-8 80-40 80-40-80-40-80zm95 0h18v176h-18V160zm-55 96c32 0 40 80 40 80h-80s8-80 40-80zm-96 93h192v18H160v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EuropeanFlag;

impl IconShape for EuropeanFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 46.305l-9.404 19.054-21.03 3.056 15.217 14.832-3.592 20.945L256 94.305l18.81 9.888-3.593-20.945 15.217-14.832-21.03-3.057L256 46.304zM167.566 72.63l-9.404 19.056-21.03 3.056 15.218 14.832-3.592 20.946 18.808-9.89 18.81 9.89-3.593-20.946L198 94.742l-21.03-3.056-9.404-19.055zm176.868 0l-9.405 19.056L314 94.742l15.217 14.832-3.592 20.946 18.81-9.89 18.807 9.89-3.592-20.946 15.217-14.832-21.03-3.056-9.403-19.055zm-243.868 67.425l-9.404 19.054-21.03 3.056 15.218 14.832-3.592 20.945 18.808-9.888 18.81 9.888-3.593-20.945L131 162.166l-21.03-3.057-9.404-19.055zm310.868 0l-9.405 19.054-21.03 3.056 15.217 14.832-3.592 20.945 18.81-9.888 18.807 9.888-3.592-20.945 15.217-14.832-21.03-3.057-9.403-19.055zM76.566 228.55l-9.404 19.054-21.03 3.056 15.218 14.832-3.592 20.945 18.808-9.888 18.81 9.887-3.593-20.945L107 250.66l-21.03-3.056-9.404-19.055zm358.868 0l-9.405 19.054L405 250.66l15.217 14.832-3.592 20.945 18.81-9.888 18.807 9.887-3.592-20.945 15.217-14.832-21.03-3.056-9.403-19.055zm-334.868 89.897l-9.404 19.055-21.03 3.057 15.218 14.83-3.592 20.946 18.808-9.89 18.81 9.89-3.593-20.945L131 340.56l-21.03-3.058-9.404-19.055zm310.868 0l-9.405 19.055L381 340.56l15.217 14.83-3.592 20.946 18.81-9.89 18.807 9.89-3.592-20.945 15.217-14.83-21.03-3.058-9.403-19.055zm-243.868 65.746l-9.404 19.055-21.03 3.057 15.218 14.832-3.592 20.945 18.808-9.89 18.81 9.89-3.593-20.945L198 406.305l-21.03-3.057-9.404-19.055zm176.868 0l-9.405 19.055-21.03 3.057 15.217 14.832-3.592 20.945 18.81-9.89 18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.057-9.403-19.055zm-88.61 23.614l-9.404 19.056-21.03 3.055 15.217 14.834-3.59 20.943.385-.203-.035.203L256 455.898l18.633 9.797-.035-.203.386.203-3.59-20.943 15.215-14.834-21.03-3.055-9.404-19.056-.176.355-.176-.355z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Evasion;

impl IconShape for Evasion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M315.4 20.34L228 70.5l146-32.28zM67.73 23l-24 16H212.3l-24-16zM73 57v30h16V57zm34 0v30h42V57zm60 0v30h16V57zm73.4 33.86l175.1 41.54-39.9-40.56zM57 105v16h142v-16zm169.1 7.9l50.1 57.8 49.5-3.2zM105 139v44h46v-44zm-89 59v33h480v-33zm0 51v247h36.68l11.99-10.8-25.34-28.1 40.21 14.8 15.27-13.7-14.04-16.5L107.5 413l-11.55-20.8-30.81-27.5 32.17 5.1 49.49-17.2-17.9-32.6 27.6 15.7 9.6-22.5 10.5 45.1 43.2 38.1-16.1 26.5 8.7 8.7 40.7-4.4-25.1 19.9 12.9 12.8-20.1 36.1h177.5l12.5-33.1-36.6-18.1c-14 12.8-24.1 28.3-44 36.9l-41.3-35 11.6-13.8 29.7 25.2c21.9-24 30-38.3 43.2-69.3l-17.4-4.6-30.4 21.6-.9-17.4 28.6-19.3 32.6.9c-4.6-7.3-5.9-17-3.5-26.2 3.8-14.9 16.2-25.2 29.2-24.5 1.5.1 3 .3 4.4.7 14.2 3.7 22.2 20.3 17.9 37.1-3.2 12.4-12.3 21.9-23.2 24.1l20.1 17.8 23.5-13.7 12.5 11.2-38.1 20.9-20.7-17.9-12.5 33 38.7 22-16.5 41.5H496V249z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilLove;

impl IconShape for EvilLove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.3 36.97c14.1 16.78 24.9 31.7 32.4 44.8C428 105.1 431.9 124 428.6 139.7c-3.2 15.8-13.4 27.1-24.1 35.9-10.5 8.7-21.9 15.7-30.3 22.9-1.8 1.8-1.9 2.8-1.3 5.3.6 2.6 2.9 6.2 6.6 9.2 7.5 6 19.6 9.3 32.4 2.9 22.8-11.4 38.3-25.3 46.6-40.3 8.4-15 10.2-31 4.8-49-8.2-27.32-34.4-58.79-81-89.63zm-252.7 0C82.99 67.83 56.8 99.29 48.62 126.6c-5.39 18-3.63 34 4.74 49 8.37 15 23.84 28.9 46.64 40.3v.1c12.8 6.3 24.8 3 32.3-3 3.7-3 6-6.6 6.6-9.2.6-2.5.5-3.5-1.3-5.3-8.3-7.2-19.7-14.2-30.3-22.9-10.67-8.8-20.8-20.1-24.05-35.8-3.25-15.8.64-34.6 13.92-58.01 7.43-13.09 18.23-28.01 32.43-44.78zm43.3 113.73c-7.6.1-15.3 1-22.9 2.7-9.8 2.2-19.3 5.8-28.2 10.7 8.7 6.8 19 13.2 28 21.1l.2.2.3.2c6.1 6.2 7.9 15.1 6.1 22.6-1.9 7.4-6.6 13.8-12.9 18.8-12.5 10-32.4 14.7-51.53 5-5.4-2.7-10.49-5.5-15.27-8.6-2.38 9.4-3.69 19.8-3.69 31.2 0 43 37.69 90 81.19 131.5 21.8 20.8 44.7 40.2 64.3 57.6 15.1 13.3 28.1 25.2 37.5 36.3 9.4-11.1 22.4-23 37.5-36.3 19.6-17.4 42.5-36.8 64.3-57.6 43.5-41.5 81.2-88.5 81.2-131.5 0-11.4-1.3-21.8-3.7-31.2-4.8 3.1-9.9 6-15.4 8.7-19.2 9.6-39.1 4.9-51.6-5.1-6.3-5-11-11.4-12.9-18.8-1.8-7.5 0-16.4 6.1-22.6l.3-.2.2-.2c9.1-7.9 19.4-14.3 28.1-21.1-8.8-4.9-18.3-8.5-28.1-10.7-40.6-9.2-83.6 5.6-97.6 40.6l-8.4 20.9-8.4-20.9c-11.3-28.5-41.9-43.6-74.7-43.3zm-17.8 102.1c20.6 28.5 49.5 50.4 84.9 67.2-52.2 33.9-104.2 4.1-84.9-67.2zm201.8 0c19.3 71.3-32.7 101.1-84.9 67.2 35.4-16.8 64.3-38.7 84.9-67.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilTower;

impl IconShape for EvilTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 22.683l64 27.632 16-16zm384 0l-80 11.632 16 16zm-204.908 5.902c-17.084 3.209-34.355 12.056-48.1 21.219-11.706 7.804-19.017 14.13-23.594 18.302 7.8 12.21 20.963 24.967 35.594 34.721 12.313 8.209 25.698 14.22 37.088 16.912l-13.445-53.783zm25.816 0l12.457 37.371-13.445 53.783c11.39-2.692 24.775-8.703 37.088-16.912 14.631-9.754 27.793-22.512 35.594-34.72-4.577-4.173-11.888-10.5-23.594-18.303-13.745-9.163-31.016-18.01-48.1-21.219zM256 46.771l-6.635 19.904L256 93.214l6.635-26.54zM128 66.315l-96 16 112 16zm256 0l-16 32 112-16zm-224 48l-80 48 96-32zm192 0l-16 16 96 32zm-152.178 29.928l-25.834 297.074h27.594l13.174-289.845c-4.634-2.16-9.539-4.546-14.934-7.229zm112.356 0c-5.395 2.683-10.3 5.069-14.934 7.229l13.174 289.845h27.594zm-79.739 14.608L219.6 441.317H292.4l-12.84-282.466c-8.328 2.898-15.853 4.462-23.56 4.462-7.707 0-15.232-1.564-23.56-4.462zm-85.943 300.462l-50.008 30.004H199.4l1.364-30.004zm72.285 0l-1.363 30.004h77.164l-1.363-30.004zm92.455 0l1.364 30.004h102.912l-50.004-30.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExecutionerHood;

impl IconShape for ExecutionerHood {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.1 32.71C225.6 59.65 191.7 102.6 180.2 136.3l-18.9 189c-33.4 27.9-75.14 45.3-122.16 60.9l18.31 37.3 38.59-13.8 22.06 21.4-17.3 27.6 36.2 19.1 20.5-29.9 36.8 7.2-10.9 30.4 41.8 9.9 12.6-37.5 42 .4 23 32.7 42.4-3.6-15.1-32.4 35.9-9.6 23.7 28.6 47.9-19.2-35.3-27.5 25.2-17.2 30.8 9.6 15.7-33c-42.9-18.7-87-37.1-114.8-59.9l-15.8-197.4c.6-19.4-43.1-50.58-17.3-96.69zM198.5 208c6 28.1 28.7 33.1 57.5 40.9-26.5.9-43.2 15.6-57.5 0-10.7-11.5-6.3-27.8 0-40.9zm131 0c6.3 13.1 10.7 29.4 0 40.9-14.3 15.6-31 .9-57.5 0 28.8-7.8 51.5-12.8 57.5-40.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExitDoor;

impl IconShape for ExitDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217 28.098v455.804l142-42.597V70.697zm159.938 26.88l.062 2.327V87h16V55zM119 55v117.27h18V73h62V55zm258 50v16h16v-16zm0 34v236h16V139zm-240 58.727V233H41v46h96v35.273L195.273 256zM244 232c6.627 0 12 10.745 12 24s-5.373 24-12 24-12-10.745-12-24 5.373-24 12-24zM137 339.73h-18V448h18zM377 393v14h16v-14zm0 32v23h16v-23zM32 471v18h167v-18zm290.652 0l-60 18H480v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Expand;

impl IconShape for Expand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 64v128l48-48 48 48 32-32-48-48 48-48H64zm256 0l48 48-48 48 32 32 48-48 48 48V64H320zM64 320v128h128l-48-48 48-48-32-32-48 48-48-48zm288 0l-32 32 48 48-48 48h128V320l-48 48-48-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Expense;

impl IconShape for Expense {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M268.383 22.168l-55.918 84.482 29.717 3.733c-9.22 30.13-11.095 50.878-8.885 92.12 14.138-2.23 25.56-3.025 40.586 1.39-9.877-36.84-8.844-49.427-4.88-89.768l32.622 2.277-33.242-94.234zm218.482 2.21l-108.36 30.03 20.915 25.975c-49.512 31.019-80.331 55.548-104.74 123.164 13.201-.152 28.098 2.921 44.174 9.004 5.728-44.666 33.74-76.14 79.302-108.918l19.983 24.816 48.726-104.07zm-463.574 2.31L89.17 129.173l19.084-28.711c35.554 32.44 58.145 76.33 57.308 107.43 18.568-8.696 29.927-9.527 49.735-3.778-8.105-31.203-43.577-108.722-91.639-129.103l16.57-26.037L23.292 26.687zm276.117 214.667c-5.28.12-10.21 2.415-16.937 9.594l-6.565 6.969-6.812-6.72c-7.387-7.28-13.216-9.29-19.125-9.03-5.908.26-12.855 3.367-20.625 9.656l-6.217 5.03-5.906-5.374c-8.9-8.052-16.485-10.439-23.75-10.064-5.288.274-10.775 2.266-16.25 5.75l40.966 73.69c15.454 9.451 47.034 13.006 68.75 2.062l39.594-73.344c-7.51-3.062-14.26-6.202-20.094-7.406-2.112-.437-4.07-.756-5.968-.813-.354-.01-.71-.008-1.06 0zm-89.97 96.188v.002c-18.035 12.742-32.516 34.717-38.125 66.904-5.435 31.196 3.129 52.266 18.283 66.625 15.155 14.36 37.902 21.736 61 21.436 23.1-.3 46.136-8.31 61.625-22.936 15.49-14.627 24.249-35.425 19.281-65.187-5.137-30.757-18.4-52.148-35.19-65.094-28.482 15.056-64.095 11.856-86.875-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExplodingPlanet;

impl IconShape for ExplodingPlanet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M452.6 27.68L361.9 145.7l51.2 5.5 80.4-43.5-40.9-8.62zm-128.4-7.36l-36.6 5.62 8.5 26.69zm10.2 18.26L266.9 139.4l33.1 1 101.2-82.2zm-99.9 21.16c-53 .1-104.1 19.63-143.67 54.96h87.67v18H72.96c-20.03 22.6-35.08 49.2-44.2 78H210.5v18H23.94c-2.27 9.9-3.84 19.9-4.7 30H130.5v18H18.54c.1 21 3.25 41.9 9.38 62H274.5v18H34.4c6.64 16.3 15.26 31.8 25.65 46H162.5v18H74.73c10.1 11.1 21.34 21.2 33.57 30h118.2v18h-88.9c30.1 15.1 63.2 23 96.9 23 72.9-.1 140.9-36.9 180.7-98l-51.7-42.9L372 318l-65.6 8.4 4-76.4-92.3 54.1 44.1-101.3-67-27.4s70.4-81.81 94.1-108.32c-17.9-4.78-36.3-7.25-54.8-7.34zm208.1 99.96l-49.9 35.4 97.3-25.9zM312.9 170l-32.3 54.6 45.2-25.8zm134.4 37.1L342 245.7l-9.8 33.7 104.6 1.4zm-32.5 88.5l4.9 39.3 60.4 35.2-4.9-41.5zm33.7 85l17.3 77.9 22.4-43.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExtraTime;

impl IconShape for ExtraTime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.6 18.26c25.7 28.26 20.8 70.34-14.8 81.68-49.6 15.76-89.25-16.95-126.35-40.32C63.11 95.64 87.2 146.6 132 175.6c-26.5 17.2-61.33 23.7-97.65 28.3 40.69 20.2 81.95 38.7 129.75 42.2-38.8 36.3-74.24 61.8-127.55 76.9 43.68 13.4 89.75 16.4 132.75 4.8-38 43.8-59 88.9-72.05 134.7 34.95-16.2 64.55-44 117.55-38.8-2.2 25.5 3.9 49.1 23.3 70 8.8-31.8 29-60.8 65.7-85.9 26.8 35.3 71.5 56.8 122.1 73.8-22.8-33.6-51-66.5-41.8-105.4 6.3-25.9 35.5-48.8 79.8-44.7-18.3-25.7-67.8-52.1-118.4-70.6 59.1-14.7 101.4-52 132.1-89.6-47.3 4.5-109 22.9-141.5-10.1 37-37.6 72.4-82.4 78.4-127.04-40.1 26.91-80.5 51.89-124.9 45.5-18-23.1-41-46.25-95-61.4zM309 91.24l9.5 48.96-10.7 2.1c2 17.2 1 40.1-4.4 61.8-3.1 12.8-7.9 25.2-15.1 35.3-1.7 2.4-3.7 4.7-5.7 6.9 2.7 1.1 5.3 2.5 7.8 4.1 10.5 6.6 19.5 16.2 27.2 26.9 13.2 18 22.7 38.8 27.4 55.4l10.6-2.1 9.7 48.9-161.7 32.3-7.8-40.2-1.7-8.8 10.7-2.1c-2-17.2-1-40.1 4.4-61.8 3.1-12.8 7.9-25.2 15.1-35.3 1.7-2.4 3.6-4.7 5.6-6.8-2.7-1.2-5.2-2.6-7.7-4.2-10.5-6.6-19.5-16.2-27.3-26.9-13.1-18-22.6-38.8-27.3-55.4l-10.7 2.1-7.8-40.1-1.8-8.8zm-14.2 21.16l-126.3 25.3 2.6 13.5L297.5 126zm-4.9 33.4l-104.4 20.9c4.3 14 12.7 33 24 48.4 6.8 9.4 14.6 17.4 22.3 22.3 4.7 2.9 9.2 4.8 13.7 5.5l4.1 20.7c-4 2.4-7.4 5.8-10.6 10.4-5.4 7.5-9.6 17.9-12.4 29.2-4.6 18.6-5.2 39.4-3.9 54l104.4-20.9c-4.3-14-12.7-33-24-48.4-6.8-9.4-14.6-17.4-22.3-22.3-4.7-3-9.2-4.8-13.7-5.5l-4.1-20.7c4-2.4 7.4-5.8 10.6-10.4 5.4-7.5 9.5-17.9 12.4-29.2 4.6-18.6 5.1-39.4 3.9-54zm51.6 206L215.1 377l2.7 13.6 126.3-25.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExtraVision;

impl IconShape for ExtraVision {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25C154.825 25 73 106.825 73 208c0 48.449 18.762 92.46 49.428 125.174l47.87-66.319v-.001C158.763 250.107 152 229.827 152 208c0-57.343 46.657-104 104-104 13.56 0 26.524 2.609 38.414 7.352A64 64 0 0 0 272 160a64 64 0 0 0 64 64 64 64 0 0 0 23.36-4.416c-1.938 17.404-8.191 33.526-17.659 47.27v.001l47.871 66.319C420.238 300.46 439 256.449 439 208c0-101.175-81.825-183-183-183zm0 192.9-42.092 19.293L33.596 487H70.75L112 432l-13.75 55h49.35L208 336l-15.1 151h78.457L256 272l46.072 215h47.678L304 304l83.982 183h40.278l-36.147-87 65.147 87h21.144L298.092 237.193 256 217.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EyeOfHorus;

impl IconShape for EyeOfHorus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.844 103.406c-51.02.152-100.492 27.427-130.875 51.344a10.225 10.225 0 1 0 12.655 16.063c32.636-25.69 91.61-55.075 141.625-44.688 19.426 4.034 65.063 20.658 116.906 34.25 51.844 13.592 110.76 24.492 161.75 16.438a10.22 10.22 0 1 0-3.22-20.188c-45.672 7.215-102.65-2.71-153.342-16-50.694-13.29-94.236-29.577-117.938-34.5-7.522-1.562-15.09-2.416-22.625-2.656-1.647-.054-3.29-.07-4.936-.064zM157.25 192.97c-24.192-.214-47.535 5.535-68.22 21.75-5.46 4.28-17.325 14.996-28.905 27.093-5.79 6.048-11.367 12.32-15.813 18.28-4.445 5.962-8.345 10.69-9 18.72-.288 3.542.914 9.19 5.126 12.312 4.21 3.12 8.204 2.782 10.937 2.406 5.466-.75 9.55-2.78 14-4.655 4.45-1.876 8.895-3.714 11.78-4.47.94-.244 1.203-.234 1.626-.28 12.617 11.568 27.404 18.405 43.095 21.625 1.378 9.367 1.992 16.297 2.188 21.25-1.443-1.247-3.184-2.63-8.157-2.594-3.154.024-7.63 2.35-9.47 5.125-1.836 2.777-2.06 4.986-2.186 6.845-.623 9.155 2.688 16.01 5.063 20.938 2.374 4.926 4.582 9.548 5.78 20.968 1.323 12.59 1.3 11.762 1.282 12.908-.017 1.145-.087 4.432 1.063 21.375a10.227 10.227 0 1 0 20.406-1.407c-1.137-16.762-1.084-18.207-1.063-19.656.023-1.45-.052-2.756-1.374-15.344-1.135-10.816-3.6-18.323-5.875-23.687 3.072-.027 6.512-.81 9.095-3.095 4.126-3.65 5.072-7.907 5.656-12.25.904-6.707.504-15.36-1.28-28.344 41.292 38.376 67.568 62.575 92.53 78.658 25.6 16.49 49.865 23.933 84.47 28.5 25.058 3.306 58.41 4.946 88.063-.688 14.826-2.817 28.813-7.448 40.375-15.25 11.56-7.802 20.63-19.3 23.78-34 3.47-16.188-6.37-30.54-18.25-40.438-11.88-9.896-27.095-16.847-42.468-13.625-12.115 2.54-20.626 11.56-26.47 21.844-2.92 5.144-5.082 10.818-5.06 17.22.02 6.402 3.28 13.846 9.467 18a10.223 10.223 0 1 0 11.407-16.97c-.77-.515-.434.158-.438-1.092-.004-1.25.69-4.094 2.375-7.063 3.374-5.937 11.07-11.553 12.908-11.938 5.578-1.17 16.894 2.38 25.218 9.313 8.324 6.934 12.36 15.725 11.344 20.47-1.983 9.254-7.022 15.79-15.25 21.342-8.228 5.554-19.71 9.647-32.75 12.125-26.083 4.957-58.073 3.604-81.594.5-33.082-4.365-52.926-10.53-76.062-25.437-20.04-12.91-42.648-32.91-76.344-64.063 10.808-1.54 21.75-3.933 32.72-6.843 45.45-12.058 91.97-32.94 128-40.875 45.925 8.557 92.254 8.56 138.56-3.5a10.218 10.218 0 0 0-2.436-20.126 10.218 10.218 0 0 0-2.72.344c-45.82 11.935-91.592 11.27-137.874 1.562a10.22 10.22 0 0 0-3.375-.125c-35.68-8.707-75.075-25.725-113.938-35.875-15.675-4.094-31.543-7.024-47.093-7.656-1.62-.066-3.23-.11-4.844-.125zm1.375 20.31c1.055.026 2.122.044 3.188.095 13.332.643 27.435 3.295 42.218 7.156 27.964 7.304 57.475 18.91 86.907 28.157-30.342 9.936-62.537 22.768-93.218 30.907-8.37 2.22-16.604 4.077-24.595 5.437 11.364-6.918 19.063-19.127 19.063-33.155 0-19.417-14.72-35.375-33.563-38.594zm-18.938 1.157c-16.412 4.936-28.593 19.753-28.593 37.438 0 15.4 9.24 28.612 22.47 35.03-16.355-1.81-30.32-7.407-42.283-18.967-3.2-3.094-7.37-4.215-10.624-4.375-3.253-.16-6.013.37-8.656 1.062-2.393.625-4.683 1.43-6.906 2.28 2.972-3.543 6.243-7.208 9.812-10.936 10.864-11.35 23.386-22.52 26.75-25.157 11.7-9.17 24.4-14.253 38.03-16.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EyeTarget;

impl IconShape for EyeTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 105c-60.25 0-124.749 38.39-167.945 77.66-34.931 31.756-58.722 62.36-66.88 73.34 8.158 10.98 31.949 41.584 66.88 73.34C131.25 368.61 195.75 407 256 407s124.749-38.39 167.945-77.66c34.931-31.756 58.722-62.36 66.88-73.34-8.158-10.98-31.949-41.584-66.88-73.34C380.75 143.39 316.25 105 256 105zm0 23a128 128 0 0 1 63.486 16.969A48 48 0 0 0 288 190a48 48 0 0 0 .023.453A72.362 72.362 0 0 0 265 183.576V160h-18v23.576c-33.034 4.095-59.33 30.39-63.424 63.424H160v18h23.576c4.095 33.034 30.39 59.33 63.424 63.424V352h18v-23.576c33.034-4.095 59.33-30.39 63.424-63.424H352v-18h-23.576a72.33 72.33 0 0 0-1.98-10.014A48 48 0 0 0 336 238a48 48 0 0 0 41.023-23.195A128 128 0 0 1 384 256a128 128 0 0 1-128 128 128 128 0 0 1-128-128 128 128 0 0 1 128-128zm-9 73.738V224h18v-22.262c23.237 3.792 41.47 22.025 45.262 45.262H288v18h22.262c-3.792 23.237-22.025 41.47-45.262 45.262V288h-18v22.262c-23.237-3.792-41.47-22.025-45.262-45.262H224v-18h-22.262c3.792-23.237 22.025-41.47 45.262-45.262z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eyelashes;

impl IconShape for Eyelashes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.3 80.89C122.5 81.18 56.21 109.7 18.89 145l12.36 13C93.43 99.36 258.4 54.4 485.6 176.8l8.6-15.8c-108.8-58.6-204.6-80.37-282.9-80.11zm-96.9 84.81c-55.98 21.9-81.16 65.6-96.64 94.4l15.86 8.6c15.24-28.5 37.13-66.6 87.38-86.2 50.2-19.6 130.5-20.9 263.1 30.7l6.6-16.8c-91.7-32.6-187-64.8-276.3-30.7zm260.4 76c-177.5 91.5-260 65.2-352.46 41.4l-4.48 17.5c15.96 4.1 31.94 8.3 48.39 11.9-19.36 13.6-28.82 17.2-40.19 24.6 25.65-1.1 42.18-9.2 59.71-16.6-12.58 15.5-23.55 31-46 47.4 27.02-7.2 53.04-15.2 72.63-28.8-12.47 20-27.72 39.5-44.89 58.6 29.43-9.2 51.69-31.4 74.79-53.4-.3 19.1-9.2 38.2-15.5 57.3 21-19.3 30-33.2 42.7-52.5-1.2 29.2 7 52.8 14.2 82 4.5-27.9 9.5-55.9 9.5-82.9 15 25 35.1 47.8 60.4 68.1-13.5-23.5-27-46.9-34.1-71.3 25.8 24.5 52.7 48.3 85 68.2-21.5-23.5-41.9-47.3-55.1-72.7 23.2 21.8 46.5 43.6 85.3 56.2-28.1-19.3-46.1-41.2-59.3-64.3 26.7 22.4 56.6 42.3 92.7 57.2-31.9-22-49.9-44-62.2-66 26.4 21.8 56.6 36.2 82.9 50.6-20.8-19.2-43.5-37.6-54.4-60.4 21.5 18.7 46.9 26.8 72 35.5-23.3-15.5-36.7-26-50.6-44.3 22.2 11.2 40.7 15.6 67.4 22.2-17.4-9.7-35.9-23-47.8-34.5 26.7 6.7 56 7.8 83.6 7.4-25.3-6.6-52.8-12.4-67.4-22.5 58.4.5 62-4.6 86.5-16.8-51.8 3.8-84.7 2.9-103.3-19.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eyepatch;

impl IconShape for Eyepatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.3c-38.4 0-74.1 19.04-102.5 51.82 18.6 36.68 63.9 91.48 115.2 138.38.7-.6 1.5-1.1 2.3-1.4 43.5-16.6 121.9-10.2 128.2 14.3 4.7 18.2 10.5 46.4-.6 74.9 6.5 2.4 12.7 4.3 18.5 5.6 2.2-15.1 3.3-30.9 3.3-47 0-66.1-19.1-125.8-49.2-168.5C341 44.72 300.4 19.3 256 19.3zM141.3 86.6c-.2.27-.4.53-.6.8-30.1 42.7-49.1 102.5-49.1 168.5 0 66.2 19 125.9 49.1 168.7 30.2 42.7 70.9 68.1 115.3 68.1 44.4 0 85-25.4 115.2-68.1 19.8-28.2 34.9-63.7 42.9-103.7-7.8-1.6-15.7-4.1-23.9-7.3-.9 1.5-1.9 3-3 4.5-6.8 9.4-75.1 8.2-110.1-11.7-12.1-6.9-18.7-51.9-15-78.7-51.7-46.3-97.9-99.7-120.8-141.1zm18.4 144.6c1-.1 2.1 0 3.1 0-6.8 5.3-11.2 13.6-11.2 22.9 0 15.8 12.9 28.8 28.8 28.8s28.9-12.9 28.9-28.8c0-4.6-1.1-9-3-12.8 13.3 5.5 26.4 13.6 39.4 23.6-37.1 62.1-128.8 25-137.2-22.5 16.6-7.4 32.8-11 48.7-11.2h2.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FClef;

impl IconShape for FClef {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.504 23.109c-66.649.146-106.53 38.463-117.59 77.154-11.06 38.692 3.301 76.266 17.495 97.608l.37-.247a64 64 0 0 0 51.755 26.485 64 64 0 0 0 64-64 64 64 0 0 0-64-64 64 64 0 0 0-49.717 23.777c.595-6.139 1.676-12.251 3.363-18.152 9.337-32.665 33.605-60.427 94.383-60.625 59.958-.195 94.302 63.78 92.652 152.82-1.487 80.241-11.975 128.266-60.033 171.305-48.058 43.04-107.95 78.339-179.906 106.484-13.016 5.091-1.171 19.747 6.515 16.781 72.712-28.054 144.82-53.25 195.828-98.931 51.008-45.681 96.234-86.259 96.811-197.293.506-97.408-44.5-169.401-151.926-169.166zm224.03 41a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm0 128a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FaceToFace;

impl IconShape for FaceToFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M392 60.48c-22.1 0-42.1 23.8-42.1 55.62 0 31.9 20 55.7 42.1 55.7s42.1-23.8 42.1-55.7c0-31.82-20-55.62-42.1-55.62zm-271.9.1c-22.14 0-42.19 23.8-42.19 55.52 0 31.9 20.05 55.7 42.19 55.7 22.2 0 42.2-23.8 42.2-55.7 0-31.72-20-55.52-42.2-55.52zM83.01 176.5c-25 8-52.6 33.5-59.4 61.9l-3.6 79.7c-.1 11.6 13.1 28.8 36.8 23.1 51.99-12.4 79.09-26 118.39-41.5l-4.9-23.5c-34.6 12.2-74.24 28-114.29 31.9l1.1-79.9 18 .2-.7 58.1c26.79-4.9 63.49-18 92.19-28l-6.3-30.6 17.6-3.6c7.2 34.8 12.9 62.2 20.1 97.9-9.3-.8-16.6-1.4-25.7-2-17.4 7.1-33.1 13.9-50.7 20.5 22.1 4.3 43.6 8 61 8.4 14.9.3 26.1-2.3 31.6-6.8s8.3-11.3 5.1-27.2c-6.7-33.1-11.7-65.3-20.9-90.1-9.2-25-21.5-41.5-44-48.2-9.5 8.2-21.3 13-34.3 13-14.4-.2-22.84-4.5-37.09-13.3zm345.99 0c-14.2 8.8-22.6 13.1-37 13.3-12.9 0-24.7-4.8-34.2-13-22.5 6.7-34.8 23.2-44 48.2-9.2 24.8-14.2 57-20.9 90.1-3.2 15.9-.4 22.7 5.1 27.2s16.7 7.1 31.6 6.8c17.4-.4 38.9-4.1 61-8.4-17.6-6.6-33.3-13.4-50.7-20.5-9.1.6-16.4 1.2-25.7 2 7.2-35.7 12.9-63.1 20.1-97.9l17.6 3.6-6.3 30.6c28.7 10.1 65.3 23.2 92 28.1l-.7-58.1 18-.2 1.1 79.9c-40-3.9-79.5-19.7-114.1-31.9l-4.9 23.5c39.3 15.5 66.3 29.1 118.2 41.5 23.7 5.7 36.9-11.5 36.8-23.1l-3.6-79.7c-6.8-28.5-34.4-54-59.4-62zM86.96 351.9c-10.55 3.1-22.95 6.8-34.65 8.3l2.5 91.3H169.5l2.5-85c-26.4-2-57-8.9-85.04-14.6zm338.14 0c-28 5.7-58.5 12.6-84.9 14.6l2.5 85h114.5l2.5-91.3c-11.7-1.5-24.1-5.2-34.6-8.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Factory;

impl IconShape for Factory {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384 64l.387 256H368l-96-128-16 128-96-128-16 128-96-128-16 128v160h448V64h-32v256h-32V64h-32zM64 352h48v32H64v-32zm80 0h48v32h-48v-32zm80 0h48v32h-48v-32zm80 0h48v32h-48v-32zM64 416h48v32H64v-32zm80 0h48v32h-48v-32zm80 0h48v32h-48v-32zm80 0h48v32h-48v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FactoryArm;

impl IconShape for FactoryArm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.725 24.998l30.002 30.004h4.779c10.261-9.89 24.188-16 39.494-16 15.306 0 29.233 6.11 39.494 16h4.78l30.001-30.004h-148.55zm74.275 32A38.867 38.867 0 0 0 152.998 96 38.867 38.867 0 0 0 192 135.002 38.867 38.867 0 0 0 231.002 96 38.867 38.867 0 0 0 192 56.998zm56.955 37.297c.017.568.043 1.133.043 1.705 0 22.324-12.981 41.729-31.77 51.07l77.8 29.946c-.011-.338-.026-.676-.026-1.016 0-13.624 8.415-25.416 20.293-30.428l-66.34-51.277zM328 160.998c-8.391 0-15.002 6.61-15.002 15.002 0 8.391 6.61 15.002 15.002 15.002 8.391 0 15.002-6.61 15.002-15.002 0-8.391-6.61-15.002-15.002-15.002zm-15.871 43.887l-2.945 25.799 19.57 4.084 6.21-26.524a32.649 32.649 0 0 1-22.836-3.36zm-19.998 16.484c-9.663 3.586-17.838 9.415-24.137 15.309-11.977 11.206-18.521 23.416-18.521 23.416l15.834 8.556s5.364-9.83 14.984-18.83c2.877-2.691 6.024-5.225 9.436-7.388l2.404-21.063zm55.703 10.858l-5.025 21.459c2.06 2.912 3.878 6.001 5.468 9.134 6.149 12.113 8.244 23.496 8.244 23.496l17.713-3.195s-2.437-13.73-9.908-28.447c-3.838-7.561-9.205-15.727-16.492-22.447zm-178.836 64.771v30.004h30.004v-30.004h-30.004zm128 0v30.004h30.004v-30.004h-30.004zm122.322 0v30.004h30.002v-30.004H419.32zm-275.32 48c-20 0-27.002 11.502-27.002 23.002 0 11.5 7.002 23.002 27.002 23.002h6.275c-8.936-3.83-15.273-12.742-15.273-23.002 0-10.26 6.337-19.173 15.273-23.002H144zm25.725 0c8.936 3.83 15.273 12.742 15.273 23.002 0 10.26-6.337 19.173-15.273 23.002h156.55c-8.936-3.83-15.273-12.742-15.273-23.002 0-10.26 6.337-19.173 15.273-23.002h-156.55zm176 0c8.936 3.83 15.273 12.742 15.273 23.002 0 10.26-6.337 19.173-15.273 23.002h149.277v-46.004H345.725zM63.482 360.227l-16.236 25.228 25.229 16.236 16.236-25.226-25.229-16.238zm96.518.771c-3.973 0-7.002 3.029-7.002 7.002s3.029 7.002 7.002 7.002 7.002-3.029 7.002-7.002-3.029-7.002-7.002-7.002zm176 0c-3.973 0-7.002 3.029-7.002 7.002s3.029 7.002 7.002 7.002 7.002-3.029 7.002-7.002-3.029-7.002-7.002-7.002zm-136.998 48V496h17.996v-87.002h-17.996zm240 0V496h17.996v-87.002h-17.996z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fairy;

impl IconShape for Fairy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.83 24.426c-14.71 1.688-27.402 8.33-38.143 17.437 21.23 13.037 42.044 30.898 61.172 49.701 11.727 11.528 22.782 23.42 32.816 34.805 2.442-4.263 4.944-8.626 7.532-13.092-4.309-38.254-34.612-87.21-63.377-88.851zM71.886 46.303c-28.61 18.45-40.203 39.995-42.605 63.398-.15 74.543 63.687 152.073 122.455 179.155-28.275 12.217-60.633 32.6-76.461 55.98-11.387 19.032-10.034 31.734 7.072 40.14 34.057 16.282 67.59 8.121 96.186-7.785-7.344-3.524-14.805-7.242-22.362-10.962 44.88-10.627 66.885-45.326 91.797-75.745.059-6.436.504-13.327 1.325-20.502a43.516 43.516 0 0 1-5.502 1.524c-6.904 9.334-14.834 17.74-24.063 24.5 2.14 10.716-3.044 22.63-12.478 30.2-12.624 10.126-31.187 11.141-41.143-1.268-9.956-12.41-4.94-30.31 7.684-40.438 10.637-8.535 25.492-10.597 35.861-3.607 3.691-2.802 7.176-5.973 10.478-9.44-19.17-5.932-51.374-15.938-56.818-34.84-1.342-4.912.81-12.057 5.219-15.408 37.102-28.196 54.783-52.147 70.605-78.478-10.657-12.265-22.785-25.439-35.896-38.327-32.68-30.98-92.798-81.056-131.354-58.097zm381.455 1.342L438.308 71.58l-27.53-6.406 18.12 21.693-14.598 24.201 26.229-10.527 18.508 21.361-1.908-28.199 26.035-10.998-27.409-6.9zM286.636 97.768c-31.881 49.744-43.506 88.443-104.685 135.77 13.843 12.594 33.702 21.043 51.474 21.064 8.487-.088 14.172-2.306 17.625-7.059 11.48-15.8 15.656-39.606 21.385-62.818 5.73-23.213 13.931-47.302 37.625-58.055 20.1-5.935 38.659 2.736 55.143 11.6 1.529-4.12 2.463-8.88 2.365-13.694-1.157-34.505-68.383-40.598-80.932-26.808zm139.784 22.289l-20.05 73.98c6.298-.42 12.578 1.362 17.339 4.834l20.084-74.107zM317.498 143.06c-14.519 6.588-20.98 21.077-26.16 40.449 3.481 7.099 8.888 12.376 15.466 14.648 15.531 5.364 35.634-6.645 43.217-30.035 1.783-5.5 2.636-10.925 2.711-16.08-9.606-5.248-25.954-13-35.234-8.982zm-31.526 63.002c-3.265 14.198-7.083 29.01-14.289 42.363-2.701 12.403-4.405 24.449-5.086 35.013 13.039 7.148 29.31 10.761 42.942 8.446 12.331-11.85 28.684-27.948 27.936-43.933-.553-8.697-5.006-20.166-7.471-33.02-17.208 4.562-31.691 2.43-44.032-8.87zm110.436 16.447c-2.267 7.933 1.41 14.15 6.047 15.29 4.637 1.141 11.153-2.568 13.42-10.501 2.267-7.934-1.412-14.152-6.05-15.293-6.508-.905-12.2 6.554-13.417 10.504zm-7.584 28.603c-3.453 9.805-7.315 19.06-14.48 28.305-6.839-6.749-12.912-14.547-18.268-22.84-1.097 7.625-4.754 14.066-8.518 19.486 9.168 11.889 17.428 19.544 28.23 28.495 14.257-13.76 24.77-32.23 30.587-48.825-6.38.516-12.674-1.153-17.551-4.62zm-203.77 47.426c-6.589 5.286-7.21 12.266-4.908 15.135 2.302 2.869 9.251 3.776 15.84-1.51s7.208-12.266 4.906-15.135c-4.943-4.1-11.831-1.63-15.838 1.51zm77.295 2.97c-14.904 18.19-31.895 45.95-63.98 65.055 41.127 18.595 78.3 29.021 104.463 28.729 5.59-28.393 8.762-56.945 1.767-84.805-15.255.425-29.374-2.567-42.25-8.978zm-42.006 93.89c-5.72 9.016-12.532 17.725-20.484 25.923-7.492-4.257-15.117-8.599-22.982-12.527l-8.043 16.103c5.532 2.764 11.165 6.01 16.927 9.397-18.288 15.027-41.164 27.595-69.029 36.078l5.242 17.22c32.565-9.913 59.247-25.254 80.239-43.76 22.665 10.31 42.29 18.374 63.117 17.056 13.743-12.908 22.215-31.465 27.238-47.662-5.966-.39-12.177-1.172-18.598-2.307-4.06 11.875-9.111 24.142-16.455 32.252-13.847-.06-27.48-5.597-41.437-12.895 8.378-9.091 15.57-18.736 21.595-28.718a386.01 386.01 0 0 1-17.33-6.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FairyWings;

impl IconShape for FairyWings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152 25c-16.8 0-28 3.51-35.2 8.64-7.3 5.14-11.1 11.95-12.7 21.34-3.1 18.79 5.3 47.62 21.7 76.62 14.9 26.2 35.9 52.6 58.5 73.6 18.5 12.7 38.4 25.1 60.1 35.6-25.1-45.3-38.9-96.8-51-138.3-7-23.9-13.5-44.59-20.6-58.37-3.6-6.89-7.3-11.96-10.8-14.98-3.4-3.01-6.2-4.15-10-4.15zm208 0c-3.8 0-6.6 1.14-10 4.15-3.5 3.02-7.2 8.09-10.8 14.98-7.1 13.78-13.6 34.47-20.6 58.37-12.1 41.5-25.9 93-51 138.3 21.7-10.5 41.6-22.9 60.1-35.6 22.6-21 43.6-47.4 58.5-73.6 16.4-29 24.8-57.83 21.7-76.62-1.6-9.39-5.4-16.2-12.7-21.34C388 28.51 376.8 25 360 25zM51.17 139.9c-3.33.1-6.23 1.1-9.03 2.9-11.19 11.8-17.01 22.5-19.03 31.8-2.07 9.5-.58 17.8 3.91 26 8.99 16.5 31.6 32.1 60.12 43.1 22.16 8.5 47.66 14.3 72.16 16.9 23.1-3 46.1-5.8 67-8.8-45.3-23.8-82.6-54-112.8-77-17.83-13.7-33.31-24.8-45.61-30.4-6.15-2.8-11.05-4.3-15.26-4.5h-1.46zm408.23 0c-4.2.2-9.1 1.7-15.3 4.5-12.3 5.6-27.8 16.7-45.6 30.4-30.2 23-67.5 53.2-112.8 77 20.9 3 43.9 5.8 67 8.8 24.5-2.6 50-8.4 72.2-16.9 28.5-11 51.1-26.6 60.1-43.1 4.5-8.2 6-16.5 3.9-26-2-9.3-7.9-20-19-31.8-2.8-1.8-5.8-2.8-9.1-2.9h-1.4zM243.3 267.2c-41.1 6.7-91.6 11.5-134.6 19.3-24.01 4.3-45.47 9.7-60.74 16.4-15.27 6.7-23.08 14.2-24.53 21.5-2.82 14.4-1.5 24.5 1.9 31.5 3.41 6.9 8.94 11.4 17.35 14.4 16.84 5.9 44.94 3.4 74.52-6.4 4-1.3 8.1-2.8 12.1-4.4 38.5-28.5 81.1-58.1 110.2-84.3 1.4-2.7 2.7-5.4 3.8-8zm25.4 0c1.1 2.6 2.4 5.3 3.8 8 29.1 26.2 71.7 55.8 110.2 84.3 4 1.6 8.1 3.1 12.1 4.4 29.6 9.8 57.7 12.3 74.5 6.4 8.4-3 14-7.5 17.4-14.4 3.4-7 4.7-17.1 1.9-31.5-1.5-7.3-9.3-14.8-24.6-21.5-15.2-6.7-36.7-12.1-60.7-16.4-43-7.8-93.5-12.6-134.6-19.3zm-21.1 24.9c-33.2 29.3-78.9 60.2-117.6 89.4-22.4 17-42.43 33.3-55.78 47.7-13.34 14.5-18.69 26.4-17.39 33.1 2.83 14.3 7.86 22.6 13.45 27.1 5.6 4.4 12.33 5.9 21.52 4.4 18.4-2.8 44.5-19 69.2-43.1 24.7-24.2 48.4-55.8 64.7-87.9 12.5-24.5 20.4-49.2 21.9-70.7zm16.8 0c1.5 21.5 9.4 46.2 21.9 70.7 16.3 32.1 40 63.7 64.7 87.9 24.7 24.1 50.8 40.3 69.2 43.1 9.2 1.5 15.9 0 21.5-4.4 5.6-4.5 10.6-12.8 13.5-27.1 1.3-6.7-4.1-18.6-17.4-33.1-13.4-14.4-33.4-30.7-55.8-47.7-38.7-29.2-84.4-60.1-117.6-89.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FalconMoon;

impl IconShape for FalconMoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.26 35.38a240 240 0 0 0-105.744 24.713A320 320 0 0 1 445.26 379.38a320 320 0 0 1-1.547 30.906A240 240 0 0 0 485.26 275.38a240 240 0 0 0-240-240zM129.277 140.017c-14.264-.07-34.752 4.185-54.246 11.367-18.38 6.772-36.08 15.964-48.29 24.045a456.28 456.28 0 0 1 30.795 12.674c12.88-4.53 26.8-7.557 41.256-9.81-8.62 5.73-17.867 10.836-25.874 17.182a421.206 421.206 0 0 1 21.53 11.658c11.68-6.89 24.65-12.53 38.284-17.526-8.468 8.432-17.93 16.2-24.976 25.58 23.664 14.888 47.283 32.917 71.924 55.196-19.853 24.114-34.97 49.79-62.63 83.342-12.216 14.818-35.192 22.92-56.864 31.802-10.836 4.442-21.304 8.76-29.418 12.965-.422.218-.75.44-1.157.658 2.923.585 5.162.886 8.376 1.654 15.46 3.69 33.263 8.75 44.54 20.03 11.28 11.278 16.338 29.08 20.03 44.538.764 3.205 1.065 5.437 1.647 8.354.214-.397.428-.716.64-1.125 4.21-8.12 8.54-18.597 12.99-29.44 8.904-21.69 17.01-44.663 31.804-56.85 33.62-27.697 59.25-42.79 83.34-62.627 22.277 24.64 40.306 48.258 55.193 71.92 9.38-7.043 17.15-16.507 25.58-24.975-4.997 13.635-10.636 26.606-17.525 38.283a421.156 421.156 0 0 1 11.658 21.534c6.346-8.006 11.452-17.252 17.18-25.875-2.25 14.454-5.277 28.374-9.807 41.25a456.25 456.25 0 0 1 12.676 30.8c8.08-12.21 17.27-29.91 24.043-48.293 9.575-25.99 13.945-53.75 9.806-66.168-4.327-12.987-22.966-32.91-46.425-50.85-13.265-10.145-27.97-19.92-42.24-28.497 22.97-27.682 47.46-61.673 47.46-61.673l.15-.21.162-.202a54.577 54.577 0 0 0 2.974-4.06c11.392-3.6 15.795 2.058 26.286 13.382-.222-24.04-10.287-37.62-23.93-45.166a26.21 26.21 0 0 0-3.462-4.278c-4.285-4.285-10.097-7.222-16.945-7.386-6.85-.164-14.738 2.444-23.18 9.252l-.2.162-.21.15s-33.993 24.492-61.675 47.46c-8.577-14.268-18.35-28.973-28.494-42.24-17.938-23.458-37.865-42.098-50.85-46.427-3.105-1.035-7.168-1.538-11.923-1.56z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingBomb;

impl IconShape for FallingBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.18 16.44L71.49 318.7 93.28 16.44h-43.1zm399.82 0l24.5 405.86 16.4-405.86H450zM256 28.46l-7.2 21.62-15.5 108.62c.6.5 1.6 1.1 3.5 1.8 4.6 1.5 12 2.5 19.2 2.5 7.3 0 14.6-1 19.2-2.5 1.9-.7 2.9-1.3 3.5-1.8L263.2 50.08 256 28.46zm-116.2 3.45l12.4 74.49 62.8 37.7V69.51l-75.2-37.6zm232.4.05L297 69.56v74.54l62.8-37.7 12.4-74.44zm37 89.14L370 177.2 387 402l22.2-280.9zm-184.8 53.4L185 227v118.8c47.5 17.7 94.4 17.7 142 0V227l-39.4-52.5c-2.1 1.3-4.4 2.2-6.8 3-7.4 2.5-16 3.5-24.8 3.5s-17.4-1-24.8-3.5c-2.4-.8-4.7-1.7-6.8-3zm-112.5 25.9l18.6 290.9 13-255.6-31.6-35.3zm-59.51 58.4l-30.2 22.3 22.27 165 7.93-187.3zm361.31 52.8l11.2 180.3 17.3-134.5-28.5-45.8zM185 364.9V400c0-.3.4 2.4 1.6 5.6 1.2 3.2 3 7.4 5.4 12 4.8 9.3 11.6 20.5 19.3 31.1 7.7 10.6 16.4 20.7 24.6 27.7 8.2 7.1 15.9 10.6 20.1 10.6 4.2 0 11.9-3.5 20.1-10.6 8.2-7 16.9-17.1 24.6-27.7 7.7-10.6 14.5-21.8 19.3-31.1 2.4-4.6 4.2-8.8 5.4-12 1.2-3.2 1.6-5.8 1.6-5.6v-35.1c-47.2 16.1-94.9 16-142 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingRocks;

impl IconShape for FallingRocks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.115 34.48l-36.94.586 10.02 28.995 27.258-2.324zM18 37.727V494h297.682L304 448l-64-64-48-160-88.055-80L96 64zM219.076 98.58L160 112l16.38 30.342 17.65 5.394-1.223 19.672L244.664 144zm34.656 60.99l-19.56 21.05 27.508 12.61 12.855-20.804zm50.907 90.002l-34.38 25.012-11.766 58.662 100.53 22.97-4.163-98.218zm107.475 62.373l-20.886 3.465-15.988 20.033 4.873 21.23 40.848-15.55zm-43.62 95.996l-44.32 5.87 6.858 29.422 36.875-1.396zm37.573 59.982l-32.103 5.375L340.113 494h79.508z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingStar;

impl IconShape for FallingStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.4 25.64l-12.8 12.72 160 160.04 12.8-12.8-160-159.96zm-32 95.96L128 128l-6.4 6.4 160 160 12.8-12.8-160-160zm-96.08 32L25.6 166.4l160 160 12.8-12.8-160.08-160zm314.78 86.6l-29.4 84.1-85.4 26 71 54-1.7 89.2 73.2-50.8 84.4 29.1-25.7-85.3 53.8-71.2-89.1-2-51.1-73.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FalloutShelter;

impl IconShape for FalloutShelter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.425 23 23 127.425 23 256s104.425 233 233 233 233-104.425 233-233S384.575 23 256 23zM149.268 71.287h213.168L256 256h213.17L362.732 440.713 256 256 149.564 440.713 42.83 256H256L149.268 71.287z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FamilyHouse;

impl IconShape for FamilyHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55.379 25l-28.4 142H172.27L256 83.271 339.729 167H485.02l-28.4-142zM256 108.727L179.729 185H41v302h158v-87c0-18.25 7.166-33.077 18.021-42.727C227.877 347.624 242 343 256 343s28.123 4.624 38.979 14.273C305.834 366.923 313 381.75 313 400v87h158V185H332.271zm0 38.544l57 57V297H199v-92.729zm0 25.456l-39 39V279h78v-67.271zM71 199h98v98H71zm272 0h98v98h-98zM89 217v30h62v-30zm272 0v30h62v-30zM89 265v14h62v-14zm272 0v14h62v-14zM71 359h98v98H71v-98zm272 0h98v98h-98v-98zm-87 2c-10 0-19.877 3.376-27.021 9.727C221.834 377.077 217 386.25 217 400v87h78v-87c0-13.75-4.834-22.923-11.979-29.273C275.877 364.376 266 361 256 361zM89 377v62h62v-62zm272 0v62h62v-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FamilyTree;

impl IconShape for FamilyTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.01 49v46H103V49zM153 49v46h78V49zm128 0v46h78V49zm128 0v46h78V49zM55.01 113v64H119v46h18v-46h64v-64h-18v46H73.01v-46zM311 113v64h64v46h18v-46h64v-64h-18v46H329v-46zM89.01 241v46H167v-46zM345 241v46h78v-46zm-226 64v48h128v46h18v-46h128v-48h-18v30H137v-30zm98 112v46h78v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FarmTractor;

impl IconShape for FarmTractor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.864 59l-4.21 20h33.816l-4.211-20zm3.698 38v14h18V97zm-30.715 32l-7.78 94h17.145l6-80h130.545l-2-14zm302.715 23v74.602a593.471 593.471 0 0 1 18 1.666V152zm-270.65 9l-4.651 62h6.3c10.003 0 19.544 4.28 29 10.645V161zm48.65 0v84.26l78 8.681v-21.296L274.327 161zm-121 80c-8 0-23.292 6.759-37.377 18.027-10.908 8.726-21.254 19.89-28.747 31.166l16.813 4.203C56.271 269.225 87.129 253 121.561 253c50.594 0 93.48 35.024 105.586 82h20.409c-9.132-18.739-23.077-40.212-38.323-57.889-9.33-10.819-19.063-20.19-27.945-26.601-8.881-6.412-16.88-9.51-21.726-9.51zm217 .059V351h32.15c9.085-30.155 26.196-50.771 49.125-61.193 12.31-5.596 25.987-8.305 40.736-8.578 11.399-.212 23.445 1.049 35.989 3.54v-36.49c-11.495-1.781-25.084-3.178-39.633-4.203-40.207-2.831-86.16-3-118.367-3.017zm176 10.814V271h14v-13.41c-3.978-2.698-9.906-4.606-14-5.717zM222.7 265.168c.054.063.11.123.164.186 19.996 23.183 37.843 51.59 47.086 75.386l4.762 12.26h-44.53c.247 2.97.38 5.97.38 9 0 7.178-.713 14.198-2.057 21h56.057V272.055zM121.562 271c-50.081 0-91 40.92-91 91s40.919 91 91 91c50.08 0 91-40.92 91-91s-40.92-91-91-91zm357 18v14h14v-14zm-357 4c38.16 0 69 30.84 69 69s-30.84 69-69 69c-38.161 0-69-30.84-69-69s30.839-69 69-69zm307.603 6.27c-12.894.164-27.37 2.264-37.879 6.923-16.839 7.654-29.674 21.545-37.691 44.807h10.57c13.936-22.718 39.012-38 67.397-38a77.97 77.97 0 0 1 29 5.6v-15.448c-11.185-2.416-21.683-3.723-31.397-3.882zM121.562 311c-28.588 0-51 22.413-51 51s22.412 51 51 51c28.587 0 51-22.413 51-51s-22.413-51-51-51zm357 10v7.67a80.334 80.334 0 0 1 14 13.357V321zm-47 10c-33.493 0-61 27.508-61 61 0 33.492 27.507 61 61 61 33.492 0 61-27.508 61-61 0-33.492-27.508-61-61-61zm0 22c21.516 0 39 17.484 39 39s-17.484 39-39 39c-21.517 0-39-17.484-39-39s17.483-39 39-39zm-129 16v15.377l50.01 8.334c-.003-.237-.01-.473-.01-.711 0-7.988 1.219-15.71 3.464-23zm129 2c-12.095 0-21 8.905-21 21s8.905 21 21 21c12.094 0 21-8.905 21-21s-8.906-21-21-21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Farmer;

impl IconShape for Farmer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M379.42 24.066l-28.059 87.407 28.268 5.941-3.098 15.352-52.25 47.843-51.5-43.125-23.404-4.093c8.217-14.33 14.683-32.77 16.404-49.594 10.02-2.28 34.92-5.675 46.094-10.059-4.997-10.285-30.197-16.906-48.7-16.316-1.733-20.713-8.88-29.054-34.155-27.902-25.276 1.151-32.972 6.601-30.16 36.423-18.866 4.127-38.097 12.616-39.74 27.084 7.87-.307 32.96-2.896 40.724-3.011.66 14.1 4.4 27.847 9.97 36.375l-35.158-6.125L106 195.922l77.344 55.875 1.625 16.844-34.19 215.75h38.375l38.315-169.25 47.873 169.25h37.47l-3.564-16.407 17.094 16.407 63.062-322.532c5.01-4.54 9.265-8.481 12.094-11.312.177-10.537-2.537-18.942-5.094-24.5l.971-4.902 27.238 5.724 8.444-93.117-22.846 68.781-10.848-2.256 6.635-72.658-21.568 69.55-11.217-2.333 6.207-70.77zm26.578 3.553l.002-.01h-.002v.01zM182.844 153.39l.344 64.095-31.5-23.75 31.156-40.345zm88.031 21.252l50.875 45.937s22.993-19.456 44.875-38.531l-57.438 285.562-42.812-197.529 4.5-95.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FastBackwardButton;

impl IconShape for FastBackwardButton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M467.4 106a26 26 0 0 1 25.7 29.3c-16 124-16 117.4 0 241.4a26 26 0 0 1-35.8 27.3l-138.7-57.7c1.2 9.5 2.4 18.9 3.9 30.4 2.5 19.8-17.3 35-35.8 27.3L34.72 280c-9.7-4-16-13.5-16-24s6.3-20 16-24L286.7 108c3.2-1.3 6.6-2 10.1-2 15.6.1 27.7 13.8 25.7 29.3-1.5 11.5-2.7 20.9-3.9 30.4L457.3 108a26 26 0 0 1 10.1-2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FastForwardButton;

impl IconShape for FastForwardButton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M44.62 106a26 26 0 0 0-25.69 29.3c16 124 16 117.4 0 241.4A26 26 0 0 0 54.72 404l138.68-57.7c-1.2 9.5-2.4 18.9-3.9 30.4-2.5 19.8 17.3 35 35.8 27.3l252-124c9.7-4 16-13.5 16-24s-6.3-20-16-24l-252-124c-3.2-1.3-6.6-2-10.1-2-15.6.1-27.7 13.8-25.7 29.3 1.5 11.5 2.7 20.9 3.9 30.4L54.72 108a26 26 0 0 0-10.1-2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FastNoodles;

impl IconShape for FastNoodles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279 31.1L263.8 183H282l15-150.1-18-1.8zm80.5 14.05L313.6 183h18.8l44.1-132.15-17-5.7zM118.3 189.6l-77.21 92.6 13.82 11.6L123 212.1l-3.8-18.2-.9-4.3zm275.4 0l-4.7 22.5 68.1 81.7 6.9-5.8 6.9-5.8-77.2-92.6zM144.8 201l52 78h118.4l52-78H144.8zm63.2 30h96v18h-96v-18zm-61.6 4.9L189.2 439h133.6l42.8-203.1-40.8 61.1H187.2l-40.8-61.1zM193 457l6.3 30h113.4l6.3-30H193z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FeatherNecklace;

impl IconShape for FeatherNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-7.6 0-14.4 1.66-18.6 3.74-3.3 1.63-4.1 2.97-4.3 3.26.2.29 1 1.63 4.3 3.26 4.2 2.08 11 3.74 18.6 3.74 7.6 0 14.4-1.66 18.6-3.74 3.3-1.63 4.1-2.97 4.3-3.26-.2-.29-1-1.63-4.3-3.26-4.2-2.08-11-3.74-18.6-3.74zm22.9 7c.1.08.1.1.1 0s0-.08-.1 0zm-45.8 0c-.1-.08-.1-.1-.1 0s0 .08.1 0zm-17-6.22c-28.5 3.5-61.2 10.21-90.8 19.64-22.5 7.16-43.15 15.82-58.82 26.36C50.81 82.32 39 95.5 39 112c0 60.8 37.88 114.8 83.1 153.6 27.3 23.4 57.1 41.6 84.4 52.4-.2-6.9-.3-13.6-.3-20.3-23.2-10.2-49.1-25.9-72.3-45.8C91.12 215.2 57 165.2 57 112c0-7.5 6.19-16.32 19.52-25.28 13.33-8.96 32.68-17.3 54.18-24.14 28.6-9.09 61-15.61 88.5-18.98-2.5-3.18-4.2-7.04-4.2-11.6 0-2.24.4-4.31 1.1-6.22zm79.8 0c.7 1.91 1.1 3.98 1.1 6.22 0 4.56-1.7 8.42-4.2 11.6 27.5 3.37 59.9 9.89 88.5 18.98 21.5 6.84 40.8 15.18 54.2 24.14C448.8 95.68 455 104.5 455 112c0 52.1-34.1 102.3-76.9 139.2-19.9 17.2-41.8 31.4-62.3 41.6-.8 5.7-1.5 13.1-2.2 21.6 25-11.2 51.7-28.3 76.3-49.6C435.1 225.7 473 171.9 473 112c0-16.5-11.8-29.68-27.5-40.22-15.6-10.54-36.3-19.2-58.8-26.36-29.6-9.43-62.3-16.14-90.8-19.64zM255.6 218.8l-12.9 10.9c4.4 19.6 3.5 39.3 3.1 58.8l24.1-1.7c-2.8-23.2-5.2-46.5-14.3-68zm15.7 70.4c-3.8 43.8-7.1 62-9.1 108.5-12.7-44.4-16.7-62.6-17.2-108-6.1 3.6-13 6.6-20.7 9.8.2 40 3.1 84.7 13.3 121.7 9.4 34.2 24.4 60.6 47.8 72.5.5-4.8.9-10.6 1.4-18.1.3-5.8.7-12.3 1-19.2l-20.6-6.7 21.4-8.9c.3-6.3.6-12.8.9-19.5l-25.4-8.2 26.3-11c1.9-39.9 4-80.8 7-105.9-8.7-1.2-17.7-3-26.1-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Feline;

impl IconShape for Feline {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.056 64.815c-4.234.027-8.355.587-12.337 1.799C83.13 71.054 72.93 77.03 65.24 87.333c-7.691 10.303-13.122 25.717-15.516 49.713-.669 6.708 2.012 18.384 7.75 30.986 5.738 12.602 14.248 26.276 23.829 38.387l2.49 3.146-.678 3.955c-3.097 18.091-3.644 50.706-.252 68.778.836 4.454 5.766 14.497 13.611 26.296 7.846 11.8 18.412 25.829 30.032 40.944 23.239 30.23 50.678 64.773 69.81 96.547.024.038.347.525 2.139.886 1.791.362 4.605.28 7.127-.35 2.441-.609 4.524-1.766 5.338-2.458-9.946-42.286-16.14-84.185-37.51-125.14l-10.102-19.358 20.809 6.617c21.64 6.882 48.718 8.897 73.396 7.719 24.679-1.179 47.26-5.681 58.868-10.362l5.648-2.277 4.215 4.397c43.225 45.089 73.427 98.048 112.644 140.935.12.132-.139.16.91.088 1.05-.072 3-.714 4.706-1.914 1.705-1.2 3.106-2.882 3.722-4.234.617-1.353.659-2.086.268-3.149-20.396-55.487-30.565-109.894-61.84-162.258l-2.103-3.521 1.279-3.9c6.869-20.923 17.852-42.768 42.902-60.303l4.535-3.176 4.881 2.617c11.454 6.145 19.123 5.873 25.69 1.936 13.132-7.875 24.15-23.88 28.625-37.784l-14.768-8.31-.943-3.746c-4.025-15.96-8.255-25.48-14.625-32.719-6.37-7.24-15.576-12.896-30.977-19.543l-6.426-2.773 1.104-6.91c.89-5.57.052-11.481-1.184-17.768-36.228 29.915-52.892 64.4-86.533 100.086l-3.197 3.39-4.613-.652c-57.84-8.187-142.926-5.257-198.455 1.436-6.045.728-11.262-1.14-16.34-3.733-5.078-2.593-9.996-6.2-14.475-10.492-8.957-8.584-16.938-19.87-16.01-33.258.654-9.426 2.683-17.048 7.006-23.01 4.323-5.961 11.13-9.434 17.815-10.27 13.368-1.669 26.916 3.833 42.058 10.04 30.285 12.415 65.987 29.01 93.022 21.717 10.554-2.848 30.674-20.089 44.4-37.834 6.863-8.873 12.442-17.861 15.377-24.528 1.339-3.041 2.013-5.487 2.24-6.923-.507-.106-1.153-.163-2.355-.08-2.665.182-7.069 1.375-12.56 3.814-10.985 4.877-26.237 14.423-44.675 26.896-11.984 8.108-26.017 8.386-38.992 5.153-12.975-3.233-25.743-9.626-38.58-16.04-19.255-9.619-38.213-18.81-55.45-20.077a53.657 53.657 0 0 0-4.27-.147zm343.096 73.006l9.832 22.123-22.474-3.512 12.642-18.611zM75.28 308.858c-14.235 49.028-35.548 97.072-55.633 132.947-.014.026-.02.015-.03.028a.651.651 0 0 1 .122.207c.258.592 1.295 1.961 2.856 3.035 1.56 1.074 3.553 1.828 4.945 2.008 1.391.18 1.836-.11 1.84-.114 33.669-24.914 58.717-55.4 83.47-85.668l-.613-.794c-11.682-15.197-22.427-29.428-30.75-41.946-2.25-3.384-4.321-6.6-6.207-9.703zM19.615 441.833c-.108-.114-.099.11 0 0zm297.377-119.485c-7.129 2.366-15.533 4.408-24.863 6.022-12.418 40.091-33.327 77.867-52.203 112.605l-.141.26-.158.25c-.31.491-.252.186-.049.783s1.012 1.81 2.27 2.707c2.514 1.796 4.82 2.374 7.208.23l.047-.04.047-.041c32.285-28.17 59.254-61.458 85.242-102.867-5.621-6.799-11.396-13.455-17.4-19.909z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Female;

impl IconShape for Female {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.438c-17.84 0-35.582 3.547-52.063 10.375-16.48 6.827-31.512 16.853-44.125 29.468-12.612 12.617-22.645 27.675-29.468 44.157C123.52 125.92 119.994 143.66 120 161.5c.005 17.832 3.547 35.558 10.375 52.03 6.828 16.474 16.858 31.488 29.47 44.095 12.61 12.607 27.65 22.646 44.124 29.47l.218.092c10.032 4.135 20.52 7.02 31.218 8.657l.125 18.906.314 49.188H165.97v40h70.124l.375 62.875.124 20 40-.25-.125-20-.376-62.625h69.937v-40h-70.186l-.313-49.438-.124-18.47c11.188-1.61 22.154-4.6 32.625-8.936 16.476-6.823 31.515-16.862 44.126-29.47 12.61-12.606 22.64-27.62 29.47-44.093 6.827-16.472 10.37-34.198 10.374-52.03.005-17.84-3.52-35.58-10.344-52.063-6.823-16.482-16.856-31.54-29.47-44.156-12.61-12.614-27.643-22.64-44.123-29.468-16.48-6.827-34.224-10.374-52.063-10.374zm0 40c12.536 0 25.17 2.514 36.75 7.312 11.58 4.798 22.294 11.947 31.156 20.813 8.863 8.865 15.987 19.573 20.78 31.156 4.796 11.58 7.318 24.213 7.314 36.75-.004 12.53-2.515 25.173-7.313 36.75-4.797 11.575-11.95 22.264-20.812 31.124-8.862 8.86-19.58 16.018-31.156 20.812-11.58 4.795-24.19 7.28-36.72 7.28-12.53.002-25.14-2.485-36.72-7.28-11.576-4.794-22.293-11.953-31.155-20.812-8.862-8.86-16.015-19.55-20.813-31.125-4.797-11.577-7.308-24.22-7.312-36.75-.004-12.537 2.518-25.17 7.313-36.75 4.794-11.584 11.918-22.292 20.78-31.157 8.863-8.866 19.576-16.015 31.157-20.813 11.58-4.798 24.214-7.313 36.75-7.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FemaleLegs;

impl IconShape for FemaleLegs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.4 16.38c20.7 13.71 33.6 29.78 39.1 48.03 7.7 25.32.6 52.79-15.1 80.89-2.2 3.9-4.3 7.7-6.3 11.5 21.2 42.5 38.6 84.8 44.4 128.3 4.9 17.3-25.6 32.3-23.8 44.5 2.4 12.6 9.3 17.2 18.6 22.6 11.4 6.2 23.2 13.3 26.8 25 5.8 21 13.4 31.6 19.7 37 6.3 5.4 11.4 6.3 15.3 6.8 10.8 1.2 22.5-1.2 28.9-4.7 4.2-2.3 6-5.2 4.4-7.9-19.6-36.2-53.5-73.4-54-114.3.6-60.2-22.8-129.8-13.7-196.25 4-29.33 3.5-44.93-1.2-52.6-16.8-27.67-54.3-27.75-83.1-28.87zM30.05 18.72C76.23 100.3 192 102.1 276.4 99.03L265 114.1c-25.3 33.5-29.9 62.3-29.7 92.5.3 30.3 6.3 61.8 1.7 97.4-2.2 17.3-14.5 28.6-24.2 37.5-4.9 5.7-15.9 11.5-16.1 19.7-.1 16.2 2.7 24.5 6.2 32.3 3.5 7.7 8.5 15.6 10.1 27.8 2 14.9 1.8 26.8 3.2 35.9 1.3 9 3.5 15.1 10.7 22.2 11.4 9 25.5 10.9 34.8 8.8 4.5-1.1 10.7-3.9 9-7.4-26.9-55.9-11.5-108.3-2.5-161.5 9.7-58.5 31.8-115.3 69.4-182.8 14.4-25.8 19.4-48.02 13.7-66.89-5.6-18.56-22-35.81-55.1-50.89z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fencer;

impl IconShape for Fencer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225.036 94.788c-12.338 21.997-12.979 40.174-3.58 61.588l15.41.775c-3.042-9.283-4.944-19.43-4.777-29.968.164-10.377 2.472-21.149 7.615-31.391zm34.729 2.377c-6.847 9.651-9.515 19.873-9.68 30.303-.164 10.328 2.33 20.81 6.107 30.107 19.404-5.668 24.83-19.008 25.358-33.105.276-7.372-1.29-14.74-3.528-19.848-2.066-4.717-4.858-6.438-4.351-6.504zm114.324 20.18a27.478 27.478 0 0 0-3.815.36l8.868 44.189c8.918-3.028 16.653-9.237 16.664-21.704l98.074-16.554-.762-4.977-99.031 11.559c-3.064-7.706-10.268-13.092-19.998-12.873zm-16.016 15.418c-18.216 15.033-25.17 27.556-47.912 40.754-13.412-1.61-28.06-3.171-40.648-1.786-3.579 1.697-7.502 3.1-11.805 4.127l-1.256.301-46.709-2.353-2.342-4.73c-.717-1.45-1.386-2.901-2.027-4.352-24.9 6.797-37.561 21.942-61.703 34.795-17.846 4.527-37.748 4.582-55.336 3.001-17.57.8-38.588 29.853 9.965 27.817 29.17-.372 69.443-8.09 91.82-23.217-20.038 75.026-75.165 100.356-135.348 127.479-21.304 17.147-25.288 27.748-33.503 39.968-3.706 7.228 2.329 5.84 8.851 9.998 17.188-8.115 19.152-15.808 35.762-27.068 45.944-17.999 46.474-8.262 126.17-46.602 24.279-2.54 44.736-.656 67.023-9.173 2.686 38.16 7.697 41.45 5.176 81.3l54.014.776.545-11.078-31.74-8.426c8.77-42.552 8.966-59.96 3.55-97.137-.735-5.044-40.783-6.286-61.496-2.87 21.866-21.678 34.769-39.963 38.416-61.64 18.175 1.599 30.554 2.147 49.207-2.654 24.85-10.837 30.435-16.789 48.074-39.746zM18.12 399.212v18h472v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fern;

impl IconShape for Fern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M127.3 21.33c-8.7 3.74-15.7 8.57-21.9 14.01 2.5 4.7 5.1 9.41 7.7 14.15 7-9.07 12.3-19.08 14.2-28.16zM48.18 35.86c-5.47.1-11.12.85-17.01 2.59 10 10.35 26.54 17.43 42.18 19.64-2.11-6.66-4.07-13.27-5.87-19.82-6.24-1.52-12.63-2.5-19.3-2.41zm37.84 1.07C108.6 116.3 155.9 207.1 214 288.5c62.5 87.4 137.5 164 205.5 205.5h72c-164.8-99-318-289.6-405.48-457.07zm65.58.6c-13.3 5.97-23.5 14.12-32.2 23.3 3.4 5.95 6.8 11.92 10.3 17.9 10.7-12.79 19.2-27.8 21.9-41.2zm36.6 10.95c-22.2 10.69-37.1 26.96-49.9 44.61 4.1 6.72 8.2 13.41 12.5 20.21 17.8-18 33.2-43.11 37.4-64.82zM47.86 68.68c-7.31 0-14.87.83-22.77 2.76C39.3 83.57 63.75 91.51 85.6 92.93c-2.62-6.81-5.09-13.58-7.42-20.31-9.76-2.33-19.78-3.97-30.32-3.94zm174.64 9.48c-27.8 10.8-45.5 30.34-61.8 50.54 3.5 5.4 7.1 10.8 10.7 16.2 22.4-15.8 44.3-42.9 51.1-66.74zm28.1 25.94c-31.5 13.4-50.6 35-67.8 57.6 4.3 6.2 8.7 12.4 13.1 18.5 25.3-18.7 49-49.8 54.7-76.1zm-188.95 1.7c-13.6.1-27.46 2.2-41.65 7.7 20.75 13 53.96 18.8 81 16.3-3.28-7.3-6.4-14.5-9.38-21.7-9-1.3-18.07-2.2-27.25-2.3zm217.95 33.5c-32.7 13.9-52 36.7-69.7 60.2 4.3 5.8 8.7 11.6 13.1 17.3 26.1-18.4 50.7-50.5 56.6-77.5zm-185.3 3.3c-21.73.1-43.47 2.5-64.55 14.4 23.57 10.2 59.64 10.3 85.15 2.3-2.7-5.5-5.4-11.1-8-16.6-2.7-.1-5.5-.1-8.25-.1zm219.1 23.7c-35.5 15.8-57.7 40.9-77.3 67.3 6 7.7 12.2 15.4 18.5 23 27.7-23.8 52.5-59.6 58.8-90.3zm-194.5 16.2c-26.84-.1-54.08 2.3-82.42 17.9 26.28 12.8 69.92 12.3 101.12 1.6-3.7-6.5-7.2-12.9-10.7-19.4-2.7-.1-5.3-.1-8-.1zm236.3 17.3c-39.6 17.7-62.6 46.7-84 76.5 5.8 6.7 11.6 13.4 17.5 20 30.7-23.4 59.6-63 66.5-96.5zm-220.3 19.4c-26.8 0-54.11 2.3-82.43 17.9 27.65 13.4 74.43 12.3 105.73-.1-3.6-5.8-7.1-11.7-10.6-17.6-4.2-.1-8.4-.2-12.7-.2zm261.6 8.4c-43.5 19.8-68.7 52.4-92.2 85.9 6.7 7.1 13.4 14.2 20.2 21.2 33.4-26.1 64.5-69.9 72-107.1zm45.2 27.5c-49.1 23.2-75.2 59.8-100.4 96.5 6.7 6.6 13.5 13.2 20.3 19.6 37.7-27.1 73.5-76 80.1-116.1zm-270.9 1.8c-36.9 1.5-74.06 4.6-110.83 28.2 34.33 13.8 88.63 9.8 125.63-5.8-5-7.4-10-14.9-14.8-22.4zM486.3 280c-51 26.5-77.5 68.7-103.4 110.6 7.4 6.6 14.9 13.1 22.5 19.4 38.1-30.4 74.2-85 80.9-130zm-283.6 23.5c-40.4 3.3-81.2 6.4-120.44 34.1 37.84 13.2 98.04 4.6 133.74-15.9-4.5-6-8.9-12.1-13.3-18.2zM494 342.6c-32.9 25.6-48.1 51.6-68.4 83.8 8.8 6.9 17.6 13.6 26.5 20 17.5-14.4 28.2-33.1 41.9-53.3zm-257.2 5.7c-42.1 9.6-84.4 19.9-121 54.6 41.5 7.9 101.6-8.3 138.2-33.7-5.8-6.8-11.6-13.8-17.2-20.9zm35.5 41.9c-41.7 14.1-83.6 29.4-118.8 69.8 42.1 4.8 101.9-18.4 138-49.1-6.5-6.7-12.9-13.7-19.2-20.7zm45.4 46.9c-43.1 10.9-86.1 23.1-123.5 56.9h70.6c28.5-7.5 56.2-20 76.9-35-8-7-16-14.3-24-21.9zm46.4 40.4c-15.6 4.9-31.3 10-46.6 16.5h68.8c-7.4-5.2-14.8-10.7-22.2-16.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FertilizerBag;

impl IconShape for FertilizerBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.1 21.91c-89.7-.15-172.99 2.47-171.94 8.27l22.08 36.14c59.36-5.1 115.96-6.95 172.66-6.57 53.2.35 106.5 2.67 162.1 6.09l31.2-33.28c-4.5-6.74-114.4-10.48-216.1-10.65zm3.8 55.81c-49.1.12-98.3 1.99-149.69 6.32C73.42 207.7 61.35 358.6 89.71 451.7l-26.43 31c128.12 9.6 258.52 12.7 382.62 6.3L416 453.4c19.3-106.2 13.3-251.2.2-370.12-51.2-3.06-100.3-5.1-149.3-5.49L401.1 201h-71.3c3.8 23.1 20.4 54.3 37.9 83.2 9.9 16.4 20 32.3 27.7 46.3 7.7 14 13.6 25.7 13.6 37.5 0 28-18.9 51-46.7 65.9-27.8 15-65.1 23.1-106.3 23.1s-78.5-8.1-106.3-23.1C121.9 419 103 396 103 368c0-12 6.2-23.7 14.3-37.9 8.1-14.2 18.6-30.2 28.8-46.8 18-29.1 34.4-60.5 36.7-82.3H104zm11 14.37L152 183h48.3l.7 8.2c2.7 31.9-18.9 68-39.6 101.6-10.4 16.8-20.8 32.7-28.4 46.2-7.7 13.4-12 25-12 29 0 14.6 7 27.5 20.1 38.6 54.2-6.8 82-10.6 106.4-11.4.6-8.5 1.7-17 3.1-25.2-36.6 2.3-70.3-7.5-103.5-19.3 14.9-28.8 42.3-48.9 67-48.8 4.6 0 9.1.6 13.4 2.1 11.2 3.6 21.3 23.7 28 40.6 2.2-10.5 4.3-19.5 5.2-26.1v-.1c.9-6.2-1.6-24-4.8-38.7-2.3-10.6-4.7-19.9-5.9-24.3-6.3 0-11.9-1.2-15.6-5-25.4-26.4-8.9-75.2 12.9-102.4 15.5 25.8 35.7 53.6 56 72.8-4.4 14.8-12.4 26.7-27.9 32-2.1.2-4.7.5-7.3.9 1.4 5.2 3.4 13 5.4 22.1 1.3 5.7 2.5 11.6 3.5 17.5 5.3-4.9 11.4-9.4 16.4-9.6h1.1c28 2.6 59.7 29.6 67.7 69-27.5-12.6-59-5.3-83.9-30.2-2.8 18.6-10.6 46.6-12.7 72.8 24.1.8 51.9 4.6 105.3 11.3 13.1-11.1 20.1-24 20.1-38.6 0-4.2-4.1-15.6-11.4-28.8-7.3-13.3-17.2-29-27.3-45.7C332.2 260.3 311 224.2 311 192v-9h43.9zm.1 320.81c-22.3 0-45.9 3-90.7 8.7C189 432.5 220.8 439 256 439s67-6.5 90.7-17.4c-44.8-5.7-68.4-8.7-90.7-8.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fez;

impl IconShape for Fez {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.75 101.906c-31.427 0-62.877 6.504-84.156 16.875-10.67 5.202-18.88 11.344-24 17.376-5.122 6.033-7.26 11.777-7.25 17.188a9.345 9.345 0 0 1 0 .03c-.01 5.412 2.128 11.156 7.25 17.19 5.12 6.03 13.33 12.173 24 17.374 21.28 10.37 52.73 16.875 84.156 16.875 15.063 0 30.11-1.52 44.063-4.22l-43.97-41.53a9.345 9.345 0 0 1 .72-14.344 9.345 9.345 0 0 1 7.312-3.782 9.345 9.345 0 0 1 5.313 1.53l71.093 45.282c10.485-5.16 18.566-11.228 23.626-17.188 5.122-6.032 7.26-11.776 7.25-17.187a9.345 9.345 0 0 1 0-.03c.01-5.412-2.128-11.156-7.25-17.19-5.12-6.03-13.33-12.173-24-17.374-21.28-10.37-52.73-16.874-84.156-16.874zm120.813 82.563c-6.293 6.876-14.454 12.902-24.094 18.06l27.78 131.282a9.36 9.36 0 1 1-18.313 3.875L338 210.313c-2.143.8-4.305 1.583-6.53 2.313L347 351.5a9.356 9.356 0 1 1-18.594 2.094l-15.156-136c-17.117 3.857-35.744 5.906-54.5 5.906-33.927 0-67.43-6.608-92.344-18.75-11.15-5.434-20.55-11.927-27.687-19.47l-28.19 159.75c-1.38 8.68.893 16.09 6.876 23.814 5.983 7.722 15.94 15.275 28.875 21.75 25.87 12.95 63.244 21.503 101.595 23.406 38.35 1.903 77.75-2.813 107.844-15 29.562-11.972 49.355-30.17 54.25-56.375L379.56 184.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Figurehead;

impl IconShape for Figurehead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.3 34.04c-10.8.21-23.7 5.51-39.6 17.28-56.9 41.95-145 59.88-221 13.51 17.7 39.07 35.4 48.67 94.1 51.07-37.9 14.4-69 12.9-113.1 6.6 22.6 26.2 72.3 44.1 105.2 39.3-18.3 14.9-34.4 18.7-70 22.2 67.3 27.6 173.2-7.2 213.5-60.2-2.2-11.7-1.5-24.54 2.7-36.36 4.8-13.39 14.7-25.73 29.9-30.51 11.4-3.57 20.3-4.93 29.4-6-9-10.82-18.8-17.12-31.1-16.89zM409 69.51c-18.2 4.07-32.1 7.42-37.1 24.26-3 10.23-2.8 20.23-.3 27.63 2.4 7.2 6.5 11.4 11.2 12.8 4.7 1.4 10.4 0 16.3-4.9 6-4.8 11.5-13.1 14.5-23.4 2.4-12.29 4-27.03-4.6-36.39zm67.5 52.69c-13.3 33.8-21 52.9-30.3 81-14.9-6.8-31.5-12.7-45.3-16.8 3.9 10.4 8.2 18.5 12 30.6 13.4 5 30.8 10.2 44.9 5.7 18-31 21.6-57 33.7-93.3 4.7-14-9.1-22.7-15-7.2zm-115 18c-3.2 4.2-6.6 6.8-9.5 10.7 14.9 3.6 18.2 18.9 16.7 30.8-4.2 31-19.7 51.4-34.3 75.1 8.5 3.9 16 10.2 21 18 6.9-12.9 12.3-21.1 20.6-30.8 9.5.9 19.5-5.9 21.9-13.3-7.6-31.4-22.7-47.9-21.5-79.6-6-2.1-11-5.9-14.9-10.9zm-33.9 40.6c-15 24.1-27.1 49-30.7 76.4v.4c-4.7 25.4-7.3 49.7-1.6 71.5 2.5 9.4 6.2 10.4 8.3 10.5 2.1.1 4.1-1 4.6-4.3 3.9-25.3 3.3-50.2 4.6-75.6 12-29.6 34.2-55.1 38.1-80.4 2.6-20.7-17.1-7.8-23.3 1.5zm-33.5 8.7c-16.8 7.4-31.7 13.1-47.9 16.9C218.3 328 114.1 418.5 24.81 493h52.35C204.2 407.6 273.9 296.9 294.1 189.5zM224.5 218c-65.7 4.5-131.55 9.2-203.5 7.4v31.4c79.4.4 153.9-1.8 192.4-8 4.3-10.1 8-20.3 11.1-30.8zm-20.1 50.3c-18.5 2.3-41.5 4-67.4 5v42.2c14.9-.5 28.6-1.4 40.8-2.7 9.9-14.4 18.8-29.2 26.6-44.5zm-85.4 5.6c-30.17.9-63.56 1.2-98 1v41.2c33.85.3 67.68.5 98 0zm211.3 1c-.7 20.2-.9 41.1-4.3 63.2-1.8 11.5-11.9 19.8-22.9 19.5-11-.3-21.4-9.3-25.2-23.9-2.7-10-3.8-20.1-3.9-30.2-33.9 67.2-87.5 131.8-162.1 187.1C223 478.2 344.6 413 354.9 312c1.3-12.5-14.6-31.1-24.6-37.1zm-166.8 57.3c-40.4 3.1-91.52 2.4-142.5 1.9v46.3c33.23 2.3 73.49 1.2 103.1-2.4 14-14.7 27.2-30 39.4-45.8zm-59 65.8c-10.14.7-20.75 1.3-31.5 1.5v28.1c10.65-9.6 21.18-19.5 31.5-29.6zm-83.5.4v74.3c11.25-9.4 22.64-19.2 34-29.1v-44c-11.6-.1-23.09-.5-34-1.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Files;

impl IconShape for Files {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.217 28.218l-100.07 42.86 106.296 248.194 41.188-17.64-27.606-191.945-1.28-8.909 78.567-11.3-12.519-29.23c-16.682 3.773-28.871 3.449-47.402 21.062l-5.993 5.693-6.181-5.484c-18.118-16.072-20.828-36.566-25-53.301zm18.912.492c3.243 12.805 5.535 24.275 12.777 33.68 12.818-10.212 24.447-14.227 34.951-16.733-14.485-7.674-29.652-12.217-47.728-16.947zm127.746 71.826l-107.752 15.496 38.436 267.25 36.978-5.318 23.188-193.996 1.068-8.936 86.086 10.29-4.598-31.96c-17.092-.671-28.78-4.14-51.24 8.076l-7.26 3.95-4.552-6.899c-13.34-20.213-10.655-40.708-10.354-57.953zm18.139 5.367c-.182 13.21-.937 24.883 3.625 35.842 15.025-6.547 27.298-7.415 38.093-7.117-12.006-11.162-25.481-19.477-41.718-28.725zm-10.485 89.139l-32.043 268.092 172.77 20.648 24.598-205.793c-16.337-5.073-26.73-11.452-51.586-5.465l-8.034 1.936-2.61-7.84c-7.655-22.977.243-42.079 4.997-58.658zm124.225 22.799c-3.594 12.713-7.345 23.792-5.775 35.558 16.207-2.435 28.286-.097 38.636 2.985-8.708-13.889-19.571-25.409-32.861-38.543z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FilmProjector;

impl IconShape for FilmProjector {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266 51.727c-39.32 0-71 31.68-71 71 0 39.319 31.68 71.002 71 71.002s71-31.683 71-71.002c0-39.32-31.68-71-71-71zm-144 32c-30.483 0-55 24.517-55 55 0 30.482 24.517 55.002 55 55.002s55-24.52 55-55.002c0-30.483-24.517-55-55-55zm-23 128v110.002h238V211.727zm350 4.648l-94 40.285v20.133l94 40.285zm-386 2.352v32h18v-32zm113 121.002v17.998h13.012l-51.123 136.275h19.222l51.507-136.275.382 136.275h18l.382-136.275 51.507 136.275h19.222l-51.123-136.275H260v-17.998c-28.003-.003-55.997 0-84 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FilmSpool;

impl IconShape for FilmSpool {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 25C106.8 25 25 106.8 25 208s81.8 183 183 183 183-81.8 183-183S309.2 25 208 25zm121.3 22.81c21 15.91 38.7 35.83 52.1 58.59 49.1 41.7 93.4 100.9 92 179.2-.6 34.4-7.3 75.5-19.4 110.3-12.1 34.7-30.1 62.3-49.7 71.7-3.9 1.8-9.5 2.2-17.5.6-8-1.7-17.9-5.3-29.3-10-22.7-9.5-51.2-23.4-84.2-33.5-66.2-20.1-152-24.2-247.5 50.6l11.1 14.2c91.2-71.5 168.3-66.7 231.1-47.6 31.4 9.6 59 23 82.6 32.9 11.7 4.9 22.5 8.9 32.6 11 10.1 2.1 20 2.3 28.9-2 27.5-13.1 46-45.1 58.9-82 12.9-36.9 19.8-79.5 20.4-115.8 1.6-92.8-55.5-160.5-111.9-204.3-17.2-13.42-34.5-24.69-50.2-33.89zM208 52c16 0 32 4 48 12 0 32-32 80-48 80s-48-48-48-80c16-8 32-12 48-12zM107.4 94.4c27.7 16 53.3 67.7 45.4 81.6-8.1 13.8-65.6 17.5-93.33 1.5 2.14-35.7 18.13-63.4 47.93-83.1zm201.2 0c29.9 19.7 45.9 47.4 48 83.1-27.7 16-85.3 12.3-93.3-1.5-8-13.9 17.6-65.6 45.3-81.6zM208 167c22.5 0 41 18.5 41 41s-18.5 41-41 41-41-18.5-41-41 18.5-41 41-41zm0 18c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-98.1 42.8c20.3.2 38.6 4.7 42.9 12 7.9 13.9-17.7 65.6-45.4 81.6-29.83-19.7-45.83-47.4-47.97-83.1 12.97-7.5 32.52-10.7 50.47-10.5zm196.2 0c18-.2 37.5 3 50.5 10.5-2.1 35.7-18.1 63.4-48 83.1-27.7-16-53.3-67.7-45.3-81.6 4.3-7.3 22.5-11.8 42.8-12zM208 271.7c16 .1 48 48.1 48 80.1-32 16-64 16-96 0 0-32 32-80 48-80.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FilmStrip;

impl IconShape for FilmStrip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55 18v476h18v-37h46v37h274v-37h46v37h18V18h-18v37h-46V18h-18v60H137V18h-18v37H73V18H55zm18 55h46v46H73V73zm320 0h46v46h-46V73zm-256 41h238v156H137V114zm-64 23h46v46H73v-46zm320 0h46v46h-46v-46zM73 201h46v46H73v-46zm320 0h46v46h-46v-46zM73 265h46v46H73v-46zm320 0h46v46h-46v-46zm-256 41h238v156H137V306zm-64 23h46v46H73v-46zm320 0h46v46h-46v-46zM73 393h46v46H73v-46zm320 0h46v46h-46v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Finch;

impl IconShape for Finch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.9 28.65c-26.2 5.22-39 13.71-50.8 30.5-10.8 15.13-20.5 38.34-34.2 70.05 6.5-.2 13.2-.3 19.3-.2l-.4 19.4c-117.1-3-193.1 77-275.08 115.1C67.89 303 115.5 326.6 169 322.8c57.3-4.1 121.9-39.7 173.2-123.4l16.5 10c-54 87.8-124 127.9-188.4 132.6-21.1 1.6-41.6-.8-60.6-6.5-19.4 15-47.3 31.4-88.69 44.5 58.12 28 136.09-1.8 191.19-18.6 39.9 5.4 69.7 5.8 103.6 1-1.3-6.8-.4-14 1-22.6 3.8-21 13.6-48.4 27.6-74.4 14.2-26 32.2-50.4 54.5-63.8 15.3-7.6 27.7-12 42.6-8.8-7.1-12.9-14.1-22.1-23.3-31.6l9.2-42.5c-5.4-2.8-10.2-6.3-14.1-10.4-3.2-3.6-6-7.7-6.8-12.9-.8-5.14.8-11.27 4.6-15.44 5.4-5.92 11.9-11.58 17.9-17.07 5-4.62 9.5-9.17 12.2-12.58-10-14.66-29.4-22.31-46.5-22.61-4-.12-8.4.31-11.8.95zm-1.8 18.13c9.4 0 17 7.69 17 17.11 0 9.42-7.6 17.09-17 17.13-9.5 0-17.1-7.67-17.1-17.13 0-9.46 7.6-17.12 17.1-17.11zm72 19.3c-8.6 9.66-18.8 17.14-27.4 26.53 3.2 5.61 11.4 9.49 16.6 11.39L491 87.48zM408.7 217.9c-16.9 10.5-34.3 32.5-47.2 56.7-13.3 24.1-22.5 50.6-25.6 68.4-1.3 7.1-1.3 12.8-1.1 15.8 60.9-13.6 95.6-43.9 110.3-77.5 9.1-20.7 10.6-43.1 5.5-64.4-13.3-8.2-29.1-6.5-41.9 1zm-70.6 159.7c-6.1 1.4-12.5 2.7-19 3.6l10.8 46.1-24 42.4 8.7 6.2 20.9-24.4 13.5 30.6 9.1-2.6-3.7-33 31.8 8.6 2.5-8.1-40-23.8zm-99.1 7l-4.5 44.2-38.3 28 2.7 6.4 33.3-11.4.8 32.5 8.7-1 9.8-30.5 28.5 20.8 4.9-7.3-31.1-36.7 4.5-44.1c-6.7-.1-13.1-.4-19.3-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FingerPrint;

impl IconShape for FingerPrint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238.986 26.47c-.825-.01-1.648-.008-2.47.003-7.52.096-14.927.958-22.188 2.578-58.085 12.96-102.088 73.253-116.93 166.41l17.776 2.833c14.167-88.922 54.783-140.9 103.074-151.674 48.29-10.776 108.966 18.458 165.854 102.81l14.923-10.065C348.077 63.82 290.963 26.958 238.985 26.47zm-7.363 42.24c-.82.008-1.638.028-2.453.06-7.827.32-15.446 1.826-22.76 4.642-19.504 7.51-36.01 23.927-49.05 48.692l15.93 8.384c11.668-22.164 25.08-34.694 39.587-40.28 14.506-5.584 30.932-4.625 50.006 3.032 38.147 15.314 84.798 58.2 132.805 120.473l14.255-10.99C360.977 139.203 313.59 94.2 269.588 76.535c-12.89-5.175-25.67-7.935-37.965-7.824zm-.592 39.466c-6.247-.03-12.35 1.114-17.99 3.853-8.596 4.174-15.492 11.964-19.933 22.44l16.575 7.024c3.164-7.466 6.913-11.18 11.22-13.273 4.308-2.09 9.795-2.65 16.82-1.382 14.05 2.538 33.037 12.87 51.923 26.805 37.77 27.872 76.124 69.76 87.81 84.947l14.266-10.977c-13.402-17.418-51.44-58.976-91.388-88.455-19.974-14.74-40.18-26.56-59.41-30.035-2.404-.434-4.812-.73-7.205-.865-.898-.05-1.793-.078-2.686-.082zm-81.47 32.566c-4.498 8.93-10.762 28.084-16.716 46.45-5.954 18.37-11.03 34.984-11.03 34.984l17.215 5.258s5.04-16.497 10.937-34.69c5.897-18.193 13.22-39.045 15.668-43.906l-16.076-8.096zm33.135 10.406c-11.62 24.464-19.368 51.84-11.992 78.483 12.94 46.74 44.042 99.694 95.953 113.173l4.524-17.422c-42.188-10.953-71.27-57.717-83.13-100.552-5.63-20.338.214-43.448 10.905-65.957l-16.26-7.722zm62.535 5.106c-.892-.006-1.79.03-2.687.105-5.386.452-10.798 2.364-15.58 5.724-6.377 4.48-11.795 11.174-16.85 20.187-8.915 15.9-7.64 33.784-.644 49.748 6.996 15.963 19.326 30.832 33.776 44.326 28.9 26.987 66.05 48.325 90.55 56.088l5.438-17.16c-20.146-6.384-57.082-27.224-83.703-52.083-13.31-12.43-24.097-25.9-29.575-38.4-5.478-12.498-6.038-23.2-.143-33.714 4.197-7.484 8.21-11.952 11.497-14.262 3.286-2.31 5.69-2.816 8.82-2.507 6.26.616 16.157 6.88 27.296 17.298 22.278 20.836 48.945 55.515 83.428 71.965l7.75-16.246c-28.587-13.637-54.798-46.34-78.883-68.865-12.042-11.264-23.702-20.677-37.825-22.067-.883-.087-1.772-.134-2.665-.14zm5.364 40.775l-16.776 6.53c2.782 7.147 8.363 13.638 16.41 22.764 8.044 9.127 18.362 19.68 29.506 29.973 11.145 10.292 23.087 20.304 34.475 28.307 11.387 8.002 21.89 14.153 32.185 16.255l3.6-17.635c-5.244-1.072-14.994-6.01-25.436-13.348-10.443-7.338-21.91-16.918-32.613-26.803-10.703-9.885-20.672-20.095-28.217-28.654-7.545-8.56-12.858-16.675-13.136-17.39zM88.127 220.474c-2.7 20.7-.85 50.2 3.195 78.19 4.047 27.99 9.704 53.42 17.936 67.9l15.648-8.893c-5.04-8.866-11.88-34.672-15.77-61.584-3.89-26.912-5.418-55.978-3.16-73.283l-17.85-2.33zm73.61 25.02l-17.7 3.27c2.796 15.14 14.096 38.007 29.256 60.63 15.16 22.626 33.31 44.284 54.36 51.572l5.89-17.01c-12.623-4.37-31.124-23.427-45.297-44.58-14.173-21.153-24.89-45.124-26.508-53.88zm252.634 5.062c-2.82 33.908-22.99 91.907-48.016 123.775l14.156 11.117c28.46-36.242 48.56-94.502 51.8-133.4l-17.94-1.493zm-281.52.52l-17.68 3.378c1.068 5.59 5.258 22.92 10.605 41.943 5.348 19.023 10.998 38.17 17.39 48.89l15.46-9.22c-3.356-5.627-10.293-25.942-15.52-44.54-5.23-18.6-9.606-37.052-10.255-40.45zm248.185 2.534c-1.81 9.433-8.274 30.502-16.16 50.767-7.886 20.265-17.88 40.592-24.223 48.08l13.735 11.635c9.955-11.752 19.076-32.155 27.26-53.188 8.186-21.032 14.75-41.828 17.066-53.902l-17.678-3.39zm-92.95 78.95l-5.456 17.155 38.75 12.33 5.46-17.154-38.754-12.33zm-107.954 15.557c-11.333 2.277-25.168 9.124-37.747 16.14-6.29 3.506-12.093 7.053-16.697 10.175-2.303 1.56-4.3 3.005-5.997 4.384-1.698 1.38-2.99 2.174-4.71 4.936l15.282 9.51c-.908 1.46-.3.4.78-.477 1.078-.877 2.734-2.093 4.743-3.455 4.018-2.724 9.477-6.068 15.365-9.35 11.776-6.568 25.96-12.897 32.526-14.216l-3.545-17.647zm74.585 22.2c-36.986-.37-71.186 11.506-107.762 36.814l10.242 14.804c55.303-38.266 98.21-43.222 162.315-20.97l5.902-17.003c-25.312-8.786-48.506-13.418-70.697-13.642zm86.65 13.43l-8.676 15.773 23.486 12.916 8.676-15.772-23.487-12.916zm-75 15.56c-1.832-.01-3.68.02-5.545.09-26.098.99-55.397 9.924-90.466 30.898l9.238 15.447c37.99-22.72 66.52-29.49 91.373-28.312 24.852 1.177 46.713 10.534 70.77 22.2l7.855-16.198c-24.482-11.87-48.933-22.616-77.774-23.983-1.802-.086-3.618-.134-5.45-.143zm-.982 30.425c-5.37-.054-10.583.356-15.57 1.15-22.792 3.62-40.893 14.478-51.016 25.975l13.51 11.895c6.516-7.4 21.822-17.154 40.334-20.096 18.512-2.942 40.22.146 62.45 17.33l11.01-14.24c-19.497-15.07-39.837-21.312-58.405-21.96-.773-.028-1.545-.046-2.312-.054zm2.635 37.336c-1.556-.014-3.112.017-4.668.096-12.448.633-24.804 4.333-35.22 12.51l11.116 14.158c13.707-10.76 36.382-10.437 53.49-3.95l6.38-16.83c-9.433-3.577-20.212-5.886-31.098-5.984z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fingernail;

impl IconShape for Fingernail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-25.1 0-50.2 3.95-69.2 11.38-18.8 7.34-30.8 17.65-33.9 29.36L138.8 235c29.9 13 73.6 20 117.2 20 43.6 0 87.3-7 117.2-20L359.1 65.74C356 54.03 344 43.72 325.2 36.38 306.2 28.95 281.1 25 256 25zm-73 39h18v160h-18zm-51.6 43.1c-12.1 15.3-21.3 33.6-26.7 55.1C73.84 285.7 73.04 378.9 73.01 487H439c0-108.1-.9-201.3-31.7-324.8-5.4-21.5-14.7-39.9-26.7-55.1L393 255.6v.4c0 11-5.8 20.7-14.1 27.8-8.4 7.2-19.3 12.5-32.1 16.7-25.4 8.5-58 12.5-90.8 12.5s-65.4-4-90.8-12.5c-12.8-4.2-23.7-9.5-32.1-16.7-8.3-7.1-14.1-16.8-14.1-27.8v-.4zm5.8 146.8l-.2 2.3c.1 4.9 2.3 9.2 7.9 14 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.6-4.8 7.8-9.1 7.9-14l-.2-2.3C341.9 266.9 299 273 256 273s-85.9-6.1-118.8-19.1zm25.7 121.6c62.7 21 124.4 20.4 186.3 0l5.6 17c-65.1 21.6-131.4 22.2-197.7 0zm15.4 63.8c53.1 14.3 104.6 13.2 155.4 0l4.6 17.4c-53.6 14-108.5 15.1-164.6 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FinishLine;

impl IconShape for FinishLine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 24v464h18V386.9c152.3 29.4 277.6 29.4 430 0V488h18V24h-18v16h-23v32h23v32h-23v32h23v232.6c-153.3 29.9-276.7 29.9-430 0V104h23V72H41V24H23zm41 48h32V40H64v32zm32 0v32h32V72H96zm32 0h32V40h-32v32zm32 0v32h32V72h-32zm32 0h32V40h-32v32zm32 0v32h32V72h-32zm32 0h32V40h-32v32zm32 0v32h32V72h-32zm32 0h32V40h-32v32zm32 0v32h32V72h-32zm32 0h32V40h-32v32zm32 0v32h32V72h-32zm0 32h-32v32h32v-32zm-64 0h-32v32h32v-32zm-64 0h-32v32h32v-32zm-64 0h-32v32h32v-32zm-64 0h-32v32h32v-32zm-64 0H64v32h32v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireExtinguisher;

impl IconShape for FireExtinguisher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.72 27.47l-10.609 14.54c20.374 14.867 34.059 31.213 46.008 48.312l20.98-1.48c-13.992-21.06-30.188-42.259-56.378-61.371zm-59.488 75.985l.645 29.988 69.268-4.836 9.376-22.6-79.289-2.552zm123.538 2.893l-25.653 1.808-11.883 28.645a163.104 163.104 0 0 1 14.856 4.637c.249-6.83 2.59-13.402 6.43-19.018 4.246-6.21 10.56-11.397 18.459-13.524l-2.21-2.548zm10.324 19.498c-.95-.018-1.841.081-2.692.252-3.401.682-6.657 3.02-9.023 6.48-2.366 3.46-3.558 7.866-3.268 11.313.283 3.356 1.376 5.674 4.545 7.672 1.714.925 3.4 1.882 5.067 2.863l11.22-27.047c-2.203-1.073-4.123-1.5-5.85-1.533zm22.64 8.037l-6.898 16.627 20.932 8.877c8.02 3.402 13.324 10.249 17.068 21.662 3.744 11.413 5.298 26.912 5.205 44.412-.186 35-6.696 77.83-10.578 115.127-1.941 18.649-3.238 35.919-2.611 50.61.626 14.69 2.625 27.223 10.71 36.171 4.043 4.474 9.955 7.515 16.295 8.108 6.34.593 12.92-.86 20.043-3.805 10.923-4.516 23.474-12.68 38.745-25.186l-16.479-9.925c-12.173 9.487-21.913 15.487-29.143 18.476-5.35 2.212-9.185 2.733-11.49 2.518-2.304-.216-3.269-.765-4.615-2.254-2.692-2.98-5.528-11.875-6.082-24.87-.554-12.994.623-29.669 2.53-47.98 3.81-36.622 10.478-79.777 10.675-116.894.098-18.559-1.356-35.65-6.103-50.12-4.748-14.47-13.42-26.8-27.143-32.62l-21.06-8.934zm-102.203 16.553c-13.51-.013-23.874 3.42-29.945 9.699L80.182 209.32l131.162 54.412 20.404-49.185c.156-8.732-4.732-18.492-14.283-28.047-9.983-9.987-24.579-19.2-40.281-25.715-15.703-6.514-32.532-10.337-46.653-10.35zm295.276 38.957l-76.301 156.183 26.478 15.95 102.567-140.364-52.744-31.77zM73.285 225.947L67.92 238.88l131.16 54.412 5.365-12.932-131.16-54.412zm-12.262 29.557l-11.496 27.71 44.336 18.393L19.525 480.8 18 480.166V494h97.816l76.368-184.084-131.16-54.412zM42.63 299.84L18 359.209v78.293l52.34-126.166-27.711-11.496zm298.945 61.973l-8.916 18.248 20.68 12.455 11.982-16.399-23.746-14.305z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireFlower;

impl IconShape for FireFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 56.998c-60.466 0-115.104 14.12-153.928 36.305C63.248 115.488 40.998 144.909 40.998 176c0 31.09 22.25 60.512 61.074 82.697 38.824 22.185 93.462 36.305 153.928 36.305 60.466 0 115.104-14.12 153.928-36.305 38.824-22.185 61.074-51.606 61.074-82.697 0-31.09-22.25-60.512-61.074-82.697C371.104 71.118 316.466 56.998 256 56.998zm0 33.273c39.141 0 74.677 8.783 101.137 23.624 26.46 14.84 44.666 36.581 44.666 62.105 0 25.524-18.206 47.265-44.666 62.105C330.677 252.946 295.14 261.73 256 261.73s-74.677-8.783-101.137-23.624c-26.46-14.84-44.666-36.581-44.666-62.105 0-25.524 18.206-47.265 44.666-62.105C181.323 99.054 216.86 90.27 256 90.27zm0 17.999c-36.413 0-69.279 8.392-92.332 21.322-23.053 12.93-35.473 29.555-35.473 46.408s12.42 33.478 35.473 46.408c23.053 12.93 55.919 21.322 92.332 21.322s69.279-8.392 92.332-21.322c23.053-12.93 35.473-29.555 35.473-46.408s-12.42-33.478-35.473-46.408c-23.053-12.93-55.919-21.322-92.332-21.322zm-24.893 203.96L217.21 487.697c1.473.733 4.15 1.72 7.744 2.518 7.967 1.77 19.547 2.787 31.047 2.787s23.08-1.017 31.047-2.787c3.594-.799 6.271-1.785 7.744-2.518L280.893 312.23c-8.18.503-16.483.768-24.893.768s-16.712-.265-24.893-.768zM85.98 375.69c-3.933-.008-7.93.17-11.96.455 4.054 18.088 20.652 40.868 45.602 60.828 22.32 17.855 50.7 33.446 80.135 43.16l4.305-54.36c-27.353-23.927-66.527-48.286-114.172-50.011-1.296-.047-2.6-.07-3.91-.073zm340.042 0c-1.31.002-2.614.025-3.91.072-47.645 1.725-86.82 26.084-114.172 50.011l4.305 54.36c29.434-9.714 57.816-25.305 80.135-43.16 24.95-19.96 41.548-42.74 45.601-60.828-4.03-.284-8.026-.463-11.959-.456z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireGem;

impl IconShape for FireGem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201.2 32L215 87h82l13.8-55H201.2zm-17 5.84L73.24 121.1l53.36 13.3 71.1-42.69-13.5-53.87zm143.6 0l-13.5 53.87 71.1 42.69 53.4-13.3-111-83.26zM210.4 105L137 149.1v213.8l73.4 44.1h91.2l73.4-44.1V149.1L301.6 105h-91.2zM64 137.2v237.6l55-13.8V151l-55-13.8zm384 0L393 151v210l55 13.8V137.2zm-192.1 2.4c-14.6 14.6-21.8 29.1-7.3 50.9 20.2 30.3 95 51.9 94.7 116.5 0 43.6-36.5 65.4-87.4 65.4-50.9 0-87.3-36.4-87.3-72.7 0-14.5 7.3-29.2 29.1-43.7-14.6 36.4 0 58.2 21.9 58.2 21.7 0 36.3-21.8 36.3-36.4 0-36.3-43.6-43.6-43.6-87.3 0-23.3 14.5-43.6 43.6-50.9zm-129.3 238l-53.36 13.3 110.96 83.3 13.5-53.9-71.1-42.7zm258.8 0l-71.1 42.7 13.5 53.9 111-83.3-53.4-13.3zM215 425l-13.8 55h109.6L297 425h-82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireIris;

impl IconShape for FireIris {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M401.3 12.16c11 13.87 19.9 28.67 20.1 47.42 0 0-20.9-8.69-28.4.24-31.5 67.38 53.5 95.48 64.7 36.4 11-34.97-56.4-84.06-56.4-84.06zM89.6 27.3S18.15 99.53 36.49 135.2c12.48 24.3 59.05 29.8 80.81 13.3 11-8.4 13.1-30.4 4.4-41.2-5.7-7.1-21.1-9.77-27.15-3-3.89 4.4 8.25 13 3.95 17.1-5.68 5.5-18.59.5-22.89-6.1-16.19-24.87 13.99-88 13.99-88zM256 133.5c-45.5 0-83.6 18.9-123.1 44.5-35.3 23-71.3 51.2-113.7 74.5C61.6 275.8 97.6 304 132.9 327c39.5 25.6 77.6 44.5 123.1 44.5s83.6-18.9 123.1-44.5c35.3-23 71.4-51.2 113.7-74.5-42.3-23.3-78.4-51.5-113.7-74.5-39.5-25.6-77.6-44.5-123.1-44.5zm0 14c57.9 0 105 47.1 105 105s-47.1 105-105 105-105-47.1-105-105 47.1-105 105-105zm-7.1 26.4s-57 37.2-60 66.7c-2.9 28.9 16.7 65.8 44.7 75.4 28.2 9.7 70.2-5.6 83.8-31.7 9.8-18.9 3-52.8-16.8-61.6-17.8-7.8-54 9.9-52.4 25.4 0 0 33-7.8 37.2 3.7 4.2 11.5-10.8 23.6-26.4 25.8-18.4 2.7-33.4-12.7-37.1-30.6-5.4-26.9 27-73.1 27-73.1zm196.6 142.9c3 25.9-7 129.4-45.6 115-9.5-3.5 15.4-20.2 10-28.8-5.7-9.1-22.7-9.3-32-3.9-20.5 11.8-40.4 45-28.1 65.2 20.5 33.5 90.7 36.8 117.5 8.1 35.7-38.3-21.8-155.6-21.8-155.6zm-389.64 42c-10.66-.4-43.33 96-9.91 106.7 9.59 3.1 26.15 1.1 39.39-5.4 1.36 6.5 4.31 11.8 9.44 14.8 21.02 12.3 103.82-12.2 56.72-46-9-3.6-29.4 13.7-29.4 13.7-12.2-24.5-14.5-51.7-10.5-63.3-3.5-1-11.5 11.9-17.97 28.7-2.53-3-5.51-6-8.98-9.1-10.4-5.3-23.1 27.9-23.1 27.9-21.7-6.5-9.9-50.8-5.2-67.9-.16-.1-.32-.1-.49-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireShrine;

impl IconShape for FireShrine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M321.7 21.73S167.5 84.97 146.2 155.4c-12.2 40.4 24.2 109.5 44.1 142.9h45.4c19.9-39.4-1.5-84.4-23.1-109.4 0 0 58.6 37.5 65.2 68.3 2.5 11.6-6.4 30.2-12.4 41.1H310c21-16.7 48.3-43.1 45.1-65-6.4-44.4-72-56.5-82.2-100.2-12-51.29 48.8-111.37 48.8-111.37zM64 192.8c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm384 1c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-393 62v200h18v-200c-2.9.6-5.9 1-9 1-3.1 0-6.1-.4-9-1zm384 1v200h18v-200c-2.9.6-5.9 1-9 1-3.1 0-6.1-.4-9-1zm-270 59.5v30h174v-30H169zm30.2 48l-28 126h169.6l-28-126H199.2zm16.1 36.8l17.4 4.4-13.2 52.8h73l-13.2-52.8 17.4-4.4 18.8 75.2h-119l18.8-75.2zM32 470.8v18h64v-18H32zm384 1v18h64v-18h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireSpellCast;

impl IconShape for FireSpellCast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M366.9 36.88c-49.5 6.81-66 65.52-55.2 104.52 13.8 49.7-46.5 54.2-33.3-24.7-17.5 28.4-22.4 53.7-18.6 74.9 3.7 21.3 14.7 37.7 29.8 49.6 9.5 7.5 20.6 13.3 32.5 17 27.2-25.1 31.2-69.5 18.2-98.4 19.3 12.1 30.3 35.4 28.9 62.5 11.9.7 27.2-6.8 36.4-17.8.4 19 2.3 34.7-8.9 52.4 28.5-10.9 64.3-36.2 65.7-51.2 1.4-15.7-1.5-34.2-8.3-55.7-17.1 66.8-77.4 39.6-42.6-45.4-61.7 53.6-69.5-11.1-44.6-67.72zm116.8 2.09c-8 13.23-16 34.87-45.9 32.25 20.5 22.17 20.4 33.78 11.8 63.88 37.2-31.9 37.8-67.34 34.1-96.13zM205.4 75.8c-28.1-.1-49.9 56.5-57.7 90.6-11.3 49.2-14.6 83.5-.9 133l-17.3 4.8c-15.5-55.9-8.3-94.7 2.3-142.3 10.5-47.6 14.5-70.4-4.5-74.1-42.1-8.4-45.3 90.4-47.8 134.8-1.4 25.8.8 57 6.6 77.6l-16.9 6.2c-14.4-53.4-6.7-98-1.7-150.8 2.5-15.6-1.8-25.7-19.1-25.2-15.8.5-27 143.4-13.3 179.1 8.7 53 31.3 130.5 11 152.7L18 494h206l20-28.6c23-5 28.4-19.9 37-33.8 25.3-40.9 82.4-83.1 129.1-99.2 21.1-7.5-21.9-48.6-53.8-32.8-55 27.2-81.7 56.3-117.8 38.3-55.9-27.8-47.3-100.6-35.9-162.8 6.2-33.6 40.4-89.6 7.2-98.8-1.4-.32-2.9-.49-4.4-.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fireplace;

impl IconShape for Fireplace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.2 25l-53.69 94H432.5l-53.7-94H133.2zM25 137v46h462v-46H25zm32 64v46h46v-46H57zm352 0v46h46v-46h-46zm-171.4.6s-22 8.8-24 18.8c-4.6 22.8 33.9 60.8 33.9 60.8s-13.3-34.6-14.3-52.8c-.5-9.1 4.4-26.8 4.4-26.8zm54.4 14.8c-6.1 40.2-11.2 83.7-45.9 100.2-30.3 14.4-36.4-78.5-94.1-91.5 44.9 101.1-68.9 139.9 42.2 185.2h19.5c-24-25.9-34.4-90.8-34.4-90.8s30.2 72 62.5 74.2c15 1 33.5-30.2 33.5-30.2s5.9 29.8-.1 46.8H319c27.3-14.8 44.6-35.7 51.2-57.3 6.5-20.9 3-42.5-10.9-59.9-8.6 51.8-21.4 62.8-55.1 74.1 36.6-44.7 20.2-119.2-12.2-150.8zM57 265v46h46v-46H57zm352 0v46h46v-46h-46zM57 329v78h46v-78H57zm352 0v78h46v-78h-46zM25 425v62h462v-62H25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Firewall;

impl IconShape for Firewall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M293.4 23.17s-33 12.6-41.1 26.82c-8.7 15.15-2.3 52.31-2.3 52.31 9-28.63 23.2-55.07 43.4-79.13zm-172 47.78C130 140.8 87.44 197.2 95.7 251.5c-45.63-24.1-42.25-107.8-56.72-150.6-7.61 14.3-14.67 28.7-20.98 43.3V494h476V185.6c-14.6-27.9-21.9-60-16.4-99.66C419.3 118 431.2 210.8 439.6 255c-33.9-16.7-88.6-43-62.6-114.7-34.5 18.7-47.5 90.1-55.7 123.4 3.8-43.6-50-80.4-32.7-163.5-36.7 37.1-58.1 163.2-57.6 216.9-8.1-33-5.8-169.7-41.7-186.6 2.7 32-20.6 84.7-33.8 89.3 10.5-55.4-17.1-115.4-34.1-148.85z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FirstAidKit;

impl IconShape for FirstAidKit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 73c-62.875 0-91.913 11.948-105.273 26.979-11.632 13.086-13.324 30.848-13.59 51.021h30.437c1.634-13.963 7.309-26.44 19.438-34.518C201.703 106.7 223.253 103 256 103c32.753 0 54.311 3.739 68.996 13.54 12.115 8.084 17.788 20.546 19.426 34.46h30.441c-.266-20.173-1.958-37.935-13.59-51.021C347.913 84.948 318.875 73 256 73zm-135 94v16h62v-16h-62zm208 0v16h62v-16h-62zM81.47 201c-13.866 0-28.232 6.837-38.97 17.412C31.762 228.988 25 243 25 256v192c0 14.5 3.485 23.754 9.37 29.633C40.253 483.51 49.53 487 64.063 487h384.387c14.253 0 23.382-3.463 29.219-9.342C483.507 471.78 487 462.5 487 448V256c0-13-6.777-27.05-17.363-37.637C459.05 207.777 445 201 432 201H81.47zM224 256h64v64h64v64h-64v64h-64v-64h-64v-64h64v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishBucket;

impl IconShape for FishBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M343.1 25.7c.5 31.23 14.5 58.24 38.1 88.1l4.1 5.2-43.9 64H402l12.6-52.9 6.4-.7c18.7-1.9 41-10.2 60-19.9 7.1-3.7 13.6-7.5 19.6-11.3-4.2 0-7.4.13-12.2 0-22.4-.61-48.7-2.52-67.4-10.26-20.4-8.51-42.6-27.79-60.7-45.05-6.6-6.31-12.3-12.04-17.2-17.19zM74.93 26.9C55.54 74.74 74.44 140.8 98.75 183H119c-.8-2.4-1.2-4.9-1.2-7.5 0-13.7 11.3-25 25-25s25 11.3 25 25c0 2.6-.4 5.1-1.2 7.5h60.7c-16-37.2-41.8-82.7-82.8-116.96 5.1 19.17 12.2 37.76 23.8 55.56l-15.2 9.8c-17.2-26.6-25.3-54.39-30.9-81.78C108 40.49 92.3 32.73 74.93 26.9zm67.87 141.6c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zM89 201v30h196.5c1.7-5.8 3.3-11.7 5-17.6l17.4 4.8c-1.2 4.3-2.4 8.5-3.6 12.8H423v-30H89zm17.8 48l31.5 167.5c47.8-19.6 78.6-46.8 100.7-78.7 18.5-26.7 30.8-57 40.9-88.8H106.8zm192.1 0c-10.7 34.6-24 68.5-45.2 99.1-24.4 35.1-59.5 65.5-112.1 86.4l9.9 52.5h209l44.7-238H298.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishEggs;

impl IconShape for FishEggs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.2 34.44c-71.6.52-133.7 47.59-189.8 102.96-40-16.4-80.97-29.3-127.35-25.4 40.27 43.5 51.79 90.1 30.33 140.3 40.85-20.2 77.32-45.5 107.52-78.7 136.7 34 274.5 45 338-65.6-58-53.25-110.6-73.9-158.7-73.56zM376.7 64a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-88 166.3c-22.5 0-41 18.5-41 41 0 4.4.7 8.7 2 12.7-5.9-3.4-12.8-5.4-20.1-5.4-22.5 0-41 18.5-41 41 0 1.4.1 2.9.2 4.2-2.9-.6-6-1-9.1-1-16.5 0-30.9 10-37.4 24.2-6.8-5-15.2-8-24.2-8-22.52 0-41.02 18.5-41.02 41 0 10.2 3.78 19.5 9.99 26.7-1.82-.3-3.68-.4-5.57-.4-22.5 0-41 18.5-41 41s18.5 41 41 41c20.1 0 36.9-14.7 40.4-33.9 6.5 14 20.7 23.8 37.1 23.8 22.5 0 41-18.5 41-41 0-13.2-6.4-25.1-16.3-32.6 15.7-1.6 29-12.1 34.3-26.4.8 15.5 10.3 28.9 23.7 35.2-13.3 6.8-22.5 20.7-22.5 36.5 0 22.5 18.5 41 41 41 20.1 0 37-14.7 40.4-33.9 7.3 11.1 19.9 18.4 34.1 18.4 14.3 0 26.9-7.5 34.3-18.6 6.2 14.7 20.9 25.2 37.8 25.2 22.5 0 41-18.5 41-41 0-20.2-14.9-37.1-34.2-40.4 4.2-6.4 6.7-14.1 6.7-22.3 0-22.5-18.5-41-41-41-6.7 0-13 1.6-18.6 4.5.2-1.9.4-3.8.4-5.8 0-21.9-17.5-39.9-39.1-40.9 4.8-6.8 7.7-15 7.7-23.8 0-22.5-18.5-41-41-41zm0 18c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm-59.1 48.3c12.8 0 23 10.2 23 23 0 8.3-4.3 15.5-10.7 19.5-1.1.5-2.2 1.1-3.3 1.7-2.7 1.2-5.8 1.8-9 1.8-12.8 0-23-10.2-23-23 0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm39 10.3c5.4 3.1 11.6 5 18.2 5.3-4.8 6.8-7.7 15-7.7 23.8 0 1.6.1 3.2.3 4.8-3.8-2.2-7.9-3.8-12.3-4.7 2.2-5.1 3.5-10.6 3.5-16.5 0-4.4-.7-8.7-2-12.7zm51.5 6.1c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm-140.4 27.8c12.8 0 23 10.2 23 23s-10.2 23-23 23c-9.7 0-17.9-5.8-21.3-14.2-.4-2-.9-3.9-1.5-5.7-.1-1-.2-2.1-.2-3.1 0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm79.3 12.5c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm120.3 2c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zM118.1 357c9.7 0 17.9 5.8 21.3 14.2.4 2 .9 3.9 1.5 5.7.1 1 .2 2.1.2 3.1 0 12.8-10.2 23-23 23s-23.02-10.2-23.02-23c0-.5 0-1.1.1-1.6A16 16 0 0 0 102 380a16 16 0 0 0 16.1-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm102.4 2.6c.3 0 .7.1 1 .2l-.9 2.1c0-.8 0-1.6-.1-2.3zm79.2 11.9c6 3.5 13 5.5 20.4 5.5 6.7 0 13-1.6 18.6-4.5-.2 1.9-.4 3.8-.4 5.8 0 5.5 1.1 10.8 3.2 15.7-2.2-.4-4.5-.6-6.8-.6-20.1 0-37 14.7-40.4 33.9-4.1-6.2-9.9-11.3-16.7-14.5 13.2-6.8 22.4-20.7 22.4-36.5 0-1.6-.1-3.2-.3-4.8zm35 39.9c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zM159 414.2c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm247.8 3.8c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm-294.3 2.6c1.8.3 3.7.4 5.6.4 1.1 0 2.2-.1 3.4-.1-1.3 2.9-2.3 6-2.9 9.2-1.6-3.5-3.7-6.6-6.1-9.5zm-31 3.7c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1zm178.7 2.6c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23c0-.5 0-1.1.1-1.6a16 16 0 0 0 6.9 1.6 16 16 0 0 0 16-16 16 16 0 0 0-1.6-6.9c.5-.1 1.1-.1 1.6-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishEscape;

impl IconShape for FishEscape {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M467.2 29.51c-.9-.02-1.7-.02-2.6 0-25.5.59-76.1 16.5-94.7 27.23-25.2 14.39-64.9 65.26-78 86.66-19.1-5.2-52.7 13.6-67.5 36 20.3-2.1 68.6-6.1 50.9 33.7 34.9-15.5 20.6-41.9 27.4-51.1 15.2-20.4 112-29.6 125.9-41.7 29.8-24.3 54.3-81.49 50.2-87.23-1.7-2.35-5.9-3.44-11.6-3.56zM269 41.17C217 54.45 111.5 98.91 77.29 152.1l23.11 13.1C134.4 116 220.2 71.19 269 41.17zm158.8 4.64c3.9-.12 7.8 1.9 9.8 5.54 3.1 5.3 1.3 12.08-4 15.08-5.3 3.1-12.1 1.2-15.1-4.1-3.1-5.28-1.2-12.08 4.1-14.98 1.6-.98 3.4-1.48 5.2-1.54zM237.1 103.3C188.3 127 77.43 218.7 62.99 290.3l39.41-2c14.7-72.2 86.5-149.3 134.7-185zM17 310v18h287c-3.2 7.7-8.9 15-11 22-2 7-2 17 5 23 30.2 31.8 51.7 75.5 58.6 122h18.2c-7.1-51.3-30.8-99.2-64.8-134-1-2-1-2 0-5 1-4 5-9 8-14s7-10 6-18c0-5-4-10-7-12-4-2-8-2-13-2H17zm45 80c-14.1.7-29.68 2.4-45 4.4v18.3c22.83-3 46.65-5.5 62-4.7 41 2 81 29 128 32 24 1 56-3 82-7 10-2 19-3 27-5-3.8-5-5.2-12.2-9-16-6 1-13 2-20 3-27 4-59 8-79 7-40-2-80-29-128-32H62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishMonster;

impl IconShape for FishMonster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.906a134.338 134.338 0 0 0-3.395 4.314l-19.029 146.516c5.906 4.289 14.005 6.869 22.424 6.869 8.419 0 16.518-2.58 22.424-6.87L259.394 28.22A134.338 134.338 0 0 0 256 23.906zM52.197 82.993c2.633 4.83 5.372 10.094 8.059 15.832 9.706 20.733 19.502 45.58 12.256 66.7-4.893 14.26-18.833 21.828-30.762 27.916-4.115 2.1-7.915 3.778-11.395 5.244 2.888 3.986 6.193 8.714 9.625 14.222 8.46 13.576 17.636 29.8 17.012 46.043-.763 19.865-13.95 39.996-26.19 56.64-1.306 1.777-2.539 3.276-3.827 4.95 14.02-4.176 27.872-7.632 41.064-8.894 16.829-1.61 33.403.825 46.463 10.033a32.098 32.098 0 0 1 4.508-4.094c.01-9.985.11-22.057 1.045-35.396-11.958-1.312-21.933-1.398-32.496 6.494l-7.21 5.387-10.77-14.418 7.208-5.387c11.648-8.702 23.651-10.752 34.836-10.611.746.009 1.489.029 2.227.056 2.72.102 5.365.332 7.96.596 1.037-8.072 2.45-16.309 4.395-24.494-14.211-9.95-35.149-20.405-54.865-20.914l-8.996-.23.465-17.993 8.996.23c22.807.59 43.924 10.096 59.771 20.536 2.512-7.092 5.556-14.02 9.235-20.586-13.379-16.006-31.274-34.787-44.903-42.313l-7.879-4.35 8.701-15.755 7.877 4.35c16.791 9.271 33.688 26.7 46.89 42.447 3.375-4.048 7.1-7.842 11.241-11.293.482-.401.983-.783 1.475-1.174-28.886-34.842-70.211-71.854-112.016-89.774zm407.606 0c-41.805 17.92-83.13 54.932-112.016 89.774.492.391.993.773 1.475 1.174 4.14 3.45 7.866 7.244 11.242 11.29 13.202-15.745 30.098-33.173 46.889-42.445l7.877-4.35 8.7 15.757-7.878 4.35c-13.629 7.525-31.524 26.306-44.903 42.312 3.68 6.567 6.723 13.494 9.235 20.586 15.847-10.44 36.964-19.947 59.771-20.535l8.996-.23.465 17.991-8.996.23c-19.716.51-40.654 10.965-54.865 20.915 1.945 8.185 3.358 16.423 4.394 24.494 2.596-.264 5.24-.494 7.961-.596a89.93 89.93 0 0 1 2.227-.056c11.185-.14 23.188 1.909 34.836 10.61l7.209 5.388-10.772 14.418-7.209-5.387c-10.563-7.892-20.538-7.806-32.496-6.494.935 13.339 1.035 25.411 1.045 35.396a32.098 32.098 0 0 1 4.508 4.094c13.06-9.208 29.634-11.644 46.463-10.033 13.192 1.262 27.044 4.718 41.064 8.894-1.288-1.674-2.52-3.173-3.828-4.95-12.238-16.643-25.426-36.775-26.19-56.64-.623-16.244 8.552-32.467 17.013-46.042 3.432-5.509 6.737-10.237 9.625-14.223-3.48-1.466-7.28-3.144-11.395-5.244-11.929-6.088-25.869-13.655-30.762-27.916-7.246-21.12 2.55-45.967 12.256-66.7 2.687-5.738 5.426-11.002 8.059-15.832zm-234.217 13.53c-1.177 2.384-2.353 4.77-3.56 7.152-10.007 19.736-20.462 38.716-30.81 54.79 8.155-2.615 17.135-4.239 26.936-4.706zm60.828 0l7.434 57.236c9.801.467 18.78 2.09 26.935 4.705-10.347-16.073-20.802-35.053-30.808-54.789-1.208-2.382-2.384-4.768-3.56-7.152zm-70.62 75.386c-17.966 1.358-31.163 7.219-41.532 15.86-11.888 9.907-20.144 23.874-25.776 39.83-9.606 27.217-11.13 59.203-11.379 82.982a46.752 46.752 0 0 1 6.19-.47c6.381-.049 12.665 1.167 18.584 3.21 11.837 4.088 22.782 11.155 33.53 18.495 21.493 14.678 42.256 29.789 60.589 29.789s39.096-15.11 60.59-29.79c10.747-7.339 21.692-14.406 33.53-18.493 7.825-2.703 16.288-3.941 24.773-2.74-.25-23.78-1.773-55.766-11.38-82.983-5.63-15.956-13.887-29.923-25.775-39.83-10.369-8.641-23.566-14.502-41.533-15.86l1.29 9.928-3.132 3.131C284.243 195.089 270 199.605 256 199.605s-28.242-4.516-38.363-14.637l-3.131-3.13zm-27.628 45.28c.574-.008 1.155.006 1.744.04 1.346.082 2.731.281 4.158.618 18.589 4.388 30.298 22.616 39.467 38.57 9.17 15.954 14.875 30.985 14.875 30.985l3.203 8.408-16.322 6.219a775.756 775.756 0 0 1 4.709 4.576c-16 16-64 0-80-16 0-16 0-32 16-32 12.758 0 45.503 30.193 58.395 42.56l-2.805-7.357s-5.318-13.907-13.66-28.422c-8.343-14.515-20.634-28.285-27.998-30.023-.192-.046-7.454 1.83-13.31 5.714-5.858 3.884-10.532 8.155-10.532 8.155l-6.627 6.088-12.178-13.252 6.625-6.09s5.523-5.1 12.764-9.9c5.94-3.94 12.886-8.769 21.492-8.89zm135.668 0c8.606.12 15.552 4.95 21.492 8.888 7.241 4.802 12.764 9.9 12.764 9.9l6.625 6.09-12.178 13.253-6.627-6.088s-4.674-4.27-10.531-8.155c-5.857-3.883-13.12-5.76-13.31-5.714-7.365 1.738-19.656 15.508-27.999 30.023-8.342 14.515-13.66 28.422-13.66 28.422l-2.805 7.357c12.892-12.367 45.637-42.56 58.395-42.56 16 0 16 16 16 32-16 16-64 32-80 16 0 0 1.99-1.955 4.709-4.576l-16.322-6.22 3.203-8.407s5.705-15.03 14.875-30.985c9.17-15.954 20.878-34.182 39.467-38.57a24.473 24.473 0 0 1 4.158-.617c.589-.036 1.17-.05 1.744-.041zM240 316.605v22h-16zm32 0l16 22h-16zm-128.42 11.351c-3.928.01-7.735.878-11.705 2.772-4.352 2.076-7.826 7.184-9.83 14.672-2.004 7.487-2.22 16.729-1.147 23.867 6.332 42.105 37.42 85.884 75.22 105.336 34.955 17.989 84.809 17.989 119.765 0 37.799-19.452 68.887-63.23 75.219-105.336 1.073-7.138.857-16.38-1.147-23.867-2.004-7.488-5.478-12.596-9.83-14.672-7.94-3.788-15.232-3.468-24.13-.395-8.9 3.073-18.839 9.233-29.255 16.346-20.832 14.227-43.505 32.926-70.74 32.926-27.235 0-49.908-18.7-70.74-32.926-10.416-7.113-20.356-13.273-29.254-16.346-4.45-1.536-8.498-2.386-12.426-2.377zm7.42 28.088l11.975 5.987L176 394.55l15.96-18.196c5.902 2.85 11.374 5.433 16.405 7.693l11.465 18.557 6.395-11.205c11.472 4.172 20.813 6.205 29.775 6.205s18.303-2.033 29.775-6.205l6.395 11.205 11.465-18.557c5.03-2.26 10.503-4.843 16.404-7.693L336 394.55l13.025-32.52L361 356.045v14.56c0 11-4.744 23.841-13.512 36.993a105.125 105.125 0 0 1-19.896 22.191L320 414.605l-21.594 32.39a120.352 120.352 0 0 1-14.775 4.88l-6.166-21.27-13.844 24.572c-5.079.36-10.163.36-15.242 0l-13.844-24.572-6.166 21.27a120.352 120.352 0 0 1-14.775-4.88L192 414.605l-7.592 15.183a105.125 105.125 0 0 1-19.896-22.191C155.744 394.445 151 381.604 151 370.605z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishScales;

impl IconShape for FishScales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 494c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.53-44 13.27-3.3 24.47-13.5 32.41-26.7 2.36-3.9 4.48-8.2 6.34-12.7 1.86 4.5 3.98 8.8 6.34 12.7 7.94 13.2 19.14 23.4 32.36 26.7-1.1 17.4-5.82 32.9-12.48 44C82.58 487.7 73.2 494 64 494zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm-336-80c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.52-44 13.26-3.3 24.46-13.5 32.44-26.7 2.3-3.9 4.4-8.2 6.3-12.7 1.8 4.5 4 8.8 6.3 12.7 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm-382-.1V316c1.34 2.9 2.78 5.6 4.34 8.2 7.94 13.2 19.14 23.4 32.4 26.7-1.11 17.4-5.86 32.9-12.52 44-7.09 11.9-15.67 18.1-24.22 19zm476 0c-8.6-.9-17.1-7.1-24.2-19-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 1.5-2.6 3-5.3 4.3-8.1zM64 334c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.52-44 13.26-3.3 24.46-13.5 32.4-26.7 2.36-3.9 4.48-8.2 6.34-12.7 1.86 4.5 3.98 8.8 6.34 12.7 7.94 13.2 19.14 23.4 32.36 26.7-1.1 17.4-5.82 32.9-12.48 44C82.58 327.7 73.2 334 64 334zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm-336-80c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.52-44 13.26-3.3 24.46-13.5 32.44-26.7 2.3-3.9 4.4-8.2 6.3-12.7 1.8 4.5 4 8.8 6.3 12.7 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.4-3.9 4.5-8.2 6.3-12.7 1.9 4.5 3.9 8.8 6.3 12.7 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.4-3.9 4.5-8.2 6.3-12.7 1.9 4.5 3.9 8.8 6.3 12.7 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm-382-.1V156c1.34 2.9 2.78 5.6 4.34 8.2 7.94 13.2 19.14 23.4 32.4 26.7-1.11 17.4-5.86 32.9-12.52 44-7.09 11.9-15.67 18.1-24.22 19zm476 0c-8.6-.9-17.1-7.1-24.2-19-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 1.6-2.5 3-5.3 4.3-8.1zM64 174c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.52-44 13.26-3.3 24.46-13.5 32.4-26.7 2.36-3.9 4.48-8.2 6.34-12.7 1.86 4.5 3.98 8.8 6.34 12.7 7.94 13.2 19.14 23.4 32.36 26.7-1.1 17.4-5.82 32.9-12.48 44C82.58 167.7 73.2 174 64 174zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 13.2-3.3 24.4-13.5 32.4-26.7 2.3-3.9 4.5-8.2 6.3-12.6 1.8 4.4 4 8.7 6.3 12.6 8 13.2 19.2 23.4 32.4 26.7-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zM112 94c-9.2 0-18.58-6.3-26.22-19.1-6.66-11.1-11.41-26.6-12.52-44C80.93 29 87.9 24.8 93.96 19H130c6.1 5.8 13.1 10 20.7 11.9-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 7.6-1.9 14.6-6.1 20.7-11.9h36c6.1 5.8 13.1 10 20.7 11.9-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 7.6-1.9 14.6-6.1 20.7-11.9h36c6.1 5.8 13.1 10 20.7 11.9-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm96 0c-9.2 0-18.6-6.3-26.2-19.1-6.7-11.1-11.4-26.6-12.5-44 7.6-1.9 14.6-6.1 20.7-11.9h36c6.1 5.8 13.1 10 20.7 11.9-1.1 17.4-5.8 32.9-12.5 44-7.6 12.8-17 19.1-26.2 19.1zm-382-.1V19h16.04c6.06 5.8 13.03 10 20.7 11.9-1.11 17.4-5.86 32.9-12.52 44C35.13 86.8 26.55 93 18 93.9zm476 0c-8.6-.9-17.1-7.1-24.2-19-6.7-11.1-11.4-26.6-12.5-44 7.6-1.9 14.6-6.1 20.7-11.9h16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishSmoking;

impl IconShape for FishSmoking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M344.988 24.154l23.64 39.4c.3-.328.597-.66.907-.974 3.823-3.874 8.88-6.833 14.647-6.879 5.766-.045 10.962 2.924 14.748 6.867.212.222.413.46.62.688l23.462-39.102C409.75 29.895 396.964 33 384 33c-12.964 0-25.75-3.105-39.012-8.846zm-139.441 1.418l33.457 39.36a35.321 35.321 0 0 1 2.795-2.94c3.864-3.608 8.857-6.25 14.388-6.29 5.532-.041 10.65 2.606 14.483 6.284a33.247 33.247 0 0 1 2.517 2.72l33.266-39.134c-32.405 10.075-68.501 10.075-100.906 0zM84.988 34.154l20.274 33.79c5.156-6.196 11.374-10.192 18.978-10.243 5.55-.037 10.804 2.42 14.893 6.043 1.338 1.186 2.583 2.508 3.763 3.938l20.116-33.528C149.75 39.895 136.964 43 124 43c-12.965 0-25.75-3.105-39.012-8.846zM32 71v18h61.25c.522-1.161 1.05-2.308 1.588-3.441L86.104 71H32zm129.896 0l-8.873 14.79c.463 1.058.919 2.128 1.368 3.21h71.744a187.558 187.558 0 0 1 3.242-7.602L220.539 71h-58.643zm129.567 0l-8.969 10.55a196.473 196.473 0 0 1 2.932 7.45h69.54a225.234 225.234 0 0 1 3.243-7.826L352.105 71h-60.642zm124.433 0l-6.177 10.295A238.072 238.072 0 0 1 412.668 89H480V71h-64.104zm-31.62 2.686c.005 0 .038.018.048.021.053-.014.055-.008 0-.008-.053 0-.072-.015-.049-.013zm.048.021c-.15.041-.755.278-1.976 1.516-1.65 1.672-3.934 4.985-6.174 9.85C354.662 131.77 345 209.17 345 268.732c0 11.454 3.67 36.005 11.102 56.187 3.715 10.091 8.404 19.161 13.406 25.127 2.755 3.286 5.377 5.533 8 6.892l7.031-30.283 17.533 4.07-4.8 20.688c.405-.445.81-.877 1.22-1.367 5.002-5.966 9.691-15.036 13.406-25.127 7.407-20.116 11.068-44.545 11.092-56.047a1364.433 1364.433 0 0 0-2.851-40.629l-9.948 15.717-15.209-9.625 16.743-26.451c-4.784-.93-9.371-2.512-13.471-4.717-3.073-1.653-5.923-3.596-8.676-5.637l.156 38.602-17.998.072-.328-80.92 15.518 15.832c6.295 6.423 13.218 12.63 19.855 16.2 3.326 1.788 6.398 2.96 9.448 3.4-4.946-39.699-12.55-77.625-24.518-105.903-2.082-4.919-4.247-8.197-5.766-9.779-1.05-1.094-1.498-1.296-1.62-1.328zm-128.006-.008c-.023 0-.628-.052-2.236 1.45-1.608 1.501-3.827 4.468-6.031 8.876C226.94 126.245 217 209.01 217 263.73c0 10.272 3.609 29.8 10.816 45.31 3.604 7.754 8.09 14.53 12.914 19.003 4.824 4.473 9.58 6.687 15.27 6.687 4.035 0 7.597-1.136 11.049-3.378l-6.662-21.803 17.213-5.26 3.357 10.988a83.987 83.987 0 0 0 3.227-6.238c7.174-15.437 10.77-34.828 10.804-45.137-.363-6.011-.787-12.267-1.252-18.629l-.01.024-16.714-6.68 12.527-31.344c-11.86-.562-21.895-3.106-30.652-7.986l-4.664 53.12-17.932-1.575 7.795-88.76 13.682 13.961c8.895 9.076 16.666 12.886 30.587 13.46-4.977-40.302-12.633-79.833-24.533-105.735-2.045-4.452-4.144-7.374-5.615-8.785-1.471-1.412-1.866-1.274-1.889-1.274zm-131.957 2c-.927.006-4.99 1.806-9.744 10.586-22.862 42.229-33.562 122.808-33.562 177.445 0 10.117 3.88 29.597 11.658 45.055 7.779 15.458 18.182 25.945 31.314 25.945 2.542 0 4.98-.397 7.317-1.142l-1.278-38.309 17.99-.6.829 24.852c2.323-3.2 4.476-6.81 6.457-10.746 7.746-15.393 11.614-34.748 11.646-44.9-.408-6.245-.886-12.718-1.414-19.295l-3.537 13.94-17.445-4.428 7.726-30.454c-5.954.072-11.77-1.15-17.039-3.164-3.259-1.245-6.334-2.81-9.326-4.48l5.1 38.264-17.844 2.378-10.688-80.21 17.416 13.712c7.066 5.564 14.728 10.833 21.768 13.524 7.04 2.69 12.763 3.08 18.871-.01l.903-.457c-5.283-44.037-13.908-88.494-28.186-117.197-2.202-4.427-4.445-7.327-6.1-8.793-1.654-1.466-2.368-1.519-2.832-1.516zM112 281.68a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM240 288a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm126.014 18.871a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm98.527 14.281c2.258 10.47.32 31.594-6.646 36.625-4.283 3.093-10.474-4.257-4.817 29.362 6.465-5.66 18.656-14.086 20.805-28.754 1.916-13.08-1.214-23.462-9.342-37.233zM99.154 349.568c3.922 10.79 17.738 20.646 15.895 32.37-1.89 12.016-19.796 18.176-25.838 27.533 10.84-9.373 35.131-9.375 37.682-24.057 2.585-14.885-18.39-27.9-27.739-35.846zM48 350c-18.591 28.614-27.051 60.24-28.158 90.703C14.824 450.71 18 478.951 18 492h138.553a384.605 384.605 0 0 1-3.903-6.287c5.813-24.577 11.091-49.047 7.35-71.713-5.627 17.167-15.96 28.404-27.795 39.383-5.395-7.08-11.7-13.728-20.205-20.174 4.99 9.315 8.978 18.407 12.313 27.353-9.443 8.523-19.355 17.611-28.313 29.82C68.963 448.088 26.55 440.784 48 350zm255.504 17.611c11.042 51.035 27.18 107.6 6.662 124.389H494v-17.484c-3.981 5.584-8.698 10.543-13.777 14.97 1.971-36.131 3.294-71.73-16.72-89.875 11.23 53.234-25.535 59.433-47.503 90.368-11.476-20.8-52.278-27.61-9.156-68.797-32.104-1.191-59.837 24.264-55.34 67.693-13.41-56.875-23.11-70.545-48-121.264zm-53.354 2.793c-5.036 11.189-21.777 53.328-9.68 44.278 15.055-11.262 16.143 17.146 35.419 19.472-9.472-5.86-9.455-38.53-24.225-35.142-9.308 2.135-.428-17.18-1.514-28.608zM176 391.666c3.67 57.152-3.935 84.545-18.307 100.334h44.508c-7.805-9.769-10.057-30.877 5.799-76l-22.953 42.43c-.451-15.55-2.432-57.379-9.047-66.764zm63.611 51.584c20.518 23.464 22.353 39.719 10.848 48.75h43.95c-15.144-7.97-22.15-23.338-22.905-44.389-3.055 4.764-5.343 9.763-7.1 14.926-6.434-5.865-14.576-12.256-24.793-19.287z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fishing;

impl IconShape for Fishing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M455 32v198.47a16 16 0 0 0-7 13.208 16 16 0 0 0 7 13.226v66.774c0 5.75-1.877 8.85-4.262 10.836-2.384 1.987-5.657 2.887-9.258 2.287-7.16-1.193-16.37-8.05-16.474-28.77h15.533l-31.606-42.997-1.914 42.645H407c0 .106.005.21.006.316l-.002.035h.002c.128 26.794 14.79 43.74 31.514 46.527 8.4 1.4 17.126-.702 23.742-6.215C468.877 342.83 473 333.928 473 323.678v-66.79a16 16 0 0 0 7-13.21 16 16 0 0 0-7-13.227V32h-18zM191.97 142.678l-14.505.052 6.484 12.97c11.004 22.014 13.562 44.94 6.306 70.484 16.372-7.893 32.52-14.514 47.04-19.09 17.127-5.4 34.613-8.823 52.304-10.633-9.637-11.92-19.864-24.137-33.348-34.056-16.005-11.772-36.664-19.825-64.283-19.726zM321.173 212.9c-26.903-.003-53.246 3.41-78.47 11.362-29.805 9.395-69.467 29.167-100.985 50.238-15.76 10.536-29.53 21.437-38.99 31.195-9.458 9.76-13.73 18.572-13.73 21.983 0 1.115.658 3.355 3.328 6.55 2.67 3.192 7.133 7.02 12.975 10.918 11.683 7.798 28.768 15.954 48.064 23.338 10.86 4.156 22.445 8.07 34.225 11.647 4.63-5.44 9.13-10.773 13.082-15.685 4.6-5.715 8.51-10.923 11.09-14.957 1.933-3.025 2.8-5.784 3.103-6.27.1-.164.138-.074.133.343l18 .235c-.085 6.563-2.86 10.362-6.07 15.387-3.212 5.024-7.426 10.575-12.233 16.548-4.236 5.265-9.016 10.898-13.816 16.536 17.5-3.984 36.32-7.97 52.87-12.55 12.883-3.567 24.274-7.546 31.738-11.62 7.465-4.075 9.47-7.418 9.518-8.744l17.988.654c-.408 11.207-9.133 18.567-18.883 23.89-9.6 5.24-21.69 9.302-34.956 12.995 4.813.746 9.442 1.37 13.81 1.84 28.785 3.106 68.376 3.102 102.03-1.568 16.827-2.335 32.197-5.863 43.777-10.45 5.082-2.014 9.168-4.26 12.53-6.534-12.215-3.44-26.56-7.368-41.294-13.414-20.51-8.417-40.92-20.97-46.713-43.135-3.522-13.476 2.455-25.923 10.693-35.452 8.24-9.53 19.04-17.607 28.994-25.555s18.976-15.81 23.584-22.865c3.85-5.896 5.066-10.28 2.94-16.24-27.796-6.15-55.635-10.113-82.942-10.573-1.798-.03-3.595-.044-5.388-.045zm-307.55 24.39l11.028 15.585c25.106 35.484 28.82 103.86 19.66 151.705L41.4 419.783l14.653-4.99c31.135-10.605 49.9-25.726 63.056-41.373-8.873-4.267-16.915-8.706-23.8-13.3-6.772-4.52-12.463-9.17-16.792-14.35C74.188 340.594 71 334.563 71 327.68c0-12.59 7.967-23.33 18.807-34.512 4.653-4.8 10.03-9.647 15.92-14.486-18.32-23.38-43.376-37.776-73.06-39.977l-19.042-1.412zm332.317 10.388a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingBoat;

impl IconShape for FishingBoat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M232.54 67.154l-17.08 5.692L241.513 151h18.976zM71.28 106.707l-14.56 10.586L71 136.928V230h18v-68.322L161.234 261h22.258zM272 117v18h39v16h18v-16h39v-18zm-23 52v126h108.943l-5.111-46H279v-80zm48 0v62h53.834l-6.889-62zM89 279v16h110v-16zm-70.012 34l41.248 110h319.68l114.25-110H140.588C157.022 318.35 169 333.85 169 352c0 22.537-18.463 41-41 41s-41-18.463-41-41c0-18.15 11.978-33.65 28.412-39zM128 329c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm208 0h80v18h-80zM96 439c-28.777 2.338-51.11 8.201-78.61 16.387l5.22 17.226C45.822 467.213 71.59 457.287 96 457c23.665 0 49.275 16 80 16s56.335-16 80-16 49.275 16 80 16 56.335-16 80-16c27.734 2.18 46.87 7.726 73.39 15.613l5.22-17.226C468.536 448.762 443.471 439.273 416 439c-30.725 0-56.335 16-80 16s-49.275-16-80-16-56.335 16-80 16-49.275-16-80-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingJig;

impl IconShape for FishingJig {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.13 24.64l-17.3 4.96c11.06 38.61 28.29 61.73 49.57 75.1 21.3 13.3 45.5 16.8 70 19.6 34.2 4 69.3 6 103.2 27.5-44-10.1-88.9-8.9-129.8-9.4-51.3-.6-95.31-4-124.84-31.1l-12.17 13.2C58.2 157 107.7 159.8 159.6 160.4c45.4.6 93.6-.5 138.3 12.1-14.4-.9-30.1-1.4-46.5-1.6-29.4-.3-61.1.8-91.6 4.2-60.92 6.8-118.12 22.1-142.13 60.3l15.24 9.6c17.92-28.6 69.89-45.4 128.89-52 49.4-5.5 102.8-4.7 143.5-2-53.7 12-113.1 17.3-162.8 33.5-27.3 8.9-51.8 21.3-70.35 40.4-18.55 19.2-30.62 45.3-33.25 79.4l17.94 1.4c2.38-30.8 12.56-52 28.25-68.3 15.71-16.2 37.41-27.4 63.01-35.7 43.3-14.1 97.3-19.9 149.1-30.7-7.5 10.5-17.6 19.4-29.8 27.6-21.8 14.8-50 26.7-79.1 39.7-29 13-58.9 27.1-84 47.5-25.19 20.4-45.5 47.5-54.2 84.6l17.52 4.2c7.75-33.2 25.12-56.2 47.98-74.8 22.9-18.5 51.3-32.2 80.1-45.1 28.8-12.9 57.8-24.9 81.8-41.2 9.9-6.6 18.9-14.1 26.6-22.6-19.4 56.9-50 94.4-89.6 124.9-47.6 36.7-108.9 62.7-178.74 97.1l7.96 16.2C113 435 175.2 408.7 225.5 370.1c48-37 84.6-85.8 104-161.7 8 27.1 6.8 49 .5 68.9-7.1 22.8-21.3 43.1-37.1 63.7-31.7 41.2-70.5 84.6-61.5 151.6l17.8-2.4c-8-59.3 25.7-96.3 58-138.2 16.1-21 31.8-43 40-69.3 6-19.3 7.8-41 3-65.4 18.9 31.1 25 57 24.5 79.5-.6 28.1-11.6 51.6-23.4 73.2-11.7 21.6-24.8 41-25.4 62.9-.3 10.9 3.1 22.2 11 32.6 7.9 10.4 19.9 20.1 37.4 29.9l8.8-15.6c-16.1-9.1-26.2-17.6-31.9-25.2-5.8-7.5-7.5-14-7.3-21.2.4-14.3 11.1-32.6 23.2-54.8 12.1-22.3 24.9-48.8 25.6-81.4.7-32.7-11-70.7-45.2-115.4-50.5-66-110.7-69.8-159-75.3-24.2-2.8-45.3-6.3-62.5-17.06-17.2-10.79-31.62-29.02-41.87-64.8zm319.47.24c-15.7-.33-32.3 6.3-42.9 10.41l-56.9 30.87 54.1 12.34-4.8-20.03c32.6-18.93 57-17.6 68.8-11.06 6 3.33 8.8 7.64 9.5 11.89.6 4.26-.7 9.19-6.2 14.7l-79.7 79.67c4.3 3.8 8.6 8.4 12.7 12.8L438 86.76c5.5-5.51 10.4-6.76 14.7-6.12 4.2.65 8.5 3.44 11.9 9.45 6.5 11.81 7.8 36.11-11.1 68.81l-20-4.9 12.3 54.2 34.6-63.8c7.8-17.5 10.3-44.3-.1-63.05-5.5-9.97-14.6-16.93-24.9-18.51-1.3-.2-2.7-.3-4-.32h-2c.1-1.98 0-3.96-.3-5.91-1.5-10.39-8.5-19.4-18.5-24.94-7.4-4.15-16.6-6.57-27-6.79zM333.2 192.7l.1.1c.1.1.2.3.3.4l-.5.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingLure;

impl IconShape for FishingLure {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.6 24.88c-15.7-.33-32.3 6.3-42.9 10.41l-56.9 30.87 54.1 12.34-4.8-20.03c32.6-18.93 57-17.6 68.8-11.06 6 3.33 8.8 7.64 9.5 11.89.6 4.26-.7 9.19-6.2 14.7L324.1 175.1 81.17 320.9C52.61 349.7 34.15 390 25 424.8c-4.62 17.5-6.88 33.7-7.1 45.8-.11 6.1.31 11.2 1.04 14.8.68 3.3 1.85 5.1 1.82 5.1-.1-.1 1.69 1.1 5.16 1.8 3.57.8 8.67 1.2 14.75 1.1 12.17-.2 28.29-2.5 45.81-7.1 33.92-8.9 73.02-26.7 101.52-53.9l-.1-.3c39.2-13.3 67.5-44 99.5-71.7-39.9 0-80.4.7-122.1-7.2 37.3-1.2 65.5-5.4 77.9-11.1l91.1-151.7L438 86.76c5.5-5.51 10.4-6.76 14.7-6.12 4.2.65 8.5 3.44 11.9 9.45 6.5 11.81 7.8 36.11-11.1 68.81l-20-4.9 12.3 54.2 34.6-63.8c7.8-17.5 10.3-44.3-.1-63.05-5.5-9.97-14.6-16.93-24.9-18.51-1.3-.2-2.7-.3-4-.32h-2c.1-1.98 0-3.96-.3-5.91-1.5-10.39-8.5-19.4-18.5-24.94-7.4-4.15-16.6-6.57-27-6.79zm-271 162.82c-28 35-41.37 70-46.84 109.3l76.04-45.6c-17.7-17.4-17.2-34.8-29.2-63.7zM88.7 370.9c5.63.1 11.01 2.3 15 6.3 8.4 8.4 8.4 22.1 0 30.5-8.44 8.5-22.14 8.5-30.58 0-8.41-8.4-8.41-22.1 0-30.5 4.13-4.1 9.75-6.4 15.58-6.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingPole;

impl IconShape for FishingPole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M459.36 43.126c-52.275 8.712-112.776 46.666-171.8 96.906-52.19 44.424-102.796 98.724-142.838 152.305l18.672 15.12c13.228-17.734 27.73-35.612 43.078-53.196l-7.84-8.214 13.02-12.43c4.962 5.48 10.23 10.624 15.588 15.98-11.517 38.772-39.2 79.74-72.682 112.528 4.815 3.77 9.285 9.016 11.818 13.726 36.024-34.846 65.698-78.494 78.332-122.087 43.844-16.906 66.78-48.94 89.637-90.875 59.482-8.695 102.554-40.688 126.98-69.985 5.128 13.79 10.162 27.596 12.97 41.098 3.867 18.583 3.758 36.084-4.987 53.32-15.826 31.187-45.75 46.012-69.05 61.634-11.65 7.81-22.287 15.994-26.587 28.74-4.3 12.746-.336 27.582 11.634 44.29 12.763 17.813 31.426 30.763 44.025 43.56 3.362 3.415 6.242 6.77 8.558 10.064 2.087-.42 4.24-.644 6.445-.644 5.573 0 10.836 1.412 15.457 3.888-.13-.373-.255-.748-.394-1.117-3.633-9.606-10.07-17.534-17.24-24.818-14.343-14.568-32.06-27.236-42.22-41.418-10.282-14.353-11.195-22.164-9.208-28.054 1.987-5.89 8.8-12.334 19.553-19.543 21.504-14.418 56.188-31.21 75.08-68.44 10.993-21.667 10.92-44.166 6.56-65.128-7.15-32.718-19.584-59.43-32.56-87.21zm-12.798 13.172l7.666 16.46c-19.566 27.352-61.308 63.002-121.12 72.202l-4.183-7.598c37.565-29.052 74.82-51.47 106.934-63.097l-4.896-11.07zm-138.37 82.662c3.517 5.194 7.076 10.895 9.946 16.133-21.795 39.982-40.676 66.46-78.537 81.41l-8.94-8.94c22.38-23.795 48.04-48.565 71.984-69.115l-5.57-7.723zM132.14 305.31l-8.81 10.88 23.316 18.88 8.808-10.882zM112 330.18L17.338 447.088c.033.307.18 1.134.828 2.404 1.395 2.734 4.697 6.665 8.582 9.812 3.886 3.146 8.42 5.56 11.383 6.355 1.378.37 2.216.34 2.524.307l49.72-61.403c-2.815-11.952-.31-25.042 7.965-35.26 8.273-10.218 20.556-15.395 32.833-15.127l4.143-5.115zm17.99 41.866c-6.608.054-13.126 2.98-17.66 8.58-8.06 9.955-6.555 24.29 3.4 32.35 9.955 8.06 24.29 6.552 32.35-3.403.47-.58.904-1.178 1.31-1.787l17.537 3.23-7.062 38.354 17.7 3.26 10.325-56.057-35.19-6.48c-1.09-4.877-3.79-9.44-8.023-12.868-4.355-3.526-9.548-5.222-14.687-5.18zm314.343 20.918c-8.39 0-15 6.61-15 15 0 5.16 2.507 9.642 6.385 12.332-.485 4.442-1.343 9.902-2.932 15.05-3.453 10.063-8.195 17.16-17.492 15.186-7.036-2.698-7.764-9.982-7.37-16.176l12.636-.213-26.694-40.82c-1.9 6.86-5.49 34.502-3.615 50.008.625 4.574 2.016 9.724 5.355 14.466 3.338 4.742 8.884 8.768 15.767 10.304 10.428 2.328 20.3-.8 26.63-6.65 6.33-5.85 9.723-13.474 11.984-20.795 2.397-7.764 3.458-15.483 3.94-21.088 3.32-2.733 5.407-6.887 5.407-11.603 0-8.39-6.61-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingSpoon;

impl IconShape for FishingSpoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.598 24.87c-15.661-.33-32.31 6.302-42.94 10.407L303.79 66.154l54.135 12.332-4.822-20.03c32.638-18.927 57.029-17.597 68.796-11.06 6.01 3.339 8.807 7.642 9.452 11.897.644 4.255-.61 9.19-6.12 14.7l-79.744 79.743c2.644 1.48 5.089 3.278 7.27 5.46 2.18 2.18 3.979 4.626 5.459 7.269l79.744-79.744c5.51-5.51 10.444-6.764 14.7-6.12 4.254.645 8.558 3.443 11.896 9.452 6.537 11.768 7.867 36.158-11.059 68.797l-20.031-4.823 12.332 54.135 34.594-63.726c7.822-17.49 10.277-44.443-.102-63.125-5.537-9.968-14.546-16.932-24.935-18.506a29.504 29.504 0 0 0-3.92-.328 30.316 30.316 0 0 0-1.993.037c.097-1.982.001-3.96-.295-5.916-1.574-10.39-8.538-19.399-18.505-24.936-7.476-4.153-16.596-6.573-27.043-6.793zm-84.32 141.157c-8.132.065-18.19 1.594-29.452 4.479-25.74 6.594-57.736 20.114-90.205 36.787-64.938 33.346-132.469 79.826-159.28 106.637-18.472 18.472-18.52 42.314-10.251 67.119 8.268 24.805 25.512 49.02 38.652 62.16 13.14 13.14 37.356 30.384 62.16 38.652 24.805 8.269 48.647 8.22 67.12-10.252 26.81-26.81 73.29-94.341 106.636-159.279 16.673-32.469 30.193-64.466 36.787-90.205 3.298-12.87 4.824-24.17 4.416-32.816-.407-8.647-2.63-14.181-5.834-17.385-3.204-3.204-8.737-5.427-17.384-5.834a61.305 61.305 0 0 0-3.366-.063zm-12.339 23.639a20.083 30.124 45 0 1 .002 0 20.083 30.124 45 0 1 11.05 4.295 20.083 30.124 45 0 1-7.1 35.502 20.083 30.124 45 0 1-35.502 7.1 20.083 30.124 45 0 1 7.1-35.502 20.083 30.124 45 0 1 24.45-11.395z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlagObjective;

impl IconShape for FlagObjective {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 26v163.2c-15 .8-28.5 3.3-39.4 7.4-6.5 2.4-12.1 5.4-16.5 9.3-4.5 4-8.1 9.5-8.1 16.1 0 6.6 3.6 12.1 8.1 16.1 4.4 3.9 10 6.9 16.5 9.3 13 4.9 29.8 7.6 48.4 7.6 18.6 0 35.4-2.7 48.4-7.6 6.5-2.4 12.1-5.4 16.5-9.3 4.5-4 8.1-9.5 8.1-16.1 0-6.6-3.6-12.1-8.1-16.1-4.4-3.9-10-6.9-16.5-9.3-10.9-4.1-24.4-6.6-39.4-7.4V26zm38 .99v70.02L378.4 62zM247 207.3v29.4c-13.1-.7-24.8-3-33.1-6.2-5.1-1.9-8.9-4.1-10.9-5.9-2-1.8-2-2.5-2-2.6 0-.1 0-.8 2-2.6s5.8-4 10.9-5.9c8.3-3.2 20-5.5 33.1-6.2zm18 0c13.1.7 24.8 3 33.1 6.2 5.1 1.9 8.9 4.1 10.9 5.9 2 1.8 2 2.5 2 2.6 0 .1 0 .8-2 2.6s-5.8 4-10.9 5.9c-8.3 3.2-20 5.5-33.1 6.2zm-9 70.7L96 358l128-16-32 144h128l-32-144 128 16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flail;

impl IconShape for Flail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.536 14.885c-7.895.044-15.766 1.753-22.812 5.17-4.184 2.029-7.855 5.023-10.563 8.752a28.094 28.094 0 0 0-1.691-.154 29.198 29.198 0 0 0-6.975.447c-17.601 3.257-33.382 16.254-39.95 32.906-2.143 5.435-2.662 11.442-1.198 17.084a29.476 29.476 0 0 0-2.957 3C59.786 95.72 55.74 115.76 61.15 132.823c1.583 4.995 4.47 9.524 8.437 12.898-2.69 17.558 4.225 36.588 17.59 48.29a29.244 29.244 0 0 0 5.42 3.751c-.262 1.3-.447 2.62-.532 3.95-.018.296-.027.593-.04.89l17.913 13.006c-1.439-4.37-2.164-8.83-1.906-12.881.039-.603.21-1.275.434-1.963a25.133 25.133 0 0 0 5.133-1.256 24.917 24.917 0 0 0 8.812-5.455c.722.272 1.374.593 1.893.965 9.29 6.664 16.246 21.344 15.52 32.754-.14 2.171-1.658 5.117-3.317 7.127l13.277 9.64c3.611-4.449 5.64-10.014 6.006-15.75v-.001c1.137-17.864-7.615-36.34-22.16-46.772a29.456 29.456 0 0 0-3.46-2.125c.105-.485.203-.97.282-1.46 2.811-17.362-3.828-36.227-16.834-48.065 5.324-11.395 6.711-24.748 3.522-36.854 10.306-4.818 19.168-12.943 24.71-22.842 11.981 4.36 25.644 4.433 37.575.032a56.285 56.285 0 0 0 2.931 5.078l13.428-9.36a46.072 46.072 0 0 1-2.615-4.746c3.486-4.089 5.759-9.222 6.078-15.058a24.948 24.948 0 0 0-1.025-8.578c.343-.017.686-.038 1.039-.034 2.075.025 4.237.408 5.635 1.184 4.699 2.608 9.076 7.045 12.472 12.191l13.42-9.353c-4.674-6.927-10.88-12.807-18.127-16.828-4.101-2.277-8.706-3.563-13.355-3.614a25.067 25.067 0 0 0-11.176 2.479 29.639 29.639 0 0 0-1.727-1.182c-7.58-4.76-16.473-7.419-25.484-7.912a56.263 56.263 0 0 0-3.383-.084zm.649 16.342c6.538.098 13.14 1.586 18.27 4.371-2.127 4.294-3.062 9.132-2.811 13.955a49.76 49.76 0 0 0 .675 5.93c-8.186 2.972-19.017 2.822-27.59-.203.267-6.107-1.486-12.277-5.712-17.408a25.413 25.413 0 0 0-1.584-1.739c.746-.721 1.524-1.32 2.271-1.681 3.858-1.87 8.551-2.914 13.42-3.168a45.655 45.655 0 0 1 3.06-.057zm-38.817 13.512c.308 7.11 3.59 13.374 8.541 17.947-4.046 6.89-11.205 13.193-18.701 16.664-3.338-3.21-7.55-5.557-12.482-6.553a25.331 25.331 0 0 0-3.684-.466 24.812 24.812 0 0 0-3.143.035c-.082-1.663.063-3.302.532-4.49 4.194-10.636 16.732-20.964 27.974-23.044.3-.055.626-.08.963-.093zm114.418 14.7l-36.834 25.67 25.776 36.643 36.832-25.67-25.774-36.642zM83.382 92.705c5.295 4.06 11.868 5.706 18.35 5.195 1.827 7.68.695 17.308-2.631 25.191a25.169 25.169 0 0 0-5.455-.306c-2.372.128-4.77.597-7.147 1.453a24.937 24.937 0 0 0-9.102 5.719c-.433-.67-.797-1.34-.996-1.967-3.423-10.803-.291-26.531 6.98-35.285zm185.385 16.464l-36.836 25.67 202.152 287.389c16.044-4.381 26.872-13.822 36.592-26.014L268.767 109.168zm-164.315 34.653c7.388 8.012 11.88 21.705 10.205 32.052a6.868 6.868 0 0 1-.26 1.018 24.96 24.96 0 0 0-14.027 6.602c-1.042-.424-1.983-.932-2.654-1.52-7.666-6.711-12.853-19.574-12.602-30.283 7.402.23 14.248-2.858 19.338-7.87zm109.809 56.125l-32.358 40.008c11.434 1.45 22.812 4.794 33.713 10.152l-1.355-50.16zm-132.4 14.802l21.052 90.711c21.548 5.7 50.394-10.025 53.865-35.427l-22.441-16.56c.142-.024.285-.04.428-.065l-32.147-23.342-20.758-15.316zm85.683 36.325c-4.88.042-9.731.462-14.512 1.242 5.45 3.805 8.178 5.902 16.334 11.348l-.215 3.914c-1.938 37.127-42.47 59.73-73.384 48.263l-3.032-1.119-.73-3.152-3.865-16.63a97.082 97.082 0 0 0-4.916 8.67C59.58 350.683 78.51 407.838 125.57 431.476a97.273 97.273 0 0 0 7.399 3.336l-11.721-24.957-1.377-2.938 1.693-2.744c14.587-23.775 48.909-33.238 74.975-20.308a53.057 53.057 0 0 1 16.385 12.63l2.15 2.43-.877 3.131-8.863 32.09c20.149-8.492 37.491-23.932 48.094-45.041a95.956 95.956 0 0 0 6.7-17.32l-5.167 3.894-2.572 1.944-3.05-1.084c-31.07-11.03-47.65-54.369-25.32-84.094l2.526-2.303 2.63-.094 16.755 1.028c-8.716-12.248-20.463-22.612-34.85-29.838l-.002-.002c-14.001-7.033-28.896-10.29-43.535-10.162zm-94.865 46.79l-55.323 3.005 44.358 33.937a106.829 106.829 0 0 1 10.785-36.582c.06-.12.12-.24.182-.36h-.002zm159.24 4.385c-13.636 21.718-1.562 52.29 18.627 61.733l74.324-56.08-92.951-5.653zm-60.53 88.221c-14.845.025-29.662 6.595-37.786 17.46l41.896 89.187 26.195-94.899c-3.215-3.134-6.79-5.678-10.668-7.513-6.134-2.905-12.888-4.246-19.636-4.235zm89.089 10.707a106.498 106.498 0 0 1-25.391 29.09l51.707 20.29-26.316-49.38zM80.27 407.553l-21.922 55.942 51.3-27.373a106.398 106.398 0 0 1-29.378-28.569zm399.925 2.195c-9.482 10.994-21.087 20.68-36.472 26.184l14.078 20.014c17.865-2.03 29.077-10.407 36.842-25.658l-14.448-20.54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flamethrower;

impl IconShape for Flamethrower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M493.2 17.08c-6.5 13.85-30.7 31.28-34.7 30.14-5.7-1.6-11.5-11.29-7.1-22.57-12.4 7.46-19.1 22.92-21.6 35.23l17.8 23.2c8.2-.24 20.4-1.3 27.7-5.21 14.4-7.72 17.9-60.79 17.9-60.79zm-72.9 60.03l-36.5 27.99 8.6 11.1 36.4-28.01zm33.1 19.84l-.9 13.35L285 239l10.9 14.2 173.4-133.1 3.4-26.08zm-93.6 6.45l-11.1 8.4 28 36.6 11.1-8.5zm-15.7 32.1l-11.1 8.6 8.6 11.1 11.1-8.6zm-26.5 18l-15.3 11.7-44.9-5.9-33.9 26 11 14.3 27.9-21.5 19.7 2.6-39.1 30s-21.1 17.4-25 20.3l10.6 13.5 11.2-8.6 8.5 11.1 14.2-10.9L254 225l74.5-57.3zm-107.1 44.3l-11.1 8.6 8.5 11.1 11.1-8.6zm-51 4.3c-4.7.2-9.1 1.6-12.1 3.9l-5.6 4.3 14 18.2-14.2 11-14-18.3-23.8 18.3 13.9 18.2-14.2 11-14.06-18.3-5.56 4.3c-3.95 3.1-7.06 8.9-7.9 15.4-.85 6.4.64 13 3.68 16.9l17.22 22.4 15.12 2 91.4-70.3-23.7-30.9c-3.1-4-9-7.1-15.4-7.9-1.2-.1-2.4-.2-3.6-.2zm112.4 49.4l-53.5 41.1.4 6.1 54.8-10.6 16.6-12.8zm-73.3 16l-28.6 22 3.3 47.2 30-2.5zm184.6 0c-11.5 0-23 7-23 27v39h46v-39c0-20-11.5-27-23-27zm64 0c-11.5 0-23 7-23 27v39h46v-39c0-20-11.5-27-23-27zm-103.9 16.1c-19.9 5.8-39.5 13.8-52.5 26.2-12.1 11.5-17.6 28-20.8 45.2-3.1 17.3-4 35.8-5.2 52.6-1.3 16.8-3.3 32-7.3 41.4-2 4.6-4.4 7.7-7 9.7-2.6 1.9-5.8 3-11 2.8-9.7-.3-16.8-7.1-23.2-20.6-6.4-13.6-10.6-32.9-13.1-52.2-1.6-12.5-2.4-25-2.9-36.2l-17.9 1.5c.4 11.4 1.4 24.1 3 36.9 2.6 20.4 6.8 41 14.7 57.6 7.8 16.6 20.6 30.4 38.8 31 8.5.3 16.2-1.9 22.2-6.3 6-4.3 10.1-10.4 12.9-17.2 5.8-13.4 7.4-29.8 8.7-47 1.3-17.2 2.2-35.2 5-50.7 2.9-15.5 7.7-28.1 15.5-35.5 7.8-7.4 22.7-14.3 39-19.8v-8.5c0-3.9.4-7.5 1.1-10.9zm-190.4 19.1L117 330.2l-15.7-2.1-4.82 36.5-77.65 59.3c-.21 9.1 2.64 24 9.24 38.1 6.18 13.1 15.29 25.3 26.18 32.9l52.25-76.7 6.2-47.4 42.7-32.7zm191.3 48.8v14h142v-14zm16 32v110h46v-46h-32v-64zm32 0v46h46v-46zm64 0v64h-32v46h46v-110z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamethrowerSoldier;

impl IconShape for FlamethrowerSoldier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.9 17.86c-46.7 11.27-58.3 67.75-2.3 73.81-24.2-10.41-13.8-36.35 12.4-60.04-5 8.07-7.6 17.34-7.4 25.83.4 14.13 8.1 26.72 24.5 29.65-30.7-39.92 23.1-60.4 51-44.06 30.3 17.63-13.5 67.65-50.3 67.85 20.8 20 72 5.5 81.5-37.38 20.9 93.48-85.7 54.68-103.6 87.78 67.3-16.3 26 52.3-10.3 101.2l19.6 16.3c28.8-32.8 54.4-43.5 43.1 7.7 29.2-47.2-6.6-45.8 65.6-95.6 31.5-21.7 53.5-5.4 60.1 21.2 8.6 34.2-20.3 81.6-36.1 41.3-1 42.3 31.9 47.8 53.3 27.6-6.4 20-22.7 32.9-40.2 30.7 32.1 25.8 62 3.9 68.1-38.7V17.86h-229zm-5.7 145.74c-27.4 8.6-30 27.3-29.4 45 .3 8.9 7 16.6 21.3-6.3-19.1-4.2.2-30.2 8.1-38.7zM75.17 254c-4.8.1-9.24 1.3-13 3.7-14.6 9.6-17.11 24.6-16.06 39.3.45 6.2 1.65 11.8 2.86 16.4 1.56-1 2.69-1.8 4.55-3.1 8.17-5.6 18.84-13.1 29.43-20.5 15.85-11.2 24.55-17.4 31.45-22.3-3.9-2.4-8.5-5.1-13.8-7.4-7.9-3.6-16.29-6-23.91-6.1h-1.52zm175.53 23.7L236.1 297l24.8 19.9 15.5-17.7-25.7-21.5zm121.2 1.2c-11.7 1.6-17.7 15.9-13.3 23.9 6.6 12 18.1 17.7 40.9 2.1-27.5 3.6-37.7-6.5-27.6-26zm-259.3 11.9c-6 4.3-12.5 8.9-19.27 13.7-10.07 7.1-20.1 14.1-28.18 19.7 1.41 7 4.16 13.2 7.68 17.8 5.18 6.9 11.54 10.4 18.25 10.4 6.71 0 13.02-3.5 18.22-10.4 5.2-6.8 8.7-16.9 8.7-28.2 0-8.7-2.1-16.6-5.4-23zm117 24.2l-44.9 45.3-9.9 66.9 72-98.5-17.2-13.7zm-113.2 45.6c-7.1 6-15.8 9.8-25.32 9.8-5.44 0-10.62-1.2-15.37-3.4-.19 26.1 3.7 44.5 11.19 58.5 7.22 13.5 18.2 23.6 33.6 33.1l16.5-7.8-22.2-45.6 9.6-9.7c-3-11.4-5.5-23-7.4-34.8l-.6-.1zm-78.94.5c-10.13.1-20.48 4.8-21.79 13.7v117.7h42.08V375.9c-.09-10.1-10.06-14.8-20.29-14.8zm125.84 20.8l-26.7 26.9 17.4 35.8 9.3-62.7zm67.7 7.4c-3.1-.1-6.1.9-8.3 2.8l-29.3 40.2 37.1-3.7 14.2-14.9c3-5.3 3.3-9.2 2.6-12.4-.8-3.4-2.9-6.3-6-8.5s-6.8-3.4-10.3-3.5zM75.75 441.8V491l78.05.5c-1.7-5.8-3.5-11.5-5.3-17.2l-3.6-7.3-25.4 12.1-4.1-2.4c-16.51-9.6-29.97-20.6-39.65-34.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flamingo;

impl IconShape for Flamingo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M411.674 19.82c-.266 0-.532.008-.799.026-11.862.793-66.118 4.177-57.514 78.935 4.69 40.745 35.686 134.777 8.723 137.942-10.085 1.183-21.482-50.259-107.617-49.145-79.045 1.022-105.178 46.044-128.602 76.057-40.892 18.126-62.973 26.188-73.426 62.861 20.703-3.015 38.183-20.096 69.045-27.537 49.206 12.785 111.833 46.992 184.914 4.223 49.809-12.752 105.363-19.901 108.301-82.514-3.586-43.57-16.011-82.308-28.492-120.379-4.426-13.5-11.253-30.65 6.52-37.7 8.378 4.004 15.912 8.46 32.648 5.88 14.265 5.75 19.893 35.658 30.184 35.07 1.182-14.901 6.732-29.728 2.328-44.764-1.932-6.594-18.959-13.676-28.616-20.435-1.59-9.443-9.344-18.484-17.597-18.52zM198.26 338.213l-37.028 55.744 73.073 39.361v60.684h17.998v-50.988l76.674 41.3 8.537-15.843-85.211-45.9v-81.919c-6.043.983-12.069 1.465-17.998 1.54v70.683l-47.159-25.402 30.592-46.057c-6.806-.705-13.347-1.832-19.478-3.203z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlangedMace;

impl IconShape for FlangedMace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M487.666 24.334c-24.62 11.186-45.546 18.608-63.14 21.9l41.24 41.24c3.292-17.594 10.714-38.52 21.9-63.14zm-86.082 24.414c-32.088 11.49-60.035 12.74-84.406 4.617l-9.674-3.222-1.998 9.996c-10.117 50.582-18.887 83.28-36.71 121.694l61.37 61.37c38.413-17.823 71.112-26.593 121.695-36.71l9.997-1.998-3.222-9.674c-8.124-24.37-6.873-52.318 4.617-84.406zm2.025 18.148c-13.847 11.685-29.848 19.95-55.34 19.95h-5.56l-2.487 4.974c-18.768 37.536-37.835 74.907-55.494 98.27 17.45-37.59 26.875-71.046 36.4-117.088 25.205 6.06 52.813 3.84 82.48-6.106zm7.902 16.276L303.65 194.957c17.364-24.354 33.734-57.204 50.276-90.32 24.903-1.193 42.88-10.125 57.586-21.465zm17.316 17.316c-11.34 14.707-20.272 32.683-21.465 57.586-33.116 16.542-65.966 32.912-90.32 50.276zm16.276 7.903c-9.945 29.667-12.166 57.275-6.106 82.48-46.042 9.525-79.5 18.95-117.088 36.4 23.363-17.658 60.734-36.725 98.27-55.493l4.974-2.488v-5.56c0-25.492 8.265-41.493 19.95-55.34zm-192.292 82.915l-12.728 12.728 67.883 67.883 12.728-12.728-7.67-7.67-52.543-52.543zm-6.363 41.718l-43.843 43.842 32.528 32.528 43.842-43.842zm-67.884 45.256l-12.728 12.728 55.154 55.154 12.73-12.728zm-14.142 36.77l-41.012 41.01 32.527 32.528 41.01-41.012zM99.37 357.474l-12.727 12.728 55.154 55.154 12.728-12.728zm-14.14 36.77L18 461.472V494h32.527l67.23-67.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flashlight;

impl IconShape for Flashlight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340.162 18.186c-9.86.138-17.596 2.957-22.69 8.052-9.06 9.058-10.928 26.47-3.318 49.3 7.61 22.832 24.437 49.604 48.57 73.737 24.134 24.134 50.906 40.96 73.737 48.57 22.832 7.61 40.244 5.744 49.302-3.314 6.863-6.862 9.587-18.53 7.2-33.71-1.16 5.313-3.534 10.246-7.442 14.155-5.97 5.968-14.318 8.374-22.776 8.31-8.458-.063-17.446-2.342-26.898-6.234-18.906-7.784-39.76-22.21-59.22-41.673-19.463-19.462-33.89-40.317-41.675-59.223-3.89-9.452-6.17-18.438-6.233-26.896-.01-1.117.03-2.232.11-3.34a78.697 32.79 45 0 0 35.736 55.848 78.697 32.79 45 0 0 78.832 32.46 78.697 32.79 45 0 0-32.46-78.833 78.697 32.79 45 0 0-66.003-37.06c-1.638-.112-3.234-.17-4.77-.147zm-48.767 32.1c-6.988 6.83-13.964 14.17-18.243 20.107-5.328 7.392-11.51 14.412-15.722 21.066-4.212 6.653-6.17 12.26-5.323 17.483 11.187 68.933 82.017 139.763 150.95 150.95 5.223.847 10.83-1.11 17.484-5.323 6.655-4.212 13.675-10.394 21.067-15.722 5.936-4.28 13.276-11.255 20.108-18.243-9.795-.105-20.302-2.133-30.945-5.68-26.306-8.77-54.92-27.068-80.772-52.92-25.853-25.854-44.15-54.47-52.92-80.775-3.548-10.643-5.578-21.15-5.683-30.945zm-47.39 96.247L49.244 359.31c17.678 44.414 59.03 85.767 103.446 103.446l212.777-194.76c-53.32-20.988-100.475-68.143-121.463-121.463zm-16.806 97.6c.597.03 1.22.094 1.87.197 9.537 1.506 17.898 6.978 24.76 13.84 6.862 6.862 12.334 15.223 13.84 24.76.82 5.203-.81 8.604-2.547 12.187-1.736 3.583-4.078 7.227-6.89 11.088-5.626 7.723-13.153 16.222-21.196 24.266-8.043 8.044-16.545 15.573-24.267 21.198-3.862 2.813-7.505 5.155-11.088 6.89-3.583 1.736-6.985 3.37-12.188 2.547-9.536-1.505-17.897-6.977-24.76-13.84-6.862-6.862-12.334-15.222-13.84-24.76-.82-5.202.812-8.604 2.547-12.187 1.737-3.583 4.08-7.226 6.892-11.088 5.625-7.722 13.154-16.224 21.197-24.267s16.542-15.57 24.265-21.195c3.86-2.813 7.505-5.155 11.088-6.89 2.687-1.303 5.272-2.547 8.592-2.74.553-.034 1.126-.036 1.724-.005zm-.936 17.976c.275.043.563.103.86.173.084-.04-.152-.062-.86-.174zm.86.173c-.138.064-1.118.174-2.395.793-2.075 1.005-5.04 2.838-8.337 5.24-6.597 4.805-14.624 11.862-22.137 19.375-3.71 3.71-7.303 7.542-10.572 11.267l29.36 29.36c3.724-3.27 7.556-6.864 11.265-10.573 7.512-7.513 14.57-15.54 19.374-22.137 2.402-3.298 4.235-6.262 5.24-8.336.62-1.276.73-2.256.793-2.393-.927-3.9-4.15-9.512-8.615-13.98-4.467-4.465-10.08-7.687-13.98-8.614zm22.593 22.594c.07.296.13.584.174.86-.11-.71-.134-.945-.173-.86zm-77.192 28.375c-1.24 1.893-2.246 3.595-2.884 4.912-.616 1.272-.73 2.247-.792 2.39.925 3.9 4.147 9.515 8.615 13.983s10.082 7.69 13.982 8.615c.144-.063 1.12-.176 2.39-.793 1.318-.64 3.02-1.644 4.913-2.885l-26.223-26.223zm18.92 29.9c-.09.04.143.06.856.172-.273-.043-.56-.102-.855-.172zm-22.597-22.597c-.07-.295-.13-.582-.172-.856.112.712.132.945.172.855zM35.895 373.893L19.742 391.54c11.654 49.472 51.246 89.064 100.72 100.718l17.645-16.153C94.302 456.21 55.79 417.698 35.895 373.893z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlatPlatform;

impl IconShape for FlatPlatform {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.5 87.9L39.7 213.5l216.9 125.7 216.6-125.7L256.5 87.9zM31 227.4v71l218 125.7v-71L31 227.4zm450 .2L265 353.1V424l216-125.5v-70.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlatTire;

impl IconShape for FlatTire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M410.023 21.232c-2.7.031-3.172.607-3.218.66-.047.054-.552.605-.198 3.282.355 2.677 1.76 6.855 4.356 11.627 5.191 9.544 14.921 21.467 27.59 32.441 12.668 10.975 25.856 18.905 36.043 22.682 5.093 1.888 9.43 2.683 12.13 2.652 2.7-.03 3.173-.606 3.22-.66.046-.054.549-.604.195-3.281-.355-2.677-1.76-6.855-4.356-11.627-5.19-9.544-14.921-21.467-27.59-32.442-12.668-10.974-25.858-18.904-36.045-22.681-5.093-1.889-9.426-2.684-12.127-2.653zM256 59C126.213 59 21 164.213 21 294c0 62.949 24.75 120.116 65.05 162.303C-5.246 505.069 189.163 486 256 486c66.665 0 253.486 27.16 198.918-54.678C483.806 380.45 491 357.122 491 294c0-64.833-26.256-123.532-68.713-166.049l-71.119 42.166 30.816-74.52C345.572 72.428 302.356 59 256 59zm156.018 11.07l-23.58 57.024 53.078-31.471-14.74-12.768-.008-.007-.008-.008-14.742-12.77zM256 141c84.393 0 153 68.607 153 153s-68.607 153-153 153-153-68.607-153-153 68.607-153 153-153zm0 18c-20.417 0-39.757 4.52-57.09 12.602C210.457 204.482 230.218 246 256 246c25.823 0 44.926-41.65 56.752-74.555C295.505 163.462 276.284 159 256 159zm98.752 42.88c-27.714 21.143-61.142 52.79-53.17 77.327 7.981 24.564 53.508 29.858 88.459 30.936.628-5.294.959-10.678.959-16.143 0-35.642-13.755-68.012-36.248-92.12zm-197.729.243C134.663 226.204 121 258.477 121 294c0 5.55.34 11.018.988 16.39 34.833-.825 80.381-6.793 88.344-31.3 7.974-24.542-25.68-55.553-53.309-76.967zm70.188 43.643a9 9 0 0 0-7.025 14.285 9 9 0 1 0 7.025-14.285zm57.578 0a9 9 0 1 0 7.025 14.285 9 9 0 0 0-7.025-14.285zM256 262c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32zm-46.297 38.037a9.001 9.001 0 0 0-8.432 11.781 9 9 0 0 0 11.34 5.778 9 9 0 0 0-2.908-17.559zm92.104.006a9 9 0 1 0 3.143.434 9 9 0 0 0-3.143-.434zm-91.391 27.715c-21.59.104-50.24 16.832-72.424 31.928 19.029 34.168 52.46 59.164 92.143 66.837 9.99-33.39 18.42-78.618-2.446-93.777-4.854-3.527-10.737-5.02-17.273-4.988zm91.016.02c-6.58 0-12.492 1.516-17.346 5.042-20.895 15.181-11.863 60.106-2.088 93.678 39.687-7.715 73.108-32.76 92.1-66.973-22.006-15.224-50.935-31.747-72.666-31.748zM256 333.58a9 9 0 1 0 0 18 9 9 0 0 0 0-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flatfish;

impl IconShape for Flatfish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288.9 92.42c-5.3 0-10.7.33-16 .88-29.8 3.12-65 23.7-90 51.1-19.5 21.5-32.3 46.6-33.6 69.8l7.6 3.3c6.4-8.9 19.7-26.3 37.6-44.1 25.2-25.1 59.2-51.3 96.5-51 37.6.4 80.9 18 119.9 43.2 18.8 12.2 36.5 26.1 52 40.9-34.4-73.1-106-114.46-174-114.08zm1.9 47.98c-28.3-.3-59.8 22.1-83.6 45.8-23.8 23.6-39.7 47.4-39.7 47.4l-4.2 6.2-31.4-13.4c-7.9 9.9-11.1 24.3-10.7 38.7.4 12.7 4 25.1 7.8 32.5l27.9-12 4.1 6.1c37 54.4 101.5 83.4 157.7 85.5 56.4-7 128.7-26.7 169.3-84l-36-2.5 31.9-31.1c-9.8-15.4-23.8-31.4-40.3-46.3.3 1.1.4 2.3.4 3.5 0 8.8-7.2 16-16 16s-16-7.2-16-16 7.2-16 16-16h.9c-8.8-7.1-18.1-13.9-27.8-20.1-37-23.9-78.3-40-110.3-40.3zm87.7 50.8l15.8 8.6c-26.6 49.1-22.2 96.1 9.4 128.6l-13 12.6c-37.2-38.3-41.6-95.5-12.2-149.8zm-335.64 7c0 21.3-1.94 41.4-18.88 63.2 7.88 6.8 13.34 14.6 16.55 23.6 3.57 10.1 4.67 21.2 5.22 34.2 9.11 1.1 23.71-.3 38.01-4.2 10.03-2.8 19.94-6.7 28.04-10.7-5.3-10.6-8.2-24.2-8.6-38.7-.5-16.2 2.7-33.8 12.5-47.7-8.7-4.9-18.59-9.2-28.74-12.3-15.18-3.8-29.54-7.4-44.1-7.4zM428 248.8c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-276.7 60.1c1.5 6.1 4.4 12.7 8.6 19.8 8.1 13.7 21 28.3 36.4 41.6 30.8 26.5 71.9 47.4 103.2 49.2 22.2 1.3 47-11.3 69-28.9 2.4-1.9 4.8-3.9 7.1-5.9-19.5 3-39 10.4-56.8 10.5-59.5-1.9-126.1-30.9-167.5-86.3zm270.1 59.6c-7.1 3.2-14.3 6.1-21.5 8.6 1.9 9.8 1.3 19.3.2 28.2 7.5-3.1 14.4-7.5 20.6-14.4 2.5-6.8 2.1-14.2.7-22.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flax;

impl IconShape for Flax {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M184.7 26.71c-3.5 9.39-7.3 18.55-9.4 27.49-3.5 14.16-3.7 27.03 5.6 41.74 4.8 2.79 8 3.15 11.1 2.61 2.5-.44 5.5-1.96 8.6-3.94 1.9-21.33-3.8-46.06-15.9-67.9zm183.9 62.77c-1.6 0-3.1.1-4.5.31-7.6 1.31-12.4 4.49-14.2 16.81l-17.6.9c-1.7-6.6-4.1-10.48-6.3-12.61-2.3-2.13-4.3-2.89-7.1-3.02-5.6-.27-14.5 3.71-21.8 10.63-7.2 6.8-12.6 16.2-13.5 23-.5 3.4 0 6 1.2 8.1 1.2 2.1 3.3 4.2 7.9 6.1L290 157c-12.8 1-16.8 5.4-18.8 11.1-2 5.8-.8 14.6 3.3 22 4 7.4 10.5 12.8 16.1 13.9 5.5 1.1 11.6-.2 19.7-11.6.1-.2.2-.4.4-.6l14.2 11c-.1.2-.3.4-.4.6-5 5.9-6.8 10.5-7.1 13.3-.4 2.8.2 4.2 1.7 6 3.1 3.6 12.7 7.4 23 7.4 10.2 0 20.4-3.5 24.5-7.9 2.1-2.1 3-4.1 3-7.3s-1.2-8-5.3-14.3l13.5-11.6c11.3 9.9 18.1 9.9 23.4 7.5 5.3-2.5 10.4-9.4 12.4-17.7 2-8.2.8-16.8-2.7-21.3-3.4-4.6-8.7-7.6-22.3-3.8l-6.1-16.9c17.5-7.9 21.2-15.5 21.3-21.2 0-5.8-4.9-13.3-13.1-18.81-6.2-4.12-13.9-6.73-20.5-7.23-.5 0-1.1-.1-1.6-.1zM203.4 113.7c-2.6 1.2-5.3 2.1-8.3 2.6-3.1.5-6.3.6-9.6.1 1.1 8.7 2.5 16.8 4.3 24.5 7.1.9 14.1 2.7 20.2 6.1-2.9-10.1-5.2-21.1-6.6-33.3zm140.5 14.8s.4 16.9 6.5 20.7c5.7 3.6 20.1-3 20.1-3s-14.1 11.2-15 19.3c-.6 5.3 6.7 14.7 6.7 14.7s-12.8-13.1-21-12.9c-6.9.2-17 11.6-17 11.6s6.8-13.7 4.4-20.1c-2.4-6.5-16.4-12.5-16.4-12.5s17.3 5.4 24.1 1c5.7-3.7 7.6-18.8 7.6-18.8zm-164.7 29.9c-7.6.3-15 2.3-19.4 5.3-2.9 2-4.5 4.1-5.2 6.4-.7 2.4-.8 5.6 1.4 10.7l-14.5 10.1c-9.4-8.9-15.7-9-22.1-6.2-6.4 2.7-13.1 10.1-17.1 19-3.89 8.8-4.75 18.5-2.89 23.9.89 2.7 2.09 4.2 3.99 5.4 1.9 1.1 5 2 10.3 1.4l5.4 16.8c-5.6 3.2-8.4 6.3-9.7 8.6-1.2 2.4-1.4 4.2-.8 6.6 1.2 4.7 7 11.4 15.1 15.7 8.2 4.3 17.9 6 24.5 4.3 6.6-1.7 11.1-5.1 12.7-16.9 0-.3.1-.5.1-.8l17.7 3.2c0 .3-.1.5-.1.8-1.5 6.6-.9 10.4 0 12.4 1 2 2.1 3 4.8 3.8 5.3 1.8 16.6.5 26.3-4s17.3-12 18.8-16.4c.7-2.2.7-3.4-.6-5.6-1.4-2.2-4.8-5.5-11.7-8.7l5.6-17c15.4 3 22.1-.3 25.3-4.2 3.2-3.9 4-10.7 1.6-17.7-2.3-7.1-7.6-13.3-13.6-15.6-6-2.3-13.2-2.1-23.6 6.7l-12.6-12.8c5.9-6.8 8.7-12.4 9.6-16.4 1-4 .5-6.3-.8-8.5-2.5-4.4-10.7-8.9-20.8-10-1.9-.2-3.8-.3-5.8-.3zm-22 47s7.3 9.3 12.8 10.2c7 1 19.8-7.6 19.8-7.6s-7.1 14.9-3.9 21.6c2.1 4.6 13.3 8.8 13.3 8.8s-18.7-2.9-26.2 1.4c-4.8 2.9-8.7 14-8.7 14s-3.5-13.8-9-17.6c-5.7-4-21-2.8-21-2.8s17.8-3.1 22.3-9.7c3.6-5.1.6-18.3.6-18.3zm142.9 18.2l-24 46.6c-.9-2-1.8-4-2.8-5.9-3.6-7.3-7.6-14.2-11.6-20.8-.3.3-.5.7-.8 1-3.5 4.3-8.2 7.4-14 9.4 3.7 6 7.2 12.1 10.3 18.4 11.6 23.4 19.4 50 17.8 89.3-1.1 30-8 67.5-23.2 115.7-25.1-19.7-29.6-60.7-33.5-89.8-3.4-25.9-6-54.5-11.5-82.2-6 1.8-12.1 2.8-18.1 2.6 5.4 26.7 8.3 55.2 11.8 81.9.6 4.9 1.3 9.6 2 14.4-5.4-3.7-11.4-7-17.8-9.9-11.5-5.2-24.4-9.3-38.1-12.5-1 6.1-3.6 11.9-7.9 16.7 14.3 3.1 27.6 7.2 38.6 12.2 39.7 14.2 35.6 64.3 67.5 83.3h20.5c5.5-16.6 10.1-32 13.8-46.4 13.7-20.4 32.8-40.2 52.7-55.3-3.8-4.9-6.6-10.5-8.3-16.3-12.5 9.2-24.6 20.1-35.6 31.8 2.9-16.6 4.5-31.7 5.1-45.5 1.1-27.6-2.3-50.1-8.3-69.6l27.1-52.6c-2.3-1.6-4.5-3.5-6.4-5.7-2.5-3-4.3-6.8-5.3-10.8zm95.9 80c-5 0-10.8 1.1-16 3.4-8 3.5-14.2 9.5-15.8 13.7-.7 2.1-.8 3.6 0 5.7.9 2.1 2.9 5 7.6 8.2l-7.9 16c-13.6-4.5-18.7-2-21.4 1.1-2.8 3.1-4 10-2.2 17.4 1.8 7.4 6.6 14.5 11.5 17.3 5 2.9 9.9 3.7 18.7-3.1.2-.2.4-.3.6-.5l10.4 14.7c-.2.2-.4.3-.6.4v.1c-5.4 3.5-7.4 6.4-7.8 7.5-.4 1.2-.5 1.1.6 2.5 2.1 3 11.1 8.2 21.4 10.2 10.3 2 21.5.9 26.9-2 2.7-1.5 3.9-3 4.6-5.1.7-2.1.9-5.6-1.2-11.3l15.8-8.3c7.6 10.5 13.3 12.1 17.4 11.6 4.1-.5 8.5-3.9 11.1-9.1 2.5-5.1 2.7-11 .6-15-2.2-3.9-6.7-7.7-19.3-7.9l-1.1-17.9c8.4-1.1 13.9-3.2 17.1-5.3 3.3-2.1 4.3-3.8 4.8-5.6 1-3.6-1.2-10.4-7-16.6-5.8-6.2-14.5-10.9-21.2-11.6-6.7-.7-10.9.4-14.8 9.2l-17.2-3.5c-.1-10.7-3.3-13.4-8.8-15.2-1.4-.5-3.1-.8-4.8-.9-.7-.1-1.3-.1-2-.1zm12 36s1.7 12.5 6.8 15.6c6.1 3.6 21.6-.8 21.6-.8s-12.6 4.9-14.7 10.4c-2.2 5.3 3.9 16.7 3.9 16.7s-9-9.5-15.2-9.7c-7.4-.1-18.8 10.7-18.8 10.7s6.6-7.8 6-12.2c-.8-6.7-13.4-16-13.4-16s12.9 5.5 17.9 2.5c5.5-3.2 5.9-17.2 5.9-17.2zm-320.56 3.7c-2.69-.1-4.85.7-6.11 1.9-1.71 1.6-3.67 5-1.71 14.5l-16.53 6.4c-5.62-9.4-8.92-9.7-11.25-9.3-2.34.4-6.49 3.6-9.14 8.9-2.65 5.2-3.35 11.7-2.2 15.2 1.14 3.5 2.18 5.4 10.07 5.5l3.58 17.2c-6.78 3-7.41 5.5-7.52 7.8-.11 2.3 1.51 6 4.43 8.6 2.92 2.5 6.38 3.5 8.65 3 2.28-.5 5.29-2.2 7.91-10.6l17.57 2c.85 11.8 4.27 14.9 7.21 16.1 2.93 1.2 8.2.4 13.1-2.7s8.6-8.3 9.3-12c.6-3.7.4-6.6-7.1-10.9l7.5-16.3c5.4 1.8 7.4.6 9.7-1.7 2.4-2.4 4.1-7 4.1-10.8-.1-3.8-1.2-5.5-2.6-6.2-1.4-.6-6.2-1.3-16 4.6L98.21 362c3.69-5.9 2.99-8.9 1.5-11.7-1.6-2.9-5.43-5.6-9.43-6.6-.99-.2-1.95-.3-2.84-.4zM91.4 375s-4.68 8.5-1.92 12.1c2.75 3.3 14.12 3.7 14.12 3.7s-12.61 1.9-15.64 5.8c-2.06 2.3-.14 9-.14 9s-4.4-9.8-9.92-11.9c-4.68-1.7-14.86 1.5-14.86 1.5s8.67-5 9.09-9.1c.41-3.9-7.03-10.4-7.03-10.4s9.78 7.1 15.57 6.7c4.95-.4 10.73-7.4 10.73-7.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FleurDeLys;

impl IconShape for FleurDeLys {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-31.466 48-62.932 96-62.932 160 0 56.794 37.144 113.568 45.514 148h34.836c8.37-34.432 45.514-91.206 45.514-148 0-64-31.466-112-62.932-160zM98.637 206c-47.2 0-78.664 32-78.664 80 0 32 22.115 63.526 62.93 64-15.732-16 .002-64 31.468-64 31.89 0 56.58 21.916 69.253 46h33.828c-13.744-47.52-49.108-126-118.813-126zm314.726 0c-69.705 0-105.07 78.48-118.814 126h33.827c12.673-24.084 37.362-46 69.252-46 31.465 0 47.2 48 31.466 64 40.816-.474 62.93-32 62.93-64 0-48-31.464-80-78.663-80zM153.076 350c-38.705 0-54.44 16-54.44 48 0 16 15.734 48 47.2 48 35.4 0 61.948-27 73.01-54h-35.682c-4.657 3.57-11.5 6-21.596 6-15.733 0-31.464-32-8.492-48zm37.694 0c.017.064.03.127.048.19-13.29 2.16-12.694 23.343 1.793 23.79v.02H319.39l-.003-.02c14.486-.447 15.083-21.63 1.792-23.79.017-.063.03-.126.048-.19H190.77zm168.154 0c22.972 16 7.24 48-8.492 48-10.096 0-16.94-2.43-21.596-6h-35.682c11.062 27 37.61 54 73.01 54 31.466 0 47.2-32 47.2-48 0-32-15.735-48-54.44-48zm-118.656 42c-15.733 16-15.734 48-31.467 64l31.468-16c0 16 0 32 15.732 48 15.733-16 15.732-32 15.732-48l31.467 16c-15.734-16-15.735-48-31.468-64h-31.464z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlexibleLamp;

impl IconShape for FlexibleLamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.9 23.04l-35.2 38.05 34.5 72.21 1.4 3.2-.9 3.3c-4.7 16-6.6 34.9-4.6 51.9 1.6 13 5.4 24.7 11.5 33.3l160-173.15c-9.1-5.45-21-8.3-34.1-8.84-17.1-.68-35.8 2.75-51.4 8.67l-3.2 1.19-78-29.83zM265.7 84.1L76.36 179.5c6.18 2.8 11.68 6.9 16.17 11.9l180.87-91.1-7.7-16.2zM441.8 116l-63.9 69.3c19.1 12 44.7 9 60.6-8.2 15.9-17.1 16.8-42.9 3.3-61.1zm-160.6.6l-179.3 90.3c2 5.3 3.1 11.1 3.1 17.1v1.5l183.9-92.7-7.7-16.2zM56 193c-17.23 0-31 13.8-31 31s13.77 31 31 31 31-13.8 31-31-13.77-31-31-31zm45.5 49.1c-2.41 6-6 11.5-10.49 16.1L198.2 407h22.1L101.5 242.1zm-25.24 26.5c-5.82 2.6-12.25 4.2-19 4.4l96.54 134H176L76.26 268.6zM313 389v18h18v-18h-18zm-180.7 36l-49.57 62H429.3l-49.6-62H132.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlintSpark;

impl IconShape for FlintSpark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.5 31.34L58.45 70.6l20.29 32.9-43.7-18.79-10.99 6.63 22.46 96.16L88.65 208 116 193.6l-.8 26.5 30.9-18.1-3 32.5 66.5 32.4-24-1.4 54.9 24.1 12.5 68.8 13.1-61.7 20.6 12.8c-8.4 33.9-17.6 67-28.6 100.1l32.5 71.1 29.9-10.4 37.1-39.4 23.5 18.6 77.7 10.9 29.2-80-13.5-44.7-3.9 42.4-51.4 22.3 32.8-39.3-8.7-39.4c-7-2.6-13.4-4.8-19.1-6.6L399 329.3l-36.6-21.6c-21.9-.4-45.9-1-65.9-3.4l-15.6-22.9s32.8-37.4 34.8-37.9c2.1-.5-50.3 14.9-50.3 14.9l-35.7-52.6 24.5-83.5-24.2-16.8-68.6 2.9-82.83 27 63.73-58.69 62.6 11.2zm269.9 63.61L291 230.9 448.4 118zM288 118.3l-13.1 109.9 46.2-93.5zm172.9 91.2l-144.1 63.2 144.1-34.2zm-235.3 10.4l13.8 48.7-27.7-1.6zM25.26 280l16.83 49.7 158.61-34.2zm181.84 32.6l-172.44 122 31.98 40zm20.9 16.3l-51.1 132.2H202z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlipFlops;

impl IconShape for FlipFlops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.074 21.783c-54.738.222-114.04 42.796-109.416 150.074.19 4.384 1.516 13.664 3.61 26.17 10.74-23.22 25.979-46.785 41.209-67.54C83.686 112.483 96.95 96.84 107.756 85.94c5.403-5.45 10.113-9.693 14.392-12.678 1.624-1.132 3.142-2.11 4.934-2.894l1.451-4.62 43.252 2.194 1.639 6.428c.178.7.345 1.417.521 2.12 25.526 15.674 44.452 40.59 57.68 69.003-1.733-34.395-6.725-64.148-17.742-83.2-14.765-25.531-45.966-40.645-78.809-40.511zm241.852 0c-32.843-.134-64.044 14.98-78.809 40.512-11.017 19.051-16.01 48.804-17.742 83.199 13.228-28.413 32.154-53.329 57.68-69.002.176-.704.343-1.421.521-2.121l1.639-6.428 43.252-2.193 1.451 4.619c1.792.784 3.31 1.762 4.934 2.894 4.279 2.985 8.99 7.228 14.392 12.678 10.806 10.9 24.07 26.543 37.28 44.545 15.23 20.756 30.468 44.322 41.208 67.541 2.094-12.506 3.42-21.786 3.61-26.17C490.965 64.58 431.664 22.005 376.926 21.783zm-235.18 62.66c-3.587 12.712-5.774 25.149-5.81 37.326l25.062-.656c1.218-11.769-.648-23.584-3.521-35.873zm228.508 0l-15.73.797c-2.874 12.289-4.74 24.104-3.522 35.873l25.062.656c-.036-12.177-2.223-24.614-5.81-37.326zm-250.5 14.983c-9.808 10-22.346 24.782-34.766 41.709-25.489 34.737-50.106 79.318-52.365 107.681-1.064 13.358 6.203 34.226 15.211 52.176 9.008 17.95 19.13 33.059 22.516 38.26.768 1.18 1.296 1.388 2.595 1.472 1.3.085 3.257-.435 4.866-1.693 3.217-2.516 6.255-6.843.753-17.338-2.017-3.849-10.118-15.882-17.193-29.486-7.075-13.605-13.847-29.345-12.871-45.16 1.78-28.83 21.25-61.43 39.693-88.207 12.192-17.7 23.298-31.51 29.58-39.03.127-6.854.836-13.65 1.98-20.384zm272.492 0c1.145 6.734 1.854 13.53 1.98 20.384 6.283 7.52 17.389 21.33 29.58 39.03 18.445 26.776 37.914 59.377 39.694 88.207.976 15.815-5.796 31.555-12.871 45.16-7.075 13.604-15.176 25.637-17.193 29.486-5.502 10.495-2.464 14.822.753 17.338 1.61 1.258 3.566 1.778 4.866 1.693 1.3-.084 1.827-.292 2.595-1.472 3.387-5.201 13.508-20.31 22.516-38.26s16.275-38.818 15.211-52.176c-2.259-28.363-26.876-72.944-52.365-107.681-12.42-16.927-24.958-31.71-34.766-41.71zm-213.367 3.328c.6 6.045.744 12.23.203 18.556 32.115 37 42.984 78.66 43.803 121.051.304 15.756-5.39 32.749-11.502 47.566-6.113 14.818-12.93 27.373-15.488 32.157-2.78 5.2-2.593 7.904-2.282 8.972.312 1.07.821 1.662 2.573 2.387 3.503 1.45 10.434-.384 11.439-1.7 1.746-2.283 10.908-18.03 18.059-35.523 7.15-17.493 12.884-38.016 12.037-51.625-3.148-50.58-22.987-109.79-58.842-141.841zm154.242 0c-35.855 32.052-55.693 91.261-58.842 141.841-.847 13.61 4.887 34.132 12.037 51.625 7.151 17.493 16.313 33.24 18.059 35.524 1.005 1.315 7.936 3.149 11.44 1.7 1.751-.726 2.26-1.319 2.572-2.388.311-1.068.498-3.773-2.282-8.972-2.557-4.784-9.375-17.34-15.488-32.157-6.112-14.817-11.806-31.81-11.502-47.566.82-42.391 11.688-84.05 43.803-121.05-.54-6.327-.398-12.512.203-18.557zm-162.754 36.12l-45.842 1.198c-6.191 7.8-13.77 17.742-21.51 28.979-17.758 25.781-35.258 58.179-36.55 79.105-.579 9.374 4.415 23.325 10.875 35.746 6.46 12.422 13.664 22.75 17.168 29.436 8.448 16.118 4.223 32.185-5.61 39.873-4.916 3.844-10.93 5.877-17.123 5.474-4.386-.285-8.915-2.04-12.548-5.13 8.159 40.187 15.45 75.282 18.404 89.402 11.18 53.46 172.547 86.724 149.598-42.842-2.617-14.772-2.69-36.802-1.717-62.762-1.302 2.097-2.52 3.928-3.586 5.323-7.975 10.432-21.46 12.019-32.623 7.4-5.582-2.31-10.97-7.123-12.969-13.979-2-6.855-.541-14.594 3.686-22.5 2.641-4.94 9.044-16.766 14.724-30.535 5.68-13.768 10.351-29.566 10.143-40.353-.723-37.399-9.108-71.922-34.52-103.834zm171.266 0c-25.412 31.913-33.797 66.436-34.52 103.835-.208 10.787 4.463 26.585 10.143 40.353 5.68 13.769 12.083 25.595 14.724 30.535 4.227 7.906 5.686 15.645 3.686 22.5-2 6.856-7.387 11.67-12.969 13.979-11.164 4.619-24.648 3.032-32.623-7.4-1.065-1.395-2.284-3.226-3.586-5.323.972 25.96.9 47.99-1.717 62.762-22.949 129.566 138.417 96.302 149.598 42.842 2.953-14.12 10.245-49.215 18.404-89.403-3.633 3.09-8.162 4.846-12.548 5.131-6.192.403-12.207-1.63-17.123-5.474-9.833-7.688-14.058-23.755-5.61-39.873 3.504-6.685 10.708-17.014 17.168-29.436 6.46-12.421 11.454-26.372 10.875-35.746-1.292-20.926-18.792-53.324-36.55-79.105-7.74-11.237-15.319-21.18-21.51-28.979z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloatingGhost;

impl IconShape for FloatingGhost {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M395.9 65.01c-10.7 30.56-22.7 58.79-36.7 84.49 31.4 6.7 61.3 9.4 89.1 7.5-15-30.3-33-61.19-52.4-91.99zM215.5 70.3c-51.7 21.69-119.63 40.2-194.57 57.6 28.81 10.3 135.67 1.4 105.47 17.1l-46.79 24.5c12.97 4.2 28.69 7.5 45.29 8.7 27.4 2 56.5-1.3 61.4 8.6 6 14-36.9 22-52.4 25.9 10.3 4.5 22.2 8.9 34.7 11.3 21.7 4.1 43.6 2.6 61.2-12.7l7-6.1 27.1 33.5c2.9-2.3 5.7-4.6 8.4-7 5.3-4.6 10.4-9.4 15.4-14.4-14.1-53.1-22.6-104.3-72.2-147zM429 182.7a14.04 14.22 0 0 0-14 14.2 14.04 14.22 0 0 0 14 14.2 14.04 14.22 0 0 0 14-14.2 14.04 14.22 0 0 0-14-14.2zm37.7 1.1a9.505 13.51 0 0 0-9.5 13.5 9.505 13.51 0 0 0 9.5 13.5 9.505 13.51 0 0 0 9.5-13.5 9.505 13.51 0 0 0-9.5-13.5zm-149.4 27.8c-10.2 12-21.2 23.3-33.2 33.7-50.8 44.1-157.5 68.1-251.16 81.6 28.52 14.3 66.35 30.8 105.16 46.4 21.4-17.6 45.2-33.5 72.6-46.4l7.6 16.2c-54.2 25.6-94.3 64.1-128.94 103.7 36.94.8 71.64-1.4 100.24-9.1 33.4-9 58.1-24.8 71.7-51.3l16 8.2c-4.5 8.9-10.2 16.8-16.7 23.7 2 .7 4.2 1.4 6.1 2 36.8 11.8 72 18.3 103.6 15.9 31.5-2.3 59.2-13.1 82.9-36.6 14.4-14.3 24.3-30.1 30.4-47.1-13.9 12.6-25.7 25.6-45.9 31.7-2.8-13.3-.5-23.4-16.9-37.7-13.3 15.5-28.8 22.9-57.1 32.7 5.5-13.2 2.6-26.1-6-40.7-13.9 15-30.7 18.4-62.2 23.7 24.8-38.3 42.8-62.3 46.8-106.1 13.7 11.9 25.4 24.5 29.8 39.2 20.3-10.5 19.8-25.7 24.3-39.7 17.9 16.1 30.4 32.6 33.3 49.6 21.7-10.9 31.4-26.3 33.8-40 10 8.2 20.4 16.9 27.6 27.5-1-15.1-3.8-30.8-8.1-47.2-.7-2.8-1.5-5.7-2.4-8.5-48.7 10.1-104.2-10.2-163.3-25.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloatingPlatforms;

impl IconShape for FloatingPlatforms {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M184 43.5v18h144l-.1-18zm24 95.9l-144 .1v18l144-.1zm96.1 0v18l143.9.1v-18.1zm168.4 98.1l-435.63.1L128 372.5l10.9-32 21.1 80 32-52.5 48 128 80-107.5 32 16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloatingTentacles;

impl IconShape for FloatingTentacles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.4 18c7.4 8.62 16.4 16.58 26.4 24.01 13.5 10.05 28.8 19.1 44.5 27.03 3.9-4.94 8.3-9.51 13-13.65-16.7-8.16-33-17.56-46.8-27.81-4.2-3.12-8.1-6.33-11.8-9.58zm273.7 9.98c-21 6.85-33.9 18.97-49 32.28 4.3 4.25 8.2 8.88 11.6 13.82 14.6-12.72 22.4-23.95 43.2-29.07 20.8-5.12 57.9-5.49 85.1-2.69V24.24c-31.8-4.27-69.9-3.11-90.9 3.74zm-122 19.91c-47.3 0-85.4 38.34-85.4 85.91 0 47.6 38.1 86 85.4 86 4.9 0 9.7-.4 14.3-1.2-1.5-27.7-11.8-55.9-32.5-82 3.3-5.4 6.4-11 9.4-16.6 3.6 6 9.3 9.6 15.4 9.6 10.6 0 19.1-10.3 19.1-23.1 0-12.42-8.1-22.6-18.4-23.03 4.2-11.79 7.2-23.32 8.7-34.07-5.2-.99-10.5-1.51-16-1.51zm18.2 1.95c15.4 25.92 35.4 61.16 35.6 87.76.2 27.3-19.9 56.6-35.8 80.3 38.6-8.3 67.5-42.7 67.5-84.1 0-41.28-28.8-75.6-67.3-83.96zm-153.6 32.8c-38.9.65-84.13 27.26-121.15 52.96-2.22 1.5-4.4 3.1-6.55 4.6v22.2c5.33-4 10.94-8 16.81-12.1 35.95-24.9 80.89-49.2 111.09-49.7 7.7-.1 21.3 5.6 33.7 12.7 1.3-6.2 3.1-12.2 5.4-17.93-12.4-7.09-26-12.95-39.3-12.73zM494 124c-12 16.9-26.2 31.3-40.1 35.2-25.3 7.3-48.9 8.9-72.8 1.3-1.4 5.6-3.4 11-5.7 16.2 27.8 8.9 55.5 7.9 83.5-.1 13.7-3.9 25.2-12.7 35.1-23.5zm-310.7 43.9c-7.6 3.4-16.2 6.4-25.2 9.2-31.4 9.5-68.73 16-93.95 38.8-13.13 11.9-17.8 29.7-20.67 48-2.88 18.4-3.79 37.9-6.63 54.2-3.93 13.7-6.99 30.1-18.85 36.2v19c5.15-1.3 9.75-3.5 13.81-6.4 14.29-10.4 19.64-27.8 22.78-45.7 3.13-18 4.02-37.6 6.67-54.5 2.65-16.9 7.22-30.4 14.97-37.4 19.59-17.8 54.37-25 87.07-35 9.5-2.9 18.7-6 27.4-10-2.9-5.2-5.4-10.7-7.4-16.4zm179.5 29.7c-3.7 4.8-7.9 9.3-12.4 13.4 7.5 4.9 15.6 10.3 23.7 16.2 33.8 24.5 68.4 57.7 74.5 84.6 1.6 6.9-.1 13.8-4.3 21.8-4.3 8.1-11 16.8-18 25.8-6.9 8.9-14.1 18.2-19 28.4-4.8 10.3-7.2 22.3-2.9 34.1v.1c4.6 12.6 14.8 22.2 26.7 30.1 11.8 7.9 25.7 14.3 39 19.3 8.4 3.2 16.6 5.9 23.9 8v-18.8c-5.5-1.7-11.5-3.7-17.5-6-12.5-4.8-25.3-10.7-35.4-17.5-10.1-6.7-17.2-14.3-19.7-21.2v-.1c-2.4-6.5-1.4-12.6 2.2-20.3 3.6-7.7 10-16.2 16.9-25.1 6.9-8.9 14.3-18.2 19.7-28.4 5.4-10.2 8.8-21.9 6-34.2-8.4-36.9-46.4-69.7-81.6-95.2-7.5-5.4-14.8-10.4-21.8-15zM215 213.7c-29 22.9-44.6 47.9-50.6 73.8-6.8 29.4-1.2 58.9 9 86.8-38.7 18.4-76.93 31.1-102.75 55.2-10.36 10.1-11.68 25-9.54 39.4 1.22 8.2 3.58 16.7 6.56 25.1h19.21c-3.78-9.7-6.72-19.3-7.96-27.7-1.73-11.7-.1-19.6 4.27-23.8 30.41-22.2 67.51-39.6 96.81-51.4 12.6 31.9 31.9 61.9 44.2 90.9 1.8 4.2 3.3 8.2 4.5 12h18.9c-1.7-6.2-4-12.5-6.7-18.9-13.9-33.5-32.3-63.1-44.7-91.9 31.4-15.9 61.3-35.4 78.2-65 12.3-21.5 13.7-52.6 12.9-80.6-6.1.3-12.5.2-18.1-.5.8 27.1-1.8 57.1-10.4 72.1-13.9 24.1-39.9 42-69.2 57.1-8.9-25.3-13.2-50.6-7.7-74.7 5.3-22.8 19.3-45.5 48.5-67.2-5.5-3.1-10.6-6.7-15.4-10.7zm118.5 9.8c-5.3 3.1-10.9 5.8-16.8 7.9 1.9 2.4 3.9 4.9 5.8 7.5 13.5 18 25.3 40.7 24.3 53.3-.4 6.3-3.6 11.7-9.2 17.6-5.6 5.8-13.6 11.6-22 17.6-8.3 6-17 12.2-24 20-7 7.7-12.5 17.5-12.5 29.2.1 11.8 5.3 21.8 12.1 29.8 6.9 8 15.5 14.4 23.9 20.6 16.7 12.4 31.8 23.8 34.9 37.3 1.6 7 .6 18-1.9 29.7h18.8c2.3-11.6 3.1-23.2.7-33.7-5.2-22.6-25.4-35.6-41.8-47.7-8.3-6.1-15.8-12-20.9-18-5.1-5.9-7.8-11.3-7.8-18 0-6.3 2.6-11.4 7.8-17.1 5.2-5.8 13-11.5 21.3-17.5 8.2-5.9 17-12.1 24.3-19.7 7.4-7.6 13.4-17.1 14.3-28.7 1.7-22.9-13.5-46.3-27.8-65.5-1.2-1.6-2.4-3.1-3.5-4.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flood;

impl IconShape for Flood {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.1 76.12L93.42 224h23.08L256 99.96 395.5 224h23.1L256.1 76.12zM329 105v13.1l30 27.2V105h-30zm-73 19L137 229.8v117.9c8.5 6.6 16 11.3 23 11.3 2.3 0 4.6-.5 7-1.4V279h66v49.1c11.5 2.8 20.6 10.5 28.6 16.9 10 8 18.5 14 26.4 14 7.9 0 16.4-6 26.4-14s21.6-18 37.6-18c8.9 0 16.4 3.1 23 7.2V229.8L256 124zm-71 173v49.1c.5-.4.9-.7 1.4-1.1 8-6.4 17.1-14.1 28.6-16.9V297h-30zm-89 48c-15.95 0-32.12 9-45.66 17.3C36.8 370.7 26.39 379 26.39 379l11.22 14s9.66-7.7 22.16-15.3C72.26 370 88.1 363 96 363c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 32.1-9 45.7-17.3c13.5-8.4 23.9-16.7 23.9-16.7l-11.2-14s-9.7 7.7-22.2 15.3C439.8 370 423.9 377 416 377c-7.9 0-16.4-6-26.4-14S368 345 352 345s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S240 345 224 345s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S112 345 96 345zm0 62c-15.96 0-32.13 9-45.68 17.3-13.54 8.4-23.96 16.7-23.96 16.7l11.22 14s9.66-7.7 22.16-15.3C72.25 432 88.09 425 96 425c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 32.1-9 45.7-17.3c13.5-8.4 23.9-16.7 23.9-16.7l-11.2-14s-9.7 7.7-22.2 15.3C439.8 432 423.9 439 416 439c-7.9 0-16.4-6-26.4-14S368 407 352 407s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S240 407 224 407s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S112 407 96 407z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloorHatch;

impl IconShape for FloorHatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.297 71.817l-46.71 12.936c35.32 100.342 82.123 195.39 131.653 297.3L328.656 395.7c-.385-33.58-4.508-74.918-15.427-113.043 33.89-49.694 60.607-111.009 92.484-176.203l-38.858-27.77c-23.013 55.262-46.325 111.084-81.988 163.829-9.005 11.141-91.217 8.963-99.012 1.814-29.931-62.736-58.224-112.585-75.558-172.51zm115.455 42.623a27.02 27.02 0 0 0-3.815.239c-10.15 1.36-19.012 8.385-25.21 20.197-6.2 11.812-9.199 28.107-6.866 45.525 2.333 17.42 9.515 32.35 18.604 42.114 9.088 9.764 19.487 14.209 29.637 12.85 10.15-1.36 19.01-8.385 25.209-20.196 6.198-11.812 9.196-28.107 6.863-45.525-2.333-17.42-9.511-32.35-18.6-42.114-7.952-8.543-16.908-13.016-25.822-13.09zM136.01 292.354L19.03 400.78l19.779 2.037 363.03 37.366 91.132-143.526-158.051-3.523c1.58 6.018 2.944 12.051 4.154 18.095l121.602 2.711-68.067 107.198-332.175-34.192 82.84-76.785c-2.457-5.934-4.88-11.87-7.264-17.807z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloorPolisher;

impl IconShape for FloorPolisher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M37.08 29c-8.55 0-15.284 6.734-15.284 15.284S28.53 59.57 37.08 59.57s15.285-6.735 15.285-15.285S45.63 29 37.08 29zm31.745 26.3C64.226 68.41 51.69 77.91 37.08 77.91c-5.008 0-9.77-1.123-14.056-3.119l37.413 49.886 19.324-8.453zm16.708 78.418l-16.435 7.19 111.193 283.177 16.108-8.056zm213.04 198.173v14.265h79.479v-14.265zm0 32.607v46.872h79.479v-46.872zm-149.69 32.606l-4.56 11.398a58.622 58.622 0 0 1 15.041 12.014l-8.78-23.412zm60.01 0l5.35 14.266h65.99v-14.266zm-92.713 22.417a39.601 39.601 0 0 0-39.74 39.74A39.601 39.601 0 0 0 116.18 499a39.601 39.601 0 0 0 39.74-39.74 39.601 39.601 0 0 0-39.74-39.739zm100.877 10.19v30.569h242.512v-30.57zm-18.342 5.668l-25.537 12.77a57.869 57.869 0 0 1 1.083 11.112c0 .341-.02.678-.026 1.019h24.48v-24.901zm14.84 43.242l-7.134 14.265h263.783l-7.133-14.265z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flour;

impl IconShape for Flour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.8 42.39c-18.5.45-46.9 19.85-69 40.34-4.6 4.26-8.8 8.41-12.7 12.39 56.2 2.45 109.2-.36 161.8-4.21-5.1-4.92-11-10.33-17.6-15.86-20.5-17.21-46.6-33.05-62.5-32.66zM436 102.9c-100 7.3-198.7 18.6-313.9 4.3-5.2 5.1-7.9 9.6-8.7 13.3-.7 3.6-.2 6.9 2.2 11.1 113.5 25.3 227 25.9 327.2-6.6.5-2.8.1-5.7-1.1-9.4-1.2-3.8-3.3-8.1-5.7-12.7zm-12.5 46.6c-89.1 23.9-186.5 23.7-284.1 5.4-23.9 92.3-70 175.4-56.93 272.7l1.16 8.6-8.57 1.5c-9.83 1.6-23.83 10.3-31.95 19.3-4.07 4.5-6.59 9-7.18 11.5-.59 2.4-.94 1.4.33 2.2 5.18 3.5 21 5.4 37.83 2.8 16.83-2.6 34.81-8.9 45.71-15.8l3-1.9 3.5.7c87.2 16.5 166.5 24.8 254 3.6l4.3-1.1 3.5 2.8c5.6 4.6 23.7 8.4 42.4 9 17 .6 33.8-.5 45.2-1-1.1-3-3.3-7.6-6.6-12.5-4.2-6-9.5-12.2-14.5-16.9-5.1-4.7-10.4-7.4-11.1-7.6l-8.9-1.7 1.8-8.9c18.1-89.2 26.5-179.5-12.9-272.7zM271 184.9c59.3 0 106.2 54.7 106.2 120.6 0 65.9-46.9 120.6-106.2 120.6-59.3 0-106.2-54.7-106.2-120.6 0-65.9 46.9-120.6 106.2-120.6zm0 18c-48.1 0-88.2 45.2-88.2 102.6 0 52.7 33.8 95.1 76.6 101.7l2-39.1c-30.8-6-39.8-39.4-39.9-51.7 9.3 1 30 8.3 41.3 24.8l1.3-24.4c-30.9-5.9-39.9-39.4-40-51.7 9.2 1 30.1 8.3 41.4 25l1.3-24.3c-17.8-7.4-23.3-29.1-23.4-37.5 8 .8 27.4 8.2 33.9 25.5 8.4-16.4 28.3-21.7 36.2-21.7-.9 8.8-9 30.6-28.8 35.4l-1.2 23.3c12.9-15.3 34.3-20.4 43.7-20.3-1.5 12.1-13.8 44.5-45.1 47.2l-1.3 24.6c12.9-15.4 34.4-20.5 43.7-20.5-1.3 12.1-13.7 44.6-45.1 47.2l-2 38.8c45.2-3.8 81.8-47.5 81.8-102.3 0-57.4-40.1-102.6-88.2-102.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlowerEmblem;

impl IconShape for FlowerEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-11.8 0-24.5 10.15-34.6 30.32-7.1 14.37-12.6 33.19-15.1 54.48 4.6 4 9.2 8.2 13.7 12.7 11.4 11.3 21.2 23.3 29.3 35.3 2.2-.1 4.5-.2 6.7-.2 2.4 0 4.8.1 7.2.3 8.1-12.1 17.9-24 29.3-35.4 4.3-4.3 8.8-8.5 13.3-12.3-2.6-21.44-8-40.42-15.2-54.88C280.5 34.15 267.8 24 256 24zM113.2 84.12c-9.2.13-16.33 2.76-20.99 7.44-8.32 8.32-10.16 24.44-3 45.84 7.15 21.4 22.89 46.5 45.59 69.2 8.3 8.3 17 15.7 25.6 22.1 9.5-33.2 35.9-59.3 69.2-68.5-6.4-8.8-13.9-17.6-22.3-26-22.7-22.7-47.8-38.48-69.2-45.64-9.4-3.13-17.8-4.54-24.9-4.44zm286.1 0c-7.1-.1-15.5 1.33-24.8 4.48-21.4 7.14-46.5 22.9-69.2 45.6-8.5 8.5-16 17.3-22.4 26.1 33.2 9.3 59.4 35.5 68.8 68.7 8.8-6.5 17.6-14 26-22.4 22.7-22.7 38.4-47.8 45.6-69.2 7.2-21.4 5.3-37.49-3-45.83-4.7-4.69-11.8-7.33-21-7.45zM256 174.6c-45.1 0-81.4 36.3-81.4 81.4 0 45.1 36.3 81.4 81.4 81.4 45.1 0 81.4-36.3 81.4-81.4 0-45.1-36.3-81.4-81.4-81.4zm-146.2 31.6c-21.67 2.5-40.87 8-55.48 15.2C34.15 231.5 24 244.2 24 256s10.15 24.5 30.32 34.6c14.48 7.2 33.48 12.6 54.88 15.2 4.1-4.7 8.4-9.4 12.9-13.9 11.2-11.2 22.9-20.9 34.7-28.9-.1-2.3-.2-4.6-.2-7 0-2.6.1-5.2.3-7.7-11.9-8-23.6-17.7-34.8-28.9-4.3-4.3-8.4-8.8-12.3-13.2zm292.8 0c-3.9 4.4-7.9 8.8-12.2 13.1-11.4 11.4-23.3 21.2-35.3 29.3.2 2.4.3 4.9.3 7.4 0 2.2-.1 4.5-.2 6.7 11.9 8 23.8 17.8 35.1 29.1 4.6 4.6 8.9 9.2 12.9 13.9 21.3-2.5 40.1-8 54.5-15.1 20.2-10.1 30.3-22.8 30.3-34.6s-10.1-24.5-30.3-34.6c-14.5-7.2-33.6-12.7-55.1-15.2zm-50.8 76.1c-9.1 33.4-35.3 59.8-68.5 69.3 6.3 8.6 13.6 17.2 21.9 25.4 22.7 22.7 47.8 38.4 69.2 45.6 21.4 7.1 37.5 5.3 45.8-3 8.4-8.3 10.2-24.5 3-45.9-7.1-21.4-22.9-46.5-45.6-69.2-8.4-8.4-17-15.8-25.8-22.2zm-191.6.4c-8.6 6.4-17.1 13.7-25.4 21.9-22.7 22.7-38.43 47.8-45.57 69.2-7.21 21.4-5.37 37.5 2.97 45.9 8.3 8.3 24.5 10.2 45.8 2.9 21.4-7.1 46.5-22.9 69.2-45.6 8.2-8.2 15.5-16.7 21.9-25.3-33.3-9.4-59.5-35.7-68.9-69zm88.6 72.4c-8 11.8-17.6 23.5-28.8 34.7-4.5 4.5-9.1 8.8-13.8 12.8 2.5 21.5 8 40.6 15.2 55.1 10.1 20.2 22.8 30.3 34.6 30.3s24.5-10.1 34.6-30.3c7.2-14.6 12.7-33.8 15.2-55.5-4.5-3.9-9-8.1-13.4-12.5-11.2-11.2-20.8-22.8-28.7-34.6-2.6.2-5.1.3-7.7.3-2.4 0-4.8-.1-7.2-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlowerHat;

impl IconShape for FlowerHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29.59c-45.5 0-91.7 19.17-126.2 47.91-32.32 26.9-53.88 61.9-56.52 96.1 2.48.6 4.98 1.2 7.48 1.8 61.74 14.2 123.34 20.9 185.04 20.1-1.8-4.2-2.6-8.9-1.8-13.8 1.6-8.9 8.2-15.4 15.8-18.9 7.6-3.6 16.8-4.7 26.1-3 .4.1.8.2 1.3.3-.3-1.1-.4-2.3-.6-3.4-1.4-9.7 0-18.9 3.9-26.6 3.9-7.6 10.9-14.1 19.9-15.3 9-1.3 17.5 3 23.3 9.2 5.4 6 9.2 13.7 10.8 22.6.2-.3.5-.6.7-.9 6.2-7.6 13.9-12.8 22.2-15.2 8.2-2.4 17.6-1.7 24.7 4.1 7.1 5.7 9.8 14.8 9.2 23.3-.6 7.3-3.2 14.6-7.8 21.3 2.2-.5 4.5-.9 6.7-1.4 1.7-.3 3.4-.7 5.1-1.1 1.1-.2 2.3-.5 3.4-.7 3.3-.8 6.7-1.6 10-2.4-2.6-34.2-24.2-69.2-56.5-96.1-34.5-28.74-80.7-47.91-126.2-47.91zm77.7 102.91c-.2 0-.5.1-.8.1-2.2.3-4.4 1.8-6.4 5.6-1.9 3.9-3 9.6-2.1 16 .7 5.1 2.6 9.6 4.9 12.8 5.1-3.1 10.9-4.9 17.2-5 .7-3.2 1-7.1.5-11-.9-6.3-3.6-11.5-6.4-14.7-2.6-2.8-4.9-3.8-6.9-3.8zm62.7 14.6c-1.2 0-2.5.2-4.1.6-4.1 1.3-9.1 4.4-13.1 9.4-4 4.9-6 10.4-6.4 14.7v1.3c2.3 2.4 4.3 5.2 5.9 8.2 1.4.2 3.1 0 5.2-.6 4-1.2 9.1-4.4 13-9.3 4.1-5 6-10.4 6.4-14.7.3-4.3-.8-6.8-2.5-8.2-1.1-.8-2.5-1.4-4.4-1.4zm-98 30c-4.3-.1-8.2.7-11 1.9-3.8 1.8-5.3 3.9-5.6 5.9-.4 1.9.3 4.4 3.2 7.3 2.9 2.9 7.9 5.7 13.9 6.8 4.4.8 8.7.5 12.1-.4.2-5.6 1.6-11 3.9-15.8-3-2.3-7.2-4.4-12.1-5.3-1.5-.2-3-.4-4.4-.4zm48.8 2.9c-9.8 0-18.2 8.5-18.2 19.8s8.4 19.8 18.2 19.8c9.8 0 18.2-8.5 18.2-19.8S357 180 347.2 180zM68.76 191c-6.58 12.8-27.22 51.2-52.15 80.6 164.29 42.5 314.49 42.5 478.79 0-24.9-29.4-45.6-67.8-52.2-80.6-4.9 1.2-9.8 2.3-14.6 3.4 4.4 5.3 7.1 12 6.2 19.3-1 9-7.2 16.2-14.7 20.2-7.6 4.1-16.7 5.8-26.5 4.7-2.9-.3-5.6-.8-8.3-1.6.8 2.8 1.5 5.7 1.8 8.8 1.1 9.8-.6 18.9-4.7 26.5-4.1 7.5-11.3 13.7-20.3 14.7-9.1 1-17.4-3.5-23.1-9.9-4.8-5.6-8.2-12.6-9.8-20.6-7 6.8-15.4 11-23.9 12.4-8.4 1.3-17.7-.6-24-7.1-6.3-6.6-7.9-15.9-6.2-24.3 1.7-8.2 6.1-16.2 12.8-22.9-1.4-.5-2.7-1-4-1.6-71.7 2.5-143.5-4.8-215.14-22zm325.04 6.9c-4 .1-7.6 1-10.4 2.2-.1 5.1-1.1 10-2.9 14.5l.2.2c3.3 2.7 8.7 5.3 14.9 6 6.4.7 12.1-.6 15.9-2.6 3.8-2.1 5.2-4.4 5.5-6.5.2-2.2-.7-4.7-3.9-7.6-3.3-2.8-8.6-5.3-15-6-.8-.1-1.5-.1-2.3-.2zm-77.5 21.5c-.4 0-.9 0-1.3.1-4.2.7-9.5 3.2-14.1 7.6-4.6 4.4-7.3 9.6-8.2 13.8-.8 4.3.1 6.8 1.6 8.4 1.5 1.6 4 2.5 8.3 1.8 4.2-.7 9.5-3.2 14.1-7.6 4.6-4.4 7.3-9.6 8.2-13.8v-.2c-3.4-2.8-6.4-6.2-8.6-10.1zm47.3 14.1c-4.7 2.5-10.1 4-15.8 4.1-1.2 3.5-1.8 8-1.3 12.7.7 6.4 3.2 11.7 6 15 2.9 3.2 5.4 4.1 7.6 3.9 2.2-.3 4.4-1.7 6.5-5.5 2-3.8 3.3-9.5 2.6-15.9-.7-5.9-2.9-11-5.6-14.3zM148 315c7.4 52.7 17.9 91.2 30.6 118.1 9.2 19.7 19.6 33.4 31.6 41.5 12.1 8.1 26.1 9.8 38.8 5.6 25.4-8.4 46-36.2 62.4-74.3 10.9-25.1 19.6-55.1 25.2-88-6.2.6-12.3 1-18.5 1.5-5.4 29.8-13.5 56.9-23.2 79.4-15.4 35.8-35.4 59-51.5 64.3-8.1 2.7-15 2-23.1-3.4-8.1-5.5-17.1-16.4-25.4-34.2-11.2-23.6-21.1-59.2-28.4-108.4-6.1-.7-12.3-1.3-18.5-2.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlowerStar;

impl IconShape for FlowerStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26c-33.207 66.414-47.193 94.485-42.045 128.49-20.405-27.686-50.142-37.647-120.586-61.129 23.481 70.444 33.435 100.189 61.121 120.594C120.485 208.807 92.414 222.793 26 256c66.414 33.207 94.485 47.193 128.49 42.045-27.686 20.405-37.64 50.142-61.12 120.586 70.44-23.48 100.18-33.437 120.585-61.121-5.148 34.005 8.838 62.076 42.045 128.49 33.207-66.414 47.193-94.485 42.045-128.49 20.405 27.684 50.152 37.64 120.594 61.12-23.482-70.443-33.443-100.18-61.13-120.585C391.516 303.193 419.587 289.207 486 256c-66.414-33.207-94.485-47.193-128.49-42.045 27.686-20.405 37.647-50.15 61.129-120.594-70.444 23.482-100.189 33.443-120.594 61.13C303.193 120.484 289.207 92.413 256 26zm0 189c22.537 0 41 18.463 41 41s-18.463 41-41 41-41-18.463-41-41 18.463-41 41-41zm0 18c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flute;

impl IconShape for Flute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M449.4 26.29c-5.4 2.56-14.6 7-27.2 14.14-17.6 9.98-37.7 23.64-45.9 34.27-1.8 2.33-5 10.39-6.8 17.25-1.2 4.49-1.4 6.02-1.8 8.25l44 44c2.2-.4 3.8-.6 8.3-1.8 6.9-1.8 15-5 17.3-6.8 10.6-8.2 24.3-28.2 34.2-45.79 7.2-12.62 11.6-21.81 14.2-27.24zM435 54.32l22.7 22.63-12.8 12.74-22.7-22.63zm-77.1 61.48L42.49 431.3c7.86 3 15.66 8.3 22.77 15.4 7.09 7.1 12.37 14.9 15.42 22.7L396.1 154zm-8.3 30.7a16 16 0 0 1 .1 0 16 16 0 0 1 11.1 4.7 16 16 0 0 1 0 22.6 16 16 0 0 1-22.7 0 16 16 0 0 1 0-22.6 16 16 0 0 1 11.5-4.7zm-45.1 45.3a16 16 0 0 1 11 4.6 16 16 0 0 1 0 22.7 16 16 0 0 1-22.6 0 16 16 0 0 1 0-22.7 16 16 0 0 1 11.6-4.6zM259.2 237a16 16 0 0 1 11.1 4.7 16 16 0 0 1 0 22.6 16 16 0 0 1-22.6 0 16 16 0 0 1 0-22.6 16 16 0 0 1 11.5-4.7zm-45.3 45.3a16 16 0 0 1 .1 0 16 16 0 0 1 11 4.7 16 16 0 0 1 0 22.6 16 16 0 0 1-22.6 0 16 16 0 0 1 0-22.6 16 16 0 0 1 11.5-4.7zm-45.2 45.3a16 16 0 0 1 11.1 4.6 16 16 0 0 1 0 22.7 16 16 0 0 1-22.7 0 16 16 0 0 1 0-22.7 16 16 0 0 1 11.6-4.6zM29.04 446.5c-1.44 0-2.13.4-2.25.5-.21.2-1.2 2.3.43 7.5 1.7 5.2 5.87 12.1 12.02 18.2 6.15 6.2 13.01 10.4 18.24 12.1 5.16 1.6 7.29.6 7.5.4.21-.2 1.2-2.4-.43-7.5-1.69-5.2-5.87-12.1-12.02-18.3-6.15-6.1-13.01-10.3-18.24-12-1.93-.6-3.44-.8-4.58-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fly;

impl IconShape for Fly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.885 20.055l-13.77 11.593 6.04 7.172a55.39 55.39 0 0 0-9.505 2.094c-9.973 3.122-18.352 8.67-24.072 15.83-5.72 7.16-8.89 16.632-6.168 25.797a23.561 23.561 0 0 0 1.639 4.047c-1.28 2.858-2.049 5.954-2.049 9.263 0 9.994 4.36 22.052 16.104 29.64.098.063.205.121.304.185a56.12 56.12 0 0 0-7.584 8.629l-40.709-13.569-30.576-91.73-17.078 5.691 33.424 100.27 47.28 15.76c-.774 3.14-1.165 6.214-1.165 9.124v.64l4.637 32.458a203.51 203.51 0 0 1 16.338-9.148c.166-.083.337-.156.505-.235l-2.607-18.246c20.454-8.814 37.288-13.142 54.121-13.084 16.815.058 33.654 4.492 54.125 13.14l-2.598 18.19c.168.079.339.152.504.235a203.507 203.507 0 0 1 16.338 9.148L329 160.49v-.639c0-2.91-.387-5.985-1.158-9.127l47.273-15.757 33.424-100.27-17.078-5.691-30.576 91.73-40.705 13.568a56.23 56.23 0 0 0-8.455-9.435C323.115 117.577 329 106.51 329 95.851c0-3.31-.769-6.405-2.049-9.263a23.561 23.561 0 0 0 1.639-4.047c2.722-9.165-.448-18.636-6.168-25.797-5.72-7.16-14.099-12.708-24.072-15.83a55.436 55.436 0 0 0-9.506-2.094l6.04-7.172-13.769-11.593-21.148 25.113a27.663 27.663 0 0 0-3.965 3.568 27.567 27.567 0 0 0-3.967-3.566zm-2.27 36.474c3.079-.065 5.88.314 8.178 1.024 4.596 1.418 6.709 3.642 7.398 5.962.69 2.321.147 5.379-2.896 9.188-3.043 3.81-8.478 7.675-15.29 9.807-6.81 2.131-13.423 2.035-18.019.617-4.596-1.419-6.707-3.642-7.396-5.963-.69-2.321-.147-5.378 2.896-9.188 3.043-3.809 8.479-7.674 15.29-9.806 3.405-1.066 6.76-1.576 9.84-1.64zm54.77 0c3.078.065 6.434.575 9.84 1.64 6.81 2.133 12.244 5.998 15.287 9.807 3.043 3.81 3.588 6.865 2.898 9.186-.69 2.32-2.802 4.546-7.398 5.965-4.596 1.418-11.207 1.514-18.018-.617-6.81-2.132-12.244-6-15.287-9.809-3.043-3.81-3.588-6.865-2.898-9.186.689-2.32 2.802-4.544 7.398-5.962 2.298-.71 5.1-1.09 8.178-1.024zM255.998 82.89c.261.353.526.703.799 1.045 5.72 7.161 14.099 12.707 24.072 15.828 9.974 3.122 19.94 3.319 28.58.653.336-.104.667-.222 1-.336-.977 3.412-3.471 6.69-9.08 10.055-2.06 1.235-4.582 2.417-7.578 3.494-10.16-4.362-22.672-7.069-37.791-7.069-15.691 0-28.579 2.913-38.938 7.569-3.44-1.157-6.152-2.441-8.19-3.758-5.206-3.363-7.034-6.489-7.62-10.39a35 35 0 0 0 1.299.435c8.64 2.666 18.608 2.47 28.582-.653 9.973-3.121 18.35-8.667 24.07-15.828.273-.341.534-.693.795-1.045zm.002 41.67c27.754 0 42.266 9.836 49.26 19.66-17.278-6.13-33.264-9.267-49.254-9.314-15.946-.047-31.902 2.982-49.154 9.152 7.037-9.77 21.547-19.498 49.148-19.498zM34.846 183.312l-5.692 17.078 43.73 14.577 17.304 51.906 27.69-7.912c6.314-8.508 13.038-16.716 20.204-24.494l-36.27 10.363-14.697-44.094zm442.308 0l-52.27 17.424-14.697 44.094-36.269-10.363c7.166 7.778 13.89 15.986 20.203 24.494l27.692 7.912 17.302-51.906 43.73-14.577zm-263.357 15.844c-.26.023-.71.216-1.772.746-60.828 30.414-104.05 96.492-127.537 159.08-11.743 31.294-18.567 61.648-20.494 85.58-1.926 23.933 2.616 41.173 6.37 44.926 1.759 1.76 4.358 2.784 9.677 2.363 5.32-.42 12.717-2.639 21.07-6.642 16.708-8.007 37.225-22.893 56.707-41.305C196.783 407.081 231 355.348 231 319.851c0-16-.046-51.745-3.922-80.81-1.938-14.533-5.06-27.476-8.582-34.324-1.761-3.425-3.516-4.99-4.088-5.288-.286-.148-.352-.296-.611-.273zm84.406 0c-.259-.023-.325.125-.611.273-.572.298-2.327 1.863-4.088 5.288-3.522 6.848-6.644 19.791-8.582 34.324-3.876 29.065-3.922 64.81-3.922 80.81 0 35.497 34.217 87.23 73.182 124.053 19.482 18.412 40 33.298 56.707 41.305 8.353 4.003 15.75 6.222 21.07 6.642 5.32.421 7.918-.604 9.678-2.363 3.753-3.753 8.295-20.993 6.369-44.926-1.927-23.932-8.75-54.286-20.494-85.58-23.487-62.588-66.71-128.666-127.537-159.08-1.061-.53-1.513-.723-1.772-.746zM256 262.851a77.01 77.01 0 0 0-8.512.473c.408 6.14.708 12.198.924 18.02a60.101 60.101 0 0 1 7.588-.493c2.498 0 5.035.255 7.578.735.216-5.847.516-11.937.924-18.11a59.737 59.737 0 0 0-8.502-.625zM222.324 395.37c-3.43 5.326-7.116 10.594-10.994 15.783 4.639 6.388 9.726 12.19 15.275 17 8.513 7.378 18.395 12.7 29.395 12.7s20.882-5.322 29.395-12.7c5.55-4.81 10.636-10.612 15.275-17-3.878-5.189-7.565-10.457-10.994-15.783-5.005 7.675-10.559 14.405-16.07 19.182-6.488 5.622-12.606 8.3-17.606 8.3-5 0-11.118-2.678-17.605-8.3-5.512-4.777-11.066-11.507-16.07-19.182z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlyingBeetle;

impl IconShape for FlyingBeetle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29.3c-17.2 0-31 13.77-31 31s13.8 31 31 31 31-13.77 31-31-13.8-31-31-31zm-69.6 31.97L101 129.5l48.3 112.7 1.7-1.7v-5.2h.2c.5-9.3 1.6-18 3.5-26.1L123 135.1l74.6-59.77zm139.2 0l-11.2 14.06L389 135.1l-31.7 74.1c1.9 8.1 3 16.8 3.5 26.1h.2v5.2l1.7 1.7L411 129.5zM183 116.3c0 15.5 3.6 27.9 9.1 38.3 4.9-3 10.2-5.6 15.9-7.7-4.4-8.1-7-17.7-7-30.6zm128 0c0 12.9-2.6 22.5-7 30.6 5.7 2.1 11 4.7 15.9 7.7 5.5-10.4 9.1-22.8 9.1-38.3zm-55 41c-30.5 0-51.8 7.5-65.6 21.4-13 13-20.3 32.5-21.2 60 58.3 27.5 115.3 27.5 173.6 0-.9-27.5-8.2-47-21.2-60-13.8-13.9-35.1-21.4-65.6-21.4zm-120.6 98.8l-45.55 5.1c1.36 12.5 4.43 22.8 9.67 30.8zm241.2 0l35.9 35.9c5.3-8 8.4-18.3 9.7-30.8zM169 258.4v113.9c0 13.8 4.8 23 12.2 30 7.4 6.9 17.7 11.4 28.3 13.1 10.5 1.8 21.2.7 28.2-2 7.1-2.7 9.3-5.6 9.3-9.1v-86.6h18v86.6c0 3.5 2.2 6.4 9.3 9.1 7 2.7 17.7 3.8 28.2 2 10.6-1.7 20.9-6.2 28.3-13.1 7.4-7 12.2-16.2 12.2-30V258.4c-57.6 25-116.4 25-174 0zm-97.07 4.8l-46.43 5.1c1.81 25.3 11.87 50.5 26.68 71.1l34.4-34.5c-8.69-11.6-12.96-25.9-14.65-41.7zm368.17 0c-1.7 15.8-6.1 30.1-14.7 41.7l34.4 34.4c14.8-20.6 24.9-45.8 26.7-71zM151 266.1l-38.6 38.6c8.8 5.7 21.1 9.4 38.6 10.4zm210 0v49c17.5-1 29.8-4.7 38.6-10.4zM99.46 317.6l-35.77 35.8c2.08 2.2 4.23 4.4 6.43 6.4 24.66 22.9 54.18 33.3 80.88 22.8v-49.5c-22-1.1-39-6.4-51.54-15.5zm313.04 0C400 326.7 383 332 361 333.1V382.5c26.7 10.5 56.2.1 80.9-22.8 2.2-2 4.3-4.1 6.4-6.3zM183 425.4V448l34.6 34.7 12.8-12.8-29.4-29.3v-8.5c-6.1-1.5-12.3-3.7-18-6.7zm146 0c-5.7 3-11.9 5.2-18 6.7v8.5l-29.4 29.3 12.8 12.8L329 448z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlyingFox;

impl IconShape for FlyingFox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M46.244 18l170.172 72.932 7.586 18.982L242.18 155.4l26.775 11.487-4.412 49.513c3.896-2.256 7.913-4.446 12.102-6.49l.685-.334.733-.215a38.637 38.637 0 0 1 5.28-1.15l3.018-33.858 21.488 9.216 64.54-25.793L494 209.895v-19.583L352.756 129.78c10.44-5.566 17.607-16.574 17.607-29.145 0-18.12-14.88-33-33-33-8.92 0-17.05 3.61-23.01 9.433 0-.145.01-.288.01-.433 0-18.12-14.88-33-33-33-18.12 0-33 14.88-33 33 0 3.096.443 6.093 1.254 8.94L91.937 18H46.245zm235.12 43.635c8.39 0 15 6.61 15 15s-6.61 15-15 15c-8.392 0-15-6.61-15-15s6.608-15 15-15zm56 24c8.39 0 15 6.61 15 15s-6.61 15-15 15c-8.392 0-15-6.61-15-15s6.608-15 15-15zm-32.99 14.566c0 .146-.01.29-.01.435 0 3.096.442 6.093 1.253 8.94l-8.86-3.796a33.383 33.383 0 0 0 7.618-5.58zm-55.595 23.212l77.7 33.328-18.388 7.348-51.965-22.29-7.348-18.386zm-88.813 44.465c-1.564.03-3.078.278-4.53.736-5.804 1.835-10.49 6.994-13.12 15.508-2.627 8.515-2.697 19.943.974 31.56 3.672 11.617 10.297 20.93 17.34 26.386 7.045 5.457 13.845 6.983 19.65 5.15 5.804-1.836 10.49-6.993 13.118-15.507 2.63-8.515 2.7-19.943-.972-31.56-3.672-11.617-10.296-20.927-17.34-26.384-5.283-4.093-10.428-5.977-15.12-5.89zm128.265 57.992c-1.4.004-2.946.266-4.543.68-16.685 8.293-31.973 20.153-49.28 29.423-17.458 9.35-37.674 15.72-61.853 10.865-11.962-1.176-16.464 4.17-17.71 9.943-1.218 5.632.82 12.564 11.155 16.76 55.347 5.065 101.237-31.265 126.685-52.144.002 0 0-.002.002-.003 4.028-3.38 5.42-6.192 5.8-7.913.38-1.72.105-2.63-.76-3.83-1.296-1.8-4.77-3.796-9.498-3.78zm-115.675 40.968c.095.01.18.01.277.02l-.883-.137c.204.043.404.077.607.118zm104.746 9.178c-5.806 4.074-12.11 8.176-18.862 12.086 4.013 9.28 7.354 19.894 9.945 31.99 1.61.113 3.294.26 4.955.398l3.963-44.474zm-34.82 20.457c-20.36 9.566-43.922 16.344-69.917 15.54 2.902 4.44 6.194 8.82 9.725 13.038 5.8 6.925 12.3 13.454 18.59 19.218 7.647-1.047 19.705-4.422 30-9.143 6.385-2.927 12.267-6.335 16.405-9.57a29.504 29.504 0 0 0 3.274-2.98c-2.216-10.03-4.95-18.662-8.078-26.102zm17.345 42.033c-.493.404-.95.832-1.457 1.228-5.738 4.487-12.654 8.39-19.985 11.752-6.59 3.022-13.37 5.63-19.96 7.563 5.682 4.404 9.88 7.312 11.093 8.052 8.19 5.004 20.968 8.01 34.627 9.54 3.935-12.394.912-24.61-4.317-38.136zm19.342.512c4.085 12.243 6.466 25.26 3.312 38.824 2.596.06 5.167.077 7.684.05 21.71-.245 39.418-2.925 39.418-2.925l14.576-2.213-4.693 13.976c-7.496 22.323-10.164 38.087-17.156 59.038l55.614 24.933 9.418-18.973-39.594-16.97 4.678-8.667c3.575-6.625 9.348-20.202 13.79-33.983 3.962-12.288 6.61-24.973 6.827-32.623-.047-.03-.026-.033-.076-.062-1.7-1.004-4.682-2.357-8.45-3.71-7.535-2.71-18.256-5.546-30.214-8.087-17.38-3.692-37.464-6.792-55.133-8.607zm32.142 55.933c-5.626.428-12.035.78-18.986.905l-26.097 43.653 35.194 11.67 1.342-3.64a265.75 265.75 0 0 0 4.83-14.364l-14.076-5.15 17.793-33.073z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlyingTarget;

impl IconShape for FlyingTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 26c2.039 58.968 24.711 113.864 55.371 152.71-25.019-8.539-47.913-18.195-67.29-30.54C38.292 221.2 81.454 252.41 124.76 260.38c-18.355 2.802-41.627 3.987-71.827 2.804 54.487 34.364 101.994 41.915 137.119 32.972C160.413 275.333 141 240.89 141 202c0-25.291 8.215-48.697 22.107-67.705C116.374 116.025 72.222 75.913 32 26zm448 0c-40.222 49.913-84.374 90.024-131.107 108.295C362.785 153.303 371 176.709 371 202c0 38.89-19.413 73.333-49.053 94.156 35.125 8.943 82.632 1.392 137.12-32.972-30.201 1.183-53.473-.002-71.829-2.803 43.307-7.97 86.469-39.182 104.682-112.211-19.378 12.345-42.272 22.001-67.291 30.54C455.289 139.865 477.96 84.969 480 26zm-224 79c-53.678 0-97 43.322-97 97 0 53.348 42.792 96.46 96.012 96.988L208 346v16h28.8L224 490h64l-12.8-128H304v-16l-47.012-47.012C310.208 298.46 353 255.348 353 202c0-53.678-43.322-97-97-97zm0 17.334c43.892 0 79.666 35.774 79.666 79.666 0 43.892-35.774 79.666-79.666 79.666-43.892 0-79.666-35.774-79.666-79.666 0-43.892 35.774-79.666 79.666-79.666zm0 17.998c-34.165 0-61.668 27.503-61.668 61.668s27.503 61.668 61.668 61.668 61.668-27.503 61.668-61.668-27.503-61.668-61.668-61.668zm0 17.336c24.378 0 44.332 19.954 44.332 44.332S280.378 246.332 256 246.332 211.668 226.378 211.668 202s19.954-44.332 44.332-44.332zm0 17.998c-14.65 0-26.334 11.683-26.334 26.334 0 14.65 11.683 26.334 26.334 26.334 14.65 0 26.334-11.683 26.334-26.334 0-14.65-11.683-26.334-26.334-26.334z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fog;

impl IconShape for Fog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.8 27.6c-54.4 0-160.07 32-160.07 32s24.03 7.26 54.98 14.86C52.11 76.55 22.26 91.2 22.26 91.2s34.61 17 52.52 17c17.98 0 52.72-17 52.72-17s-8.3-4.05-18.8-8.19c24.2 4.88 48.6 8.59 67.1 8.59 43.6 0 119.2-20.32 147.9-28.48 13.8 4.98 34.8 11.68 48 11.68 21.2 0 62-17 62-17s-40.8-17-62-17c-15.2 0-40.5 8.8-53.5 13.72C285.8 45.5 216.5 27.6 175.8 27.6zm145.1 57.1c-34.2 0-100.4 17-100.4 17s66.2 17 100.4 17c34.1 0 100.4-17 100.4-17s-66.3-17-100.4-17zm-167.7 57.1c-34.2 0-100.46 17-100.46 17s66.26 17 100.46 17c19.4 0 49.3-5.5 71.5-10.3-15.4 7.4-26.5 13.6-26.5 13.6s9.1 5.1 22.2 11.5c-35.1 3.9-80.9 15.7-80.9 15.7s66.2 17 100.4 17c15.1 0 36.6-3.4 55.9-7.1.9.1 1.9.1 2.8.1 23.9 0 63.4-18.2 85.1-29.1 4.2.3 8.1.5 11.7.5 34.1 0 100.4-17 100.4-17s-66.3-17-100.4-17c-11 0-25.4 1.8-39.7 4.2-19.6-8.4-41.6-16.1-57.1-16.1-14.7 0-35.4 6.9-54.1 14.8-19.1-4.6-64.8-14.8-91.3-14.8zm195.5 81.8c-46.2 0-136.1 32-136.1 32s31.7 11.3 67.2 20.5c-4-.2-7.8-.3-11.4-.3-60.1 0-176.95 25.3-176.95 25.3s116.85 25.4 176.95 25.4c21.1 0 49.2-3.1 76.8-7.2-27.5 9.1-53.1 21.1-53.1 21.1s66.2 31 100.4 31c34.1 0 100.4-31 100.4-31s-56.1-26.3-91.7-30.5c25.8-4.8 44.2-8.8 44.2-8.8s-36.1-7.8-78.5-14.8c48.2-5.9 118-30.7 118-30.7s-89.9-32-136.2-32zm-253.37 3.2c-21.1 0-61.88 25.7-61.88 25.7s40.78 25.6 61.88 25.6c21.17 0 62.07-25.6 62.07-25.6s-40.9-25.7-62.07-25.7zm81.77 119.6c-21.1 0-61.9 25.7-61.9 25.7s15 9.4 31.4 16.8c-4.8-.5-9.3-.7-13.3-.7-34.2 0-100.43 17-100.43 17s37.91 9.7 71.23 14.5c-17.97 4.4-39.56 15-39.56 15s34.61 17 52.56 17c18 0 52.7-17 52.7-17s-15.5-7.6-31.2-12.6c35.2-1.5 95.1-16.9 95.1-16.9s-19.9-5.1-43.6-9.7c21.6-6.2 49-23.4 49-23.4s-40.9-25.7-62-25.7zm238.3 75.4c-21.1 0-61.9 17-61.9 17s16.6 6.9 34 11.9c-35.6 2.2-92 16.7-92 16.7s66.2 17 100.4 17c34.1 0 100.4-17 100.4-17s-33.7-8.6-65.4-13.6c21.1-4.5 46.5-15 46.5-15s-40.9-17-62-17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FogLight;

impl IconShape for FogLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M441.6 57.64s-16.6 16.6-33.1 41.37c-11.4 17.19-23.1 38.39-29.2 61.39l-41.3-9.2-4 17.6 41.9 9.3c-.6 4.6-.9 9.2-.9 13.9 0 35 18.6 54.4 34.6 70.4l.9.9-72.5-16.1-4 17.6 96.2 21.4c5.4 8.8 8.8 19.2 8.8 33.8 0 14.5-3.7 29.4-9.4 43.6L338 343.2l-4 17.6 87.9 19.5c-4.2 8.1-8.8 15.7-13.4 22.7-15.5 23.2-30.9 38.6-30.9 38.6l12.8 12.8s16.6-16.6 33.1-41.4c5.7-8.6 11.5-18.3 16.6-28.6l37.9 8.4 4-17.6-34.5-7.7c5.7-15 9.5-31 9.5-47.5 0-11.1-1.9-20.6-4.9-29l25.9 5.8 4-17.6-41.4-9.2c-5.7-7.7-12.1-14.3-18.2-20.4-16-16-29.4-28.6-29.4-57.6 0-3.3.2-6.6.6-10l84.4 18.8 4-17.6-85-18.9c5.5-20 15.9-39.4 26.5-55.3 15.5-23.24 30.9-38.64 30.9-38.64l-12.8-12.72zM256 121c-45.5 0-104.7 19.5-151.5 46.8-23.36 13.6-43.7 29.2-57.84 44.8C32.52 228.1 25 243.4 25 256c0 12.6 7.52 27.9 21.66 43.4 14.14 15.6 34.48 31.2 57.84 44.8 46.8 27.3 106 46.8 151.5 46.8 1.5 0 4.2-1.3 7.9-7.8 3.8-6.6 7.4-17.2 10.3-30.2 5.8-25.9 8.8-61.5 8.8-97s-3-71.1-8.8-97c-2.9-13-6.5-23.6-10.3-30.2-3.7-6.5-6.4-7.8-7.9-7.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoodTruck;

impl IconShape for FoodTruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.2 25.08l-70 70.16c-7.7 7.66-7.3 16.86-2.4 26.96l2 4.3-3.1 2.9-23.6 22.3 21.7 21.6 22.2-23.7 2.9-3 4.2 1.9c10.7 5.3 20.6 5.7 27.7-1.4L319 76.85l-10.2-10.18-45.7 45.63-9.6-9.8L299 56.97l-10.9-11.03-45.5 45.7-9.7-9.7 45.5-45.69zM28.97 27.84c-5.73 9.12-6.61 20.83-3.32 34.58 3.87 16.32 13.68 35.22 27.41 53.08 27.35 35.8 50.04 48.1 86.84 54.8l2.4.4c13.6 16.1 27.2 32.1 40.8 48.2h37.1zM137 183.2l-37.74 35.7h49.64l9.7-10.3zM26.25 232.9v63.5l16.51-49.5H279.8l16.5 49.5v-63.5zm29.49 32l-10 30h45.04l10.02-30zm63.96 0l-10 30h42.6v-30zm50.6 0v30h42.6l-10-30zm51.4 0l10 30h45.1l-10-30zm92.6 1.8v188.2h79c4.2-18.2 20.6-32 40-32s35.8 13.8 40 32h15v-64l-56.2-14H328.3v-82H390l-6.9-15zM26.25 312.9v114.2l42.17 27.8h14.85c4.14-18.2 20.53-32 40.03-32 19.4 0 35.8 13.8 40 32h133v-142h-14v80H40.25v-80zm320.05 0v46h72.4l-23-46zm-281.05 19l16 16h16l16.05-16zm-8 27v18H265.3v-18zm66.05 82c-12.9 0-23.1 10.2-23.1 23s10.2 23 23.1 23c12.8 0 23-10.2 23-23s-10.2-23-23-23zm310 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FootPlaster;

impl IconShape for FootPlaster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M43.12 18l13.946 121.818c51.795 18.367 110.16 2.117 146.756-11.197L197.552 18H43.12zm178.394 104.672l1.033 18.232-6.18 2.334C178.31 157.604 109 180.324 45.412 154.78l-4.976-1.997-2.743-23.94-.05.04c-6.823 5.494-11.255 11.322-13.114 15.88-1.65 4.042-1.544 6.487-.364 8.725 24.097 21.185 79.74 25.714 129.445 18.842 25.163-3.48 48.764-9.534 65.656-16.334 8.445-3.4 15.213-7.032 19.425-10.205 3.857-2.903 4.75-4.973 4.876-5.1-.33-3.84-3.246-8.01-11.12-12.725-3.074-1.842-6.764-3.617-10.932-5.293zm18.752 43.37c-4.28 2.34-9.043 4.543-14.28 6.65-18.806 7.573-43.477 13.814-69.91 17.468-19.318 2.67-39.59 4.136-59.11 3.467-16.87 13.56-39.095 27.05-60.882 34.435 2.138 18.11 3.646 37.887 4.168 61.16 82.547-24.995 136.176-62.393 199.572-97.058.148-8.782.297-17.082.442-26.12zm-211.95 12.054c1.935 10.436 3.735 20.875 5.338 31.71 11.99-4.484 24.688-11.25 36.102-18.7-15.194-2.408-29.33-6.563-41.44-13.01zm211.157 34.816c-60.008 33.52-115.123 70.45-199.02 95.018-.002 17.76-.527 37.457-1.707 59.765l-.047.87-.212.84c-2.055 8.21-3.527 15.688-4.494 22.507.302-.104.58-.194.893-.307 6.485-2.336 15.45-6.38 25.804-11.572 20.71-10.383 47.118-25.36 73.25-40.974 26.135-15.614 52.034-31.88 71.888-44.88 9.927-6.5 18.352-12.19 24.48-16.532 3.065-2.17 5.56-4.008 7.317-5.382.336-.263.575-.482.865-.73.314-19.22.645-38.997.983-58.624zm-1.336 81.223c-6.08 4.244-13.64 9.338-22.448 15.105-12.728 8.334-27.848 17.95-43.917 27.88 25.2 20.31 54.754 32.147 84.836 45.835 15.352-14.047 37.583-23.992 67.956-27.767-27.123-8.056-53.87-16.52-80.562-25.03l-6.354-2.025.088-6.668c.122-9.2.26-18.256.4-27.33zm-82.565 52.904c-4.114 2.495-8.247 4.99-12.398 7.47-11.33 6.77-22.687 13.397-33.682 19.636 12 33.453 38.326 66.337 61.53 93.85 17.01.247 34.857.683 53.11 1.936 3.28.225 6.505.386 9.694.505-6.277-24.386-4.454-51.29 10.47-73.283-29.89-13.406-61.288-26.33-88.724-50.115zm195.815 24.474c-44.467.338-71.494 12.427-86.37 28.416-18.025 19.375-20.142 46.255-12.476 70.617 4.113-.11 8.137-.306 12.077-.584-1.25-5.176-2.09-11.09-2.328-17.43-.52-13.83 1.628-29.78 10.57-42.78l.25-.362.285-.335c10.372-12.303 26.925-18.544 45.57-22.323 18.645-3.78 39.776-4.836 60.164-4.453.84.015 1.668.05 2.505.07-.425-2.54-.735-4.752-1.158-6.48-.34-1.393-.703-2.385-1.065-3.14-10.02-.885-19.366-1.282-28.025-1.216zM93.555 383.05c-8.76 4.8-17.12 9.227-24.795 13.075-10.71 5.37-20.082 9.643-27.774 12.414-3.03 1.09-5.78 1.947-8.408 2.54.058 10.436 1.71 18.686 4.547 25.078 5.88 13.254 16.68 20.465 33.914 25.156 19.31 5.257 45.883 5.99 76.206 6.373-20.3-24.53-41.888-53.246-53.69-84.636zm277.9 17.157c-17.14.01-34.337 1.212-48.914 4.166-16.43 3.33-29.083 9.153-35.075 16.01-5.437 8.188-7.605 20.41-7.19 31.474.21 5.62 1.035 10.896 2.096 14.936.46 1.75 1.034 3.146 1.538 4.324 3.578.465 6.97.89 10.244 1.29l9.026-10.958s9.738 8.013 22.345 16.124c12.608 8.11 28.636 15.7 36.723 16.01 7.663.292 20.613-6.435 30.707-14.285 4.964-3.862 9.23-7.732 12.31-10.69-2.514-3.37-5.95-7.78-10.02-12.376-8.338-9.415-19.717-18.643-25.766-20.04-18.542-4.276-31.368-.657-31.368-.657l-4.792-17.35s9.855-2.68 24.352-1.812c4.832.29 10.182.973 15.853 2.28 6.73 1.553 12.768 4.925 18.24 9.122L388.5 410.8c2.918-.56 5.838-.842 8.736-.87 8.925-.09 17.646 2.23 25.5 6.23 5.592-5.686 12.22-8.89 18.79-9.976-2.917-.537-6.13-1.074-9.618-1.588-14.625-2.158-33.607-3.954-53.117-4.32-2.438-.047-4.886-.07-7.335-.07zm100.176 15.908c4.142 3.49 7.597 7.442 10.32 11.28 3.63 5.117 4.5 10.938 3.99 16.4 1.502-2.272 2.808-5.056 3.464-7.695.92-3.696.55-6.74-.367-8.37-3.055-5.438-9.574-9.522-17.406-11.615zm-26.716 7.106c-2.454-.023-4.805.856-7.44 3.333 3.722 3.502 6.993 7.41 9.67 11.582 4.22 6.577 6.55 14.585 6.106 22.498 4.017-1.784 7.18-3.608 8.553-5.117 2.28-2.508 4.705-6.78 5.69-10.49.987-3.708.513-6.174-.225-7.215-3.778-5.324-10.985-11.623-17.06-13.546-1.9-.6-3.62-1.027-5.294-1.043zm-48.863 4.833c-1.196.027-2.37.135-3.515.322 6.054 4.776 11.404 10.53 16.184 15.926 9.258 10.455 15.774 20.25 15.774 20.25l3.822 5.737c2.072-1.158 3.61-2.305 4.387-3.35 2.667-3.58 2.452-14.158-.707-19.082-6.828-10.642-21.86-19.522-34.74-19.802-.404-.01-.806-.01-1.205 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FootyField;

impl IconShape for FootyField {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 56.05C125.4 56.05 17.95 144.7 17.95 256c0 111.3 107.45 199.9 238.05 199.9 130.6 0 238-88.6 238-199.9 0-111.3-107.4-199.95-238-199.95zm0 17.9c52.1 0 99.7 14.89 137.2 39.65-37 46.8-56.1 94.4-56.1 142.4s19.1 95.6 56.1 142.4c-37.5 24.8-85.1 39.7-137.2 39.7-52.1 0-99.7-14.9-137.2-39.7 37-46.8 56.1-94.4 56.1-142.4s-19.1-95.6-56.1-142.4c37.5-24.76 85.1-39.65 137.2-39.65zm151.7 50.15c35.4 27.8 59.5 65.3 66.4 107h-35v49.8h35c-6.9 41.7-31 79.2-66.4 107-35.6-44.7-52.8-88.5-52.8-131.9 0-43.4 17.2-87.2 52.8-131.9zm-303.4 0c35.6 44.7 52.8 88.5 52.8 131.9 0 43.4-17.2 87.2-52.8 131.9-35.35-27.8-59.44-65.3-66.38-107h35.03v-49.8H37.92c6.94-41.7 31.03-79.2 66.38-107zm86.7 66.8V321h130.1V190.9H191zm18 17.9h94.2V303H209v-94.2zm47 23.2c-13.1 0-24 10.9-24 24s10.9 24 24 24 24-10.9 24-24-10.9-24-24-24zM36.03 248.9h19.02v14.2H36.03c-.11-2.4-.18-4.7-.18-7.1 0-2.4.07-4.7.18-7.1zm420.87 0H476c.1 2.4.2 4.7.2 7.1 0 2.4-.1 4.7-.2 7.1h-19.1v-14.2zm-200.9 1c3.5 0 6.1 2.6 6.1 6.1 0 3.5-2.6 6.1-6.1 6.1-3.5 0-6.1-2.6-6.1-6.1 0-3.5 2.6-6.1 6.1-6.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Forearm;

impl IconShape for Forearm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M470.92 53.162c21.738 76.755-126.736 189.16-213.57 251.49 4.21 19.66 2.796 37.915 0 55.825 20.223 32.576.83 44.814 2.76 82.5-1.05 13.887-23.797 12.58-28.066-8.576 4.852-31.07-2.95-57.924-15.472-54.243l-31.933 43.23-47.61 67.04c-5.897 5.975-27.768 1.664-22.4-12.69l39.123-71.307-3.784-2.538-74.42 79c-6.056 6.26-26.28-7.956-19.953-16.503l69.72-74.202-3.783-1.925-66.576 44.227c-7.596 5.33-22.805-10.34-12.628-17.663l63.976-50.98-43.874 22.025c-6.156 2.1-12.68-10.355-5.976-13.335l50.997-32.6c26.468-21.393 58.785-57.834 94.072-65.2 55.417-83.656 104.97-167.018 175.057-253.61 26.274-13.577 86.7 8.58 94.34 30.035z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Forest;

impl IconShape for Forest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.92 15.654c-10.512 16.697-22.392 34.058-41.688 50.473.46.447.934.89 1.405 1.336l23.55-.406-3.527 10.7c-.505 1.53-1.065 3.048-1.678 4.552 2.803 1.945 5.745 3.875 8.872 5.788l25.052 15.33-45.99-.793c-1.954 2.474-4.06 4.9-6.305 7.275 8.8 11.517 22.045 22.713 38.675 32.766l-12.404-.365-.015 5.678c8.53 6.358 17.792 12.448 27.162 18.48 18.11-11.568 31.79-24.5 39.51-37.616l-57.353.99 25.052-15.33c8.97-5.488 16.525-11.115 23.082-16.867-5.098-5.475-9-10.962-11.257-16.69l-4.04-10.246 29.742-1.823C205.14 54.41 182.44 38.31 169.92 15.654zm234.605 13.223c-6.537 12.962-13.88 29.016-23.638 44.63 10.927 18.367 24.428 35.997 46.773 52.382l20.42 14.97-52.51-1.085c6.956 12.136 19.936 26.858 34.58 40.047 19.157 17.254 40.928 32.572 53.907 39.914l11.34 6.418c.005-4.163.005-7.382.015-13.972-17.176-11.938-29.767-25.795-36.322-42.2l-4.115-10.298 43.605-2.58c-9.91-4.358-19.747-8.263-28.723-12.06-8.498-3.594-16.23-7.107-22.724-11.23-6.495-4.122-12.102-8.954-14.858-15.943l-3.93-9.962 36.077-3.178c-24.245-20.226-47.223-48.756-59.897-75.853zM84.027 34.62c-12.52 22.656-35.22 38.757-57.843 53.234l29.738 1.822-4.037 10.244c-4.78 12.125-16.815 24.123-33.182 36.873-.295 11.21-.392 17.66-.385 17.732.005.044.19 1.1.29 3.127.038.742.04 3.177.066 4.358l13.828.797-.004.55-3.906 9.778c-1.18 2.955-2.498 6.07-4.16 9.232l11.525-7.05c37.376-22.87 50.42-48.163 67.395-74.833l-.233 6.366 4.474-1.875c-1.277-2.702-2.382-5.452-3.305-8.25l-3.528-10.7 26.582.46C107.068 69.66 94.836 51.787 84.027 34.618zM263.06 61.036c-10.808 17.168-23.04 35.04-43.314 51.86l26.582-.458-3.527 10.7c-6.657 20.188-22.772 37.89-44.874 52.91l17.916 11.573 18.273.688-4.127 10.5c-2.305 5.863-5.355 11.4-9.01 16.65l8.737-6.19c17.913-12.69 36.773-27.495 51.8-41.534 10.026-9.365 17.978-18.52 23.083-25.914l-50.537-3.715 16.5-12.773c10.37-8.027 20.973-15.94 30.924-24.178-15.49-11.246-29.53-24.024-38.423-40.12zm93.07.68c-12.76 26.805-36.227 46.04-59.107 63.506l31.39 2.306-3.194 9.726c-4.503 13.7-16.983 27.412-32.783 42.172-10.794 10.083-23.245 20.29-35.896 29.926l49.278 3.494-3.26 9.78c-11.273 33.806-46.845 56.924-75.816 75.597 13.487 8.056 27.67 15.44 39.813 22.318 68.34 18.82 147.594 6.972 200.924-16-13.19-7.554-23.844-14.547-32.748-23.006-11.805-11.216-20.072-24.96-26.377-44.183l-3.017-9.208 51.97-6.61c-11.874-8.21-25.17-18.39-37.867-29.825-20.11-18.113-38.394-38.003-43.915-58.067L372.68 123.3l27.867.577c-21.174-20.07-33.542-41.485-44.416-62.16zM108.78 121.84c-10.807 17.168-23.038 35.04-43.313 51.86l26.582-.456-3.53 10.697c-8.24 24.998-30.974 46.186-61.625 63.185l52.94 1.99-4.126 10.496c-11.05 28.11-29.76 52.974-61.038 71.585 73.885 22.566 156.574 31.568 231.582-3.572-12.908-7.055-26.9-14.653-40.33-23.56-18.07-11.983-34.525-25.736-41.71-43.713l-4.116-10.3 48.4-2.864c-11.828-7.625-23.415-15.48-33.557-23.383-16.245-12.663-29.06-24.086-34.02-36.664l-4.04-10.247 29.74-1.823c-22.62-14.476-45.318-30.576-57.84-53.23zM68.26 189.656l-49.016.844c-.168.218-.32.44-.492.656-.276 21.495-.448 33.384-.502 42.38 23.342-13.057 40.863-28.338 50.01-43.88zm105.674 12.403c3.27 2.968 6.883 6.035 10.845 9.124 3.52 2.743 7.266 5.524 11.14 8.308 5.44-5.177 10.084-10.545 13.692-16.092l-35.678-1.34zm41.658 20.428c-1.87 2.225-3.865 4.388-5.947 6.504 9.277 6.192 18.952 12.242 28.38 17.815l17.645 10.427c11.34-9.42 21.135-19.423 27.215-29.972l-67.293-4.774zm279.803 10.334l-68.383 8.698c4.666 11.45 10.047 19.75 17.28 26.992l-.21-9.6c17.455-.996 34.705-3.352 51.4-7.363-.065-7.174-.084-12.42-.087-18.728zm-243.96 27.852l-66.394 3.928c3.903 5.187 9.085 10.326 15.097 15.314 6.417 1.284 12.905 2.463 19.455 3.504 10.638-7.12 21.72-14.713 31.842-22.746zm-219.744 2.64l-.29 35.618c10.746-10.37 18.692-21.97 24.83-34.694l-24.54-.924zm413.947 66.534c-14.262 4.577-29.517 8.396-45.38 11.222l5.55 132.18h42.978l-3.148-143.402zm-181.83 7.002c-2.663 1.404-5.337 2.75-8.018 4.046l-.927 114.274h52.682l-2.426-110.496c-13.946-1.552-27.788-4.123-41.313-7.824zm120.54 6.693c-15.085 1.992-30.582 3.05-46.18 2.994l-.386 139.742h52.56l-5.994-142.737zm-353.38 9.146l-.924 114.04H74.31l1.975-104.398c-15.362-2.464-30.51-5.75-45.318-9.643zm174.72 6.27c-11.576 2.87-23.226 4.935-34.898 6.284l3.915 66.195h33.065l-2.084-72.48zm-113.443 5.628l-2.508 132.56 72.692-2.287-7.584-128.21c-20.97 1.29-41.936.424-62.6-2.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ForestCamp;

impl IconShape for ForestCamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M350.5 33.05c-13.9 30.58-29.4 61.29-61.6 85.35 7.3 3.4 20.7 6.2 27.9 8.5-12.2 18.7-33 36.4-52 52.3 11.1 5.7 22.1 10.3 33.1 14-14.1 22.2-30.9 43.3-51.9 62.4 16.7 9.3 33.3 16.6 49.8 21.8-17.9 25.4-40.4 49.6-72.1 76.1 51.5 26.5 97 38.8 142.2 37.4 1.8 0 3.7.1 5.5.1v-.3c39.9-2.2 79.6-15 123.2-38-38.8-24.5-62.9-47.7-81.4-73.2 17.8-5.2 35.6-12.9 53.3-23.1-25.8-17.7-44.2-38.6-58.9-61.5 12.1-3.7 24.1-8.7 36.1-15-23.2-14.6-44.1-32.3-56.7-51.4 8.8-2.4 22.8-5.3 31.5-9.4-38.5-21.76-48.9-53.16-68-86.05zM173.6 336.8c-.1.3-.4.8-.6 1.1l19.4 139 72.2 1.2c-38.2-44.9-66-91.1-91-141.3zm-.6 1.2c-23.8 47.8-44.8 94.2-86.44 137.2l76.84 1.3zm-20.7 1.1c-24.1 8.9-54.17 16.9-82.31 15.8-11.18 39.8-26.38 80-52.57 115.8l46.65 1.6c43.13-40.8 64.23-85 88.23-133.2zm186.5 68.8l-2.7 70.4 43 .6L373 409c-11.6 0-23.1-.3-34.2-1.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ForestEntrance;

impl IconShape for ForestEntrance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.5 20.19h-18c-6.9 27.94-31.46 41.26-52.27 57.06l-5.99-57.06H26.78l.39 467.51 97.23-1.3c-19.3-15.2-38.16-33.1-50.33-52.6l-1.01-1.7-.26-1.9c-9.22-86.5-5.79-172.4-1.97-247.3l38.17-20c16.4 16.2 20.3 35.5 16.4 51.8l17.6 4c4.8-20.7-.4-44.7-17.7-64.4l72.6-38.1c-7.7-5.8-14.9-11.9-21.7-18.09L70.3 134.7l-4.52-36.76c26.16-21.01 67.02-45.28 67.72-77.75zm260.8 0l16.8 160.01c-37-11-56.6-44.2-39.4-78l-15.8-8.63c-10.1 18.53-10 39.43-5.2 58.13-62.4-30.4-122.1-63.37-176.6-101.21l-11.2 7.46c47.6 47.75 86.9 73.35 144 94.25-22.2 22.3-53.7 34.1-78.5 41.7l12.9 15.4c33.7-11 59.5-22.7 86.1-39.3 25.9 19.7 58.8 25.3 85.6 37.9l10.2 105.6c-20-14.1-40.4-21.1-61.9-19.2l-6 13.2c23.2 5.7 42.3 7.2 57.5 20.8-2.7 46.1 1.6 91.3-8.7 131.8-30.3 6.2-62.1 14.8-88.5 23.8l172.8-2.8-.1-460.91zm-23.9 21.04l-31.5.67-94.2 32.56c6.6 3.94 13.2 7.83 20 11.66z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ForkKnifeSpoon;

impl IconShape for ForkKnifeSpoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48 34v144c0 16 32 32 32 32 0 112-16 176-16 208 0 16 0 32 16 48s16 16 32 0 16-32 16-48c0-32-16-96-16-208 0 0 32-16 32-32V34h-18v96h-21V34H87v96H66V34H48zm202 0c-16 0-16 16-16 16v272h.4c-4.6 45.8-10.4 76.8-10.4 96 0 16 0 32 16 48s16 16 32 0 16-32 16-48c0-22.1-7.6-59.5-12.4-117.5C287.9 270.4 298 232.2 298 194c0-48-25.8-137.6-48-160zm166 0a64 96 0 0 0-64 96 64 96 0 0 0 47.9 92.8C398.8 326.9 384 387.2 384 418c0 16 0 32 16 48s16 16 32 0 16-32 16-48c0-30.8-14.8-91.1-15.9-195.1A64 96 0 0 0 480 130a64 96 0 0 0-64-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Forklift;

impl IconShape for Forklift {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M360.998 56.998v222.004h14.004V56.998h-14.004zm-288 128v126.004h16.004v-110h127.594L257 328.947l-85.293 38.035 8.02 8.02h40.546l16-16h50.62l-53.54-174.004H72.999zm320 64v30.004h14.004v-30.004h-14.004zm-270.451 20.584C114.487 269.732 106 272 106 272v39.002h9.727l49.646 49.646C163.42 341.07 156.172 287.981 134 272c-2.366-1.705-5.988-2.345-9.85-2.418-.53-.01-1.066-.01-1.603 0zm238.451 27.416v14.004h46.004v-14.004h-46.004zm-336 32v55.121c13.4-15.367 33.091-25.117 55.002-25.117 40.21 0 72.998 32.788 72.998 72.998a73.26 73.26 0 0 1-.346 7.002h79.07c4.342-27.13 27.966-48 56.278-48 26.223 0 48.418 17.908 55.002 42.105v-29.38l-26.729-26.729h-72.546l-16 16h-55.454l-64-64H24.998zm336 0v142.004h14.004V328.998h-14.004zm32 0v62.004h97.277l-14.004-14.004h-69.269v-48h-14.004zM80 376.998c-30.483 0-55.002 24.52-55.002 55.002 0 30.483 24.52 55.002 55.002 55.002 30.483 0 55.002-24.52 55.002-55.002 0-30.483-24.52-55.002-55.002-55.002zm0 30.004c13.7 0 24.998 11.298 24.998 24.998 0 13.7-11.298 24.998-24.998 24.998-13.7 0-24.998-11.298-24.998-24.998 0-13.7 11.298-24.998 24.998-24.998zm208 1.996A38.867 38.867 0 0 0 248.998 448 38.867 38.867 0 0 0 288 487.002 38.867 38.867 0 0 0 327.002 448 38.867 38.867 0 0 0 288 408.998zM288 432a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoundryBucket;

impl IconShape for FoundryBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137 19v200.9c7-3.1 14.8-4.9 23-4.9s16 1.8 23 4.9V19h-46zm64 88.6v65L340.4 312c10.1-13.9 19-27.2 26.2-38.8L201 107.6zm161.6 18.2c-34.5.2-76.9 14-93.3 24.7l115.2 115.1 4.9 5-.1.2c21.3 43.6 27.5 142.4 19.5 184-25.1-12.6-50.9-53.2-66.2-72.7-.4 20.5 6.5 63 16.9 82.2-34.9-5.3-57.1-28.1-81.2-48.3 3.4 24.3 16 40.9 41.7 57.8L208 464l69.3 32H496V384l-32 72.3c6.7-75.3 4.8-304.9-76.8-327.7-7.3-2-15.7-2.9-24.6-2.8zM119 158.5c-6.4 5.5-12.8 11.1-19.1 16.9-32.97 30.3-61.57 64.5-73.33 94.4L199.2 442.4c29.9-11.7 64.1-40.3 94.4-73.3 12.8-13.8 24.8-28.3 35.8-42.5L201 198.2v34.3c9.9 10.2 16 24.2 16 39.5 0 31.4-25.6 57-57 57s-57-25.6-57-57c0-15.3 6.1-29.3 16-39.5v-74zm41 74.5c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm0 23a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoxTail;

impl IconShape for FoxTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.734 22.04c-5.61-.035-11.163.12-16.634.456-43.77 2.7-82.904 17.003-103.862 44.996-7.506 10.027-5.682 23.91 2.95 31.42 8.635 7.51 23.004 8.053 36.234-.52 22.84-14.805 47.933-9.572 64.27 6.172 16.34 15.745 23.736 41.453 7.54 71.145-19.17 35.143-32.716 96.153-20.146 156.526 12.57 60.374 52.968 119.76 139.728 145.772 33.476 10.036 78.825 16.75 121.645 7.666 44.507-8.788 95.85-34.758 106.892-63.11-9.25 8.885-19.44 15.14-30.202 19.79 18.306-20.92 31.735-49.732 36.79-88.174l2.53-19.24-16.322 10.496c-10.503 6.755-20.585 13.403-30.093 18.396 2.638-5.872 5.038-13.22 7.73-22.777-11.097 15.19-23.73 25.355-38.598 31.472-9.234-.503-18.353-4.867-29.21-16.097-11.358-11.747-18.12-32.095-22.463-57.666-4.344-25.572-6.46-55.927-10.668-86.877-8.42-61.902-25.912-127.873-89.74-161.035-36.955-19.2-79.092-28.577-118.372-28.813zm-.123 18.01c36.462.255 76.11 9.065 110.197 26.774 56.393 29.3 71.994 87.14 80.203 147.488 4.104 30.175 6.186 60.554 10.758 87.465 1.316 7.753 2.835 15.242 4.693 22.385-15.448.04-27.254-8.307-41.704-24.717 7.385 30.41 11.99 36.534 25.705 55.55-28.22-8.235-60.64-34.74-80.95-64.063-3.274 40.047 20.223 71.574 33.275 83.93-25.176-14.196-60.713-41.536-84.623-88.655-1.016 41.426 11.93 87.732 36.45 116.465-34.515-11.536-64.97-99.472-85.42-127.633-13.04 33.217-2.948 89.085 16.072 130.122-19.628-22.838-30.887-49.375-36.555-76.596-11.524-55.342 1.75-113.847 18.325-144.238 19.55-35.842 10.915-71.75-10.85-92.726-21.768-20.976-56.854-27.564-86.554-8.315-8.56 5.55-12.688 3.732-14.626 2.045-1.94-1.687-2.76-3.84-.356-7.053 16.106-21.514 50.135-35.324 90.56-37.817 5.052-.312 10.195-.45 15.403-.414z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct France;

impl IconShape for France {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M283.4 19.83c-3.2 0-31.2 5.09-31.2 5.09-1.3 41.61-30.4 78.48-90.3 84.88l-12.8-23.07-25.1 2.48 11.3 60.09-113.79-4.9 12.2 41.5C156.3 225.4 150.7 338.4 124 439.4c47 53 141.8 47.8 186 43.1 3.1-62.2 52.4-64.5 135.9-32.2 11.3-17.6 18.8-36 44.6-50.7l-46.6-139.5-27.5 6.2c11-21.1 32.2-49.9 50.4-63.4l15.6-86.9c-88.6-6.3-146.4-46.36-199-96.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Freemasonry;

impl IconShape for Freemasonry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-12.537 0-23 10.735-23 24.79 0 2.614.363 5.113 1.033 7.45l30.492-30.492C261.878 25.62 259 25 256 25zm21.043 14.684l-31.96 31.96c3.262 1.88 6.988 2.934 10.917 2.934 12.537 0 23-10.734 23-24.79 0-3.633-.703-7.043-1.957-10.104zm16.78 26.548C287.65 81.57 273.127 92.578 256 92.578c-1.528 0-3.033-.093-4.516-.264l231.92 386.536L293.822 66.232zm-77.09 3.147L28.595 478.85l216.908-361.516-28.772-47.955zM74.98 196.335L19.826 251.49l9.9 9.9 27.577-27.577 6.363-6.364 12.73 12.726-6.365 6.365-27.577 27.577 9.9 9.9 16.264-16.263 6.363-6.363 12.73 12.727-6.366 6.365-16.262 16.264 9.898 9.9 23.915-23.914 19.67-42.812-43.585-43.584zm362.04 0l-43.584 43.584 19.67 42.812 23.914 23.913 9.898-9.9-16.262-16.263-6.365-6.365 12.73-12.726 6.363 6.364 16.263 16.264 9.9-9.9-27.577-27.577-6.365-6.364 12.73-12.727 6.362 6.363 27.576 27.578 9.9-9.9-55.153-55.154zm-271.97 90.07l-31.013 51.692 13.775-13.776 6.364-6.363 12.728 12.726-6.363 6.365-27.575 27.58 9.898 9.897 16.264-16.263 6.363-6.364 12.73 12.727-6.366 6.365-16.264 16.262 9.9 9.9 27.578-27.576 6.364-6.365 12.728 12.728-6.365 6.365-27.576 27.578 9.897 9.898 16.264-16.262 6.366-6.364 12.727 12.73-6.364 6.362-16.264 16.264 9.9 9.9 27.576-27.578 6.364-6.363L256 419.78l11.314-11.31 6.364 6.362 27.576 27.578 9.9-9.9-16.263-16.264-6.363-6.363 12.727-12.73 6.365 6.365 16.263 16.263 9.898-9.897-27.575-27.578-6.365-6.364 12.728-12.727 6.364 6.365 27.578 27.576 9.9-9.9-16.264-16.262-6.365-6.365 12.73-12.727 6.363 6.364 16.264 16.263 9.898-9.898-27.576-27.58-6.364-6.364 12.728-12.727 6.363 6.362 13.776 13.774-31.014-51.69-90.95 90.95-90.95-90.95zM256 422.61l-4.95 4.95-27.577 27.577L256 487.664l32.527-32.527-27.578-27.576-4.95-4.95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrenchFries;

impl IconShape for FrenchFries {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.1 19.7l-21.3 2.07c.2 26.29 1.5 60.61 3.4 95.83 6.1 26.4 17 62.5 28.1 99.8h3.3c-3.5-61.2-8.4-144.83-13.5-197.7zm60.6 10.7C288 80.07 279 157 272 216.7c4.8-.3 9.6-.7 14.4-1.2 4.5-37.3 9-73 13.3-99l1.5-8.8 5.5.9c3-27.38 5.4-53.31 6.9-74.15l-17.9-4.05zm83 4.5c-7.2 22.99-15.7 52.7-23.9 83.8l-.4 6c-1.4 21.8-4 50.1-7.3 80.3 3.8-.9 7.5-1.9 11.3-3 6.3-25.2 13.4-51.3 20.5-75.9 8-31.88 15.5-62.56 20.8-86.6l-21-4.6zM256 41c-.3 0-.6.01-.9.01 2.6 30.7 5.1 67.59 7.3 103.59 4.3-36.4 8.9-73.17 13.3-102.9-6.6-.45-13.1-.7-19.7-.7zM93.47 43.55l-20.54 6.04c2.18 10.83 4.81 23.02 7.76 36.05l17.45-7.27 4.66-1.91c-3.3-11.88-6.42-23.01-9.33-32.91zm102.73 3.94c-11.4 2.58-22.2 5.91-32.1 9.96 3.8 16.25 8.2 35.16 12.8 54.85l21.8-3.6c-1.1-21.52-2-42.44-2.5-61.21zm134.3 3.83c-1.5 18.13-3.6 38.76-5.9 60.18l12.8 2.1c5-18.93 10.1-37.41 15-54.22-6.9-3.06-14.2-5.75-21.9-8.06zM144.7 53.9l-25.8 6.89c3.9 19.56 9.3 43.51 15.4 68.81 14.2 25.4 30.7 53.9 45.9 81.5.5 0 1 .1 1.5.2-12.8-53.6-27.1-115.38-37-157.4zm268.2 22.27C402.1 110 389.4 154 378.6 196c9.7-3.1 19.4-6.5 29-10.3 9.9-37.3 19.6-74.7 26.3-104.93l-21-4.6zM97.33 98.21l-15.37 6.39c11.37 25.1 27.74 57.8 44.74 91.1 9.7 3.7 19.6 7 29.6 9.7-21.4-38.1-44.2-77.4-58.97-107.19zM200.9 126.6l-16.4 2.7c4.8 23.7 12 54 19.8 85.6 7.2.8 14.5 1.5 21.9 1.9-9.8-32.8-19.3-64.9-25.3-90.2zm115.3 1.8c-3.7 23.5-7.5 53.5-11.3 84.8 7.8-1.1 15.7-2.5 23.6-4 3.1-28.6 5.7-55.9 7.2-77.6l-19.5-3.2zm89.3 77.2c-100.8 37.5-207.4 41.4-298.9 1.2L136.1 487h239.8l29.6-281.4zM140.4 311h231.2L256 445.8 140.4 311zm39.2 18l76.4 89.2 76.4-89.2H179.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FriedEggs;

impl IconShape for FriedEggs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M378.014 37.379c-60.947.647-130.417 65.73-196.215 73.627-36.738 4.409-83.001-26.792-110.951-2.041-18.268 16.177-3.648 49.433-8.996 73.517-8.624 38.837-56.107 78.637-36.985 113.34 35.366 64.182 149.872 9.808 210.908 49.012 45.77 29.398 46.969 126.738 100.957 129.678 66.818 3.638 122.247-80.385 140.94-146.016 26.089-91.598 20.473-229.637-58.975-279.775-13.006-8.209-26.619-11.491-40.683-11.342zM171.72 141.252c34.716 0 62.857 25.092 62.857 56.045 0 30.953-28.141 47.732-62.857 47.732s-62.86-16.78-62.86-47.732c0-30.953 28.144-56.045 62.86-56.045zm-9.203 13.182c-21.338 7.89-48.289 29.583-30.061 62.777.305-20.013 6.097-35.458 30.06-62.777zm207.61 51.35c36.074 0 65.317 30.186 65.317 67.423s-29.243 57.424-65.316 57.424c-36.074 0-65.317-20.187-65.317-57.424 0-37.237 29.243-67.424 65.317-67.424zm-9.64 15.45c-22.172 9.492-50.176 35.59-31.236 75.524.317-24.076 6.336-42.658 31.236-75.524z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Frisbee;

impl IconShape for Frisbee {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M385.5 30.38c-18.5.16-40.5 5.02-64.3 14.24C270.4 64.35 211.1 104 156.4 158.7c-54.8 54.7-94.46 114.1-114.12 164.9-9.89 25.4-14.7 48.6-14.28 67.9.43 19 5.8 33.8 16.05 44 10.26 10.3 24.96 15.6 44.06 16.1 19.19.4 42.39-4.4 67.89-14.3 50.8-19.7 110.1-59.4 164.8-114.1 54.7-54.7 94.4-114 114.1-164.9 9.9-25.4 14.7-48.6 14.3-67.79-.5-19.09-5.8-33.8-16.1-44.05-10.3-10.26-25-15.63-44-16.05-1.2-.03-2.4-.04-3.6-.03zm66.6 10.7c9.9 13.36 14.7 30.3 15.1 49.08.5 22.44-5 47.74-15.6 74.64-20.8 54-61.8 114.9-118 171.1-56.3 56.3-117.2 97.2-171.2 118.1-26.9 10.6-52.2 16-74.65 15.6-15.06-.3-28.93-3.5-40.72-9.8.8.9 1.62 1.8 2.47 2.6 25.95 26 72.3 29.4 128.3 10.7 56-18.6 120.3-59.2 178.2-117.2 57.9-57.9 98.5-122.1 117.1-178.1 18.8-56 15.3-102.35-10.7-128.3-3.1-3.14-6.6-5.94-10.3-8.42zM299.7 122.5c7.8 0 15.3 2.3 20.7 7.7 6.7 6.7 8.5 16.4 7.4 26.1-1 9.7-4.7 20.2-10.3 31.6-11.2 22.8-30.4 49-55.5 74.1-25.1 25.1-51.3 44.3-74.1 55.5-11.3 5.6-21.9 9.3-31.6 10.3-9.7 1.1-19.4-.7-26.1-7.4-6.7-6.7-8.5-16.4-7.4-26.1 1-9.7 4.7-20.3 10.3-31.7 11.2-22.8 30.4-48.9 55.5-74s51.3-44.4 74.1-55.6c11.4-5.6 21.9-9.2 31.6-10.2 1.8-.2 3.6-.3 5.4-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrogFoot;

impl IconShape for FrogFoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.3 34.79c-25.7 0-46.5 27.02-46.5 60.36 0 20.05 7.7 38.85 20.6 50.05 5.6 81.2-4.7 152.3-53.6 160.1-60.2 6.2-73.2-68.2-84.6-139 8.9-15.7 9.2-37.5.6-57.3-13.4-30.79-43.6-47.33-67.56-36.92-23.92 10.4-32.47 43.72-19.11 74.52 9.44 21.7 27.77 37.1 47.07 39.6 33.9 57.6 71.8 152.4 51 180.2-11.5 15.2-32.7 10.4-55.6-4 3.7-16.3-4.5-34.6-20.81-46.7-22.74-16.9-53.8-16.5-69.39.8-15.6 17.3-9.77 45 13 61.9 17.78 13.1 41.33 16.1 58.44 7.4 67.86 32.9 121.86 99.5 175.56 90.6 76.2-12.6 76.5-119.3 148.3-149.9 13.7 9.1 33.5 8.3 49.7-2.1 21.2-13.7 29.1-39.2 17.7-56.9-11.4-17.8-37.9-21.1-59.2-7.4-15.9 10.3-24.9 27.8-22.5 43.9-29.9 22.4-68.5 39.7-88.7 27.3-16.2-9.9 1.8-122.3 19-178.4 19.6-7.7 33.1-31.1 33.1-57.75 0-33.34-20.8-60.37-46.5-60.36z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrogPrince;

impl IconShape for FrogPrince {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176 22v86c80 32 80 32 160 0V22l-48 48-32-48-32 48zm159.543 108.31c-4.742.195-9.564 1.488-14.205 4.167-38.934 22.48-89.77 21.953-127.79.002-6.09-3.516-12.284-4.611-18.144-3.893a46.38 46.38 0 0 1 9.438 28.09c0 23.15-17.037 42.83-39.176 45.096-12.775 14.92-21.554 31.806-24.387 49.982 44.73-23.79 90.948-35.572 137.065-35.508 46.15.064 92.197 11.986 136.56 35.62-2.69-18.15-11.217-35.044-23.795-49.92-.585.025-1.17.048-1.76.048-24.18 0-43.447-20.7-43.447-45.318 0-10.64 3.601-20.542 9.641-28.363zm-194.148 3.215l-.002.002c-12.67 0-23.278 10.85-23.278 25.15 0 14.298 10.608 25.147 23.278 25.147 12.67 0 23.277-10.85 23.277-25.148s-10.607-25.15-23.276-25.15zm227.953 0v.002c-12.67 0-23.276 10.85-23.276 25.15 0 14.298 10.607 25.147 23.276 25.147 12.67 0 23.277-10.85 23.277-25.148s-10.608-25.15-23.277-25.15zm68.396 93.375c-9.361-.13-18.96 1.646-28.676 4.237 6.926 19.457 8.569 40.725 2.694 62.656-4.26 15.896.934 37.475 11.7 54.758l4.69 7.53-7.02 5.43c-19.764 15.28-36.439 25.107-46.103 35.264-9.664 10.158-13.888 19.59-10.916 40.875.484 12.745 6.068 17.054 13.668 24.97 19.876-14.55 36.01-23.888 68.344-4.095-6.738-18.804 15.937-29.76 46.719-29.779-36.91-15.88-64.98-25.62-86.438-30.377 67.492-72.188 97.182-127.96 66-159.187-10.985-8.794-22.626-12.114-34.662-12.282zm-364.074.118c-12.65.034-24.768 3.161-34.076 12.166-31.182 31.227-1.492 87 66 159.187-21.456 4.756-49.528 14.497-86.438 30.375 30.782.02 53.457 10.978 46.719 29.781 32.332-19.792 48.469-10.455 68.344 4.094 6.233-8.55 16.31-14.826 17.724-24.969 2.972-21.283-1.25-30.717-10.914-40.875-9.664-10.157-26.34-19.982-46.105-35.263l-7.02-5.428 4.692-7.53c10.73-17.227 15.857-39.232 11.699-54.76-5.782-21.571-4.184-42.44 2.537-61.56-10.425-2.871-22-5.249-33.162-5.218zm184.67 9.539c-46.096-.065-92.3 12.827-137.572 38.845a87.269 87.269 0 0 0 2.494 13.31v.003c5.453 20.354.592 42.93-9.485 62.297 15.89 11.634 30.344 20.524 41.479 32.228 10.36 10.89 16.795 25.133 16.955 43.713-1.096 16.308-9.158 39.273-22.348 59.244 24.59-14.237 42.135-15.333 45.291 3.492 14.097-17.783 25.698-20.386 38.985-8.035-3.745-31.452-11.117-52.887-17.258-65.097-14.896-36.567-42.816-61.484-73.742-83.424l11.359-16.014c38.788 27.517 76.799 62.664 89.125 119.567 9.628.705 19.25.65 28.85-.16 12.362-56.81 50.333-91.919 89.084-119.409l11.361 16.016c-31.19 22.127-59.334 47.28-74.13 84.363-6.046 12.357-13.14 33.493-16.794 64.158 13.29-12.35 24.891-9.747 38.988 8.036 3.153-18.825 20.697-17.73 45.288-3.493-13.51-20.455-21.645-44.058-22.42-60.424.415-18.01 6.809-31.872 16.949-42.533 11.135-11.705 25.586-20.595 41.474-32.23-10.064-19.29-14.99-41.737-9.48-62.303a88.607 88.607 0 0 0 2.51-13.266c-44.85-25.79-90.85-38.818-136.961-38.884z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrozenBody;

impl IconShape for FrozenBody {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M380.7 29.4l-244.9.66c-18.2.63-25.1 16.17-25 40.81l-3.2 195.53-25.05 3.6 12.02-30.1-16.72-6.6-12 30.1-20.11-25.5-14.14 11.2 20.03 25.4-32.02 4.6 2.56 17.8 32.16-4.6-12.06 30.2 16.72 6.6 12-30.1 20.1 25.5 14.11-11.2-20.08-25.5 22.18-3.2-2.7 168c1.7 23.9 6 33.4 18 34.7l253.6 3.6c21.8 2.7 28.8-12.5 29.5-35.1l3.8-385.47c.3-19.47 1.2-39.36-28.8-40.93zm-24.4 20.77c26.3 1.35 31.9 39.46 31.6 57.13-5.6 104.2-3.9 209.5-5 314.3-.6 20.4-19.5 44.3-38.7 44.7-61.8 1.3-125.4 2.8-189.9-.8-10.7-.6-30.7-11.6-30.4-33.2l5.4-344.72c-.1-22.23 23.6-34.1 39.5-33.68 67.6 1.77 131.8 1.54 187.5-3.73zm98.4 7.4l-17 5.89 5.4 15.5-16.1-3.1-3.4 17.69 16.1 3.09L429 109l13.6 11.9 10.7-12.4 5.4 15.5 17-5.9-5.4-15.5 16.1 3.1 3.4-17.74-16.1-3.1 10.7-12.4-13.6-11.79-10.7 12.39-5.4-15.49zm-254 10.81c-15.8.12-41.6 10.71-48.8 30.02-16.2 43.3 5.1 132.8 18.6 144.5 4 3.5-3.1-100.9 39.7-159.47 7.5-10.3 1.3-15.13-9.5-15.05zm55.5 84.32c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.3 98h59.7l7.2-98h27.3c-.1-22.1-1.2-47.5-6.3-68.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5h-3.2zm104.3 189.2c-1.8.9-24.5 78.7-35.2 96.4-6.9 11.4 26 3.8 34.7-6.3 11.4-13.5 6.4-82.3.6-90.1h-.1zm95.6 32.2l-17.8 3 2.5 15.2-13.5-9.1-10 15 19.1 12.9-12.8 7.8 9.4 15.4 13.4-8.2 3.8 22.7 17.8-3-2.5-15.2 13.5 9.1 10-15-19.1-12.9 12.8-7.8-9.4-15.4-13.4 8.2-3.8-22.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrozenRing;

impl IconShape for FrozenRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 28.2c-101.2 0-183 81.8-183 183s81.8 183 183 183 183-81.8 183-183-81.8-183-183-183zm0 46c75.6 0 137 61.4 137 137s-61.4 137-137 137-137-61.4-137-137 61.4-137 137-137zm0 18c-44.7 0-83.7 24.6-104 61l25.8 67.6 21.6-87.5 14.3 43.5 22.2-68.9 19.1 88.5 33.7-99.7c-10.4-2.9-21.4-4.5-32.7-4.5zm47.1 9.7l19.3 71.2 18.7-45.1c-6.2-11.5-28.9-22.7-38-26.1zm125.6 212c-16.3 27.4-38.9 50.5-65.8 67.5l18.9 48.9 18.6-63 9.7 30.3zM91.23 326.2l6.86 90.3 19.01-60.1c-9.6-9.2-18.25-19.3-25.87-30.2zm37.07 40.1l9.6 88.4 16.6-40.8 15.7 69.9 27-80.4c-25.5-7.8-48.8-20.5-68.9-37.1zm210 28.3c-25.1 11.3-53 17.6-82.3 17.6-13.9 0-27.5-1.4-40.7-4.1l16.8 72.1 19.2-57.4 16.6 30.9 20-34 24.9 50.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FruitTree;

impl IconShape for FruitTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217.537 82.248c-83.48-65.134-156.926-5.426-144.25 50.762-38.206 16.67-51.368 51.76-29.385 81.955-33.68 24.46-12.156 49.732 14.856 60.953C1.6 332.255 70.709 373.023 117.7 338.574c26.845 5.103 75.488-1.674 81.824-21.213 16.834-1.017 32.532-11.609 43.323-19.595 6.894 11.698 17.905 22.49 29.39 25.771 18.052 1.544 23.516-2.62 33.987-13.332 20.72 19.632 72.721 18.672 96.748 12.547 99.54 64.093 108.761-75.666 46.605-101.842 23.675-34.319 4.32-85.713-25.242-110.465 23.25-50.096-32.86-65.016-60.719-60.836-52.552-46.651-122.894-1.897-146.08 32.639zm100.356-32.295c8.836 0 16 7.164 16 16 0 8.837-7.164 16-16 16-8.837 0-16-7.163-16-16 0-8.836 7.163-16 16-16zm76.488 27.238c8.836 0 16 7.164 16 16 0 8.837-7.164 16-16 16-8.837 0-16-7.163-16-16 0-8.836 7.163-16 16-16zM144 80c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm182.781 28.334c8.837 0 16 7.163 16 16s-7.163 16-16 16c-8.836 0-16-7.163-16-16s7.164-16 16-16zM208 112c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm56.273 27.523c8.837 0 16 7.164 16 16 0 8.837-7.163 16-16 16-8.836 0-16-7.163-16-16 0-8.836 7.164-16 16-16zM400 144c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm-298.488 26.38c8.836 0 16 7.164 16 16 0 8.837-7.164 16-16 16-8.837 0-16-7.163-16-16 0-8.836 7.163-16 16-16zm201.478 25.286c8.837 0 16 7.163 16 16s-7.163 16-16 16c-8.836 0-16-7.163-16-16s7.164-16 16-16zm-82.883 18.654c8.837 0 16 7.164 16 16 0 8.837-7.163 16-16 16-8.836 0-16-7.163-16-16 0-8.836 7.164-16 16-16zM388 208c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zM81.518 218.578c8.836 0 16 7.164 16 16 0 8.837-7.164 16-16 16-8.837 0-16-7.163-16-16 0-8.836 7.163-16 16-16zM160 256c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm215.666 9.832c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zM288 272c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm163.145 11.62c8.836 0 16 7.163 16 16 0 8.836-7.164 16-16 16-8.837 0-16-7.164-16-16 0-8.837 7.163-16 16-16zM69.477 302.51c8.836 0 16 7.163 16 16 0 8.836-7.164 16-16 16-8.837 0-16-7.164-16-16 0-8.837 7.163-16 16-16zm169.132 20.365a95.897 95.897 0 0 1-8.998 5.145c3.227 45.323 7.804 94.725-4.27 141.579-43.714 9.777-62.016 11.311-96.121 25.81l255.266-.305c-26.615-14.755-55.638-20.352-101.285-27.251-11.433-39.645-10.039-84.572-6.59-125.457-14.453-1.194-29.356-10.074-38.002-19.521z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FuelTank;

impl IconShape for FuelTank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288 133v18h160v-18H288zm41 34v16h78v-16h-78zM64 201c-5.75 0-10.406 1.939-15.074 6.023-4.668 4.085-9.078 10.48-12.701 18.631C28.978 241.96 25 265 25 288s3.978 46.041 11.225 62.346c3.623 8.152 8.033 14.546 12.7 18.63C53.595 373.062 58.25 375 64 375h5.055l2-17.994.89-8.006h80.11l2.888 26H183V201H64zm137 0v46h46v-46h-46zm64 0v174h28.055l2-17.994.89-8.006h80.11l2.888 26H448c5.75 0 10.406-1.94 15.074-6.023 4.668-4.085 9.08-10.48 12.703-18.631 7.247-16.304 11.225-39.343 11.225-62.342 0-23-3.976-46.04-11.223-62.344-3.623-8.152-8.034-14.55-12.703-18.635-4.668-4.084-9.326-6.024-15.076-6.025H265zm-64 64v46h46v-46h-46zm0 64v46h46v-46h-46zM88.057 367l-14 126h75.886l-13.998-126H88.057zm224 0l-14 126h75.886l-13.998-126h-47.888zM183 384v110h18v-37h46v37h18V384h-18v55h-46v-55h-18zm226 9v30h30v-30h-30zm6.803 48c5.844 19.928 16.417 32.884 28.318 40.563C462.214 493.235 482 493 490 493v-18c-8 0-23.214-.235-36.121-8.563-7.548-4.87-14.772-12.42-19.473-25.437h-18.603z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fuji;

impl IconShape for Fuji {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M154.256 47.115a96 96 0 0 0-96 96 96 96 0 0 0 96 96 96 96 0 0 0 14.176-1.136c6.022-12.03 11.431-23.802 15.906-35.06l2.248-5.653 47.04-.172a96 96 0 0 0 16.63-53.979 96 96 0 0 0-96-96zM198.012 215l-2.405 5.254C153.933 311.309 96.85 395.687 25.355 473.93L11.584 489h485.734l-9.953-14.172C426.91 388.75 357.94 302.642 328.467 220.945L326.32 215H198.012zm-7.83 56.92l8.687 48.08 19.666-43.785L240 320l24.78-48 7.22 64 24.385-64L336 320l-2.865-43.973C366.38 341.224 416.418 406.385 462.463 471H51.936c55.01-62.373 101.316-128.65 138.246-199.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullFolder;

impl IconShape for FullFolder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.488 45.148c-29.932 24.474-69.636 42.525-111.175 57.262C335.04 94.3 376.27 83.816 413.135 69.98c-2.7-8.61-6.116-16.916-10.647-24.83zM41 73v135.764c11.918-41.227 23.38-84.748 34.512-126.996L77.82 73H41zm41.518 0l5.884 3.096c27.917 14.682 57.075 28.881 87.127 42.482 2.96-.305 5.913-.62 8.866-.937L169.514 73H82.518zm366.652 1.447c-88.208 40.349-203.608 56.834-319.715 66.387L131.451 151h327.77c-4.066-30.318-7.69-57.252-10.051-76.553zM90.059 97.143C71.419 167.87 51.807 241.39 30.283 302.035l24.479 10.158L88.697 151h24.412l-3.246-16.525-1.947-9.91 10.07-.795c7.394-.584 14.783-1.197 22.164-1.84A1638.49 1638.49 0 0 1 90.06 97.143zM103.303 169L43.092 455h381.605l60.211-286H103.303zM477.27 292.654l-19.336 91.852c9.008-.398 17.683-.77 27.27-1.213-.725-21.697-3.794-54.23-7.934-90.639zM41 325.97v51.594l9.99-47.45L41 325.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullMetalBucket;

impl IconShape for FullMetalBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-6.9 4.8-8.8 8.7-8.8 11.3 0 2.6 1.9 6.5 8.8 11.3 1.5 1.1 3.3 2.2 5.3 3.3.6-8.6 7.1-14.5 14.4-18.9 7.7-4.6 17.7-8.1 29.8-11.2 24.2-6 56.7-9.6 92.7-9.6s68.5 3.6 92.7 9.6c12.1 3.1 22.1 6.6 29.8 11.2 7.3 4.4 13.8 10.3 14.4 18.9 2-1.1 3.8-2.2 5.3-3.3 6.9-4.8 8.8-8.7 8.8-11.3 0-2.6-1.9-6.5-8.8-11.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm-16.1 29.2c-17.8.2-43.1 1.8-66.2 8.4-35.9 10.5-31.2 27.7-31.2 27.7 20-14.8 40.1-23.3 120.5-35.4 0 0-9.2-.8-23.1-.7zm-133.4 37.9l2 17.4C139.6 240.1 197.9 251 256 251c11.6 0 23.3-.4 34.7-1.3.2-6 .2-11.9.2-17.8-11.3.7-22.9 1.1-34.9 1.1-44.9 0-85.6-5.4-115.7-14.4-13.5-4.1-24.9-8.8-33.8-14.5zm299 0c-7.9 5.1-17.8 9.3-29.3 13.1-.3 5.4-.5 11-.8 16.8 10.8-3.6 20.3-7.8 28.1-12.4l2-17.5zm-79.8 24.2c-5.5.8-11.1 1.5-16.8 2.1 0 5.8 0 11.7-.1 17.6 5.5-.6 11-1.4 16.3-2.2.3-5.8.4-11.7.6-17.5zm-214.6 15.1l25.5 217c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7h4.5c13.9-75 26.4-149.6 29.6-223.1-11.2.7-22.7 1.1-34.1 1.1-54 0-107.8-7.7-144.9-25.6zm289.8 0c-8.2 3.9-17.1 7.4-26.7 10.4-5.7 83.6-18.9 187.9-24.8 223.1 12.3-4.9 21.4-10.8 26-16.5l25.5-217zm-76.7 21.1c-5.3.7-10.6 1.4-16 1.9-3 74.5-15.5 149.3-29.3 223.9 5.2-.3 10.3-.8 15.3-1.3 13.3-75.4 25.7-150.6 30-224.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullMetalBucketHandle;

impl IconShape for FullMetalBucketHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 49v30h110V49H201zm-18 6.41c-30.6 2.78-54.5 19.59-70.3 41.3-15.86 21.89-24.24 48.49-25.51 72.79 2.57-1.5 5.57-2.5 8.81-2.5 3.41 0 6.6 1.1 9.2 2.8 1.3-20.7 8.8-44.2 22.1-62.5 13.1-18.06 31.3-31.22 55.7-33.82V55.41zm146 0v18.07c24.4 2.6 42.6 15.76 55.7 33.82 13.3 18.3 20.8 41.8 22.1 62.5 2.6-1.7 5.8-2.8 9.2-2.8 3.2 0 6.2 1 8.8 2.5-1.3-24.3-9.6-51-25.5-72.79C383.5 75 359.6 58.19 329 55.41zM256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-3.3 2.3-5.5 4.4-6.8 6.3.5.4.9.8 1.4 1.2 3.1 2.9 5.3 6.5 7.1 10.5 1 2.3 1.9 4.8 2.7 7.4.3.1.6.3.9.5.6-8.6 7.1-14.5 14.4-18.9 7.7-4.6 17.7-8.1 29.8-11.2 24.2-6 56.7-9.6 92.7-9.6s68.5 3.6 92.7 9.6c12.1 3.1 22.1 6.6 29.8 11.2 7.3 4.4 13.8 10.3 14.4 18.9.3-.2.6-.4.9-.5.8-2.6 1.7-5.1 2.7-7.4 1.8-4 4-7.6 7.1-10.5.5-.4.9-.8 1.4-1.2-1.3-1.9-3.5-4-6.8-6.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm-16.1 29.2c-17.8.2-43.1 1.8-66.2 8.4-35.9 10.5-31.2 27.7-31.2 27.7 20-14.8 40.1-23.3 120.5-35.4 0 0-9.2-.8-23.1-.7zM96 185.3c-.06 0-.07 0-.07.1-.72.6-1.94 2.3-3.04 4.7C90.7 195 89 202.8 89 211.5s1.7 16.5 3.86 21.4c1.1 2.4 2.32 4.1 3.04 4.7l.1.1c.1 0 .1 0 .1-.1.72-.6 1.94-2.3 3.04-4.7 2.16-4.9 3.86-12.7 3.86-21.4s-1.7-16.5-3.86-21.4c-1.1-2.4-2.32-4.1-3.04-4.7l-.1-.1zm320 0l-.1.1c-.7.6-1.9 2.3-3 4.7-2.2 4.9-3.9 12.7-3.9 21.4s1.7 16.5 3.9 21.4c1.1 2.4 2.3 4.1 3 4.7l.1.1.1-.1c.7-.6 1.9-2.3 3-4.7 2.2-4.9 3.9-12.7 3.9-21.4s-1.7-16.5-3.9-21.4c-1.1-2.4-2.3-4.1-3-4.7l-.1-.1zm-295 26.3c0 5.6-.5 10.8-1.5 15.7 32.7 15 84.7 23.7 136.5 23.7 11.6 0 23.3-.4 34.7-1.3.2-6 .2-11.9.2-17.8-11.3.7-22.9 1.1-34.9 1.1-44.9 0-85.6-5.4-115.7-14.4-7-2.1-13.5-4.4-19.3-7zm270 0c-4.6 2-9.5 3.9-14.8 5.6-.2 5.4-.5 11-.8 16.8 6.1-2 11.8-4.3 17.1-6.7-1-4.9-1.5-10.1-1.5-15.7zm-65.4 16.7c-5.4.8-11 1.5-16.7 2.1 0 5.8 0 11.7-.1 17.6 5.5-.6 11-1.4 16.3-2.2.3-5.8.4-11.7.5-17.5zm-212.2 16.2c-.6.9-1.2 1.9-1.8 2.7l25 213.2c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7h4.5c13.9-75 26.5-149.6 29.6-223.1-11.2.7-22.7 1.1-34.1 1.1-52.9 0-105.7-7.4-142.6-24.5zm285.2 0c-7.5 3.5-15.7 6.6-24.4 9.3-5.7 83.5-18.9 187.9-24.8 223.1 12.3-4.9 21.4-10.8 26-16.5l25-213.2c-.6-.8-1.2-1.8-1.8-2.7zm-74.4 20c-5.3.8-10.6 1.4-16 1.9-3 74.5-15.5 149.3-29.3 223.9 5.2-.3 10.3-.8 15.3-1.3 13.3-75.3 25.6-150.6 30-224.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullMotorcycleHelmet;

impl IconShape for FullMotorcycleHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.396 52.127c-17.944.066-35.777 1.834-52.886 4.746-86.727 14.76-135.612 53.467-161.99 107.824 31.215-2.434 62.002-5.024 91.966-4.838 24.114.15 47.696 2.097 70.54 7.37 15.15 3.5 24.652 16.647 27.607 31.735 2.954 15.088.858 32.92-5.055 51.553l-.287.904-.468.826c-7.762 13.64-24.263 24.498-45.295 35.994-21.032 11.497-46.695 22.693-72.27 32.428-25.574 9.735-51.012 17.98-71.575 23.437-7.254 1.925-13.85 3.48-19.735 4.657 2.275 31.13 6.562 63.38 12.008 95.98 140.118-38.25 273.5-79.888 403.51-123.254 25.935-44.457 29.927-86.448 16.967-126.734-22.393-69.605-60.9-107.048-105.215-126.168-27.696-11.95-57.913-16.57-87.82-16.46zM130.184 179.205c-9.06.51-18.265 1.156-27.532 1.836L59.31 329.386c3.384-.79 6.936-1.663 10.754-2.676 4.004-1.063 8.27-2.27 12.66-3.554 10.022-31.07 43.3-131.415 47.46-143.95zm-46.7 3.262c-10.868.826-21.824 1.654-32.908 2.37-.32.445-.714.947-1.318 2.267-1.58 3.45-3.375 9.418-4.912 16.724-3.075 14.612-5.37 34.727-6.705 54.877-1.333 20.15-1.73 40.438-1.193 55.582.268 7.572.79 13.905 1.442 17.96.048.306.078.312.13.59.46-.01 1.033-.044 1.546-.064l43.918-150.306zM224 183c-15.596 0-28.66 12.582-28.66 28.152s13.064 28.155 28.66 28.155 28.66-12.584 28.66-28.155c0-15.57-13.064-28.152-28.66-28.152zm0 18c6.12 0 10.66 4.567 10.66 10.152 0 5.586-4.54 10.155-10.66 10.155s-10.66-4.57-10.66-10.155c0-5.585 4.54-10.152 10.66-10.152zm230.19 144.865C330.383 386.852 203.285 426.23 70.054 462.56c.413 2.317.81 4.63 1.232 6.948 147.607-26.65 255.974-68.965 371.36-109.164 4.118-4.857 7.947-9.68 11.546-14.48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullPizza;

impl IconShape for FullPizza {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.5 16a239.9 239.9 0 0 0-128.6 37.69l9.1 13.17C171.9 44.09 213.5 32 256 32c27.3 0 54.4 4.98 79.9 14.72l6.3-14.71A239.985 239.985 0 0 0 256 16zm103.3 23.12l-6.3 14.71c54.3 25.91 95.9 72.57 115.4 129.47l15.3-4.6c-14.4-65.2-56-117.4-124.4-139.58zM255.4 51c-38.4.11-76.1 11.02-108.6 31.49L254.1 237.5c31.2-55.8 54.7-114 74.3-173.3C305.3 55.47 280.7 51 256 51zm29.4 8.93l19.1 23.86-14 11.25-19.1-23.87zm-172.7 4C37.18 104.2 20.64 165.2 17.2 232l15.98 1c6.39-61.9 38.28-118.4 88.02-155.91zM222.2 71c8.2 0 15.8 2.12 21.9 6.2 6.1 4.07 11 10.75 11 18.8 0 8.1-4.9 14.7-11 18.8-6.1 4.1-13.7 6.2-21.9 6.2s-15.8-2.1-21.9-6.2c-6.1-4.1-11-10.7-11-18.8 0-8.05 4.9-14.73 11-18.8 6.1-4.08 13.7-6.2 21.9-6.2zm122.8.31c-18.3 59.29-41.7 116.49-73.1 170.49l68.3-20.4c-3.2-4.9-5-10.9-5-17.2 0-15 10.5-28.8 25.4-28.8 14.9 0 25.4 13.8 25.4 28.8 0 1.2-.1 2.4-.2 3.7l63.9-19.1C431.8 137.3 394.1 94.98 345 71.31zM222.2 89c-5 0-9.3 1.44-11.9 3.16-2.6 1.71-3 3.05-3 3.84s.4 2.13 3 3.84c2.6 1.76 6.9 3.16 11.9 3.16s9.3-1.4 11.9-3.16c2.6-1.71 3-3.05 3-3.84s-.4-2.13-3-3.84c-2.6-1.72-6.9-3.16-11.9-3.16zM132 92.72C87.04 126.9 58.15 178.1 52.16 234.2c62.64.6 125.14 1.8 185.94 11.6L219 218.2l-18.5 10.1-8.6-15.8 16.8-9.2-57-82.1-23.1 18.3-11.2-14.2 24-19zm233.6 13.78l12.2 20.1-15.4 9.4-12.2-20.1zm-106.5 23.1l7.8 16.2-30.2 14.3-7.8-16.2zM123.4 151c17 0 29.6 15.6 29.6 33s-12.6 33-29.6 33-29.6-15.6-29.6-33 12.6-33 29.6-33zm298 9.3l3.7 27.6-17.8 2.4-3.7-27.6zm-298 8.7c-5.7 0-11.6 5.9-11.6 15s5.9 15 11.6 15c5.7 0 11.6-5.9 11.6-15s-5.9-15-11.6-15zm237.2 24.4c-3.2 0-7.4 3.9-7.4 10.8s4.2 10.8 7.4 10.8 7.4-3.9 7.4-10.8-4.2-10.8-7.4-10.8zm127.8 2.6l-15.4 4.5c4.6 18.1 7 36.8 7 55.5 0 47.1-14.8 93-42.4 131.2l12.6 9.9C480 356.1 496 306.7 496 256c0-20.2-2.5-40.4-7.6-60zm-33.6 10l-124 37.1 10 7.1-10.4 14.6-21.4-15.2-33.8 10.1c45.1 42.9 97.7 77.7 147.4 115.7C446.4 340.6 454 298.8 461 256c2.7-16.7-2.1-33.7-6.2-50zM16.07 250c-.1 2 0 4-.1 6-5.08 70.3 9.06 138.7 82.57 181.2l10.06-12.5C59.92 382.2 31.99 320.7 32 256v-5zm34.97 2.2v3.8c0 22 3.52 43.8 10.45 64.7l10.99-23.5 16.3 7.6-18.13 38.8c11.94 25.3 28.91 47.8 49.85 66.3l117.5-146-129.1-8.1-24.6 24.5-12.72-12.8 13.22-13.2zm367.56 13.1c2.3-.1 4.6.2 6.9 1 7.2 2.2 12.3 8.1 14.7 14.8 2.4 6.5 2.4 13.9.1 21.2-2.2 7.2-6.6 13.3-12.2 17.4-5.8 3.9-13.3 5.9-20.6 3.6-2.6-.8-4.9-2.1-6.9-3.7l-7.8 8.9-27.6-23.8 11.8-13.6 14.5 12.5c-1-5.3-.6-10.9 1.1-16.3 2.3-7.3 6.6-13.3 12.3-17.3 4-2.8 8.8-4.6 13.7-4.7zm-261.1 5.5l29.7 11.2-6.4 16.8-29.7-11.2zm108.7 4.6l5.3 84.6c4.8 1 9.2 2.6 13.1 4.9 6.7 3.9 12.4 10.6 12.4 19.1 0 8.5-5.7 15.2-12.4 19.1-3.1 1.8-6.5 3.2-10.1 4.2l3.3 52.5c11.1-1.2 22-3.3 32.7-6.2l3.5-29.1 17.8 2.2-2.5 20.7c31.8-12.1 60-32 82.2-57.8-20.7-16.3-45.4-27.9-62.2-48.9l-7.2 20.1-17-6 9.2-25.9c-28.2-14-45.8-35.4-68.1-53.5zm-17.7 4.3l-114 141.4C169.7 447 212.3 461 256 461h3.8l-3.3-52.2c-7.2-.5-13.8-2.4-19.3-5.7-6.7-3.9-12.4-10.6-12.4-19.1 0-8.5 5.7-15.2 12.4-19.1 4.7-2.8 10.3-4.6 16.3-5.4zm170.6 3.6c-1-.1-2.2.3-3.8 1.3-2.1 1.5-4.3 4.4-5.5 8.1-1.1 3.7-.9 7.3-.1 9.7.9 2.4 2.1 3.4 3.2 3.7 1.2.4 2.7.2 4.8-1.2 2-1.4 4.3-4.3 5.5-8 1.1-3.7.9-7.4.1-9.7-.9-2.4-2.1-3.4-3.2-3.8-.3-.1-.6-.1-1-.1zm-293.3 29.9c4.3.1 8.6 1.1 12.6 3 14.3 6.9 21.3 24.1 14.4 38.4-6.9 14.4-24.7 19.7-39 12.8-14.32-6.9-21.26-24-14.38-38.4 4.98-10.3 15.48-15.9 26.38-15.8zm-.9 17.9c-4 .1-7.6 2.2-9.3 5.7-2.4 5.1-.1 11.5 6 14.4 6.1 2.9 12.5.7 15-4.4 2.4-5 .1-11.4-6-14.3-1.9-1-3.9-1.4-5.7-1.4zm136 45.9c-6 0-11.4 1.6-14.6 3.4-3.2 1.9-3.5 3.3-3.5 3.6 0 .3.3 1.7 3.5 3.6 3.2 1.8 8.6 3.4 14.6 3.4s11.4-1.6 14.6-3.4c3.2-1.9 3.5-3.3 3.5-3.6 0-.3-.3-1.7-3.5-3.6-3.2-1.8-8.6-3.4-14.6-3.4zm165.5 24.4c-37.4 43.8-90.1 71.5-147.4 77.4l1 16c64 3.3 124.6-11.3 159-83.5zm-245.9 3l28.1 2.6-1.6 18-28.1-2.6zm-57.9 31.5l-10 12.5c36.1 45 90.2 51.7 143.4 47.6 2-.2 4 0 6-.1l-1-16c-1.7.1-3.3.1-5 .1-48 0-94.8-15.5-133.4-44.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullWoodBucket;

impl IconShape for FullWoodBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-6.9 4.8-8.8 8.7-8.8 11.3 0 2.6 1.9 6.5 8.8 11.3 1.5 1.1 3.3 2.2 5.3 3.3.6-8.6 7.1-14.5 14.4-18.9 7.7-4.6 17.7-8.1 29.8-11.2 24.2-6 56.7-9.6 92.7-9.6s68.5 3.6 92.7 9.6c12.1 3.1 22.1 6.6 29.8 11.2 7.3 4.4 13.8 10.3 14.4 18.9 2-1.1 3.8-2.2 5.3-3.3 6.9-4.8 8.8-8.7 8.8-11.3 0-2.6-1.9-6.5-8.8-11.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm-16.1 29.2c-17.8.2-43.1 1.8-66.2 8.4-35.9 10.5-31.2 27.7-31.2 27.7 20-14.8 40.1-23.3 120.5-35.4 0 0-9.2-.8-23.1-.7zm-133.4 37.9l2 17.4c31 18.6 89.4 29.5 147.5 29.5 58.1 0 116.5-10.9 147.5-29.5l2-17.4c-8.9 5.7-20.3 10.4-33.8 14.5-30.1 9-70.8 14.4-115.7 14.4-44.9 0-85.6-5.4-115.7-14.4-13.5-4.1-24.9-8.8-33.8-14.5zm294.4 39.3c-7.5 3.6-15.7 6.8-24.4 9.6l-10.2 108.4c9.1-1.3 15.2-5.3 22-10.5l12.6-107.5zm-289.8.1l18.2 154.7c6.7 3 13.6 5.7 20.7 8.1l-13.9-153.1c-8.9-2.8-17.3-6.1-25-9.7zm246.8 14.7c-14.2 3.5-29.5 6-45.4 7.8l-7.3 153.2c13-1.9 25.8-4.5 38.2-7.8l14.5-153.2zm-203.2.2l4.7 51.7c14.5 5.6 38.2 9 55.6 8.6v-51.3c-21.2-1.6-41.6-4.6-60.3-9zm139.7 9.2c-12.6 1-25.5 1.4-38.4 1.4-7.7 0-15.4-.2-23-.5v153.7c18.1 1.1 36.2.8 54.1-.9l7.3-153.7zm-133.1 62.5l7.4 81.8c15.1 4.1 30.6 7 46.3 8.8v-83.9c-16.8.7-36.8-1.3-53.7-6.7zm224.3 43.6c-6 3-12.9 5.3-21.1 6l-2.5 26.1c7.1-2.4 14-5 20.7-7.8l2.9-24.3zm-5.3 44.7c-75.3 29-169.8 31.5-248.6.3l4.9 41.7c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7 27.4 0 54.7-3 76.7-8.7 20.8-5.4 36.2-13.8 42.7-21.9l.4-3.4a10.88 13.34 0 0 1-6.1 2.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3 10.88 13.34 0 0 1 8.4 4.8l2.2-19.1zm-226.5 17.4a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm167.5 11.3a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm-123.2.7a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm63.2 4.9a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FullWoodBucketHandle;

impl IconShape for FullWoodBucketHandle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 49v30h110V49H201zm-18 6.91c-30.6 2.78-54.5 19.59-70.3 41.3-15.75 21.69-24.12 48.09-25.48 72.29 2.56-1.5 5.55-2.5 8.78-2.5 3.42 0 6.6 1.1 9.3 2.8 1.3-20.5 8.7-43.8 22-62 13.1-18.06 31.3-31.22 55.7-33.82V55.91zm146 0v18.07c24.4 2.6 42.6 15.76 55.7 33.82 13.3 18.2 20.7 41.5 22 62 2.7-1.7 5.9-2.8 9.3-2.8 3.2 0 6.2 1 8.8 2.5-1.4-24.2-9.7-50.6-25.5-72.29-15.8-21.71-39.7-38.52-70.3-41.3zM256 137c-43.5 0-82.8 5.4-110.6 13.7-13.8 4.1-24.8 9.1-31.6 14-3.4 2.3-5.5 4.4-6.9 6.3.6.4 1 .8 1.5 1.2 3.1 2.9 5.3 6.5 7.1 10.5 1 2.3 1.9 4.8 2.7 7.4.3.1.6.3.9.5.6-8.6 7.1-14.5 14.4-18.9 7.7-4.6 17.7-8.1 29.8-11.2 24.2-6 56.7-9.6 92.7-9.6s68.5 3.6 92.7 9.6c12.1 3.1 22.1 6.6 29.8 11.2 7.3 4.4 13.8 10.3 14.4 18.9.3-.2.6-.4.9-.5.8-2.6 1.7-5.1 2.7-7.4 1.8-4 4-7.6 7.1-10.5.5-.4.9-.8 1.5-1.2-1.4-1.9-3.5-4-6.9-6.3-6.8-4.9-17.8-9.9-31.6-14-27.8-8.3-67.1-13.7-110.6-13.7zm-16.1 29.2c-17.8.2-43.1 1.8-66.2 8.4-35.9 10.5-31.2 29.7-31.2 29.7 20-14.8 40.1-25.3 120.5-37.4 0 0-9.2-.8-23.1-.7zM96 185.3h.03H96zm0 0c-.06 0-.07 0-.07.1-.72.6-1.94 2.3-3.04 4.7C90.7 195 89 202.8 89 211.5s1.7 16.5 3.86 21.4c1.1 2.4 2.32 4.1 3.04 4.7l.1.1c.1 0 .1 0 .1-.1.72-.6 1.94-2.3 3.04-4.7 2.16-4.9 3.86-12.7 3.86-21.4s-1.7-16.5-3.86-21.4c-1.1-2.4-2.32-4.1-3.04-4.7l-.1-.1zm320 0l-.1.1c-.7.6-1.9 2.3-3 4.7-2.2 4.9-3.9 12.7-3.9 21.4s1.7 16.5 3.9 21.4c1.1 2.4 2.3 4.1 3 4.7l.1.1.1-.1c.7-.6 1.9-2.3 3-4.7 2.2-4.9 3.9-12.7 3.9-21.4s-1.7-16.5-3.9-21.4c-1.1-2.4-2.3-4.1-3-4.7l-.1-.1zm-295 26.3c0 5.6-.5 10.8-1.5 15.7 32.7 15 84.7 23.7 136.5 23.7s103.8-8.7 136.5-23.7c-1-4.9-1.5-10.1-1.5-15.7-5.8 2.6-12.3 4.9-19.3 7-30.1 9-70.8 14.4-115.7 14.4-44.9 0-85.6-5.4-115.7-14.4-7-2.1-13.5-4.4-19.3-7zm-7.6 32.9c-.6.9-1.2 1.9-1.8 2.7l17.7 151c6.7 3 13.6 5.7 20.7 8.1l-13.9-153.1c-8-2.5-15.7-5.5-22.7-8.7zm285.2 0c-6.8 3.1-14.2 6-22.1 8.5l-10.2 108.4c9.1-1.3 15.2-5.3 22-10.5l12.2-103.7c-.7-.8-1.3-1.8-1.9-2.7zm-40.7 13.7c-14.2 3.5-29.5 6-45.4 7.8l-7.3 153.2c13-1.9 25.8-4.5 38.2-7.8l14.5-153.2zm-203.2.2l4.7 51.7c14.5 5.6 38.2 9 55.6 8.6v-51.3c-21.2-1.6-41.6-4.6-60.3-9zm139.7 9.2c-12.6 1-25.5 1.4-38.4 1.4-7.7 0-15.4-.2-23-.5v153.7c18.1 1.1 36.2.8 54.1-.9l7.3-153.7zm-133.1 62.5l7.4 81.8c15.1 4.1 30.6 7 46.3 8.8v-83.9c-16.8.7-36.8-1.3-53.7-6.7zm224.3 43.6c-6 3-12.9 5.3-21.1 6l-2.5 26.1c7.1-2.4 14-5 20.7-7.8l2.9-24.3zm-5.3 44.7c-75.3 29-169.8 31.5-248.6.3l4.9 41.7c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7 27.4 0 54.7-3 76.7-8.7 20.8-5.4 36.2-13.8 42.7-21.9l.4-3.4a10.88 13.34 0 0 1-6.1 2.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3 10.88 13.34 0 0 1 8.4 4.8l2.2-19.1zm-226.5 17.4a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm167.5 11.3a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm-123.2.7a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3zm63.2 4.9a10.88 13.34 0 0 1 10.9 13.3 10.88 13.34 0 0 1-10.9 13.3 10.88 13.34 0 0 1-10.9-13.3 10.88 13.34 0 0 1 10.9-13.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Funnel;

impl IconShape for Funnel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-62.377 0-118.824 5.375-160.277 14.258-20.727 4.441-37.674 9.69-50.188 16.03-26.54 16.094-31.144 53.2-21.918 77.99C69.915 217.435 138.57 281.384 215 340.321V489c25.848-.604 80.089-14.04 82-41V340.322c67.639-60.819 155.483-122.156 191.383-209.045 5.479-17.026 3.503-55.854-6.424-67.166-4.04-4.23-9.237-7.654-15.494-10.824-12.514-6.34-29.461-11.588-50.188-16.03C374.824 28.376 318.377 23 256 23zm0 18c61.335 0 116.887 5.37 156.506 13.86C422.354 57.71 470.826 69.626 471 80c.175 10.464-46.091 22.442-58.494 25.14C372.886 113.63 317.335 119 256 119c-61.335 0-116.887-5.37-156.506-13.86C89.646 102.29 40.887 89.064 41 80c.12-9.68 46.092-22.442 58.494-25.14C139.114 46.37 194.665 41 256 41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FurBoot;

impl IconShape for FurBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.125 32.032a84.287 84.287 0 0 0-3.51.026c-11.4.318-24.464 2.935-40.945 8.63l-2.682.926-2.726-.777c-38.965-11.123-65.026.52-90.262 14.957 5.557 9.074 10.35 19.569 8.365 32.049l-.045.29-.066.286c-2.043 9.01-7.64 22.012-14.363 35.676-1.723 3.502-3.57 6.712-5.37 10.1 12.791-6.326 24.681-12.344 38.95-13.885l2.53-.274 2.302 1.094c-.018-.008 2.436.899 5.261 1.853 2.826.955 6.331 2.16 9.977 3.68 5.207 2.172 10.979 4.697 15.512 9.256 22.303-6.732 40.75-6.51 60.802-1.414 18.213-10.407 34.866-11.39 47.99-6.512 8.553 3.178 15.291 8.373 20.93 13.842l10.557-22.625 20.805 3.62c9.72-15.164 9.644-33.821 3.234-49.167-7.012-16.786-20.608-27.857-34.928-26.795l-2.404.178-2.172-1.047c-16.758-8.082-30.442-13.73-47.742-13.967zM112.791 138.688a44.845 44.845 0 0 0-3.287.745c-7.307 47.909-26.314 187.24-6.9 293.404 158.558 12.92 313.945 3.207 334.82 1.793.099-2.715.066-5.485-.121-8.313-1.354-20.44-10.822-42.312-22.235-55.045-6.318-7.049-23.99-13.695-48.029-16.789-24.04-3.094-54.057-3.4-85.057-2.056l-6.337.275c-21.183 1.115-40.742 2.29-58.89 5.111-4.051 8.895-13.356 14.998-23.735 14.998-13.904 0-25.885-10.947-25.885-24.892s11.981-24.89 25.885-24.89c5.778 0 11.22 1.896 15.613 5.107 8.084-10.448 16.365-21.222 25.375-31.897-8.386-8.22-17.33-15.993-27.44-22.722-3.941 2.49-8.595 3.943-13.548 3.943-13.842 0-25.39-11.288-25.39-25.14 0-13.854 11.548-25.141 25.39-25.141 2.64 0 5.194.413 7.603 1.174l33.02-38.875c-8.516-9.7-17.736-19.149-28.409-28.37-4.074 2.75-8.973 4.364-14.2 4.364-10.517 0-19.703-6.518-23.513-15.723-5.762 1.045-11.908 2.718-18.841 5.137l-7.551 2.634-3.504-7.189c-.353-.723-5.078-4.58-11.012-7.055-2.967-1.237-6.073-2.315-8.81-3.24-1.348-.455-2.457-.895-3.582-1.31l-1.43-.038zm96.748 2.565c13.9 11.186 25.49 22.656 35.904 34.33l18.24-21.475c-.711-3.822-1.422-7.642-2.142-11.478l-52.002-1.377zm58.313 35.754l-10.586 12.463c5.451 6.674 10.675 13.403 15.857 20.174-1.556-10.837-3.35-21.714-5.271-32.637zm-22.471 26.455l-30.586 36.012a24.652 24.652 0 0 1 3.613 12.845c0 2.354-.34 4.63-.96 6.793 10.699 7.168 20.067 15.208 28.613 23.489 9.55-10.298 19.972-20.277 31.78-29.457a476.305 476.305 0 0 0-.661-8.694c-11.152-14.168-21.175-27.806-31.8-40.988zm-52.361 41.717c-4.261 0-7.39 3.165-7.39 7.14 0 3.976 3.129 7.14 7.39 7.14 4.26 0 7.388-3.164 7.388-7.14 0-3.975-3.128-7.14-7.388-7.14zm85.732 30.572c-7.128 6.278-13.756 12.912-20.057 19.762 6.337 6.753 12.324 13.432 18.213 19.724 1.44-13.148 2-26.304 1.844-39.486zm-32.096 33.514c-8.101 9.677-15.774 19.602-23.41 29.44 15.249-1.938 31.118-2.91 47.58-3.776-8.238-8.276-16.088-17.033-24.17-25.664zm-53.636 31.763c-4.748 0-7.885 3.282-7.885 6.89 0 3.61 3.137 6.893 7.885 6.893 4.747 0 7.884-3.283 7.884-6.892 0-3.609-3.137-6.89-7.884-6.89zm-86.577 110.164c1.968 8.31 4.2 16.358 6.746 24.059 103.476 5.837 209.68 7.195 303.832-1.3 8.328-5.386 13.8-12.612 16.975-21.06-36.35 2.27-180.346 9.84-327.553-1.699z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FurShirt;

impl IconShape for FurShirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M172.4 27.63c-14.8 7.64-27.9 15.41-40 23.26l-35.02 5.23c6.82 1.77 14.22 3.27 17.02 7.08-8.4 6-16.36 12.08-24.08 18.08-15.9 2.5-27.27 9-38.31 15.7l15.28 2.7C50.7 110.1 42.85 119.9 32.89 135.6l27.97-1.4c4.13 2.5 8.56 5 7.89 8.2-3.07 6.7-3.43 11.4-3.99 17.2l16.09-4.6c10.11 9 12.6 23.1 17.28 35.4 11.37-6 22.97-11.9 29.97-19.9L118 189.6c22.3-10.8 30.5-21.1 48-36-1.4 16.5-2.2 32.8-2.6 49.1-13.8 22.7-17.9 44.9-16.6 68.1 5.5-6.3 11.1-18.3 16.6-12.9 0 4.3.2 8.6.3 12.8-7.2 4-10.2 16.4-14.8 25.5 5.1-2.9 5.1-6.7 15.3-8.7.5 12.1 1.1 24.3 1.8 36.4 22.2 4.6 44.4 6.9 67 7.5 11.7 3.6 19 8.9 25.1 14.7l1.2-14.7c16.1-2.3 29.3 3.8 45.2 8.6l19.3-14.3c4.2-.6 8.5-1.2 12.8-1.8l-1.9 13.2 8.2-14.2c3.1-.5 6.2-1 9.4-1.5.3-3.8.7-7.7 1.1-11.5l17.7 12.8-11.3-34.1 11.3 10.5-13.2-33.3c.5-4.9.9-9.8 1.3-14.6l13.4 14.1c-5.3-33.1-8.5-76.3-14.9-106l16 4.5 27.7 24.3-4-17.5c11.8 2.3 20.7 6 31.8 10.8 12-20.3 7.5-34.4 36.7-40.9l-6.2-29.3c5.3-3.8 13.1-5.2 19.4-7.4-16.3-4.62-30.9-15.02-50.7-31.12l10.2-5.69c-8.2-2.23-19.1.58-26.3-4.08l23.3-13.54c-1.4-.59-35.2-1.37-43.5 2.08-15.3-8.27-32.1-16.12-51.8-23.07-9.3 6.8-11.5 10.51-21.2 15.21l-5.6-10.61c-3.1 8.77-8.9 16.32-16.7 19 1.6-6.34 5.6-19 5.6-19-7.4 8.24-12.9 16.69-26.2 24.26-17.8 2.91-36.5 1.65-56.1-4.8-1.7 7.1.4 13.42 2.1 19.84-12.8-6.1-13.8-16.7-18-26.1-10.3-4.72-20.9-10.86-31.8-18.55zM364.1 357.5c-42.6 10.7-86.9 18.6-129.5 17.1l18.9 13.2-47.6-15.7c-17.7-2.6-35-7.1-51.6-14.1-7.3 10.7-27.3 17-39.7 23.2l26.5-1.3c-6.5 15.7-19.4 27.7-30.6 41 0 0 10.6-2.5 17.1-4.3 27.3 15 56.1 29 67.9 52.7 42.8 22.9 81.8 16.6 119.7 1.8 7.1-11.9 15.7-22.7 26.6-31.9 22.1-5.9 29.6-2 40.4-.3-5.7-5-6.3-11.8-17.4-15 10.8-5.6 23-10 36.9-13.2-3.6-6.5-7.4-13-11.6-19.4l22.3 6.7c-19.5-11.9-34.5-24.9-48.3-40.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Furnace;

impl IconShape for Furnace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M183.8 25l-13.4 94h171.2l-13.4-94H183.8zm-79.5 112L73.82 487H438.2l-30.5-350H104.3zm30.7 62h242v48h32v114h-32v48H135V199zm18 18v174h206v-30h-16V247h16v-30H153zm30 16h146v112H183V233zm74.2 10.7c-6.5 22-24.5 43.6-13.6 66.1-17.8-9.5-20.2-25.1-23.4-40.6-2.2 15.5-9.3 30.8-6.8 45.4-6.3-4.6-11.6-10.9-18.2-18 7 28.2 7.9 35.8 31.8 37.4h51.5c32.1-3.6 26.8-21.3 41-38.2-12.7.4-18.9 4.5-25.8 12.3 10.3-18.7-1.5-18.9-2.7-34.3-5.1 9.8-16.9 20.7-23.3 18.6-8.5-2.6-9.3-30.7-10.5-48.7zM361 265v78h30v-78h-30zM183 432h18v32h-18v-32zm64 0h18v32h-18v-32zm64 0h18v32h-18v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GClef;

impl IconShape for GClef {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238.75 138.492l18.147-18.829c.898-21.472 9.107-59.37 26.166-60.771 6.994.097 14.566 5.833 15.742 16.021 3.25 28.145-11.833 40.563-29.072 57.372l-31.408 32.586-.037-.038c-28.467 31.447-65.355 70.37-69.772 106.973-5.588 53.77 31.264 108.42 87.149 105.693l-3.178-18.066c-37.522-4.905-69.771-43.77-56.711-81.312 23.275-60.413 75.664-92.822 116.333-148.022 11.474-15.574 14.575-46.945 11.815-63.128-2.76-16.184-14.345-43.066-32.059-45.017-34.714-4.59-60.724 62.476-53.114 116.538zm25.667 75.896l-15.508 15.248c.542 2.775 1.166 6.185 2.088 12.14-34.017 21.505-36.576 66.707-12.186 90.96 5.177 5.31 15.165-2.767 10.104-8.674-10.971-19.786-12.097-44.028 5.742-57.137 8.78 50.539 24.627 117.16 30.164 170.895.364 3.535-6.593 10.614-9.973 11.396 0-22.091-17.908-40-40-40-22.09 0-40 17.909-40 40 .017 20.193 15.266 36.007 35.123 39.668 42.008 7.745 78.659-17.935 72.76-53.16-8.793-59.062-21.986-121.007-30.857-175.32 12.066-1.253 28.875 5.169 36.428 12.847 8.575 9.297 12.95 22.35 11.982 32.787-.924 9.96-7.425 20.992-17.06 30.381l3.662 20.776c17.346-12.583 35.117-30.185 36.94-49.844 1.518-16.352-5.01-40.324-18.08-52.273-16.885-15.437-38.313-18.553-57.349-16.612-2.004-13.065-3.018-18.039-3.98-24.078z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Galaxy;

impl IconShape for Galaxy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M342.5 17.9c-3.1 11.63-2.2 21.56-23.8 25.11 20.3-2.7 22.3 9.58 24.8 21.49-2.8 1.94-5.5 4.11-8.1 6.49-21.9 20.84-33 41.11-49 61.61-6.3 1.2 5.3-53.52 31.1-79.87C225.1 40.92 207.6 268.4 236.4 275c-51.7 18.4-72.6-98.3-59.4-157.3-37.1 3.9-62 39.8-67.9 60 2.8 27.1 6.1 55.1 38.7 80.9-32.1 3.6-42-27.8-55.31-54C13.9 309.5 198.4 311.4 228.5 299.1c-93 70.5-149.62 52.3-196.77 39-40.48 85.1 61.46 56 107.57 35.7-18.4 30.7-72.25 37.6-88.92 41 61.62 51.3 174.42-67 200.02-106.5 2.5 65.7-74.3 134.4-122.8 171.7 43.6 2.2 83.2-17.9 102.4-55.5 0 10.1-4.1 22.6-9.6 35.8 15-2.1 39.6-6.2 48.8-24.2 25-54.1 37.8-93.1 15.3-138.2 29.9 33.5 63.6 65.3 58.4 114.5 26.9-15.6 48.8-33.6 24.7-60.1 14.1 1.4 23.6 7.7 32.8 13.7 13.9-2.8 34.4-19.9 33.7-33-31.6-29.8-83.4-43.7-133.8-55.9 72.1-19.8 136.9-10.1 175.6 5.6 5-11.7 9.4-29.6 5.9-41.9-16.4-9.7-62.7-7.8-83.3-5.6 17.7-15.7 56.8-21.1 81.3-21.2-2-67.7-162.6 27.8-182.2 42.8 32.7-59.1 123.2-112.7 178.7-121.1-13.2-31.1-37.2-34-64.3-22.4 2.4-9.5 6.7-17.49 23.4-15.29-21.6-3.51-20.7-13.44-23.8-25.07-2.4 13.55-4.1 17.11-19.4 26.67 14.3-2.17 16.4 6.69 17.4 14.69-53.5 24.4-117.8 102.8-135.1 132.5-22.1-24 51-121.5 107.7-187.46-3.1-9.48-21.8-6.31-38.2 4.81 1.1-8.63.7-22.16 17.9-19.54-15.3-9.6-17-13.16-19.4-26.71zm-166.3.3c5.4 10.73 12.7 17.53-1 34.56 13.8-16.07 23.7-7.13 33.9.22-4.6-7.19-16.3-17.67-.7-27.86-17.8 3.09-21.4 1.57-32.2-6.92zM47.71 26.61c-3.08 11.63-2.13 21.56-23.76 25.05 21.02-2.74 22.39 10.55 25.06 22.81 1.43-8.43-.28-23.97 18.14-21.16-15.27-9.59-16.98-13.15-19.44-26.7zm419.39 5.5c1.6 10.83 1.3 13.93-7.8 25.07 13.1-6.8 15.9 5.39 19.1 11.38-1.2-9.97-3.4-20.36 13.1-23.64-17.2 2.87-19.1-4.85-24.4-12.81zM125.3 84.28c-.6 18.02-12 17.32-22.7 17.92 7 2.4 20.3 3 15.3 18.2 10.2-11.6 13.3-12.5 25.2-12.6-9.4-4.3-17.8-4.9-17.8-23.52zM71.21 153.9c-8.61 8.5-12.85 17.5-33.24 9.6 19.47 8.3 13.98 20.4 10.08 32.4 5.46-6.6 11.9-20.9 26.35-9.1-8.38-16-8.02-19.9-3.19-32.9zM453.9 282.7c-2.4 8.9-1.7 16.5-18.2 19.2 16-2.1 17.1 8.1 19.2 17.5 1.1-6.5-.2-18.4 13.8-16.3-11.7-7.3-13-10-14.8-20.4zM69.25 293.8c-12.82 12.7-16.72 13.5-30.41 12.7 10.55 5.7 20.39 7.1 18.72 29 2.3-21.1 15.46-19.4 28.05-19.1-7.83-3.3-23.4-5.3-16.36-22.6zm394.55 50.7c3.1 11.6 8.9 19.7-8 33.6 16.8-12.9 24.6-2.2 33.2 7.1-3.1-8-12.4-20.6 4.9-27.4-18-.5-21.3-2.8-30.1-13.3zm-139.2 72.1c-2.7 12.3-4.1 25.5-25.1 22.8 21.6 3.5 20.7 13.4 23.8 25 2.4-13.5 4.1-17.1 19.4-26.6-18.4 2.8-16.7-12.8-18.1-21.2zM83.9 438.2c-2.83 16-4.84 20.2-22.86 31.5 21.68-3.3 19.67 15.1 21.33 25 3.19-14.5 4.84-30.1 29.63-26.9-25.5-4.2-24.43-15.9-28.1-29.6zm366.2 11.4c-7.3 9.6-10.2 19.1-31.5 14.2 20.4 5.4 16.8 18.1 14.6 30.6 4.5-7.3 8.8-22.4 24.8-12.8-10.6-14.6-10.8-18.6-7.9-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Galea;

impl IconShape for Galea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.042 21.781l-15.452 3.323c.991 11.046 1.224 22.188.395 33.404a295.23 295.23 0 0 1 9.748-.45c4.547-.133 9.024-.14 13.434-.032-5.904-11.04-8.3-23.49-8.125-36.245zm4.074 52.17c-2.93-.021-5.9.013-8.912.102-36.62 1.08-71.784 8.384-98.162 36.432-25.9 27.539-44.322 76.538-44.545 163.273 12.01 8.89 30.08 14.212 46.148 13.256l.951 15.973c-19.271 1.147-39.495-4.282-54.84-15.053-21.422 13.662-48.859 33.022-71.234 50.79-11.88 9.435-22.335 18.432-29.54 25.659-3.604 3.614-6.394 6.81-8.044 9.13-1.057 1.488-1.386 2.606-1.52 2.813.366 3.131 3.104 10.505 9.284 18.551 6.533 8.506 16.495 17.985 29.781 26.287 26.572 16.606 66.346 28.707 119.94 20.381 4.859-.755 7.668-.865 9.17-1.525 1.501-.66 3.246-1.79 6.162-7.678 5.831-11.778 13.434-40.613 23.693-102.398 1.83-11.021.47-27.932 1.558-43.538.545-7.802 1.688-15.427 4.924-22.306 3.237-6.88 9.209-12.992 17.465-15.492 4.761-1.443 14.762-5.832 25.74-2.088 5.49 1.872 10.748 6.105 14.426 12.42 3.432 5.892 5.72 13.595 7.04 23.63.406.17.595.31 1.687.532 3.36.682 9.389.905 16.705.37 14.632-1.067 34.675-4.877 54.506-10.507 19.83-5.63 39.569-13.128 53.713-21.139 7.071-4.005 12.718-8.168 16.195-11.863 3.476-3.695 4.496-6.492 4.45-8.324-.434-16.752-2.2-32.102-5.194-46.086-54.511 24.527-121.417 29.581-172.121 27.324l.713-15.984c56.827 2.53 135.288-5.369 188.183-38.315-6.125-11.854-21.491-25.008-33.457-27.605-67.82 29.668-109.558 35.312-137.797 28.81-28.314-6.519-41.277-26.097-49.469-40.043l-8.105-13.798 15.902 1.798c41.928 4.742 74.919-.443 95.897-19.039a44.372 44.372 0 0 1 11.172-7.234c-15.67-4.846-33.18-7.374-52.465-7.516zm71.732 19.301c-6.993.127-14.074 2.325-19.826 7.424-22.695 20.118-54.633 26.395-91.709 24.361 6.55 8.41 15.343 15.674 30.461 19.155 21.894 5.04 58.61 1.397 120.346-24.68a118.395 118.395 0 0 0-7.602-8.229c-6.494-6.381-13.685-11.956-21.545-16.724a32.802 32.802 0 0 0-5.314-1.074 36.566 36.566 0 0 0-4.81-.233zm8.34 145.451a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-59.723 11.262a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm93.166 25.69c-6.267 2.63-12.86 5.083-19.6 7.36-.862 15.27 1.429 39.396 5.755 62.83 4.91 26.596 12.55 53.052 19.28 65.811l2.833 5.375-4.416 4.172c-13.116 12.391-17.929 29.2-21.043 46.815l-2.373 13.42-10.56-8.612c-16.978-13.845-24.53-20.432-46.86-30.345l-7.086-3.147 2.922-7.181c4.26-10.469 5.136-39.894 2.275-68.739-2.412-24.327-7.103-49.185-11.72-64.318a174.36 174.36 0 0 1-3.881.334c-5.908.431-11.194.522-15.918.084 2.412 15.553 4.643 31.78 10.855 48.816 4.166 11.423-10.386 20.992-21.72 29.328-12.682 9.328 7.055 74.349 30.902 92.006 50.943 37.722 149.935 16.182 150.299-6.32.574-35.45-36.67-39.994-35.117-52.676 2.828-23.106 29.083-42.26 17.558-61.103-10.391-16.99-19.664-9.734-32.306-13.344-7.395-20.189-8.835-40.378-10.079-60.566zM381.8 288.08c-.31.09-.62.187-.931.276-12.928 3.67-25.856 6.609-37.71 8.59 5.028 17.085 9.14 40.87 11.522 64.888 2.593 26.136 3.547 51.475-1.045 69.201 14.205 6.848 23.743 13.223 33.813 21.194 3.306-13.32 8.723-26.898 19.11-38.46-7.461-16.322-13.91-40.114-18.507-65.019-4.005-21.697-6.565-43.422-6.252-60.67zm54.338 67.936a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-113.779 34.416a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-132.74 17.556a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm257.756 35.82a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Galley;

impl IconShape for Galley {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.3 27.85v34.21l-24.8 4.97 3.6 17.64 21.2-4.24v56.47l-41.2 10.2 4.4 17.4 36.8-9.1V355c6-.2 12-.3 18-.5V150.9l57.2-14.2-4.4-17.4-52.8 13.1V76.83l40.8-8.17-3.6-17.65-37.2 7.45V27.85zm-96 144.05v34.2l-24.8 5 3.6 17.6 21.2-4.2v56.4l-41.2 10.3 4.4 17.4 36.8-9.2v57.2c6 0 12-.1 18-.2v-61.5l57.2-14.2-4.4-17.4-52.8 13.2v-55.6l40.8-8.2-3.6-17.6-37.2 7.4v-30.6zm192 0v34.2l-24.8 5 3.6 17.6 21.2-4.2v56.4l-41.2 10.3 4.4 17.4 36.8-9.2v52.1c6.1-.3 12.1-.6 18-1v-55.6l57.2-14.3-4.4-17.4-52.8 13.2v-55.5l40.8-8.2-3.6-17.6-37.2 7.4v-30.6zM22.18 326.5l7.26 29c29.1.8 63.18 1.2 99.86 1.3v-17zm470.62 33.6C381.6 374 150 377.2 21.86 373.2l11.43 45.7h27.06l-41.12 51.4 14.06 11.2 50.06-62.6h25.05l-41.2 51.4 14.06 11.2 50.14-62.6h25l-41.1 51.4 14 11.2 50.1-62.7h25l-41.1 51.4 14 11.2 50.1-62.6h27.2l-43.3 54.1 14 11.2 52.2-65.3h25l-43.3 54.1 14 11.2 52.2-65.3h25.1l-43.3 54.1 14 11.2 52.3-65.3h25.1l-43.3 54.1 14 11.2 52.2-65.3h24.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GameConsole;

impl IconShape for GameConsole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.615 41l-4.375 14h135.518l-4.375-14zM185 73v73.102c46.991 6.329 94.285 6.5 142 .008V73zm-83.777 32l-53.715 94h416.984l-53.715-94H345v4.615c1.065.187 2.134.375 3.168.569 11.99 2.248 21.832 4.882 29.42 8.246 3.794 1.681 7.063 3.505 9.892 6.097 2.83 2.593 5.52 6.574 5.52 11.473 0 4.9-2.69 8.88-5.52 11.473-2.829 2.592-6.098 4.415-9.892 6.097-7.588 3.364-17.43 5.998-29.42 8.246C324.19 166.312 291.802 169 256 169l-.361-.002c-35.658-.018-67.91-2.7-91.807-7.182-11.99-2.248-21.832-4.882-29.42-8.246-3.794-1.682-7.063-3.505-9.892-6.097-2.83-2.593-5.52-6.574-5.52-11.473 0-4.9 2.69-8.88 5.52-11.473 2.829-2.592 6.098-4.416 9.892-6.097 7.588-3.364 17.43-5.998 29.42-8.246 1.034-.194 2.103-.382 3.168-.569V105zM167 127.904c-11.103 2.09-19.95 4.615-25.293 6.983-1.026.455-1.18.695-1.922 1.113.742.418.896.658 1.922 1.113 5.342 2.368 14.19 4.893 25.293 6.983zm178 0v16.192c11.103-2.09 19.95-4.615 25.293-6.983 1.026-.455 1.18-.695 1.922-1.113-.742-.418-.896-.658-1.922-1.113-5.342-2.368-14.19-4.893-25.293-6.983zM96 167h64v18H96zm256 0h64v18h-64zM41 217v94h67.885c8.05 13.442 17.974 26.493 31.09 33.05 52.212 26.107 135.093 19.044 205.59 14.102 35.248-2.47 67.397-4.617 89.683-2.859 11.143.879 19.762 2.88 24.49 5.34 4.728 2.46 5.543 3.69 5.584 7.465.098 9.007-1.966 13.353-5.138 16.345-3.173 2.993-8.698 5.159-17.172 5.948-16.949 1.577-43.677-2.843-74.133-7.547-57.137-8.826-129.198-18.381-187.076 18.156h43.316c44.854-13.696 96.046-7.313 141.012-.367 30.24 4.671 57.148 9.671 78.549 7.68 10.7-.996 20.528-3.861 27.857-10.776 7.33-6.915 10.916-17.353 10.783-29.635-.109-10.108-6.73-18.79-15.273-23.236-8.544-4.445-19.032-6.342-31.385-7.316-24.705-1.949-57.098.376-92.355 2.847-70.515 4.943-152.494 9.646-196.282-12.248-5.03-2.515-11.183-8.969-17.113-16.949H471v-94zm14 14h82v66h-15.354a167.839 167.839 0 0 1-3.373-5.973A268.087 268.087 0 0 1 112.211 279H119v-30H73v30h19.418a305.46 305.46 0 0 0 8.674 18H55v-57zm107.168 0h82v66h-82v-57zm106.592 0h82v66h-82v-57zM375 231h82v66h-82v-57zm-194.832 18v30h46v-30zm106.592 0v30h46v-30zM393 249v30h46v-30zM110 419c-3.875 0-6.759 2.192-9.902 8.676C96.954 434.16 95 444.09 95 454c0 9.91 1.954 19.84 5.098 26.324C103.24 486.808 106.125 489 110 489h144c3.875 0 6.759-2.192 9.902-8.676C267.046 473.84 269 463.91 269 454c0-9.91-1.954-19.84-5.098-26.324C260.76 421.192 257.875 419 254 419zm118.104 10a9 9 0 1 1 0 18 9 9 0 0 1 0-18zM125 432h18v13h13v18h-13v13h-18v-13h-13v-18h13zm87.104 13a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm32 0a9 9 0 1 1 0 18 9 9 0 0 1 0-18zm-16 13.637a9 9 0 1 1 0 18 9 9 0 0 1 0-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gamepad;

impl IconShape for Gamepad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.084 125.945c-.46 0-.926.01-1.397.034-5.646.285-12.097 2.464-20.707 8.204-21.824 14.55-51.912 60.395-67.834 110.005-15.92 49.61-18.046 102.25 5.936 132.966 4.142 5.306 13.387 8.93 23.756 8.846 10.216-.084 20.682-3.838 26.482-9.44 1.022-1.47 9.296-13.336 21.39-27.404 12.863-14.96 28.716-31.686 45.835-38.777 41.863-17.34 93.024-17.34 134.887 0 17.118 7.092 32.97 23.818 45.834 38.778 12.095 14.068 20.37 25.933 21.39 27.404 5.8 5.602 16.267 9.356 26.483 9.44 10.368.085 19.612-3.54 23.755-8.846 23.973-30.704 21.885-83.575 5.978-133.287-15.907-49.713-46.054-95.526-67.783-109.624-11.498-7.46-19.198-8.73-26.285-7.64-7.088 1.093-14.347 5.197-22.866 11.07-17.038 11.746-38.898 30.02-73.952 30.02-35.212 0-57.115-18.514-74.13-30.356-8.505-5.92-15.73-10.025-22.743-11.078-1.315-.198-2.65-.312-4.03-.317zm212.904 48.75a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zM135 183h18v32h32v18h-32v32h-18v-32h-32v-18h32v-32zm200.988 23.695a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm64 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-32 32a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-160 7h32v18h-32v-18zm64 0h27.897v18h-27.897v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GardeningShears;

impl IconShape for GardeningShears {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.8 24.96C155.9 88.06 182 124.7 197 141.5l1.2 1.3 1.6.9c16.4 8 26.8 24.7 26.8 43 0 26.6-21.4 48-48.1 48-26.6 0-48-21.4-48-48 0-8.6 2.3-16.9 6.6-24.4l2.9-5-3.2-4.9c-18.1-27.1-19.7-51.4-14.6-76.74 3.3-16.6 10.2-33.6 17.6-50.7zm121 114.64c7.6.1 14.9 1.3 20.9 4 4 8.1 6.2 18.7 10.6 29.1 2.5 5.6 5.9 11.4 11.6 15.6 5.4 4 12.5 6.1 20.4 6 56.5 10.3 92.3 26.4 116.3 45.4 24.2 18.9 37 40.9 46.9 64.8v.1c1.7 3.9 1.3 6.4-.1 9.2-1.5 3-4.6 6-8.4 8.1-3.9 2.1-8.5 3.1-12.1 3-3.5-.2-5.8-1.3-7.4-3.1-12.2-14.9-27-35.3-45.5-51.7-18.6-16.4-41.9-29.1-69.5-25.9-21.2 2.4-33.1-6.4-50.4-16.8-13.5-8.1-30.1-16.6-52.9-17.6 2.7-7.2 4.2-15 4.2-23.1 0-16.3-6-31.6-16.2-43.5 5.6-1 11.7-2.3 18.1-3 3.4-.3 6.8-.6 10.2-.6zM23.39 156.8c27.5 9.1 56.6 17.2 90.11 14.8-1.1 4.9-1.8 10-1.8 15.1 0 15.4 5.4 29.7 14.2 41.1-28.81-.2-48.71-10.4-66.11-26.2-13.3-12.2-24.9-28.2-36.4-44.8zm155.11 3.8c-14.3 0-26.1 11.8-26.1 26.1s11.8 26.1 26.1 26.1 26.1-11.8 26.1-26.1-11.8-26.1-26.1-26.1zm0 18.8c4.2 0 7.4 3.1 7.4 7.3 0 4.1-3.2 7.3-7.4 7.3-4.1 0-7.3-3.2-7.3-7.3 0-4.2 3.2-7.3 7.3-7.3zm25.8 69c6.3 52.6 26.9 87.3 51.2 113.8 26.8 29.2 57.1 49.7 78.7 77.3 1.2 3.3 2 10.1 1.2 17.3-1 7.7-3.5 16-6.9 21.8-3.4 5.6-6.9 8.1-10.1 8.4-3 .3-8.6-1.3-17-10.5-18-33.3-53.7-84.8-100.9-107.4-18.7-9-27.6-21.7-32.3-37-4.6-15.2-4.5-33.2-2.9-50.1 1.2-13.9-1.5-23.8-4.7-31 5.7 1.7 11.7 2.5 17.9 2.5 9.1 0 17.9-1.9 25.8-5.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gargoyle;

impl IconShape for Gargoyle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.6 28.1l45.9 57.31c.4.42.5.48.9.5 14.3-4.99 24.8-22.15 29.8-35.94zm238.8 0l-76.6 21.87c4.1 10.62 17.6 34.33 29.8 35.94.4 0 .5-.1.9-.5zM97.27 44.18C82.9 68.72 65.8 84.24 39 98.2 25 127.7 21.2 165 24.9 198.7c3 26.9 11.1 51.3 20.8 67.2.7-2.4 1.4-4.5 2-7.2 2.1-9.2 3.8-19.3 6.7-27.8 1.5-4.2 3.1-8.2 6.6-11.7 3.5-3.6 10.5-5.6 15.8-3.7 5.4 1.9 9.1 5.5 13.3 10.7 1 1.3 2.18 3 3.28 4.6 6.72-17.9 14.22-29.3 24.02-35.7 6.3-4.1 13.9-5.4 20.7-3.9 5.1 1 9.6 3.4 13.8 6.5 10.2-7.1 23-11.3 36.1-14-7-8.6-13.9-17-21.6-24.9l3.9-23.4c-17.4-9.2-34.8-19.4-52.6-30.8 1.8 7.2 3.1 14.6 3.3 22.3.5 16.4-4.2 33.9-18.1 50.6l-13.8-11.6c11.3-13.5 14.3-25.6 13.9-38.4-.2-8.6-2.3-17.6-5.1-26.9-13.18 13.1-33.69 31.7-49.9 32.1v-18c19.88-6.2 33.53-23.24 47.63-37.36l5.27-5.22 6.1 4.09c23.2 15.46 44.8 28.99 66.4 40.49l2.6-15.5c-29.7-14.7-58.8-33.46-78.73-57.02zm317.43 0c-19.9 23.56-49 42.32-78.7 57.02l2.6 15.5c21.6-11.5 43.2-25.02 66.4-40.49l6.1-4.09 5.3 5.22c10.2 9.63 34.1 36.76 47.6 37.36v18c-21.7-2.9-36.1-18.3-49.9-32.1-2.8 9.3-4.9 18.3-5.1 26.9-.4 12.8 2.6 24.9 13.9 38.4l-13.8 11.6c-13.9-16.6-18.6-34.2-18.1-50.6.2-7.7 1.5-15.1 3.3-22.3-17.8 11.4-35.2 21.6-52.6 30.8l3.9 23.4c-8.1 8.2-15.6 17.5-21.6 24.9 13.1 2.7 25.9 6.9 36.1 14 4.2-3.1 8.7-5.5 13.8-6.5 6.8-1.5 14.4-.2 20.7 4 9.8 6.3 17.3 17.7 24 35.6 1.1-1.6 2.3-3.3 3.3-4.6 4.2-5.2 7.9-8.8 13.2-10.7 5.4-1.9 12.4.1 15.9 3.7 3.5 3.5 5.1 7.5 6.6 11.7 2.9 8.5 4.6 18.6 6.7 27.8.6 2.7 1.3 4.8 2 7.2 9.7-15.9 17.8-40.3 20.8-67.2 3.7-33.7-.1-71-14.1-100.5-26.8-13.96-43.9-29.48-58.3-54.02zM247 55.23l-18.1 4.51c-4.3 9.23-10.2 18.75-16 25.72-5.5 6.58-11.5 12.34-18.7 15.84l-8.6 51.6c12.4 13.7 22 27 33 39.2l17.1-21.4H247v-11.9c-15.7-3.5-28.7-8.9-43.1-16.1l8.2-16c12.6 6.3 29 14.7 43.9 15 16.2-2.4 29.3-7.7 43.9-15l8.2 16c-14.1 6.4-28 13.3-43.1 16.1v11.9h11.3l17.1 21.4c11.5-12.4 22.2-27.2 33-39.2l-8.6-51.6c-7.2-3.5-13.2-9.26-18.7-15.84-6.8-8.5-11.9-16.85-16-25.72L265 55.23V91.7h-18zm-2.7 133.47l-13 16.3c2.2 2.4 6.6 4.6 8.7 5.7h32c4.1-2.6 5.6-3.1 8.7-5.7l-13-16.3zm-43.1 10.9c-15.7 3.1-40.3 10.5-48.1 22.4 4.7 33.5 17.6 65.7 31.4 90.6l33.2 132.8-19.7 29.5 28-9.4 21 18.4v-39.1l-32-128c-3.2-19.9-1.3-45.6-13.4-58.7l12.8-12.8c17 17.1 18.6 43.8 18.6 61.4h46c0-17.6 1.6-44.3 18.6-61.4l12.8 12.8c-11.4 16.7-13.4 39-13.4 58.7l-32 128v39.1l21-18.4 28 9.4-19.7-29.5 33.2-132.8c12.5-30.5 30.1-62 31.4-90.6-13.7-14.7-31.9-19.8-48.1-22.4-6.2 7.2-12.3 13.9-18.4 19.2-6.1 5.2-11.9 9.9-20.4 9.9h-32c-8.5 0-14.3-4.7-20.4-9.9-6.1-5.3-12.2-12-18.4-19.2zM148 277.3c-10.1 6.9-29.1 16.4-28.9 26.4 7.9 47.7 33.3 87.6 47.3 101.6l9.6 9.7-52.7 21.1 32.2 1-9.8 22.8 29.6-8.3 9.8 10.2 13.2-19.8-30.8-123.2c-6.8-13.6-13.8-27.4-19.5-41.5zm216 0c-5.7 14.1-12.7 27.9-19.5 41.5L313.7 442l13.2 19.8 9.8-10.2 29.6 8.3-9.8-22.8 32.2-1L336 415l9.6-9.7c14-14 39.4-53.9 47.3-101.6-3-12-18.4-21.5-28.9-26.4zm-128.5 47.4l20.5 81.9 20.5-81.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Garlic;

impl IconShape for Garlic {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217.5 30.8c.4 3.92.9 8.68 1.3 14.06 15.8.8 34-.77 48-3.02-1.3-4.46-2.4-8.28-3.1-11.04zm54.7 28.42c-17.5 2.35-36.7 4.33-52.3 3.89.8 20.64.4 43.99-6.3 61.29-17.6 45.2-66.9 73.1-107.9 101.2-20.52 14-39.08 28.1-51.04 42.9-11.95 14.8-17.56 29.6-14.09 48.4 6.06 32.9 30.45 59.1 63.93 78.3-21.28-56 45.5-122.1 89-156-34.1 49.8-75.2 96.4-71.2 153.8 2.5 29.1 23.2 45.8 37.4 52.2 27.8 4.1 52.9-4.8 76.3-13.1-26.7-29.4-28.5-87.4-11.5-113.4-5.5 30.4-1.9 65.7 15.4 90 16.2 22.5 44.3 39.5 66.6 43.6 9.4 1.7 28.1-4.1 42.6-13.4-17.5-11.7-28-24.5-32.6-43.4l17.5-4.3c7.3 28.3 28.5 37.4 53.6 40.5 25.6 3.2 51.9-4 60.8-17.7 12.5-19.1 15.1-41.1 4.8-65.6-4.3-10.3-11.9-20.3-20.3-31.8-16.6-22.6-35.5-45.2-54.2-64.7 24.9 10.8 69.6 50.8 84.5 76.1 2.3-6.1 4-12.5 4.9-19.1 2.4-17.9-2.9-32.2-13.7-46.3-37.3-43.6-95.3-67.6-132.5-104.8 8.9 22.2 18.4 42.6 30.1 62.1-53.3-40.4-61.9-98.9-79.8-160.68zM253.7 447.6c-1.1 19-2.2 28.7-1 46l18-1.3c-1.6-11.3-.1-23.7.8-33.5-6.1-3.2-12.1-6.9-17.8-11.2zm-15.8 3c-6.1 2.2-12.7 4.4-18.3 6.1.2 11.9-1.2 22-3.6 33.4l17.6 3.7c4.2-14.4 3.3-29.9 4.3-43.2zM208 460c-7.2 1.6-13.8 3.4-20.3 4.1-2.7 7-6.2 11.5-10.5 17.7L192 492c7.3-9.7 13.3-21.5 16-32zm75 4c2.1 11 3.9 19.2 5.8 29.9l17.7-3.1c-1.1-7-2.6-14.7-4.1-21-6.4-1.2-12.9-3.2-19.4-5.8zm47.2 3.9c-6.3 1.9-12.7 2.9-18.8 2.8 3.7 7.2 6 12.9 9.1 20.4l16.7-6.9c-2.2-5.4-4.7-11.3-7-16.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GasPump;

impl IconShape for GasPump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.533 21.966L362.7 39.524l24.878 36.62-8.488 44.453 34.125 50.234 19.025-12.923-2.898 61.932.1.003-9.272 173.553c-1.28 17.17-8.718 21.912-14.123 21.93-5.393.02-13.577-5.053-15.95-22.354l-15.988-223.815-.03-.234c-1.673-13.444-7.012-24.765-17.11-31.393-8.642-5.673-19.398-7.853-32.822-8.365v-7.13c0-23.016-3.88-36.357-11.302-43.844-7.42-7.487-20.523-11.384-43.608-11.156H141.148c-23 0-36.182 3.91-43.636 11.363-7.455 7.455-11.364 20.637-11.364 43.637v320h-25v48h288v-48h-25V147.208c11.228.57 18.628 2.538 22.944 5.37 5.138 3.374 7.793 8.046 9.105 18.466l15.994 223.912.04.28c3.114 23.126 17.402 38.15 33.883 38.09 16.48-.06 30.304-15.588 32.01-38.628l.008-.092 9.407-176.086-.113-.006 3.428-73.25-1.334-9.974-76.985-113.324zm29.35 75.236l27.69 40.756-11.583 7.87-19.82-29.18 3.713-19.446zm-292.735 8.832h192v80h-192v-80zm16 103h160v18h-160v-18zm0 32h160v18h-160v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GasStove;

impl IconShape for GasStove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M244.8 32c11.2 35.25-4.8 69-36.8 80 4.4 13.1 21 26.2 37.4 30.5 12.2-17.7 23.6-37.4 19.9-55.32 12.5 15.62 18.5 41.02 6 54.42 15.3-4.6 30.2-15.5 32.7-29.6 5.7-32.68-36.3-64-59.2-80zM91.24 103L199 218.1V191.7L132.8 121H192v-18H91.24zM320 103v18h59.2L313 191.7V233h36v-18h-33.1l104.9-112H320zm-87 64v16h46v-16h-46zm-16 34v30h78v-30h-78zm150 0v46h21v-46h-21zm-175 48c.5 0-5.3 1.7-11.4 6.2-6.1 4.5-13.2 11.2-19.8 18.7-10.3 11.7-18.8 25.9-22.2 37.1H329v146H137v30h238V320c0-11.5-10.5-31-23.8-46.1-6.6-7.5-13.7-14.2-19.8-18.7-6.1-4.5-11.9-6.2-11.4-6.2H192zm-55 80v110h174V329H137z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gate;

impl IconShape for Gate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248 88v32.652c-5.287.834-10.615 2.448-16 4.63V104h-16v29.16c-1.698.96-3.402 1.953-5.115 2.98-3.598 2.16-7.23 4.48-10.885 6.905V120h-16v34.19c-5.324 3.85-10.664 7.826-16 11.822V152h-16v25.965c-5.402 4.008-10.75 7.9-16 11.592V168h-16v32.213c-1.04.647-2.09 1.312-3.115 1.928-4.448 2.67-8.766 5.003-12.885 6.962V200H88V214.973c-2.89.67-5.575 1.027-8 1.027h-8v-32H24v304h48V232h8c2.658 0 5.324-.23 8-.652V488h16V226.717c5.272-2.138 10.6-4.82 16-7.877V488h16V208.955c5.294-3.512 10.637-7.264 16-11.144V488h16V344h16v144h16V162.443c5.462-3.838 10.81-7.427 16-10.656V296h16V142.898c5.793-2.754 11.188-4.755 16-5.87V296h16V137.027c4.812 1.116 10.207 3.117 16 5.87V296h16V151.787c5.19 3.23 10.538 6.818 16 10.656V488h16V344h16v144h16V197.81c5.363 3.88 10.706 7.633 16 11.145V488h16V218.84c5.4 3.056 10.728 5.74 16 7.877V488h16V231.348c2.676.422 5.342.652 8 .652h8v256h48V184h-48v32h-8c-2.425 0-5.11-.357-8-1.027V200h-16v9.102c-4.12-1.96-8.437-4.292-12.885-6.96-1.026-.617-2.075-1.282-3.115-1.93V168h-16V189.557c-5.252-3.69-10.598-7.584-16-11.592V152h-16v14.012c-5.336-3.996-10.676-7.97-16-11.823V120h-16v23.045c-3.654-2.424-7.287-4.746-10.885-6.904-1.713-1.027-3.417-2.02-5.115-2.98V104h-16v21.283c-5.385-2.183-10.713-3.797-16-4.63V88h-16zM48 120c-13.35 0-24 10.65-24 24s10.65 24 24 24 24-10.65 24-24-10.65-24-24-24zm416 0c-13.35 0-24 10.65-24 24s10.65 24 24 24 24-10.65 24-24-10.65-24-24-24zm-280 54.035V328h-16V185.988c1.6-1.198 3.203-2.39 4.8-3.588 3.75-2.81 7.484-5.608 11.2-8.365zm144 0c3.716 2.757 7.45 5.555 11.2 8.365 1.597 1.2 3.2 2.39 4.8 3.588V328h-16V174.035zM216 312v32h80v-32h-80zm0 48v128h16V360h-16zm32 0v128h16V360h-16zm32 0v128h16V360h-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GaulsHelm;

impl IconShape for GaulsHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 65.492l-24.902 41.502c8.093-.556 16.385-.857 24.902-.857s16.81.3 24.902.857L256 65.492zM33.535 119.486L57 190.123c4.686-5.92 9.72-11.603 15.115-17.018 10.638-10.673 22.646-20.283 35.98-28.68l-74.56-24.94zm444.93 0l-74.56 24.938c13.334 8.398 25.342 18.008 35.98 28.68 5.396 5.416 10.43 11.1 15.115 17.02l23.465-70.638zM256 124.136c-77.012 0-133.54 23.952-171.135 61.675-35.603 35.726-54.268 84.258-56.168 138.03h454.606c-1.9-53.772-20.565-102.304-56.168-138.03C389.54 148.09 333.012 124.138 256 124.138zm-138.063 86.956c26.667 0 48.448 21.874 48.448 48.582 0 26.708-21.78 48.584-48.447 48.584S69.49 286.382 69.49 259.674c0-26.708 21.78-48.582 48.448-48.582zm138.063 0c26.666 0 48.447 21.874 48.447 48.582 0 26.708-21.78 48.584-48.447 48.584-26.666 0-48.447-21.876-48.447-48.584 0-26.708 21.78-48.582 48.447-48.582zm138.063 0c26.666 0 48.447 21.874 48.447 48.582 0 26.708-21.78 48.584-48.447 48.584s-48.448-21.876-48.448-48.584c0-26.708 21.78-48.582 48.447-48.582zm-276.125 18c-16.905 0-30.448 13.568-30.448 30.582 0 17.013 13.543 30.584 30.448 30.584 16.904 0 30.447-13.57 30.447-30.584s-13.543-30.582-30.447-30.582zm138.062 0c-16.905 0-30.447 13.568-30.447 30.582 0 17.013 13.542 30.584 30.447 30.584s30.447-13.57 30.447-30.584-13.542-30.582-30.447-30.582zm138.063 0c-16.905 0-30.448 13.568-30.448 30.582 0 17.013 13.543 30.584 30.447 30.584 16.905 0 30.448-13.57 30.448-30.584s-13.543-30.582-30.447-30.582zM28.32 341.84v61.164h139.787V341.84H28.32zm157.787 0v61.164h139.786V341.84H186.107zm157.786 0v61.164H483.68V341.84H343.893z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gauntlet;

impl IconShape for Gauntlet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.153 24.602c-11.349.764-48.792 83.005-63.545 132.174-8.046 26.818 2.983 74.734 41.723 106.45 8.813-1.502 16.946-3.047 24.434-4.626-22.473-24.22-39.048-50.488-47.772-82.059l-1.021-3.699 1.963-3.299c26.135-43.925 37.681-68.548 50.85-112.24l3.849-12.773 10.402 8.351c14.624 11.743 23.72 18.084 32.098 21.809-14.428-22.99-31.841-41.36-52.46-50.06a2.164 2.164 0 0 0-.52-.028zm19.791 50.203c-11.724 36.176-24.141 62.49-46.508 100.379 9.004 29.978 25.746 54.616 49.733 78.65 18.744-4.857 32.588-9.929 43.383-14.978 16.875-7.894 26.514-15.73 36.92-23.701-6.532-34.91-18.944-80.14-38.018-118.375-14.754-2.769-27.196-8.373-45.51-21.975zm90.094 158.008c-9.156 7.022-19.796 14.833-35.861 22.347-17.365 8.123-40.947 15.887-76.29 22.793 35.349 28.759 64.905 62.213 112.643 82.157 2.79-15.613 10.509-29.532 20.61-39.782 9.547-9.688 21.609-16.383 34.252-16.82 2.202-5.202 5.378-10.557 10.593-14.93 6.41-5.374 15.626-8.323 26.932-8.156a35.046 35.046 0 0 1 4.807-5.424c-7.384-1.603-16.19-3.168-27.145-5.586zm120.275 50.299c-.04.009-.084.012-.125.021-11.264 3.729-12.514 6.776-16.947 16.078-8.484-1.005-19.247-2.081-25.69 3.16-6.017 6.313-7.279 12.696-9.685 20.715-14.012-3.276-25.77 1.842-33.904 9.877-8.032 8.15-14.35 20.016-16.082 32.65 5.926 2.628 12.109 4.214 18.139 5.727 12.69-15.498 32.27-33.513 50.66-36.851 12.995-13.444 28.669-18.08 41.183-19.891a60.105 60.105 0 0 1 11.764-8.4c-6.632-11.786-12.405-18.622-19.313-23.086zm-232.011 18.882c-1.967 12.934-7.997 24.573-.64 46.305 32.36 70.655 41.042 23.73 93.735 22.953-38.944-18.938-66.126-45.737-93.095-69.258zm267.765 17.102c-4.87.972-9.343 3.536-13.062 6.28 9.197 12.249 16.987 27.313 23.28 43.81 7.916-2.052 14.75-4.612 21.103-7.506-6.473-26.762-18.951-37.976-31.32-42.584zm-29.935 13.906c-7.676 1.509-15.588 4.36-22.774 10.35 8.367 8.844 20.976 24.773 26.053 43.283 7.632-1.268 15.91-3.698 21.006-8.576-6.608-17.858-15.058-33.73-24.285-45.057zm-38.139 19.668c-14.313 5.357-25.257 14.981-34.674 25.938l19.383 26.324c13.696-1.49 26.639-6.254 39.39-13.299-4.69-15.098-18.62-32.912-24.447-38.607zm108.848 24.365c-6.679 3.099-13.973 5.985-22.237 8.375 6.323 10.32 11.618 21.138 15.602 32.543 7.703-3.07 14.902-6.372 21.264-10.082-3.964-11.28-8.68-22.055-14.63-30.836zM164.687 408.39l49.638 43.377c11.274-13.516 27.044-23.94 42.492-33.942l-22.02-25.32c-24.334-8.01-52.756 2.355-70.11 15.885zM391.9 394.153c-6.866 5.056-14.143 7.727-21.795 9.377 5.371 9.31 10.375 19.502 14.354 29.755 7.946-2.139 15.451-4.432 22.344-7.775-3.648-10.897-8.68-21.303-14.903-31.357zm-39.88 14.105c-11.759 6.313-24.191 11.162-37.42 13.545l13.316 27.447c14.663-2.177 28.099-3.684 39.666-9.746-4.195-10.706-9.777-21.706-15.563-31.246zm98.017 17.156c-6.627 3.604-13.647 6.703-20.846 9.534 2.83 7.167 5.28 14.119 7.21 20.757 10.397-1.435 20.263-5.912 18.179-13.869-1.423-5.296-2.923-10.83-4.543-16.422zM268.82 431.54c-16.062 10.564-31.09 20.975-40.728 32.256l1.392 1.217c16.648 14.548 36.256 20.475 44.95 9.13 8.522-11.12 10.536-24.116-5.614-42.603zm144.01 10.957c-7.166 3.334-14.4 5.634-21.465 7.58 3.051 6.991 5.842 13.849 8.244 20.48 9.2-.457 17.732-4.025 19.33-10.442-1.622-5.49-3.688-11.409-6.109-17.618zm-38.437 13.69c-12.724 6.396-25.866 8.467-38.184 10.154l6 12.367c10.038 10.705 32.656 11.336 42.21 2.944-2.654-7.907-6.1-16.516-10.026-25.465z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GearStick;

impl IconShape for GearStick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M177.3 26.41c-3.6.05-7.3.36-11.2.96-19.5 2.98-32.7 8.95-40.2 16.45-7.5 7.51-10.5 16.58-8.9 30 1.3 10.49 3.2 15.8 5.3 19.24 2.2 3.45 5.1 5.87 10.5 9.94 10.4 7.8 27.4 20.7 49.9 55.4 8.1 2.4 14.8 2.1 21.6-.1 6-1.9 12-5.4 18-9.9-3.2-13.2-1.2-25.7 1.5-36.8 3.2-13.03 7-24.74 7-35.91 0-24.85-17.7-48.1-50-49.25-1.1-.04-2.3-.05-3.5-.03zm45.1 143.49c-4 2.2-8.1 4.2-12.6 5.6-5.1 1.6-10.6 2.5-16.2 2.5l46.3 165.6 29.1-7.3-46.6-166.4zm121.4 167.3c-1.5 0-3.1.2-4.7.6l-158.8 36.6c-17 3.9-20.1 21.9-13 32.5-16.6 4.9-20.7 23.6-13.9 35.9-29.5 5.4-27.4 47.6 6.6 47.6h217.4c36.2 0 36.2-48.2 0-48.2H275.6l93.2-10.9c31.9-3.7 27.7-51.6-4.3-47.9l-79.8 9.3-.3-1.1 61.6-14.1c24.4-5.6 20.3-39.8-1.2-40.3h-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GearStickPattern;

impl IconShape for GearStickPattern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.64 48.26a51.94 51.94 0 0 0-51.68 51.94 51.94 51.94 0 0 0 42.2 50.9v209.7a51.94 51.94 0 0 0-42.2 51 51.94 51.94 0 0 0 51.94 51.9 51.94 51.94 0 0 0 51.9-51.9 51.94 51.94 0 0 0-42.15-51v-95.1H246.2v95.1a51.94 51.94 0 0 0-42.2 51 51.94 51.94 0 0 0 52 51.9 51.94 51.94 0 0 0 51.9-51.9 51.94 51.94 0 0 0-42.2-51v-95.1H438.8V151.1a51.94 51.94 0 0 0 42.2-50.9 51.94 51.94 0 0 0-51.9-51.94 51.94 51.94 0 0 0-.2 0 51.94 51.94 0 0 0-51.7 51.94 51.94 51.94 0 0 0 42.2 50.9v95.1H265.7v-95.1a51.94 51.94 0 0 0 42.2-50.9A51.94 51.94 0 0 0 256 48.26a51.94 51.94 0 0 0-.2 0A51.94 51.94 0 0 0 204 100.2a51.94 51.94 0 0 0 42.2 50.9v95.1H92.65v-95.1a51.94 51.94 0 0 0 42.15-50.9 51.94 51.94 0 0 0-51.9-51.94 51.94 51.94 0 0 0-.26 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gemini;

impl IconShape for Gemini {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40.222 392.1c23.715-6.93 47.498-12.842 71.872-17.062V134.755c-24.37-4.214-48.157-10.137-71.872-17.06V27.4c70.673 20.643 133.888 29.363 207.96 29.363 78.793 0 145.615-9.52 220.073-33.702v90.575c-26 8.44-51.744 15.286-78.683 20.18v242.157c26.934 4.89 52.69 11.736 78.683 20.18v90.575c-74.463-24.188-141.285-33.702-220.07-33.702-74.08 0-137.29 8.72-207.963 29.368V392.1zm207.96-28.18c9.728 0 29.432.16 38.915.473V145.396c-9.483.31-29.187.462-38.913.462-7.916 0-25.85-.104-33.62-.312v218.68c7.77-.197 25.704-.306 33.62-.306z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Giant;

impl IconShape for Giant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M357.796 17.533a64.331 64.331 0 0 0-2.058.003c-2.574.046-5.301.247-8.203.621-4.663 3.477-4.538 13.246-8.952 18.954-9.888-2.176-17.187 5.81-16.779 13.777l13.6 8.93c-13.526 22.345-33.82 39.466-39.022 63-16.566-2.885-38.03-4.903-54.232-3.256-.317.713-.632 1.426-.967 2.137-7.961 16.865-19.716 30.123-33.039 38.064-13.323 7.941-28.946 10.586-42.514 4.098-12.117-5.795-19.646-17.476-22.757-30.885-28.118-3.618-60.113 34.404-89.708 60.709-19.094 27.134 4.077 80.52-2.126 98.36-3.741 10.756 4.885 33.1 20.544 36.263 15.336 3.098 26.122-9.397 33.727-21.799 2.006-3.27-25.782-19.36-27.326-28.098-1.844-10.43-.717-41.722 2.525-60.271 18.983-1.913 35.11-17.272 44.768-25.108 8.071 36.793 14.738 80.07 29.758 117.065-8.645 51.14-18.984 98.52-16.819 150.85l-44.894 7.75c-4.62 7.753-6.843 16.91-.02 25.365 0 0 74.398.412 77.207.412 1.673-.32 2.503-20.515 1.455-30.611 2.354-31.588 22.146-69.96 38.055-102.399 27.546-37.452 63.778-46.092 93.254-86.709 29.25 22.461 46.953 45.293 59.545 77.008 28.265-35.233 33.557-36.365 63.638-55.832-1.861-8.516-2.47-17.504-14.537-22.193-20.54 7.464-11.65 1.68-39.459 18.836-14.72-21.902-29.08-50.748-57.85-62.114-3.86-.917-45.101 11.195-76.636 38.158 4.707-23.282 9.712-56.212 11.414-87.923 20.94-4.93 45.912-20.178 65.79-28.711 36.293-29.313 30.23-54.157 42.88-83.47l7.45-1.99c8.9-14.321 14.563-28.469 16.894-42.79-6.779-3.49-14.48-6.059-24.606-6.201zM209.613 50.449c-5.176-.044-10.926 1.668-16.985 5.279-9.693 5.778-19.438 16.398-26.007 30.314-6.57 13.916-8.595 28.229-6.922 39.442 1.672 11.213 6.592 18.74 13.615 22.1 7.023 3.358 15.93 2.441 25.623-3.337 9.693-5.778 19.439-16.398 26.008-30.314 6.569-13.916 8.594-28.229 6.922-39.442-1.673-11.213-6.595-18.739-13.618-22.097-2.633-1.26-5.531-1.92-8.636-1.945zm240.683 286.748c-3.779.138-7.868 1.97-11.93 5.83-4.022 3.899-7.021 9.026-9.044 15.04-2.023 6.015-3.23 12.023-1.899 17.495 3.899 16.016-2.949 1.262-3.861-5.362-.577-4.372-.545-9.899-1.203-17.808l-17.938 1.492c.386 4.632.489 8.563.73 12.451l-16.394 1.125c5.088 21.17 3.951 49.462 33.041 47.12-7.946 22.393-21.154 45.923-36.644 71.36l15.373 9.362c8.272-13.583 16.136-26.867 22.998-40.012 4.99 14.721 13.158 27.42 19.707 39.594l15.851-8.527c-8.94-16.62-18.234-31.036-21.162-47.25 5.111-16.052 10.005-32.737 11.55-49.875 7.515-3.86 12.499-12.384 14.83-19.149 2.022-6.014 2.736-11.925 1.898-17.494-2.602-9.75-8.688-15.657-15.903-15.392z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GiantSquid;

impl IconShape for GiantSquid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.64 60.34c-12.222 25.912-25.13 60.62-35.005 94.2-9.876 33.577-16.674 66.33-17.137 87.16-.366 5.434-.428 16.186 3.441 19.769.354.044 2.042-.023 5.036-1.52C206.12 250.876 231 247 256 247c25 0 49.879 3.876 68.025 12.95 2.994 1.496 4.682 1.563 5.036 1.519 3.16-4.29 3.503-15.532 3.441-19.77-.463-20.83-7.26-53.582-17.137-87.16-9.876-33.578-22.783-68.287-35.006-94.2-3.156-7.181-14.372-37.082-24.359-36.929-11.033.17-20.534 28.866-24.36 36.93zm-19.35-1.01c-22.495 17.595-50.172 42.38-59.099 65.879 3.844 14.31 13.763 23.683 23.69 32.91 10.069-33.526 22.243-69.391 35.408-98.789zm87.458.084c14.486 34.704 26.414 66.864 35.371 98.705 8.94-9.37 22.031-19.506 23.69-32.91-14.587-30.414-35.718-47.832-59.061-65.795zM59.141 132.908c-1.58 16.937 1.915 40.013 22.1 65.059 7.353-2.053 13.734-5.085 18.849-8.805 4.686 7.938 11.747 16.622 13.142 26.002 2.483 20.992-16.236 50.36-32.93 78.406-8.346 14.023-16 27.735-18.952 41.672-2.952 13.937.299 29.29 12.925 39.701 10.218 8.425 23.768 7.778 35.793 3.82 12.025-3.956 23.95-11.202 34.889-19.029 7.06-5.05 13.69-10.38 19.453-15.293 2.153.612 4.427 1.26 6.518 1.852-16.292 19.786-28.73 40.123-41.442 56.566-15.118 19.557-29.787 33.155-51.869 37.018-14.315 2.504-38.035-6.199-59.617-17.904v20.634c20.471 10.629 42.631 18.514 62.719 15 27.966-4.891 46.849-22.837 63.008-43.74 15.094-19.525 28.567-42.016 46.302-62.271 1.846.498 3.654.98 5.422 1.445-1.64 8.025-3.884 18.264-6.758 29.475-6.4 24.973-16.2 54.243-26.617 68.955C152.87 464.473 134.68 480.039 115.7 494h29.633c12.473-10.292 23.685-21.183 31.436-32.129 13.547-19.132 22.75-49.092 29.36-74.887 2.87-11.197 5.128-21.447 6.808-29.619 4.463 1.019 8.713 1.911 12.763 2.655-1.643 24.417-5.836 78.135-12.521 106.425-1.844 7.804-4.818 17.395-8.285 27.555h19.058c2.725-8.389 5.086-16.396 6.744-23.414 7.277-30.79 11.324-83.063 12.938-108.104 4.323.371 8.553.564 12.777.551 1.95 43.763 2.743 87.742 5.139 130.967h18.027c-2.096-43.95-3.693-88.095-5.195-132.139 3.673-.452 7.44-1.024 11.38-1.738.38 5.529.842 11.73 1.497 18.799 1.818 19.612 4.637 42.788 9.638 59.08 5.076 16.534 13.858 36.316 23.649 55.998h20.203c-11.208-21.998-21.476-44.444-26.644-61.281-4.1-13.357-7.15-36.333-8.922-55.46a765.6 765.6 0 0 1-1.637-20.935 575.888 575.888 0 0 0 10.267-2.572c3.057 9.82 8.226 25.34 15.202 42.2 11.633 28.113 27.316 59.935 49.884 75.462 22.168 15.252 56.768 18.44 86.559 19.238 10.42.28 20.164.147 28.543-.132v-18.006c-8.18.281-17.8.42-28.06.144-28.52-.764-61.584-5.576-76.838-16.072-15.656-10.771-32.309-40.577-43.456-67.516-6.583-15.911-11.488-30.572-14.445-40.023 1.963-.545 4.33-1.225 6.36-1.793 4.641 9.226 11.72 22.387 20.34 35.209 7.687 11.437 16.456 22.577 26.468 30.44 10.012 7.861 23.045 12.843 35.332 7.3 6.99-3.153 12.479-8.084 15.666-14.094 3.187-6.01 4.078-12.672 3.756-19.267-.644-13.19-5.758-26.93-11.342-41.164-5.584-14.234-11.796-28.855-15.426-42.14-3.63-13.287-4.442-24.843-1.15-33.306 9.78-15.892 23.432-29.033 36.545-38.726 5.337 4.231 12.244 7.662 20.318 9.916 20.185-25.045 23.679-48.122 22.1-65.059-24.536 7.73-42.168 26.434-54.592 41.766-16.116 12.277-34.131 27.545-41.146 45.576-5.508 14.157-3.544 29.547.562 44.576 4.106 15.03 10.589 30.097 16.031 43.97 5.443 13.875 9.69 26.662 10.12 35.468.214 4.402-.43 7.604-1.678 9.957-6.948 10.457-17.25 6.263-23.979 1.07-7.397-5.808-15.532-15.74-22.646-26.324-14.228-21.168-24.639-44.565-24.639-44.565l-.273.122-8.707-17.413C333.255 319.258 323.253 325 312 325c-18.119 0-33-14.881-33-33 0-9.453 4.055-18.02 10.502-24.057C279.092 266.037 267.532 265 256 265c-9.084 0-18.178.652-26.72 1.857C236.43 272.928 241 281.965 241 292c0 18.119-14.881 33-33 33-14.421 0-26.782-9.43-31.23-22.414-8.236 18.35-29.464 33.224-42.288 42.51-10.107 7.231-20.993 13.59-30.04 16.568-9.049 2.977-14.835 2.594-18.717-.607-7.893-6.508-8.85-12.247-6.766-22.084 2.083-9.837 8.706-22.58 16.812-36.198 16.213-27.236 39.1-57.896 35.336-89.724-1.284-10.863-7.458-20.852-12.984-29.346-13.686-20.938-36.79-44.905-58.982-50.797zM208 277c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm104 0c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GingerbreadMan;

impl IconShape for GingerbreadMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.08c-44.2 0-80 39.37-80 87.92.1 22.3 13.8 43.7 27.6 59.9l-43.7-6.1c1 3.8 1.3 8.1-.2 12.6-2 5.9-7.6 9.4-11.9 10.7-4.4 1.2-8.3 1.3-11.8 1.5-13.1-.4-6 3.5-.4 8.9 3 2.9 6.5 6.1 9.3 10.4 2.9 4.4 5.1 11 2.9 17.4-2.1 6.1-7.6 9.8-12.1 11.4-4.5 1.5-8.8 1.9-12.6 2.3-8.3 1.4-11.7-.3-8.6 7.9 1.3 3.2 3.6 7.1 6.2 10.7l65.3 18.7c-12.2 36.5-30 79.3-46 118.4 1.5-.6 3-1.1 4.6-1.5 6.1-1.8 13.1-1.6 18.5 1.3 5.4 3 7.9 9.1 8.3 13.6.5 4.5-.1 8.4-.6 11.9-2.4 12.8 2.2 6.7 8.7 2 3.5-2.4 7.3-5.3 12-7.3 4.8-2 11.7-3 17.6.4 5.6 3.1 8.2 9.1 9 13.9.1.7.2 1.4.2 2.1 8.8-18 22.4-39.1 37.7-39.1 15.3 0 28.9 21.1 37.7 39.1 0-.7.1-1.4.2-2.1.8-4.8 3.4-10.8 9-13.9 5.9-3.4 12.8-2.4 17.6-.4 4.7 2 8.5 4.9 12 7.3 9.6 6.2 10.1 9.5 8.7-2-.5-3.5-1.1-7.4-.6-11.9.4-4.5 2.9-10.6 8.3-13.6 3.1-1.7 6.3-2.4 9.5-2.5 3.1-.1 6.2.4 9 1.2 1.6.4 3.1.9 4.7 1.5-16-39-33.8-81.6-46-118l65-18.9c2.7-3.6 5.1-7.6 6.4-10.9 3.7-8.1-2.8-7.1-8.6-7.9-3.8-.4-8.1-.8-12.6-2.3-4.5-1.6-10-5.3-12.1-11.4-2.2-6.4 0-13 2.9-17.4 2.8-4.3 6.3-7.5 9.3-10.4 7.5-8.2 11.4-8.5-.4-8.9-3.5-.2-7.4-.3-11.8-1.5-4.3-1.3-9.9-4.8-11.9-10.7-1.5-4.4-1.2-8.7-.2-12.6l-44 6.3c14-16.2 27.8-37.7 27.9-60.1 0-48.55-35.8-87.92-80-87.92zm-32 65.95c8.8 0 16 7.15 16 15.97 0 8.8-7.2 16-16 16s-16-7.2-16-16c0-8.82 7.2-15.97 16-15.97zm64 0c8.8 0 16 7.15 16 15.97 0 8.8-7.2 16-16 16s-16-7.2-16-16c0-8.82 7.2-15.97 16-15.97zm-73.6 41.57c14.9 15 28.6 21.4 41.6 21.4s26.7-6.4 41.6-21.4l12.8 12.8C293.3 162.4 275 172 256 172s-37.3-9.6-54.4-26.6zM119 161c-80.01 0-80.01 74-32.01 90l9.82 2.8c-1.61-4.9-2.37-10.3-.42-15.9 2.1-6.1 7.61-9.8 12.11-11.4 4.5-1.5 8.8-1.9 12.6-2.3 14.2-1.3 9.4-3.8 1.9-10.8-3-3-6.5-6.2-9.3-10.6-2.8-4.3-4.9-11.1-2.5-17.5 2.2-5.8 7.8-9.1 12.2-10.3 6.6-1.9 12.6-.7 19.2-2.2-.4-3.5-2.2-6.2-4-9zm274 0l-19.6 2.8c-1.8 2.8-3.7 5.6-4 9 6.5 1.2 13.4.6 19.2 2.2 4.4 1.2 10 4.5 12.2 10.3 2.4 6.4.3 13.2-2.5 17.5-2.8 4.4-6.3 7.6-9.3 10.6-10.3 10.2-10.6 9.2 1.9 10.8 3.8.4 8.1.8 12.6 2.3 4.5 1.6 10 5.3 12.1 11.4 1.9 5.6 1.2 11-.4 16l9.8-2.9c48-16 48-90-32-90zm-185 30l32.9 19.2c2.2-6.5 8.3-10.8 15.1-10.8 6.8 0 12.9 4.3 15.1 10.8L304 191v48l-34.8-14.5c-3 4.3-7.9 6.9-13.2 6.9-5.3 0-10.2-2.6-13.2-6.9L208 239zm48 60c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 52c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zM152.2 413.1c-.7 0-1.7.1-3 .5-3.3.8-7.5 2.7-11.4 4.9-4.3 2.5-8 4-9.8 8.5-30.62 61.2 41.3 78.5 75.6 37.9-1.9-2.8-2.9-5.8-3.3-8.5-.7-4.8-.4-9-.1-12.8-.1-3.2.7-6.7-.1-9.8-2.4.5-7.5 4.1-10.1 5.9-3.5 2.5-7.3 5.3-12.1 7.3-4.7 2-11.8 2.8-17.6-.7h-.1c-5.3-3.3-7.5-9.4-7.9-13.8-.4-4.5.2-8.4.7-11.8.4-3.4.6-6.2.5-7.6zm206.3 0c-.1 1.4.1 4.2.5 7.6.5 3.4 1.1 7.3.7 11.8-.4 4.4-2.6 10.5-7.9 13.8h-.1c-5.8 3.5-12.9 2.7-17.6.7-4.8-2-8.6-4.8-12.1-7.3-3.2-2.1-6.7-4.9-10.1-5.9-.5 3-.2 7.1-.1 9.8.3 3.8.6 8-.1 12.8-.4 2.7-1.4 5.7-3.3 8.5 34.3 40.6 106.2 23.3 75.6-37.9-1.3-4.5-6.5-6.6-9.8-8.5-3.9-2.2-8.1-4.1-11.4-4.9-1.4-.5-2.8-.5-4.3-.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GinkgoLeaf;

impl IconShape for GinkgoLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.9 20.13l-16.4 7.56c21.9 47.21 55.3 102.71 90.7 152.61C127.8 322 18.79 349.2 29.06 377.1 80.7 517.8 239.3 503.5 314.3 467.7c27.5-13.1 5.1-61.3-6-94 20.6 25.8 61.5 67.9 77.1 58.6 95.9-57.3 119-164 80.5-267.8-20.2-54.4-116.3 31.7-257.6 5.8-35-49.2-68.2-104.28-89.4-150.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Glaive;

impl IconShape for Glaive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M488.7 24.74c-25.6 25.54-51.7 50.93-78 76.26-57-13.38-129.6 16.5-170.7 43 49.3-8 98.8-16.3 120.4 4.7-85.4 80.4-173.5 159.8-261.92 239l38.92 44.9c23.9-8.7 56.6-29.2 92-57.6 38-30.6 79.2-70.3 117.4-113.7 67.7-76.8 125.6-166.14 141.9-236.56zM94.96 409.3l-13.61 12.5 19.95 22.6 14-12.9-20.34-22.2zM68.06 434L18 480.1V494h29.39l40.65-37.4L68.06 434z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlassBall;

impl IconShape for GlassBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.4 23 23 127.4 23 256s104.4 233 233 233 233-104.4 233-233S384.6 23 256 23zm0 18c118.8 0 215 96.2 215 215s-96.2 215-215 215S41 374.8 41 256 137.2 41 256 41zm-26.2 30.98c-31.1 8.77-64.1 25.12-91 48.92 7.6 4.3 15.1 9.1 22.4 14.4 25.1-23.5 57.6-42.36 98.3-51.26-11.1-6.71-22-10.88-29.7-12.06zm49.3 26.85c-44.2 6.27-78.1 24.37-103.7 47.87 10.3 9.1 19.8 19.4 28.1 30.8 21.2-18 52.5-31.9 99-39.5-3.1-15.4-12.3-28.7-23.4-39.17zM125.3 134.1c-20.8 22.4-36.08 50.3-41.05 83.4 2.11 12.3 5.86 22.7 10.71 31.6 6.74-26.9 19.74-57.2 40.54-85 4-5.4 8.3-10.6 12.9-15.7-7.5-5.5-15.3-10.2-23.1-14.3zm37.3 25.5c-4.6 4.9-8.8 10-12.7 15.3-23.1 30.9-35.9 65.9-40.6 93.5 14.7 14.7 33 22 48.5 24.8 2.5-37.7 8.2-74.2 32.8-102.9-8.1-11.4-17.6-21.7-28-30.7zM444 273.5c-32.6 72.6-111.1 153.4-219 156 8.1 9.1 49.8 18.1 76.5 9 93.4-31.8 129.1-119.3 142.5-165z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlassCelebration;

impl IconShape for GlassCelebration {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.695 17.3L230.82 120.304l-60.279-44.479 37.455 68.473-64.96-8.193 55.495 34.894-53.898-12.508-2.237 8.428-35.41 133.324-.03.137c-4.45 19.17.229 36.572 10.108 49.285 8.021 10.321 19.14 17.723 31.36 22.074l-20.965 90.332c-10.725-2.312-19.535-3.777-26.486-3.84-11.275-.102-17.749 3.446-19.938 12.88L182.69 494.7c3.539-15.248-9.791-21.619-37.697-28.56l20.963-90.333c12.886 1.474 26.13-.275 37.875-6.008 14.47-7.063 26.335-20.624 30.783-39.793l.032-.139 23.269-116.904 18.522 89.986.033.137c4.573 19.14 16.528 32.625 31.043 39.594 11.782 5.656 25.036 7.318 37.912 5.76l21.553 90.195c-27.86 7.122-41.148 13.58-37.51 28.804l101.498-24.253c-2.251-9.42-8.747-12.924-20.022-12.748-6.95.108-15.751 1.63-26.46 4.011l-21.553-90.193c12.19-4.43 23.26-11.905 31.213-22.277 9.796-12.778 14.362-30.21 9.789-49.35l-.034-.139-38.572-141.502-39.107 9.346 49.74-32.906-72.568 19.896 31.601-83.687-61.449 71.984zM352.55 152.548l15.435 56.629-94.435-9.526-5.537-26.904zm-194.996 27.418l84.666 19.648-2.375 11.928-93.373 10.15zm119.799 38.156l16.285 1.643c3.526 21.284 13.407 75.46 24.455 85.855 10.904 10.26 44.84 2.596 44.84 2.596-36.87 2.87-57.908-53.902-68.108-88.332l78.23 7.892 13.382 49.088c3.409 14.325.234 25.28-6.577 34.164-6.819 8.895-17.778 15.455-29.746 18.315-11.967 2.86-24.709 1.964-34.812-2.887-10.088-4.843-17.872-13.178-21.309-27.488zm-41.19 11.926l-19.098 95.947c-3.343 14.335-11.073 22.722-21.13 27.631-10.072 4.916-22.806 5.897-34.791 3.115-11.986-2.781-22.989-9.27-29.866-18.119-6.867-8.838-10.114-19.771-6.8-34.115l17.043-64.172 19.427-2.111c-7.946 22.99-22.686 68.977-18.386 82.308 4.595 14.25 38.013 23.924 38.013 23.924-35.245-20.62-26.243-72.809-18.168-106.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlobeRing;

impl IconShape for GlobeRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.5c-35 0-61.747 17.777-79.027 39.377-14.67 18.338-23.127 39.13-25.354 56.623h18.348c2.349-13.123 9.296-30.672 21.06-45.377C205.747 50.723 227 36.5 256 36.5s50.253 14.223 64.973 32.623c11.764 14.705 18.711 32.254 21.06 45.377h18.348c-2.227-17.492-10.683-38.285-25.354-56.623C317.747 36.277 291 18.5 256 18.5zm13.893 35.03c14.406 12.58 31.53 37.293 18.646 60.97h34.84c-1.092-12.498-24.592-55.762-53.486-60.97zm-125.32 78.97c-.22.219-.77.852-1.348 2.154C141.978 137.46 141 142.5 141 147.5s.978 10.041 2.225 12.846c.579 1.302 1.129 1.935 1.347 2.154h222.856c.218-.219.768-.852 1.347-2.154C370.022 157.54 371 152.5 371 147.5s-.978-10.041-2.225-12.846c-.579-1.302-1.129-1.935-1.347-2.154zm3.984 48C107.479 212.564 81 262.518 81 318.5c0 96.437 78.563 175 175 175s175-78.563 175-175c0-55.982-26.479-105.936-67.557-138h-90.691C341.782 188.73 395 247.191 395 318.5c0 76.98-62.02 139-139 139-76.98 0-139-62.02-139-139 0-71.308 53.219-129.77 122.248-138z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gloves;

impl IconShape for Gloves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.516 37.237c-1.803.002-3.542.234-5.306.377l-51.752 85.42c61.384 5.321 91.779 33.505 102.81 61.26l-16.726 6.646c-7.707-19.39-26.96-40.824-72.317-48.174 19.162 13.713 33.542 29.578 40.928 48.9l-16.814 6.427c-7.863-20.571-27.13-38.098-55.735-53.84-10.062 4.12-61.61 25.173-79.455 31.217-37.145 12.579-57.377 38.092-95.982 82.9l-.131.15-.135.145c-6.262 6.652-8.894 12.653-9.498 17.03-.604 4.375.484 7.097 2.408 9.13 3.848 4.066 14.178 6.64 29.47-3.732l.075-.051 75.041-48.772 10.854 14.301-51.455 45.31-94.098 86.962c-11.929 11.024-11.736 21.742-8.95 25.441 1.394 1.85 3.499 3.27 8.583 3.041 5.084-.229 12.946-2.695 22.781-9.432 29.733-20.365 57.435-40.716 81.75-65.261l-.053-.223.367-.092c.172-.173.347-.342.518-.515l.35.293a107.655 107.655 0 0 0 10.084-3.188c6.013-2.246 12.442-6.342 13.205-7.377.324-.44 2.174-6.693 2.49-12.154.316-5.461.006-10.104.006-10.104l17.957-1.232s.397 5.64.008 12.375c-.39 6.734-.655 14.586-5.977 21.8-5.76 7.81-14.184 10.863-21.392 13.555a116.939 116.939 0 0 1-6.326 2.143c-24.372 32.684-55.333 57.576-83.96 83.508-9.904 8.972-14.003 16.689-14.915 21.431-.913 4.743.134 6.407 2.586 8.18 4.902 3.546 21.164 4.119 37.998-11.39 33.014-30.417 65.222-60.634 89.838-96.72l.812.483c1.444-.624 4.209-1.855 7.963-3.904 4.97-2.713 10.363-7.018 11.084-8.106.685-1.033 2.533-7.58 3.088-13.133.555-5.552.512-10.205.512-10.205l17.998-.193s.064 5.543-.6 12.19c-.665 6.646-1.366 14.304-5.996 21.289-4.666 7.038-11.527 10.72-17.463 13.959-1.81.988-3.477 1.826-5.023 2.578-16.473 29.911-40.153 55.83-65.37 82.955-5.39 5.798-6.381 10.204-6.062 13.312.32 3.108 2.042 5.768 5.422 7.867 6.76 4.2 19.635 4.864 31.433-7.312 13.606-14.042 25.93-28.72 36.664-44.297 9.298-16.962 18.75-34.088 27.762-51.195l.584.271c.878-.286 3.91-1.295 7.867-3.045 4.577-2.023 9.602-5.513 10.053-6.093.437-.563 2.57-6.262 3.397-11.168.826-4.907 1.06-9.057 1.06-9.057l17.975.99s-.274 5.05-1.285 11.057c-1.012 6.006-2.046 12.933-6.934 19.222-4.902 6.308-11.39 9.038-16.986 11.512-.859.38-1.641.691-2.45 1.024-7.137 16.201-15.774 31.408-25.623 45.804-3.572 6.519-7.224 13.13-10.648 19.502-3.152 5.866-3.348 10.106-2.637 12.965.712 2.86 2.318 4.716 4.73 5.94 4.825 2.448 13.382 2.178 21.13-8.612 57.44-79.992 126.521-160.277 157.107-264.986 2.243-7.679 7.14-11.461 12.994-16.895 5.854-5.433 12.982-11.267 19.97-17.056 6.99-5.79 13.841-11.54 18.83-16.39 3.311-3.22 5.419-6.373 6.458-7.813-2.444-9.527-6.436-19.066-11.633-28.252-11.087 7.119-23.137 13.666-32.795 18.957 6.175-14.902 9.925-30.611 12.399-46.746a155.243 155.243 0 0 0-16.739-15.631c-21.237-17.053-46.035-27.498-68.178-27.473zm-166.379 3.994a61.68 61.68 0 0 0-2.384.01c-12.954.302-28.804 5.21-44.079 13.473-8.182 4.426-16.129 9.83-23.459 15.855 2.418 19.238 6.328 37.979 13.625 55.59-12.265-6.72-28.379-15.468-41.486-24.84-5.205 8.198-8.804 16.525-10.203 24.451.6 2.778 3.535 8.694 8.945 15.264 5.898 7.162 14.06 15.165 22.448 22.916 8.387 7.752 16.99 15.27 24.013 21.895 1.998 1.884 3.852 3.573 5.573 5.209 15.831-14.625 32.157-25.492 53.246-32.633 14.01-4.745 56.236-21.829 72.2-28.319l-52.18-76.707c-5.932-8.301-14.54-11.984-26.259-12.164zM395.985 207.82c-4.581 14.599-9.854 28.711-15.686 42.397l29.274 16.236.076.045c15.98 9.278 26.106 5.987 29.66 1.662 1.777-2.163 2.672-4.952 1.764-9.275-.908-4.324-3.953-10.127-10.664-16.325l-.291-.271-.268-.295c-12.296-13.554-23.467-24.77-33.865-34.174zm-26.809 66.66c-12.18 24.887-26.055 48.39-40.76 70.897 26.935 33.764 60.806 61.355 95.481 89.084 17.877 14.295 34.057 12.587 38.7 8.707 2.32-1.94 3.251-3.673 2.01-8.34-1.243-4.667-5.87-12.08-16.378-20.338-31.775-24.973-66.027-48.625-93.252-81.777l12.916-12.457c26.194 23.147 55.562 41.715 86.998 60.16 10.282 6.033 18.295 7.943 23.383 7.816 5.088-.127 7.089-1.69 8.35-3.633 2.521-3.884 1.964-14.59-10.705-24.753l-99.944-80.174-6.799-5.192zm-51.771 87.373a1279.264 1279.264 0 0 1-16.785 23.952c5.713 8.955 11.47 17.89 17.183 26.777 11.799 14.79 25.119 28.572 39.674 41.63 12.62 11.323 25.417 9.758 31.867 5.096 3.226-2.33 4.759-5.103 4.86-8.226.101-3.123-1.196-7.448-6.979-12.856-26.478-24.761-51.405-48.475-69.82-76.373zm-29.057 40.832a4530.38 4530.38 0 0 1-18.058 24.438c7.546 8.835 15.018 17.636 22.326 26.441 8.482 10.222 17.036 9.89 21.678 7.112 2.32-1.39 3.794-3.352 4.304-6.254.51-2.902.017-7.119-3.537-12.75-3.863-6.123-7.972-12.466-11.994-18.723a297.326 297.326 0 0 1-14.719-20.264z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlowingArtifact;

impl IconShape for GlowingArtifact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.6 25.88 41.4 38.12l62.5 67.28c3.8-6.87 6.5-11.92 9.1-16.72l-58.4-62.8zm386.6.26-46.6 54.33c2.4 4.36 5.4 9.94 9.2 17.01l51-59.62-13.6-11.72zm-272.9 2.32-16.6 7.08 42.1 98.26c6.4 2.1 13.6 3.8 21.8 5.2L168.3 28.46zm143 1.07-32 111.57c7.2-.6 13.8-1.5 19.8-2.6l29.6-104.03-17.4-4.94zM263 47.31 255.7 142h.3c6.3 0 12.2-.2 17.8-.5l7.2-92.81-18-1.38zM129.3 96.47c-6.2 11.73-15.1 28.33-31.76 57.13-16.63 28.8-26.56 44.8-33.56 56.1 11.59-2.6 27.23-3.5 44.92 3.5 22.8 9 48 30.5 73.4 74.4 25.4 44 31.3 76.6 27.7 100.8-2.7 18.9-11.4 32-19.4 40.7 13.3-.4 32.1-1 65.4-1 33.2 0 52 .6 65.3 1-8-8.7-16.6-21.8-19.4-40.7-3.6-24.2 2.4-56.8 27.8-100.8 25.4-43.9 50.6-65.3 73.4-74.4 17.7-7 33.4-6.1 44.9-3.5-7-11.3-16.9-27.3-33.5-56.1s-25.5-45.4-31.8-57.08c-3.6 11.28-10.6 25.38-25.6 37.18C338 148.9 306.8 160 256 160s-82-11.2-101.1-26.3c-15-11.9-22-25.9-25.6-37.23zm313.5 8.13-25.3 17.9c2.7 4.8 5.7 10.1 9 15.8l26.7-18.9-10.4-14.8zM35.03 167.5l-6.06 17 24 8.6c2.77-4.5 6-9.8 9.63-15.8l-27.57-9.8zM256 196a49.98 49.98 0 0 1 50 50 49.98 49.98 0 0 1-50 50 49.98 49.98 0 0 1-50-50 49.98 49.98 0 0 1 50-50zm118.9 59.4c-4.6 4.9-9.3 10.6-14.1 17.2l118.6 8.4 1.2-18-105.7-7.6zm-231.2 7.5L30.73 279.1l2.54 17.8L156 279.4c-4.1-6.2-8.2-11.6-12.3-16.5zm18.7 26.4L44.23 343.8l7.54 16.4L171.4 305c-1.5-2.7-3-5.5-4.7-8.4-1.5-2.5-2.9-5-4.3-7.3zm181.3 10.1c-3.1 5.6-5.9 10.9-8.4 16l124 76.3 9.4-15.4-125-76.9zm-166.4 17.3L25.88 457.4l12.24 13.2L184.8 334.4c-2-5.6-4.5-11.5-7.5-17.7zm148.5 21.6c-2.8 8.3-4.7 15.9-5.7 22.8l88.6 124.1 14.6-10.4-97.5-136.5zM224.4 446.4c-7 .1-13 .2-18.5.4l-6.7 31.3 17.6 3.8 7.6-35.5zm77.1.2 9.8 35.8 17.4-4.8-8.4-30.4c-5.4-.2-11.1-.4-18.8-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoalKeeper;

impl IconShape for GoalKeeper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 78v414h36V114h404v378h36V78H18zm101 53v48H71.75v18H119v46H71.75v18H119v46H71.75v18H119v46H71.75v18H119v46H71.75v18H209.6c-.4-6-.9-12-1.3-18H201v-23.4h-.8l-17.2.3V435h-46v-46h42c.4-6 .8-12 1.4-18H137v-46h46v22c.2-1.9.4-3.9.6-5.6 1.8-17.1 6.6-35.5 17.4-49.1V261h8.5c-.9-6-1.2-12-.3-18H201v-46h43.4c3.6-1.2 7.5-1.9 11.4-2 4.5-.1 8.9.6 13.2 2h42v46h-8.7c.7 6 .6 12.1-.2 18h8.9v28.6c2.6 2.9 4.8 6 6.6 9.4 5.9 11.7 9.3 23.9 11.4 36.5V325h46v46h-43.1c.2 6 .2 12 .3 18H375v46h-46v-23.4h-18V435h-6l-1.2 18H441v-18h-48v-46h48v-18h-48v-46h48v-18h-48v-46h48v-18h-48v-46h48v-18h-48v-48h-18v48h-46v-48h-18v48h-46v-48h-18v48h-46v-48h-18v48h-46v-48h-18zm18 66h46v46h-46v-46zm192 0h46v46h-46v-46zm-72.1 15.3c-16.7-.4-30.9 17.8-30.9 39.1 0 11.8 4.1 22.2 10 29.4l7.2 8.5-11 2.1c-7.8 1.5-13.4 5.6-18.3 12.2-4.9 6.7-8.6 16-11.2 26.7-4.7 19.4-5.8 43.2-5.9 64.1h25.8l7.1 94.9c17.9 4.1 37.1 3.9 54.5 0l6.2-94.9H315c0-21.2-.3-45.2-4.6-64.8-2.3-10.8-5.9-20.1-10.8-26.7-5-6.6-10.9-10.6-19.6-12l-11.2-1.7 7-8.9c5.8-7.1 9.6-17.4 9.6-28.9 0-22.8-12.4-38.9-28.5-39.1zM137 261h46v46h-46v-46zm192 0h46v46h-46v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoblinCamp;

impl IconShape for GoblinCamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.35 51.451c-18.22 16.765-31.721 30.803-40.696 48.492a573.792 573.792 0 0 1 30.797 14.065c.876-.446 1.748-.898 2.627-1.338-.985-21.191 2.408-39.965 7.272-61.219zM39.643 77.291c21.648 9.825 43.38 20.02 64.914 30.695 1.554-7.954 3.772-14.668 8.289-20.63-25.904-5.73-50.637-9.046-73.203-10.065zm363.352 11.822c-48.633 2.463-96.585 15.058-140.09 35.496 13.816 7.717 25.764 14.693 37.52 22.332 21.9-14.496 70.579-39.08 101.78-51.373v39.338c6.034-1.671 12.532-1.336 17.998.666V88.961c-7.013-.32-11.8-.13-17.208.152zM133.504 92.38c-8.931 5.494-10.828 15.551-11.973 24.15 6.966 3.558 13.901 7.17 20.8 10.84 2.334-10.442 7.597-19.885 15.314-27.976a534.283 534.283 0 0 0-24.141-7.014zm43.598 13.584c-11.631 8.575-17.221 18.189-18.028 30.467a1085.447 1085.447 0 0 1 37.985 21.933c13.027-2.617 26.492-4.302 40.17-5.271.276-6.197 1.214-12.82 3.068-19.965a554.898 554.898 0 0 0-63.195-27.164zm79.47 35.726a74.438 74.438 0 0 0-1.623 10.553c6.958-.2 13.29-.237 19.723-.162a536.468 536.468 0 0 0-18.1-10.39zm153.639 10.079c-6.664 0-13.36 6.86-13.36 17.13s6.696 17.131 13.36 17.131 13.36-6.86 13.36-17.13-6.696-17.131-13.36-17.131zm-154.274 18.468c1.008 5.609 2.553 11.09 4.194 16.838l30.187-8.416 33.118 28.28-4.915 35.36 30.833-.43c-6.064-19.072-13.21-37.052-21.163-52.94a511.118 511.118 0 0 0-23.98-17.739c-17.368-.894-32.488-1.379-48.274-.953zm82.717.137c21.681 38.75 37.493 89.593 45.143 140.428 9.444 62.753 7.027 124.938-16.635 163.836.146 4.443 1.6 6.989 4.006 9.088 2.748 2.396 7.279 4.083 12.469 4.33 10.38.494 21.143-4.888 23.644-12.5l.06-.186.07-.183c10.524-27.887 15.45-101.52 2.103-170.106-6.674-34.293-17.747-67.575-33.994-94.031-10.245-16.682-22.422-30.568-36.866-40.676zm-100.482.732a338.97 338.97 0 0 0-17.945 1.749c7.748 4.485 12.656 9.913 20.783 12.12-1.116-4.43-2.132-9.015-2.838-13.869zm-52.942 1.172a427.562 427.562 0 0 0-73.568 72.914l51.172-.716c8.088-8.728 16.807-16.771 26.156-23.934l3.281-19.904 18.213-12.6c-8.548-5.49-17.068-10.836-25.254-15.76zm100.69 26.291l-31.344 8.74-28.951-7.86-16.836 11.648-5.139 31.18 30.045 6.726-.529 20.437c15.726-.278 30.633-.405 46.115-.529l-.459-20.166 21.416-5.621 4.014-28.898zm-4.184 15.323l9.547 17.175-24.931 9.163-4.547-17.567zm-59.215 1.404l24.245 7.346-1.836 18.289-26.338-8.809zm-43.318 38.533c-25.63 26.628-45.475 61.109-58.256 96.412-18.172 50.197-21.674 101.663-11.81 129.72 3.651 4.114 12.494 7.41 21.564 6.718 7.742-.591 14.242-3.561 17.752-8.02-21.654-37.214-20.589-83.507-8.299-129.74 8.582-32.283 22.713-64.79 39.05-95.09zm273.176 4.598l-36.002.504a361.986 361.986 0 0 1 6.969 25.093l35.611-.113zm-97.734 1.367l-49.668.695-7.838 2.057.498 21.883 62.988-.203a472.289 472.289 0 0 0-5.98-24.432zm-146.01 2.043l-13.442.187a538.434 538.434 0 0 0-11.617 22.77l31.192-.1.552-21.361zm-61.076.853l-84.936 1.188-13.344 21.348 83.06-.266a274.788 274.788 0 0 1 15.22-22.27zm132.13 24.215c-16.44.178-30.81.203-46.99.547l-.4 15.5 47.738-.724zm152.178 15.092l-4.617.016c5.835 30.117 8.565 60.477 8.787 88.17 7.006 5.918 13.681 12.026 20.111 18.263 5.487-8.133 11.222-15.978 17.2-23.142a428.526 428.526 0 0 0-41.48-83.307zm-67.71.217l-66.112.213.398 17.521-32.668.496c8.228 36.735 24.691 70.42 44.856 96.178 14.02 17.91 29.822 31.793 45.53 40.53 15.418-33.199 18.198-88.116 9.837-143.67a458.357 458.357 0 0 0-1.842-11.268zm-149.854.48l-38.916.125c-7.246 16.865-13.376 33.936-17.838 50.723-9.107 34.259-11.232 66.915-2.863 94.604 40.638-39.739 77.702-75.824 90.642-127.391l-31.506.478zm-92.198.297l-48.746.156c-11.877 21.835-21.652 44.664-28.976 68.168a287.284 287.284 0 0 1 18.012 17.354c10.144-8.627 21.359-16.503 34.511-22.674a351.243 351.243 0 0 1 7.117-21.88c5.028-13.89 11.06-27.728 18.082-41.124zM90.94 389.902c-5.764 3.732-11.189 7.886-16.408 12.348a297.288 297.288 0 0 1 12.026 15.354c.945-8.997 2.414-18.268 4.382-27.702zm-52.003.803a344.25 344.25 0 0 0-5.454 25.961c5.114-5.262 10.267-10.59 15.653-15.834a271.026 271.026 0 0 0-10.2-10.127zm441.34 14.922c-3.766 5.037-7.48 10.381-11.124 15.91 7.409 7.724 14.538 15.58 21.543 23.461a450.711 450.711 0 0 0-10.42-39.371zm-44.678 8.166c-.554 11.9-1.602 23.048-3.092 33.164 4.339-7.542 8.88-15.31 13.68-23.07a419.389 419.389 0 0 0-10.588-10.094zM29.842 445.744c-.983 11.546-2.93 26.6 7.535 32.596 5.018 2.794 12.75 3.938 20.75 3.049 8-.89 16.136-3.772 21.539-7.325 5.403-3.552 7.231-7.011 7.186-9.043-.406-5.728-1.175-11.65-1.405-16.835-7.327-11.919-14.361-24.404-26.154-32.1-12.289 9.437-18.357 19.266-29.451 29.658zm429.392-8.502c-8.303 13.622-16.025 27.32-23.107 39.617 9.047 9.572 23.629 12.14 36.78 9.534 7.233-1.434 13.674-4.482 17.59-7.854 1.27-1.095 2.233-2.133 2.976-3.146-11.34-12.924-22.547-25.775-34.239-38.15zm-105.421 37.115l-194.356.916-.861 13.782 194.355-.918z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoblinHead;

impl IconShape for GoblinHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33c-8.5 0-21.318 5.745-35.06 16.17-13.743 10.425-28.429 25.055-42.167 40.756-19.597 22.397-37.26 47.053-48.41 64.597l49.582 37.188 49.23 12.307 2.288-6.864 17.074 5.692-14.957 44.873 22.42 56.05 22.42-56.05-14.957-44.873 17.074-5.692 2.287 6.864 49.23-12.307 49.583-37.188c-11.15-17.544-28.813-42.2-48.41-64.597-13.738-15.7-28.424-30.33-42.166-40.756C277.318 38.745 264.5 33 256 33zm-91.49 95.213l76 44-9.02 15.574-76-44zm182.98 0l9.02 15.574-76 44-9.02-15.574zM17.21 146.625c31.804 32.973 63.213 73.408 76.3 111.857 1.59-2.708 3.38-5.333 5.292-7.882 5.009-6.68 11.036-12.972 17.14-19.153-8.95-12.884-11.752-29.088-12.605-42.886-29.308-24.142-53.916-37.693-86.127-41.936zm477.582 0c-32.21 4.243-56.819 17.794-86.127 41.936-.853 13.798-3.654 30.002-12.605 42.886 6.104 6.181 12.131 12.474 17.14 19.153 1.912 2.55 3.703 5.174 5.291 7.882 13.088-38.449 44.497-78.884 76.301-111.857zm-373.645 23.484c-.023.045-.054.1-.078.145.137 16.376 2.007 44.095 13.295 55.383l6.364 6.363-6.364 6.363c-8 8-15.74 15.805-21.164 23.037-4.688 6.251-7.327 11.823-7.965 16.452l81.118 30.418c4.7-6.847 9.904-13.253 15.285-18.633l16.029-16.03-.67 22.659c-.25 8.431-.383 16.131-.232 23.41l30.84 11.564L214.707 249h-50.98l-13.364 13.363-12.726-12.726 11.312-11.313-13.531-57.512zm269.708 0l-14.272 10.703-13.531 57.512 11.312 11.313-12.726 12.726L348.273 249h-50.98l-32.897 82.24 30.842-11.566c.15-7.278.018-14.978-.232-23.408l-.672-22.659 16.03 16.03c5.38 5.38 10.584 11.788 15.284 18.634l55.192-20.697 25.926-9.722c-.638-4.63-3.277-10.2-7.965-16.452-5.424-7.232-13.164-15.037-21.164-23.037L371.273 232l6.364-6.363c11.288-11.288 13.158-39.007 13.295-55.383-.024-.045-.055-.1-.078-.145zM157.867 197.65l7.848 33.35H183v-19.975l-10.945-2.736zm196.266 0l-14.188 10.64L329 211.024V231h17.285zM201 215.525V231h19.18l3.287-9.857zm110 0l-22.467 5.618L291.82 231H311zm-205.791 62.51a16.25 16.25 0 0 0-.117 1.256c7.79 37.424 34.985 88.461 66.066 129.256 15.682 20.582 32.34 38.649 47.582 51.271C233.983 472.441 248 479 256 479c8 0 22.017-6.559 37.26-19.182 15.242-12.622 31.9-30.689 47.582-51.271 31.081-40.795 58.277-91.832 66.066-129.256-.02-.41-.063-.83-.117-1.256l-48.027 72.043L256 435.715l-102.764-85.637zm45.756 36.188l15.799 23.699 2.968 2.474c1.753-5.409 4.259-10.906 7.176-16.445zm210.07 0l-25.943 9.728c2.917 5.539 5.423 11.036 7.176 16.445l2.968-2.474zm-162.129 7.73c-1.782 2.76-3.48 5.558-5.006 8.356-4.27 7.83-7.176 15.717-8.328 21.255l19.67 13.114c-4.116-14.232-5.864-28.048-6.336-42.725zm114.188 0c-.472 14.677-2.22 28.493-6.336 42.725l19.67-13.114c-1.152-5.538-4.057-13.425-8.328-21.255-1.527-2.798-3.224-5.596-5.006-8.356zm-19.227 17.457L265 350.236v54.55l7.793-6.495 7.158-14.316c8.04-16.081 12.051-29.95 13.916-44.565zm-75.734.002c1.864 14.614 5.876 28.483 13.916 44.563l7.158 14.316 7.793 6.494v-54.549z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoldMine;

impl IconShape for GoldMine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.818 33.117l-369.554 15.4v46.012L426.97 79.425l-23.152-46.31zM385.334 99.04l-30.408 1.17 9.78 185.806 38.554-7.71L385.334 99.04zm-135.152 5.198l-18.39.71-2.694 15.61-26.578 18.75.13.866-.273-.047-3.063 17.738 6.188 1.07 4.617 30.395 31.532 5.445 14.543-27.088 6.186 1.07 3.063-17.74-.273-.046.416-.773-18.75-26.578 3.346-19.382zm-77.444 2.98l-22.82.878-39.47 54.775-1.692 33.138 63.982-88.79zm-77.625 2.985l-31.275 1.203-28.72 272.832 45.66 6.733 14.335-280.767zM236.928 128.1l14.457 20.49-34.947-6.035 20.49-14.455zm-20.516 32.718l28.87 4.985-7.012 13.064-19.63-3.39-2.228-14.66zM437.12 289.89l-76.434 15.288-44.99-14.998-28.706 28.703h169.457L437.12 289.89zm-260.05 2.268l-9.42 20.725h-16.386v18h8.205l-7.275 16h-22.93v18h14.75l-8.183 18h-26.568v18h18.386l-13.636 30h-24.75v18h16.568l-8.762 19.275 16.387 7.45 12.147-26.725h143.423l-6.75-18H133.785l13.637-30h103.605l-6.75-18h-88.673l8.18-18h73.74l-6.75-18h-58.807l7.273-16h45.535l-4.498-12h41.258l6-6h-80.113l6.035-13.276-16.387-7.45zm69.182 44.725l40.36 107.635c6.022-8.242 15.748-13.635 26.652-13.635 11.916 0 22.43 6.438 28.234 16h55.53c5.804-9.562 16.32-16 28.236-16 10.424 0 19.768 4.93 25.832 12.564l26.64-106.564H246.252zm67.012 112c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm112 0c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoldNuggets;

impl IconShape for GoldNuggets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.713 21.62c-1.964 23.35-1.963 23.349-21.82 35.787 23.349 1.964 23.348 1.965 35.787 21.822 1.963-23.349 1.965-23.35 21.822-35.789-23.35-1.963-23.35-1.963-35.79-21.82zm92.473 42.988l-127.713 56.493-42.409 55.45 82.366 22.35 66.023-47.068 24.94 22.033c-11.489 9.184-14.01 8.604-32.79 4.123 14.235 17.14 14.234 17.14 9.063 38.81 17.14-14.234 17.14-14.234 38.81-9.064-12.054-14.514-13.88-16.782-11.023-30.283l10.082 8.908 54.086-49.96zM91.46 98.093c13.446 28 13.446 28.001-.887 55.558 28-13.446 28.001-13.448 55.559.885-13.447-28-13.448-28 .885-55.557-28.001 13.447-28 13.446-55.557-.886zm345.848 43.115c-14.974 27.214-14.973 27.213-45.729 31.563 11.842 6.515 18.527 10.197 22.664 14.81l-53.531 61.838 6.307 23.775 88.501 8.678-20.834-82.504c6.759-8.54 13.547-9.513 34.186-12.431-27.214-14.974-27.215-14.973-31.564-45.729zM58.38 270.268c-7.876 39.058-7.875 39.056-43.846 56.19 39.057 7.876 39.056 7.877 56.19 43.848 7.875-39.057 7.876-39.058 43.847-56.192-39.057-7.875-39.058-7.874-56.191-43.845zm236.691 8.41c-17.139 14.235-17.14 14.236-38.81 9.065 11.502 13.85 13.705 16.519 11.4 28.465l-18.283-10.969-11.705-25.08-27.904 16.625-41.184-12.812-9.447 64.697 56.97 61.818 81.582-76.261-24.03-14.418c9.614-7.279 13.022-6.483 30.476-2.319-14.235-17.139-14.236-17.14-9.065-38.81zm170.83 37.628c-14.973 27.214-14.974 27.214-45.73 31.564 27.214 14.974 27.215 14.975 31.564 45.73 14.974-27.214 14.973-27.214 45.729-31.564-27.215-14.973-27.213-14.975-31.563-45.73zM148.03 362.749c-14.712 18.237-14.714 18.236-38.13 17.408 18.236 14.713 18.236 14.714 17.408 38.131 14.712-18.236 14.714-18.236 38.13-17.408-18.236-14.713-18.236-14.714-17.408-38.131zm215.34 11.57l-42.81 46.793c-13.168-15.872-13.145-16.527-8.106-37.644-17.14 14.234-17.138 14.233-38.808 9.062 14.234 17.14 14.233 17.14 9.062 38.81 16.642-13.82 17.29-14.174 37.143-9.452l-9.051 9.892 24.828 56.75 135.709 1.85-33.4-92.45zm-274.066 2.182L31.14 416.89l16.25 68.488 86.814-17.033-40.445-44.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoldStack;

impl IconShape for GoldStack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313.824 61.625l-67.865 118.24L176 96l-4.08 129.77L56.162 105.264 112 272l-81.986-63.115 19.865 113.77L18 311.724V391h7.514l16-48h40l16-48h40l16-48h40l16-48h92.972l16 48h40l16 48h40l16 48h40l16 48H494V241.285l-77.783 39.547L480 144l-125.797 83.758L400 128l-74.926 66.87zM222.486 217l-10 30h87.028l-10-30zm-56 48l-10 30h87.028l-10-30zm86 0L256 275.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm-168 48l-10 30h87.028l-10-30zm86 0L200 323.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L312 323.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm-280 48l-10 30h87.028l-10-30zm86 0L144 371.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L256 371.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L368 371.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zM18 409v30h57.514l-10-30zm66.486 0L88 419.54 91.514 409zm26 0l-10 30h87.028l-10-30zm86 0L200 419.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L312 419.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L424 419.54l3.514-10.54zm26 0l-10 30H494v-30zm-418 48L32 467.54 35.514 457zm26 0l-10 30h87.028l-10-30zm86 0L144 467.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0L256 467.54l3.514-10.54zm26 0l-10 30h87.028l-10-30zm86 0l3.344 10.033.342-.01L371.514 457zm26 0l-10 30h87.028l-10-30zm86 0l2.287 6.863 2.477-.07 2.264-6.793z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GolemHead;

impl IconShape for GolemHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M177.682 25.404L78.695 81.97l53.743 53.74 77.328 15.465-3.532 17.652-64.79-12.959 27.095 81.287-17.078 5.692-31.328-93.985-44.908-44.91 5.38 58.899-38.287 137.638 59.082 44.313-10.8 14.398-45.157-33.867 26.147 130.73 73.678 11.334L128.308 425H128v-.77l-8.355-20.888 16.71-6.684L140.492 407h18.766L256 390.875 352.742 407h17.479l4.953-24.766 17.652 3.532-14.375 71.873 62.096-16.936 30.086-120.344-30.283-90.847-58.668-44.002-92.202 15.367-2.96-17.754 90.654-15.11 14.287-42.859 17.078 5.692-13.95 41.847 46.405 34.803 13.285-106.293-89.097-44.549-88.104-14.683-29.027 58.054-16.102-8.05L258.5 38.873l-80.818-13.469zm236.634 221.754l3.368 17.684-35.952 6.847c4.658 3.159 8.472 7.518 10.64 13.006 3.624 9.18 1.752 19.208-3.19 27.246-4.943 8.039-12.91 14.59-22.827 18.504-9.915 3.915-20.212 4.574-29.312 2.08-6.576-1.802-12.68-5.465-16.934-10.818l-8.716 47.94-110.89-9.24-7.921-39.602c-4.267 5.846-10.686 9.819-17.625 11.72-9.1 2.494-19.397 1.835-29.312-2.08-9.916-3.915-17.884-10.465-22.827-18.504-4.942-8.038-6.814-18.067-3.19-27.248 2.042-5.17 5.54-9.344 9.833-12.45l-35.315-7.436 3.708-17.614 150.234 31.63 166.228-31.665zM151 283.553c-2.047.051-3.967.318-5.672.785-4.862 1.332-7.714 3.818-8.957 6.967-1.243 3.148-.86 6.914 1.781 11.209 2.469 4.014 6.947 8.05 12.848 10.664v-29.625zm210 .004v29.62c5.901-2.612 10.38-6.65 12.848-10.665 2.64-4.295 3.024-8.059 1.78-11.207-1.242-3.149-4.094-5.637-8.956-6.97-1.704-.466-3.626-.727-5.672-.778zm-52.633 2.107l-60.455 11.514-43.531-9.164 11.115 55.58 81.111 6.76 11.76-64.69zM169 288.762v26.674c.405-.086.817-.165 1.201-.27 4.862-1.332 7.712-3.82 8.955-6.969 1.243-3.148.861-6.912-1.78-11.207-1.795-2.92-4.677-5.84-8.376-8.228zm174 0c-3.699 2.387-6.581 5.307-8.377 8.228-2.64 4.295-3.022 8.059-1.78 11.207 1.244 3.149 4.094 5.637 8.956 6.969.384.105.796.184 1.201.27v-26.674zM147.691 425l18.23 45.574 105.558 16.24 89.095-24.3-1.4-.28L366.62 425h-13.879L256 441.125 159.258 425H147.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GolfFlag;

impl IconShape for GolfFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193 33v443.55c5.33.678 10.708 1.133 16.123 1.307l-.076-278.337L383.727 136 209.014 72.467 209.002 33H193zm159 352c-17.227 0-31 13.773-31 31s13.773 31 31 31 31-13.773 31-31-13.773-31-31-31zm-104 48c-7.122 0-14.096.16-20.89.445l.013 45.112c6.79.286 13.76.443 20.877.443 34.738 0 66.208-3.574 88.326-9.104 6.035-1.508 11.344-3.186 15.805-4.9-.043 0-.086.004-.13.004-19.54 0-36.49-11.588-44.344-28.23C290.02 434.39 269.646 433 248 433zm-73 5.867c-5.484.983-10.628 2.062-15.326 3.237-11.06 2.764-19.795 6.09-25.035 9.187-4.377 2.588-5.365 4.426-5.576 4.71.21.284 1.2 2.122 5.575 4.71 5.24 3.097 13.975 6.422 25.034 9.186 4.698 1.175 9.842 2.254 15.326 3.237v-34.266zM129.064 456c-.04-.056-.064-.074-.064 0s.023.056.064 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GolfTee;

impl IconShape for GolfTee {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25C163.7 25 89 99.66 89 192c0 92.3 74.7 167 167 167s167-74.7 167-167c0-92.34-74.7-167-167-167zm129.8 111.3a15.37 27.75 2.13 0 1 14.3 28.3 15.37 27.75 2.13 0 1-16.4 27.1 15.37 27.75 2.13 0 1-14.3-28.3 15.37 27.75 2.13 0 1 16.4-27.1zm-49.4 25.8a19.12 35.25 24.94 0 1 5.1 1.3 19.12 35.25 24.94 0 1 1.4 40.8 19.12 35.25 24.94 0 1-32.2 22.6 19.12 35.25 24.94 0 1-1.5-40.8 19.12 35.25 24.94 0 1 27.2-23.9zm38.9 55.1a15.37 27.75 22.37 0 1 1.2 0 15.37 27.75 22.37 0 1 3 .6 15.37 27.75 22.37 0 1 3.6 31.5 15.37 27.75 22.37 0 1-24.8 19.8 15.37 27.75 22.37 0 1-3.6-31.5 15.37 27.75 22.37 0 1 20.6-20.4zM288 247.1a19.12 35.25 54.78 0 1 12.6 5.8 19.12 35.25 54.78 0 1-19.1 36.1 19.12 35.25 54.78 0 1-39.2 3.6 19.12 35.25 54.78 0 1 19.1-36.1 19.12 35.25 54.78 0 1 26.6-9.4zm39.2 37.2a15.37 27.75 46.31 0 1 1.4 0 15.37 27.75 46.31 0 1 7.5 3 15.37 27.75 46.31 0 1-9.4 30.3 15.37 27.75 46.31 0 1-30.7 8 15.37 27.75 46.31 0 1 9.4-30.3 15.37 27.75 46.31 0 1 21.8-11zm-133.8 81.8C224 412.5 224 431 224 494h64c0-63 0-81.5 30.6-127.9C299.1 373.2 278 377 256 377s-43.1-3.8-62.6-10.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gong;

impl IconShape for Gong {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 34.36v40.77l58 43.47h346l58-43.47V34.36l-67.8 54.27H92.84zm439 80.44l-29 21.8h-1v341h30zm-414 1.6v361.2h30v-341h-3zm84.7 20.2l26.4 66c4.6-4.2 9.6-8.1 14.8-11.6l-21.8-54.4zm223.2 0L336.1 191c5.2 3.5 10.2 7.4 14.8 11.6l26.4-66zm-101.9 48c-66.1 0-119 49.9-119 111s52.9 111 119 111c15.2 0 29.6-2.6 42.9-7.4l-66.1-87.4c-11.9-.5-23.4-6.1-31.1-16.2-13.6-17.9-10-43.8 8-57.4 18-13.6 43.8-10 57.4 8 7.7 10.1 9.9 22.8 7.1 34.3l68.8 90.9c19.9-19.9 32-46.6 32-75.8 0-61.1-52.9-111-119-111zm-21.7 63.2c-4.8.1-9.6 1.6-13.8 4.8-10.2 7.7-12.1 22-4.4 32.2 7.7 10.2 22 12.2 32.2 4.5 10.2-7.8 12.2-22.1 4.5-32.3-4.6-6.1-11.5-9.2-18.5-9.2zm30.8 50.3c-1.8 2-3.7 3.8-5.9 5.5-2.2 1.7-4.5 3-6.9 4.2l111 146.7 12.8-9.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Goose;

impl IconShape for Goose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M370.019 18.023c-2.843-.035-5.859.197-9.075.73-81.664 13.54-38.657 142.295-36.095 217.397-84.163-16.327-168.007 121.048-289.118 152.787 58.086 52.473 206.05 89.6 331.739 11.85 39.804-24.622 45.26-92.014 34.343-165.049-6.703-44.845-71.755-133.176-10.269-141.266l.611-.504c12.884-10.608 16.606-23.842 22.522-37.699l1.699-3.976c-11.688-16.016-23.17-33.986-46.357-34.27zm5.08 19.625a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm52.703 34.172c-3.28 8.167-7.411 17.45-14.612 26.293 21.035 7.63 41.929 3.078 63.079-.863-15.515-9.272-32.003-18.195-48.467-25.43zm-89.608 181.053c19.109 25.924 21.374 53.965 11.637 78.183-9.737 24.219-30.345 44.797-55.67 60.49-50.65 31.389-121.288 44.45-170.553 17.11l8.735-15.738c40.364 22.4 106.342 11.833 152.338-16.67 22.997-14.252 40.72-32.684 48.449-51.906 7.729-19.223 6.596-39.053-9.426-60.79l14.49-10.68zM273.28 456.322a332.68 332.68 0 0 1-19.095 3.232l-3.508 16.426h-13.084l3.508-14.842a400.208 400.208 0 0 1-18.852 1.506l-7.408 31.336h95.79v-18h-41.548l4.197-19.658z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gorilla;

impl IconShape for Gorilla {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426.353 45.894c-8.969.095-19.91 4.567-31.41 9.43-25.134 10.628-30.824 23.015-37.95 37.133 8.482 4.036 15.74 10.27 21.727 17.762 8.672 10.848 15.098 24.363 20.451 39.345 9.563 26.764 15.67 58.434 21.848 88.18l28.812 3.615s38.02-28.257 40.22-47.99c.65-5.84-9.27-14.992-9.27-14.992s5.937-6.614 4.83-11.323c-1.252-5.326-10.38-14.755-10.38-14.755s2.699-6.325.099-10.178c-3.468-5.14-18.98-8.572-18.98-8.572-1.734-1.69-1.576-8.596-.006-10.287 0 0 14.776-12.887 10.903-17.684-7.036-8.714-18.633-19.625-18.633-19.625-.26-30.99-9.153-40.198-22.261-40.059zm-102.4 58.86c-47.7.281-69.23 71.742-94.848 86.466-43.488 23.83-109.511-11.463-145.203 22.045-36.712 34.467-47.593 68.766-32.047 135.63L32.918 405.23c-7.483 37.268-14.09 30.759-9.463 60.877 38.011-.97 75.93-1.63 113.888 0l2.664-16.361-26.021-16.215c2.142-13.369 6.033-31.024 20.459-51.959 14.426-20.934 21.727-36.387 21.836-48.713l17.998.158c-.155 17.545-8.409 34.347-18.783 50.23 47.235 15.354 119.223 7.67 173.01-47-9.46-29.17-21.687-58.052-37.315-79.72l14.598-10.53c35.673 51.447 55.01 132.403 65.963 186.274-6.292 2.041-11.578 3.946-17.47 6.602.338 9.09 1.043 18.16 1.65 27.234 31.173-2.124 62.215-.722 93.612 0 17.246-68.035-10.26-117.857-38.76-187.59-20.847-73.492-18.395-161.324-74.122-172.496-4.437-.89-8.667-1.291-12.71-1.267zm10.12 249.748c-5.42 5.297-12.046 10.358-19.609 15.297-5.077 3.315-10.599 6.528-16.472 9.584L284.37 442.32l-10.905 4.906-1.091 18.881h65.113l-1.73-38.625 14.767-6.658c-4.007-18.973-9.748-42.998-16.451-66.322zm-186.929 42.72l15.645 68.885h92.91l-1.543-18.615-24.672-5.783-4.56-38.51c-26.065 3.93-53.18 3.051-77.78-5.977z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gps;

impl IconShape for Gps {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 57v398h462V57H25zm30 30h306v338H55V87zm78.94 18l10.042 27.62L73 122.48v18.182l77.957 11.14 36.223 99.612 24.806-37.12L172.244 105H133.94zM278 105v18h64v-18h-64zm0 32v18h64v-18h-64zm106 39h82v48h-82v-48zm18 18v12h46v-12h-46zm-59 28.666l-115.803 22.107 7.26 16.936L343 240.99v-18.324zM384 240h82v48h-82v-48zm-174.178 9.928l-57.314 85.77 48.18-11.243 49.18 18.893-40.046-93.42zM402 258v12h46v-12h-46zm23.646 53c22.538 0 41 18.463 41 41s-18.462 41-41 41c-22.537 0-41-18.463-41-41s18.463-41 41-41zm0 18c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-226.25 14.24l-17.777 4.15L176.2 407h36.146l5.164-56.8-18.115-6.96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GraduateCap;

impl IconShape for GraduateCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 89.61L22.486 177.18 256 293.937l111.22-55.61-104.337-31.9A16 16 0 0 1 256 208a16 16 0 0 1-16-16 16 16 0 0 1 16-16l-2.646 8.602 18.537 5.703a16 16 0 0 1 .008.056l27.354 8.365L455 246.645v12.146a16 16 0 0 0-7 13.21 16 16 0 0 0 7.293 13.406C448.01 312.932 448 375.383 448 400c16 10.395 16 10.775 32 0 0-24.614-.008-87.053-7.29-114.584A16 16 0 0 0 480 272a16 16 0 0 0-7-13.227v-25.42L413.676 215.1l75.838-37.92L256 89.61zM119.623 249L106.5 327.74c26.175 3.423 57.486 18.637 86.27 36.627 16.37 10.232 31.703 21.463 44.156 32.36 7.612 6.66 13.977 13.05 19.074 19.337 5.097-6.288 11.462-12.677 19.074-19.337 12.453-10.897 27.785-22.128 44.156-32.36 28.784-17.99 60.095-33.204 86.27-36.627L392.375 249h-6.25L256 314.063 125.873 249h-6.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grain;

impl IconShape for Grain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.021 23.56c-33.581.017-61.171 3.348-88.61 8.921-17.004-6.939-33.71-11.495-41.27 1.18-7.755 13-.298 25.252 12.243 37.315C16.961 176.419 23.36 323.974 37.281 420.24c-10.227 10.317-16.86 20.99-10.172 31.194 8.874 13.538 24.589 11.055 42.342 3.994 47.522 8.267 100.352 10.029 154.365 7.802 12.925-47.395 36.719-95.082 59.352-130.25 16.112-22.799 31.442-44.715 50.035-61.974-11.969-76.414-29.46-148.738-56.082-207.172 7.74-9.542 11.027-19.274 4.947-29.467-6.655-11.157-20.402-8.94-35.195-3.523-29.143-5.066-58.17-7.3-85.852-7.285zm-16.355 70.546c16.406 18.518 26.656 36.925 30.427 52.338l-13.625 29.983-25.326-23.194c-2.09-15.382.74-35.81 8.524-59.127zm59.798 40.83c2.124 16.568 2.256 31.597.723 44.41l-27.605 37.801-5.936-29.343 18.168-39.98c4.441-4.312 9.32-8.62 14.65-12.887zm-84.045 24.209l37.924 33.368 5.786 28.601-39.69-23.646c-6.777-11.435-20.586-35.652-20.119-43.252 15.217 4.34 13.568 3.98 16.1 4.929zm104.73 31.74c1.362 22.872-1.842 40.924-7.91 53.684l-29.628 22.168-6.277-31.039 24.875-34.06c5.742-3.67 12.06-7.269 18.94-10.752zm-112.19 22.964c4.943.367 9.692.878 14.228 1.521l40.682 24.238 6.097 30.143-31.023-7.457c-11.134-9.151-21.831-25.208-29.984-48.445zm124.043 40.892c-6.873 38.457-22.52 60.066-38.758 64.557l-7.567-37.406 29.946-22.409a207.182 207.182 0 0 1 16.379-4.742zm101.445 36.297c3.464-1.324 7.972-2.059 12.65-2.062 10.422 0 18.87 3.557 18.871 7.945.002 4.389-8.447 7.947-18.87 7.947-9.797-.003-17.96-3.161-18.792-7.271-11.324 12.604-23.028 28.276-34.054 45.209-4.24 6.509-8.363 13.222-12.348 20.015 9.174.608 15.935 3.936 15.94 7.846-.001 4.388-8.451 7.946-18.874 7.945a43.256 43.256 0 0 1-5.765-.388c-15.36 28.273-27.56 56.712-33.207 77.927 15.825 3.992 32.039 7.123 48.447 9.479l-.002.02c0 4.388 8.45 7.945 18.871 7.945 3.762-.002 7.436-.478 10.55-1.366a3.435 3.435 0 0 0-.12.87c0 4.388 8.45 7.945 18.87 7.945 10.423 0 18.871-3.557 18.872-7.945-.007-.714-.242-1.423-.7-2.11a592.75 592.75 0 0 0 39.723-.498 3.538 3.538 0 0 0-.263 1.31c0 4.389 8.45 7.946 18.87 7.946 10.422 0 18.871-3.557 18.872-7.945-.006-1.388-.876-2.751-2.522-3.953a584.77 584.77 0 0 0 22.723-2.836c3.317 2.536 9.65 4.112 16.527 4.113 10.425 0 18.875-3.558 18.873-7.947-.006-1.389-.876-2.752-2.523-3.955.051-11.342-3.426-27.164-10.037-44.473-6.863-17.968-16.742-37.59-27.897-56.426a42.718 42.718 0 0 1-6.625.516c-10.423 0-18.872-3.559-18.87-7.947.01-3.928 6.836-7.263 16.06-7.848-13.387-20.802-27.843-39.76-40.547-53.287-6.722-7.158-12.984-12.79-17.996-16.28-5.012-3.49-8.798-4.221-16.454-1.677-7.656 2.544-19.344 12.102-28.253 21.236zm-197.436-14.84l36.01 8.655 7.469 36.923c-16.307.307-37.748-13.351-58.192-43.464 5.083-.92 9.987-1.614 14.713-2.114zm60.457 55.746c2.917 17.949 6.504 35.498 11.006 52.602l-13.437 3.816c-4.671-17.697-8.37-35.774-11.36-54.173zm131.37 72.213c10.423 0 18.872 3.559 18.87 7.948 0 4.388-8.449 7.945-18.87 7.945a44.295 44.295 0 0 1-3.36-.133c1.22 1.068 1.857 2.238 1.863 3.424 0 4.388-8.45 7.945-18.873 7.945-10.421 0-18.87-3.557-18.87-7.945s8.449-7.945 18.87-7.945c1.127.002 2.252.046 3.36.132-1.22-1.068-1.857-2.238-1.864-3.423-.002-4.39 8.45-7.948 18.874-7.948zm93.41 15.451c10.423 0 18.872 3.559 18.87 7.948 0 4.388-8.449 7.945-18.87 7.945-10.423 0-18.872-3.557-18.873-7.945-.002-4.39 8.448-7.948 18.873-7.948zm-208.795 54.483c-10.424 0-18.873 3.558-18.871 7.947 0 4.388 8.45 7.945 18.87 7.945a43.931 43.931 0 0 0 4.227-.21c1.488 3.843 9.37 6.666 18.618 6.667 10.424 0 18.874-3.558 18.873-7.947-.001-4.388-8.451-7.945-18.873-7.945-1.423.003-2.84.074-4.225.21-1.488-3.843-9.37-6.666-18.62-6.667z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GrainBundle;

impl IconShape for GrainBundle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.9 22.6c-8.4 13.1-16.5 26.3-20.5 39.2 5.3 4.32 10 8.63 14 13.4 5.9-3.56 12.1-6.61 17.7-9.1-.6-14.5-5.6-28.6-11.2-43.5zm-48.8 42.6c-.6 5.7 0 12.9 2.2 19.8 9.6 4.87 17.2 10.27 24.7 16.6 2.6-3.2 4.1-7.3 2.4-13.3-7.8-10.13-18.3-17.9-29.3-23.1zM45.6 70.8c1.2 15.6 2.8 30.9 7.3 43.6 6.93 0 12.96 1.1 19.2 2.3 2.21-6.2 5.6-12.4 8.6-17.9-9.2-11.3-21.6-19.5-35.1-28zm305 .5c-10.2 11.9-20 23.9-25.8 36 4.6 5.1 8.8 9.7 12 15.2 6.3-2.6 12.8-4.8 18.7-6.5 1.5-14.5-1.4-29.2-4.9-44.7zm-53.3 6.6c-12.8 2.1-24 5.79-35 13.3-3.4 5.4-3 9.8-1.3 13.7 9-3.8 19.3-7.28 28.2-8.5 4.3-5.9 6.9-12.9 8.1-18.5zm-176 1.4c1.3 15.6 2.7 30.9 7.3 43.6 6.8.3 13.2.9 19.3 2.3 2.5-6.4 5.5-12.6 8.6-18-9.2-11.2-21.7-19.5-35.2-27.9zM468.8 85c-13.2 8.5-26 17.1-35.1 27.1 2.9 6.2 5.6 11.9 7.1 18 7-.8 13.8-1.1 19.9-.9 5.6-13.4 7-28.3 8.1-44.2zM104.6 96.8c-8.21 7.1-13.83 19.1-15.6 27.1.1 2.4.7 4.3 1.4 5.9 6.22-3.3 13.4-5.2 19.3-6-2.6-8.9-4.1-18-5.1-27zm79.9 4c-10.2 10-17.3 23.1-19.8 31.6.5 6.6 3.5 9.9 7.1 12 4.9-8.6 11-17.5 17.4-24-.2-7.2-2.2-14.4-4.7-19.6zm21.4 1c-.3 2.7-.2 5 .3 7.5 7.1 5.9 12.9 14.3 15.4 21.7 3.7 2.6 7.3 5.3 10.5 8 3-3.2 4.9-7.5 3.1-14.1-7.9-10.1-18.4-17.7-29.3-23.1zm200.7 1.6c-2.8 4.9-5.4 11.7-6.2 18.9 6.6 8.5 11.6 16.4 15.5 25.4 3.6-1.8 6.6-4.8 7.7-10.9-1.1-6.5-4.1-13.2-7-18.6-2.9-5.5-6.6-10.8-10-14.8zm-114.5 11.1c-13.7 2.9-26.1 6.8-34.9 13.3-2.6 4.9-3.4 10.8-.9 15.1 8.5-3.6 18.1-6.7 26.4-8.2 4.4-5.9 7.9-13.5 9.4-20.2zm18.2 3.7c-1 5.2-3 10.3-5.5 15.3 4.9 4.3 9.3 8.5 13.2 13.1 3-2.8 5-6.7 4.3-12.8-2.7-5.3-7.7-11.2-12-15.6zm56.8 14c-8.1 1.1-15.9 3.8-23.5 7.3-4.2 5-4.5 9.5-3.4 13.6 5.5-1.7 11-2.6 16.2-3.6 2.3-2.3 4.6-3.9 7.3-5.9.8-3.9 1.9-7.8 3.4-11.4zm-334.8 2c3 4.8 7.8 10.3 13.7 14.5 10.58-2 19.99-2.1 29.8-1.7.1-4-1.1-8.2-6.1-12-11.37-3.1-25.19-3.3-37.4-.8zm170.2-1.1c-9 8.9-16.6 21.4-19.9 31.8 1 5.5 3.9 10.6 8.4 12.5 4.7-7.9 10.3-16.3 16.1-22.4-.2-7.6-1.8-15.6-4.6-21.9zm184.1 1.4c-3.5 7.3-5.8 14.1-6.4 20.9 6.3 8 10.6 15.5 14.6 23.9 5.4-3.3 7.9-6.9 8.8-11.4-2.9-12.6-9.1-24-17-33.4zm-278.5 8.2c2.9 4.8 7.7 10.3 13.6 14.5 10.6-1.8 20-2.5 29.8-1.7.2-4.1-1.2-8.3-6.1-12.1-11.4-3-25-3.3-37.3-.7zm332.9 6.8c-5.3 3.8-5.5 6.6-5.7 10.8 2.7 0 5.6.2 8.4.4 7.1.7 14.2 1.7 20.8 3.6 6.4-3.6 11.8-8.8 15.2-13.4-9.7-3-27.8-5.3-38.7-1.4zm-154 3.1c-12.5 2.3-26 6.2-35 13.5-5 8.2-1.1 15.9 4 20 6.8.3 15.9-5.5 22.6-14.6 4.4-6 7.2-13.1 8.4-18.9zm17.6 6c-1.3 5.3-3.5 10.5-6.3 15.5 3.1 2.9 6.1 5.8 8.7 8.8 3.4-2.9 5.9-6.8 5.1-13.6-1.9-3.7-4.7-7.4-7.5-10.7zm-254.3 8c3.1 5 8.1 10.7 14.3 14.9l.9.6c10.08-1.8 18.95-2 28.2-1.6.4-4.4-.6-9-6-13.2-11.43-3-25.15-3.2-37.4-.7zm171.1 0c-10.1 6.6-17.7 26.1-19.8 31.7 1.2 9.3 7.2 13.5 15.3 13.7 11.5-12.3 10.9-31.2 4.5-45.4zm-4.5 45.4l-.1.1c.1 0 .1-.1.1-.1zM366 167.1c-2.9 5.1-5.6 12.1-6.3 19.6-1.2 11.3 1.7 21.7 7 26 8.7-1.1 14.5-3.2 16.3-12.2-1.1-6.4-4.1-13.1-7-18.6-2.9-5.5-6.6-10.8-10-14.8zm-21.5 3.4c-3.6.7-9.8 4-11.1 4.6-3.1 4.6-4.9 10.3-2.9 14.9 3.9-1 7.4-2 11-2.6.5-5.8 1.6-12 3-16.9zM126 175.1c4.6 6.5 9.8 11.6 15.3 15.5 9.7-1.5 20-1.9 28.2-1.7.3-4.3-.7-9-6.1-13.2-11.4-3-25.1-3.1-37.4-.6zm296.5 4.4c-5.4 4-7.2 8.2-7.2 13.4 9.2.3 19.2 1.5 27.3 3.6 6.5-3.8 12.9-9 17.1-14.5-10.6-5-27.8-4.9-37.2-2.5zm-134.9 9.2c-3.7 4-7.8 7.5-12.4 10.2 1.9 8.1 7.4 20.9 14.4 24.1-1-.4 3.7-.2 7.1-3 11.6-12.9 1.4-20.8-9.1-31.3zM69.2 200.1c3.1 5 8.1 10.7 14.3 14.9 9.5 6.3 19.9 8.7 26.3 6.1-1 .4 2.4-2.7 2.8-7.1.4-4.4-.7-9-6.1-13.2-11.37-3-25.07-3.2-37.3-.7zm173.9-.7c-.3 1.5-.6 2.9-1 4.4l1.1 137.1c6-.1 12-.2 18-.1l-1-127.9c-1-2.9-1.8-5.9-2.4-8.8-5.4.2-11.2-1.8-14.7-4.7zm99.7 6.2c-6.7.9-15.9 4.6-19.8 6.7-6.3 8.3-3.6 15.2 1.1 20.5 10-.5 20.1-6.3 25.3-12.3-3.2-4.4-5.3-9.6-6.6-14.9zm-197.9 3c3.1 5 8.1 10.7 14.3 14.9 9.4 6.3 20 8.7 26.3 6.1 3.2-8.3 4-14.5-3.2-20.3-11.4-3-25.2-3.2-37.4-.7zm249.8 16.1c0 4.4 3.1 7.8 2.1 7.3 6.1 3.1 16.8 1.7 26.8-3.9 6.5-3.6 12-8.8 15.5-13.5-14.4-3.2-43.6-9.5-44.4 10.1zm-264.8-5.1c-.6 3.5-1.7 6.8-3.5 9.7 20.3 36.9 37.7 77.7 51.6 117.6 5.8-1 11.9-1.8 18.2-2.6-11.8-34.7-26.4-70.1-43.3-103.5-8.8-5.6-17.9-13.4-23-21.2zm75.7 9.1c-.8 4-2.3 7.8-4.7 10.9 8.5 33.8 15 68.2 19.5 102.4 6-.5 12-.8 18.1-1-4.8-36.8-11.9-74-21.3-110.5-3.9.4-7.8-.4-11.6-1.8zM377 230c-4.2 1.2-8.4 1.7-12.5 1-19.9 35.2-38 74.2-51 113.8 6.3 1 12.4 2.1 18.2 3.4 12.4-37.4 29.5-74.6 48.5-108.2-1.7-3-2.7-6.4-3.2-10zm-72.5 6.6c-3.8 2.5-8 4.2-12.2 4.5-8.3 32.2-15.6 66-21.3 100 6.1.2 12.2.5 18.1 1 5.5-33 12.7-66.1 20.7-97.5-2.2-2.2-3.9-5-5.3-8zM169.9 366.9c-.4 11.7 4.7 24.4 16.5 36.2 48-9.1 97.8-10 145.1 3.2 12.5-10 17-21.1 17.8-34.6-56.8-15.2-121.5-16.3-179.4-4.8zm84.4 47.3c-9 0-18 .5-27 1.3 1.1 20.1 1.5 40 1.3 59.2-2.4-17.8-6.2-37.4-11.2-58.2-6 .7-12 1.5-18 2.5 5.6 22.5 9.7 43.6 12 62.1l17.2-2.1c-.1 2.8-.1 5.6-.2 8.4l18 .4c.2-7 .3-14.1.3-21.2l12.7-.2c-.1 7.8.1 15.5.4 23l18-.8c-1-23-.2-47.7 2-73.4-8.5-.7-17-1-25.5-1zm42.1 2.9c-3 21.6-3.9 42.9-2.1 63.3l18-1.6c-1.6-18.5-.8-38.2 2-58.4-5.9-1.3-11.9-2.4-17.9-3.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Granary;

impl IconShape for Granary {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123 42.82L44.72 87H201.3zM63.12 105c-6.34 7.4-11.42 17.8-15.36 30H198.2c-3.9-12.2-9-22.6-15.3-30zm-20.09 48c-1.24 5.9-2.28 12-3.11 18.2-3.45 25.9-3.81 53.1-3.81 75.8H66v-39h18v39h30v-39h18v39h30v-39h18v39h29.9c-.1-22.7-.4-49.9-3.8-75.8-.8-6.2-1.9-12.3-3.1-18.2zM36 265v226.2h55V368c0-16 16-24 32-24s32 8 32 24v52l7.5-5.1c2.9 2.3 6 4.9 8.6 7 10.9-14.3 23.8-28.2 38.9-40.8V265zm246.6 26.2c-7.7 3.6-9.6 15.5-9.7 23 .7 5.3 1.6 24.7 9.7 23 8.3-1.7 9.6-15.5 9.7-23-.7-5.3-1.4-22.7-9.7-23zm49 2.8c-7.7 3.6-9.6 15.5-9.7 23 .7 5.3 1.6 24.7 9.7 23 8.3-1.7 9.6-15.5 9.7-23-.7-5.3-1.4-22.7-9.7-23zm37.7 2.4c-7.7 3.6-9.6 15.5-9.7 23 .7 5.3 1.6 24.7 9.7 23 8.3-1.7 9.6-15.5 9.7-23-.7-5.3-1.4-22.7-9.7-23zm56.8.6c-7.7 3.6-9.6 15.5-9.7 23 .7 5.3 1.6 24.7 9.7 23 8.3-1.7 9.6-15.5 9.7-23-.7-5.3-1.4-22.7-9.7-23zm40.2 2.1c-7.7 3.6-9.6 15.5-9.7 23 .7 5.3 1.6 24.7 9.7 23 8.3-1.7 9.6-15.5 9.7-23-.7-5.3-1.4-22.7-9.7-23zM294 351.7c-5.9 3.4-11.9 4.4-17.9 2.4.5 7.9.8 16 .9 24.2 6.3 5.5 12.3 11.2 17.9 17.1.3-14.8.1-29.5-.9-43.7zm25.1 2.1c-2.4 23.7-.5 49.1 1.9 73.2 7.9 11 14.9 22.1 21.4 33.1-2.9-33.5-8-71.1-5.5-102.8-6.1 1.6-13.3-.2-17.8-3.5zm37.2 2.1c-2 18.3-1.6 38.8-.6 59.2 1.6 29.2 4.7 55.3 5.5 76.1h18c-.7-22-4-48.2-5.5-77.1-1-19.1-1.1-38.2.4-54.3-6.2 1.5-13.3-.6-17.8-3.9zm82.4.8c-5.9 3.5-11.6 5.5-17.8 3.6 3.7 41.4-3.4 94.9-6 130.9h18c2.5-35.4 10.7-88.6 5.8-134.5zm16.3 3c-2.8 43.3 1.5 96.2 1.9 131.5h18c-.4-36.1-4.2-88.8-1.9-129.2-6.1 2-13.1.8-18-2.3zm-209.1 17.6c-25.3 15.9-45.5 35.7-61 56.5 21 18.8 30.7 34.9 42.1 57.4h110.9c-21.4-39.2-48.8-84.9-92-113.9zm-84.4 60.2c-26.4 18.7-35.4 36.1-44 53.7h87.1c-9.7-17.1-20-34.5-43.1-53.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GraspingSlug;

impl IconShape for GraspingSlug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M143.9 47.4h-3.4c-36 .82-71.95 24.26-79.66 61.4-19.82 125-51.537 210-30.57 326.6l1.78-19.2c1.16-12.6 4.36-31.4 11.03-49.7 6.22-17.1 15.42-34 30.19-44.4 7.51-27 7.25-47 4.48-68.1-2.87-21.9-8.64-45.1-10.85-76.2l17.96-1.2c2.09 29.5 7.69 51.8 10.74 75 3.05 23.3 3.26 47.6-5.85 78.5l-.99 3.4-3 1.8c-10.87 6.6-19.83 21.1-25.76 37.4-2.8 7.7-4.91 15.6-6.51 23.1L93.97 364l.35 18c.37 19.3 4.67 37.8 10.18 56.3 5.5-17.8 10.8-34.6 8.1-55.9l-2.6-20.2 16.7 11.7c12.2 8.6 18.9 14.2 25 21 .3-5.9 0-11.5-1.2-16.8-2.4-11.2-8.3-22.1-21.3-34.3l-2-1.9-.6-2.7c-6.1-26.6-12.8-49.2-14.5-72.5-1.7-23.3 2.2-47.2 16.7-74.1l15.8 8.6c-13.1 24.2-16 43.6-14.5 64.2 1.4 20 7.5 41.4 13.5 67.4 13.6 13.4 21.5 27.3 24.5 41.5 3.3 14.9 1.6 29.7-1.6 44.7l-4.3 20.2-11.9-16.9c-8.3-11.8-12-16.6-19.2-22.6-1.2 25.2-10.4 44.9-15.2 64.8 3.2.1 6.4.1 9.7.1 50.7-.3 109.5-8.6 143.8-25.5l3-1.4 3.2.8c61.4 15.7 139.2 12.5 213 10.5-8.1-16.7-20.4-23.1-38-28.1-21.2-6-49.2-8.1-78.6-19.5l-6.9-2.7 1.2-7.2c.5-2.8-.4-6.5-3.4-11-3.1-4.4-8.2-9.1-14.3-13-12.2-7.7-28.4-11.6-39-8.5l-14.7 4.1 3.4-14.8c4-17.2 2.4-27.4-3.4-34.9-5.8-7.6-17.9-13.8-38.1-18.2l-5.8-1.3-5.9-31.3c-16.8-5.6-48.3-3.2-81 10.1 6.7-35.5 46-47.9 73.8-48.7l-7.5-39.6.9-2.4c8.9-23.5 3-39.8-10.8-56.6l-1.7-1.9-.3-2.6C214.8 93.67 204 75.48 190 63.85c-13.1-10.92-29.4-16.18-46.1-16.45zM378 122.6c-46.4 10.1-87 22.5-125 41.3-.2 7-1.4 14.3-4 21.8l1.3 6.7c33.2-16.9 67.2-34.7 109.5-42.4l7.5-1.3 2.6 7.2c4.3 12.3 17.1 27.5 32.1 41.4 3.3 3.1 6.8 6.1 10.3 9-6.6-12.6-12.6-25.7-15.9-39.9l-2.2-9.6 9.8-1.3c22.3-3.1 38.2 3.4 49.2 13 2 1.7 3.8 3.6 5.5 5.4-2-8.2-4.6-14.2-9-19.2-8.7-10-28.3-19.2-71.7-32.1zm-219.5.6c6.9-.1 13.3.8 17.9 3.4 12.8 7.5 19.4 40.1 19.4 40.1-21.5-15.2-48.4-25.9-75.4-36.5 0 0 20.6-6.7 38.1-7zM77.61 399.7l-47.1 37c.83 4.5 1.72 9.1 2.71 13.7.19 0 1.75 1.8 5.96 3.6 4.73 2 11.81 4 20.44 5.7 9.61 1.8 21.18 3.1 33.89 3.9-6.76-20.4-13.25-41.4-15.9-63.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grass;

impl IconShape for Grass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 494l36.35-330.4c6.728 107.62 4.086 231.82 35.556 295.67 11.205-84.926 15.707-168.18 10.562-249.01 15.225 71.69 35.543 141.68 39.468 217.14 7.395-55.935 12.667-111.52 31.798-169.41-.76 65.19-17.16 124.9 12.677 157.47 14.433-51.01 28.992-101.9 31.46-164.88 21.27 61.862 18.342 135.82 24.948 205.02 8.417-68.06 15.28-257.84 46.907-318.17-3.11 124.98-3.862 223.94 27.398 274.23 30.897-38.673 33.566-114.44 34.28-186.34 21.812 61.75 36.457 132.1 37.857 218.34 8.626-71.955 18.667-143.91 43.39-215.86-5.748 88.29-1.284 156.95 19.525 194.17 13.76-55.55 25.504-111.1 29.12-166.66 18.42 82.78 13 159.59 16.706 238.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GrassMushroom;

impl IconShape for GrassMushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.4 57.61c-34.3 4.67-64.1 25.44-86.28 51.99-20.64 24.6-34.16 54.1-38.39 77.6 70.27 27.5 139.37 40.6 213.27 5-6.3-46.2-25.3-105.82-88.6-134.59zM361 110.8c-49.8 18.4-65 54.7-70.5 84 58.7 22.2 114.1 14.1 170.1-3.5-4-14-14.3-31.5-29.7-46.4-17.7-17.2-41.9-30.9-69.9-34.1zM376.4 226c-5.3.2-10.7.3-16.1.2l-29.9 144.2c4.6 4.4 8.6 8.5 12.1 12.9 4 5 7.2 10.4 10 16.6 4.6-9.1 10.1-18.5 16.4-28.1l7.5-145.8zm-231.3 5.1c-4.6 31.9-6.5 63.7-5 95.5 21.6 17.8 35.9 33.8 46.6 57.3 2.3-5.7 4.8-11.4 7.3-17-11.6-43.6-20.5-88.2-22.9-135.3-8.7.3-17.4.1-26-.5zm302.9 69c-12.4 14-24.9 28.7-36.5 43.6-24.2 30.7-44.4 62-51.5 84.9l-9.7 31.2-7.7-31.8c-4.1-17.1-7.7-25.4-14.1-33.5-4.2-5.2-10.6-11.1-18.5-18.1 0 10.1-.5 19.5-2.9 28.4-4 14.3-13.3 27-30.6 40.1l-7.2 5.4-5.4-7.2c-23.3-31.2-25.3-80.3-20.2-125.7-22.8 31.7-36.7 60.7-48.3 94.6l-8.8 25.9-8.3-26.1c-12.2-38.8-26.5-54.1-59.9-79.6 2.3 13.6 4.7 27.3 5.4 41.3 1.1 21.5-2.1 43.9-15.9 66.3l-12.97 20.9-3.63-24.3c-7.1-47.5-21.46-68.6-45.71-89.6 15.7 45.5 14.22 91.6.47 139H477.2c-10.3-27.8-16.6-58.7-7.8-95.7-18.6 7.6-37.8 23.4-42.7 51.2l-5.4 30.3-11.8-28.4c-12-28.8 1.4-64.8 17.6-100.2 6.6-14.7 14-29.1 20.9-42.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GraveFlowers;

impl IconShape for GraveFlowers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-47 0-84.6 7.94-110.1 29.83C120.3 92.72 105 129.5 105 192v13.2l12.6 16.8 22.9-55.9 8.7 18.3s2.7 5.5 6.3 14.6H208v18h-45.8c3 8.9 6 19.1 8.6 30H240v18h-65.7c2.7 16.8 3.5 34.3.3 50.7-3.4 16.5-11.3 32.2-25.7 43 11 15.8 19.6 32 26 48.3h3.8c15.5-18.4 38-31.8 56.9-42.4l10-5.5 3.1 11c3.8 13.7 6.1 25.9 6.9 36.9h38.7c0-3.6.4-7.3 1.1-10.9 1.3-6.3 3.6-12.6 6.8-18.9-7.4-1.9-14.4-4.3-20.7-7.4-13.2-6.5-24.4-16.5-26.2-29.5-1.7-13 7-22.4 18.6-28.2 5.1-2.6 11-4.6 17.6-6-4.3-5.8-7.8-11.6-10.4-17.2-3-6.4-5-12.8-5.3-19-.2-6.2 1.3-12.7 5.7-17.7 4.5-4.9 10.9-7.1 17-7.5 6.2-.3 12.7 1 19.4 3.3 5.8 2 11.9 4.8 18 8.4.6-7.3 2.1-14 4.3-19.8 3.3-8.8 8.7-16.3 16.4-19.6H240v-18h128v16.3c12.4 1.2 22.8 11 30.4 22.9 3.3 5.3 6.2 11.2 8.6 17.6V192c0-62.5-15.3-99.28-40.9-121.17C340.6 48.94 303 41 256 41zM144 151h144v18H144v-18zm176 0h48v18h-48v-18zM82.29 204.9l10.96 71.4L39 229.7l29.42 56.6-52.19-8c7.77 11.2 19.04 26.1 32.84 40 12.82 12.9 27.49 24.5 41.9 30.4 14.43 5.9 27.83 6.7 41.73-1 14.1-7.8 21.1-19.9 24.2-35.5 3.1-15.6 1.8-34.4-1.7-52.3-3.6-18.3-9.3-35.5-14-48l-19 46.3-39.91-53.3zm286.41 30.2c-3.3 0-7.9 3.1-11.2 12-3.4 8.9-4.8 22.3-2.8 37.4.5 3.5 1.1 6.9 1.8 10.2 12.4-5.3 26.9-5.1 40.3.1-.1-2.9-.4-6-.8-9.1-2-15.1-7-28.7-12.8-37.9-5.7-9.1-11.2-12.6-14.5-12.7zm-69.2 27.6c-2.9.2-4 .9-4.6 1.6-.6.7-1.2 1.8-1.1 4.8.2 2.9 1.3 7.2 3.6 12.2 3.1 6.7 8.4 14.6 15.3 22.5 2-.1 4-.1 6 0 7.5.2 14.8 1.1 21.8 2.5.1-.2.3-.3.4-.5.3-.3.6-.6.8-.9-2.3-7.2-4.1-14.9-5.1-22.9-.2-1.3-.3-2.6-.5-3.9-8.5-6.1-16.9-10.6-24-13.1-4.6-1.6-8.5-2.2-11.4-2.3h-1.2zm140.9 4c-2.6 0-5.6.6-9 1.6-5.6 1.8-12 5.2-18.2 10.1.3 1.9.6 3.8.9 5.8 1 7.5 1.3 14.7 1 21.5.5.4 1 .9 1.5 1.3.4.4.8.8 1.3 1.2 6.1-.8 12.6-1.2 19.5-1 2.7.1 5.3.2 7.9.5 4.2-6.8 7-13.5 8.2-19.4 1.9-9.3.2-15.4-3.3-18.6-2.2-1.9-5.5-3.1-9.8-3zm-64.6 42.1c-8.5.1-16.2 3.2-21.5 9.1-11.3 12.5-9 34.7 7.7 49.7 16.6 15 39 15 50.2 2.5 11.3-12.5 9-34.8-7.6-49.8-8.8-8-19.3-11.7-28.8-11.5zm-57.5 12.9c-14 0-26.2 2.7-34.2 6.7-8.5 4.2-11.1 9.2-10.7 12.4.5 3.3 4.4 8.5 14.1 13.2 9.7 4.8 23.8 8.4 39 8.8 3.2.1 6.3 0 9.3-.2-6.5-12.8-8.3-27.2-4.4-40-3.3-.4-6.8-.7-10.3-.8-1 0-1.9 0-2.8-.1zm118.7 3.4c-2.1 0-4.2.1-6.3.2 6.6 12.8 8.3 27.3 4.3 40.1 3.4.4 6.8.7 10.3.8 15.2.5 28.4-2.3 36.9-6.6 8.5-4.2 11.2-9.2 10.7-12.5-.4-3.2-4.4-8.4-14.1-13.1-9.7-4.8-23.8-8.4-39-8.8-.9 0-1.9 0-2.8-.1zm-303.8 42.2c-9.4 3.5-18.9 4.4-28.2 3.4V407h50.7c-5.8-13.4-13.2-26.6-22.5-39.7zm215.4 12.5c-6.1.8-12.8 1.2-19.7 1-2.6-.1-5.2-.3-7.7-.5-4.2 6.8-6.9 13.5-8.2 19.4-1.9 9.2-.1 15.3 3.4 18.5 3.5 3.1 9.7 4.2 18.8 1.4 5.7-1.8 12-5.3 18.3-10.1-.5-2.5-1-5.1-1.3-7.7-.9-6.9-1.2-13.5-1-19.7-.4-.4-.9-.7-1.3-1.1-.4-.4-.9-.8-1.3-1.2zm77.3 1.9c-.1.2-.2.3-.3.4-.2.2-.4.4-.5.6 2.1 6.7 3.8 13.8 4.7 21.3.3 2 .5 4 .6 5.9 8.6 6.2 17 10.6 24 13 5.3 1.8 9.7 2.5 12.6 2.3 3-.1 4.1-.9 4.7-1.5.6-.7 1.2-1.9 1-4.8-.1-3-1.2-7.3-3.6-12.3-3.1-6.7-8.3-14.6-15.3-22.4-2 .1-4 .1-6.1 0-7.5-.2-14.8-1.1-21.8-2.5zm-191.7 4.6C216.3 397 197.9 410 188 424.5c-5.9 8.7-8.9 17.5-8.2 27.3.6 8.3 4.2 17.9 12.2 28.8 19.6-11.8 33.1-22.8 40-36.5 6.7-13.5 8.3-31 2.2-57.8zm135.3 6.8c.1 3 .4 6.1.8 9.2 2 15 7 28.7 12.8 37.9 5.7 9.1 11.2 12.5 14.5 12.6 3.3.1 8-3 11.3-11.9 3.4-8.9 4.8-22.4 2.8-37.4-.5-3.5-1.1-6.9-1.8-10.2-12.4 5.2-27 5-40.4-.2zM41 425v62h131.8c0-.8-.1-1.7-.1-2.5-6.6-10.8-10.1-21.2-10.9-31.4-.5-7.5.5-14.7 2.7-21.4-.6-2.2-1.3-4.5-2-6.7H41zm214.6 0c-1 10-3.4 19-7.5 27.1-7.1 14.1-18.3 25-32.6 34.9h108.7c-1.3-17.7 4.9-34.2 14.7-49.7-12.3 3.4-25.3 2.5-34.5-5.8-2.2-1.9-3.9-4.1-5.4-6.5h-43.4zm174.7 6.3c-.7 6.7-2.1 12.8-4.1 18.1-4.6 12.1-13.1 21.8-26.2 21.4-13.1-.4-24.2-10.6-32-23.1-2.3-3.6-4.4-7.6-6.3-11.7-13.5 17.6-21.2 34.4-19.4 51H471v-44.2c-1 .2-2 .3-3 .4-6.2.3-12.7-1-19.4-3.2-5.9-2-12.1-5-18.3-8.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Graveyard;

impl IconShape for Graveyard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 73c-25.495 0-44.07 6.4-55.97 13.86C60.134 94.32 56 103.84 56 104.63v40.274c6.343 2.532 12.03 5.422 17.023 8.545C89.79 163.94 100 175.957 100 189.542v59.57c8.63-1.35 17.956-2.113 28-2.113s19.37.764 28 2.113v-59.57c0-13.585 10.21-25.604 26.977-36.094 4.992-3.124 10.68-6.014 17.023-8.546V104.63c0-.792-4.133-10.31-16.03-17.77C172.07 79.4 153.494 73 128 73zm256 0c-25.495 0-44.07 6.4-55.97 13.86C316.134 94.32 312 103.84 312 104.63v40.274c6.343 2.532 12.03 5.422 17.023 8.545C345.79 163.94 356 175.957 356 189.542v59.57c8.63-1.35 17.956-2.113 28-2.113s19.37.764 28 2.113v-59.57c0-13.585 10.21-25.604 26.977-36.094 4.992-3.124 10.68-6.014 17.023-8.546V104.63c0-.792-4.133-10.31-16.03-17.77C428.07 79.4 409.494 73 384 73zM119 91.086h18v31.63h45v18h-45v99.34h-18v-99.34H74v-18h45v-31.63zm256 0h18v31.63h45v18h-45v99.34h-18v-99.34h-45v-18h45v-31.63zM256 153c-28.832 0-49.91 7.222-63.477 15.71C178.958 177.195 174 187.946 174 189.542v63.494c12.076 3.43 22.355 8.07 30.77 13.33C222.37 277.367 233 290 233 304v58.715h46V304c0-14 10.63-26.632 28.23-37.633 8.415-5.26 18.694-9.9 30.77-13.33v-63.494c0-1.596-4.958-12.347-18.523-20.834C305.91 160.22 284.832 153 256 153zm-238 1.016v56.888h42.666v18H18v133.81h5V304c0-14 10.63-26.632 28.23-37.633 8.415-5.26 18.694-9.9 30.77-13.33v-63.494c0-1.596-4.958-12.347-18.523-20.834C52.917 162.1 37.78 156.28 18 154.015zm476 0c-19.78 2.263-34.916 8.086-45.477 14.693C434.958 177.195 430 187.946 430 189.542v63.494c12.076 3.43 22.355 8.07 30.77 13.33C478.37 277.367 489 290 489 304v58.715h5v-133.81h-42.666v-18H494v-56.89zM247 174.36h18v36.544h51.666v18H265v112.448h-18V228.904h-51.666v-18H247V174.36zM128 265c-30.5 0-52.83 7.633-67.23 16.633C46.37 290.633 41 302 41 304v183h174V304c0-2-5.37-13.368-19.77-22.367-14.4-9-36.73-16.633-67.23-16.633zm256 0c-30.5 0-52.83 7.633-67.23 16.633C302.37 290.633 297 302 297 304v183h174V304c0-2-5.37-13.368-19.77-22.367-14.4-9-36.73-16.633-67.23-16.633zm-265 23h18v39h55v18h-55v119h-18V345H64v-18h55v-39zm256 0h18v39h55v18h-55v119h-18V345h-55v-18h55v-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gravitation;

impl IconShape for Gravitation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M357.6 34.58h-.1c.4-.13-6.8 4.48-13.5 11.36-6.8 6.87-14.6 15.94-21.7 25.09-3.9 4.91-7.4 9.74-10.6 14.38 2.8 2.57 13.4 8 16.6 9.5 10.2-16.03 23.2-32.74 45.7-38.18-3.8-7.61-7.7-18.67-16.4-22.15zm-129.7.38c-39.9.55-84.7 27.32-106.3 60.28-16.5 25.06-27.64 58.86-29.82 92.16-2.18 33.3 4.56 66 22.12 89.7 2.5 3.4 5.6 5.2 10.4 6.6 4.8 1.3 11 1.9 17.9 2.2 13.7.5 30.2-.3 44.3 9 12 8 16.7 21 21.6 31.2 2.4 5 4.6 9.1 6.9 12.1V189.9h82v149.2c36.7-12.5 71.6-37.4 93.3-66 13.7-18.1 24.5-42.8 28.5-67.5 4.1-24.7 1.4-49.1-9.9-67.6-7.7-12.3-22.7-16.1-42.2-18.8-19.6-2.7-42.4-3.6-60.9-15.7-15.8-10.33-24.4-27.24-33.2-41.08-8.8-13.84-16.8-23.82-28-26.03-5.4-1.05-11-1.53-16.7-1.43zM233 207.9v170.2h-55l78 103.7 78-103.7h-55V207.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GreatPyramid;

impl IconShape for GreatPyramid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 28.5a112 112 0 0 0-112 112 112 112 0 0 0 24.4 69.8L256 58.49l87.5 151.71a112 112 0 0 0 24.5-69.7 112 112 0 0 0-112-112zm0 66.01l-39.8 68.99h79.6zm-50.2 86.99l-26.5 46H247v-46zm59.2 0v46h67.7l-26.5-46zm-96.1 64l-26.5 46h227.2l-26.5-46zm-36.9 64l-26.5 46H247v-46zm133 0v46h141.5l-26.5-46zm-169.93 64l-26.55 46H443.5l-26.6-46zm-36.93 64l-26.55 46H247v-46zm206.86 0v46h215.4l-26.6-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Greaves;

impl IconShape for Greaves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144 37.28c-25.883 0-63.05 25.96-65.22 82.845l65.345 28.47 71.625-28.626C213.124 63.69 169.852 37.28 144 37.28zm224 0c-25.852 0-69.124 26.412-71.75 82.69l71.625 28.624 65.344-28.47c-2.17-56.883-39.337-82.843-65.22-82.843zM76.594 136.626c-10.887 40.29-12.11 90.026-9.844 141.03 46.136 10.675 93.357 7.68 141.406.44 8.464-50.25 12.923-99.296 3.625-139.314l-64.81 25.907-3.095 1.25-3.063-1.343-64.218-27.97zm358.812 0l-64.22 27.97-3.06 1.343-3.095-1.25-64.81-25.907c-9.3 40.02-4.84 89.064 3.624 139.314 48.05 7.242 95.27 10.236 141.406-.438 2.266-51.005 1.043-100.74-9.844-141.03zm-250.25 160.72c-31.678 3.654-63.5 4.865-95.25.75 12.238 12.217 23.424 24.845 35.47 36.217 2.198 2.077 4.425 4.107 6.686 6.094 18.086-12.095 35.813-26.27 53.094-43.062zm141.688 0c17.28 16.792 35.008 30.966 53.094 43.06 2.26-1.986 4.488-4.016 6.687-6.092 12.045-11.373 23.23-24 35.47-36.22-31.752 4.117-63.573 2.906-95.25-.75zm-258.97 1.842c1.515 24.774 3.633 49.29 5.69 73.188 15.054-6.598 29.912-14.187 44.53-23.03-1.24-1.13-2.477-2.264-3.688-3.408-16.52-15.597-30.655-32.307-46.53-46.75zm376.25 0c-15.875 14.443-30.01 31.153-46.53 46.75-1.21 1.144-2.448 2.278-3.688 3.407 14.618 8.844 29.476 16.433 44.53 23.03 2.057-23.897 4.175-48.413 5.69-73.187zm-240.093 1.844c-19.095 19.538-38.774 35.968-58.936 49.845 12.672 9.234 27 16.825 44.78 21.625 4.59-23.255 9.642-47.365 14.157-71.47zm103.94 0c4.514 24.105 9.566 48.215 14.155 71.47 17.78-4.8 32.11-12.39 44.78-21.625-20.16-13.877-39.84-30.307-58.936-49.844zM130.936 360.19c-15.606 9.753-31.47 18.076-47.5 25.28 11.79 18.345 27.05 33.88 44.282 47.97 18.94-13.89 36.69-28.745 51.124-47.532-18.94-6.09-34.415-15.227-47.906-25.72zm250.125 0c-13.49 10.49-28.966 19.628-47.906 25.718 14.435 18.787 32.183 33.642 51.125 47.53 17.234-14.087 32.494-29.623 44.283-47.967-16.03-7.206-31.894-15.53-47.5-25.283zM76.125 403.125c1.866 23.033 3.352 44.754 3.75 64.22 11.39-8.415 22.977-16.29 34.313-24.25-14.114-11.857-27.09-24.923-38.063-39.97zm359.75 0c-10.973 15.047-23.95 28.113-38.063 39.97 11.336 7.96 22.924 15.835 34.313 24.25.398-19.466 1.884-41.187 3.75-64.22zm-252.156 2.063c-12.975 14.874-27.61 27.23-42.75 38.53 11.24 8.348 23.104 16.282 35.218 24.126.75-19.013 3.624-40.192 7.53-62.656zm144.56 0c3.908 22.464 6.783 43.643 7.533 62.656 12.113-7.844 23.977-15.778 35.218-24.125-15.14-11.303-29.775-23.658-42.75-38.533zm-200.967 48.375c-13.318 9.394-26.726 18.344-39.47 27.812 26.524 12.555 53.04 11.06 79.563-.156-13.63-8.813-27.194-17.85-40.094-27.658zm257.375 0c-12.9 9.808-26.464 18.844-40.094 27.656 26.523 11.214 53.04 12.71 79.562.155-12.743-9.468-26.15-18.418-39.47-27.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GreekSphinx;

impl IconShape for GreekSphinx {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.918 18.367c-8.917-.064-17.212 1.962-23.543 5.051-11.24 5.484-20.096 11.911-27.113 18.904 3.28 11.769 7.948 22.497 15.144 31.326-10.145-5.655-18.612-12.094-25.033-19.488-4.668 6.765-8.07 13.823-10.611 20.9 3.235 19.179 8.356 36.941 19.283 50.348-10.477-5.84-19.16-12.516-25.652-20.217-.925 10.6-.609 19.891-.532 26.448.043 3.638.266 7.166.657 10.6 13.981 18.246 29.227 33.875 48.068 42.052-13.02-.402-24.89-2.3-35.387-5.977 6.518 10.102 15.463 19.273 26.96 27.864 26.948 20.14 68.23 36.175 122.849 48.974 25.607 6.001 62.512 14.174 96.15 19.383 16.82 2.605 32.834 4.46 46.012 4.963 13.178.503 23.742-.74 27.96-2.508.214-.09 6.042-4.039 10.415-10.119 4.373-6.08 8.208-14.314 8.96-24.107 1.506-19.587-8.547-47.553-58.954-80.69-6.05-3.977-11.59-5.844-20.84-6.174-9.219 15.595-19.034 30.693-28.297 45.143l-5.432 8.473-41.582-33.73 5.791-7.003a479.224 479.224 0 0 0 5.575-6.877c-12.556 1.595-26.407 3.35-43.301 5.332-27.381 3.214-56.9-14.159-69.715-39.236-6.407-12.539-8.059-27.902-1.223-42.219 5.95-12.46 17.68-23.617 35.952-32.928-10.185-18.466-23.17-27.73-36.127-31.888-5.51-1.768-11.084-2.561-16.434-2.6zm234.78 27.121a53.41 53.41 0 0 0-1.981.057c-3.59.167-7.549.7-11.944 1.691-16.172 3.649-22.844 12.548-27.14 24.17-1.48 4.001-2.49 8.283-3.244 12.608l9.498-3.871c20.375-10.896 43.214-18.666 65.457-21.428-2.403-2.547-5.175-5.035-8.551-7.164-5.503-3.471-12.384-6.154-22.096-6.063zm41.318 30.371c-15.807 1.023-32.982 5.348-49.346 11.899-5.445 17.47-13.343 34.595-22.354 51.226 7.947 1.3 14.748 3.858 21.123 8.05a290.222 290.222 0 0 1 5.284 3.56l8.006-16.989 7.494 2.362c8.542 2.69 14.213 2.383 16.011 1.299 5.7-3.437 12.507-17.943 14.498-33.657.996-7.856 1.05-15.843.268-22.345a46.616 46.616 0 0 0-.984-5.405zm-72.233 22.133l-17.156 6.992c-11.334 25.387-24.555 46.229-41.961 68.118l11.998 9.732c17.575-27.43 35.58-56.2 47.12-84.842zM116.02 225.31c16.018 18.444 35.768 36.085 59.335 52.093 9.136-5.101 18.304-9.864 27.233-14.261-35.12-10.33-64.06-22.591-86.568-37.832zm113.646 45.138c-21.982 10.011-47.187 22.765-69.982 37.475 8.338 2.179 16.164 5.88 23.263 10.396 12.355 7.862 19.613 19.266 21.744 31.475 2.132 12.208-.286 24.851-4.832 37.305-2.42 6.633-5.485 13.26-8.947 19.79 51.623-25.596 99.141-54.305 145.688-83.656a1091.52 1091.52 0 0 1-3.516-31.437c-33.534-5.344-69.2-13.262-94.184-19.117a777.507 777.507 0 0 1-9.234-2.23zm121.838 24.032c6.847 68.199 19.675 133.82 36.01 200h71.193l-10.27-24.11c-.303-.574-8.443-7.54-30.308-5.943l-9.22.672-7.704-167.65c-5.145.312-10.711.266-16.72.036-10.056-.383-21.24-1.471-32.981-3.005zM143.2 323.73c-3.497.07-7.066.58-10.728 1.594-14.65 4.053-32.056 16.904-51.194 46.156-13.494 20.627-29.615 50.071-36.076 74.899-3.23 12.414-3.902 23.516-1.71 31.34 1.715 6.126 4.725 10.48 10.685 13.705 2.625-6.57 5.954-14.105 10.744-21.11C71.47 460.74 81.53 451.817 95.6 449.97c9.753-1.282 19.206-1.72 28.38-1.559 5.416.095 10.733.403 15.96.863a70.175 70.175 0 0 0 3.384-3.974c14.898-18.974 31.876-43.138 39.627-64.373 3.876-10.618 5.356-20.318 4.008-28.037-1.348-7.72-4.947-13.829-13.676-19.383-9.745-6.201-19.589-9.982-30.082-9.776zM120.54 466.395c-7.39-.016-14.91.41-22.594 1.42-8.01 1.052-13.33 5.588-18.166 12.66-2.458 3.595-4.575 7.753-6.478 12.015l165.947.297c-.742-1.223-1.707-2.334-3.389-3.562-4.65-3.398-16.413-7.698-39.644-12.264-23.574-4.633-47.304-10.058-72.516-10.533-1.05-.02-2.104-.031-3.16-.033z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GreekTemple;

impl IconShape for GreekTemple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.2L52 135h408L256 26.2zM73 153v14h366v-14H73zm16 32v206h30V185H89zm101.334 0v206h30V185h-30zm101.332 0v206h30V185h-30zM393 185v206h30V185h-30zM73 409v30h366v-30H73zm-32 48v30h430v-30H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GreenPower;

impl IconShape for GreenPower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209 32v55h18V32h-18zm76 0v55h18V32h-18zm-100 73v16h142v-16H185zm16 34v34.3l32 48V247h46v-25.7l32-48V139H201zm42.8 126c-1.3 5.8-2.9 11.5-4.6 17.1-2.8 9.4-5.9 18.3-7.3 27.1-5.3-.9-10.3-1.3-15-1.3-5.3 0-10.4.5-15.2 1.5.4.4.9.9 1.3 1.4 4 4.4 6.4 9.5 7.8 15 5.9-.6 12.5-.1 21 1.7 1.5 7.4 4.8 13.7 8.8 18.9 5.3 6.9 11.6 12 17.2 16.9 5.6 4.8 10.4 9.4 13.5 14.2 1.7 2.7 3 5.4 3.7 8.5 1.8-3.1 4.1-6 6.9-8.6 2.2-2.1 4.6-3.8 7.1-5.2-.8-1.5-1.6-3-2.5-4.4-4.9-7.5-11.1-13.1-16.9-18.1-5.8-5-11.1-9.6-14.7-14.3-3.7-4.6-5.7-9.1-5.9-15.6-.1-5.2 1.7-12.9 4.3-22.1 6-.8 14.5-1.6 24.1-1.6 5 0 10.1.3 15.1.9-.3-6.1.6-12.3 3.5-17.9-6.4-.8-12.7-1-18.6-1-6.8 0-13.2.4-18.6.9 1.3-4.5 2.4-9.2 3.4-14h-18.4zm91.7 11.9c-.7.1-1.4.1-2.1.1-1 .1-2 .2-2.9.3 19.2 10.6 32.6 23.5 42.8 37.4-18.9-8.2-29.5-19.9-62.8-20.9-.1 2 0 4.3.5 6.8 1.3 7 5 14.6 8.8 19.2v.1c10.9 13.1 40.7 24.2 67.6 30.1 14 3.1 26.6 5 35.9 6.2-2.6-6.2-5.9-13.7-10-21.9-9.5-18.8-23.3-39.1-34.3-45.4-9.9-5.7-24-10.6-36.6-11.7-2.4-.2-4.7-.3-6.9-.3zm-174.9 34.2H156c-2 0-4.1.1-6.2.3-16.9 1.5-35.3 8.1-48.6 15.7-15.23 8.8-33.09 35.8-45.47 60.6-6.46 13-11.45 24.7-14.95 33.4 12.01-1.4 29.12-3.7 51.4-8.7 35.12-7.8 74.12-22.1 89.02-40.4 5.4-6.5 10.4-16.9 12.1-26.6.5-2.7.8-5.3.8-7.8-48 3-64.5 20.7-93.2 33.3 15.9-21.9 36.6-42.3 66.3-59.1-1.7-.3-3.5-.5-5.3-.6-.4-.1-.9-.2-1.3-.1zm153.1 72.8c-7.9.1-14.5 2.1-19.6 6.7-.6.5-1.1 1.2-1.7 1.8 32 8.8 72.1 25.6 81.7 45.5-21.7-9.4-54.1-18.5-86.9-24.1.5 8.3 3.6 16.6 7.6 21 16.4 18.7 60.2 25.9 100 25.9 23.1 0 42-1.6 56-3.2-5.6-5.2-11.9-10.9-19.8-17.5-19.1-16.2-43.3-33.9-59.8-40.2-13.7-5.2-29.6-11.7-43.8-14.4-3.6-.7-7-1.2-10.2-1.4-1.2-.1-2.3-.1-3.5-.1zm-44.3 33.3c-2.4 5.8-5.3 11.9-8.3 18.6-7 15.6-14.1 34.6-14.1 60.2h18c0-22.4 5.9-38 12.6-52.8.1-.2.2-.5.3-.7-4.9-7.4-7.7-16.2-8.5-25.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Greenhouse;

impl IconShape for Greenhouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M173.015 22.936L23 188.546V489h466V188.844L356.326 23c-61.101-.336-122.211.492-183.31-.064zM196.207 41h71.467l113.601 142h-57.267zm94.52 0h56.947l113.601 142h-56.95zM176 45.455l135 149.998V471H41V195.453zm46.676 104.662c-28.028 1.213-50.09 13.314-66.613 29.309-19.1 18.49-30.514 42.355-33.84 59.283-7.239 36.843 9.808 61.862 31.07 70.447.02-.202.049-.176.002-.24-7.507-38.847 4.114-75.91 28.72-100.455-18.585 28.567-20.994 70.834-9.7 103.953a38.802 38.802 0 0 0 13.834-3.451c10.316-4.728 19.615-14.342 25.414-30.531 6.178-17.248.883-45.042-1.242-71.45-1.062-13.203-1.264-26.148 1.892-37.703 1.944-7.113 5.327-13.7 10.463-19.162zM329 201h62v110h-62zm80 0h62v110h-62zM78.174 243.512c-15.848 17.804-21.765 38.434-22.088 58.12-.38 23.193 7.323 44.995 15.678 57.44 18.033 26.86 43.723 31.7 61.941 24.3-28.494-19.45-44.12-49.495-44.082-79.847 6.147 29.067 30.586 56.61 57.916 70.24a33.509 33.509 0 0 0 6.424-10.67c3.408-9.175 3.24-20.71-3.149-34.238-6.745-14.28-27.202-28.267-44.939-43.365-8.869-7.55-17.058-15.495-22.326-24.726-3.013-5.281-4.947-11.098-5.375-17.254zm216.205 37.386c-3.45 5.122-8.026 9.207-13.28 12.276-9.176 5.36-20.237 8.138-31.69 10.24-22.91 4.206-47.61 6.085-60.589 15.076-12.295 8.52-18.226 18.434-19.861 28.084a33.488 33.488 0 0 0 .238 12.45c30.484 1.864 65.412-9.769 85.268-31.868-15.136 26.304-43.686 44.509-78.08 47.104 12.078 15.52 36.73 24.18 65.771 9.937 13.456-6.598 31.037-21.629 42.301-41.902 9.562-17.212 14.747-38.051 9.922-61.397zM329 329h62v142h-62zm80 0h62v142h-62zm-257.033 58.621c-3.298 23.051 5.13 45.02 5.135 61.172l18-.006c-.006-21.306-7.68-42.102-5.317-58.615-4.348-6.181-9.231-7.098-17.818-2.55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GriffinShield;

impl IconShape for GriffinShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80 32c-64 256 48 416 176 464 128-48 240-208 176-464-112 32-240 32-352 0zm99.3 52.9c14.7 27.9 40.1 26.4 65 26.4l53.9 1.5 7.8 25 77.1 10.3 3.5 49.9c-27.9 7.4-83.7 5.9-83.8 17.7-.2 20.6 36.3 16.2 78.1 5.9L356.7 276l-61.4 4.4c3.8 46.4-1.2 77.6-35.6 110.7l-21.9-55.3c-12.6 22.6-30 38.8-57.3 41.4 10.6-26 19.1-46.7 9.7-76.3-13.5 13.3-35.1 18.7-64.8 16.7 31.6-49 48.3-101.9 62.1-151.9l-23.2-20.6c-6.6-23.5-1.3-44.1 15-60.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GriffinSymbol;

impl IconShape for GriffinSymbol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.756 18.604c4.052 15.357 3.397 24.041 25.824 32.28-11.984 2.437-17.24 4.507-36.502-4.966 3.663 15.35 4.19 26.554 30.022 29.95-12.1 29.8-9.43 68.721 6.771 101.05C202.175 135.722 175.955 26.476 180.8 19.01c-16.578 15.218-29.301 30.44-38.373 51.594-17.433 59.912-22.848 130.145 11.465 186.052 18.791 24.069 46.468 35.866 82.117 25.237-19.815 21.2-61.112 22.051-60.274 51.793-23.867.12-62.388 50.074-80.752 28.255-17.04-20.245 42.624-48.484 36.143-74.14-4.908-19.427-42.686-26.202-70.23-49.643 7.915-29.149-15.428-39.194-40.99-45.695 12.544 14.59 14.274 38.384 8.67 52.271.993.497 13.347-1.809 17.945 2.08 19.335 16.358 78.757 33.365 61.193 52.356-21.627 23.384-54.648 50.988-38.718 75.239 18.849 28.694 75.356 19.427 105.27-3.641-.646 21.619-16.875 46.225-47.435 52.722-11.366 1.646-5.19 37.526-33.92 56.473 5.498 4.408 31.43 21.09 38.424 16.185 16.572-11.619 36.787-25.491 61.875 1.211-7.23-29.056-14.994-37.351-56.01-30.507 8.758-9.139 37.773-18.964 55.918-10.903 54.972-19.776 31.988-37.868 66.926-72.05 30.825 9.253 22.75 44.758 43.98 56.726 29.066-5.264 44.414-10.73 51.756-2.137 7.306 9.274 11.514 11.72 29.24 11.084 11.7 2.646 23.577 15.721 2.686 33.266 40.79-5.645 37.187-35.145 10.467-53.123 8.726-30.173 36.299-6.263 48.135 3.957-6.592-41.814-51.232-51.059-69.44-16.371-11.71-8.922-21.316-18.63-40.031-20.047 3.35-27.712-1.264-36.928-8.512-55.35 15.492-14.416 27.208-27.594 37.441-44.102 37.842 7.222 90.616 15.978 79.995 51.612 40.211-42.77-8.803-40.885-4.623-54.281 4.071-13.05 30.22-16.567 39.304 4.453 4-40.592-44.39-41.118-52.69-21.375-19.237-.065-27.955-9.57-43.263-19.854a159.814 159.814 0 0 0 6.06-26.912c16.883-4.655 34.953-7.128 49.891-20.533 25.367 9.855 42.736-4.934 42.174-27.07 0 0-32.033 35.189-33.7-1.795-.681-15.082 18.625-29.18 43.183-13.656-17.624-40.296-63.094-24.75-62.852 16.8-15.843 7.322-28.376 7.113-41.28 2.614-10.32-30.437-43.035-39.44-60.757-52.116-10.889-7.788 9.06-25.721 27.973-17.61 18.912 8.11 36.923-1.29 45.836-10.24-26.242 2.808-48.716-14.667-48.141-17.93.6-3.41 29.811-7.592 51.326 5.825-1.565-34.591-30.833-35.783-52.08-37.105-18.792-34.937-43.299-38.584-71.062-24.748-19.344-1.381-43.732-6.665-61.303-15.277zM85.154 25.355a2.007 2.007 0 0 0-.265.604c.09-.202.174-.402.265-.604zm-.265.604c-43.453 96.534-16.103 179.77 41.088 215.559-20.947-50.153-17.93-106.467-5.967-156.57-19.158-25.464-36.877-52.809-35.121-58.989zm221.45 17.627c1.756 0 29.795 15.652 29.795 15.652l-23.078 3.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Growth;

impl IconShape for Growth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33.78C205.2 119.6 154.2 177 103.7 228.7c101.3-39.2 203.3-39.2 304.6 0C357.8 177 306.8 119.6 256 33.78zm0 183.02c-10.4 0-20.8.5-31.3 1.4 6.5 104.2-48.4 216.9-158.29 268.8H445.6c-109.9-51.9-164.8-164.6-158.3-268.8-10.5-.9-20.9-1.4-31.3-1.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Guards;

impl IconShape for Guards {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M72.877 31.904c-.99-.014-1.958.006-2.988.098C43.67 35.408 22.545 61.005 18 93.775v26.15c2.296 16.266 8.804 30.665 17.848 41.565-6.58 1.237-12.504 3.53-17.848 6.717v23.813c22.983.386 43.265 14.03 57.31 34.318C89.56 246.92 98 274.598 98 305c0 30.402-8.44 58.08-22.69 78.662C61.266 403.95 40.984 417.592 18 417.98v8.577L23.03 494h7.67l108.204-161.824L140 304c.732-41.132 16.536-59.598 32-48 4.26 3.195 8.3 6.024 12.135 8.533l23.574-35.258c-21.607-17.4-59.103-43.23-90.68-68.658 10.89-13.647 17.894-32.612 17.894-53.627C134.924 65.494 108.478 32 76 32c-1.12-.036-2.133-.082-3.123-.096zm366.246 0c-.99.014-2.002.06-3.123.096-32.478 0-58.924 33.494-58.924 74.99 0 21.015 7.005 39.98 17.895 53.627-31.577 25.43-69.073 51.26-90.68 68.658l23.577 35.258A232.03 232.03 0 0 0 340 256c15.464-11.598 31.268 6.868 32 48l1.096 28.174L481.3 494h7.67l5.03-67.443v-8.578c-22.983-.388-43.265-14.03-57.31-34.318C422.44 363.08 414 335.402 414 305c0-30.402 8.44-58.08 22.69-78.662 14.045-20.288 34.327-33.932 57.31-34.318v-23.813c-5.344-3.187-11.27-5.48-17.848-6.717 9.044-10.9 15.552-25.3 17.848-41.566v-26.15c-4.546-32.77-25.67-58.366-51.89-61.772a28.52 28.52 0 0 0-2.987-.098zM148.758 46.758l40.068 110.215 47.34-31.653zm214.484 0l-87.408 78.562 47.34 31.653zM230.25 150.93l-16.625 11.117L435.588 494h24.057zm51.5 0l-14.922 22.316 12.03 17.99 19.517-29.19zM18 210.018v189.964c15.993-.38 30.943-9.855 42.512-26.566C72.322 356.356 80 332.036 80 305c0-27.035-7.678-51.357-19.488-68.416-11.57-16.71-26.52-26.186-42.512-26.566zm476 0c-15.993.38-30.943 9.855-42.512 26.566C439.678 253.644 432 277.964 432 305c0 27.035 7.678 51.357 19.488 68.416 11.57 16.71 26.52 26.186 42.512 26.566zM233.145 223.62L52.355 494h24.057l168.762-252.39zm-98.397 215.52L98.066 494h34.55zm242.504 0l2.13 54.86h34.552z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Guatemala;

impl IconShape for Guatemala {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.8 25.24l175.1 1.08-.1 215.08 27.3-.9 78 19.9-97.3 76.3-20.5 68.7-84.7 81.4c-106.1-3.9-179.25-36.3-227.72-90l31.21-136.1 44.61-40.2 117.8-2.1c-.5-50.9-50.7-91.8-109.5-130.92l47 3.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GuitarBassHead;

impl IconShape for GuitarBassHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.2 26.89c-15.2-.25-27.7 33.46-12.3 39.8l8.9 3.61 17.8-15.5-1.8-23.5-8.7-3.6c-1.1-.43-2.1-.68-3.2-.78h-.7zm134.4 7.92h-2.3c-7.4.3-15.3 2.12-23.3 5.75-21.2 9.67-43.6 32.67-59.7 75.74L174.4 394.7l-.1.2v.2c.9.5 3.6 1.9 8 4 9.8 4.8 24 15.7 26.1 38.8v.5l-1 55.6H304c-.1-17.6 1.4-34.5 8.1-51.5 11.7-29.4 39.3-54.9 97-77 0-.2 0 0 .1-.4.3-2 .4-6 0-11-1-10.1-4-24.9-8.6-42.2-9.2-34.7-24.8-80.2-42.4-124.9l-2.4-6.2 5.2-4.2c36.1-28.2 51.1-56.4 53.8-79.56 2.7-23.06-6.5-41.48-21.3-52.25-8.7-6.31-19.3-9.99-30.9-10.02zM260.5 52.44l.7 10.01-7.6 6.6 21.7 8.93c1.2-2.17 2.5-4.28 3.8-6.33l4-9.89zm69 18.56c8.8 0 16 7.16 16 16s-7.2 16-16 16-16-7.16-16-16 7.2-16 16-16zm-136.7 49.7c-15.2-.3-27.9 33.4-12.3 39.8l8.8 3.6 17.8-15.5-1.7-23.6-8.8-3.6c-1.1-.4-2.1-.6-3.1-.7zm32.2 25.5l.7 10-7.6 6.6 19.9 8.1 6.2-16.8zm71.6 19.8c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-139.8 50.6c-15.3-.3-27.8 33.4-12.4 39.8l8.9 3.6 17.8-15.5-1.8-23.6-8.7-3.6c-1.1-.4-2.1-.6-3.1-.7zm32.2 25.5l.7 10-7.6 6.6 20.4 8.3 6.2-16.8zm67.2 19.3c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-140.1 54.4c-15.2-.3-27.78 33.4-12.3 39.8l8.8 3.6 17.8-15.5-1.8-23.6-8.7-3.6c-1.1-.4-2.1-.6-3.1-.7zm32.2 25.5l.7 10-7.6 6.6 22.8 9.3 6.8-16.6zm69.3 18.5c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GuitarHead;

impl IconShape for GuitarHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.6 26.32L137.2 441.9 256 486.4l118.8-44.5-15.4-415.58L256 41.09 152.6 26.32zM64 89c-36 0-36 78 0 78h9.51l13-39-13-39H64zm374.5 0l-13 39 13 39h9.5c36 0 36-78 0-78h-9.5zM192 112a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm128 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-217.6 7l2.1 6.2 1 2.8-3 9h28l.7-18h-28.8zm278.4 0l.7 18h28.1l-2.1-6.2-1-2.8 3-9h-28.7zM60 217c-36 0-36 78 0 78h9.51l13-39-13-39H60zm382.5 0l-13 39 13 39h9.5c36 0 36-78 0-78h-9.5zM192 240a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm128 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-221.56 7l2.06 6.2 1 2.8-3 9h27.3l.7-18H98.44zm287.06 0l.7 18h27.4l-2.1-6.2-1-2.8 3-9h-28zM56 345c-36 0-36 78 0 78h9.51l13-39-13-39H56zm390.5 0l-13 39 13 39h9.5c36 0 36-78 0-78h-9.5zM192 368a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm128 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-225.53 7l2.07 6.2.95 2.8-3 9h26.61l.6-18H94.47zm295.83 0l.6 18h26.7l-2.1-6.2-1-2.8 3-9h-27.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GunRose;

impl IconShape for GunRose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.295 19.848l-51.34 54.99 27.06 85.992L419.644 176l16.406-49.58-45.104-23.934-8.447 23.213 15.62 9.598 2.673-11.535 14.617 7.539-5.763 27.047-49.16-27.498L384 78l43.107 24.766 17.795-57.682-62.607-25.236zM343.08 35.332c-2.256.45-43.49 8.084-53.945 9.863l-1.574 11.092-9.862 111.764 77.112 59.232 112.748-13.799 24.63-100.953-44.634-18.63-4.657 15.091 12.77 8.858-26.49 79.73-85.479-21.86-31.406-99.814 30.787-40.574zM234.521 59.408c-15.696 17.005-26.414 35.976-33.066 56.826 4.388.428 8.425.5 12.68.204 4.97-.346 10.51-1.257 17.322-2.725.01-.25.014-.444.023-.701.342-8.519.931-19.457 1.563-30.285.69-11.784.945-15.149 1.478-23.319zm31.301 61.22c-23.275 6.122-38.105 9.913-50.642 10.788-14.472 1.009-26.797-1.595-49.043-6.684-79.89 3.2-107.938 26.332-141.213 48.772-5.818 16.437-3.375 34.097 3.73 50.64 6.602 15.37 17.187 29.231 27.578 39.14 38.08-22.281 79.671-37.1 132.803-32.423l8.57.756-1.908 8.387c-5.176 22.752 1.912 43.235 15.256 59.676.173.213.36.417.535.629 1.956-6.117 6.192-10.892 11.207-14.15-6.2-11.15-5.858-35.113-2.652-49.89l-27.436-47.519 2.41-3.832c18.819-29.91 42.616-47.438 69.846-53.422l.96-10.867zm-2.345 26.587c-20.222 5.446-37.69 18.777-53.225 42.066l50.553 87.563c2.8-.216 5.62-.417 8.466-.623 4.176-.302 8.378-.609 12.524-.967l-39.01-67.57a7.506 7.506 0 0 1 2.746-10.254 7.508 7.508 0 0 1 10.256 2.748l42.264 73.203c5.233-.814 10.138-1.856 14.494-3.254l6.152-3.553-44.644-77.322a7.462 7.462 0 0 1-.955-4.56l-12.108-9.301 2.487-28.176zm-119.428 2.828c9.99-.24 19.844 4.832 25.158 14.035 7.73 13.388 3.084 30.726-10.303 38.455-13.387 7.73-30.725 3.083-38.455-10.304-7.729-13.387-3.083-30.726 10.305-38.456a27.858 27.858 0 0 1 13.295-3.73zm.453 14.941a13.244 13.244 0 0 0-6.24 1.791c-6.36 3.673-8.48 11.588-4.809 17.948 3.672 6.36 11.585 8.48 17.945 4.808 6.36-3.672 8.481-11.586 4.809-17.947-2.524-4.372-7.054-6.74-11.705-6.6zm156.736 41.325l30.532 52.88 15.615-8.949v-.002l-8.803-15.244-37.344-28.685zm-135.215 35.95c-6.768 44.82 6.932 72.251 15.245 104.313-17.695 43.045-35.085 81.537-71.348 107.38h-.006c-26.502 18.902-51.608 14.403-63.863.622-6.127-6.89-9.443-16.272-7.98-28.256 1.45-11.88 7.925-26.43 22.245-42.21 11.966-10.25 21.688-14.278 28.155-14.956 6.552-.687 9.856 1.215 12.338 4.328 4.963 6.227 5.047 20.812-7.48 31.327l12.013 14.316c19.1-16.03 22.676-41.487 10.082-57.291-6.297-7.9-17.037-12.509-28.9-11.266-11.866 1.245-24.787 7.552-38.885 19.76l-.41.356-.368.4c-16.57 18.11-25.296 36.22-27.34 52.973-2.045 16.753 2.877 32.043 12.567 42.94 19.38 21.79 56.223 25.322 88.68 2.175l.002-.002a160.698 160.698 0 0 0 16.992-13.967c29.887-7.727 58.964-10.74 92.3-37.435-21.192.977-40.373-1.703-53.542-15.131 13.248-24.99 23.122-52.169 34.386-78.918-9.727-9.81-17.748-20.652-23.406-32.656a94.12 94.12 0 0 1-8.234-28.065c-4.956-6.014-9.281-13.07-13.243-20.736zm188.87 20.983l-29.1 16.674 99.695 172.678 28.883-17.05-93.322-161.636.002-.002-6.158-10.664zm-50.715 25.293c-11.152 2.055-22.79 2.851-33.752 3.645-16.196 1.172-30.888 2.923-37.924 6.746-3.436 1.867-4.955 3.588-5.8 6.326-.847 2.738-.901 7.305 1.517 14.488 2.817 8.365 7.214 12.04 13.224 13.742 6.011 1.702 14.25.852 23.123-3.11 14.648-6.543 30.25-21.402 39.612-41.837zm14.008 8.23a108.398 108.398 0 0 1-8.811 15.329l28.938 50.123 13.244-7.647-33.371-57.804zm123.318 84.514l22.03 38.157 26.794-15.471c-13.261-12.692-28.152-21.575-48.824-22.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GunStock;

impl IconShape for GunStock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M418.2 18L375 65.56c-16.9 12.53-44.7 14.05-56.3 22.77L122.6 234.2c-9.6 6.9-3.7 23.8-5.8 36.9 6.9 27.7 28.6 44.9 59.7 41.8 32.7-3.4 98.5-47.4 120.2-63.6 6.9 6.1-77.4 77.3-118.3 81.5-34.3 3.5-62.3-14.6-74.7-42.7l-62.37 47.4c38.23 55.9 82.97 105.4 142.77 132.3l187.8-273 17 25.8c15.2 19.6 82.4-16 75.1-29.1l-26.9-55.3L494 61.68V18h-75.8zM26.96 346.4l-6.71 5.1C-5.009 373.7 155.9 512 166.5 493.3l7.2-10.5c-62.4-28.9-108.31-80.4-146.74-136.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GymBag;

impl IconShape for GymBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.7 29.45c-25.7.1-51.1 2.14-73.1 5.22l10.2 37.24c41.9-8.58 85.7-5.82 129.7.1l7.8-35.94c-23-4.82-48.9-6.71-74.6-6.62zm-88.4 16.28c-10.3 2.62-20.4 5.73-30 9.31-8.2 3.05-13.3 9.6-19.1 18.13-5.8 8.52-11.8 19.42-17.9 32.03-12.3 25.2-25.13 57.1-36.88 88.6-11.33 30.4-21.58 60.2-29.21 83 6.07-4.8 13.57-7.9 21.58-7.7 6.93-20.4 15.35-44.5 24.5-69 11.63-31.2 24.41-62.8 36.21-87 5.9-12.2 11.6-22.51 16.6-29.78 5-7.31 9.9-11.22 10.4-11.42 9.1-3.37 18.6-6.27 28.4-8.72zm178.2 5.23l-3.9 17.83c11.3 3.98 22 8.81 32 14.49 2.9 1.62 8.5 7.61 14.2 17.02 5.6 9.4 11.7 21.9 17.7 36.4 12.2 28.9 24.4 65.6 35.3 101.5 3.1 10.4 6.2 20.7 9.1 30.7 7.3 1 14.1 4.5 19.5 9.5.9.8 1.7 1.6 2.5 2.5-4.3-15.3-8.9-31.5-13.9-47.9-10.9-36.3-23.3-73.4-35.9-103.3-6.2-15-12.6-28.1-18.9-38.71-6.4-10.56-12.5-18.67-20.6-23.33-11.7-6.64-24.1-12.18-37.1-16.7zM318.3 206.6L192 207.7l-.5.1c-30.3 3.2-53.4 30.5-57.7 66 6.1.3 12.1.6 18 .8 3.8-27.8 21.4-46.7 41.5-48.9l123.3-1.1c15.6 2.6 32.3 18.6 36.6 48.9 5.9-.3 11.9-.5 18-.8-4.9-37.5-26.5-62-52.2-66zm131.9 80.1c-26.5 1.4-51.7 2.8-76 3.9 15.8 61 15.1 122.6 15 183.2 29.1-2.8 59-6.1 90-9.8.6-.1 2.2-.7 4.5-5.1 2.3-4.3 4.5-11.4 5.9-20.2 2.9-17.6 3.2-41.5.7-65.2-2.6-23.6-8.1-47-15.7-63.4-3.8-8.2-8.1-14.6-12.3-18.4-4.3-3.8-7.9-5.2-12.1-5zm-390.9.4c-3.41.1-6.38 1.5-9.92 4.8-4.05 3.7-8.29 10.1-11.99 18.3-7.39 16.5-12.67 40.2-15.3 64.2-2.63 24-2.67 48.4-.36 66.5 1.15 9 2.95 16.5 4.88 21 1.94 4.6 3.57 4.9 2.41 4.7 30.37 5.1 59.95 8.8 89.18 11.4-5.6-58.2-3.5-119.8 11.9-186.4-22.1-1-45.11-2.5-69.3-4.4-.51 0-1.01-.1-1.5-.1zm296.5 4.3c-70.4 3-134.8 4.1-207.5 1.1-15.9 67-17.9 128.3-11.9 187 77.8 5.6 153.6 3.1 234.8-4.1.1-62.6.8-124.4-15.4-184z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct H2o;

impl IconShape for H2o {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 57c-65.8 0-119 53.2-119 119s53.2 119 119 119 119-53.2 119-119S321.8 57 256 57zm-91.5 220.9l-46.9 59.6c5.2 3.1 10 6.9 14.2 11.2l46.9-59.7c-5-3.4-9.8-7.1-14.2-11.1zm183 0c-4.4 4-9.2 7.7-14.2 11.2l46.9 59.6c4.2-4.3 9-8.1 14.2-11.2zM80 345c-30.48 0-55 24.5-55 55s24.52 55 55 55c30.5 0 55-24.5 55-55s-24.5-55-55-55zm352 0c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HabitatDome;

impl IconShape for HabitatDome {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32.951l116.926 35.666 83.185 88.81 30.06 112.33-24.831 8.839-87.744-66.914-25.073 107.062-14.076 5.01H319.15L256 229.367l-63.15 94.387h-15.297l-14.076-5.01-25.073-107.062-87.744 66.914-24.832-8.838 30.06-112.33 83.186-88.81zm0 18.819l-71.54 21.822 24.51 3.738.157-.246.139.291L256 84.502l46.734-7.127.14-.291.155.246 24.51-3.738zm108.672 34.367L313.6 93.926l51.023 80.113 18.404-68.305zm-217.344 0l-18.355 19.597 18.404 68.305L198.4 93.926zm146.026 10.877L256 102.71l-37.354-5.697L256 175.217zm11.771 17.115l-42.479 88.933 90.342-13.779zm-98.25 0l-47.863 75.154 90.342 13.78zm190.629 7.06l-15.992 59.352 51.133-21.836zm-283.008 0l-35.14 37.516 51.132 21.838zm327.492 53.098l-56.248 24.02 78.75 60.054zm-371.976 0L47.51 258.361l78.75-60.054zM356.203 207l-84.851 12.941 60.607 90.588zm-200.406 0l24.244 103.53 60.607-90.589zM487 288.264v32.14L334.447 375H177.553L25 320.404v-32.14l149.447 53.49h163.106zM328.193 393l13.43 94H170.377l13.428-94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HadesSymbol;

impl IconShape for HadesSymbol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240 16 112 272l72.8 53 55-37.1L192 256zm32 0 48 240-144 96-64 48 144 96 144-96-64-48-8.2-5.4-56.5 41.2L288 400l-32 32-32-32 176-128z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HairStrands;

impl IconShape for HairStrands {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87.367 202.125c-3.915 37.715-7.82 75.606-11.521 111.53l55.562-49.268 66.319-241.5c-76.892 6.031-102.04 130.038-110.36 179.238zm-11.521 111.53l-.002.001.002.002v-.004zM52.859 27.584l-17.224 5.23c9.194 30.297 25.192 58.884 52.695 79.046a262.985 262.985 0 0 1 6.412-17.584C73.302 77.146 60.836 53.871 52.86 27.586zm-7.127 75.772l-13.796 11.561c14.94 18.495 24.928 35.097 44.25 46.103 1.17-6.204 2.434-12.432 3.845-18.673-14.49-10.271-24.582-27.282-34.299-38.99zm290.213 4.188l-68.357 60.771c-26.015-13.266-54.933-31.442-78.611-39.818-2.098 5.647-3.75 11.415-5.34 17.217 22.013 9.264 45.08 21.523 65.187 32.701 27.544 14.787 54.625 29.625 77.19 47.18 7.266 4.904 14.51 9.934 21.648 15.1 35.633 25.784 68.641 54.61 88.94 82.593 20.298 27.983 27.563 53.353 16.193 76.297l16.127 7.992c15.139-30.55 4.507-64.173-17.75-94.857-22.258-30.684-56.466-60.201-92.957-86.608-12.866-9.31-26.015-18.206-39.026-26.592 24.738-36.767 29.987-70.986 16.756-91.976zm-160.379 67.592l-4.783 17.44c37.4 16.243 77.063 36.291 110.488 58.843a427.135 427.135 0 0 1 12.41 8.828c22.704 16.796 42.978 35.574 56.028 54.668 13.05 19.094 18.797 37.844 14.566 56.443-5.483 24.106-2.258 42.453 7.215 54.926 9.473 12.474 23.891 18.022 37.705 20.309 11.487 1.901 40.355 4.95 55.268 38.617l16.459-7.29c-18.432-41.61-58.681-47.412-68.785-49.085-11.165-1.848-20.666-6.003-26.313-13.438-5.646-7.434-8.74-19.2-3.998-40.046 5.61-24.664-2.441-48.916-17.256-70.592-14.814-21.677-36.47-41.44-60.183-58.983a461.519 461.519 0 0 0-14.92-10.568 272.93 272.93 0 0 0 7.691-8.043c-17.57-11.549-37.503-22.425-58.076-33.508l-7.803 6.938c-22.342-11.667-42.245-20.393-55.713-25.46zm27.055 50.937c-43.146 38.429-86.357 76.775-129.59 115.104-.009.079-.017.086-.025.166l-5.613 4.97-19.817-21.785-.047.076c-7.457-8.261-18.015-13.087-29.529-14.79v18.93c8.223 1.713 14.326 5.657 17.912 11.376 4.663 7.434 4.814 17.46-.139 28.817-1.649 3.78-3.892 7.624-6.644 11.406L18 390.24v25.809c2.232-1.465 4.387-3 6.46-4.58l204.876-128.873c11.75-7.407 22.54-15.07 32.432-22.88-18.765-13.269-39.824-21.604-59.147-33.642zm72.631 75.604l-14.662 10.44c7.338 10.305 17.222 19.578 22.33 28.917 5.108 9.34 6.88 16.934-1.982 30.041-7.176 10.613-17.888 28.665-16.06 48.694.916 10.014 5.656 20.429 15.17 28.363 9.516 7.934 23.27 13.576 42.55 16.762l2.935-17.76c-17.226-2.846-27.852-7.735-33.957-12.826s-8.225-10.193-8.771-16.176c-1.093-11.966 6.864-27.834 13.045-36.975 12.011-17.765 9.987-35.73 2.86-48.76-7.125-13.029-17.913-22.932-23.458-30.72zm-41.633 30.261l-17.986.715c-.624 27.725 2.833 76.063-18.865 97.305l9.363 15.373c27.446-21.357 28.366-85.096 27.488-113.393zm-114.068 44.145c-16.48 3.924-37.906 21.363-53.322 31.055l-3.047 29.691c-.6 3.072-1.09 6.216-1.428 9.414-1.839 17.462.575 34.01 6.504 47.756h21.021a50.923 50.923 0 0 1-1.775-3.031c-5.458-10.155-8.51-24.25-7.45-39.594l8.95-32.578c2.167-4.138 4.622-7.854 7.283-11.006 18.213-18.833 36.386-16.595 48.28 4.865 5.83 10.856 8.934 26.161 7.187 42.735-1.638 15.541-7.198 29.165-14.47 38.609h22.12c5.682-10.64 9.51-23.121 10.936-36.658 2.104-19.989-1.36-38.78-9.293-53.54-11.54-15.582-24.714-27.804-41.496-27.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalfBodyCrawling;

impl IconShape for HalfBodyCrawling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384.932 45.57c-3.286.244-7.88 2.403-15.094 14.546-5.056 15.957-.322 25.086 5.06 38.496l2.307 5.744-55.96 51.87c4.376 8.594 7.407 18.226 8.78 28.44l80.254-80.214c-4.114-10.653-8.672-18.525-12.147-27.168-3.263-8.116-4.76-17.495-2.795-28.32-4.347-2.066-8.086-3.564-10.406-3.393zm-119.604 91.15c-25.092.105-47.134 26.142-46.957 60.414.178 34.27 22.487 60.12 47.58 60.013 25.092-.105 47.133-26.14 46.956-60.412-.177-34.272-22.485-60.12-47.578-60.015zm190.053 84.296c-5.97-.085-11.825.86-16.946 2.87-10.125 15.2-8.244 19.567-11.067 36.418l-.71 4.25-3.758 2.11c-21.674 12.172-42.448 22.542-62.93 39.315l-3.632 2.974-4.516-1.275s-12.793-3.613-25.804-7.423c-6.506-1.905-13.063-3.858-18.168-5.455-2.553-.8-4.73-1.505-6.45-2.106-.86-.3-1.59-.567-2.318-.867-.363-.15-.72-.302-1.197-.544-.47-.238-.912-.218-2.463-1.732l-.096.1-12.922-17.024c-5.195 1.613-10.67 2.493-16.36 2.517-21.26.09-39.657-11.704-51.53-29.73-56.886 37.057-116.74 79.386-150.313 123.28l8.283 24.558 55.025-15.826 20.713 46.717c42.768-26.075 84.4-51.742 116.833-74.634-6.47-2-12.324-4.36-17.36-7.163l8.754-15.726c9.89 5.505 29.343 10.33 51.204 12.707 20.935 2.277 44.212 2.546 64.754.84 24.303-20.896 54.028-46.405 72.838-65.997 1.26-7.008 3.54-13.69 7.895-19.768l.44-.617.538-.533c3.732-3.7 8.657-6.304 13.737-6.272 5.08.032 9.018 2.307 11.968 4.506 2.687 2.002 4.914 4.12 6.993 6.09l8.677-13.134c-3.495-8.958-11.785-16.096-22.45-20.12-5.596-2.11-11.687-3.225-17.66-3.31zM36.79 381.1l-2.56 17.82c-.555-.08-.808-.126-1.085-.173.112.03.233.054.32.092.617.265 1.608.72 2.838 1.303 2.46 1.168 5.905 2.864 9.95 4.89 3.966 1.987 8.656 4.375 13.52 6.86L51.57 387.58c-2.886-1.436-5.518-2.733-7.546-3.696-1.338-.635-2.458-1.152-3.418-1.567-.96-.415-.327-.715-3.817-1.217zm68.374 21.485l-40.7 11.707.026.014-15.095 13.234c-4.943-2.555-9.69-4.996-13.698-7.024-3.356-1.698-6.226-3.125-8.427-4.18-1.1-.53-2.026-.962-2.84-1.318-.815-.356-.077-.615-3.537-1.125L18.27 431.7c-.503-.074-.715-.114-.996-.162.475.21 1.24.56 2.21 1.025 1.987.953 4.79 2.35 8.086 4.016 2.155 1.09 4.764 2.433 7.272 3.72L20.78 452.628l11.867 13.535 19.37-16.982c16.705 8.704 32.9 17.262 32.9 17.262l8.413-15.912s-12.692-6.693-26.802-14.07l15.158-13.29c18.2 9.415 34.89 18.137 34.89 18.137l8.352-15.947s-13.362-6.973-28.71-14.93zm-87.89 28.953l-.053-.025c-.395-.173-1.407-.226.054.025z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalfDead;

impl IconShape for HalfDead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.3 30.62V397.5c20.1-1.1 37.7-5.2 51.3-11.8 15.8-7.7 26.2-18.3 31-32l17.9 6.1c-6.6 19.1-21.3 33.7-40.6 42.9-16.8 8.3-37.2 12.8-59.6 13.7v64.9c43.9-3.1 83.8-26.9 113.7-64.9 31.9-40.7 52-97.5 52-160.4 0-62.9-20.1-119.7-52-160.44-29.9-38.03-69.8-61.92-113.7-64.94zm-19 .95C88.21 38.6 72.04 223.4 72.04 272.8c0 33.6 47.26 18.6 50.36 50.4l16.8 140.6c0 15.3 73.2 18.7 108.1 17.3v-40.4h-16.7v-24.1h-14.8v24.1h-18.9v-24.1h-14.6v24.1h-18.9v-24.1h-17.8v-18.9h17.8v-24.1h18.9v24.1h14.6v-24.1h18.9v24.1h14.8v-24.1h16.7v-31.3l-40.9 10.3 40.9-64.9zM173.2 226.7c25.8 0 52 4.1 54.2 12.5 8.6 32.4 4.4 57.8-16.8 67.2-63.4 27.8-88.2-16.8-88.2-67.2 0-8.4 25.2-12.5 50.8-12.5zm159.1 3c19.1 0 34.7 15.7 34.7 34.7 0 19-15.6 34.6-34.7 34.6-18.9 0-34.6-15.6-34.6-34.6s15.7-34.7 34.6-34.7zm0 19c-8.7 0-15.7 6.9-15.7 15.7 0 8.8 7 15.8 15.7 15.8 8.9 0 15.8-7 15.8-15.8s-6.9-15.7-15.8-15.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalfLog;

impl IconShape for HalfLog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M405 28.42c-1.1 0-2.2 0-3.3.1-1.1 0-2.3.11-3.4.2l-63.5 57.52 19.5-45.12c-19.6 9.56-37.3 23.94-48.8 41.1L93 399.5c9.7-4.8 19.7-8.1 29.6-9.9l31.5-44.7-12.1 43.2c2.7 0 5.4.1 8.1.4 17 1.7 33.4 7.5 48.7 16.8l82.8-118.1-56.8 138.4c14.9 14.5 28 32.8 38.3 53.8L475.7 88.03a100.7 100.7 0 0 0-4.3-15.14L350.6 224.7 459.3 51.46c-3.2-3.77-6.6-7.03-10.3-9.8-12.2-9.13-27.5-13.33-44-13.24zM337.1 117L192.6 344.2 243.1 222zM140.7 406h-3.5l-4.5 40.5-19.9-36.1c-26.68 8.9-53.28 31.6-76.49 73.2l48.97-.2 33.62-22.6-5.6 22.5 131.4-.4c-9.4-18-20.9-33.2-33.7-45.3l-36.6 20.9 16.3-36.9c-13.6-8.5-27.9-13.7-42.4-15.2-2.5-.2-5.1-.3-7.6-.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hamburger;

impl IconShape for Hamburger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.97 29.357c-106.557-.21-211.806 52.74-203.48 164.053 138.91 11.4 276.71 8.893 414.174.662 10.58-107.69-100.753-164.498-210.693-164.715zm59.876 23.996c11.165 0 20.216 4.468 20.216 9.98 0 5.513-9.051 9.981-20.216 9.981-11.166 0-20.217-4.468-20.217-9.98 0-5.513 9.051-9.98 20.217-9.98zm-111.852 19.83c11.165 0 20.217 4.469 20.217 9.98 0 5.513-9.052 9.981-20.217 9.981s-20.216-4.468-20.217-9.98c0-5.512 9.052-9.98 20.217-9.98zm178.057 34.02c11.165 0 20.216 4.468 20.217 9.98 0 5.512-9.052 9.98-20.217 9.98s-20.217-4.468-20.217-9.98c0-5.512 9.052-9.98 20.217-9.98zm-273.59 21.535c11.165 0 20.216 4.468 20.217 9.98 0 5.513-9.052 9.98-20.217 9.98s-20.217-4.467-20.217-9.98c0-5.512 9.052-9.98 20.217-9.98zm313.77 30.043c11.165 0 20.216 4.468 20.216 9.98 0 5.512-9.051 9.98-20.217 9.98-11.165 0-20.216-4.468-20.216-9.98 0-5.512 9.051-9.98 20.216-9.98zm-137.91 8.045c11.166 0 20.218 4.47 20.216 9.982 0 5.512-9.051 9.98-20.217 9.98-11.165 0-20.216-4.468-20.216-9.98-.002-5.513 9.05-9.982 20.216-9.982zM57.618 212.339c-18.964.405-9.028 24.485 14.383 24.573 128.554 10.208 236.673 9.686 372.117-2.42 16.096-2.708 25.212-13.087 10.824-21.969-131.579 7.67-263.81 10.045-397.324-.184zm403.024 40.612c-131.224 13.6-277.594 10.525-390.065 1.904-46.983-6.226-47.875 46.785-17.014 52.309 146.18 14.663 271.826 10.735 415.137-.53 25.007-1.144 14.554-55.328-8.058-53.683zM20.986 366.679l15.332 9.434c6.342-8.416 17.876-32.05 33.319-32.192 19.122-.174 22.345 39.302 41.98 39.103 22.607-.228 37.828-31.548 52.447-30.882 22.09 1.008 26.333 35.9 43.557 35.928 24.089.04 31.439-36.39 46.805-35.334 21.458 1.475 33.246 28.274 50.879 29.178 19.004.974 30.654-33.027 43.265-32.748 16.61.366 28.31 32.46 54.24 33.193 15.345.434 29.694-37.411 37.005-36.815 14.417 1.174 26.549 20.548 36.085 34.835l15.114-9.776c-12.029-16.216-30.117-44.428-52.558-44.017-20.907.382-25.948 38.114-38.102 37.943-23.28-.328-33.756-32.164-52.598-33.346-19.356-1.214-30.475 33.636-43.353 32.768-18.954-1.277-27.303-29.16-49.475-29.917-19.62-.67-34.121 37.669-46.793 36.044-18.139-2.326-20.226-36.378-43.317-37.836-19.11-1.207-37.562 30.604-50.314 29.999-17.525-.833-25.243-40.224-45.41-39.986-21.826.258-39.145 30.34-48.108 44.424zm47.553 36.174c-8.342.686-18.198 4.251-21.85 12.424-2.452 6.662 19.173 8.558 21.114 8.695 128.615 8.104 254.354 8.26 389.8-1.345 9.225-.655 13.935-3.147 15.252-4.414 3.124-8.208-23.168-13.935-25.818-14.004-185.01-1.178-279.257 2.209-378.498-1.356zm395.555 37.192c-126.786 6.957-283.18 9.384-408.123.707l.521 38.67c135.917 4.617 275.647 3.99 406.658-.088z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HamburgerMenu;

impl IconShape for HamburgerMenu {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 96v64h448V96H32zm0 128v64h448v-64H32zm0 128v64h448v-64H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HammerBreak;

impl IconShape for HammerBreak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.9 63.71l-49.6 44.79 101.8 112.7 24.4-22.1c-8.6-9.6-15.6-18.3-19.6-28.9-4.3-11.8-3.6-25.2 1.8-41.4l-58.8-65.09zm225.9 16.22l-87.9 78.37-10.6-38.5-36 93s41.3-11.7 62-17.5v32.6l122.5-79.6-95.1 24.7 45.1-93.07zM187.2 158.5L24.17 305.7l22.09 24.5L209.2 182.8l-22-24.3zm65.4 96.5v36.6l53.5 56-6.6 23 57.3 57.2-12.8 12.8-12-12-48.2 27.3-8.8-15.6 43.8-24.8-25-25-6.6 23.3-17.4-5 16.1-56.2-33.3-34.9V493h238V255H348.5l18.8 44.3 54.8 6.2 38.9-34.9 12 13.4-17.2 15.5 12.8 38-17 5.8-10.4-30.8-13.1 11.8-52.7-6 18.4 43.3-23.2 30.8-14.4-10.8 17-22.6-29.7-69.7-24.4 15.1-9.4-15.2 26.6-16.5.5.9-7.9-18.6h-76.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HammerSickle;

impl IconShape for HammerSickle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.316 21.44C434.586 160.414 438.15 262.89 384.48 315.87l55.65 55.648c81.846-100.582 74.738-275.933-182.814-350.08zm-37.92 21.664c-16.713 4.847-34.67 7.066-50.61 6.75-13.684-.27-25.71-1.44-34.936-6.41L21.13 156.163l55.15 55.156L231.946 55.656l-12.55-12.552zm-41.29 91.85l-43.84 43.84L442 486.523c3.005 3.007 6.436 3.516 12.582 1.646 6.146-1.87 13.72-6.735 19.943-12.957 6.223-6.223 11.087-13.8 12.957-19.945 1.87-6.146 1.363-9.577-1.642-12.582L178.105 134.953zm-8.665 179.735l-40.75 37.124 50.814 50.346c59.746 49.805 126.245 53.237 182.033 29.36l-75.273-75.274c-43.74 2.716-88.647-10.463-116.823-41.557zm-58.936 45.873c-5.525 1.065-8.977 2.957-11.315 5.25-1.957 1.922-3.25 4.556-4.25 7.564l55.19 52.844c5.467-1.007 9.262-2.795 11.278-4.687 1.997-1.872 3.096-3.863 3.096-7.53l-54-53.44zm-24.72 30.314L30.16 441.562c-16.737 27 14.694 61.2 51.094 44.66l51.53-50.28-47-45.063v-.003z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandBag;

impl IconShape for HandBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 37.369c-38.48 0-76.932 1.13-106.869 3.42-14.969 1.145-27.78 2.566-37.65 4.36-4.936.898-9.12 1.87-12.711 3.099-3.592 1.228-6.791 2.059-9.97 6.296-34.116 45.49-48.02 106.6-49.636 142.51-13.347 56.622-13.338 99.418-.422 141.89H119v-48h66v48h142v-48h66v48h80.258c12.893-42.395 12.925-85.114-.35-141.583-1.193-47.666-15.476-97.173-49.709-142.817-3.178-4.237-6.377-5.068-9.968-6.296-3.592-1.229-7.776-2.2-12.711-3.098-9.871-1.795-22.682-3.216-37.65-4.361-29.938-2.29-68.39-3.42-106.87-3.42zm0 18c38.126 0 76.28 1.132 105.494 3.367 14.607 1.117 27.009 2.526 35.805 4.125 4.398.8 7.909 1.667 10.105 2.418 1.097.375 1.814.882 2.075 1.053 30.786 41.465 43.833 85.631 45.365 128.847C359.7 188.403 307.219 184.921 256 184.921c-51.188 0-103.638 3.479-198.668 10.247 2.213-32.012 15.777-89.018 45.129-128.805-.12.062.095-.16.738-1.018-.25.334-.49.681-.738 1.018.156-.081.892-.66 2.135-1.084 2.196-.751 5.707-1.618 10.105-2.418 8.796-1.6 21.198-3.008 35.805-4.125C179.72 56.5 217.874 55.369 256 55.369zM137 308.945v62h30v-62h-30zm208 0v62h30v-62h-30zm-310.248 48c-1.317 35.053-.94 67.89 4.668 94.629 27.348 2.673 53.757 4.862 79.58 6.588v-21.217h-7c-11 0-20.948-5.22-28.361-12.627C76.225 416.91 71 406.974 71 395.988v-39.043H34.752zm54.248 0v39.043c0 4.97 2.775 11.013 7.361 15.596 4.587 4.582 10.64 7.36 15.64 7.36h7v-62H89zm96 0v62h7c5 0 11.103-2.8 15.705-7.303S215 401.256 215 396.982v-40.037h-30zm48 0v40.037c0 10.69-5.307 20.287-12.705 27.525-7.398 7.238-17.295 12.438-28.295 12.438h-7v24.633c47.71 1.722 94.288 1.72 142 0v-24.633h-7c-11 0-20.948-5.22-28.361-12.627-7.414-7.407-12.639-17.344-12.639-28.33v-39.043h-46zm64 0v39.043c0 4.97 2.775 11.013 7.361 15.596 4.587 4.582 10.64 7.36 15.64 7.36h7v-62h-30zm96 0v62h7c5 0 11.103-2.8 15.705-7.303S423 401.256 423 396.982v-40.037h-30zm48 0v40.037c0 10.69-5.307 20.287-12.705 27.525-7.398 7.238-17.295 12.438-28.295 12.438h-7v21.21c25.825-1.723 52.23-3.908 79.58-6.581 5.609-26.738 5.985-59.576 4.668-94.63H441zm-304 32v14h30v-14h-30zm208 0v14h30v-14h-30zm-208 32v49.63c10.897 5.396 20.048 5.362 30 .173v-49.803h-30zm208 0v49.63c10.897 5.396 20.048 5.362 30 .173v-49.803h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandBandage;

impl IconShape for HandBandage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238 20c-8.6 1.31-16.5 5.4-20.7 9.7l26.1 158.7-17.6 5.6-73-148c-5.9-.8-14.3.61-22.2 4.81-8.1 4.3-14.4 11-17.2 17.39l69.1 142.9-15.2 10.5-94.55-100.2c-5.8 1.2-13.1 5.5-19.1 12.1-6.2 7-10.2 15.8-11 22.8l96.05 103.6c69.9-31.4 140.4-54.2 210.9-76.1l10.4-47.2c-8.5.6-16.6-.6-24.1-3.2-7.2-2.5-13.9-6.2-20.2-10.8l-11.7 53-18.3-.5-24.2-151.39c-8.2-4.02-15.2-4.5-23.5-3.71zm94.4 11.13l-16.1 68.34c8.4 8.03 16.9 13.93 25.5 16.93 8.6 3 17.5 3.3 27.8 0l16.9-69.73v-.11c-3.7-14.58-42.4-21.77-54.1-15.43zM438.2 196.1c-5.7.1-12.1 1.4-19.1 3.9-19 6.6-41.6 21.3-64.6 35.5l-.5-.4c-59.7 34.3-118.1 69.2-169.8 110.4v2.1c21.6 2.9 51.6 11.2 80.3 20.6 23 7.6 44.6 15.6 59.9 22.6-2.3-22-2.6-42.5-1.6-60.9-8.7 4.2-17 7.6-25.3 9.9-18.1 5.1-36.5 4.7-52.7-5.1l9.7-16c11.2 6.8 23.1 7.3 38 3.1 14.9-4.2 32.3-13.5 51.4-25.6 35.9-22.7 77.7-54.9 125.5-78.2-5.9-11.3-12.3-17.2-19.1-19.9-3.6-1.4-7.7-2.1-12.1-2zm-93.1 7.9c-43.3 13.6-86.5 27.6-129.3 43.7 16.3 4.3 32.8 11 45.4 21.7 26.2-16.5 53.1-32.3 80.1-47.8 1.5-6 2.5-11.6 3.8-17.6zm-160.7 56c-11 4.5-21.9 9.1-32.8 13.9l15.7 16.9.2.1c8.1 8.4 12.8 19.6 15.1 33 20.1-15.5 41-30.1 62.5-44.1-16.1-10.7-41.3-17.2-60.7-19.8zm-53.2 51.1c-4.7-.1-12.6 2-21 5.7-9.1 4.1-18.98 10-28.03 16-4.74 3.1-9.18 6.3-13.25 9.2 12.94.6 26.58 1.7 40.38 4.9 19.1 4.5 37.9 13.4 51 29.9 8.5-17.2 8.2-29.5 1.2-41-9.5-12.9-22.7-24.2-29.4-24.7zm52.1 54.6c-1.1 13.4-3.4 27.9-5.6 39.5 61.2 9.5 110.1 34.1 160.2 55.3-4.7-16.7-8.2-32.8-10.6-48.3-11.6-6.2-39.4-17.3-68.4-26.9-27.4-9-56.6-16.8-75.6-19.6zm-21.2 29.7c-18 9.3-39.4 17.1-69.54 17.8-6.97 17.7-14.01 37.1-31.64 55.6 22.6.7 37.95-3.1 51.38-11 16.5-9.7 27.2-27 46.9-51.4zm11.9 27.4c-3.5 15.6-7.9 32.1-12.8 49.3 20.7-13.2 44.9-27.1 71.9-34.8-18.7-6.2-38.2-11.3-59.1-14.5zm92.1 26.7c-38.4 2.9-73.6 23.8-103.1 42.9h185.3c-1.2-3.2-2.3-6.4-3.4-9.6-26.9-10.8-52.5-22.7-78.8-33.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandGrip;

impl IconShape for HandGrip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24.97c-34.037 0-62.75 23.497-70.766 55.1l-.234-.053-32 144 17.572 3.906 21.188-95.346c9.768 18.037 26.917 31.52 47.347 36.393h-37.236l-3.902 18h134.23l9.102 40.953 17.57-3.906-19.707-88.684c-3.55 7.233-8.086 14.218-13.717 21.25l2.752 12.387h-55.306c20.366-4.858 37.473-18.27 47.257-36.223l.11.49c6.44-10.535 9.595-21.02 10.767-34.52l-4.156-18.7-.111.025C318.734 48.453 290.027 24.97 256 24.97zm0 18c30.482 0 55 24.517 55 55 0 30.482-24.518 55-55 55s-55-24.518-55-55c0-30.483 24.518-55 55-55zM139.785 241.005c4.99 5.864 9.887 12.434 13.496 19.482 3.77 7.364 6.449 15.528 4.631 24.178-1.817 8.65-7.555 15.044-13.97 20.268-6.416 5.223-13.91 9.413-21.128 12.859-4.81 2.297-9.304 4.12-13.462 5.717 3.164 3.135 6.544 6.615 10.023 10.654 5.22 6.06 10.393 12.91 14.164 20.274 3.77 7.363 6.45 15.525 4.633 24.175-1.818 8.65-7.556 15.047-13.97 20.27-6.416 5.223-13.91 9.413-21.128 12.86-5.394 2.575-10.414 4.573-14.916 6.263 8.492 9.54 17.355 19.241 25.131 29.547 9.035 11.973 16.588 24.97 18.408 39.478a44.316 44.316 0 0 0 4.633-.718c3.908-.838 6.89-2.164 8.662-3.497 1.771-1.332 2.44-2.371 2.799-4.084l47.498-226.064-55.504-11.662zm232.43 0l-55.504 11.662 47.498 226.064c.36 1.713 1.028 2.752 2.799 4.084 1.771 1.333 4.754 2.659 8.662 3.497 1.437.307 2.99.546 4.633.718 1.82-14.509 9.373-27.505 18.408-39.478 7.776-10.306 16.64-20.007 25.13-29.547-4.501-1.69-9.521-3.688-14.915-6.264-7.218-3.446-14.712-7.636-21.127-12.86-6.415-5.222-12.153-11.617-13.97-20.267-1.818-8.65.861-16.814 4.632-24.177 3.77-7.364 8.944-14.214 14.164-20.274 3.48-4.039 6.86-7.52 10.023-10.654-4.158-1.597-8.653-3.42-13.462-5.717-7.218-3.446-14.712-7.636-21.127-12.86-6.416-5.223-12.154-11.617-13.971-20.267-1.818-8.65.86-16.814 4.63-24.178 3.61-7.048 8.506-13.618 13.497-19.482zM117.53 243.41l-13.187 62.766c3.358-1.324 7-2.856 10.715-4.63 6.412-3.06 12.838-6.764 17.517-10.573 4.68-3.81 7.212-7.588 7.72-10.01.51-2.422-.288-6.9-3.038-12.272-2.75-5.37-7.142-11.347-11.78-16.73-2.686-3.119-5.404-5.987-7.947-8.55zm276.938 0c-2.543 2.564-5.26 5.432-7.948 8.55-4.637 5.384-9.029 11.36-11.779 16.731-2.75 5.371-3.548 9.85-3.039 12.272.509 2.422 3.042 6.2 7.72 10.01 4.68 3.81 11.106 7.512 17.518 10.574 3.715 1.773 7.357 3.305 10.715 4.629L394.47 243.41zM97.79 337.361l-13.187 62.765c3.358-1.323 7-2.855 10.714-4.629 6.412-3.062 12.839-6.764 17.518-10.574 4.68-3.81 7.212-7.59 7.72-10.012.51-2.422-.288-6.899-3.038-12.27-2.75-5.37-7.142-11.346-11.78-16.73-2.686-3.119-5.405-5.987-7.947-8.55zm316.418 0c-2.542 2.563-5.26 5.431-7.947 8.55-4.638 5.384-9.03 11.36-11.78 16.73-2.75 5.371-3.548 9.848-3.039 12.27.51 2.422 3.042 6.202 7.721 10.012 4.68 3.81 11.106 7.512 17.518 10.574 3.714 1.774 7.356 3.306 10.714 4.629L414.21 337.36zM77.613 433.39l-6.156 29.301c-.36 1.713-.167 2.933.918 4.866 1.085 1.932 3.281 4.346 6.521 6.685 6.481 4.68 16.878 8.885 27.643 11.147 2.266.476 4.549.847 6.818 1.152-1.861-9.02-7.05-18.358-14.437-28.148-6.156-8.16-13.69-16.476-21.307-25.002zm356.774 0c-7.618 8.527-15.15 16.844-21.307 25.003-7.387 9.79-12.576 19.129-14.437 28.148a93.946 93.946 0 0 0 6.818-1.152c10.765-2.262 21.162-6.468 27.643-11.147 3.24-2.34 5.436-4.753 6.521-6.685 1.085-1.933 1.278-3.153.918-4.866l-6.156-29.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandOfGod;

impl IconShape for HandOfGod {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M387.29 19.115c-.677 24.348-8.15 49.273-22.194 71.834-36.935 59.335-110.622 86.083-178.93 70.61 4.218-1.997 8.274-4.09 12.098-6.292 39.055-22.5 57.282-55.456 54.312-91.69-7.387 21.813-24.63 41.317-50.226 56.067-48.05 27.68-118.013 31.686-187.47 16.935v37.377c36.274 13.19 81.88 12.965 122.397 3.98 3.21 2.057 6.526 4.02 9.98 5.872 76.52 40.974 174.19 17.537 220.173-51.855 40.442 14.673 84.808 19.944 127.32 16.393v-39.13c-36.858 3.595-75.196.774-111.385-9.015 9.5-26.662 10.486-54.666 3.924-81.088zm30.265 159.975c-28.534 12.307-59.168 14.074-87.434 10.355-19.252 10.658-41.5 18.6-64.68 23.393-44.056 9.11-91.918 6.655-129.426-14.018l78.47 175.914c11.298 12.252 24.03 25.506 42.043 41.3l.168.15.162.154c1.618 1.562 2.678 1.823 5.122 1.555 2.442-.27 5.967-1.672 9.325-4.012 3.358-2.34 6.532-5.546 8.62-8.542 1.157-1.658 1.87-3.22 2.304-4.4l-39.67-38.292 12.98-13.445 45.558 43.978.002.002c.225.22.092.432 2.248.006 2.162-.428 5.725-2.03 9.26-4.557 6.005-4.294 11.807-11.445 14.244-16.282l-39.188-37.828 12.98-13.446 45.098 43.533c11.69-2.624 21.136-10.836 25.237-20.322l-50-48.264 12.98-13.446 105.813 102.143c5.053 4.877 9.384 6.113 13.122 5.99 3.737-.123 7.224-1.832 9.85-4.63 5.25-5.598 7.5-13.944-1.985-23.1l-146.72-141.63 12.98-13.445 23.177 22.373c25.815-2.733 47.54-9.893 60.996-18.345 7.11-4.466 11.78-9.26 13.92-13.186 2.14-3.923 2.322-6.51.795-10.078-1.122-2.613-3.768-5.992-8.353-9.576z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandOk;

impl IconShape for HandOk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M364.533 37.726c-.698.73-1.004.925-1.885 1.975-4.074 4.85-9.78 12.778-16.317 22.556-13.073 19.557-29.667 46.661-46.088 74.03-15.021 25.035-29.607 49.766-41.654 69.84 34.334-32.271 68.45-68.096 105.83-99.983 10.713-23.873 14.004-39.038 13.489-48.033-.534-9.962-6.523-15.424-13.375-20.385zm83.826 30.713c-63.796 35.719-116.691 93.37-171.381 145.148 21.128-4.126 43.023-7.066 67.137-10.092 16.139-10.6 52.079-37.798 78.011-66.845 13.299-14.896 23.83-30.345 28.006-43.147 3.405-10.44 3.352-18.075-1.773-25.064zM274.66 69.863c-2.438 7.004-5.98 19.142-9.777 35.623-6.776 30.375-17.565 67.701-22.814 95.015 11.107-18.597 29.544-51.478 42.742-73.474a3848.208 3848.208 0 0 1 17.361-28.678c-2.494-15.087-14.936-25.767-27.512-28.486zm84.051 149.955c-52.27 6.487-91.705 11.502-134.303 26.441-60.07 55.736-119.863 118.881-164.89 183.307 25.85 36.877 57.355 47.066 92.512 44.273 42.615-7.079 82.37-24.668 114.38-43.586l92.202-10.72 68.814-39.204c-2.971-4.707-8.36-10.732-16.937-14.22-12.755-5.187-32.623-6.118-62.372 9.433-19.967 10.438-37.845 10.902-50.515 2.746-12.67-8.155-18.487-23.014-19.33-38.445-.843-15.43 3.132-32.152 11.996-46.525 8.863-14.374 23.004-26.417 41.834-30.721l.271-.062.278-.045c23.918-3.922 44.268 13.79 58.906 24.513 10.089 8.638 1.179 31.068 5.691 42.803 1.763 4.184 4.594 7.786 11.782 11.371 5.852 2.92 14.856 5.471 27.453 7.117l5.279-71.28c-19.347-21.605-53.843-44.292-83.05-57.196z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandSaw;

impl IconShape for HandSaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M430 34.438l-296.563 238.5 20 20.437 3.844 3.906-1.718 5.22-6.718 20.22 42.906 46.374 32.78-34.97 5.75-27.937 26.532-6.468 4.063-24.814 24.188-5.312 1.593-22.156 26.22-7.532 3.03-20.78 22.125-6.064 6.47-21.562 21.75-8.5 6.25-18.28 17.5-7.095 4.22-16.125 17.53-7.063 3.5-15.5 17.28-6.624 3.845-17.188 15.844-3.813 2.5-17.187 14.5-.97 16.874-18L430 34.438zM113.03 277.813L28.938 339c15.382 51.32 48.128 92.382 86.876 130.906l71.656-78.875L132 331.064l-3.594-3.907 1.656-5.062 6.688-20.063-23.72-24.217zm-17.78 32.093l5.25 5.688 63.78 69.375 5.657 6.124-5.718 6.094-37.814 40.53-13.187 14.094-2.314-19.156c-4.643-38.057-20.223-65.16-52.875-81.406l-13.81-6.875L57 335.72l31.844-21.5 6.406-4.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandTruck;

impl IconShape for HandTruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M35.68 54.7l-4.89 17.17 92.71 27.3 5.3 1.53L179 367.4c3.4-1.2 6.9-2.2 10.6-2.9 1.7-.3 3.3-.5 5-.7L142.1 85.03 35.68 54.7zm274.62 59.2l-139.5 26.3 20.4 107.9L330.7 222l-20.4-108.1zm86.6 113.9l-45.2 8.5v.1l-128.5 24.1-28.7 5.4 18.4 98c21.3 3 40.3 15.3 51.8 33.3l158.5-29.8-26.3-139.6zM458 379.1L272.6 414c.9 2.9 1.6 5.8 2.2 8.8.4 2.3.8 4.6 1 6.9l185.1-34.8-2.9-15.8zm-254 2.1c-3.6 0-7.3.3-11.1 1-29.9 5.6-49.5 34.3-43.8 64.2 5.6 30 34.2 49.5 64.2 43.9 30-5.6 49.5-34.2 43.9-64.2-5-26.3-27.5-44.5-53.2-44.9zm-1.6 21.3c15.3.3 29 11.3 32 26.9 3.3 17.7-8.6 35.1-26.4 38.5-17.8 3.3-35.1-8.5-38.5-26.3-3.3-17.8 8.5-35.2 26.3-38.6 2.2-.4 4.4-.6 6.6-.5zm-.2 17.9c-1 0-2 .1-3 .3-8.3 1.6-13.6 9.3-12 17.5 1.5 8.3 9.3 13.6 17.5 12 8.3-1.6 13.5-9.3 12-17.5-1.4-7.3-7.5-12.2-14.5-12.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandWing;

impl IconShape for HandWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M442.5 24.47C378.5 120.5 186.2 308.5 42.23 340.5c-7.81 0-15.61 30.5-14.12 63.6 41.16-8.5 84.19-23.4 125.49-41.1-2.2-8.9-3.3-17.9-3.1-26.8l.2-5.8 53.7-23.5.7 13c.3 5.7 1.3 11.7 2.8 17.8 11.5-5.7 22.7-11.5 33.4-17.3-.2-1.2-.3-2.3-.4-3.4-.3-6.9.9-12.6 2.3-19 2.6-13.5 7.2-33.4 0-60.2 4.7-3.2 8.5-4.3 11.3-4.3 3 .2 5.3 1.6 7.6 4.9 4.5 5.9 7.3 17.6 8.7 30.7 7 5.4 7.2 4.2 7.3 3.9 11.3-23.7 26.1-48.4 41.2-69.8 3.2-.7 7.3.2 11 2.6 3.4 2 6.2 5.3 7.3 8.2-10.7 15.5-22.1 30.3-31 48.1 2.1 3.2 4.4 6.3 6.5 9.5 16.6-16.5 35.5-31.6 55.9-45.9 1.4.6 2.8 1.3 4 2 .4.2.9.4 1.2.7 5.1 3.4 7.6 8.5 8.9 15.8-20.9 12.7-40.5 27.8-58.7 44.9 1.5 2.6 2.9 5.4 4.4 8.1 21.1-12.3 43.6-20.8 67-26.9 2.4 1.4 4.7 4.5 6 8.6 1.3 4 1.3 8.5-.1 11.8-22.2 5.2-44.1 13.4-65.2 26.3.9 3.3 1.6 6.5 2.1 10 16.5-3.5 32-4.2 47.5-4.2 1.9 2 2.8 5.2 2.4 8.8-.2 3.6-1.7 7.3-4 10.3h-.1c-1.4 0-3.1 0-5.3.3-4.3.2-10.2.7-17.1 1.6-13.5 1.5-30.2 4-43 7.7-7.8 2.2-21.3 5.2-29.1 7.7-6 1.9-12.9.9-19.6-2.2-14.6 9.6-28.8 18.3-42.9 26.3 4.8 8.6 10.1 17 15.5 25l6.3 9.4-54.6 20.6-4.1-5.1c-5.6-7.1-11-14.7-15.9-22.6-43.6 20.1-86.53 34.7-132.76 48.1 7.23 12.5 17.69 22.1 32.39 25.8 69.37 8.6 138.77-1.2 200.27-25.6-22.7-6.8-43.6-16.9-59.3-28 58.3 3.2 100.3-.4 129.7-8.6 17.7-11.7 34.1-24.8 49.1-39.2-19.1-4.5-36.7-11.2-50.2-19 28.3-.4 53.3-3.1 74.8-7.4 24.4-29.3 43-62.6 54-99.1-25.8 4.7-52 4.9-71.8 1.6 32-10.3 58.4-22 79.4-33.9 3.6-20.9 4.7-42.8 3.2-65.3-22 18.1-49 31.7-70.1 37.2 30.9-28 51.9-54.4 64.7-76.2-2.9-13.8-6.7-27.9-11.7-42.16-15.5 17.43-33.7 31.96-49.4 40.46 17.5-25.65 29.8-49.11 38-69.39-3.8-8.43-7.9-16.91-12.4-25.44zM188.6 333.5l-19.8 8.7c1.3 23.6 14.9 51.5 32 74.6l21.1-8c-14.8-23-28.8-48.9-33.3-75.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Handcuffed;

impl IconShape for Handcuffed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20 18v209.947l9.924 30.64c34.506-22.263 65.675-34.64 101.433-30.433L94.293 18zm397.707 0l-37.064 210.154c35.758-4.206 66.927 8.17 101.433 30.434l9.924-30.64V18zM193.145 245.31c5.361 5.193 6.517 15.154 7.12 21.655l21.26 11.031c1.888 5.184-3.41 15.26-8.29 15.977l-12.995-6.743c-.973 6.645-1.787 12.547-4.783 17.797l9.486 4.924c6.546 3.397 14.294 2.037 19.485-1.197 3.128-1.949 5.71-4.43 7.863-7.223 7.377 1.392 15.502 1.969 23.709 1.969 8.207 0 16.332-.577 23.709-1.969 2.154 2.793 4.735 5.274 7.863 7.223 5.191 3.234 12.939 4.594 19.485 1.197l9.486-4.924c-2.996-5.25-3.81-11.152-4.783-17.797l-12.994 6.743c-4.88-.717-10.179-10.793-8.291-15.977l21.26-11.031c.603-6.5 1.759-16.462 7.12-21.654-2.663.092-5.482.912-8.27 1.97l-28.401 14.739c-6.546 3.397-9.895 10.514-10.239 16.62-.11 1.967.01 3.89.287 5.774-5.01.685-10.643 1.086-16.232 1.086-5.589 0-11.222-.4-16.232-1.086.276-1.883.397-3.807.287-5.773-.344-6.107-3.693-13.225-10.239-16.621l-28.402-14.739c-2.787-1.058-5.606-1.878-8.27-1.97zm-74.432.58c-37.724.526-74.546 20.941-96.358 44.897l7.249 19.81c31.68-38.692 77.26-50.786 120.38-39.818-.417-7.09-.23-13.694.319-20.293-10.395-3.33-21.028-4.742-31.59-4.595zm274.574 0c-10.562-.146-21.195 1.266-31.59 4.596.55 6.6.736 13.204.319 20.293 43.12-10.968 88.7 1.126 120.38 39.819l7.249-19.81c-21.812-23.957-58.634-44.372-96.358-44.897zm-225.191.292c-.81 10.885-.266 29.41 2.834 43.607l9.734 3.965c2.586-11.223 2.906-32.67.065-42.97-3.732-2.342-7.926-3.739-12.633-4.602zm175.808 0c-4.707.863-8.9 2.26-12.633 4.601-2.84 10.3-2.522 31.748.065 42.97l9.734-3.964c3.1-14.196 3.645-32.722 2.834-43.607zm-224.22 38.46c-27.276.344-53.959 12.954-71.176 31.323 1.704 5.264 3.41 10.527 5.113 15.79-6.285 37.74-8.29 77.163-2.838 108.579 1.055 8.222 4.829 15.139 11.516 14.898 10.581-.38 20.631-8.059 30.33-8.7 8.435-.45 14.473 2.946 21.142 5.087 6.67 2.141 13.051 3.436 18.21 2.36 10.989-4.862 15.247-20.824 25.505-24.791 10.459-5.374 23.473 2.55 33.567-.66 6.792-2.094 10.493-5.844 10.933-11.54-4.083-24.287-14.821-46.989-28.312-68.86 8.6-.557 18.822 5.084 27.074 11.04 4.113 7.971 7.819 16.16 10.924 24.613 5.29-5.878 14.188-14.14 10.51-21.804-5.364-10.173-10.077-19.009-16.282-28.32-2.506-3.763-41.568-31.013-61.416-31.075l-2.714-15.396c-6.42-1.613-12.942-2.43-19.446-2.538-.88-.014-1.76-.016-2.64-.006zm272.632 0c-.88-.01-1.76-.008-2.64.007-6.504.108-13.026.925-19.446 2.537l-2.714 15.396c-19.848.062-58.91 27.313-61.416 31.074-6.205 9.312-10.918 18.148-16.282 28.32-3.678 7.666 5.22 15.927 10.51 21.805 3.105-8.454 6.81-16.642 10.924-24.613 8.252-5.956 18.474-11.597 27.074-11.039-13.49 21.87-24.229 44.572-28.312 68.86.44 5.695 4.14 9.445 10.933 11.538 10.094 3.21 23.108-4.713 33.567.66 10.258 3.968 14.516 19.93 25.506 24.792 5.158 1.076 11.539-.219 18.209-2.36 6.67-2.14 12.707-5.537 21.142-5.088 9.699.642 19.75 8.321 30.33 8.702 6.687.24 10.46-6.676 11.516-14.899 5.452-31.415 3.447-70.839-2.838-108.578 1.703-5.264 3.41-10.527 5.113-15.791-17.217-18.369-43.9-30.979-71.176-31.322z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HandheldFan;

impl IconShape for HandheldFan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M392.121 381.388l-32.913-33.36c23.148-24.21 41.168-51.51 54.043-80.538l55.004 22.431 6.352-15.575-55.005-22.433c10.655-28.528 16.532-58.432 17.624-88.483l56.15.378.113-16.82-56.15-.378c-.744-32.325-7.013-64.556-18.835-95.163l36.752-15.46-6.523-15.504L269.6 95.829a127.212 127.212 0 0 1 6.513 15.511 128.442 128.442 0 0 1 6.739 34.348c.057.989.092 1.979.126 2.968.015.44.037.881.048 1.322.023.982.026 1.965.027 2.947.001.442.008.885.004 1.327-.008.975-.035 1.95-.066 2.924-.014.457-.025.913-.044 1.37-.04.936-.094 1.873-.154 2.808-.704 11.001-2.807 21.925-6.328 32.478-.24.72-.5 1.436-.754 2.154-.221.625-.437 1.25-.668 1.872-.297.797-.61 1.59-.922 2.382-.21.532-.415 1.065-.632 1.595-.356.867-.73 1.73-1.106 2.59-.188.432-.373.863-.566 1.293-.402.893-.817 1.781-1.24 2.667a127.196 127.196 0 0 1-20.435 30.49c-.693.769-1.389 1.536-2.103 2.292a129.7 129.7 0 0 1-3.024 3.095 129.666 129.666 0 0 1-3.135 2.982c-.765.704-1.542 1.389-2.32 2.071a127.196 127.196 0 0 1-30.763 20.023c-.891.41-1.785.814-2.684 1.204-.432.187-.866.367-1.3.549-.865.364-1.732.726-2.605 1.07-.532.21-1.068.408-1.603.61-.796.303-1.593.605-2.394.89-.625.223-1.253.43-1.88.643-.722.245-1.44.494-2.165.725a128.514 128.514 0 0 1-32.56 5.89c-.936.047-1.873.09-2.81.117-.457.013-.913.017-1.37.025-.975.018-1.95.032-2.925.027-.442-.002-.885-.015-1.327-.022-.982-.015-1.964-.03-2.946-.068-.44-.016-.88-.044-1.321-.065-.99-.048-1.979-.096-2.967-.166a128.442 128.442 0 0 1-34.254-7.2 127.218 127.218 0 0 1-15.421-6.722L18.51 444.948l15.415 6.73 15.953-36.54c30.445 12.233 62.588 18.936 94.9 20.116l-.377 56.15 16.82.113.378-56.15c30.063-.687 60.043-6.16 88.713-16.43l21.69 55.303 15.659-6.142-21.689-55.302c29.2-12.482 56.74-30.133 81.26-52.953l32.913 33.36zM233.2 232.287a113.305 113.305 0 0 0 5.767-6.131l-49.109-49.775 64.787 26.421A110.492 110.492 0 0 0 261 187.23l-62.295-25.406 67.273.453c.46-5.595.498-11.219.113-16.82l-69.967-.471 64.498-27.13a110.462 110.462 0 0 0-6.531-15.502l-67.808 28.522c10.696 15.023 9.242 36.178-4.28 49.52-13.524 13.342-34.697 14.511-49.574 3.613l-29.433 67.418c4.995 2.655 10.149 4.9 15.413 6.74l27.996-64.128-.472 69.968c5.596.46 11.22.498 16.82.113l.454-67.272 24.564 62.631a110.494 110.494 0 0 0 15.658-6.145l-25.547-65.137 49.11 49.774a113.307 113.307 0 0 0 6.207-5.683zm-63.012-63.867c8.522-8.407 8.613-21.876.205-30.398-8.407-8.521-21.876-8.612-30.398-.205-8.521 8.408-8.612 21.877-.204 30.398 8.407 8.522 21.876 8.613 30.397.205z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HangGlider;

impl IconShape for HangGlider {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.502 104.55c-109.47-.142-219.337 2.602-297.22 12.323 5.24 1.868 10.542 3.734 15.54 5.607 7.285 2.73 14.018 5.47 19.633 8.549 5.615 3.08 10.706 6.093 13.184 12.6 1.34 3.519 2.197 8.42 1.24 14.834 21.817-10.755 48.718-17.695 78.264-22.641 42.214-7.067 89.968-9.817 136.015-11.832l.7 15.984c-45.89 2.008-93.138 4.776-134.075 11.63-36.907 6.178-68.554 15.89-89.26 30.278 6.164 1.115 12.602 2.704 18.649 4.987 7.156 2.702 13.914 6.28 18.703 12.275.7.877 1.325 1.826 1.887 2.822 35.472-20.786 73.93-38.089 104.636-39.255a85.642 85.642 0 0 1 3.456-.063c1.14.003 2.268.029 3.384.08l-.732 15.983c-22.005-1.008-57.709 12.635-91.908 31.14 6.384.898 11.594 2.975 15.765 5.828 6.665 4.56 10.287 9.381 13.123 12.926 111.416-48.998 242.264-86.962 359.233-121.433-52.784-1.146-108.633-2.277-168.338-2.555-7.285-.034-14.581-.057-21.879-.067zm37.168 65.541a3579.804 3579.804 0 0 0-15.443 4.938c1.405 2.49 3.068 6.648 4.636 11.861 3.151 10.472 6.074 25.21 8.756 41.407 3.752 22.655 7.068 48.08 10.51 70.056l15.543-4.281c-3.275-21.198-6.56-45.998-10.268-68.389-2.73-16.485-5.673-31.617-9.218-43.402-1.375-4.567-2.82-8.622-4.516-12.19zm-88.678 29.602a2118.277 2118.277 0 0 0-16.207 5.8c-.284 8.254-.597 17.608-.916 27.577-.612 19.148-.838 35.63-1.01 41.307l15.73-3.59c1.77 16.026 9.72 34.995 19.776 48.37l13.43-3.921c7.915 9.17 15.773 20.882 30.004 26.443 24.52-1.285 44.975-11.4 66.838-18l-8.975-14.853c-18.92 5.373-33.43 10.087-55.03 10.103-5.979-12.37-12.47-26.794-20.534-38.285a26.66 34.884 38.724 0 0 23.746-14.787 26.66 34.884 38.724 0 0 1.023-43.894 26.66 34.884 38.724 0 0-42.62 10.539 26.66 34.884 38.724 0 0-8.442 32.035l-19.1 6.207c.204-6.703.56-18.514 1.156-37.164.373-11.672.758-23.388 1.07-32.26.024-.668.039-.992.061-1.627zm-18.129 74.703c-.01.327-16.247 6.008-31.246 11.194 9.075 3.258 15.571 9.066 19.508 15.869 5.771 9.973 7.394 20.985 9.148 28.824l21.834-6.377c-10.26-15.359-18.074-40.863-19.244-49.51zm-47.236 24.28c-1.89.027-3.955.15-6.217.376-51.093 5.117-83.628 32.6-111.281 68.819-5.717 7.488-10.686 19.262-11.815 27.984-.564 4.361-.08 7.833.606 9.356.685 1.522.531 1.607 2.719 1.851l.888.1.844.293c-.971-.337 5.64-.052 13.66-2.526 8.02-2.473 18.276-6.683 29.168-12.166 21.785-10.965 46.228-27.147 62.248-44.277l1.832-1.957 2.64-.461c14.456-2.515 23.545-4.16 30.169-6.281 5.056-1.62 9.005-3.815 13.4-6.86-2.085-8.623-3.7-17.39-7.21-23.455-3.758-6.492-8.42-10.988-21.651-10.797z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hanger;

impl IconShape for Hanger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.508 28c-5.222.018-14.484.378-23.54 4.976-10.348 5.255-19.542 17.498-19.542 36.025h18c0-13.472 4.287-17.23 9.693-19.974C244.525 46.282 251.937 46 256.486 46c10 0 15.38 3.006 18.743 6.891 3.362 3.885 4.899 9.373 4.414 15.385-.97 12.023-9.745 20.744-23.157 23.724h-9v33.827a30.751 30.751 0 0 1 9-1.354c3.22 0 6.203.504 9 1.354v-16.881c18.771-4.339 30.699-21.88 32.098-39.221.806-9.988-1.72-20.5-8.744-28.615C281.816 32.996 270.486 28 256.486 28c-.568 0-1.232-.004-1.978-.002zm1.978 114.474c-6.265 0-11.583 4.417-18.386 12.397-6.803 7.979-13.779 18.644-24.745 25.699-28.987 18.65-62.68 28.155-93.978 39.095-31.299 10.941-59.94 23.174-80.246 45.407-2.822 3.09-7.223 13.039-9.813 21.666-.096.322-.127.52-.22.838 5.8-2.233 12.63-5.031 20.767-8.487 17.698-7.515 40.062-17.32 64.102-27.023 48.079-19.405 102.272-38.735 142.67-38.063 44.692.744 104.792 20.664 154.664 40.139 32.956 12.87 56.173 23.383 71.601 30.582-2.63-8.098-6.458-16.803-9.06-19.652-20.306-22.233-48.947-34.466-80.246-45.407-31.3-10.94-64.992-20.445-93.979-39.095-10.965-7.055-17.94-17.72-24.744-25.7-6.803-7.979-12.121-12.396-18.387-12.396zm-87 121.527v220h158v-220zm-66.408 12c-15.547 6.491-29.735 12.64-42.303 18h90.711v-18zm242.408 0v18h114.418a1313.695 1313.695 0 0 0-42.357-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HangingSign;

impl IconShape for HangingSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 37v114h30V37h-30zm272 0v114h30V37h-30zM16 48v20.94c20.9 6.4 43.8 13.28 43.8 13.28l-43.8.51V112h71V48H16zm137 0v64h206V88.53l-26.9-9.7 26.9-4.54V48H153zm272 0v64h71V48h-71zM73 169v42.5l38.1 9.4-38.1 8.2v68.5l44.3-3.2-44.3 29v70c32.2 10 62.4 32.8 92.1 53.2 3.5 2.4 7 4.7 10.5 7l25-25-9.5 34.9c22.6 13.7 44.5 23.5 64.9 23.5 28.2 0 59.1-18.6 90.9-40.4 29.7-20.4 59.9-43.2 92.1-53.2v-13.9l-66.8-17.1 66.8-12.6V169H306.7L256 202.8 205.3 169H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HarborDock;

impl IconShape for HarborDock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17 17v104.2l86 23.7V17zm0 122.8c-1.4 99.4 1.35 296.5 1 296.7.12 0 .23-.1.35-.2C31.89 428 48.05 419 64 419c15.97 0 27.59 10 37.6 18 10 8 18.5 14 26.4 14 3 0 6.1-.9 9.3-2.4l90.9-250.5zm86 68.2h18v18l23 5.2-4 17.6-19-4.3v58.9c1.2-1.4 2.3-2.7 3.4-4.2 5.6-7.5 9.6-15.3 9.6-15.3l16 8.2s-4.5 8.9-11.2 17.9c-3.3 4.4-7.2 9-11.9 12.7-4.7 3.7-10.6 7-17.8 6.3-8.2-.9-14.33-5.9-19.04-11.5-4.7-5.5-8.35-12-11.36-18.3-6.02-12.7-9.37-24.8-9.37-24.8l17.34-4.8s3.08 10.9 8.28 21.8c2.38 5 5.25 9.9 8.05 13.5v-64.5l-24.98-5.6 3.96-17.6 21.02 4.7zm132.8 22l-8.6 23.7c10.2 17.5 23.3 29.8 38.1 37.8 18.8 10.1 40.1 13.2 61.7 13.5v-18c-19.8-.3-38-3.3-53.2-11.4-15.6-8.3-28.6-21.9-38-45.6zm84.2 17v18h25v46h30v-46h25v-18zm-55 82v46h46v-46zm64 0v46h110v-46h-46zm128 0v46h30v-46zm-227.4 5.3c-2 .1-3.9.5-5.5 1.3-3.1 1.5-5.6 3.9-7.9 6.6-4.5 5.6-8.3 13.3-10.9 22.6-2.6 9.2-3.7 18.2-3 26.4.3 4.1 1 8 2.6 11.8 1.7 3.8 4.6 7.9 9 10 4.3 2.1 8.5 1.6 11.7.1 3.2-1.4 5.6-3.9 7.9-6.6 4.6-5.6 8.3-13.3 11-22.6 2.6-9.2 3.6-18.2 3-26.4-.4-4-1-8-2.7-11.7-1.7-3.9-4.6-8-8.9-10.1-2.1-1.1-4.3-1.4-6.3-1.4zm.7 21.1c0 .6.2.7.2 1.3.4 4.7-.2 12-2.3 19.3-2.1 7.3-5.2 13.3-7.9 16.5-.3.5-.5.4-.8.8-.1-.6-.2-.7-.3-1.3-.4-4.7.3-12 2.4-19.3 2-7.3 5.2-13.3 7.8-16.5.4-.5.6-.4.9-.8zM265 393v46h110v-46zm128 0v46h94v-46zM64 437c-4.68 0-12.17 2.5-20.09 6.1-9.03 3.4-17.74 8.4-25.57 13.2-.12.1-.22.1-.34.2V478c2.94-2 6.22-4.1 9.77-6.3C40.26 464 56.1 457 64 457c7.9 0 16.34 6 26.37 14 10.03 8 21.63 18 37.63 18 16 0 27.6-10 37.6-18s18.5-14 26.4-14c7.9 0 23.8 7 36.2 14.7 8.3 5 15 9.9 18.8 12.7v-22c-2.8-2-6-4-9.3-6.1C224.1 448 208 439 192 439c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14-7.14-5.7-15.08-12.4-24.8-15.8-4.5-2.6-8.72-4.2-12.8-4.2zm201 20v30h46v-30zm64 0v30h110v-30zm128 0v30h30v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Harp;

impl IconShape for Harp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M120.7 27.53l-28.93 8.56C112.1 187.8 125.6 321.9 183.9 455H228c-40-140.6-84.2-280.4-107.3-427.47zm19.9 10.36c2.6 16.05 5.5 32.03 8.7 47.95 9.8 2.67 19.9 6.9 30.1 11.85 18.3 8.71 37.3 19.81 56.1 29.51 18.8 9.7 37.3 17.9 53.6 21.1 16.4 3.2 29.8 1.7 41.6-7 22.2-16.4 38.4-26.2 51.3-31.4 12.8-5.2 23.3-5.9 31.6-1.8 7.8 4 11.5 11.1 14.2 17.1l5.1-11.3c-7.3-12.9-18.1-21.38-32.9-23.26-16.2-2.05-38.4 4.06-66 25.66-14.4 11.3-33 9.7-50.6 2.8-17.5-6.9-35.7-18.9-54.2-31.64-18.6-12.74-37.3-26.21-54.8-35.98-12.3-6.86-23.8-11.66-33.8-13.59zm12.8 68.31c4.8 23 10 45.9 15.6 68.7v-62.2c-5.4-2.6-10.6-4.8-15.6-6.5zM404.8 124c-27 110.6-55.1 223.8-97.7 331h38.6c34.5-94.4 51-203.5 70.3-311.3-1.8-3.8-3-7.4-4.3-10.4-2.3-5.3-4.3-8.1-6.3-9.1-.2-.1-.4-.2-.6-.2zM199 128.1v160.4c5.9 21.1 11.9 42.1 18 63.1V137.8c-6.1-3.2-12.1-6.5-18-9.7zM361 142c-5.4 3.6-11.4 7.8-18 12.6V288h1c5.9-20.9 11.5-41.8 17-62.8V142zm-114 10.8V455h18V160.2c-6-2.2-12-4.7-18-7.4zm66 14.3c-5.9.7-11.9.8-18 .2v269.8c6.3-16.4 12.3-32.9 18-49.6V167.1zM163.9 473l-15.1 16h214.4l-15.1-16H163.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hatchet;

impl IconShape for Hatchet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281 24.15L246.4 77.2l80 51.7 55.7 129.4c5.6-2.6 13.4-6.9 21.8-12.7 12.7-8.9 27.2-20.9 40.3-34.4 13.2-13.5 25.1-28.4 32.7-42.8 6.6-12.6 9.9-24.5 9-34.8L359.1 74.97zm-33.4 75.26C164.4 214.2 107.9 325.2 25.98 453.3c0 .1 0 0 .15.4.32 1.1 1.49 3.4 3.53 5.9 4.07 5.1 11.33 11.4 19.22 16.5 7.89 5.1 16.55 9.2 22.88 10.9 3.16.8 5.71.9 6.88.8.37-.1.37-.1.47-.1 21.99-33.8 31.99-49 48.09-110.3l.3-1.3.8-1.1c60.5-97.7 84.9-157 155-252.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HazmatSuit;

impl IconShape for HazmatSuit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 45c-35.333 0-70.707 3.979-98.607 11.676-26.393 7.28-45.193 18.363-52.12 29.449l31.352 297.842c.901.593 3.648 2.66 9.256 4.601 6.885 2.383 16.619 4.618 28.043 6.45 22.848 3.662 52.539 5.814 82.17 6.12 29.63.307 59.297-1.236 82.039-4.732 11.37-1.747 21.026-4.017 27.777-6.54 5.909-2.21 8.64-4.599 9.408-5.374l31.409-298.367C399.8 75.039 381 63.956 354.607 56.675 326.707 48.98 291.333 45 256 45zm-.01 59.137c37.028-.094 74.071 6.24 114.76 19.293l6.855 2.199-20.869 233.723c-4.116 6.372-11.53 9.046-17.246 10.585-6.246 1.69-13.85 2.969-22.557 4C299.52 376.001 277.78 377 256 377c-21.78 0-43.52-.999-60.934-3.063-8.707-1.031-16.31-2.31-22.556-4-9.482-3.465-12.11-3.738-17.246-10.585L135.035 132.8l-.644-7.235 6.931-2.158c40.627-12.657 77.64-19.178 114.668-19.271zM256 132c-28.005.057-54.002 20.112-68.746 53.033 5.885-.227 12.083-.352 18.184-.16 7.3.23 14.433.904 20.63 2.367 8.487 2.004 14.262 7.006 19.086 10.494C249.978 201.222 253.373 203 256 203c2.627 0 6.022-1.778 10.846-5.266s10.599-8.49 19.086-10.494c11.391-2.689 25.927-2.706 38.869-2.205C310.047 152.09 284.025 132.031 256 132zm163.918.762l-2.17 20.607c7.773 6.04 14.416 13.272 17.897 21.973 5.96 14.901 4.597 36.162-19.118 69.097 1.775.94 3.485 1.911 5.11 2.924 3.523 2.196 6.772 4.686 9.568 7.45 25.766-36.133 29.768-64.61 21.15-86.155-6.63-16.577-19.586-27.807-32.437-35.896zm-225.123 70.111c-3.457.032-6.9.13-10.17.28-5.127.234-9.238.567-13.102.876l14.625 53.547c4.92-4.038 10.766-6.576 17.352-6.576 9.26 0 17.052 5.018 22.863 12.176 2.636-5.164 5.46-9.81 8.405-13.783C240.464 241.703 246 235 256 235s15.537 6.703 21.232 14.393c2.944 3.974 5.77 8.62 8.405 13.783C291.447 256.018 299.24 251 308.5 251c8.432 0 15.648 4.163 21.26 10.31l11.445-57.232c-3.974-.324-8.418-.678-13.83-.926-13.078-.597-28.938-.368-37.307 1.608-3.12.736-7.383 3.733-12.675 7.56C272.1 216.147 265.299 221 256 221c-9.299 0-16.1-4.853-21.393-8.68-5.292-3.827-9.555-6.824-12.675-7.56-4.185-.988-10.241-1.54-16.887-1.77a236.535 236.535 0 0 0-10.25-.117zM256 253.592c-.988.786-3.837 2.56-6.768 6.515-4.175 5.638-8.738 14.157-12.427 24.065C238.89 291.468 240 299.517 240 308c0 14.648-3.288 28.016-9.246 38.416-.581 1.014-1.205 2-1.852 2.967 9.34 5.148 17.63 9.499 27.098 9.617 11.958-.485 18.348-4.945 27.088-9.633a50.455 50.455 0 0 1-1.842-2.951C275.288 336.016 272 322.648 272 308c0-8.483 1.11-16.532 3.195-23.828-3.689-9.908-8.252-18.427-12.427-24.065-2.93-3.956-5.78-5.729-6.768-6.515zm-150.568 5.984c-2.028 1.006-3.887 2.027-5.545 3.06C91.622 267.79 89 272.126 89 276v77.41c7.838-2.207 16.466-4.295 25.65-6.265zm301.136 0l-9.218 87.569c9.184 1.97 17.812 4.058 25.65 6.265V276c0-3.875-2.622-8.211-10.887-13.363-1.658-1.034-3.517-2.055-5.545-3.06zM203.5 269c-3.349 0-7.642 2.56-11.637 9.533C187.868 285.506 185 296.138 185 308c0 11.862 2.868 22.494 6.863 29.467 3.995 6.973 8.288 9.533 11.637 9.533s7.642-2.56 11.637-9.533C219.132 330.494 222 319.862 222 308c0-11.862-2.868-22.494-6.863-29.467-3.995-6.973-8.288-9.533-11.637-9.533zm105 0c-3.349 0-7.642 2.56-11.637 9.533C292.868 285.506 290 296.138 290 308c0 11.862 2.868 22.494 6.863 29.467 3.995 6.973 8.288 9.533 11.637 9.533s7.642-2.56 11.637-9.533C324.132 330.494 327 319.862 327 308c0-11.862-2.868-22.494-6.863-29.467-3.995-6.973-8.288-9.533-11.637-9.533zm-191.943 96.26c-21.468 4.788-39.163 10.107-48.532 14.79-5.316 2.66-10.276 8.685-14.285 17.817s-6.92 20.982-8.845 33.502c-3.292 21.397-3.67 43.333-3.749 59.631h79.827l14.297-57.184 17.46 4.368L139.527 491h232.946l-13.203-52.816 17.46-4.368L391.027 491h79.827c-.08-16.298-.457-38.234-3.749-59.63-1.926-12.521-4.836-24.37-8.845-33.503-4.01-9.132-8.969-15.158-14.285-17.816-9.369-4.684-27.064-10.004-48.532-14.791l-2.664 25.304c-4.272 8.564-13.55 13.506-20.564 16.163-8.624 3.224-19.219 5.606-31.348 7.47-24.258 3.729-54.592 5.254-84.96 4.94-30.37-.314-60.679-2.474-84.83-6.346-12.077-1.936-22.593-4.273-31.083-7.21-10.34-4.82-15.85-6.412-20.738-14.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeadbandKnot;

impl IconShape for HeadbandKnot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32.179c-45.506 0-86.897 23.38-117.373 62.168a206.386 206.386 0 0 0-11.254 15.832h73.002c2.733-5.315 6.66-10.46 12.793-14.399 3.446-2.213 7.064-3.268 10.709-3.52 6.075-.417 12.223 1.404 17.777 3.852a53.126 53.126 0 0 1 14.975 9.926c9.205-7.041 20.11-9.561 29.404-11.642l4.535-1.016 3.455 3.111c4.806 4.328 8.823 8.925 12.112 13.688h78.492a206.386 206.386 0 0 0-11.254-15.832C342.897 55.559 301.506 32.179 256 32.179zm-30.688 78.394c-1.284.01-2.15.181-2.42.354-5.915 3.799-7.655 8.787-10.097 17.154-2.075 7.106-4.314 16.292-10.58 24.832 2.843 7.173 7.783 15.326 14.086 22.074 7.56 8.096 16.766 13.95 25.14 15.309 1.807.293 3.708.45 5.67.48-7.474-11.107-9.888-24.559-9.634-36.656.281-13.463 3.083-25.41 7.572-34.22-2.828-2.784-6.734-5.588-10.656-7.317-2.909-1.282-5.604-1.81-7.663-1.96-.514-.039-.99-.053-1.417-.05zm59.858 2.55c-9.444 2.297-16.878 4.945-21.998 11.5-2.201 3.026-7.422 16.636-7.7 29.874-.265 12.682 2.9 24.753 12.24 32.479 1.843-.69 3.66-1.46 5.429-2.325 10.331-5.046 18.845-12.887 22.683-21.232 7.277-15.822 6.017-33.366-10.654-50.297zm-178.926 15.056c-9.029 11.163-14.688 31.627-16.52 46h103.104l.03-.098c-4.29-6.65-7.555-13.612-9.508-20.418l-1.424-4.959 3.558-3.734c4.444-4.664 6.53-10.221 8.514-16.791zm208.715 0c4.511 14.611 3.244 29.655-2.783 42.76-.249.54-.52 1.067-.787 1.597.202.548.397 1.095.601 1.643h110.285c-1.831-14.373-7.49-34.837-16.52-46zm-16.416 60.937c-5.188 4.691-11.161 8.612-17.502 11.71-6.143 3-12.668 5.25-19.303 6.589 27.442 95.565 85.556 206.976 133.551 268.828 5.128-11.45 11.311-23.781 20.47-33.836 8.668-9.514 20.858-16.275 35.714-17.263-60.1-74.013-119.94-152.686-152.93-236.028zm-92.248 1.358C175.222 280.693 111.57 368.625 51.55 449.003c14.89-1.23 28.072 1.314 39.115 6.906 11.172 5.658 19.954 14.136 26.707 23.912 45.553-87.993 101.59-175.243 125.314-271.258a57.998 57.998 0 0 1-4.128-.501c-12.458-2.022-23.344-8.932-32.264-17.588zm-111.752 1.705c-3.608 17.544-5.543 35.976-5.543 55 0 34.046 6.184 66.201 17.105 94.742 32.908-49.097 62.087-99.504 80.573-149.742zm224.639 0c21.27 49.982 52.653 99.024 87.836 146.736C417.236 311.129 423 280.036 423 247.179c0-19.024-1.935-37.456-5.543-55zm-66.416 47.697c-20.539 66.554-54.291 128.19-87.139 188.06 26.177 21.789 57.177 34.243 90.373 34.243 31.565 0 61.147-11.259 86.482-31.096-34.201-55.569-67.763-125.04-89.716-191.207z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Headphones;

impl IconShape for Headphones {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 51c-54.994 0-107.32 25.053-148.22 66.826l16.525 8.264C163.22 88.012 210.558 65 256 65c45.45 0 92.803 22.997 131.725 61.074l16.496-8.248C363.32 76.053 310.995 51 256 51zM95.178 131.652C54.13 180.022 27.215 246.514 25.195 321h14.022c2.225-70.647 30.325-133.29 69.992-178.906.695-.8 1.403-1.583 2.106-2.373l-16.138-8.068zm321.644 0l-16.107 8.055c.692.778 1.39 1.548 2.076 2.336C442.46 187.646 470.56 250.29 472.784 321h14.022c-2.02-74.486-28.935-140.978-69.983-189.348zM128.042 262.8c-3.485-.013-6.98 1.078-7.042 3.415V458c0 4 14 4 14 0V266c0-2.074-3.473-3.19-6.96-3.2zm255.917 0c-3.487.01-6.96 1.126-6.96 3.2v192c0 4 14 4 14 0V266.215c-.06-2.337-3.557-3.428-7.04-3.416zM103 275.73c-15.623 2.393-25.644 11.16-33.133 24.64C61.022 316.294 57 339 57 362s4.022 45.707 12.867 61.63c7.49 13.48 17.51 22.247 33.133 24.64V275.73zm306 0v172.54c15.623-2.393 25.644-11.16 33.133-24.64C450.978 407.706 455 385 455 362s-4.022-45.707-12.867-61.63c-7.49-13.48-17.51-22.247-33.133-24.64zM25 339v46h14v-46H25zm448 0v46h14v-46h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Healing;

impl IconShape for Healing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.9 18.9c-23.9 2.99-45.3 30.65-45.3 66.99 0 19.91 6.8 37.41 16.8 49.61l12.2 14.5-18.7 3.5c-13 2.5-22.6 9.5-30.7 20.8-8.5 11.5-14.8 26.9-19.1 45.2-8 32.7-9.9 72.7-9.9 108.2h43.6l11.7 160.5c30.4 7 63.1 6.5 92.3 0l10.7-160.5H356c0-35.7-.5-76.4-7.8-109.7-3.9-17.9-10-33.7-18.2-45.1-8.2-11.1-18.5-17.8-33.3-20.1l-18.9-3 11.9-14.9c9.9-12.1 16.4-29.6 16.4-49.01 0-38.54-24-66.99-50.3-66.99h-4.9zm145 3.59v41.85h-41.8v50.16h41.8v41.6h49.9v-41.6h41.9V64.34h-41.9V22.49h-49.9zM52.92 62.89v30.58H22.39v36.63h30.53v30.4h36.4v-30.4h30.58V93.47H89.32V62.89h-36.4zM92.63 199.7v21.8H70.75v26.3h21.88v21.9h26.27v-21.9h21.8v-26.3h-21.8v-21.8H92.63zm355.07 62.4v21.8h-21.9v26.3h21.9v21.9H474v-21.9h21.8v-26.3H474v-21.8h-26.3zm-307.5 99.4v15h-15v18h15v15h18.1v-15h15v-18h-15v-15h-18.1zm230 45.8v15h-15v18h15v15h18v-15h15v-18h-15v-15h-18zM49.32 431.8v15h-15v18h15v15h18.01v-15h15v-18h-15v-15H49.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HealingShield;

impl IconShape for HealingShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.98c-64 48-128 68-224.03 100.02C31.97 234 112 394 256 490c144-96 224-250 224-362-96-32.02-160-58.02-224-106.02zM229 128h54v101h101v54H283v101h-54V283H128v-54h101V128z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HealthCapsule;

impl IconShape for HealthCapsule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M314 29.72l-11.4 11.35 32.5 32.54 11.4-11.39-32.5-32.5zm38.3 2.74c-3.5-.04-6.8.1-9.6.39 0 0-.1.01-.1.02l61.9 61.87 30.8-30.82c-19.8-17.03-43.2-26-63.5-29.57-5.6-.99-11-1.56-15.9-1.79-1.2-.05-2.4-.09-3.6-.1zm-51.1 32.69L65.15 301.3 108.9 345l4.9-4.9 6.4-6.3 58 58-11.3 11.3 43.8 43.8 236.2-236.1L301.2 65.15zm58.1 9.83l-11.4 11.39 77.7 77.73 11.4-11.4-77.7-77.72zm88.8 1.7l-30.8 30.82 61.9 62v-.2c.8-7.6.5-17.9-1.5-29.1-3.6-20.3-12.6-43.73-29.6-63.52zm1.7 88.82l-11.4 11.4 32.5 32.5 11.4-11.4-32.5-32.5zm-227.7 11.3l33.9 33.9 33.9-33.9 45.3 45.3-33.9 33.9 33.9 33.9-45.3 45.3-33.9-33.9-33.9 33.9-45.3-45.3 33.9-33.9-33.9-33.9 45.3-45.3zM40.94 302.6L29.7 314l55.14 55.1 11.31-11.3-55.21-55.2zm-8.08 40c0 .1-.01.1-.01.1-.78 7.6-.48 17.9 1.5 29.1 3.98 22.6 14.65 49.1 35.68 70.1 21.03 21.1 47.57 31.8 70.17 35.8 11.2 2 21.5 2.3 29.1 1.5h.2l-39.4-39.4-9.9 9.9-57.96-57.9 9.9-9.9-39.28-39.3zm87.34 16.6l-32.5 32.6 32.5 32.5 32.6-32.5-32.6-32.6zm34 56.6l-11.4 11.3 55.2 55.2 11.4-11.3-55.2-55.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HealthPotion;

impl IconShape for HealthPotion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 17.65l16 34h96l16-34zm-9 53v51.95h32v22.2c-19.3-9-42.6-8.2-55-8.2-50.5 0-82.1 21.9-99.5 48-17.4 26.1-21.5 55.5-21.5 73 0 52.5 38.6 94.4 83.3 131C167 425.1 219 457.3 249.6 488l6.4 6.3 6.4-6.3c30.6-30.7 82.6-62.9 127.3-99.4 44.7-36.6 83.3-78.5 83.3-131 0-17.5-4.1-46.9-21.5-73s-49-48-99.5-48c-12.4 0-35.7-.8-55 8.2v-22.2h32V70.65zm18 18h110v15.95H201zm32 33.95h46v60.7l15.4-15.3c11.7-11.8 41.6-13.4 57.6-13.4 45.5 0 69.9 18.1 84.5 40 14.6 21.9 18.5 48.5 18.5 63 0 43.5-33.4 81.7-76.7 117-40.7 33.4-89 63.5-122.3 94.7-33.3-31.2-81.6-61.3-122.3-94.7-43.3-35.3-76.7-73.5-76.7-117 0-14.5 3.9-41.1 18.5-63s39-40 84.5-40c16 0 45.9 1.6 57.6 13.4l15.4 15.3zm-41 71c-64 0-80 48-80 80 0 64 80 96 144 144 64-48 144-80 144-144 0-32-16-80-80-80-32 0-48 0-64 48-16-48-32-48-64-48zm125.7 14.6c3.6-.1 5.9.3 5.8.6-16.5 7.3-33.9 24.4-44.6 41.7 0 0-3.2-17.7 9.9-31.9 7.4-8.1 21.1-10.3 28.9-10.4zM192 209.6c-24 21.5-41.3 58.2-47.2 90.4 0 0-19.5-23.7-7.7-53.4 9.8-24.5 50.1-36.5 54.9-37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartArmor;

impl IconShape for HeartArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.1 40.28c-24.1-.1-47.24 3.34-67.2 8.33-15.97 3.99-29.92 8.98-40.69 13.88-5.21 2.36-9.66 4.78-13.2 6.95 9.88 8.36 25.58 20.31 42.11 30.76 22.13 14.1 47.08 25.4 59.08 25.4 5.2 0 11.6-2.8 18.3-8.6 6.7-5.8 13.5-14.4 19.3-24.08 9.7-16.2 16.6-35.75 18.6-49.63-12.2-1.96-24.3-3.01-36.3-3.01zm223.8 0c-12 0-24.1 1.05-36.3 3.01 2 13.88 8.9 33.43 18.6 49.63 5.8 9.68 12.6 18.28 19.3 24.08 6.7 5.8 13.1 8.6 18.3 8.6 12 0 36.9-11.3 59.1-25.4 16.5-10.45 32.2-22.4 42.1-30.76-3.6-2.17-8-4.58-13.2-6.95C465 57.6 451 52.6 435.1 48.61c-20-4.99-43.1-8.43-67.2-8.33zm-169.3 3.78c-.6 5.65-1.9 11.62-3.6 17.74 19.1 5.18 40.1 7.68 61 7.68 21 0 41.9-2.5 61-7.69-1.7-6.11-3-12.08-3.6-17.73-17.6 4.86-37.5 7.42-57.4 7.42s-39.8-2.56-57.4-7.42zm130.5 47.92L233 139.7l14.4 86.2 71.1 14.2c11.7-13.7 26.8-28.5 38.3-45.4 11-16.2 18.5-33.6 17.2-53.8-5.8-2.3-11.3-6-16.3-10.3-8.7-7.6-16.4-17.5-22.9-28.4-2-3.27-3.9-6.75-5.7-10.22zm-11.3 24.82l30 30.3.5 2.7c3 15.8-2.6 29.6-9.7 40.1-7.2 10.6-15.9 18.8-20.5 24.7l-3.5 4.3-50.5-10.3-10-59.9 57.9-28.9zm-154.6 4.8c-2.8 3.3-5.8 6.3-8.9 9-3.2 2.8-6.6 5.2-10.1 7.2-3.2 44.7-8.5 90.5-15.8 133.9 6.2-2.6 12.9-6.1 19.9-10.4 7.2-45.8 12.2-93.6 14.9-139.7zm151 17.2l-40.1 20.1 5.8 34.5 27.8 5.7c5.4-6.2 11.3-12.4 16-19.2 5.2-7.7 8.1-15.4 7.1-24.4zm59.6 62.9c-.7 1-1.4 2.1-2.1 3.1-4.3 6.2-8.9 12.1-13.5 17.7 6.8 53.2 16.5 105.2 29.1 150.3h18.5c-14.3-49.9-25-110-32-171.1zm-146 16.8c-19.6 19.4-39.2 36.8-57.9 50-19.8 14-38.4 23.9-56.1 26.3L102 371.1c13.6-3.6 33.4-12.8 55.1-26.7 28.4-18.1 60.8-43.5 92-72 8.1-7.5 16.2-15.2 24-23l-41.5-8.3zm.8 139.4L216 383.2l14.6 88.5h50.8l14.6-88.5-12.6-25.3zm-125.9 32.9l12 47.9h92.2l-8-47.9zm210.4 0l-8 47.9h92.2l12-47.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartBattery;

impl IconShape for HeartBattery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M454.6 16.71c-12.1.21-23.6 6.62-29.1 17.97-6.5 12.86-3.2 27.92 6.5 37.82l-18-8.9-4.7 9.55-45.9-45.56-37.9 59.37-48-48.77L245.8 124l-29.4-94.07-37.1 60.45-18.6-55.15-58.4 36.98-4.29-8.65-18.1 8.96c9.68-9.93 12.96-24.97 6.59-37.83-5.62-11.35-17.12-17.76-29.2-17.97-5.49-.1-11.09 1.09-16.32 3.67-16.71 8.28-24.42 28.36-16.25 44.87 6.37 12.87 20.32 19.38 34.08 17.7l-18.12 8.97 7.98 16.17 20.61-10.2 6.19 12.5-20.58 10.2 7.99 16.2 20.6-10.2 6.18 12.5-20.59 10.2 7.99 16.2 20.61-10.2 6.23 12.5L83.27 178l7.98 16.2L111.9 184l6.9 13.9c-25.56 18.6-39.11 52-38.9 73.3 1.5 47.3 34.2 79.4 74.8 114.8 35.4 30.8 76.1 63.2 100.9 110 .1-.1.1-.2.2-.3.1.1.1.2.2.3 24.8-46.8 65.5-79.2 100.9-110 40.6-35.4 73.3-67.5 74.8-114.8.2-21.2-13.2-54.5-38.6-73.1l7-14.1 20.7 10.2 7.8-16.2-20.6-10.2 6.3-12.5 20.5 10.2 8-16.2-20.5-10.2 6.2-12.5 20.6 10.2 8-16.2-20.6-10.2 6.1-12.5 20.7 10.2 8-16.2-18.2-8.9c13.8 1.6 27.7-4.9 34.2-17.7 8.2-16.56.5-36.64-16.3-44.92-5.2-2.58-10.9-3.77-16.4-3.67zM148 63.86l20.6 69.94 46.7-45.01 23.9 89.81 54.6-86.26 35.6 56.16 31.9-79.86 46 8.41-1.3 2.65 20.5 10.2-6.2 12.5-20.5-10.2-8 16.2 20.5 10.2-6.2 12.5-20.5-10.2-8 16.2 20.6 10.2-6.2 12.5-20.6-10.2-8 16.2L384 176l-6.6 13.2c-7.6-3.1-15.9-4.9-25-5-38-.5-82.6 25.7-96.6 67.7-14-42-58.6-68.2-96.6-67.7-8.9.1-17.2 1.9-24.7 4.9L128 176l20.6-10.2-8-16.2-20.6 10.2-6.2-12.5 20.6-10.2-8-16.2-20.6 10.2-6.17-12.5 20.57-10.2-8-16.16-20.57 10.16-6.2-12.51L106 79.7l-2.2-4.37L148 63.86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartBeats;

impl IconShape for HeartBeats {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M366.688 30.027c-1.01-.01-2.022-.01-3.034.004h.002c-41.495.563-83.634 22.155-110.844 69.282-41.912-117.77-236.49-76.29-232 64.5.64 20.068 5.132 38.987 12.454 56.917h76.45l21.22-74.126 26.375 90.134 18.46-64.312 17.238 48.303H328.1l21.222-74.126 26.375 90.13 18.46-64.308 17.238 48.303h72.517c7.097-18.183 10.927-37.136 10.307-56.917-2.61-83.04-63.874-133.082-127.533-133.786zM131.125 211.34l-7.842 27.39h-81.58c54.51 103.006 197.737 172.59 216.172 241.395 16.782-62.62 165.07-139.482 217.855-241.396h-77.023l-2.69-7.542-20.154 70.208-26.353-90.054-7.84 27.387H180.32l-2.69-7.54-20.15 70.206-26.355-90.056z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartEarrings;

impl IconShape for HeartEarrings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M143.3 24.25c-1.2-.01-2.5.02-3.7.1-9.8.61-19.9 3.54-29.3 7.02C91.57 38.34 75.43 47.9 75.43 47.9l9.14 15.5s15.16-8.89 32.03-15.15c8.4-3.13 17.3-5.51 24.1-5.94 6.9-.43 10.6.91 12.4 3.1 2.1 2.48 2.7 6.78.9 13.88-1.7 7.1-5.9 15.86-10.8 24.05-7.2 12.01-15.6 22.66-19.6 27.56-20.5 2.3-36.6 19.8-36.6 40.8 0 12.9 6.08 24.5 15.5 32-9.42 7.5-15.5 19.1-15.5 32 0 19.4 13.8 35.8 32 40V315c-12.9-16.8-34.09-26.8-52.75-26.5-32.93.3-50.94 35.9-50.76 55.5.94 30.3 21.88 50.8 47.83 73.4 22.59 19.7 48.58 40.4 64.38 70.3.1-.1.1-.1.2-.1s.1 0 .1.1c15.8-29.9 41.9-50.6 64.4-70.3 26.1-22.6 46.9-43.1 47.9-73.4.1-19.6-17.9-55.2-50.7-55.5-18.7-.3-39.7 9.5-52.6 26.3v-59.1c18.2-4.2 32-20.6 32-40 0-12.9-6.1-24.5-15.5-32 9.4-7.5 15.5-19.1 15.5-32 0-16.8-10.3-31.4-24.9-37.7 4.3-5.8 9.6-13.2 14.5-21.43 5.4-9.06 10.4-18.93 12.9-28.91s2.5-21.21-4.6-29.77c-6-7.23-14.9-9.58-23.6-9.64zm256 0c-1.2-.01-2.5.02-3.7.1-9.8.61-19.9 3.54-29.3 7.02-18.7 6.97-34.9 16.53-34.9 16.53l9.2 15.5s15.1-8.89 32-15.15c8.4-3.13 17.3-5.51 24.1-5.94 6.9-.43 10.6.91 12.4 3.1 2.1 2.48 2.7 6.78.9 13.88-1.7 7.1-5.9 15.86-10.8 24.05-7.2 12.01-15.6 22.66-19.6 27.56-20.5 2.3-36.6 19.8-36.6 40.8 0 12.9 6.1 24.5 15.5 32-9.4 7.5-15.5 19.1-15.5 32 0 19.4 13.8 35.8 32 40V315c-12.8-16.8-34-26.7-52.6-26.4-32.9.3-50.9 35.9-50.7 55.5.9 30.3 21.9 50.8 47.8 73.4 22.6 19.7 48.6 40.4 64.3 70.3.1-.1.1-.1.2-.1s.1 0 .1.1c15.8-29.9 41.9-50.6 64.4-70.3 26.1-22.6 46.9-43.1 47.9-73.4.1-19.6-17.9-55.2-50.7-55.5-18.7-.3-39.9 9.6-52.7 26.4v-59.3c18.2-4.2 32-20.6 32-40 0-12.9-6.1-24.5-15.5-32 9.4-7.5 15.5-19.1 15.5-32 0-16.8-10.3-31.4-24.9-37.7 4.3-5.8 9.6-13.2 14.5-21.43 5.4-9.06 10.4-18.93 12.9-28.91s2.5-21.21-4.6-29.77c-6-7.23-14.9-9.58-23.6-9.64zM128 128.7c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm256 0c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-256 64c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm256 0c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartKey;

impl IconShape for HeartKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.4 39.83c-14.4.16-28.1 4.81-39.9 12.2-26.9 17.04-42.2 48.27-30.8 74.77l6.8 15.9-15.9-6.8c-21.54-9.3-46.22-.9-63.82 17-4.03 4.2-7.78 8.8-10.96 13.8-16.97 27-19.45 63.9 13.15 96.5C72.23 286.4 118 291.5 164 290.4c23.1-.6 45.9-2.5 65.9-3.7 5-.3 9.8-.6 14.4-.8l186.3 186.3 25.4-25.4-.1-.1 32.6-32.5-25.4-25.4-32.6 32.5-18.4-18.4 21.2-21.2-25.4-25.4-21.2 21.2-17-17 55.1-55.2-25.4-25.4-55.1 55.2-74.6-74.6c.2-4.6.5-9.4.8-14.4 1.2-20 3.1-42.8 3.7-65.9 1-45.9-4-91.75-27.2-115.02-18.3-18.34-38.1-25.55-56.6-25.35z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartNecklace;

impl IconShape for HeartNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73.09 23.21h1.2c6.9.31 12.8 4.74 17.2 9.89 5.4 6.35 9.41 14.82 11.71 24.59 2.4 9.77 2.7 19.13.8 27.22-.5 2.17-1.2 4.35-2.1 6.42 5.2.24 10.3 2.59 14.6 5.6 6.7 4.87 12.7 12.07 17.4 20.97 4.7 8.9 7.3 17.9 7.6 26.2.1 5.8-1 11.9-4.5 16.6 6.6-1.7 13.5.4 19.1 3.8 7.2 4.2 13.7 10.9 19.2 19.4 5.4 8.4 8.8 17.2 9.7 25.4.3 3 .3 6.1-.2 9.1 5-.8 10.3.3 15 2.1 7.6 3.1 15.1 8.7 21.8 16.3 6.6 7.5 11.3 15.6 13.4 23.7 1.1 4 1.6 8.4.9 12.6 5.6-3.2 12.5-4.8 20.1-4.8 7.7 0 14.5 1.6 20.2 4.8-.7-4.1-.3-8.5.8-12.6 2.2-8.1 6.8-16.2 13.5-23.8 6.6-7.6 14.1-13.1 21.9-16.3 4.6-1.9 9.9-2.9 14.9-2.1-.5-3-.5-6.1-.2-9 .9-8.3 4.2-17 9.7-25.5 5.5-8.5 12-15.1 19.2-19.4 5.6-3.3 12.4-5.5 18.8-3.8-3.3-4.7-4.4-10.8-4.3-16.6.2-8.3 2.8-17.3 7.5-26.1 4.7-9 10.7-16.1 17.5-20.94 4.2-3.09 9.3-5.46 14.6-5.7-.9-2.04-1.6-4.18-2.1-6.32-1.8-8.07-1.6-17.43.8-27.2 2.3-9.76 6.3-18.22 11.7-24.57 5.3-6.36 13.2-11.59 22.2-9.42s13.6 10.39 15.4 18.48c1.9 8.09 1.6 17.46-.7 27.23-2.4 9.77-6.4 18.24-11.7 24.56-4.5 5.29-10.5 9.78-17.6 9.98 1.2 3.5 1.7 7.4 1.5 11.1-.1 8.3-2.7 17.2-7.4 26.2-4.7 8.8-10.7 16-17.4 20.8-5.8 4.2-13 7-20.1 5.2 3.7 5.1 4.5 11.8 3.9 18.1-1 8.3-4.3 17-9.8 25.5-5.4 8.5-12 15.1-19.1 19.4-5.2 3-11.4 5.1-17.3 4.1.5 3.9 0 7.9-1 11.7-2.2 8-6.8 16.1-13.5 23.7-6.6 7.6-14.1 13.1-21.9 16.3-5 2-10.8 3.1-16.2 1.9 1.1 2.1 2 4.3 2.7 6.5.7 2.1 1.3 4.2 1.8 6.3-6.4.7-12.2 2.1-17.5 4.2-.4-1.7-.8-3.4-1.3-4.9-1.7-4.8-3.8-8.1-6.5-10.2-2.8-2.1-6.5-3.6-13-3.6s-10.2 1.5-13 3.6c-2.7 2.1-4.8 5.4-6.5 10.2-.5 1.5-.9 3.2-1.3 4.9-5.3-2.1-11.1-3.5-17.5-4.2.5-2.1 1.1-4.2 1.8-6.3.7-2.2 1.6-4.4 2.6-6.4-5.3 1.1-11.1 0-16.1-2-7.7-3.1-15.2-8.7-21.9-16.2-6.6-7.6-11.3-15.7-13.4-23.7-1-3.8-1.5-7.9-1-11.7-6 1-12.2-1.1-17.3-4.2-7.2-4.2-13.7-10.9-19.2-19.4-5.4-8.4-8.8-17.2-9.7-25.4-.7-6.3.1-13 3.8-18.2-7.1 1.9-14.3-1-20.1-5-6.8-4.9-12.71-12.1-17.51-21-4.7-8.9-7.3-17.8-7.5-26.2 0-3.7.4-7.6 1.7-11.2-7.1-.2-13.2-4.66-17.6-9.87-5.3-6.36-9.3-14.83-11.7-24.6-2.3-9.77-2.6-19.13-.8-27.22 2-8.11 6.5-16.32 15.5-18.49 1.3-.31 2.5-.47 3.8-.51zm-1.8 23.09c-.9 4.5-1 11.54.8 18.95 1.8 7.4 5 13.65 8 17.21 2.4 2.85 3.9 3.31 4.1 3.25.3-.1 1.4-1.17 2.3-4.79.9-4.51 1-11.54-.8-18.95s-5-13.65-7.9-17.22c-2.5-2.84-4-3.31-4.3-3.25-.2.1-1.3 1.17-2.2 4.8zm363.01-1.55c-3 3.55-6.2 9.8-8 17.21-1.8 7.41-1.8 14.44-.7 18.96.8 3.54 1.9 4.68 2.2 4.75.3.1 1.8-.45 4.1-3.23 3-3.54 6.2-9.8 8-17.2 1.8-7.41 1.8-14.44.7-18.96-.8-3.55-1.9-4.69-2.2-4.76-.3-.1-1.8.45-4.1 3.23zm-28.4 66.75c-3.8 2.7-8.4 8-12 14.7-3.5 6.7-5.3 13.5-5.4 18.2-.1 3.6.7 5 1 5.1.2.2 1.8 0 4.8-2.1 3.8-2.7 8.4-7.9 12-14.7 3.5-6.7 5.3-13.5 5.4-18.1.1-3.5-.7-5-.9-5.2-.3-.1-1.9 0-4.9 2.1zm-305.7 3.1c.2 4.6 1.9 11.5 5.4 18.2 3.6 6.7 8.3 12 12 14.7 3 2.2 4.6 2.3 5 2.3.1-.2.9-1.5.9-5.4-.2-4.6-1.9-11.4-5.5-18.2-3.5-6.7-8.2-11.9-12-14.7-3.1-2.2-4.6-2.2-4.9-2.1-.2.1-1 1.5-.9 5.2zm265 65.2c-4.1 2.4-9.1 7.2-13.3 13.6-4.1 6.4-6.4 13.1-6.9 17.7-.4 3.6.3 5 .6 5.2.2.2 1.8.2 4.9-1.7 4-2.3 9.1-7.2 13.2-13.6 4.1-6.4 6.4-13 6.9-17.7.5-3.6-.2-5-.4-5.2-.3-.2-1.9-.1-5 1.7zM141.8 178c-.2.4-.8 1.8-.4 5.4.6 4.6 2.8 11.3 7 17.7 4.1 6.4 9.2 11.2 13.1 13.6 3.4 2 5 1.8 5.2 1.7.1-.1.8-1.6.4-5.2-.6-4.6-2.8-11.3-7-17.7-4.1-6.4-9.2-11.2-13.2-13.6-3.4-2-4.9-1.8-5.1-1.9zm177.3 59.1c-4.4 1.7-10.1 5.7-15.1 11.4-5.1 5.7-8.3 11.9-9.6 16.4-.9 3.6-.5 5.1-.2 5.3.2.2 1.8.4 5.1-.9 4.4-1.8 10.1-5.8 15.1-11.5 5.1-5.7 8.3-11.9 9.6-16.4.9-3.5.5-5.1.3-5.3-.3-.2-1.9-.4-5.2 1zm-131 4.4c1.2 4.4 4.5 10.6 9.5 16.4 5.1 5.7 10.8 9.7 15.1 11.5 3.5 1.4 5 1.1 5.2.9.2-.2.7-1.6-.3-5.3-1.2-4.5-4.5-10.7-9.5-16.4-5-5.7-10.8-9.7-15.1-11.5-3.5-1.4-5-1.1-5.2-.9-.2.2-.6 1.8.3 5.3zM304 318.3c13 0 31.8 5.9 38.5 16 6.7 10.1 10.5 24.5 10.5 39 0 20-24.2 42.6-43.7 63.9-17.1 18.9-37.4 36.4-53.3 51.6-15.9-15.2-36.2-32.7-53.3-51.6-19.5-21.3-43.7-43.9-43.7-63.9 0-14.5 3.8-28.9 10.5-39 6.7-10.1 25.5-16 38.5-16 14.5 0 21.6 2.8 29.6 9.4 9.8 8 17.4 33.1 18.4 33.1s8.6-25.1 18.4-33.1c8-6.6 15.1-9.4 29.6-9.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartShield;

impl IconShape for HeartShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32c-64 48-128 64-224 96 0 128 160 320 224 368 64-48 224-240 224-368-96-32-160-48-224-96zm0 34.75l5.4 4.05c49.7 37.3 99.6 49.9 176.7 75.6l6.2 2v6.5c0 55-33.1 119.7-72 176.4-38.9 56.8-83.6 105-110.9 125.5l-5.4 4.1-5.4-4.1c-27.3-20.5-72-68.7-110.9-125.5-38.9-56.7-72-121.4-72-176.4v-6.5l6.15-2C150.9 120.7 200.9 108 250.6 70.8l5.4-4.05zm0 22.18c-49.4 35.37-99.8 49.17-170.05 72.37 2.58 46.7 32.35 107 68.65 159.9 35.3 51.5 76.6 96.3 101.4 116.8 24.8-20.5 66.1-65.3 101.4-116.8 36.3-52.9 66.1-113.2 68.6-159.9-70.3-23.2-120.6-37-170-72.37zm-45.5 54.97c19.7.5 38.1 14.4 45.5 48.1 18-86.3 110-42.5 110 22.5-1 63.9-92 107.7-110 162.1-19-54.4-108-98.2-110-162.1 0-39.6 33.8-71.3 64.5-70.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartStake;

impl IconShape for HeartStake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87.39 37.73c-2.41 0-4.77.05-7.08.13l.02-.07c-4.6.15-8.96.45-12.87.79-5.96.51-9.51.96-13.01 1.33C31.1 67.49 28.78 95.66 19.22 120.1c7.67 9 12.61 20.9 14.79 32.7 4.81-1.2 10.03-3.2 14.77-5.9 7.42-4.2 13.55-10.2 15.3-13.3 2.64-4.7 3.55-16.6 12.37-26.5 5.74-6.4 12.9-7.72 19.19-9.34 6.26-1.61 12.26-3.17 14.56-4.52h.1c2.4-1.35 10.3-10.59 16.5-20.67 4.7-7.69 8.7-15.18 12-21.34-9.9-8.73-27-12.64-44.12-13.37-2.45-.1-4.89-.14-7.29-.13zm92.91 29.29c-9.7.08-19.4 1.49-28.7 4.27L286.3 235.8l-.2 3.5c-.7 10.3-6 21.3-14.4 31.8-8.4 10.6-20.3 20.3-35.3 23.7l-3.9.9L77.19 188.3c-.14 12.8.88 26.7 3.28 41.8 3.64 74.6 99.93 172.7 118.83 248.3 34.2-33.7 93.2-59.6 148.6-91.2l.1.1c.7-.5 1.5-.9 2.2-1.4 51.9-29.7 100.3-64.6 121.9-115.7 56.5-139.9-101.8-174.46-185.7-105.3-4.3-62.8-55.5-98.32-106.1-97.88zM140 85.44c-6 9.57-12 18.46-20.8 23.46-.5.3-1 .5-1.5.8l30.3 50.8-59.33-39.6c-2.4 4.5-4.04 12.8-8.89 21.6-3.33 6-8.49 11-14.71 15.5L235.8 276c8.4-2.8 16.1-8.9 21.8-16.1 5.2-6.6 8.6-14 9.9-18.8L140 85.44zM403.7 372.7c-12.7 9.1-25.9 17.6-39.5 26l121 84.5-81.5-110.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartWings;

impl IconShape for HeartWings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.53 118.73c-15.623 74.884 20.42 123.6 64.126 150.56-33.063-7.81-65.052-19.483-98.25-36.845 25.5 77.488 81.165 95.816 129.906 90.75-26.933 14.252-55.392 25.302-83.937 32.782 69.446 43.143 120.11 16.458 148.27-21.317a586.15 586.15 0 0 0-6.217-5.498c-5.193-3.697-10.128-7.95-14.778-12.71-5.968-5.095-12.045-10.295-18.173-15.73-33.648-29.837-67.978-65.614-69.43-112.83-.002-.05 0-.1-.002-.15-19.147-22.057-36.472-45.304-51.514-69.013zm402.94 0c-15.04 23.705-32.368 46.943-51.515 68.993 0 .026.003.05.004.078 1.388 45.967-33.476 82.66-67.968 113.386-13.87 12.355-27.86 23.824-39.904 34.44 28.298 37.26 78.683 63.125 147.54 20.35-28.543-7.48-56.98-18.53-83.91-32.78 48.737 5.056 104.38-13.28 129.876-90.75-33.197 17.363-65.187 29.036-98.25 36.845 43.705-26.962 79.75-75.675 64.125-150.56zm-132.42 3.977c-22.146.17-45.395 11.85-61.025 38.36l-7.783 13.2-7.736-13.228c-19.473-33.286-54.394-43.623-82.15-35.75h-.01c-24.486 6.947-43.386 26.957-42.307 62.048 1.187 38.61 30.602 70.852 63.38 99.918 16.39 14.533 33.36 28.123 47.412 41.52 8.357 7.968 15.777 15.842 21.332 24.142 5.568-7.718 12.923-15.143 21.217-22.86 14.382-13.384 31.856-27.363 48.64-42.314 33.567-29.9 63.045-63.115 61.95-99.398-1.118-36.974-22.723-58.38-48.618-64.127a63.71 63.71 0 0 0-14.303-1.513z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavenGate;

impl IconShape for HeavenGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 59.8l-101.8 84.8 11.6 13.8L247 90.7v40.6l-92.8 77.3 11.6 13.8 81.2-67.7v40.6l-92.8 77.3 11.6 13.8 81.2-67.7v60.8h18v-60.8l81.2 67.7 11.6-13.8-92.8-77.3v-40.6l81.2 67.7 11.6-13.8-92.8-77.3V90.7l81.2 67.7 11.6-13.8zM69.73 64.5l14 14h56.57l14-14zm287.97 0l14 14h56.6l14-14zM89 96.5v222h46v-222zm288 0v222h46v-222zM71 277c-25.36 1-43.85 17.5-43.85 35.6 0 10.9 6.44 21.5 18.69 28.6l6.73 3.9-2.85 7.2c-.49 1.2-.69 2.4-.69 3.5 0 3.1 1.7 6.9 6.83 11l12.41 9.9-14.91 5.5c-11.02 4.1-19.3 9-24.36 13.6-5.06 4.6-6.69 8.5-6.69 11.8 0 3.3 1.6 7 6.26 11.4s12.21 9 21.95 12.8c19.47 7.8 47.49 12.9 78.48 12.9 32.8 0 63.9-6 84-15.4l6.4-3 4.5 5.6c8.9 11.3 29.9 20.3 53.4 20.3s44.6-9 53.5-20.3l4.5-5.6 6.5 3.1c12.9 6.1 28.6 9.6 44.8 9.6 21.9 0 41.5-6.1 55.1-15.4 13.7-9.3 21-21.1 21-33.5 0-3.5-.6-7-1.8-10.5l-2.3-6.6 5.8-3.9c11.6-7.7 17.4-18 17.4-28.2 0-10-5.2-19.2-14.9-26.5-6.8-5.1-15.8-9-25.9-11v33.1h-82v-35c-7.1-3.6-16-5.9-25.6-5.9-18.1 0-33.9 8.2-39.9 18l-4.1 6.9-7.3-3.3c-10.2-4.6-21.8-7-33.6-7-14.6 0-28.8 3.9-40.5 10.8l-5.2 3-4.8-3.6c-11.2-8.3-27.4-13.8-45-15v31.1H71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyBullets;

impl IconShape for HeavyBullets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96 36.61L41.21 173.6c.26.6.84 1.4 2.15 2.5 2.16 1.8 6.2 4 11.49 5.8 10.57 3.5 25.9 5.5 41.15 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.3-1.2 1.9-1.9 2.2-2.5zm160 0L201.2 173.6c.3.6.9 1.3 2.2 2.5 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.3 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.3-1.2 1.9-1.9 2.2-2.5zm160 0L361.2 173.6c.3.6.9 1.3 2.2 2.5 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.3-1.2 1.9-1.9 2.2-2.5zM41 195.7v17c0 1 .2 1.8 2.36 3.7 2.16 1.8 6.2 4 11.49 5.8 10.57 3.5 25.9 5.5 41.15 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 2.2-1.9 2.4-2.7 2.4-3.7v-17c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.75 0-33.42-2-46.85-6.5-2.87-.9-5.59-2-8.15-3.2zm160 0v17c0 1 .2 1.8 2.4 3.7 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.3 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 2.2-1.9 2.4-2.7 2.4-3.7v-17c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.8 0-33.4-2-46.8-6.5-2.9-.9-5.6-2-8.2-3.2zm160 0v17c0 1 .2 1.8 2.4 3.7 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 2.2-1.9 2.4-2.7 2.4-3.7v-17c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.8 0-33.4-2-46.8-6.5-2.9-.9-5.6-2-8.2-3.2zM41 236v158.3l17.06 34.1-16.71 33.4c.3.6.87 1.3 2.01 2.3 2.16 1.8 6.2 4 11.49 5.8 10.57 3.5 25.9 5.5 41.15 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.2-1 1.7-1.7 2.1-2.3l-16.8-33.4 17.1-34.1V236c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.75 0-33.42-2-46.85-6.5-2.87-.9-5.59-2-8.15-3.2zm160 0v158.3l17.1 34.1-16.8 33.4c.4.6.9 1.3 2.1 2.3 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.3 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.2-1 1.7-1.7 2.1-2.3l-16.8-33.4 17.1-34.1V236c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.8 0-33.4-2-46.8-6.5-2.9-.9-5.6-2-8.2-3.2zm160 0v158.3l17.1 34.1-16.8 33.4c.4.6.9 1.3 2.1 2.3 2.1 1.8 6.2 4 11.4 5.8 10.6 3.5 26 5.5 41.2 5.5 15.2 0 30.6-2 41.2-5.5 5.2-1.8 9.3-4 11.4-5.8 1.2-1 1.7-1.7 2.1-2.3l-16.8-33.4 17.1-34.1V236c-2.6 1.2-5.3 2.3-8.2 3.2-13.4 4.5-30 6.5-46.8 6.5-16.8 0-33.4-2-46.8-6.5-2.9-.9-5.6-2-8.2-3.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyCollar;

impl IconShape for HeavyCollar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185.4 75.49C167 75.64 147.5 79.5 128 86c49.4 15.9 77.5 80.1 128 81 52 .6 74.6-62.5 128-81-48-16-96-16-128 16-19-19-43.6-26.72-70.6-26.51zm-10.2 66.01L73.55 158.4C86.09 179 98.58 197.5 111 213.8l81.8-54.5c-6.1-5.2-11.9-11.1-17.6-17.8zm161.6 0c-5.7 6.7-11.5 12.6-17.6 17.8l81.9 54.6c12.4-16.3 24.9-34.8 37.4-55.5zm-123 32.4l-20.1 80.3c3.5-3.8 7.7-7.2 12.3-10.1 7.1-4.4 15.5-7.9 24.6-10.1-.9-.6-1.8-1.2-2.6-1.8-7.6-5.7-13-14.3-13-24.2 0-9.9 5.4-18.5 13-24.2 1.2-.9 2.4-1.7 3.7-2.4-6.1-1.9-12-4.4-17.9-7.5zm84.4 0c-5.9 3.1-11.8 5.6-17.9 7.5 1.3.7 2.5 1.5 3.7 2.4 7.6 5.7 13 14.3 13 24.2 0 9.9-5.4 18.5-13 24.2-.8.6-1.7 1.2-2.6 1.8 9.1 2.2 17.5 5.7 24.6 10.1 4.7 2.9 8.8 6.3 12.3 10.2zm-235.62 1L32 496h215V328.6c-1.7-.1-3.4-.3-5.1-.5-61.8-7.1-121.2-59.6-179.32-153.2zm386.82 0c-59.9 97-121 149.4-184.4 153.8V496h215zm-255.8 5.5L122.2 228c16 19.5 31.8 35.5 47.5 48zm124.8 0l23.9 95.9c15.8-12.5 31.7-28.6 47.7-48.2zM256 193c-7 0-13.2 2.2-17.2 5.2-4.1 3.1-5.8 6.4-5.8 9.8 0 3.4 1.7 6.7 5.8 9.8 4 3 10.2 5.2 17.2 5.2s13.2-2.2 17.2-5.2c4.1-3.1 5.8-6.4 5.8-9.8 0-3.4-1.7-6.7-5.8-9.8-4-3-10.2-5.2-17.2-5.2zm0 56c-16.2 0-30.6 4.2-40.5 10.3-9.8 6.2-14.5 13.5-14.5 20.7 0 7.2 4.7 14.5 14.5 20.7 11.9 6.9 27.4 10.1 40.3 10.3 13.5-.6 30.1-3.9 40.7-10.3 9.8-6.2 14.5-13.5 14.5-20.7 0-7.2-4.7-14.5-14.5-20.7-9.9-6.1-24.3-10.3-40.5-10.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HedjetWhiteCrown;

impl IconShape for HedjetWhiteCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.154 488.21l30.902-35.47c-8.54-20.095-28.764-48.896-11.588-64.964 18.374-16.21 31.6 6.588 46.003 13.695 19.627-26.18 38.933-50.192 63.21-67.072-40.06-116.66-159.072-180.152-195.936-214.582-18.14-21.632-37.846-65.983-45.31-73.984-6.99-7.493-28.244-36.454-52.475-13.12-13.956 13.438-11.8 30.595.322 50.625 8.927 14.748 21.834 28.182 36.312 53.188 29.83 51.523 28.345 139.116 35.993 170.663 12.31 50.777 16.17 99.15 92.567 181.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Helicoprion;

impl IconShape for Helicoprion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.672 38.095v393.337c19.723 12.366 44.667 19.71 65.098 25.516 37.209 10.502 84.938 20.237 132.515 24.484 47.577 4.247 95.06 2.888 131.348-7.99 31.852-9.548 54.397-25.36 63.91-51.34-95.929-12.539-187.991-40.59-269.611-85.238-13.081-8.47-28.839-15.39-36.909-27.951-2.162-3.426-3.893-8.089-2.478-13.133 10.438-37.202 45.347-64.854 88.793-87.318 43.446-22.465 96.326-39.833 145.785-54.38 49.459-14.545 95.63-26.301 124.453-36.74 14.301-5.178 24.386-10.693 27.06-13.372-136.213-68.43-342.71-90.536-469.964-65.875zm122.846 55.408c6.185 10.294 8.426 22.713 3.336 33.627-5.09 10.913-16.043 17.175-27.905 19.052-11.862 1.877-25.2-.183-38.023-6.164-12.823-5.98-22.971-14.875-29.156-25.17-6.186-10.294-11.384-24.664-3.336-33.623 28.707-31.956 74.948-20.268 95.084 12.278zm-78.774-4.67c-3.907 13.745 8.252 25.682 18.145 31.842-10.152-21.538 8.467-37.084 26.466-34.727-12.724-6.272-37.525-10.145-44.61 2.885zm125.902-1.516c4.314 29.11 1.56 62.003-21.468 81.518-23.03 19.514-62.698 21.801-124.893-3.32l6.74-16.69c59.405 23.995 90.86 19.546 106.516 6.28 15.655-13.267 19.147-39.196 15.3-65.15zm209.592 5.696l-7.222 16.486c-14.714-5.213-38.785-2.221-44.875 12.537l-16.805-6.443c13.272-25.867 45.912-32.04 68.902-22.58zm78.994 37.662c-11.432 4.496-24.11 8.633-34.578 11.853l34.145 35.283zm-43.798 14.632c-16.713 4.962-35.479 10.158-55.385 15.764l49.588 36.404zm-62.383 17.748c-19.833 5.607-39.154 11.244-57.442 16.96l48.008 37.126zm-63.297 18.811c-17.597 5.592-35.16 11.578-52.12 18.018l41.368 31.304zm-65.152 23.104c-18.515 7.789-34.978 14.95-50.815 23.65l42.71 20.127zm-66.932 33.177c-16.434 10.462-30.076 21.747-39.986 33.795l46.527 18.483zM75.69 245.604l16.014 8.213c-6.786 15.172-21.4 49.196-15.693 64.95 22.132 31.76 62.2 49.242 98.097 61.406l-5.562 17.117C131 381.265 76 362.95 59.375 325.634c-6.898-28.577 3.728-54.798 16.316-80.03zm270.797.746l-26.271 49.623c13.296.194 26.12 2.272 38.115 5.954zm-71.017 5.96l-8.848 53.697c13.92-5.721 29.246-9.198 45.33-9.914zm139.054 15.892l-48.091 36.502c13.21 5.013 25.235 12.02 35.543 20.613zm-203.134 13.36l3.941 64.142c10.777-15.01 25.734-27.446 43.373-36.129zm257.265 28.357l-60.42 21.015c10.428 10.074 18.679 21.924 24.067 35.012zM318.18 313.95c-37.342 0-69.525 16.703-87.63 41.43 60.99 19.098 127.59 50.629 190.835 48.623.021-.735.033-1.47.033-2.21 0-47.847-45.448-87.843-103.238-87.843zm118.162 64.01c3.627 15.158 4.165 26.817 1.387 41.533l51.289-25.645zm-2.582 55.924c-4.623 12.725-11.922 24.364-21.293 34.453l59.666 11.426z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Helicopter;

impl IconShape for Helicopter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.27 114.408l-2.297 9.184H87v18h185.473l-7.5 30h46.054l-7.5-30H489v-18H299.027l-2.297-9.184h-17.46zM26.623 173.592l14.62 87.724-12.757 38.276H44.27l32.548-32.547L197.94 284.35l2.11 4.216c7.196 14.39 18.094 25.306 28.942 32.538C239.84 328.334 251 331.592 256 331.592h128c23 0 46.04-3.978 62.346-11.225 8.152-3.623 14.546-8.035 18.63-12.703 1.744-1.993 3.066-3.993 4.034-6.072H314.066l-48-112H259l-64 48H74.437l-32-64H26.623zm259.025 16l40.286 94h44.418l-40.286-94h-44.418zm64.2.47l40.086 93.53h79.138c-7.773-34.538-24.96-56.882-47.127-71.49-20.674-13.625-46.067-20.328-72.097-22.04zm46.525 159.186c-4.108.223-8.24.344-12.373.344h-6.488l10 30h-87.024l10-30h-18.976l-10 30H199v18h251.967l24.02-17.764 7.236-5.35-10.703-14.474-7.237 5.35-19.25 14.238h-38.545l-10.115-30.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HelicopterTail;

impl IconShape for HelicopterTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41.918 27.688l5.035 18.48 59.123 10.2 46.766 153.976-56.938 15.496 2.748 10.09.967 3.55-1.794 3.208c-24.027 42.99-40.35 87.134-76.77 132.066 7.738 9.582 25.567 30.68 49.098 52.12 31.787 28.96 73.7 57.357 111.283 58.76 93.952 3.503 163.51-70.954 163.51-70.954l2.754-2.98 146.3 3.247v-72.783l-124.207-4.56-2.338-4.946c-45.31-95.853-150.475-223.65-223.66-287.746zm10.256 37.646l38.998 143.14 39.06-10.632L92.078 72.22zM192 236.524c63.776 0 115.477 51.7 115.477 115.476 0 63.776-51.7 115.477-115.477 115.477-63.776 0-115.477-51.7-115.477-115.477 0-63.776 51.7-115.477 115.477-115.477zm.785 18.47a96.87 96.87 0 0 0-21.89 2.33c-52.185 11.633-85.204 63.597-73.57 115.78 11.632 52.186 63.596 85.205 115.78 73.572 52.185-11.633 85.204-63.597 73.57-115.78-9.996-44.847-49.78-75.54-93.89-75.902zm-.904 17.985a78.604 78.604 0 0 1 33.35 7.305l-25.248 39.735a32.75 32.75 0 0 0-6.1-.946l-10.175-45.642a78.932 78.932 0 0 1 8.174-.453zm-25.743 4.368l10.175 45.642a32.725 32.725 0 0 0-4.21 2.73L133.244 296c8.866-10.27 19.363-13.997 32.893-18.654zm74.467 12.304a78.612 78.612 0 0 1 26.048 36.485l-45.642 10.176a32.877 32.877 0 0 0-5.408-7.31zm-118.57 25.578l39.22 24.922a32.924 32.924 0 0 0-2.18 9.967l-45.642 10.173c-1.72-15.995 1.516-31.58 8.603-45.063zm148.534 28.477a78.584 78.584 0 0 1-6.384 40.523l-39.94-25.378c.352-1.627.58-3.288.682-4.97zm-107.578 23.98a32.767 32.767 0 0 0 3.45 5.122l-25.25 39.733a78.573 78.573 0 0 1-23.842-34.68zm52.795 7.116l39.22 24.92c-9.197 12.142-21.93 21.693-37.142 26.93l-10.175-45.643a32.928 32.928 0 0 0 8.097-6.207zm-34.58 8.332a32.878 32.878 0 0 0 8.914 1.79l10.173 45.643a78.613 78.613 0 0 1-44.094-8.082z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HellCrosses;

impl IconShape for HellCrosses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 64c17.48 40.785 28.587 87.938 33.336 136.818C110.51 194.896 69.158 186.632 16 176v160c53.158-10.632 94.51-18.896 129.336-24.818C140.586 360.062 129.48 407.215 112 448h128c-18.493-43.15-29.852-93.428-34.096-145.338 34.994-3.54 65.198-3.54 100.192 0C301.852 354.572 290.493 404.85 272 448h128c-17.48-40.785-28.587-87.938-33.336-136.818C401.49 317.104 442.842 325.368 496 336V176c-53.158 10.632-94.51 18.896-129.336 24.818C371.414 151.938 382.52 104.785 400 64H272c18.493 43.15 29.852 93.428 34.096 145.338-34.994 3.54-65.198 3.54-100.192 0C210.148 157.428 221.507 107.15 240 64H112z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hemp;

impl IconShape for Hemp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16c-38.355 67.122-53.713 168.713-46.096 249.691C162.114 202.531 80 160 48 144c0 44.276 61.262 134.485 125.51 185.89C122.122 316.443 48 320 16 320c27.009 27.009 99.61 54.017 157.943 66.773C142.34 396.846 123.34 427.495 96 448c49.447 0 121.079-21.399 151-49.203V496h18v-97.203C294.921 426.6 366.553 448 416 448c-27.34-20.505-46.34-51.154-77.943-61.227C396.39 374.017 468.99 347.01 496 320c-32 0-106.122-3.558-157.51 9.89C402.738 278.486 464 188.277 464 144c-48 16-114.114 58.531-161.904 121.691C309.713 184.713 294.356 83.121 256 16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Heptagram;

impl IconShape for Heptagram {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 17.338L213.543 180.08 59.836 111.807l100.766 134.662-149.215 77.605 168.11 5.178-32.36 165.047L256 366.096l108.863 128.203-32.36-165.047 168.11-5.178-149.215-77.605 100.766-134.662-153.707 68.273zm0 76.096l22.96 100.597L256 205.09l-22.96-11.059zm-136.668 65.82l92.967 44.77-5.672 24.841-22.963 11.059zm273.336 0l-64.332 80.67-22.963-11.057-5.672-24.844zm-163.738 52.78l6.326 3.046-7.889 3.799zm54.14 0l1.563 6.845-7.889-3.799zM256 225.067l33.756 16.256 8.336 36.526-23.36 29.29h-37.464l-23.36-29.29 8.336-36.526zm-54.496 26.245l-1.95 8.537-4.378-5.49zm108.992 0l6.328 3.046-4.379 5.49zm-131.953 11.056l15.889 19.926-5.67 24.846H85.574zm154.914 0l92.969 44.772H323.238l-5.67-24.846zm-124.67 37.926l5.46 6.846h-7.024zm94.426 0l1.564 6.846h-7.023zM203.115 325.14h25.487l15.888 19.923-64.336 80.674zm48.506 0h8.758L256 330.63zm31.78 0h25.484l22.96 100.597-64.333-80.674z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HerbsBundle;

impl IconShape for HerbsBundle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M478 23.74c-11.3.28-23.5 1.47-34.9 3.67-16 3.08-30.4 8.33-37.9 13.88-.7 2.21-.9 5.24-.8 7.29 0 2.1.3 4.38.7 6.68 13.3-9.91 29.6-15.59 46.1-20.96-14.3 10.07-26.6 20.65-38.2 31.49 8.1 3.57 17.7 3.62 23.9-.77h.1c13.4-9.64 31.3-25.76 41-41.25zm-297.9 3.59c-2.7 0-5.6.3-8.6.97-2 9.79-.8 18.7 2.9 25.79-9-3.54-19.8-2.95-30.8 6.26 6.7 22.83 26.9 33 47.7 22.69.6 9.44.9 18.96.9 28.46-6.5-7.1-17.2-13.55-28.3-13.25-7.8.3-15.9 3.85-23 12.85 11.2 21 33 26.8 51.2 12.6-.2 10.3-.7 20.6-1.5 31-6.1-8.4-17-16.4-29.1-16.3-5.4.1-11 1.8-16.6 5.8 16 4.5 30.6 10.9 43.7 19.5 4.9 3.1 7.4 7.9 8.8 12.6 1.3 4.7 1.6 9.6 1.5 14.6-.4 10.2-2.8 20.9-6.4 30l-1.3 3-2.9 1.5c-2 1.1-4.3 2.2-6.5 3.3-2.1 12.8-4.4 25.7-6.9 38.7-14.8-18-29.7-24.6-44.4-24.7-37.59-.4-74.36 41.2-108.68 41.9 46.47 3.3 118.78-44.1 143.98 11.6 18.7 13.9 37.9 25.2 57.5 33.8 1.6-9.4 4.2-19.3 7.8-28.1 2.3-5.6 4.9-10.8 8.2-15.2 3.3-4.4 7.3-8.4 13.4-9.9 1.7-.5 3.5-.9 5.2-1.3-5.4-10.5-4.7-24.6 1.7-36.4 6.5-12.1 18.3-20.5 30.4-21.4 12.4-18.9 25.4-37.3 39.1-55.4 10.6 22.5 34 26.6 53.3 10.9-4.9-18.1-18-23.8-30.5-23.5-5.6.1-11.1 1.5-15.8 3.5 19.7-25.5 40.8-50 63.4-73.76-8.2-3.62-8.8-6.35-10.9-14.61-23 23.99-44.5 48.97-64.6 74.67-.5 15.9-9.5 30.2-24.7 33.2h-.2C289.4 186.3 280 200 271 214c2.3-14.9 4.6-30.2 7.4-45.4-7-4.4-12.6-11.8-15.7-20.4-9.5 30.5-16.3 62.9-25.1 90.9-1.2-.2-2.5-.3-3.7-.3-15.8-.1-29.7 13.6-33.3 23.9 12.1 10.4 25.4 12.4 36.3 7.6-4.1 7.3-8.3 14.7-12.3 22.1-3.6-1.6-7.3-2.4-10.8-2.4-11.4-.1-21.8 7.1-28.1 14.9 6.9-32.8 13.1-65.6 17.6-98.3 18.4 9.3 37.5 1.1 46-19.6-7.2-7.5-14.8-10.5-22-10.6-7.9-.1-15.4 3.4-21.3 8.1 1.3-11.3 2.3-22.6 3-33.9 18.8 18.5 43.1 13.5 55.1-9.1-7.1-9-15.2-12.5-23-12.8-13.6-.4-26.4 9.3-31.9 18.1.6-10.7 1-21.3 1-31.9 20.5 9.6 40.2-.6 46.8-23.2-7.2-6.03-14.3-8.36-20.8-8.26-10.8.16-20.2 6.95-26.2 14.71-.2-7.05-.6-14.1-1.1-21.13 23.4 7.71 42.3-6.26 44.5-30.81-19.8-10.93-35-.74-42.9 11.84-1.8-14.09-11-30.7-30.4-30.72zm178 13.92c-36.8 5.82-59.7 28.28-75.7 58l2.4-.6c5.3-1 10.4-.5 15 1.2 12.2-23.81 30.2-44.39 58.3-58.6zM490.2 105c-47.4 67.9-110.8 96.8-173.1 128.2 5.3 10.5 4.6 24.3-1.7 36v.1c65.8-40.8 132.8-79.5 174.8-164.3zm-89.7 4.4c-15.8-.2-29.7 13.7-33.3 23.9 20.9 18 45.3 10.9 55.3-13.3-7.2-7.5-14.8-10.5-22-10.6zm-111 6.8c-.4.1-.8.1-1.2.2-6.3 1.2-12 10.1-9.7 21.9 2.3 11.8 11 18 17.2 16.7 6.3-1.2 12-10.1 9.7-21.9-2.2-11.1-9.8-17.2-16-16.9zM84.98 154.4c-1.49 0-3.08.1-4.59.1 9.39 25.3 19.49 46.9 40.81 59.9h.1c14.2 9 31.2 6.5 45.9.9l-42.4-35.1 52.9 28c1.5-8.9 6.7-20.8 1.3-29.3h-.1v-.1c-24.5-15.9-55.3-24.1-93.92-24.4zm206.92 81.3c-5.5.2-12.2 4-16.5 11.9-5.7 10.6-2.9 20.9 2.7 23.9 8.6 3.7 18.2-5 21.4-10.8 5.7-10.6 2.9-20.8-2.7-23.9-1.4-.8-3.1-1.1-4.9-1.1zm-3.1 54.3c-1.5 0-3.1 0-4.6.1-9.2.4-18.2 1.8-27 4.1h-.1c.1 0-1.5.7-3.4 3.3-1.9 2.6-4.1 6.5-5.9 11.2-2.7 6.5-4.8 14.3-6.2 21.6l64-10.1-51.9 20.6c5.4 8 6.9 11.3 8.2 17.2 8.3 5.3 17.1 7.7 28.2 5 27.6-6.5 49.3-29 72-55.5-26-11.9-50.2-17.7-73.3-17.5zm-137.2 17.9l-9 22.9c32.7 14.4 60.6 31.1 87.3 47.9l12.5-22.6c-31.9-9.8-62-26.3-90.8-48.2zm-12.6 41c-20.9 27.3-46.01 51-74.71 64.9l7.88 16.2c33.33-16.2 60.93-43.1 83.53-73.2-5.4-2.7-11-5.4-16.7-7.9zm20.3 9.7c-23.6 42.1-46.3 72.1-70.35 116.1l15.85 8.6c23.4-42.9 46-73 70.5-116.3-5.2-2.8-10.6-5.6-16-8.4zm26.2 14.2c-24.6 37.7-42.2 68.5-59.6 108.3l16.4 7.2c17.1-39 34.2-68.8 58.6-106.4-5.1-3.1-10.2-6.2-15.4-9.1zm23 13.7c-15.4 26-17.1 57-19.8 80.6l17.8 2.1c2.9-24.2 5.1-52.2 17.3-73.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HexagonalNut;

impl IconShape for HexagonalNut {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 31.365L29.44 123.697v179.9L256 395.926l226.56-92.33v-179.9L256 31.365zm0 73.93c38.765 0 74.22 10.93 100.89 29.756 26.72 18.864 45.11 46.74 45.11 78.596s-18.39 59.733-45.11 78.596C330.22 311.067 294.764 322 256 322s-74.22-10.933-100.89-29.758C128.39 273.38 110 245.502 110 213.646c0-31.855 18.39-59.732 45.11-78.595 26.67-18.824 62.125-29.755 100.89-29.755zm0 18c-35.36 0-67.328 10.1-90.51 26.463-21.357 15.076-35.23 35.528-37.23 58.207 7.18-14.2 18.19-26.816 31.83-37.047C185.01 152.228 218.83 141 256 141c37.17 0 70.99 11.227 95.91 29.918 13.64 10.23 24.65 22.846 31.83 37.047-2-22.68-15.873-43.13-37.23-58.207-23.182-16.364-55.15-26.463-90.51-26.463zM256 159c-33.522 0-63.704 10.264-85.11 26.318-16.03 12.024-27.058 27.025-31.585 43.573 5.897-7.35 12.9-14.06 20.785-19.972C185.01 190.228 218.83 179 256 179c37.17 0 70.99 11.227 95.91 29.918 7.884 5.913 14.888 12.622 20.785 19.973-4.527-16.547-15.554-31.548-31.586-43.572C319.703 169.264 289.52 159 256 159zm0 38c-33.522 0-63.704 10.264-85.11 26.318-12.542 9.407-22.014 20.638-27.714 33.004.83 1.093 1.7 2.168 2.59 3.233 4.355-4.525 9.147-8.754 14.324-12.637C185.01 228.228 218.83 217 256 217c37.17 0 70.99 11.227 95.91 29.918 5.177 3.883 9.97 8.112 14.324 12.637.89-1.065 1.76-2.14 2.59-3.233-5.7-12.366-15.172-23.597-27.715-33.004C319.703 207.264 289.52 197 256 197zM29.44 323.033v70.916L247 482.612v-70.916L29.44 323.033zm453.12 0L265 411.7v70.913l217.56-88.664v-70.917z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HieroglyphLegs;

impl IconShape for HieroglyphLegs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.4 48.07C174.7 139.7 83.71 316.3 30.34 410.6c-13.4 23.7-10.14 47.1 8.03 53.3l173.73-.5c1.7-9.1 1.7-19.1-7.3-31.3-32.1-16-76.5-6.2-95.6-30.8-13.33-17.2 84.7-149.3 120.4-259.7 11.3 79.1 32.1 172.1 76.3 262.7-1.1 23.6-8.8 53.3 9.4 59.6l173.7-.5c1.7-9.1 1.7-19.1-7.3-31.3-32.1-16.1-85.6-5.7-103.8-31.1-70.4-98.3-71.2-243.9-99.5-352.93z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HieroglyphY;

impl IconShape for HieroglyphY {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.506 24.547l-15.324 7.662c29.403 42.845 44.929 106.006 49.513 178.545 4.912 77.703-3.03 166.28-22.285 252.137-1.945 8.672-.072 13.881 3.268 17.76 3.34 3.878 8.874 6.427 15.068 6.76 12.39.663 26.028-5.922 27.918-27.282 13.286-150.175 33.16-296.846-58.158-435.582zm248.867 0l-15.324 7.662c29.403 42.845 44.929 106.006 49.514 178.545 4.91 77.703-3.032 166.28-22.286 252.137-1.945 8.672-.072 13.881 3.268 17.76 3.34 3.878 8.874 6.427 15.068 6.76 12.39.663 26.029-5.922 27.918-27.282 13.286-150.175 33.16-296.846-58.158-435.582zM121.115 40.645a613.725 613.725 0 0 0-8.963 18.287l28.29 17.207c-5.651-13.31-12.097-25.216-19.327-35.494zm248.867 0a613.724 613.724 0 0 0-8.962 18.287l28.289 17.207c-5.651-13.31-12.097-25.216-19.327-35.494zM104.674 75.449a711.47 711.47 0 0 0-9.192 22.069l63.516 39.81c-2.495-11.965-5.403-23.383-8.73-34.15l-45.594-27.729zm248.867 0a711.463 711.463 0 0 0-9.191 22.069l63.515 39.81c-2.495-11.965-5.403-23.383-8.73-34.15L353.54 75.449zM88.916 114.646a823.4 823.4 0 0 0-9.545 27.313 957.03 957.03 0 0 0 9.135 5.523c11.292 6.743 26.088 15.378 40.775 23.883a9091.556 9091.556 0 0 0 37.979 21.87 543.287 543.287 0 0 0-3.938-31.954l-74.406-46.635zm248.867 0a823.4 823.4 0 0 0-9.545 27.313 957.036 957.036 0 0 0 9.135 5.523c11.292 6.743 26.088 15.378 40.775 23.883a9092.289 9092.289 0 0 0 37.979 21.87 543.287 543.287 0 0 0-3.938-31.954l-74.406-46.635zM73.748 159.61a924.93 924.93 0 0 0-7.695 26.52l103.998 61.506a704.434 704.434 0 0 0-1.145-32.719 9334.197 9334.197 0 0 1-48.646-27.975c-14.723-8.526-29.558-17.184-40.983-24.005a1149.394 1149.394 0 0 1-5.529-3.327zm248.867 0a924.93 924.93 0 0 0-7.695 26.52l103.998 61.506a704.434 704.434 0 0 0-1.145-32.719 9334.525 9334.525 0 0 1-48.646-27.975c-14.723-8.526-29.558-17.184-40.982-24.005a1149.4 1149.4 0 0 1-5.53-3.327zM61.277 204.22a993.155 993.155 0 0 0-5.402 22.383l113.07 73.388a836.729 836.729 0 0 0 1.067-31.463L61.277 204.22zm248.868 0a993.155 993.155 0 0 0-5.403 22.383l113.07 73.388a836.729 836.729 0 0 0 1.067-31.463L310.145 204.22zm-258.387 41.17a1020.314 1020.314 0 0 0-5.756 29.705l119.533 68.92c.797-7.846 1.49-15.66 2.08-23.43L51.758 245.389zm248.867 0a1020.31 1020.31 0 0 0-5.756 29.705l119.533 68.92c.797-7.846 1.49-15.66 2.08-23.43l-115.857-75.195zm-257.82 48.638c-.65 4.084-1.28 8.154-1.87 12.186-1.77 12.106 64.935 55.99 120.141 74.619a969.753 969.753 0 0 0 2.28-17.297L42.804 294.027zm248.867 0c-.65 4.084-1.28 8.154-1.87 12.186-1.77 12.106 64.936 55.99 120.141 74.619a969.753 969.753 0 0 0 2.28-17.297l-120.551-69.508z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighGrass;

impl IconShape for HighGrass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M461.563 38.938C313.435 165.053 232.49 371.144 210.313 492.5h77.218c31.597-122.495 51.135-263.494 174.033-453.563zM78.375 91.374c52.397 62.796 102.31 132.45 142.094 199.28 7.298 12.263 14.236 24.417 20.81 36.408 7.833-19.184 16.525-38.697 26.095-58.282-51.817-71.23-113.464-135.005-189-177.405zm391.188 133.72c-51.588 46.498-78.856 114.453-90.594 190.655 13.775 25.835 26.704 51.295 38.936 75.875h39.375c-25.25-71.46-11.537-162.36 12.283-266.53zM67 240.437c72.962 73.26 120.794 188.6 80.094 250.78h45c4.494-25.12 11.34-53.633 20.687-84.25C194.338 322.68 131.42 242.927 67 240.44zm-32.875 87.937C87.145 409.31 95.83 453.34 75.063 490.97h67.5c-13.1-72.02-31.444-116.305-108.438-162.595zm300.938 45.594c-10.65 41.36-19.188 80.437-28.813 118.25h91.72c-19.144-38.286-39.92-78.392-62.908-118.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighHeel;

impl IconShape for HighHeel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.605 53.618C59.398 91.634-.277 129.436 23.022 165.38c29.725 42.452 55.624 70.193 100.27 95.33 33.935 20.864 52.875 61.208 67.35 93.078 8.437 19.378 14.978 35.68 22.847 47.905 3.68 5.72 16.17 10.824 33.27 14.64 19.66 4.387 45.662 6.826 73.856 8.027 55.43 2.362 119.31.07 163.98.313 10.655-18.24 6.73-26.878-2.402-30.22-46.818-17.135-97.9-23.76-133.024-68.236-17.576 7.758-51.442 6.62-72.373-5.514C183.724 266.746 153.233 145.19 95.605 53.618zM50.725 227.55c38.173 105.505 31.883 229.52 35.69 230.832h18.07c.865-9.313-7.227-140.064 9.887-182.422-25.577-14.43-45.698-30.095-63.647-48.41zM230.74 430.493c22.236 32 33.7 26.59 40.543 27.89h195.404l8.528-16.058c-43.404.074-102.725 1.926-155.352-.316-28.733-1.224-55.45-3.637-76.95-8.434-4.238-.946-8.304-1.96-12.173-3.082z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighKick;

impl IconShape for HighKick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.842 26.268a15.25 15.25 0 0 0-4.418.76c-5.625 1.858-10.165 7.048-12.6 15.701-2.435 8.653-2.255 20.27 1.668 32.045 3.923 11.775 10.754 21.198 17.9 26.686 7.147 5.488 13.9 6.946 19.526 5.088 5.625-1.858 10.163-7.046 12.597-15.7 2.435-8.653 2.256-20.271-1.668-32.046-3.923-11.776-10.753-21.196-17.9-26.684-5.36-4.116-10.498-5.966-15.105-5.85zm183.933 12.373c-3.461.157-6.505 1.749-8.25 5.344L279.89 68.73l-26.733 32.309s-53.832-9.528-72.039-6.863a518.655 518.655 0 0 0-11.318 1.767c-3.614 12.656-11.809 23.592-24.192 27.682-11.513 3.803-23.674.702-33.761-6.178-4.565 3.511-8.787 7.581-12.557 12.33-18.674 14.66-26.385 24.747-42.1 34.92 3.083-14.864 10.683-29.677 19.026-41.879 1.37-2.003 11.495-10.555 12.888-12.406 7.48-14.706-8.464-41.216-23.476-15.86-1.425 1.979-7.346 18.877-8.817 21.096-14.574 28.867-23.676 47.817-15.474 76.325 2.756 9.578 30.91-4.905 55.23-22.159 26.469 37.34 59.364 48.604 78.373 63.078-23.266 83.384 10.267 147.263 29.276 207.721l-29.149 36.086c-8.868 10.627 48.711 13.113 52.412.75l7.71-33.84c-28.831-90.508-3.142-157.686 17.62-207.722 55.208-59.043 115.23-82.304 168.9-128.791l45.302-9.635c10.848-19.916 10.236-29.748-13.854-30.697l-44.924 17.595c-56.586 31.807-146.01 53.348-186.496 97.99-.897-14.045-17.4-47.3-20.902-58.437 19.373 2.573 45.668 4.223 60.642-2.682 16.005-7.38 33.63-40.796 33.63-40.796l19.663-14.551c17.065-10.058-.63-27.798-12.994-27.24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighPunch;

impl IconShape for HighPunch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.6 28.53c-5.2.1-10.6 2.18-15.8 6.35-7.7 6.03-14.4 16.44-17.8 29.58-3.3 13.14-2.5 26.2 1.1 36.24 3.6 9.9 9.4 16.4 16.6 18.9 6 2.1 12.6 1.3 19-2.6 2.3-13.6 9.9-24.28 21.3-31.6.1-.19.1-.38.2-.58 3.3-13.15 2.5-26.2-1.1-36.2-3.6-9.95-9.4-16.46-16.6-18.97-2.3-.78-4.6-1.16-6.9-1.12zm212.5 49.31c-3.2.72-11 3.44-18.7 7.15-8.7 4.14-17.4 8.86-22.4 11.5l-.9.45-.9.25c-38.1 10.61-57.5 17.91-88.3 23.21-2.2 6.1-6 12.5-11.3 19h-.1v.1c-6.2 7.4-12.4 14.7-18.7 21.9 45.8-8.5 78.8-16.7 132.7-38l4.1-1.6 3.9 2.3c5.5 3.4 13.4 5.8 19.6 6.3 3.1.3 5.8 0 7.4-.4 1.4-.4 1.4-.7 1.4-.6 5.4-11.9 7.3-24.4 5.5-33.8-1.7-8.89-5.7-14.64-13.3-17.76zM272.2 96.08c-8.9-.1-20.1 4.32-27.6 15.62-5.9 29.5-26.7 50.1-57.2 62.6l-6.8-16.6c12.7-5.2 22.6-11.2 30.1-18.6-3.1-.2-6.3-.9-9.4-2-10.4-3.7-18.6-11.6-24.1-21.4-14.6 2.8-22.6 6.3-32.8 14.6-4.1 36.5 6.8 67.5 27.6 96.6 41.7-25.4 73.7-60.5 105.7-98.9 8.2-10.2 10-17.6 9.5-21.9-.6-4.2-2.7-6.73-7.2-8.58-2.2-.91-4.9-1.42-7.8-1.44zM131.5 185.5c-1.7 23.2-.7 48.5-1 75v3.8l-2.7 2.6C75.51 317.5 33.9 400.5 20.36 495.7h40.62c9.12-41.2 17.47-82.3 34.69-115.7 18.23-35.3 47.83-62 96.23-67.5l4.8-.6 3.1 3.7c38.2 45.7 75.3 103.9 85.9 180.1h39.6c-6.3-88.4-46.8-156.5-97.1-229-9.8-14.1-10.2-29.8-6.5-44.9.9-3.8 2.1-7.7 3.4-11.7-15.5 13.6-32.3 26-51 36.7l-6.9 3.9-4.7-6.2c-14-18.2-24.8-37.8-31-59z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighTide;

impl IconShape for HighTide {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40 24v464h80v-32H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40V72H80V56h40V24H40zm152 8c-15.503 0-31.65 8.898-45.133 17.184A256.9 256.9 0 0 0 136 56.268V75.96c3.741-2.82 10.696-7.891 19.244-13.145C167.8 55.102 183.652 48 192 48c8.348 0 16.977 6.256 27.014 14.256C229.05 70.256 240.497 80 256 80c15.503 0 26.95-9.744 36.986-17.744C303.023 54.256 311.652 48 320 48c8.348 0 16.977 6.256 27.014 14.256C357.05 70.256 368.497 80 384 80c15.503 0 26.95-9.744 36.986-17.744C431.023 54.256 439.652 48 448 48c8.348 0 24.201 7.102 36.756 14.816A243.821 243.821 0 0 1 496 70.186V50.992c-.95-.603-1.88-1.202-2.867-1.808C479.65 40.898 463.503 32 448 32c-15.503 0-26.95 9.744-36.986 17.744C400.977 57.744 392.348 64 384 64c-8.348 0-16.977-6.256-27.014-14.256C346.95 41.744 335.503 32 320 32c-15.503 0-26.95 9.744-36.986 17.744C272.977 57.744 264.348 64 256 64c-8.348 0-16.977-6.256-27.014-14.256C218.95 41.744 207.503 32 192 32zm0 48c-15.503 0-31.65 8.898-45.133 17.184A256.9 256.9 0 0 0 136 104.268v19.693c3.741-2.82 10.696-7.891 19.244-13.145C167.8 103.102 183.652 96 192 96c8.348 0 16.977 6.256 27.014 14.256C229.05 118.256 240.497 128 256 128c15.503 0 26.95-9.744 36.986-17.744C303.023 102.256 311.652 96 320 96c8.348 0 16.977 6.256 27.014 14.256C357.05 118.256 368.497 128 384 128c15.503 0 26.95-9.744 36.986-17.744C431.023 102.256 439.652 96 448 96c8.348 0 24.201 7.102 36.756 14.816a243.821 243.821 0 0 1 11.244 7.37V98.992c-.95-.603-1.88-1.202-2.867-1.808C479.65 88.898 463.503 80 448 80c-15.503 0-26.95 9.744-36.986 17.744C400.977 105.744 392.348 112 384 112c-8.348 0-16.977-6.256-27.014-14.256C346.95 89.744 335.503 80 320 80c-15.503 0-26.95 9.744-36.986 17.744C272.977 105.744 264.348 112 256 112c-8.348 0-16.977-6.256-27.014-14.256C218.95 89.744 207.503 80 192 80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Highlighter;

impl IconShape for Highlighter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414 22.77l-10.8 5.41c14 9.72 29.1 22.93 43.4 37.19 14.3 14.24 27.5 29.48 37.2 43.33l5.4-10.71c-5.4-13.29-17.2-29.81-31.3-43.95-14.1-14.14-30.6-25.92-43.9-31.27zm-47.7 7.36L110.1 265.9 246 401.8l235.8-256.2c-.1 0 .1-.9-.7-3.9-1.1-4.1-4-10.2-8.4-17.1-8.8-13.8-23.1-30.83-38.8-46.5-15.7-15.68-32.8-30.07-46.6-38.86-6.9-4.39-13-7.33-17-8.43-3.4-.91-4.1-.56-4-.68zM96.89 278.1l-12.65 12.7L221.1 427.7l12.7-12.7zm-13.68 37.1c1.08 42.4-15.77 78.5-32.83 112.7l19.5 19.5 14.14 14.2c34.18-17.1 70.28-34 112.68-32.9zM39.56 442.5c-11.24 11.8-16.45 18.7-16.67 19.7-.12.7-.41.4 1.34 2.9s5.55 6.4 10.9 11.7c5.34 5.4 9.27 9.2 11.72 10.9 2.46 1.8 2.24 1.5 2.86 1.4 1.05-.2 7.91-5.4 19.66-16.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hiking;

impl IconShape for Hiking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185 58.59c-15-.38-30 13.1-33.1 33.43-3.3 21.68 8.8 39.98 24.8 42.38 16 2.4 32.9-11.5 36.1-33.2 3.3-21.72-8.7-39.94-24.8-42.35-1-.15-2-.24-3-.26zm113.3 77.21l-17.2 5.2 8.3 28.1 18.9.5zm-144.6 7.6c-2.7 70.5-.4 140.9-3.6 202.5-15.8 35.8-36.7 70.2-50.38 99.2l25.68 12.4c20.8-33.7 42.2-68 55.2-102.9l11.3-63.4 53 45.9 16.2 88.1 29.3-5.8-17.6-100.6-58.1-53.6-9.3-86.4 48.1 31.3c26.7.9 45.1-1.9 69.6-5.7l1-16.3-70.8-2.1-46.5-42c-9.5 6.7-20.9 10-32.8 8.2-7.7-1.2-14.5-4.3-20.3-8.8zm-16.6 13l-40.47 11.7-5.96 85.5c13.53 6.7 31.03 11.6 43.23 3.4zm352.7 65.3l-95.7 78.1-32 51.9L324 222.5c-6.3.9-12.2 1.8-18 2.6l43.5 147.1-22.6 36.7-19.4 3.4 3.7 21.3-64.5 12.8-4.2-22.7-84.3 14.8c-9.5 15.6-17.1 27.9-26 42.2l-49.52-23.9-62.64 34.8H489.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HillConquest;

impl IconShape for HillConquest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 55v203.248c-3.565-.103-7.126-.164-10.68-.154-62.774.18-123.48 18.017-170.16 55.783-18.406 14.89-34.696 32.91-48.16 54.28V494h208.92c43.583-100.15 136.274-151 230.414-151 2.962 0 5.926.056 8.89.156-1.515-1.36-3.045-2.705-4.59-4.035-53.44-45.953-125.055-74.07-196.634-79.884v-99.66c27.09-2.53 46.44-15.576 71-15.576 27.195 0 48 16 80 16V80c-32 0-48-16-80-16-28.854 0-44.703 13.005-71 15.563V55zm210.334 306c-85.44 0-168.606 43.956-210.47 133H494V363.73c-12.176-1.816-24.436-2.73-36.666-2.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HillFort;

impl IconShape for HillFort {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.842 41.092v41.262h91.138V41.092h-17.318V55.05h-18V41.09h-20.164v13.96h-18V41.09h-17.656zm25.828 59.262v41.261h10.828v18H159.67V260.14h61.31V229.63h18v30.508h100.97V185h-21.657v14.123H201.154V179.37h-12.232v-18h12.232v-61.015H159.67zm169.53 39.412L318.987 167h20.424L329.2 139.766zm-59.563 80.865h19.828v18h-19.828v-18zm-111.594 57.508l-5.887 29.324c19.725-13.368 39.964-23.723 60.276-29.324h-54.389zm122.928 0c25.32 6.411 50.978 19.055 76.066 35.3l-14.174-35.3h-61.892zm-24.653 13.957c-3.82 5.105-10.723 14.754-17.113 26.025-9.407 16.592-15.751 36.437-12.736 44.975 2.876 8.144 8.599 13.288 17.574 17.716 8.975 4.43 20.9 7.524 33.516 10.55 12.616 3.024 25.91 6.002 38.046 11.144s23.464 12.776 30.178 25.137c10.055 18.51 7.03 43.647 3.188 65.037-.08.446-.167.878-.248 1.32H494v-32.738c-14.198-15.921-30.351-33.191-47.953-50.551-57.898-57.103-130.39-112.264-189.729-118.615zm-40.763 4.166c-50.359 15.487-106.827 66.43-151.858 118.12C46.516 434.107 31.08 453.593 18 470.997V494h227.406c6.68-4.756 12.807-9.822 17.518-14.9 7.244-7.81 10.646-15.074 10.185-21.036-.535-6.926-3.903-10.494-11.75-14.556-7.846-4.063-19.606-7.09-32.046-10.051-12.441-2.96-25.562-5.894-37.028-11.207-11.465-5.313-21.989-13.921-25.228-27.326-3.35-13.863.587-28.2 7.101-41.846 6.514-13.646 15.908-26.903 25.531-38.713 5.355-6.571 10.79-12.676 15.866-18.103zm1.195 25.734c-9.738 12.244-20.112 26.008-26.348 38.836-5.547 11.62-7.701 22.2-5.85 29.863 1.63 6.74 6.426 11.11 15.302 15.223 8.875 4.112 21.114 7.052 33.626 10.03 12.513 2.977 25.296 5.952 36.155 11.573 10.858 5.622 20.357 15.42 21.42 29.157 1.024 13.248-5.882 24.903-14.934 34.662a98.14 98.14 0 0 1-2.574 2.66H330.4c.292-1.478.58-2.975.854-4.502 3.586-19.966 4.125-43.301-1.287-53.264-4.167-7.671-11.37-12.912-21.383-17.154-10.012-4.242-22.484-7.16-35.223-10.215-12.738-3.054-25.756-6.222-37.283-11.91-11.527-5.688-21.867-14.513-26.582-27.865-5.428-15.372-.157-31.982 7.254-47.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hills;

impl IconShape for Hills {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416.104 18A88 84.324 0 0 0 494 99.674V18h-77.896zM128 137c-42.657 0-79.727 10.965-110 25.322v128.002c30.184-5.45 59.138-8.394 86.82-9.08 50.9-1.26 97.525 5.05 139.744 17.12 42.768-27.11 86.74-52.815 134.387-73.048C304.435 169.018 211.563 137 128 137zm366 71.98c-85.695 15.81-157.66 53.443-226.953 96.485 22.08 7.666 42.85 16.937 62.283 27.537 73.712 40.21 128.137 99.163 162.81 160.998H494V208.98zm-373.03 90.008c-5.196-.034-10.44.016-15.738.15-27.682.703-56.767 3.78-87.232 9.5V494h453.242c-33.246-55.78-83.587-108.678-150.53-145.195-55.257-30.142-121.817-49.31-199.743-49.817z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Histogram;

impl IconShape for Histogram {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 23v466h466v-18h-40.893V256h-48v215h-31.675V159.33h-48V471h-31.227V320.242h-48V471H207.2V80.418h-48V471H128V192H80v279H41V23H23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HiveMind;

impl IconShape for HiveMind {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M305.6 17.3c-7.1 0-14 1.8-19.2 5.5-5.1 3.9-9.2 9.7-12.3 17-9.6 27.6-7.9 53.9-8.1 82.9v.1h-18.7v-.1c-.3-26.6 1.2-60.3-8.1-82.9-3.1-7.3-7.2-13.1-12.3-17-11-6.8-33.9-8.6-44 2.4-3.6 4.3-5.5 10.1-.1 22.2 5.8 8.8 10.4 20.9 14.4 36.4L179 88.5c-6.7-26.3-15.1-36.9-20.8-39.4-14.6-4.9-39.3 17.7-39 30.4 3.9 14 15.3 21.4 28 27.4l-8 16.9c-5.1-2.5-9.6-5-13.7-7.6-14.7-8.1-25.5-11.6-31.3-11.1-13.93 1.5-21.03 32.8-16.2 41.3 2.4 3.9 8.5 8.1 22.9 9.5 4.8-.2 8.6.7 12.8.6l.2 18.7c-4.3 0-8.3-.1-12.1-.4-12.1-.1-19.3.9-22.3 2.4-6.45 5.8-8.37 18.5-5.5 26.3 1.1 2.5 2.6 4.4 6.3 6.4 7.4 4 24.4 6.5 52.6 4.1l1.6 18.6c-21.6 1.8-37.9 1.5-50.4-1.6-1.8 18.5 16 26.8 32.9 27.1h103.8c12.1 0 22.6-8.9 26.7-25.1l8-32 10 31.5c5.3 16.6 16.2 25.6 26.9 25.6h103.8c6.3 0 18.4-3.9 25.6-10.2 4.9-4.6 8.7-10.7 7.5-17.1-12.6 3.3-29.1 3.7-51.4 1.8l1.6-18.6c28.2 2.4 45.1-.1 52.5-4.1 8.1-7.1 10.9-27.8.8-32.7-2.9-1.5-10.2-2.5-22.2-2.4-3.8.3-7.8.4-12.1.4l.2-18.7c4.3-.2 8.8-.5 12.8-.6 14.4-1.4 20.5-5.6 22.8-9.5 5.2-12.8-4.8-40-16.1-41.3-5.8-.5-16.6 3-31.3 11.1-4.1 2.6-8.6 5.1-13.7 7.6l-8-16.9c5.1-2.2 8.7-4.8 13-7.3 11.5-7.66 14.8-14.7 15.1-20.2-1-13.8-25.8-36.2-39-30.3-2 .8-4.3 2.7-6.8 5.9-6.4 10.1-11.6 23.7-14.2 33.4l-18-4.6c4.4-17.3 9.6-30.4 16.3-39.4 3.9-10 2.1-15.3-1.2-19.2-6.2-5.1-15.6-7.9-24.8-7.9zM96.18 282c-17.2 0-32.49 18.4-32.49 42.5 0 12.4 4.09 23.4 10.29 31l6.2 7.8-9.9 1.5c-9.39 1.5-15.79 6-21.09 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.81 40.6-4.81 63h25.91l1.2 24.7h70.61l1.4-24.7h27.3c-.1-22.1-1.2-41.5-6.3-62.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.12-42.5zm160.02 0c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 40.6-4.8 63h25.9l1.2 24.7h70.6l1.4-24.7h27.3c-.1-22.1-1.2-41.5-6.3-62.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5zm160 0c-17.1 0-32.4 18.4-32.4 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.9 6-21.2 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 40.6-4.8 63h25.9l1.2 24.7h70.7l1.4-24.7h27.2c-.1-22.1-1.2-41.5-6.2-62.3-2.8-11.3-6.8-21.2-12.1-28.4-5.1-7.1-11.4-11.6-19.8-13.2l-9.7-1.8 6.3-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HobbitDoor;

impl IconShape for HobbitDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.4 23 23 127.4 23 256s104.4 233 233 233c103.1 0 190.6-67.1 221.3-160h-19C428.4 411.8 349.2 471 256 471c-118.8 0-215-96.2-215-215S137.2 41 256 41c93.2 0 172.4 59.2 202.3 142h19C446.6 90.12 359.1 23 256 23zm-9 50.22c-16 .77-31.4 3.58-46 8.17V359h46V73.22zm18 0V215h46V81.39c-14.6-4.59-30-7.4-46-8.17zm-82 14.89c-16.8 7.3-32.3 17.09-46 28.79v2.1h46V88.11zm146 0V311h46V116.9c-13.7-11.7-29.2-21.49-46-28.79zM119 134.6C90.37 166.9 73 209.4 73 256c0 46.6 17.37 89.1 46 121.4v-89c-9.7-7.5-16-19.3-16-32.4 0-13.1 6.3-24.9 16-32.4v-89zm274 0v242.8c12.7-14.3 23.1-30.6 30.9-48.4H411V183h12.9c-7.8-17.8-18.2-34.1-30.9-48.4zM137 137v78.6c2.3-.4 4.6-.6 7-.6 18.1 0 33.6 12 39 28.4V137h-46zm292 64v46h46v-46h-46zm-285 32c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm121 0v205.8c16-.8 31.4-3.6 46-8.2V233h-46zm164 32v46h46v-46h-46zm-246 3.6c-5.4 16.4-20.9 28.4-39 28.4-2.4 0-4.7-.2-7-.6v98.7c13.7 11.7 29.2 21.5 46 28.8V268.6zM329 329v94.9c16.8-7.3 32.3-17.1 46-28.8V329h-46zm-128 48v53.6c14.6 4.6 30 7.4 46 8.2V377h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HobbitDwelling;

impl IconShape for HobbitDwelling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M297 41v30h78V41h-78zM80 48c-12.56 22.13-19.5 54.6-22.07 77.2-.59.2-1.17.5-1.74.7-5.58-17.9-17.63-33.58-33.8-46.62 6.47 18.29 15.93 35.52 19.71 54.62-4.23 2.9-8.01 6-11.3 9.4-3.16 3.3-5.68 14.2-5.9 27.1-.17 12.9 1.1 27 .1 38.4v18.3c24.32-9.1 49.03-21.4 74.63-31.3 29.77-11.6 61.07-19.5 94.17-12.6h.1c25.2 5.3 41.1 10.6 62.8 29.4 37.2-26.3 84.7-42.1 129.8-29.3L487 212.1v-29.8c-5.8-2.2-11.7-4.3-17.5-6.4 4.6-25.7 12-44.4 24.2-71.2-21.1 17.4-40.5 31.6-50.4 51.9 2.4-20.1-7.9-28.1-25.5-45.7 5.2 21.2 3.8 30.9-2.2 46.8-74.1-23.5-146.1-39.7-208.1-45.9-18.3-1.8-35.7-2.8-51.9-2.8-2.3 0-4.6.1-6.9.1-16.4.2-31.7 1.4-45.6 3.5-2.8-11.8-.4-25.02 11.9-40.56C98.7 83.9 84.47 96.35 76.54 110.5 76.33 90.05 78.65 68.87 80 48zm233 41v22.1c15.1 3.4 30.5 7.1 46 11.3V89h-46zm41.6 107.9c-32.5-.4-66 13.7-93.2 34.3l-6 4.5-5.5-5.1c-19.2-18-29.3-22.8-47.8-27.2-2.9 9.7-9.2 19.9-14.6 30 .5-10.4 1.6-21-5.6-29.5-3 8.8-10.3 16.5-24 22.6 2.9-9.9 6.9-19 6.9-27.8-19.5.6-38.9 6.2-58.7 13.8-26.37 10.2-53.15 24.2-81.1 34V487h462V230.8l-105.5-30.1c-8.8-2.5-17.8-3.7-26.9-3.8zM384 215c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm-9 18.7c-23.3 3.8-41.5 22.1-45.3 45.3H375v-45.3zm18 0V279h45.3c-3.8-23.2-22-41.5-45.3-45.3zM160 247c57.9 0 105 47.1 105 105 0 27.4-10.5 52.3-27.7 71H249v50H71v-50h11.71C65.52 404.3 55 379.4 55 352c0-57.9 47.1-105 105-105zm0 18c-9 0-17.7 1.4-25.9 3.9l-8.5 44-3.6-39.2c-29.06 14-49 43.8-49 78.3 0 29.4 14.41 55.3 36.6 71h71.3l7.3-44.6 7.3 44.6h14.9c22.2-15.7 36.6-41.6 36.6-71 0-48.2-38.8-87-87-87zm169.7 32c3.8 23.2 22 41.5 45.3 45.3V297h-45.3zm63.3 0v45.3c23.3-3.8 41.5-22.1 45.3-45.3H393zm-175 45a9.999 9.999 0 0 1 10 10 9.999 9.999 0 0 1-10 10 9.999 9.999 0 0 1-10-10 9.999 9.999 0 0 1 10-10zm61 49h194v50h-16v32h-50v-32h-62v32h-50v-32h-16v-50zm18 18v14h158v-14H297zM89 441v14h142v-14H89zm224 0v14h14v-14h-14zm112 0v14h14v-14h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hockey;

impl IconShape for Hockey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M404.4 18l-18.642 48.578 62.498 9.41L470.98 18zm-25.246 65.787l-48.8 127.158-5.004.89c-15.403 2.74-30.98 5.11-46.71 7.157l39.094 85.52c16.356-5.765 32.46-11.918 48.248-18.555l75.54-192.78zM259.89 221.27c-7.35.832-14.732 1.598-22.146 2.294l35.307 95.586c9.26-2.82 18.453-5.743 27.573-8.777zm-40.744 3.898c-8.13.642-16.292 1.215-24.49 1.71l33.377 105.138c9.296-2.495 18.54-5.066 27.727-7.725zm-43.058 2.71c-8.492.4-17.02.73-25.576.99l30.465 115.087c9.92-2.39 19.797-4.84 29.623-7.365zm-138.71.907c-3.157.074-5.14 1.152-7.48 3.582-2.672 2.778-5.33 7.782-7.164 14.528-3.668 13.49-4.03 33.372-1.15 53.046 2.88 19.676 8.982 39.287 16.787 52.623 3.904 6.667 8.216 11.694 12.234 14.576 3.974 2.85 7.286 3.764 11.17 3.22 8.434-1.778 16.847-3.575 25.265-5.368l17.26-135.365c-21.577.08-43.32-.193-65.22-.8l-.137-.005-.134-.008c-.505-.03-.98-.04-1.43-.03zm94.636.547c-3.175.06-6.364.093-9.547.137l-16.774 131.538c19.35-4.177 38.62-8.448 57.758-12.908zm270.412 144.063c-25.497 0-48.55 4.41-64.422 11.023-7.936 3.307-14.03 7.183-17.72 10.818-3.69 3.635-4.858 6.554-4.858 9.16 0 2.603 1.17 5.522 4.86 9.157 3.69 3.635 9.782 7.51 17.718 10.818 15.872 6.615 38.925 11.025 64.422 11.025 25.496 0 48.547-4.41 64.42-11.024 7.936-3.306 14.028-7.182 17.718-10.817 3.69-3.635 4.862-6.554 4.862-9.158 0-2.605-1.17-5.524-4.862-9.16-3.69-3.634-9.782-7.51-17.718-10.817-15.873-6.613-38.924-11.023-64.42-11.023zm-87 59.304v27.695c0 2.604 1.17 5.523 4.86 9.158 3.69 3.635 9.782 7.51 17.718 10.818 15.872 6.615 38.925 11.025 64.422 11.025 25.496 0 48.547-4.41 64.42-11.024 7.936-3.306 14.028-7.182 17.718-10.817 3.69-3.635 4.862-6.554 4.862-9.158V432.7c-4.59 3.128-9.84 5.863-15.656 8.286-18.873 7.864-43.82 12.41-71.344 12.41-27.523 0-52.47-4.546-71.344-12.41-5.816-2.423-11.068-5.158-15.656-8.287z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hole;

impl IconShape for Hole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 151c-62.9 0-119.9 10.8-161.94 28.8-21.03 9.1-38.38 19.9-50.86 32.5C30.71 225 23 239.9 23 256s7.71 31 20.2 43.7c12.48 12.6 29.83 23.4 50.86 32.5C136.1 350.2 193.1 361 256 361c62.9 0 119.9-10.8 161.9-28.8 21.1-9.1 38.4-19.9 50.9-32.5C481.3 287 489 272.1 489 256s-7.7-31-20.2-43.7c-12.5-12.6-29.8-23.4-50.9-32.5-42-18-99-28.8-161.9-28.8zm0 43c82.7 0 165.5 21.2 215 63.6-.5 9.9-5.3 19.6-15 29.4-10.2 10.4-25.6 20.2-45.2 28.6-39 16.7-94 27.4-154.8 27.4-60.8 0-115.8-10.7-154.8-27.4-19.55-8.4-35.01-18.2-45.19-28.6-9.65-9.8-14.48-19.5-14.96-29.4C90.54 215.2 173.3 194 256 194z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HoleLadder;

impl IconShape for HoleLadder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.125 31.344c-13.054.25-26.12 5.152-32.906 13.843L87.28 221.78c-19.708 13.59-35.83 29.68-47.25 47.657-12.288 19.35-18.983 40.904-18.968 62.688v.03c-.015 21.785 6.68 43.308 18.97 62.658 12.296 19.36 30.06 36.565 51.874 50.78 21.815 14.216 47.62 25.404 75.656 32.97 28.036 7.566 58.217 11.5 88.438 11.5 30.22 0 60.402-3.934 88.438-11.5 28.035-7.566 53.873-18.754 75.687-32.97 21.814-14.215 39.547-31.42 51.844-50.78 12.288-19.35 18.983-40.873 18.967-62.657v-.03c.016-21.758-6.676-43.263-18.937-62.595l-.03-.092c-11.426-17.99-27.557-34.094-47.283-47.688L456.72 45.187c-10.86-13.906-37.754-18.04-55.033-9.062l-10.25 66.656H120.5l-10.22-66.686c-6.478-3.367-14.323-4.9-22.155-4.75zm39.844 120.094h256l-6.94 45.125c-10.437-4.176-21.325-7.835-32.592-10.875-28.036-7.566-58.217-11.47-88.438-11.47-30.22 0-60.402 3.904-88.438 11.47-11.29 3.047-22.198 6.72-32.656 10.906l-6.937-45.156zM256 196.78c28.71 0 57.438 3.75 83.844 10.876 11.757 3.173 23.078 7.005 33.75 11.438l-7.906 51.406H146.25l-7.875-51.375c10.684-4.44 22.01-8.292 33.78-11.47 26.407-7.125 55.135-10.874 83.845-10.874zm164.406 48.595c15.023 11.292 27.036 24.022 35.438 37.25 10.226 16.1 15.236 32.92 15.22 49.5l-.002.03c.018 16.58-4.992 33.37-15.218 49.47-10.227 16.1-25.784 31.476-45.625 44.406-19.843 12.93-43.97 23.438-70.376 30.564C313.438 463.72 284.71 467.47 256 467.47c-28.71 0-57.438-3.75-83.844-10.876-26.405-7.126-50.502-17.633-70.344-30.563-19.84-12.93-35.43-28.304-45.656-44.405-10.226-16.1-15.236-32.89-15.218-49.47v-.03c-.018-16.58 4.992-33.4 15.218-49.5 8.395-13.218 20.4-25.934 35.407-37.22l30.812 169.69c13.39 10.178 31.056 16.062 49.344 21.342l-4.407-28.78h177.312l-4.406 28.78c18.287-5.28 35.984-11.164 49.374-21.343l30.812-169.72zM151.437 304.28H360.5l-12.188 79.533H163.656l-12.22-79.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HolyHandGrenade;

impl IconShape for HolyHandGrenade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233 17.44v56.12h-64v46h64v56.57c7.523-1.028 15.2-1.57 23-1.57 7.8 0 15.477.542 23 1.57v-56.57h64v-46h-64V17.44h-46zm23 54.89c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm0 18c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zm-7.545 102.416c-5.226.256-10.383.778-15.455 1.55v12.536c2.85-6.65 8.516-11.855 15.455-14.086zm15.09 0c6.94 2.23 12.605 7.437 15.455 14.086v-12.535c-5.072-.773-10.23-1.295-15.455-1.55zM215 198.18c-56.035 15.73-98.793 62.918-108.1 121.38H215V198.18zm82 0v121.38h108.1C395.793 261.1 353.035 213.91 297 198.18zm-41 11.38c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm-23 16.73v28.542c2.934-6.843 8.85-12.156 16.066-14.27-7.217-2.117-13.132-7.43-16.066-14.273zm46 0c-2.934 6.842-8.85 12.155-16.066 14.27 7.217 2.116 13.132 7.43 16.066 14.272V226.29zm-23 31.27c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm-23 16.73v28.542c2.934-6.843 8.85-12.156 16.066-14.27-7.217-2.117-13.132-7.43-16.066-14.273zm46 0c-2.934 6.842-8.85 12.155-16.066 14.27 7.217 2.116 13.132 7.43 16.066 14.272V274.29zm-23 31.27c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm-23 16.73v15.27h-15.27c6.842 2.934 12.155 8.85 14.27 16.067 2.395-8.173 8.894-14.67 17.066-17.066-7.217-2.115-13.132-7.428-16.066-14.27zm46 0c-2.934 6.842-8.85 12.155-16.066 14.27 8.172 2.396 14.67 8.894 17.066 17.067 2.115-7.217 7.428-13.133 14.27-16.066H279v-15.27zm-157.27 15.27c6.842 2.934 12.155 8.85 14.27 16.067 2.115-7.217 7.428-13.133 14.27-16.066h-28.54zm48 0c6.842 2.934 12.155 8.85 14.27 16.067 2.115-7.217 7.428-13.133 14.27-16.066h-28.54zm144 0c6.842 2.934 12.155 8.85 14.27 16.067 2.115-7.217 7.428-13.133 14.27-16.066h-28.54zm48 0c6.842 2.934 12.155 8.85 14.27 16.067 2.115-7.217 7.428-13.133 14.27-16.066h-28.54zm-249.73 16c-2.882 0-5.26 1.597-6.352 3.99.23 2.498.52 4.978.868 7.44 1.264 1.583 3.22 2.57 5.484 2.57 3.973 0 7-3.027 7-7 0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7s7-3.027 7-7c0-3.972-3.027-7-7-7zm48 0c-3.973 0-7 3.028-7 7 0 3.973 3.027 7 7 7 2.265 0 4.22-.987 5.484-2.57.35-2.462.64-4.942.868-7.44-1.093-2.393-3.47-3.99-6.352-3.99zm-264 13.934c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zm48 0c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zm48 0c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zm48 0c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zm48 0c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zm48 0c-2.115 7.217-7.428 13.133-14.27 16.067h28.54c-6.842-2.933-12.155-8.85-14.27-16.066zM116.518 401.56c22.702 54.647 76.542 93 139.482 93s116.78-38.353 139.482-93H116.518z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HolyWater;

impl IconShape for HolyWater {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.56 39.29c-2.418.023-5.135 1.13-7.27 3.065-2.137 1.935-3.507 4.53-3.77 6.932-.26 2.402.174 4.782 3.033 7.94l6.037 6.67 40.35 44.56 6.042 6.672c2.86 3.156 5.184 3.824 7.6 3.802 2.416-.023 5.135-1.13 7.272-3.065 2.136-1.934 3.506-4.53 3.767-6.93.262-2.404-.17-4.783-3.03-7.94L308.16 43.09c-2.86-3.158-5.185-3.823-7.6-3.8zm-15.31 36.69l-38.604 34.952-6.04-6.672c-23.138-25.555-36.56-26.794-53.106-27.586L23.285 225.364 151.018 366.43 315.23 217.74c.85-16.544.946-30.02-22.193-55.576l-6.04-6.672 38.6-34.953-40.347-44.56zm-112.146 54.276l33.86 37.396 37.397-33.86 19.66 21.714-37.393 33.86 33.86 37.396-21.714 19.662-33.86-37.397-95.3 86.29-19.664-21.713 95.302-86.29-33.86-37.396 21.712-19.662zm197.378 4.363s-25.86 52.77-16 73.81c6.237 13.306 25.764 13.306 32 0 9.862-21.04-16-73.81-16-73.81zm2.196 103.02l-5.655 46.28c1.168-.316 2.47-.504 3.967-.504 2.408 0 4.445.504 6.23 1.307l-4.542-47.082zm-58.967 15l28.087 66.067c2.457-5.83 5.08-11.178 7.744-15.855l-35.83-50.213zm117.536 1.497l-37.244 49.48c2.66 4.666 5.212 9.943 7.568 15.662l29.676-65.143zM270.143 295.11l63.375 47.704c.57-2.11 1.164-4.208 1.8-6.275 1.07-3.48 2.227-6.874 3.446-10.17l-68.62-31.26zm203.572 2.595l-69.135 29.39c1.103 3.1 2.144 6.29 3.104 9.546.665 2.257 1.273 4.55 1.855 6.858l64.175-45.793zm-102.32 4.95c-1.514 1.696-3.56 4.516-5.706 8.193-4.528 7.762-9.47 18.968-13.167 30.984-3.697 12.016-6.155 24.906-6.185 35.992-.03 11.087 2.422 19.947 6.97 25.225 2.532 2.935 9.886 5.884 17.682 5.884 7.796 0 15.153-2.95 17.684-5.885 4.597-5.335 7.19-14.28 7.344-25.376.154-11.097-2.07-23.966-5.6-35.945-3.53-11.98-8.384-23.133-12.965-30.798-2.252-3.768-4.46-6.66-6.058-8.276zm-38.727 43.402l-79.022 7.62 75.75 9.26c.754-5.654 1.88-11.318 3.272-16.88zm77.754 1.045c1.273 5.56 2.263 11.213 2.88 16.845l75.413-7.275-78.293-9.57zm-81.756 22.716l-60.02 42.828 60.15-25.57c-.322-3.063-.467-6.175-.458-9.303.007-2.63.122-5.286.328-7.955zm85.225 1.516c.107 2.21.156 4.41.126 6.59-.05 3.527-.286 7.03-.752 10.46l58.957 26.856-58.33-43.906zm-79.935 34.746l-22.84 50.135 30-39.858c-.494-.498-.973-1.016-1.44-1.556-2.315-2.685-4.193-5.616-5.72-8.72zm73.358 1.434c-1.403 2.574-3.05 5.02-5.004 7.287-.782.907-1.615 1.737-2.474 2.526l28.816 40.385-21.34-50.196zm-42.073 19.144l4.444 46.05 5.613-45.92c-1.436.1-2.876.146-4.307.146-1.912 0-3.835-.094-5.75-.276z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HomeGarage;

impl IconShape for HomeGarage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 44.158L19.76 165.816 32 173.937l224-112 224 112 12.24-8.12L256 44.157zm0 37.904l-215 107.5V495h30V203h370v292h30V189.562l-215-107.5zM92 223v18h328v-18H92zm0 36v18h328v-18H92zm100 36c-8.5 0-14.393 5.524-18.95 11.6-4.556 6.075-8.276 13.701-11.478 22.24-4.27 11.389-7.54 24.334-9.248 36.887-8.722-2.235-22.048-4.431-24.324 2.273-2.354 6.934 7.344 13.583 16.668 18.217-.32 1.067-.63 2.17-.906 3.344C141.969 397.18 141 406.6 141 416c0 9.4.969 18.82 2.762 26.44 1.272 5.406 3.108 9.766 4.744 12.56h214.988c1.636-2.794 3.472-7.154 4.744-12.56C370.031 434.82 371 425.4 371 416c0-9.4-.969-18.82-2.762-26.44a56.768 56.768 0 0 0-.906-3.343c9.324-4.634 19.022-11.283 16.668-18.217-2.276-6.704-15.602-4.508-24.324-2.273-1.707-12.553-4.977-25.498-9.248-36.887-3.202-8.539-6.922-16.165-11.479-22.24C334.393 300.524 328.5 295 320 295H192zm0 18h128c-.5 0 1.607.476 4.55 4.4 2.944 3.925 6.224 10.299 9.022 17.76 3.673 9.795 6.488 21.437 8.028 32.414C318.195 361.125 292.18 361 256 361c-36.18 0-62.195.125-85.6 6.574 1.54-10.977 4.355-22.62 8.028-32.414 2.798-7.461 6.078-13.835 9.021-17.76 2.944-3.924 5.051-4.4 4.551-4.4zm-16 87a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm160 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-183 73v22h30v-22h-30zm176 0v22h30v-22h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HoneyJar;

impl IconShape for HoneyJar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 24v46h302V24zm14 62v55c-9.8 20.2-17.4 45.4-23.14 73h18.64c5.5-26.1 12.7-49.4 21.5-67l1-1.9V104h70.9c10.2 6.8 33.2 20.9 48.1 21 9.9.1 23.3-5.5 34.8-11.6 9.9 11.6 20.7 26.6 22 38.6.7 6.8-8.3 12.2-7.8 19 .7 10.4 5.6 26.8 16 26.9 11.6.1 18.2-17.9 18.5-29.5.2-5.6-7.8-9.1-8.2-14.8-1.2-14.7 10.7-38.5 16.7-49.6h27v41.1l1 1.9c8.8 17.6 16 40.9 21.5 67h18.7c-5.7-27.6-13.4-52.8-23.2-73V86zM89.02 232v158H423V232zm119.58 15.8c9.4-.2 19.2 3 27.9 9.2 6.5 4.7 11.5 10.6 14.8 17 .7-.4 1.3-.7 2-1.1 3.1-1.6 6.4-3 9.7-3.9.9-2.4 2.2-4.8 3.8-7 3.6-5 8.3-8.7 13.8-10.5 5.4-1.8 12.1-1.6 17.4 2.2 5.4 3.9 7.6 10.2 7.6 15.9 0 5.7-2 11.4-5.6 16.4-1.6 2.2-3.5 4.2-5.5 5.8.2 3.4 0 6.9-.6 10.4-.1.8-.3 1.5-.4 2.3 7.1 1 14.3 4 20.8 8.7 8.7 6.3 14.8 14.6 17.5 23.5 2.9 9.1 2.2 19.2-3.6 27.2-5.8 8.1-15.2 11.9-24.7 12.1-9.3.1-19.1-3-27.8-9.3-4.9-3.5-9-7.8-12.1-12.4l-.8 1.1-.5-.4c-4.2 3.5-8.5 6.5-12.9 8.8-10.1 5.4-22 7.5-31.4.8-9.3-6.8-11-18.7-9.1-30.1.7-4.8 2.2-9.9 4.2-14.9l-2.2-1.6.4-.5c-4.7-1.6-9.2-3.9-13.5-7-8.6-6.2-14.7-14.6-17.5-23.5-2.8-9.1-2.2-19.2 3.6-27.2 5.8-8.1 15.2-11.9 24.7-12zm.3 18c-5.1.1-8.4 1.8-10.4 4.5-2 2.8-2.5 6.4-1 11.4 1.5 4.7 5.2 10.1 10.9 14.2 4.7 3.4 9.9 5.3 14.4 5.8l1.8-2.7c3-4.1 6.2-7.9 9.6-11.4l2.2-3c-1.8-4.4-5.3-9.3-10.5-13-5.6-4.1-12-5.9-17-5.8zm57.3 21.6c-.9 0-1.8.2-2.7.6l-1.8.9c-1.4.7-2.9 1.6-4.5 2.7l17.7 12.7c.5-1.8.9-3.5 1.2-5 .1-.7.2-1.3.3-2 1.2-5.4-3.9-9.8-9.2-9.9h-1zm-16.9 20.9c-3.1-.3-7.9 6.4-9.5 8.3l17 12.2c2.8-3.1 6.5-10.4 4.4-12.1l-11.3-8.2c-.2-.1-.4-.1-.6-.2zm39 13.7l-2.7 3.6c-2.1 4.1-4.7 8.1-7.5 12.1-.6.9-1.2 1.7-1.9 2.5 1.9 4.1 5.2 8.5 10 11.9 5.7 4.1 12 6 17 5.9 5.1-.1 8.5-1.8 10.4-4.6 2-2.7 2.6-6.4 1.1-11.3-1.5-4.8-5.3-10.2-10.9-14.3-5.1-3.7-10.8-5.5-15.5-5.8zm-60 8.6c-.7 2.4-1.3 4.7-1.6 6.8-1.3 7.8.4 11.5 1.9 12.6 1.4 1 5.5 1.5 12.5-2.2 1.9-1 3.9-2.2 6-3.7zM86.28 408c1.48 12.5 3.47 24 6.01 34.2 3.15 12.6 7.05 23.1 12.51 31.3 5.4 8.2 13.5 14.5 23.2 14.5h256c9.7 0 17.8-6.3 23.2-14.5 5.5-8.2 9.4-18.7 12.5-31.3 2.5-10.2 4.5-21.7 6-34.2h-18.1c-1.4 11.1-3.1 21.1-5.3 29.8-2.9 11.4-6.5 20.4-10 25.7-3.6 5.3-6 6.5-8.3 6.5H128c-2.3 0-4.7-1.2-8.3-6.5-3.5-5.3-7.1-14.3-10-25.7-2.2-8.7-3.9-18.7-5.3-29.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hoodie;

impl IconShape for Hoodie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-6.6 0-16.1 3.77-26.1 10.69-9.9 6.92-20.3 16.69-29.6 27.09-8.4 9.52-15.9 19.56-21.5 28.35 5-2.29 10-4.34 15.1-6.17l.9-.41c20.2-8.78 40.6-13.25 61.1-13.25 20.5-.02 41 4.37 61.3 13.26l.8.35c5.1 1.84 10.2 3.91 15.2 6.22-5.6-8.79-13.1-18.83-21.5-28.35-9.3-10.4-19.7-20.17-29.6-27.09C272.1 28.77 262.6 25 256 25zm0 67.23c-16.3 0-32.5 2.37-48.2 7.1 1 16.67 5.3 36.37 13 51.87 8.8 17.6 20.5 28.6 35.2 28.6 14.7 0 26.4-11 35.2-28.6 7.7-15.5 12-35.2 13-51.87-15.7-4.73-31.9-7.1-48.2-7.1zm-66 13.67c-7.1 3.1-14.1 6.7-20.8 10.9 1.3 19.1 10.4 34.5 24.8 45.7 5.7 4.5 12.3 8.2 19.5 11-3.3-4.4-6.2-9.3-8.7-14.3-8.4-16.6-13.2-35.7-14.8-53.3zm132 0c-1.6 17.6-6.4 36.7-14.8 53.3-2.5 5.1-5.5 10-8.8 14.5 7.4-2.9 14.1-6.6 19.9-11.2 14.2-11.2 23.2-26.6 24.5-45.7-6.7-4.2-13.7-7.8-20.8-10.9zm-131.4 76.2c-23.4 3.6-46.8 9.2-70.3 16.7L93.42 427l31.18 10.4 26.5-198.6 17.9 1.8L155.6 442c23.6 5.7 62.1 9 100.4 9 38.3 0 76.8-3.3 100.4-9L343 240.6l17.9-1.8 26.5 198.6 31.1-10.3-26.8-228.3c-23.4-7.4-46.7-13.1-70-16.7-4.1 2.6-8.4 4.8-12.9 6.8-3.3 11.9-2.9 26 0 39.1 3.7 16.7 11.7 31.8 17.6 37.6l-12.8 12.8c-10.1-10.2-18.1-27.1-22.4-46.4-2.6-11.7-3.8-24.4-2.2-36.7-10.4 2.3-21.5 3.2-33 2.5-11.5.7-22.6-.3-33-2.6 1.6 12.3.4 25-2.2 36.8-4.3 19.3-12.3 36.2-22.4 46.4l-12.8-12.8c5.9-5.8 13.9-20.9 17.6-37.6 2.9-13.2 3.3-27.3 0-39.3-4.4-1.9-8.6-4.1-12.6-6.6zm10.2 154.4h110.4l17.6 77.5-17.6 4-14.4-63.5h-81.6L200.8 418l-17.6-4 17.6-77.5zM91.28 445.2l-2.23 18.9c.05-.3.69 1.7 3.98 4.3 3.4 2.6 8.67 5.3 13.77 7.1 5.1 1.6 10.1 2.2 12.4 2l2.9-22-30.82-10.3zm329.42 0l-30.8 10.3 2.9 22c2.3.2 7.3-.4 12.4-2 5.1-1.8 10.4-4.5 13.8-7.1 3.3-2.6 3.9-4.6 3.9-4.3l-2.2-18.9zm-266.3 15l-1.3 19.2v.1c.5.5 2.1 1.7 4.5 2.9 4.8 2.4 13 4.8 23.1 6.8 20.1 3.8 47.7 5.8 75.3 5.8 27.6 0 55.2-2 75.3-5.8 10.1-2 18.3-4.4 23.1-6.8 2.4-1.2 4-2.4 4.5-2.9v-.1l-1.3-19.2c-26.5 6.1-63.9 8.8-101.6 8.8-37.7 0-75.1-2.7-101.6-8.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hook;

impl IconShape for Hook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264 25c-34.9 0-63 28.1-63 63s28.1 63 63 63 63-28.1 63-63-28.1-63-63-63zm0 30c18.1 0 33 14.88 33 33 0 18.1-14.9 33-33 33s-33-14.9-33-33c0-18.12 14.9-33 33-33zm0 18c-8.4 0-15 6.61-15 15s6.6 15 15 15 15-6.61 15-15-6.6-15-15-15zm-45.3 82.1c-3.7 9.1-9.5 17.5-16.4 25.6-11.7 13.6-26.6 26.7-41.2 41.5-29 29.4-56.4 64.2-55.2 120 .6 32.9 21.2 67.6 51 93.9 29.8 26.3 68.4 43.8 101.8 44.2 28.9.4 62-7.4 87.1-25.1 25.2-17.7 42.7-44.5 42.6-85.6 0-16.8-10.5-43.4-15.1-67.4-2.3-12-3.3-23.9 1.1-34.8 3.8-9.7 12.7-17.2 25.1-20.7 3-7.3 2-11.1-.2-13.9-2.5-3.1-8.6-5.9-16.3-5.8-7.6.1-16.1 2.9-22.3 8.1-6.1 5.3-10.4 12.8-10.4 24.6.1 27.9-3.6 54.7-13 77-9.5 22.3-25.4 40.3-48.6 48-18.7 6.1-40 1.5-58.1-8.2-18.1-9.8-33.6-25.1-38.9-44.1-5.9-21.5-.4-43.2 10.1-63.4 10.5-20.2 26.1-39.4 42.3-57.3 15.1-16.7 30.6-32.4 42.9-46.1-7.3 2.2-15 3.4-23 3.4-16.8 0-32.4-5.1-45.3-13.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HookSwords;

impl IconShape for HookSwords {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.592 16.545c-8.657.067-22.155 4.26-29.053 15.084-4.284 6.724-5.297 14.397-4.742 21.459 1.11 14.124 7.61 26.712 14.314 34.482 63.365 73.435 131.837 144.758 204.698 213.62-7.998 7.462-15.994 14.925-24.096 22.328l-35.598-32.133a135.304 135.304 0 0 0 5.051-11.596l-20.602-1.879C153.701 314.468 124.807 345.464 80 368l1.23 20.02a255.7 255.7 0 0 0 17.454-9.66l17.441 34.769c-25.25 21.202-63.434 50.785-89.564 71.371l23.77 5.557c29.94-23.589 59.263-47.63 88.08-72.008l-24.565-49.61c24.393-17.178 45.548-38.322 60.174-61.013l44.92 40.336A3126.616 3126.616 0 0 0 256 313.664a3126.616 3126.616 0 0 0 37.06 34.098l44.92-40.336c14.626 22.691 35.78 43.835 60.174 61.013l-24.564 49.61c28.816 24.378 58.138 48.42 88.08 72.008l23.77-5.557c-26.131-20.586-64.316-50.168-89.565-71.371l17.441-34.77a255.7 255.7 0 0 0 17.454 9.66L432 368c-44.807-22.536-73.7-53.532-87.564-90.09l-20.602 1.88a135.304 135.304 0 0 0 5.05 11.595l-35.597 32.133c-8.102-7.403-16.098-14.866-24.096-22.329C342.052 232.33 410.524 161.005 473.89 87.57c6.704-7.77 13.204-20.358 14.314-34.482.555-7.062-.458-14.735-4.742-21.46-6.898-10.824-20.396-15.016-29.053-15.083-16.903-.132-36.847 15.177-40.178 19.053-15.592 18.148-34.449 14.71-51.834 13.449 12.706 8.842 24.54 12.333 35.17 11.646 10.63-.686 19.323-5.289 26.57-10.066 10.249-6.23 20.535-18.3 33.716-15.64 25.822 6.251 4.255 38.683 2.408 40.824C397.083 149.027 328.747 220.15 256 288.83 183.253 220.15 114.917 149.026 51.74 75.81c-1.847-2.141-23.414-34.573 2.408-40.825 13.18-2.66 23.467 9.412 33.715 15.641 7.248 4.777 15.94 9.38 26.57 10.066 10.63.687 22.465-2.804 35.17-11.646-17.384 1.26-36.241 4.7-51.833-13.45-3.33-3.875-23.275-19.184-40.178-19.052zM191.965 347.75c-15.63 13.954-31.506 27.755-47.498 41.482l8.097 16.743c17.823-15.254 35.506-30.598 52.883-46.133l-13.482-12.092zm128.07 0-13.482 12.092c17.377 15.535 35.06 30.88 52.883 46.133l8.097-16.743c-15.992-13.727-31.869-27.528-47.498-41.482z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hops;

impl IconShape for Hops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M455.016 31.335c-7.352 27.563-11.672 51.534-29.666 70.475a132.12 132.12 0 0 1 10.89 14.457c21.859-21.479 31.27-55.32 36.444-81.483zm-365.77 86.553c26.53 23.311 75.437 43.214 128.588 50.441 8.93-54.446 25.763-101.262 78.663-111.742-87.441-32.988-169.736-14.856-207.25 61.3zm181.012-30.992c-23.32 17.537-33.49 55.18-35.172 93.896-1.561 35.96 3.991 71.655 9.075 90.1 18.466 5.08 54.205 10.628 90.213 9.068 38.762-1.68 76.457-11.845 94.011-35.137 26.195-44.685 11.365-102.657-21.504-136.447-35.854-30.649-96.195-50.896-136.623-21.48zM93.756 144.06c-21.448 19.766-37.77 47.077-44.715 84.466 29.077 14.704 53.089 19.928 81.481 23.61 19.863-23.625 28.623-48.967 39.228-75.043-29.084-7.861-55.342-19.184-75.994-33.033zm93.71 37.314c-13.41 45.213-43.135 138.013-19.993 166.121 20.996 20.505 122.712-2.301 166.324-19.967a359.482 359.482 0 0 1-5.027-29.386c-33.203-1.003-67.74-2.657-99.18-12.67-8.98-34.162-13.172-70.091-12.685-99.073a360.408 360.408 0 0 1-29.44-5.025zm271.243 37.24c-9.797 53.078-68.758 74.708-111.867 78.6 7.237 53.09 27.16 101.938 50.498 128.433 85.392-40.18 90.077-136.087 61.37-207.033zM59.217 254.495c-13.823 25.304-23.43 57.957-25.054 84.063 16.933 5.432 36.996 6.918 53.347 7.308 6.387-25.338 18.476-51.542 32.994-76.928-20.58-3.495-43.292-7.486-61.287-14.443zm88.59 3.938c-22.603 45.341-56.073 107.837-42.664 151.328 57.858 6.862 111.673-17.601 151.47-42.592-32.613 5.741-81.751 15.043-103.86-4.938-18.09-28.865-13.015-58.231-4.946-103.798zm190.277 86.802c-30.287 7.312-51.234 24.35-75.14 39.196 4.16 25.089 9.576 60.967 23.635 81.375 37.436-6.937 64.779-23.24 84.568-44.662-13.862-20.63-25.194-46.859-33.063-75.909zM46.331 360.267c-10.174 36.445-17.91 81.317-4.399 112.632 31.358 13.502 76.288 5.774 112.777-4.39-2.03-12.867-3.194-26.613-3.529-37.592-23.234 1.407-41.295.55-59.984-7.201-7.773-19.583-9.502-42.678-7.215-59.922-13.049-.685-25.974-1.445-37.65-3.527zm199.806 34.162c-25.42 14.508-51.66 26.588-77.03 32.968.398 20.603.666 38.958 7.315 53.268 31-3.247 58.572-10.692 84.17-25.025-7.523-22.172-11.492-40.957-14.455-61.211z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HorizonRoad;

impl IconShape for HorizonRoad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.8 19.64 64.66 113.4H32v18h272.8c12.3 23.5 21.4 40.3 28.1 68.3-118 19.8-137.8 26.8-247.03 65.1C126.4 344.9 167 425 232.8 492.4l246.2-.3c-87.1-63.9-203.5-127.6-260.1-201.3 64.2-33.7 98.8-49.9 155.5-74.6-11.5-28.8-30.3-59.7-53.9-84.8H480v-18H251.2l-54.5-67.85-35.6 23.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HorizontalFlip;

impl IconShape for HorizontalFlip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M387.02 278.627v67.883L477.53 256l-90.51-90.51v67.883H124.98V165.49L34.47 256l90.51 90.51v-67.883h262.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HornedReptile;

impl IconShape for HornedReptile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.98 21.35C63.71 95.32 121.5 181.9 128.4 271.3l39.4 92 62.8 78.5c5.8 5.8 15.5 9.2 25.4 9.2 9.9 0 19.6-3.4 25.4-9.2l62.8-78.5 39.4-92c6.9-89.4 64.7-175.97 106.4-249.95-89.8 46.36-136.4 81.85-177.6 189.85l-16.8-6.4c13-34.1 26.9-61.5 42.5-84.6l-23-59.74C289.1 73.48 273 81 256 81s-33.1-7.52-59.1-20.54l-23 59.74c15.6 23.1 29.5 50.5 42.5 84.6l-16.8 6.4c-41.2-108-87.8-143.49-177.62-189.85zM136.9 228.2l21.5 21.4c16.2 16.3 26.4 28.5 36 38 9.5 9.6 18.4 16.8 33.6 24.3l5 2.5v.3c13 4 13.8 69.8 7 85.3-4.1-15.6-11.9-28.9-23.4-41.6-3.7-1.9-9.7-4.9-16.6-9-10.9-6.3-23.3-14.1-31-23.8-8.9-11.1-14.6-27.4-18.9-41.6-4.4-14.2-6.9-26.1-6.9-26.1l-6.3-29.7zm238.2 0l-6.3 29.7s-2.5 11.9-6.9 26.1c-4.3 14.2-10 30.5-18.9 41.6-7.7 9.7-20.1 17.5-31 23.8-6.9 4.1-12.9 7.2-16.6 9-11.5 12.7-19.3 26-23.4 41.6-6.8-15.5-6-81.3 7-85.3v-.3l5-2.5c15.2-7.5 24.1-14.7 33.6-24.3 9.6-9.5 19.8-21.7 36-38l21.5-21.4zM208 312a12 12 0 0 0-12 12 12 12 0 0 0 12 12 12 12 0 0 0 12-12 12 12 0 0 0-12-12zm96 0a12 12 0 0 0-12 12 12 12 0 0 0 12 12 12 12 0 0 0 12-12 12 12 0 0 0-12-12zm-151 61.7v23.1l29.5 36.9c.1-6.7.3-12.8.5-18l.2-4.3-30.2-37.7zm206 0l-30.2 37.7.2 4.3c.2 5.2.4 11.3.5 18l29.5-36.9v-23.1zm-158.4 62.7c-.2 12.2-.1 25.2.7 37.6.5 8.6 1.5 16.3 2.7 22.6 1.7-4.2 3.5-8.8 5.2-13.8 3.6-10.9 6.2-22.7 7.2-29.9l-5.1-6.4-10.7-10.1zm110.8 0l-10.7 10.1-5.1 6.4c1 7.2 3.6 19 7.2 29.9 1.7 5 3.5 9.6 5.2 13.8 1.2-6.3 2.2-14 2.7-22.6.8-12.4.9-25.4.7-37.6zm-78.5 28.1c-1.3 6.4-3.2 13.3-5.4 20.2 9.9 7.1 19.4 10.3 28.5 10.3 9.1 0 18.6-3.2 28.5-10.3-2.2-6.9-4.1-13.8-5.4-20.2-7.3 3.1-15.2 4.5-23.1 4.5-7.9 0-15.8-1.4-23.1-4.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HorseHead;

impl IconShape for HorseHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M400 16c-21.335 9.73-58.244 17.34-73.086 48.232-22.36 1.948-72.753 10.673-122.22 40.25-58.098 34.74-116.017 97.417-131.776 213.702l-.48 3.537-2.774 2.25c-30.87 25.002-40.657 38.937-44.416 61.153-3.536 20.9-.72 51.46-.363 101.877H328.36c3.455-16.892 10.44-29.245 12.472-41.568 2.337-14.176.19-29.938-20.812-58.547-43.078-58.683-46.853-129.458-12.916-171.28-8.654-2.765-15.09-6.887-19.458-12.546-6.115-7.924-7.4-17.006-8.57-25.884l17.848-2.352c1.112 8.446 2.38 13.88 4.97 17.237 2.59 3.356 7.31 6.472 19.55 8.46l-.022.128.172-.17 5.998 9.424c19.957 31.358 42.84 51.292 73.332 54.44l6.51.672 1.367 6.4c2.74 12.828 8.626 19.095 15.116 22.238 6.49 3.143 14.225 2.944 20.47.205 9.316-4.086 14.518-11.35 16.7-22.712 2.122-11.05.546-25.834-5.137-42.106-33.538-38.248-44.475-87.277-63.903-128.772-6.055-9.947-12.448-18.518-20.385-24.856C376.808 55.126 386.456 34.852 400 16zM214.068 34.97C179.55 35.06 146.075 43.06 96 58.58c31.146 9.92 70.397 18.9 86.037 39.01 4.463-3.017 8.94-5.88 13.418-8.56 40.51-24.22 80.387-35.286 108.23-40.04-35.854-9.477-63.047-14.094-89.617-14.023zM157.16 96.712c-1.13-.01-2.265-.01-3.402.004-30.353.37-63.1 9.745-96.647 31.283 27.186 3.672 54.67 3.724 72.58 15.398 15.9-17.92 33.144-32.634 50.677-44.668-7.548-1.244-15.292-1.938-23.207-2.017zM368 128a13.214 13.215 0 0 1 13.213 13.215A13.214 13.215 0 0 1 368 154.432a13.214 13.215 0 0 1-13.213-13.217A13.214 13.215 0 0 1 368 128zm-238.906 16.068c-36.395 1.495-68.903 6.53-104.76 24.766 33.236 7.095 50.913 13.507 65.025 33.83 11.522-22.53 25.045-41.93 39.734-58.596zM74.518 201.46C53.53 201.65 36.614 213.14 16 224c27.854 0 46.067 3.862 58.71 12.055 4.33-11.652 9.16-22.615 14.41-32.924-5.12-1.19-9.963-1.71-14.602-1.67zm-.623 36.82c-17.933 5.845-35.452 7.15-54.23 22.284 17.62 4.638 34.79 9.596 41.398 22.034 3.496-15.77 7.814-30.523 12.832-44.32zm370.142 8.57c1.617-.035 3.222.044 4.783.187l-1.64 17.926c-3.928-.36-5.513.416-5.57.465-.058.048-1.035.656-.635 5.886l-17.95 1.372c-.638-8.35 1.297-16.207 6.955-20.997 4.245-3.593 9.206-4.735 14.057-4.84zM52.215 290.723c-10.352.13-23.76 5.646-34.656 12.334 12.173 6.83 12.357 23.472 8.938 37.668 7.3-9.105 16.855-18.323 29.158-28.48 1.016-7.043 2.19-13.9 3.506-20.585-2.082-.67-4.42-.97-6.947-.937z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Horseshoe;

impl IconShape for Horseshoe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.188 28.538c-202.97 2.955-190.282 230.2-126.782 409.47-14.678 9.41-17.29 6.385-15.75 17.062 1.105 7.65 12.483 23.233 17.563 25.844s9.372 2.85 17.03 2.343 60.337-8.77 49.22-22.625c-48-67.4-126.572-365.46 63.53-374.062 190.102 8.603 111.53 306.66 63.53 374.062-11.117 13.855 41.562 22.117 49.22 22.625s11.95.267 17.03-2.343 16.46-18.194 17.564-25.844c1.54-10.678-1.072-7.65-15.75-17.063 63.5-179.27 76.187-406.514-126.78-409.469-1.6-.023-3.19-.005-4.814 0-1.625-.004-3.214-.023-4.813 0zm-45.625 22.157c6.903 0 12.5 5.596 12.5 12.5s-5.597 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.596-12.5 12.5-12.5zm100.875 0c6.903 0 12.5 5.596 12.5 12.5s-5.597 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.596-12.5 12.5-12.5zM135.594 109.32c6.903 0 12.5 5.596 12.5 12.5s-5.597 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.596-12.5 12.5-12.5zm240.812 0c6.904 0 12.5 5.596 12.5 12.5s-5.596 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.597-12.5 12.5-12.5zm-266.844 96c6.904 0 12.5 5.596 12.5 12.5s-5.596 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.597-12.5 12.5-12.5zm292.875 0c6.904 0 12.5 5.596 12.5 12.5s-5.596 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.597-12.5 12.5-12.5zM118.22 307.82c6.902 0 12.5 5.596 12.5 12.5s-5.598 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.595-12.5 12.5-12.5zm275.56 0c6.905 0 12.5 5.596 12.5 12.5s-5.595 12.5-12.5 12.5-12.5-5.597-12.5-12.5 5.598-12.5 12.5-12.5zm-254.936 84.062c6.903 0 12.5 5.597 12.5 12.5s-5.597 12.5-12.5 12.5-12.5-5.596-12.5-12.5 5.596-12.5 12.5-12.5zm234.312 0c6.904 0 12.5 5.597 12.5 12.5s-5.596 12.5-12.5 12.5-12.5-5.596-12.5-12.5 5.597-12.5 12.5-12.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Horus;

impl IconShape for Horus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.624 38.408c-7.81-.103-15.53.265-23.12 1.088C146.945 51.153 88.41 120.082 55.96 193.286c-32.45 73.206-37.25 151.473-35.46 172.5L29.64 472.96h83.052c2.987-20.775 8.425-44.826 14.432-66.658 6.773-24.616 13.672-45.437 19.188-56.08 3.55-6.85 9.925-11.152 17.18-14.154 7.253-3.002 15.78-4.843 25.404-6.012 19.247-2.338 42.932-1.864 67.83.342 41.348 3.664 85.415 12.046 116.613 21.74-3.103-9.512-6.747-18.227-15.826-27.18l-6.86-6.767 7.216-6.382c41.488-36.703 55.892-68.598 60.574-101.785a34.638 34.638 0 0 1-3.75 2.34c-5.243 2.81-12.72 4.038-19.382 1.064-3.91-1.744-6.676-5.02-8.305-8.437a418.06 418.06 0 0 0-1.982 4.213c-4.96 10.71-9.424 21.096-13.99 29.642-4.565 8.546-8.3 16.154-17.554 19.418l-5.99-16.974c-.75.264 3.682-3.465 7.667-10.925 3.986-7.46 8.454-17.75 13.536-28.725 7.072-15.275 15.12-32.093 26.317-45.343 8.35-15.976 21.708-32.293 40.418-43.366-46.955-50.933-104.408-73.816-157.8-74.522zm-1.973 16.767c34.993.315 59.796 11.808 87.982 22.827-41.173-4.475-50.934 10.716-56.666 27.875-5.742 17.188-8.66 56.935 56.238 73.34-66.237 32.508-78.25-41.584-102.46-36.774-65.627 13.04-22.852 87.197 52.146 150.477-85.838-22.04-135.18-59-143.645-127.668-11.355-92.11 33.67-102.256 81.276-108.485 7.69-1.006 14.896-1.508 21.713-1.588 1.15-.014 2.29-.015 3.418-.005zm80.455 34.262c18.118 0 33 14.88 33 33 0 18.12-14.882 33-33 33-18.12 0-33-14.88-33-33 0-18.12 14.88-33 33-33zM147.02 104.7c1.827 78.895-5.86 176.468 170.354 205.132-35.884 7.95-163.52-14.975-186.05 24.732-21 37.013-27.095 81.05-34.323 118.063H46.227c-5.9-31.87-6.893-67.81-5.057-102.018 5.815-108.383 49.044-195.796 105.85-245.91zm209.085 2.737c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm95.265 17.467c-20.89 9.8-35.54 28.292-42.982 45-3.784 8.495-5.637 16.516-5.793 21.834-.078 2.66.305 4.597.603 5.38.006.017-.002 0 .004.015.837.296 1.337.248 2.985-.635 2.018-1.082 4.982-3.68 7.98-6.908s6.048-6.978 9.416-10.348c3.368-3.37 7.016-7.4 14.176-7.596 4.878-.134 7.48 1.684 10.155 3.365 2.677 1.683 5.25 3.72 7.96 5.996 5.425 4.55 11.326 10.074 17.01 14.832 5.686 4.757 11.365 8.648 14.513 9.855 1.132.434 1.2.36 1.343.38 3.358-6.057 3.95-14.14 1.892-23.6-2.093-9.62-6.883-20.22-12.758-29.624-5.874-9.404-12.868-17.66-18.687-22.745-2.91-2.542-5.56-4.264-7.127-4.97-.51-.227-.543-.2-.69-.23zM209.872 346.636c-6.783.18-13.112.597-18.808 1.29-8.58 1.042-15.737 2.725-20.692 4.775-4.954 2.05-7.314 4.328-8.08 5.806a48.273 48.273 0 0 0-1.012 2.115c5.434 40.466 11.302 79.708 29.27 112.99h49.246c-17.794-39.21-30.354-80.875-29.924-126.974z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hospital;

impl IconShape for Hospital {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c39.3 0 71 31.68 71 71 0 39.3-31.7 71-71 71s-71-31.7-71-71c0-39.32 31.7-71 71-71zm18 23h-36v30h-30v36h30v30h36v-30h30V78h-30zm101 89v350h-78v-80h-82v80h-78V137h40.1c2.5 5 5.6 9.6 9 14H151v50h50v-35.1c8.8 6.9 19 12.3 30 15.5V201h50v-19.6c11-3.2 21.2-8.6 30-15.5V201h50v-50h-35.1c3.4-4.4 6.5-9 9-14zm-32 32v14h-14v-14zm-160 0v14h-14v-14zm288 32v286h-78V201zm-352 0v286H41V201zm338 14h-50v82h50v-73zm-96 0h-50v82h50v-73zm-80 0h-50v82h50v-73zm-80 0h-50v82h50v-73zm-96 0H55v82h50v-73zm334 18v46h-14v-46zm-96 0v46h-14v-46zm-80 0v46h-14v-46zm-80 0v46h-14v-46zm-96 0v46H73v-46zm370 78h-50v82h50v-73zm-96 0h-50v82h50v-73zm-80 0h-50v82h50v-73zm-80 0h-50v82h50v-73zm-96 0H55v82h50v-73zm334 18v46h-14v-46zm-96 0v46h-14v-46zm-80 0v46h-14v-46zm-80 0v46h-14v-46zm-96 0v46H73v-46zm370 78h-50v50h50v-41zm-96 0h-50v50h50v-41zm-160 0h-50v50h50v-41zm-96 0H55v50h50v-41zm334 18v14h-14v-14zm-96 0v14h-14v-14zm-64 0v62h-46v-62zm-96 0v14h-14v-14zm-96 0v14H73v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HotDog;

impl IconShape for HotDog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M393.9 61.07c-10.1 0-18.6 3.26-24.8 10.11C282.3 167.4 216.8 225 58.09 277.8c-11.83 4-17.71 11-20.61 20.2-1.83 5.8-2.19 12.7-1.15 19.7-6.77 5.6-11.65 12.4-14.55 19.7-5.37 13.6-4.1 28.4 1.44 41.2 7.18 16.7 22.2 30.8 40.67 35.5-.61-6-.23-12.2 1.29-18.1-11.54-3.9-20.63-13.4-25.42-24.5-3.95-9.2-4.58-19-1.24-27.5 3.35-8.4 10.56-16.1 25.14-21.2C234 263.5 303.2 181 404.7 88.98c7.6-4.93 15.5-7.28 23-7.52h2.4c12 .31 23 5.7 31.1 13.9 7.1 7.24 11.8 16.24 12.3 26.24 6.1 1.9 11.9 4.9 17 8.9 2.2-18.2-4.5-35.61-16.5-47.77-11.9-12.18-29.2-19.65-47.3-19.05-4 .13-8 .66-12 1.61-6.2-2.51-12.7-3.98-18.8-4.2h-2zM429 131.2c-1.8 0-3.5 0-5.3.1-24.5 1-43.4 9.8-59.8 22.7-12.8 10.1-18.6 24.5-24.2 37.2-5.6 12.7-10.8 23.6-19 29.8h-.1c-7.5 5.8-18.4 7.9-31 9.8-12.6 2-26.9 3.6-39.5 12-13.5 9-21.1 22.6-28.3 34.5-7.2 12-13.9 22.1-23.1 27.4-10.4 5.8-25 5.5-41.4 4.9-16.4-.5-34.9-1.2-50.3 10-12.1 8.8-19.06 24.3-24.53 37.9-3.03 7.5-5.26 14.2-6.72 19 6.05-6.6 14.34-12 24.65-15.2 4.9-11.6 12.1-23.4 17.2-27.1 9.4-6.8 23-7.1 39.1-6.6s34.4 2 50.8-7.3h.1c14.2-8.1 22.3-21.6 29.6-33.6 7.3-12.1 13.9-22.9 22.9-28.9 8-5.3 19.4-7.2 32.2-9.2 12.8-1.9 27.1-4 39.2-13.2 13.1-9.9 19.1-24.3 24.7-37 5.6-12.7 10.8-23.8 18.9-30.2 11.9-9.4 23.7-15.7 39-18 3-3.8 6.1-7.7 9.1-11.6 2.1-2.8 4.4-5.2 6.9-7.4H429zm30.6 6.4c-7.9.2-15.6 3.5-22.2 12-82.1 106.2-161 181.3-330.3 228.5-12.59 3.5-19.26 9.9-22.75 17.5-3.49 7.6-3.62 16.9-.53 25.9 6.19 17.9 23.98 33.3 49.98 28.5 168.4-30.6 275.6-138.7 345.6-234.8 21.7-32.3 15.3-56 2.6-68.3-6.4-6.2-14.6-9.5-22.4-9.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HotMeal;

impl IconShape for HotMeal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.895 20.495s-12.96 6.614-25.907 16.354c-6.473 4.87-13.025 10.52-18.205 17.027-5.18 6.506-9.402 14.232-8.76 23.266.714 10.04 7.52 17.517 14.78 22 7.259 4.482 15.502 7.194 23.265 9.869 7.764 2.675 15.05 5.313 19.672 8.168 4.623 2.854 6.052 4.703 6.283 7.963.027.37-.418 2.346-2.613 5.103-2.195 2.757-5.726 5.93-9.42 8.71-7.388 5.557-15.095 9.54-15.095 9.54l8.21 16.016s8.826-4.494 17.706-11.174c4.44-3.34 8.976-7.227 12.681-11.88 3.705-4.655 6.993-10.44 6.485-17.593-.714-10.04-7.52-17.517-14.78-22-7.259-4.483-15.502-7.194-23.265-9.869-7.764-2.675-15.05-5.313-19.672-8.168-4.623-2.855-6.052-4.703-6.283-7.963-.16-2.252 1.217-6.168 4.886-10.777 3.67-4.61 9.218-9.549 14.946-13.858 11.454-8.617 23.296-14.718 23.296-14.718zm-128 48s-12.96 6.614-25.907 16.354c-6.473 4.87-13.025 10.52-18.205 17.027-5.18 6.506-9.402 14.232-8.76 23.266.714 10.04 7.52 17.517 14.78 22 7.259 4.482 15.502 7.194 23.265 9.869 7.764 2.675 15.05 5.313 19.672 8.168 4.623 2.854 6.052 4.703 6.283 7.963.027.37-.418 2.346-2.613 5.103-2.195 2.757-5.726 5.93-9.42 8.71-7.388 5.557-15.095 9.54-15.095 9.54l8.21 16.016s8.826-4.494 17.706-11.174c4.44-3.34 8.976-7.227 12.681-11.881 3.705-4.654 6.993-10.44 6.485-17.592-.714-10.04-7.52-17.517-14.78-22-7.259-4.483-15.502-7.194-23.265-9.869-7.764-2.675-15.05-5.313-19.672-8.168-4.623-2.855-6.052-4.703-6.283-7.963-.16-2.252 1.217-6.168 4.886-10.777 3.67-4.61 9.218-9.549 14.946-13.858 11.454-8.617 23.296-14.718 23.296-14.718zm256 0s-12.96 6.614-25.907 16.354c-6.473 4.87-13.025 10.52-18.205 17.027-5.18 6.506-9.402 14.232-8.76 23.266.714 10.04 7.52 17.517 14.78 22 7.259 4.482 15.502 7.194 23.265 9.869 7.764 2.675 15.05 5.313 19.672 8.168 4.623 2.854 6.052 4.703 6.283 7.963.027.37-.418 2.346-2.613 5.103-2.195 2.757-5.726 5.93-9.42 8.71-7.388 5.557-15.095 9.54-15.095 9.54l8.21 16.016s8.826-4.494 17.706-11.174c4.44-3.34 8.976-7.227 12.681-11.881 3.705-4.654 6.993-10.44 6.485-17.592-.714-10.04-7.52-17.517-14.78-22-7.259-4.483-15.502-7.194-23.265-9.869-7.764-2.675-15.05-5.313-19.672-8.168-4.623-2.855-6.052-4.703-6.283-7.963-.16-2.252 1.217-6.168 4.886-10.777 3.67-4.61 9.218-9.549 14.946-13.858 11.454-8.617 23.296-14.718 23.296-14.718zM256 187.501c-13 0-21.792 5.914-28.512 15.994-2.782 4.173-5.027 9.1-6.715 14.465 11.32-1.607 23.07-2.455 35.227-2.455 12.157 0 23.906.848 35.227 2.455-1.688-5.365-3.933-10.292-6.715-14.465-6.72-10.08-15.512-15.994-28.512-15.994zm0 46c-119.427 0-193.752 86.039-198.54 174.004h397.08C449.751 319.54 375.426 233.5 256 233.5zM22.363 412.14L9.637 424.866C27.757 442.987 48 443.501 64 443.501h384c16 0 36.242-.514 54.363-18.635l-12.726-12.726C475.757 426.019 464 425.505 448 425.505H64c-16 0-27.758.514-41.637-13.365zm90.451 49.361l20.002 30.004h246.368l20.002-30.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct House;

impl IconShape for House {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.27L25.637 249.638 19.27 256 32 268.73l6.363-6.367L256 44.727l217.637 217.636L480 268.73 492.73 256l-6.367-6.363zM96 48v107.273l64-64.002V48zm160 20.727l-192 192V486h64V320h96v166h224V260.727zM288 320h96v80h-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HouseKeys;

impl IconShape for HouseKeys {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.1 24.8c-6.3 0-12.7.43-19.2 1.18-34.6 4.01-64.8 17.59-86.1 37.06-21.4 19.48-34.2 45.56-31 73.16 2.8 24.6 17.8 45.2 39.1 59.4 2.6-6.2 5.9-11.9 9.2-16.5-17.6-11.6-28.4-27.3-30.4-45-2.3-19.7 6.7-39.58 24.8-56.14 18.2-16.57 45.3-29.06 76.6-32.68 31.3-3.63 60.6 2.33 82.1 14.3 21.4 11.98 34.7 29.31 37 48.92 2.2 19.3-6.2 38.8-23.4 55a69.91 69.91 0 0 0-35.4-10.6h-2.2c-5.1.1-10.1.7-15.3 1.8-37.5 8.7-60.8 45.5-52.2 82.7 5.3 23 21.6 40.6 42.2 48.5l39.7 172.2 47 29.1 29.5-46.7-23.5-14.5 14.8-23.4-23.5-14.6 14.7-23.3-23.5-14.6 14.8-23.4-13.5-58.4c15.1-16.1 22-39.1 16.7-62.2-2.7-11.7-8.2-22-15.8-30.4 18.9-19 29.8-43.5 26.8-69.2-3.2-27.55-21.6-50.04-46.9-64.11-20.5-11.45-45.8-17.77-73.1-17.59zm-20.2 135.5c-25.9 1.1-49.9 16.8-60.4 42.2-9.1 21.9-6 45.7 6.2 64.2l-67.8 163 21.3 51 51.2-20.9-10.7-25.5 25.6-10.4-10.6-25.5 25.6-10.4-10.7-25.5 25.6-10.5 22.8-54.8c-20.5-11.5-36.2-31.2-41.9-55.8-6.9-30.3 3.1-60.6 23.8-81.1zm58 7.2c8.9-.1 17.3 3.5 23.4 9.4-5.5 3.5-11.6 6.6-18 9.4-1.6-.6-3.3-.8-5.1-.8-.6 0-1.1 0-1.6.1-7 .8-12.2 6.1-13.1 12.7-.2 1-.2 2-.2 2.9.1.3.1.7.1 1 1 8.4 8.3 14.2 16.7 13.2 6.8-.8 12-5.9 13-12.3 6.2-2.8 12-5.9 17.5-9.4.2 1 .4 2 .5 3 2.1 18-11 34.5-29 36.6-17.9 2.1-34.5-11-36.5-29-2.1-18 11-34.5 29-36.6 1.1-.1 2.2-.2 3.3-.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HumanCannonball;

impl IconShape for HumanCannonball {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M412.3 25.99c-.4 0-.8 0-1.2.1-11.5 1.08-24.9 8.11-35.1 18.24-6.8 6.64-11.9 14.49-14.9 22.28l21.1 2.76 10-20.02 4.1 22.01 22.1 3.3-19.6 10.7 3.7 22.07-16.3-15.44-19.8 10.31 9.6-20.19-15.1-14.85c-1.4 3.86-2.2 7.71-2.4 11.37-.4 9.86 4.5 22.07 12.8 31.97 8.2 9.8 19.5 16.9 29.3 18.4 6 .9 17.2.5 23.5-2 3.2-1.2 4.8-2.7 5.3-3.7.5-.9 1-2.2-.7-6.5-2.4-5.7-5.3-9.4-8.4-14-3.1-4.57-6.3-11.54-4.8-19.35 2.4-13.02 12.7-21.57 21.6-28.69 3.4-2.76 6.4-4.8 9.3-6.74-3.6-4.68-8.1-9.55-13.1-13.42-7.1-5.49-14.7-8.72-21-8.61zm37.8 41.46c-.6.45-1.1.88-1.7 1.35-7.7 6.17-14.7 14.92-15.3 17.95-.4 2.39-.1 2.63 2.2 6.15 2.3 3.51 6.7 8.9 10 17.1 2.6 6.1 3.1 12.4 1.6 17.9 5.4-3.1 9.6-8.9 11.8-17.2 2.3-8.8 1.9-19.92-2-30.72-1.7-4.71-4-8.92-6.6-12.53zM316.8 124.6L125.6 286.1l-.2.1c-36.85 28.7-52.19 59.5-54.28 87.2-2.09 27.7 9.16 52.8 27.86 70 18.72 17.3 44.62 26.4 72.02 22.1 4.8-.7 9.6-1.9 14.5-3.5L199 286.3v.7c0-18.2 7.2-33.1 18-42.7 10.9-9.7 25-14.3 39-14.3s28.1 4.6 39 14.3c10.8 9.6 18 24.5 18 42.7v-.7l2.4 31.6 83.9-117.3zm47.6 4.8c-2.4 2.6-5 5.1-7.6 7.6l33.7 31.1c4.3-6.8 9.1-13.7 15-20.6-2.7-.1-5.2-.4-7.5-.7-12.6-1.8-24.1-8.4-33.6-17.4zM256 248c-10 0-19.9 3.4-27 9.7-7.2 6.4-12 15.5-12 29.3v.3L201.7 486h108.6L295 287.3v-.3c0-13.8-4.8-22.9-12-29.3-7.1-6.3-17-9.7-27-9.7zm0 14c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm0 18c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zM33.15 444.2l-12.04 13.4s6.53 5.9 15.08 11.5c8.54 5.6 18.74 12.4 31.13 10.3 10.69-1.9 19.81-8.1 27.76-15.9a84.43 84.43 0 0 1-8.31-6.9c-1.93-1.8-3.8-3.6-5.59-5.6-6.35 5.8-12.51 9.9-16.85 10.6-1.86.3-11-2.7-18.24-7.5-7.24-4.8-12.94-9.9-12.94-9.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HumanEar;

impl IconShape for HumanEar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.063 47.188c-1.974.032-3.98.123-6 .25-60.62 3.805-100.33 35.933-123.563 83.78-22.862 47.083-28.442 109.71-17.125 172.47l1.75 1.75-1.406 5.718c-3.43 14.203-1.17 31.297 4.28 45.97 5.45 14.67 14.52 26.75 20.594 30.78l5.03 3.344-.374 6c-1.355 21.968 6.887 38.96 18.438 50.688 11.55 11.726 26.687 17.447 36.593 16.843 10.25-.623 15.605-3.796 21.25-10 5.648-6.202 10.894-16.054 17.064-28.28 12.34-24.452 28.935-57.856 68.094-87.094 63.353-47.305 82.793-122.987 70-185.656-6.397-31.334-20.867-59.136-41.407-78.313-17.97-16.78-40.38-27.204-67.374-28.187-1.928-.07-3.87-.095-5.844-.063zm-6.875 54.156c1.282-.03 2.564-.024 3.843 0 26.317.48 51.695 12.228 69.314 35.437A9 9 0 1 1 325 147.657c-25.65-33.79-69.065-37.748-104.344-12.437-18.275 13.11-34.26 34.452-43.312 64.343 12.93-13.697 27.912-27.055 44.5-35.532 9.905-5.06 20.616-8.356 31.656-8.405 3.68-.016 7.393.332 11.125 1.094 14.928 3.046 29.34 12.706 42.188 29.686a9.003 9.003 0 1 1-14.375 10.844c-10.987-14.52-21.443-20.872-31.407-22.906-9.962-2.034-20.222.21-31 5.72-21.54 11.006-43.38 35.2-59.5 54.686-1.83 18.726-1.345 39.794 2.126 63.25 12.828.502 23.317 3.768 30.97 9.72 9.264 7.204 13.86 17.8 14.53 28.25 1.343 20.897-10.62 42.6-30.625 51.06a9.01 9.01 0 0 1-7.03-16.592c11.446-4.842 20.493-20.77 19.688-33.313-.403-6.27-2.644-11.314-7.625-15.188-4.982-3.873-13.416-6.82-27.22-6.062a9 9 0 0 1-9.374-7.47c-16.06-93.725 12.22-157.702 54.186-187.81 17.214-12.35 36.787-18.802 56.03-19.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HumanPyramid;

impl IconShape for HumanPyramid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.17c-2.8 0-5.6 1.38-8.1 4.71-2.6 3.32-4.5 8.47-4.5 14.34 0 5.87 1.9 11.02 4.5 14.34 2.5 3.33 5.3 4.71 8.1 4.71s5.6-1.38 8.1-4.71c2.6-3.32 4.5-8.47 4.5-14.34 0-5.87-1.9-11.02-4.5-14.34-2.5-3.33-5.3-4.71-8.1-4.71zm-80 23.25v16.1l58 28v45.98l-9.4 75.6h-23c-4.8 4.1-10.9 6.7-17.6 6.7-7 0-13.4-2.9-18.4-7.3L104 194.1v16.1l58 18v46l-9.1 72.4h-23c-4.9 4.3-11.1 7-17.9 7-7 0-13.3-2.9-18.2-7.3L32 338.6v16.2l58 10v46l-10 80h16l12-70h8l12 70h16l-10-80v-46l50-1.7 50 1.7v46l-10 80h16l12-70h8l12 70h16l-10-80v-46l50-1.7 50 1.7v46l-10 80h16l12-70h8l12 70h16l-10-80v-46l58-10v-16.2l-61.8 7.8c-5 4.4-11.3 7.2-18.2 7.2-6.8 0-13-2.7-17.9-7h-23l-9.1-72.5v-46l58-18V194l-61.5 15.4c-5 4.6-11.4 7.5-18.5 7.5-6.8 0-13-2.7-17.9-6.9h-22.7l-9.4-75.5V88.52l58-28v-16.1l-61 24.85c-5 4.81-11.7 8-19 8-7.5 0-14.2-3.31-19.3-8.27zm76 100.08h8l11.2 65.5H248v.1h-7.2zm-68 16.2c-2.8 0-5.6 1.4-8.1 4.8-2.6 3.3-4.5 8.4-4.5 14.3s1.9 11 4.5 14.3c2.5 3.4 5.3 4.7 8.1 4.7s5.6-1.3 8.1-4.7c2.6-3.3 4.5-8.4 4.5-14.3s-1.9-11-4.5-14.3c-2.5-3.4-5.3-4.8-8.1-4.8zm144 .1c-2.8 0-5.6 1.4-8.1 4.8-2.6 3.3-4.5 8.4-4.5 14.3s1.9 11 4.5 14.3c2.5 3.4 5.3 4.7 8.1 4.7s5.6-1.3 8.1-4.7c2.6-3.3 4.5-8.4 4.5-14.3s-1.9-11-4.5-14.3c-2.5-3.4-5.3-4.8-8.1-4.8zm-70.6 65.6l48.6 1.7v46l-9.1 72.6h-23.1c-4.9 4.2-11 6.9-17.8 6.9-6.8 0-12.9-2.7-17.8-6.9h-23.1l-9.1-72.5v-46zm66.6 57.7h8l10.7 62.5H320v.1h-6.7zm-144 .1h8l10.7 62.5H192v-.1h-22.7zm-68 13.2c-2.8 0-5.6 1.4-8.1 4.8-2.6 3.3-4.5 8.4-4.5 14.3s1.9 11 4.5 14.3c2.5 3.4 5.3 4.8 8.1 4.8s5.6-1.4 8.1-4.8c2.6-3.3 4.5-8.4 4.5-14.3s-1.9-11-4.5-14.3c-2.5-3.4-5.3-4.8-8.1-4.8zm288 0c-2.8 0-5.6 1.4-8.1 4.8-2.6 3.3-4.5 8.4-4.5 14.3s1.9 11 4.5 14.3c2.5 3.4 5.3 4.8 8.1 4.8s5.6-1.4 8.1-4.8c2.6-3.3 4.5-8.4 4.5-14.3s-1.9-11-4.5-14.3c-2.5-3.4-5.3-4.8-8.1-4.8zm-144 .1c-2.8 0-5.6 1.4-8.1 4.7-2.6 3.3-4.5 8.5-4.5 14.4 0 5.8 1.9 11 4.5 14.3 2.5 3.3 5.3 4.7 8.1 4.7s5.6-1.4 8.1-4.7c2.6-3.3 4.5-8.5 4.5-14.3 0-5.9-1.9-11.1-4.5-14.4-2.5-3.3-5.3-4.7-8.1-4.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HumanTarget;

impl IconShape for HumanTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 24v15.2C134.4 43.81 43.81 134.4 39.2 247H24v18h15.2c4.61 112.6 95.2 203.2 207.8 207.8V488h18v-15.2c112.6-4.6 203.2-95.2 207.8-207.8H488v-18h-15.2C468.2 134.4 377.6 43.81 265 39.2V24h-18zm0 33.21V88h18V57.21C367.8 61.78 450.2 144.2 454.8 247H424v18h30.8c-4.6 102.8-87 185.2-189.8 189.8V424h-18v30.8c-102.8-4.6-185.22-87-189.79-189.8H88v-18H57.21C61.78 144.2 144.2 61.78 247 57.21zm9 52.79a64 64 0 0 0-64 64 64 64 0 0 0 38.1 58.5C172.6 280.9 161.9 349.6 176 406h160c14.1-56.4 3.3-125.2-54.1-173.6A64 64 0 0 0 320 174a64 64 0 0 0-64-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hummingbird;

impl IconShape for Hummingbird {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.7 23.52c-9.1 30.54-16.5 61.64-12.7 91.58 4.2 32.7 21 64.9 65.7 95.7-53.6 74.8-86.1 204.4-59.3 277.7 10.9-54 14.2-97.8 53.5-144.6 77.5-25.6 123.9-37.6 140.3-125.7 6.2-14.7 12.6-19.3 31.9-24.7 10.6-2.9 22.2-7.5 22.1-19.2-.2-49.3-28.3-68.4-57.6-67.9-29.4.5-60 20.6-65.4 49.8-6 1.8-11.9 4.5-17.7 8-62.9-43.7-82.1-85.86-100.8-140.68zM32.03 107c10.8 27.2 26.44 54.6 49.2 76.1 24.27 22.9 56.47 39.3 100.87 42.2-34.5-24.2-54.8-50.3-65.2-77.2-29.4-10.9-56.47-25-84.87-41.1zm300.07 26.3a12.24 12.24 0 0 1 12.2 12.2 12.24 12.24 0 0 1-12.2 12.2 12.24 12.24 0 0 1-12.2-12.2 12.24 12.24 0 0 1 12.2-12.2zm60 56.1c-3.5 5.1-7.1 10.2-16.1 13.2 33.9 25.3 79.1 76.5 104 105-11.2-33.2-55.8-88.6-87.9-118.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hungary;

impl IconShape for Hungary {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.99 284.7C64.73 325.3 79.94 391.5 158.3 401c65.1-24.1 131.3-47.5 223.9-51L468 182.4c90.6-51.1-102.4-91.48-136.1-52.5-26 30-70.5 37.1-115.9 42.7l-11.2 26.6c-91.6 8.4-82.5-17.3-102.8-33-39.26 20-70.5 77.8-81.01 118.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HunterEyes;

impl IconShape for HunterEyes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M430.8 28.36c-36.5-.71-144 71.74-134 89.74 10.6 19.2 44.3 36.9 55.1 33.2 85.4-29.4 94.7-116.16 86.5-121.11-2-1.19-4.5-1.78-7.6-1.83zm-349.64 0c-3.1 0-5.6.6-7.6 1.8-8.2 4.9 1.1 91.74 86.34 121.14 10.8 3.7 44.5-14 55.1-33.2 10-18-97.4-90.54-133.84-89.74zM36.85 193c-12 80.3 47.31 135.2 106.45 147.1 47.8 9.5 86-28.5 83.3-38.6-6.8-25.7-134.94-100-189.75-108.5zm438.25 0c-54.8 8.5-183.1 82.8-189.9 108.5-2.7 10.1 35.5 48.1 83.3 38.6 59.3-11.9 118.6-66.8 106.6-147.1zM93.16 378.8c-2.9.1-5.4.5-7.3 1.2 2.8 61.4 74.04 103.8 88.14 103.6 23.3-.3 46.1-22.4 46.5-38.5.6-23-93.4-66.9-127.34-66.3zm325.64 0c-34.1-.6-128.1 43.3-127.5 66.3.4 16.1 23.2 38.2 46.5 38.5 14.1.2 85.5-42.2 88.3-103.6-1.9-.7-4.4-1.1-7.3-1.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HuntingBolas;

impl IconShape for HuntingBolas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.3 20.23c-19.9.38-40.1 3.09-59.8 7.83C138 40.72 88.74 67.93 57.29 106.5c-19.57 24.1-24.14 54.9-22.49 85.7 1.08 20.1 4.77 40.4 9.01 59.6-4.04 33.4-.47 66.9 13.68 95.7 22.33 45.5 85.61 73 142.71 91.5 24.7 8 48.5 14.1 67.5 18.4-.1-1.5-.2-3-.2-4.6 0-4.7.6-9.2 1.6-13.5-18.1-4.2-40.3-9.9-63.3-17.4-55.6-18-114.82-47.1-132.15-82.4-3.69-7.5-6.57-15.5-8.7-23.9 10.53 17.5 24.86 31.5 41.75 42.2 26.5 16.8 59.1 25.9 94.1 30.2 59.7 7.4 126.7.7 182.2-8.1-1-4.2-1.5-8.6-1.5-13.1 0-1.7.1-3.3.2-4.9-55 8.7-121.2 15.3-178.7 8.2-33.2-4.1-63.3-12.7-86.6-27.5-23.39-14.8-40.22-35.4-48.11-65.2-2.06-8.5-4.19-17.4-6.21-26.5 1.08-8 2.63-16.1 4.64-24.1 9.93-39.5 30.79-77.4 56.88-103.2 12.7-12.5 28.9-22.9 46.8-30.7-3.4 17.2-6.2 35.5-7.2 53.9-2.5 43.6 4.6 88.1 37.7 112.5 31.7 23.5 78.1 26 120.6 15.1 42.5-10.8 82-35.2 98.8-70.9 13.7-29 7.4-63.8-8.1-94.1-15.5-30.42-40.4-57.08-68.2-70.44-26.3-12.72-56.5-18.61-87.5-18.77h-6.2zm6.1 18.02c28.7.18 56.3 5.6 79.8 16.92 22.9 11.05 46.1 35.26 59.9 62.33 13.9 27.2 18.3 56.5 8 78.4-13.4 28.4-48.4 51.2-87.1 61.1-38.7 9.9-80.2 6.5-105.5-12.1-25.5-18.8-32.6-56.1-30.3-97.1 1.2-21.1 4.8-42.7 9.3-62.28 9.3-2.86 19-5.05 28.6-6.47-1.9 8.81-3.8 18.28-5.3 28.05-3.2 20.7-5 42.7-2.8 62.7s8.3 38.5 22.7 50.3c20.4 16.6 50.9 19.5 78.9 13.8 28-5.8 54.7-20.5 64.9-45 9.9-23.7.7-49.6-14.7-71-15.4-21.25-37.6-39.01-59.1-48-18.9-7.86-39.8-11.41-61.1-11.3 3-10.75 5-17.11 6-20.23 2.6-.11 5.5-.12 7.8-.12zm-27 1.43c-1.6 5.19-3.5 11.94-5.6 20.03-9.5 1-18.9 2.7-28.2 5.04 2-7.38 4-14.29 5.9-20.56 9.3-1.98 18.6-3.5 27.9-4.51zm-48.2 9.67c-2 6.75-3.9 14.01-5.8 21.66-24.5 8.97-46.9 22.55-64.4 39.79-25.18 24.8-45.13 58.6-56.96 95.1-.56-4.9-1-9.8-1.26-14.6-1.53-28.5 2.8-54.2 18.47-73.4C96.83 86.49 137.2 62.42 181.2 49.35zm63.9 27.69c18.3 0 36 2.99 51.6 9.47 17.7 7.35 38.2 23.59 51.5 41.99 13.4 18.4 19.1 37.9 12.7 53.4-6.8 16.3-27.8 29.4-51.9 34.3-24.1 5-50 1.3-63.9-10.1-9-7.3-14.3-20.8-16.2-38.3-1.9-17.4-.4-38.2 2.7-57.9 1.8-11.68 4.1-22.53 6.4-32.62 2.4-.18 4.9-.24 7.1-.24zM448.2 329c12.9 23.3 16.5 47 12.6 69.8 10.1-7 16.7-18.7 16.7-32 0-18.3-12.4-33.5-29.3-37.8zm-20.9.4c-16.1 4.8-27.8 19.7-27.8 37.4 0 21.6 17.4 39 39 39 .8 0 1.6 0 2.3-.1 7.4-25.1 4.6-49.6-13.5-76.3zm-108.5 84.8c-18.9 2.8-33.3 18.9-33.3 38.6 0 13.4 6.7 25.2 17 32.2 13.2-23.5 22.9-45.4 16.3-70.8zm18.8 1.9c5.1 28.1-5.6 52.9-18.1 75.4 1.7.2 3.3.3 5 .3 21.6 0 39-17.4 39-39 0-17-10.8-31.4-25.9-36.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hut;

impl IconShape for Hut {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.7 24.43l-17.8 2.06 6.8 59.37-36.1-50.35-14.6 10.5 31.9 44.45h37.4zm34.9.18l-6.3 65.85h18.2l6.1-64.15zm83.6 1.58l-37 64.27h20.7l31.9-55.29zm-50.9 6.33l-10.1 57.94h18.4l9.5-54.86zM195 108.5c-5.6 4-12.5 10.3-20.1 18h162.2c-7.6-7.7-14.5-14-20.1-18zm-36.9 36c-18.1 20.5-38.5 46.4-56.8 72.2-16.85 23.8-32.22 47.6-43.25 67.2-5.51 9.8-9.94 18.6-12.89 25.6-2.83 6.7-4.02 12-4.12 13.6.14 0 .58 1.6 2.29 3.3 2.32 2.4 6.32 5.2 11.79 7.4 10.93 4.4 27.71 6.6 50.08-.4 12.8-4 24.6 1.4 36.3 6.3 11.8 5 24.2 10.4 37.5 11.7 15.7 1.7 37.3-6.3 58.3-13.8 10.5-3.8 20.9-7.3 31-8.9 10.2-1.7 20.6-1.4 29.6 4.1 10.5 6.4 22.4 12.8 33.3 15.8 11 3.1 20.2 2.9 28.2-2.5 26.7-17.8 51.3-16.8 69.6-7.3 19.8 10.3 28.4 7.2 34 2.4 5.7-4.8 8.1-15 8-17.3v-.4c0-1.4-1.2-7-4.2-14s-7.4-15.8-12.9-25.6c-11-19.6-26.4-43.4-43.2-67.2-18.3-25.8-38.7-51.7-56.8-72.2zm121 201.3c-2.3 0-4.9.2-7.9.6-7.9 1.3-17.5 4.5-27.8 8.1-20.6 7.4-43.7 17.2-66.2 14.9-17-1.8-31.2-8.3-42.6-13.1-11.5-4.8-19.7-7.1-24-5.7-1.9.6-3.8 1.1-5.6 1.6v99.3c0 4.2 2.5 8.5 9.8 13.6 7.4 5 19.1 9.9 33.5 13.7 14.7 3.9 32.2 6.9 51 8.8 1.1-21.9 5-45.4 12.2-65.2 4.3-11.7 9.6-22.1 16.8-30.1 7.1-8.1 16.7-13.8 27.7-13.8s20.6 5.7 27.7 13.8c7.2 8 12.5 18.4 16.8 30.1 7.2 19.8 11.1 43.3 12.2 65.2 18.8-1.9 36.3-4.9 51-8.8 14.4-3.8 26.1-8.7 33.5-13.7 7.3-5.1 9.8-9.4 9.8-13.6V350c-10.3-1.6-22.3.9-37.6 11.1-13.4 8.9-29 8.7-43 4.9-13.9-3.8-26.9-11.1-37.9-17.8-2.4-1.5-5.5-2.3-9.4-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HutsVillage;

impl IconShape for HutsVillage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M351.7 32.07c-17.3 13.48-28.8 31.24-31.1 48.48 3.2.79 7.1 1.59 11.7 2.09 8.3 1 18.3 1.5 28.3 1.5s20.1-.5 28.3-1.5c4.4-.5 8.2-1.2 11.3-1.89-1.5-6.13-4.5-14.42-9.2-22.61-5.5-9.49-13.1-18.83-21.6-25.96-2 1.57-4.9 3.41-8.8 3.41-4 0-6.9-1.93-8.9-3.52zM64.37 49.06C47.03 62.54 35.62 80.3 33.32 97.54c3.13.8 7.01 1.6 11.63 2.1 8.29.96 18.3 1.46 28.3 1.46s20.07-.5 28.25-1.46c4.4-.5 8.2-1.2 11.3-1.9-1.5-6.13-4.5-14.42-9.2-22.61-5.48-9.49-13.04-18.83-21.57-25.96-1.97 1.57-4.82 3.41-8.75 3.41-4.02 0-6.95-1.93-8.91-3.52zM336.6 101.2V119c.6.5 2 1.3 4.2 2.1 2.1.7 4.9 1.3 7.9 1.8 1.3-8.6 5.3-19.4 11.9-19.4 6.6 0 10.6 10.8 11.9 19.3 3-.4 5.7-1 7.9-1.7 2.2-.8 3.6-1.6 4.2-2.1v-17.8c-7.6.6-15.8.9-24 .9s-16.4-.3-24-.9zm-287.32 17V136c.57.5 1.96 1.3 4.19 2.1 2.15.7 4.89 1.3 7.91 1.8 1.33-8.6 5.32-19.4 11.9-19.4s10.58 10.8 11.9 19.3c3.01-.4 5.72-1 7.85-1.7 2.19-.8 3.59-1.6 4.19-2.1v-17.8c-7.58.6-15.76.9-23.97.9-8.21 0-16.39-.3-23.97-.9zm113.22 18.2c-22.2 16.8-36.8 39.3-39.2 61.3 4 1 9.1 2.2 15.6 2.9 10 1.2 22.1 1.8 34.1 1.8s24-.6 34-1.8c6.4-.7 11.3-1.8 15.3-2.9-1.5-7.6-5.4-18.3-11.5-28.8-6.9-11.9-16.5-23.6-27.4-32.3-.3.2-.5.5-.8.7-2.2 1.8-5.3 3.8-9.6 3.8s-7.4-2-9.6-3.8zm-19.9 82.7v24c0 .1 0 0 .3.2.8.7 2.9 2 5.9 3 2.7.9 6 1.6 9.8 2.2 1.2-10.5 6.1-24.7 14.4-24.7s13.2 14.2 14.4 24.7c3.8-.6 7.1-1.3 9.8-2.2 3-1 5.1-2.3 5.9-3 .3-.2.3-.1.3-.2v-24c-9.5.9-19.9 1.3-30.4 1.3-10.4 0-20.9-.4-30.4-1.3zm249.6.7c-35.4 25.6-58.7 61.2-61.1 96.2 6.1 1.9 15.5 3.9 26.4 5.1 14.6 1.8 32.1 2.6 49.6 2.6s35-.8 49.6-2.6c10.6-1.2 19.8-3.1 26-5-1.6-11.8-7.5-29.1-17.6-46.5-10.7-18.4-25.7-36.7-43-49.8-1.2 1-2.5 2.4-3.6 3.4-2.9 2.3-6.6 4.6-11.4 4.6-4.8 0-8.5-2.3-11.4-4.6-1.1-.9-2.4-2.3-3.5-3.4zM99.22 286.2c-40.72 29.1-67.49 70.2-69.95 110.4 7.08 2.3 18.01 4.6 30.81 6.1 16.52 1.9 36.24 2.9 55.92 2.9 19.7 0 39.4-1 55.9-2.9 12.7-1.5 23.6-3.8 30.7-6.1-1.8-13.5-8.8-33.6-20.4-53.5-12.2-21-29.4-42-49.4-56.9-1.5 1.5-3.2 3.3-4.7 4.4-3.2 2.6-7.1 5-12.1 5s-8.9-2.4-12.1-5c-1.5-1.1-3.2-3-4.68-4.4zm259.98 53.2V379c0 .6 0 1 1.8 2.5 1.7 1.5 5.2 3.5 9.8 5 4.3 1.4 9.5 2.6 15.1 3.4 1-15 8.1-39.4 21.2-39.4s20.2 24.4 21.2 39.4c5.6-.8 10.8-2 15.1-3.4 4.6-1.5 8.1-3.5 9.8-5 1.8-1.5 1.8-1.9 1.8-2.5v-39.6c-14.7 1.6-31.2 2.3-47.9 2.3s-33.2-.7-47.9-2.3zM61.03 420.8v45.8c0 1 .19 1.8 2.36 3.7 2.15 1.8 6.19 4 11.48 5.8 4.88 1.6 10.8 2.9 17.25 3.8.8-16.6 8.68-45.3 23.88-45.3s23.1 28.7 23.9 45.3c6.5-.9 12.4-2.2 17.3-3.8 5.2-1.8 9.3-4 11.4-5.8 2.2-1.9 2.4-2.7 2.4-3.7v-45.8c-16.8 1.9-35.9 2.8-55 2.8-19.08 0-38.21-.9-54.97-2.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IBeam;

impl IconShape for IBeam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M39.557 19L323.44 273h149.003L188.56 19H39.558zM25 30.13v25.847L311 311.87V286.024L25 30.13zm64 107.263v34.584L375 427.87v-84.843l-64-13.002L89 137.393zM77.555 185.89l-42.9 10.723 287.79 257.498 42.9-10.723L77.556 185.89zM25 212.13v23.847L311 491.87v-23.847L25 212.13zM329 291v21.973l64 16v126.054l-64 16V493h158v-21.973l-64-16V328.973l64-16V291H329zm112 135.865v14.108l21.88 5.47L441 426.865z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IBrick;

impl IconShape for IBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 26a9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96A9.5 9.5 0 0 0 304 26h-96zm9.5 19h77v77h-77V45zm0 115h77v77h-77v-77zm0 115h77v77h-77v-77zm0 115h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ibis;

impl IconShape for Ibis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M338.5 30.72c-20.8-.19-31.3 17.85-29.7 43.43 1.3 20.21 18.9 45.45 26.4 70.35 3.7 12.3-8.1 20-18.2 18.9-98.7-10.7-140.9 35-194.9 70.7-81.68 23.9-110.5 141.6-14.3 72.3 36.6 10.7 64.6 3.1 96-.6 5.4 11.5 12.7 29.7 24.4 29.4 7.8.4 17.1-16.1 20.7-27.8 42.8-15.2 75.2-62.1 105.7-101.8 12.5-16.3 22.3-34.3 19.4-59.4-1.4-12-13.7-36.2-22.3-56.82-5.4-13 10.8-9.45 19.5-8.17l6.6-24.51c-5.3-16.62-18-23.64-35-25.69-1.5-.18-2.9-.27-4.3-.29zm52 33.88l-6 22.05c31.1 9.07 72.3 72.45 80.2 82.65-2.3-24.7-24.7-68.2-74.2-104.7zM194.7 325.2c-2.2.7-4.3 1.2-6.4 1.6-6.2 12.4-12.6 27-15 40.3-2.7 15.3-1.1 36.9.8 55.7 1.1 10.7 2.4 19.9 3.3 26.3-10.1 3.7-18.6 8.2-27.8 14l9.8 15.2c18.9-12.9 35.3-11.2 45.9 3 29.7-22.2 52.1-10.3 81.7 0l6-17c-18.4-5.2-36.5-13-55.6-13.8-1.1-4.8-2.3-10.3-3.6-16.5-3.4-16.6-6.8-36.4-6.9-46.5-.1-10.5 2-25 4.3-37-1.6.2-3.2.3-4.8.2-4.8-.3-9.1-1.8-12.9-4.1-2.4 12.5-4.7 28.2-4.6 41.1.2 13.5 3.8 33 7.3 49.9 1.2 5.8 2.4 11 3.4 15.7-3.5 1.2-6.7 2.5-9.7 4 0-.1-.1-.1-.2-.2-3.8-2.9-8.4-6.3-14.1-8.2-.9-5.8-2.4-15.9-3.6-27.9-1.8-18.2-2.9-40.1-.9-50.7 1.6-9 6.6-21.4 11.9-32.5-3.3-3.7-6.1-8.1-8.3-12.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icarus;

impl IconShape for Icarus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M302.4 16l-86.31 19.338 154.303.508c-23.036 14.658-42.405 26.662-42.405 26.662l72.971-15.494-106.158 74.888 108.23-42.664c-26.617 38.024-66.965 98.803-66.965 98.803l93.135-93.73-37.039 129.697 72.49-101.764-8.84 42.97 24.393-35.946.51 144.587L496 194.525V16H302.4zm-48.64 42.293c-45.38 14.758-78.855 73.772-87.635 123.473-2.227 12.608-.143 25.4 3.879 37.95 6.236 4.847 11.868 10.48 15.832 17.346 14.103-8.238 27.262-16.72 37.768-26.447.21-10.789 1.005-22.01 2.275-33.388-5.121 6.429-9.29 13.13-14.697 19.478 1.67-16.455 5.557-27.424 13.084-38.539l-22.545 10.73c7.886-17.055 18.37-29.314 30.838-39.171-10.797 3.067-20.605 8.771-30.946 13.052 9.58-19.93 23.921-30.338 38.432-40.406 4.204-16.017 8.897-31.028 13.715-44.078zm35.66 126.334l-22.522.709-39.8 44.264-37.713 25.699.138.017a679.22 679.22 0 0 0-12.011.914c-1.793-9.724-8.403-19.86-17.908-27.464-17.01-13.597-38.213-15.324-47.358-3.858-9.146 11.466-2.77 31.783 14.24 45.381 10.738 8.566 23.695 12.746 34.203 11.031-30.645 33.666-26.294 65.218-29.359 109.518l21.49-.803c-3.118-33.882.277-53.678 14.743-81.672 5.324-5.143 10.863-9.893 16.644-14.156 51.185 19.768 47.438 26.427 71.063 78.158l-30.643 38.569-8.4 36.52 13.982 4.317 16.227-33.095c3.219-6.566 34.38-42.514 34.625-47.746-3.829-20.89-12.152-32.555-21.055-54.55l39.103 46.487c-4.567 19.966-5.499 42.743-9.773 56.881l8.135 31.547 19.716-5.38-8.787-30.32c12.776-21.065 15.275-40.373 15.36-63.714-28.884-39.892-55.997-88.098-96.14-93.781-.072-.313-.143-.627-.212-.942l26.13-21.785 35.882-50.746zM122.578 287.049c-7.988 2.306-15.02 5.596-20.08 10.213-50.032 45.65-56.446 152.635-44.68 198.21 6.204-11.83 12.511-25.025 19.075-38.888-2.228-18.17-2.482-36.92 2.24-57.135 1.136 11.92 2.746 23.641 9.021 33.444.233-.486.464-.97.698-1.455-2.113-17.38.353-38.04 9.316-56.711-1.75 11.64.502 21.612 3.107 31.437a718.174 718.174 0 0 1 13.028-24.52c-.081-16.2 1.957-36.697 7.113-57.306 2.703-10.802 6.242-21.646 10.895-31.826-3.438-1.649-6.688-3.522-9.733-5.463z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceCreamCone;

impl IconShape for IceCreamCone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-27.517 0-50.167 19.982-54.314 46.293C203.77 71.113 205.87 71 208 71c18.356 0 35.153 6.846 48 18.1C268.85 77.848 285.645 71 304 71c2.13 0 4.23.113 6.314.293C306.167 44.983 283.517 25 256 25zm-48 64c-30.482 0-55 24.518-55 55 0 15.277 6.16 29.055 16.14 39h73.225C235.183 171.704 231 158.33 231 144c0-15.433 4.844-29.762 13.07-41.574C234.428 94.06 221.833 89 208 89zm96 0c-30.482 0-55 24.518-55 55 0 15.277 6.16 29.055 16.14 39h77.72c9.98-9.945 16.14-23.723 16.14-39 0-30.482-24.518-55-55-55zm-92.912 112L256 217.332 300.912 201h-89.824zm-37.315 5.586l10.995 36.648 44.894-16.324-55.89-20.324zm164.454 0l-55.89 20.322 44.895 16.326 10.995-36.648zM256 236.486l-55.96 20.35 55.96 24.87 55.96-24.87-55.96-20.35zm-62.055 37.338l9.387 31.29 30.508-13.56-39.895-17.73zm124.11 0l-39.895 17.73 30.508 13.56 9.387-31.29zM256 301.404l-42.916 19.075L256 341.936l42.916-21.458L256 301.403zm-41.863 39.727l5.67 18.903L235.873 352l-21.736-10.87zm83.726 0L276.127 352l16.066 8.033 5.67-18.902zM256 362.064l-30.943 15.472 4.564 15.213 26.38 13.19 26.38-13.19 4.563-15.213L256 362.062zm0 64l-14.248 7.123L256 480.678l14.248-47.492L256 426.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceCreamScoop;

impl IconShape for IceCreamScoop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M78.7 38.33h-1.58c-2.8.11-5.57.5-8.32 1.12-10.98 2.52-21.36 9.11-28.68 17.26-7.32 8.14-11.31 17.67-11.17 24.98.14 7.31 2.92 13.01 13.47 17.77C149.1 147.6 219.6 233.1 279.7 310.8c6.5-14.2 14.7-27.2 24.8-37.8 1.2-1.3 2.4-2.5 3.7-3.7-57.2-84.6-119-165.5-205.4-223.34-8.14-5.42-16.2-7.65-24.1-7.63zM360.1 264.2c-10.1.4-19.5 3.6-28.1 9.1-9.4 54.4.7 95.7 24.4 123.5 23.6 27.7 61.6 42.7 111.4 41.7 6.5-8.3 11.5-18.2 14.3-29.7 2-8.4.8-11.3-2-14.4-2.8-3.2-9-6.4-17.4-9.4-16.8-5.9-41.6-10.9-60.4-28.6v-.1c-17-16-20.1-41.6-24.7-61.8-2.3-10-4.8-18.9-7.8-24-3-5.1-4.6-6.5-9.7-6.3zm-48.8 28.6c-9.3 12-16.8 27-22 43.2-12.5 39.3-9.8 84.4 9 106.3 19.1 22.3 61.1 35 100.2 30.5 18.3-2.1 35.6-7.5 49.8-16.8-44.6-2.9-81.3-19.1-105.6-47.5-24.1-28.3-35.3-67.9-31.4-115.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceCubes;

impl IconShape for IceCubes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M90.01 41l46.09 452h239.8L422 41zM142 62.04l112.5 18.29-3.9 24.17 104.2-21.92 7.7 36.42H394l-33.9 354H151.9L119 128.9l-1-9.9h14.7l7.8-48.07zm14.8 20.66l-12.5 77 77.1 12.5 12.5-76.99zm184 21.2L264.6 120l16 76.2 76.3-16zM219.5 242.6l-36.7 68.6 68.8 36.8 36.7-68.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceGolem;

impl IconShape for IceGolem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64.086 26.254c-6.237 39.87-10.003 32.572-38.703 36.922 26.282 3.712 39.417 8.81 38.193 37.176 2.659-19.972.836-30.862 36.156-36.666-15.822-6.064-33.712 4.317-35.646-37.432zm171.064.41L204.6 74.125l20.066 14.436 35.813-1.82 22.677-15.118-25.306-43.582-22.7-1.377zm58.313 26.863l34.135 58.787-3.514 4.756c-8.857 11.988-15.901 23.926-26.307 34.877l26.118 38.395-4.485-31.547 42.602-93.592-68.55-11.676zm-102.906 9.159l-56.166 16.63 10.02 19.877-18.005 28.631 31.244-2.363 16.258 32.252 5.51 83.332 34.289 33 14.793-60.986 46.986 66.673 55.434-39.97-1.518-10.672-.629.428-44.134-64.881-7.352 74.902-80.46-78.674.273-.281a85.007 85.007 0 0 1-6.385-8.314c-10.292-15.21-16.606-32.339-23.592-43.815l-2.93-4.812 26.364-40.957zm182.916 20.789l-27.828 61.136 31.628 21.692 31.745 93.63c-14.946-3.888-30.64 2.536-32.446-36.415-6.236 39.87-10.003 32.57-38.703 36.92 26.282 3.712 39.42 8.81 38.195 37.175 2.589-19.446.944-30.28 33.457-36.195l7.372 21.74 7.736-70.28 46.723 27.222-24.922-83.52-31.106 7.588-4.265-17.488 58.337-14.227c-7.958-4.17-10.582-5.507-21.425-11.27-10.758-5.716-21.643-11.558-30.147-16.253-4.252-2.348-7.9-4.404-10.703-6.053-.857-.505-1.495-.91-2.2-1.344l-31.448-14.058zm-81.262 3.744l-23.477 15.65v10.342h-18v-7.953l-16.56.842.754 8.283L217 116.012l-1.049-11.547-21.107-15.184-9.56 14.854c7.03 12.719 12.763 26.851 20.34 38.049 8.34 12.328 17.659 20.674 34.343 21.978 21.412-5.759 33.462-13.368 42.847-22.656 8.386-8.3 15.088-18.692 23.342-30.272L292.211 87.22zm-171.633 4.687L72.611 106.41l-3.324 38.537 13.43 8.631c-48.664 60.418-1.867.866-47.516 60.793l75.274-56.168 9.484 15.299L63.822 208.3l-5.527 64.074 41.072-28.842 11.117 25.617 31.87-102.539 10.503-10.666-5.859-11.627-54.834 4.149 31.596-50.25-3.182-6.31zm123.963 30.412c1.995.03 3.956.157 5.863.368 13.566 1.499 24.743 5.851 31.79 13.085l-12.895 12.56c-1.294-1.33-11.018-6.666-20.871-7.755-9.853-1.089-19.496.729-26.295 8.057l-13.196-12.242c8.706-9.383 20.047-13.244 30.897-13.955a58.083 58.083 0 0 1 4.707-.118zm21.063 51.987c-6.368 2.817-13.521 5.33-21.64 7.478l19.075 18.65 2.565-26.128zM439.49 242.37l-8.05 73.15c.82-.779 1.713-1.807 2.726-3.195 4.278-5.86 9.527-17.238 18.947-30.896l3.041-4.409 5.325.569c7.072.756 12.796 2.553 17.478 4.494l-10-22.545-29.467-17.168zM238.46 258.437l-2.494.204-12.156 50.109-24.1-23.193 26.346 42.152 41.062-19.115 15.66 27.707 44.032-9.846 6.101-37.865-3.775-25.35-57.881 41.737-32.795-46.54zm-146.662 12.87l-.93.19-41.486 29.132-5.75 22.115 38.984-22.586 25.756 23.113.512-12.597-17.086-39.367zm82.078 6.879l-45.77 107.558 9.182 41.313 17.697-53.094 16.582 47.125 10.842-13.99 7.696-19.975c38.884 7.55 31.602 11.181 34.92 39.856 4.635-26.136 10.192-39.084 38.497-36.862-19.866-3.36-30.814-1.923-35.37-37.426-6.58 15.513 2.999 33.633-37.993 34.29l19.72-51.19-36.003-57.605zm176.457 15.433l-7.691 47.74-39.034 8.729 32.791 19.484 5.99 49.994 22.903-34.087 29.022 44.11 7.892-66.1-51.873-69.87zm99.283 12.774c-6.236 39.87-10.003 32.57-38.703 36.92 26.282 3.712 39.417 8.81 38.193 37.175 2.659-19.972.838-30.861 36.159-36.666-15.823-6.063-33.714 4.32-35.649-37.43zm-84.48 111.597l-24.555 36.547-2.822 33.858 127.039 1.876 19.959-44.076-35.29 19.82-11.573-21.216-14.118 12.605-14.498-1.318-2.931 24.545-41.211-62.64zm-173.678 6.819l-25.904 33.421-10.108-28.724-20.05 60.15h57.01c-2.998-20.407-2.653-42.363-.948-64.847zm-111.969 4.84l-12.275 60.007h65.545l-7.776-34.988-23.048 10.477-22.446-35.497z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceIris;

impl IconShape for IceIris {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.81 26.88l-17.3 5 8.68 30.08-29.36-7.26-4.32 17.48 31.51 7.8-22.53 23.42 12.97 12.4 20.98-21.78 8.68 30.08 17.3-5-9.28-32.16 33.56 8.3 4.4-17.48-31.49-7.79 22.49-23.35-12.98-12.48L72.11 59.1l-9.3-32.22zM312.1 38.05l-2.7 14.31-10.5-9.02L287.1 57l11.6 9.92-14.4 5.06 6 16.98 13.2-4.64-2.7 14.33 17.6 3.25 2.9-15.59 12.6 10.79 11.8-13.66-11.6-9.92 14.4-5.06-6-16.98-15.7 5.54 2.9-15.67-17.6-3.3zm143.6 63.05l-6.3 20.5-14-15.1-13.2 12.2 15.2 16.4-21.8 5 4 17.6 20.2-4.6-6.3 20.5 17.2 5.2 6.8-22.2 16.4 17.7 13.2-12.2-15.3-16.4 21.8-5-4-17.6-23.5 5.4 6.8-22.2-17.2-5.2zM256 137c-45.5 0-83.6 18.9-123.1 44.5-35.3 23-71.35 51.2-113.68 74.5 42.33 23.3 78.38 51.5 113.68 74.5C172.4 356.1 210.5 375 256 375s83.6-18.9 123.1-44.5c35.3-23 71.4-51.2 113.7-74.5-42.3-23.3-78.4-51.5-113.7-74.5C339.6 155.9 301.5 137 256 137zm0 14c57.9 0 105 47.1 105 105s-47.1 105-105 105-105-47.1-105-105 47.1-105 105-105zm0 19.4l-29.3 16.9 17.1 29.6c3.9-1.2 8-1.9 12.2-1.9 4.2 0 8.3.7 12.2 1.9l17.1-29.6-29.3-16.9zm-44.9 25.9l-29.2 16.9V247H216c1.9-8.2 6.2-15.5 12.2-21.1l-17.1-29.6zm89.8 0l-17.1 29.6c6 5.6 10.3 12.9 12.2 21.1h34.1v-33.8l-29.2-16.9zM256 233c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-74.1 32v33.8l29.2 16.9 17.1-29.6c-6-5.6-10.3-12.9-12.2-21.1h-34.1zm114.1 0c-1.9 8.2-6.2 15.5-12.2 21.1l17.1 29.6 29.2-16.9V265H296zm-52.2 30.1l-17.1 29.6 29.3 16.9 29.3-16.9-17.1-29.6c-3.9 1.2-8 1.9-12.2 1.9-4.2 0-8.3-.7-12.2-1.9zM75.68 339.4v21.4l-17.8-10.3-9 15.6 19.31 11.1-19.31 11.2 9 15.6 17.8-10.3v21.4h18V392l20.82 12 9-15.6-19.3-11.2 19.3-11.1-9-15.6-20.82 12v-23.1h-18zm344.62 35.5l-2.3 15.4-11.6-9.3-11.2 14 12.6 10.1-15.1 5.9 6.6 16.8 13.7-5.3-2.3 15.3 17.8 2.8 2.6-16.9 13.8 11.1 11.2-14-12.6-10.1 15.1-5.9L452 388l-16.4 6.4 2.5-16.7-17.8-2.8zm-201 27.7l-8.6 26.2-17.7-19.7-13.4 12 19.1 21.3-27.9 5.8 3.6 17.6 26-5.4-8.6 26.1 17.2 5.6 9.2-28 20.4 22.7 13.4-12-19.1-21.2 28-5.9-3.6-17.6-30 6.3 9.2-28.2-17.2-5.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IcePop;

impl IconShape for IcePop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16.5c-18.8 0-37.597 3.918-50.766 10.94C192.066 34.465 185 43.25 185 55.5v239.582c0 5.285 2.807 11.398 7.406 16.014 4.6 4.616 10.67 7.404 15.836 7.404h95.516c5.165 0 11.246-2.793 15.847-7.395 4.602-4.6 7.395-10.682 7.395-15.847V55.5c0-12.25-7.066-21.036-20.234-28.06C293.598 20.42 274.8 16.5 256 16.5zm-24 320v135c0 32 48 32 48 0v-135h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceSkate;

impl IconShape for IceSkate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.324 68.363c-7.897-.008-18.625 1.148-30.383 3.026.947 13.753 3.72 31.677 8.79 50.963.071.272.151.55.224.824 9.284-8.051 20.64-23.922 29.13-38.297 2.275-3.85 4.372-7.598 6.233-11.074-.189-.565-.377-1.154-.566-1.713-.687-2.61-5.714-3.72-13.428-3.729zm-48.332 6.285c-33.842 6.831-68.944 17.554-68.875 23.43l-13.344 73.576c-14.505 24.84-27.42 49.036-34.414 78.83-1.033 4.4-1.626 8.425-1.865 12.145 144.022 47.582 296.814 96.714 413.375 62.23-.96-17.766-9.296-27.683-34.44-35.445-48.697 18.913-90.542 18.564-125.033 5.525-35.807-13.536-63.28-40.26-83.75-71.029s-34.109-65.721-42.326-96.982c-5.124-19.497-8.196-37.386-9.328-52.28zm69.711 22.518c-6.802 11.27-14.764 23.09-23.572 32.514 11.604 5.406 24.461 9.168 37.656 11.699-5.28-15.243-9.803-30.22-14.084-44.213zm-36.723 46.168c6.039 18.18 13.945 36.936 23.872 54.594l3.84-2.399c15.456-9.648 22.076-20.925 29.59-34.933-19.613-2.867-39.489-7.94-57.302-17.262zm66.47 37.37c-4.5 7.208-9.783 14.226-16.946 20.71 11.305 4.74 22.035 7.173 32.642 8.275-5.869-9.26-11.05-19.005-15.697-28.986zm-32.804 33.255c11.978 18 26.247 34.073 42.99 46.465l.034-.055c5.532-9.493 9.97-21.9 11.451-32.361-17.158-.932-35.294-4.436-54.475-14.049zm71.04 24.678c-1.51 6.518-3.758 12.955-6.456 19.029 10.143 1.139 20.57 1.534 31.065 1.397-9.099-5.942-17.256-12.824-24.61-20.426zm59.072 36.572c-19.175 1.933-39.22 2.813-58.973 1.303 1.315.549 2.636 1.084 3.975 1.59 23.69 8.955 51.352 11.366 84.12 3.435a715.936 715.936 0 0 0-8.913-1.555 153.635 153.635 0 0 1-20.21-4.773zm-314.916 6.5c-4.335 33.384-3.237 90.271 14.46 91.713 51.545 4.199 117.649 22.258 104.292-33.027 201.263 85.267 283.637 33.1 294.039 3.261-122.19 33.614-272.5-15.545-412.791-61.947zm413.375 88.574c-7.52 6.62-16.172 12.13-25.073 16.754.887 8.495-1.844 16.561-6.802 22.297-9.947 11.508-26.105 15.022-41.99 14.848-15.886-.175-32.119-4.203-43.4-13.942a34.782 34.782 0 0 1-5.66-6.199 543.52 543.52 0 0 1-12.202-1.459c-8.85-1.158-18.012-2.541-26.602-3.957-3.825 8.4-9.775 15.045-17.283 19.57-16.641 10.03-38.4 11.039-60.121 7.975-21.722-3.064-43.585-10.495-60.656-20.04-6.087-3.402-11.555-7.068-16.227-11.052-12.031 1.438-24.82 1.504-37.36.727a263.553 263.553 0 0 1-20.534-2.078c.024 5.694-1.398 11.668-5.475 16.445-5.187 6.077-12.915 9.36-23.35 11.678-10.434 2.318-24.06 3.649-42.478 4.341 2.355-.088-.328.288-2.445 2.483-2.117 2.195-4.266 5.487-5.227 8.115-.96 2.628-.579 3.833-.578 3.834 0 .001.588 1.261 6.119 1.611l430.674 1.403c17.948-.656 25.67-5.495 29.031-10.473 3.365-4.985 3.614-12.446.86-21.434l-.04-.13-.037-.133c-4.12-15.061-7.385-28.615-13.144-41.184z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceSpellCast;

impl IconShape for IceSpellCast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377.305 19.355l-5.21 20.52-15.165-14.771-12.56 12.894 15.165 14.772-20.375 5.748 4.889 17.324 20.375-5.748-5.21 20.52 17.446 4.429 5.211-20.52 15.166 14.772L409.596 76.4l-15.168-14.773 20.377-5.748-4.887-17.322-20.375 5.748 5.209-20.52zm-171.918 56.41c-28.067-.116-49.927 56.533-57.727 90.608-11.26 49.19-14.529 83.515-.828 133.059l-17.348 4.798c-15.463-55.917-8.245-94.75 2.301-142.341 10.547-47.592 14.52-70.403-4.459-74.182C85.244 79.328 82.04 178.17 79.57 222.604c-1.396 25.808.71 57.017 6.54 77.552l-16.901 6.196c-14.43-53.35-6.657-97.957-1.693-150.77 2.493-15.582-1.787-25.677-19.102-25.166-15.833.467-27.015 143.362-13.275 179.041 8.713 53.061 31.247 130.572 10.955 152.766L18 494h205.973l19.986-28.592c23.08-5.008 28.42-19.86 37.023-33.787 25.291-40.946 82.384-83.166 129.114-99.226 21.142-7.51-21.912-48.546-53.836-32.782-55.005 27.162-81.646 56.298-117.772 38.295-55.855-27.834-47.245-100.648-35.861-162.83 6.141-33.544 40.41-89.602 7.156-98.824a21.158 21.158 0 0 0-4.396-.488zm90.718 24.835l-30.718 29.39 23.394 25.104c-4.628 3.41-8.617 7.736-11.758 12.75l-24.132-25.899-23.29 22.285 7.204 38.215 32.65-7.19c.093 6.211 1.284 12.244 3.336 17.636l-32.662 7.191 7.203 38.215 29.5 10.66 12.846-34.066c4.69 3.307 9.918 5.625 15.406 6.832l-12.426 32.953 38.91 14.058 30.72-29.392-23.395-25.104c4.628-3.41 8.617-7.735 11.757-12.748l24.133 25.897 23.291-22.283-7.203-38.215-32.652 7.19c-.094-6.211-1.283-12.244-3.334-17.636l32.66-7.193-7.203-38.215-29.5-10.66-12.846 34.068c-4.69-3.307-9.918-5.626-15.406-6.834l12.426-32.95zm147.538 49.86l-16.813 6.43 7.563 19.774-20.909-3.338-2.838 17.776 20.907 3.337-13.344 16.438 13.975 11.344 13.343-16.438 7.563 19.776 16.812-6.43-7.56-19.774 20.904 3.338 2.838-17.775-20.904-3.338 13.341-16.435-13.972-11.346-13.344 16.435zm-135.715 12.85l28.078 10.147 5.91 31.356-22.168 21.208-28.078-10.144-5.912-31.356z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Iceberg;

impl IconShape for Iceberg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.28 29.19l-12.523 80.56 8.06 55.25h165.347l-8.61-97.642-35.503 19.42 5.786 51.58L411.94 83.1l-38.042-40.565zM121 43.144v84.408h28.246c-5.08-29.13-12.29-58.546-28.246-84.407zm135.28 58.695l-16 61.808-.243 1.354h53.313l-12.674-45.357zM61.362 145.55l8.7 21.45h85.648l17.4-21.45zM18 183v18h476v-18zm212.39 36l-6.11 34.19 7.308 39.683-39.31 64.613 16 71.705 32-16 14.656-22.713 3.584-13.707-7.264-53.698 24.447 49.52-3.528 51.95 16.107 36.65L336 489.68l19.69-31.145 4.47-41.22 13.32 54.576 37.813-9.452-6.934-167.79 14.988 99.475 28.93-28.932 23.507-144-.258-2.19h-73.912l1.44 6.71-23.49 101.577 7.693-96.355L372.252 219zm50.807 10.096l23.34 17.877 4.967 17.382-9.436 44.2-5.463-49.662z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Iceland;

impl IconShape for Iceland {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152 238.5l19.7-60 19.3 21.6 7.4-72.4 50.8 51.4-18.6-43.5 65.5-11.9 22.7 23.8c21.4-17.4 32.1-31.6 40.1-59.39l39.5-6.82 4 30.61 91.1 84.8c-5.3 49.1-9.1 98.8-58.3 133.4L311.5 390 282 430.7c-59.5-1.5-97.8-25.2-128.9-56.6H71.68l-7.91-26 52.53-8.4-30.48-67.9H19.11l3.38-19.8 100.61-3.9-26.44-18.9c-.93-4.3 22.84-18.7 21.54-22.2-11-28.2-49.42-13.5-99.66-5.3 6.51-34.3 32.09-81 65.01-113.06 30.65 15.26 47.05 36.86 68.95 55.96-9.4 36-5 57.8-.5 93.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icon3dGlasses;

impl IconShape for Icon3dGlasses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176 80L39.36 247h77.74L176 144l32 48v-48l-32-64zm160 0l-32 64v48l32-48 58.9 103h77.7L336 80zM25 265v174h194.2l36.8-55.2 36.8 55.2H487V265H25zm23 23h176v64l-32 64H48V288zm240 0h176v128H320l-32-64v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icon3dHammer;

impl IconShape for Icon3dHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M307.3 84.2l-88.8 59.7 156.6 94.9 88.1-60.1zM215 163l11.5 53.1 12.5 7.5 18.6-13.3c6.8-4.9 14.6-6.8 22.2-6.6.9 0 1.8.1 2.7.1zm259.3 29.9l-88.7 60.5 14.9 59.3 89.2-58.9zm-196.4 28.7c-3.6.1-6.9 1.2-9.9 3.3L23.55 400c-.81.6-1.69 2.1-1.08 6.1.61 4.1 3.09 9.4 6.96 13.6 3.86 4.2 8.84 7.2 14.63 7.9 5.79.7 12.8-.6 21.62-6.7L305.3 252.5v-.1c4.5-3.1 4.8-5 4.2-8.5-.6-3.5-3.6-8.7-8.4-13-4.8-4.2-11.3-7.6-17.3-8.8-1.5-.3-2.9-.5-4.3-.5h-1.6zm44 6.1c2.6 4 4.5 8.4 5.3 13.2 1.6 9.2-2.4 19.9-11.5 26.2v.1l-1.7 1.2 66.9 40-13.3-53.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icon3dMeeple;

impl IconShape for Icon3dMeeple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.215 39.565c-48.32 6.48-43.031 58.948-42.874 75.82l93.895 13.622c1.004-35.647 5.621-59.868 13.545-76.27 2.186-4.523 4.704-8.455 7.469-11.836zm107.012 2.48c-1.17.023-2.36.098-3.57.226-8.898.937-15.873 4.232-22.669 18.296-6.795 14.065-11.916 39.331-12.095 80.59l-.026 5.95-5.484 2.306c-50.104 21.083-82.1 39.796-100.16 55.334-18.06 15.538-21.362 26.305-19.541 34.088 1.82 7.783 10.734 16.375 25.353 23.44 14.62 7.064 33.96 12.409 52.951 15.634l11.293 1.918-83.045 192.608 120.118-32.106 51.136-112.484 51.045 86.37 113.43-30.929-86.887-142.223 10.647-3.617c15.087-5.126 32.096-12.698 45.673-21.45 13.578-8.753 23.156-18.91 25.407-26.64 1.125-3.864.992-7.055-1.028-11.146-2.02-4.09-6.362-9.116-14.296-14.488-15.869-10.744-45.623-22.39-93.485-32.809l-6.672-1.453-.398-6.816c-.762-13.052-6.589-35.803-17.293-53.27-9.366-15.284-21.176-26.136-36.961-27.242a38.595 38.595 0 0 0-3.443-.086zm-170.685 87.41c-79.404 44.697-85.83 54.663-86.757 71.6-2.209 40.397 42.597 46.791 89.698 59.957-6.026-5.765-11.447-10.033-13.329-18.075-3.82-16.327 4.783-34.158 25.328-51.834 17.067-14.684 43.279-30.404 80.907-47.62zM93.291 271.788c-22.445 48.26-38.283 103.023-59.254 153.977l87.723 43.328 17.77-35.852 57.154-132.556zm222.283 94.963l-15.752 34.648 43.543 12.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icon3dStairs;

impl IconShape for Icon3dStairs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.944 61.815l-98.26 24.566 147.158 66.891 98.263-24.566zM209.787 97.687v43.488l155.355 70.617v-43.489zM491 142.475l-108.159 27.04v62.929c-20.977 5.241-41.953 10.488-62.929 15.732v62.929c-20.977 5.241-41.953 10.488-62.929 15.732v62.93c-20.977 5.24-41.952 10.487-62.929 15.731v44.687L491 375.947zm-290.914 13.733l-35.332 8.834 147.16 66.891 35.334-8.834zm-53.228 20.14v43.488l155.355 70.617v-43.489zm-9.7 58.521l-35.333 8.834 147.16 66.891 35.334-8.834zm-53.23 20.14v43.488l155.357 70.617v-43.489zm-9.7 58.522l-35.331 8.834 147.159 66.89 35.334-8.834zM21 333.67v43.487l155.356 70.617v-43.488z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IdCard;

impl IconShape for IdCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50 96c-9.972 0-18 8.028-18 18v300c0 9.972 8.028 18 18 18h412c9.972 0 18-8.028 18-18V114c0-9.972-8.028-18-18-18H50zm5 23h402v18H55v-18zm0 32h210v258H55V151zm18 18v222h7.03c.47-24.342 18.315-74.172 47.093-97.889C136.331 300.56 147.615 305 160 305c12.385 0 23.669-4.44 32.877-11.889C221.655 316.828 239.5 366.658 239.97 391H247V169H73zm222 14h146v18H295v-18zm-135 10c20.835 0 39 20.241 39 47s-18.165 47-39 47-39-20.241-39-47 18.165-47 39-47zm135 22h114v18H295v-18zm0 32h50v18h-50v-18zm80 0h66v18h-66v-18zm-16 96h98v18h-98v-18zm-32 32h130v18H327v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Idea;

impl IconShape for Idea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.016 17.172c-103.018 0-188.532 105.858-188.532 238.812 0 55.877 15.122 106.973 40.282 147.438 96.796 34.218 203.558 38.207 295.187 2.062 25.932-40.785 41.563-92.667 41.563-149.5 0-132.953-85.483-238.81-188.498-238.812zm1.752 18.75c80.747 0 146.03 65.252 146.03 146s-65.283 146.03-146.03 146.03c-80.75 0-146-65.282-146-146.03s65.25-146 146-146zm.484 25.562c-42.402 0-76.92 28.05-76.92 70.264 0 23.897 8.254 35.09 17.447 49.672 6.13 9.725 12.446 20.9 15.988 36.953h86.46c3.524-16.437 9.903-27.82 16.086-37.64 9.207-14.622 17.448-25.615 17.448-48.983 0-42.242-34.107-70.264-76.51-70.264zm-40.87 176.555v30.368h81.33v-30.37zm11.18 48.976v18h58.97v-18zm-57.36 47.218c18.365 0 33.157 14.84 33.157 33.5s-14.793 33.532-33.157 33.532c-18.364 0-33.125-14.872-33.125-33.532 0-18.66 14.76-33.5 33.123-33.5zm165.292.307c18.26 0 33.06 14.803 33.06 33.062 0 18.26-14.8 33.062-33.06 33.062s-33.06-14.803-33.06-33.062c0-18.26 14.8-33.06 33.06-33.06zm-208.447 96.694c11.517 13.484 24.36 25.148 38.22 34.688l-7.095-26.375c-10.68-2.355-21.077-5.124-31.125-8.313zm254.594 1.532a361.784 361.784 0 0 1-27.406 7.062l-6.437 23.97c12.174-8.753 23.526-19.176 33.844-31.03zm-203.03 10.75l9.593 35.78c11.34 5.466 23.184 9.572 35.406 12.188l-5.063-43.125c-13.51-1.05-26.868-2.657-39.936-4.844zm155.22.216l-.002.002a450.38 450.38 0 0 1-30.935 3.97l-4.815 40.812c9.134-2.722 18.01-6.314 26.596-10.66zm-49.91 5.346c-16.24.828-31.392.948-46.467.375l5.313 44.846c4.052.332 8.135.528 12.25.528a149.5 149.5 0 0 0 23.718-1.904z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Igloo;

impl IconShape for Igloo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199 145.352c-33.778 2.616-65.61 19.78-92.652 45.648H199v-45.648zm18 0V191h92.652c-27.043-25.867-58.874-43.032-92.652-45.648zM89.45 209c-3.435 4.065-6.77 8.27-9.99 12.604C71.65 232.106 64.55 243.328 58.243 255h61.272c1.59-16.988 6.785-32.926 17.127-46H89.45zm73.26 0c-16.243 11.155-23.242 26.376-25.17 46h141.05c-2.07-23.905-11.88-35.922-25.516-46H162.71zm116.206 0c9.25 11.384 16.004 26.23 17.676 46h18.164c3.207-.653 6.575-1 10.086-1h32.363c-6.17-11.312-13.08-22.195-20.664-32.396-3.22-4.334-6.555-8.54-9.99-12.604h-47.634zm45.926 63c-9.818 0-15.875 3.1-21.098 8.705-5.222 5.606-9.274 14.27-12.015 24.76-1.12 4.285-2.01 8.835-2.73 13.535h56.86c.863-5.833 1.973-11.595 3.44-17.145 2.923-11.07 7.23-21.466 14.122-29.855h-38.58zM400 272c-9.82 0-15.926 4.105-21.186 9.715-5.26 5.61-9.346 14.262-12.113 24.738-1.05 3.976-1.903 8.19-2.602 12.547H414.7c.86-5.818 1.972-11.598 3.433-17.203 2.87-11.01 7.197-21.308 13.867-29.797h-32zm-350.69 1c-6.818 15.013-12.323 30.516-16.34 46H52.92c-1.98-15.856 1.467-31.648 7.224-46H49.31zm30.477 0c-7.02 14.97-11.066 31.184-8.65 46H199v-46H79.787zM217 273v46h53.766c.874-6.153 2.02-12.236 3.548-18.086 2.672-10.223 6.512-19.877 12.48-27.914H217zm247 0c-9.497 0-14.68 2.513-18.77 6.922C459.365 286.245 466.4 329.21 467.66 367h19.2c-.075-18.384-.448-40.858-3.73-59.893-1.898-10.998-4.83-20.522-8.35-26.382-3.517-5.86-6.23-7.725-10.782-7.725zM28.975 337c-1.868 10.144-3.07 20.194-3.528 30H119v-30H28.975zM137 337v30h130.922c.1-9.242.28-19.5 1-30H137zm150.06 0c-.704 9.832-.954 19.77-1.083 29h57.043c.042-9.034.21-18.912.92-29h-56.88zm75 0c-.732 9.824-.955 19.765-1.025 29h50.848c.034-8.864.192-18.78.908-29h-50.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ImperialCrown;

impl IconShape for ImperialCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 38.55c-30.5 0-55 24.52-55 55 0 30.45 24.5 54.95 55 54.95s55-24.5 55-54.95c0-30.48-24.5-55-55-55zM191.3 164.4c-5.7 0-11.1.4-16 1.4-19.9 4-34.1 15.6-43.1 35.4-9.4 20.6-12.1 50.6-5.8 88l6 5.9c13.8 13.8 36.1 21.4 58.6 21.4 21.1 0 42.1-6.7 56-19V179.2c-21-9.8-39.8-14.5-55.7-14.8zm129.4 0c-15.9.3-34.7 5-55.7 14.8v118.3c13.9 12.3 34.9 19 56 19 22.5 0 44.8-7.6 58.6-21.4l6-5.9c6.3-37.4 3.6-67.4-5.8-88-9-19.8-23.2-31.4-43.1-35.4-4.9-1-10.3-1.4-16-1.4zm-209.1 14.4h-.2c-30 .7-55.2 12.1-70.2 32.1-13.3 17.8-19.5 42.9-13.6 76 .9 5.1 2.1 10.5 3.7 16 24.5 18.5 54.3 18.6 78.9.3-9.2-44.8-6.9-81.9 5.6-109.4 2.4-5.3 5.2-10.2 8.4-14.7-2.9-.2-5.8-.3-8.6-.3H111.7c-.1 0-.1-.1-.1 0zm288.8 0c0-.1 0 0-.1 0H396.4c-2.8 0-5.7.1-8.6.3 3.2 4.5 6 9.4 8.4 14.7 12.5 27.5 14.8 64.6 5.6 109.4 24.5 18.3 54.4 18.2 78.9-.3 1.5-5.5 2.8-10.9 3.7-16 5.9-33.1-.3-58.2-13.6-76-15-20-40.2-31.4-70.2-32.1h-.2zM132.8 318.4c6.9 26.1 17.7 54.9 32.9 86.1h58.6l22.7-56.7v-28c-16.4 10-36.3 14.7-56 14.7-20.7 0-41.5-5.2-58.2-16.1zm246.4 0c-16.7 10.9-37.5 16.1-58.2 16.1-19.7 0-39.6-4.7-56-14.7v28l22.7 56.7h58.6c15.2-31.2 26-60 32.9-86.1zm-264.6 3.4c-23 13.9-50.1 16.1-74.5 6.4 9.6 23 24.1 48.5 44.5 76.3h61c-14-29.6-24.2-57.2-31-82.7zm282.8 0c-6.8 25.5-17 53.1-31 82.7h61c20.4-27.8 34.9-53.3 44.5-76.3-24.3 9.7-51.5 7.5-74.5-6.4zM256 373.7l-22.1 55.4 22.1 44.3 22.1-44.3zM91.53 422.5l11.47 46h35.3l-23-23 23-23zm90.27 0l16.6 16.6 6.3 6.4-23 23h51.7l-19.3-38.6 3-7.4zm113.1 0l1.5 3.7 1.5 3.7-19.3 38.6h51.7l-23-23 23-23zm78.9 0l16.6 16.6 6.3 6.4-23 23H409l11.5-46zM160 426.2l-19.3 19.3 19.3 19.3 19.3-19.3zm192 0l-19.3 19.3 19.3 19.3 19.3-19.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Inauguration;

impl IconShape for Inauguration {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.2 39.95c-.6-.01-1.3 0-1.9.03-10.2.4-18.8 6.95-24.4 15.97-5.5 9.02-8.4 20.72-7.8 33.41.3 5.06 1.2 22.14 1.4 24.74l29.8 21.2c1.8.3 3.6.4 5.5.4 10.1-.5 18.8-7.1 24.3-16.1 5.6-8.9 8.4-20.65 7.8-33.33-.6-12.64-4.6-24.08-10.9-32.54-4.5-5.99-10.4-10.67-17-12.62l-1.3-.4c-1.8-.52-3.7-.73-5.5-.76zm-1.5 11.79c1.4 0 2.9.13 4.1.43 4.2 1.04 8.3 3.94 11.8 8.63 4.6 6.24 8.1 15.57 8.5 26.06.5 10.48-1.9 20.04-6.1 26.74-4.1 6.6-9.2 10.1-14.8 10.3-5.5.3-11-2.8-15.8-9-6.3-8.1-7.3-19.11-8.6-28.13-.1-9.7 2.3-18.46 6.1-24.65 4.1-6.64 9.3-10.15 14.8-10.38zm-96.1 48.56c-10.6-.2-20.7 3.6-26.6 11.9-6 8.3-6.1 19.1-2.4 29 3.6 10 11 19.4 21.3 26.9 10.4 7.3 21.7 11.3 32.4 11.5 9 .2 17.7-2.4 23.7-8.3 4.4-4.4 8.9-8.7 13.3-13 51.9 51.6 106.8 106.4 160.6 160.1 16-22.3-2.4-72.5-60.8-114.1l-124.4-88.6c-1.6-1.3-3.1-2.6-4.8-3.7-6.5-4.7-13.4-7.9-20.2-9.8-4.1-1.1-8.1-1.8-12.1-1.9zm-1.8 11.9h1.4c3.1.1 6.1.5 9.4 1.4 13.2 3.7 29.7 19 33.6 29.3 2.6 7.3 2.2 13.6-1 18.1-3.2 4.5-8.9 7.1-16.7 6.9-7.7-.2-17.2-3.3-25.7-9.4-8.5-6.1-14.5-14.1-17.2-21.4-2.7-7.3-2.3-13.6.9-18.1 3.1-4.2 8.3-6.7 15.3-6.8zM56 178c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm400 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-245.4 7.4c1.2 24 2.1 43.1 3.3 68.3 3.3 71.7 35.4 114.3 62.9 113l-32.9-148.2-33.3-33.1zM89 226.4v21.3c38 23.8 75.4 39.7 112.7 47.5L198 276c-35.6-8.6-71.7-25-109-49.6zm334 0c-15.7 10.4-31.2 19.3-46.6 26.7 1.3 2.8 2.5 5.6 3.8 8.4 1.8 4 1.9 4.3 3.6 8 13-6.3 26.1-13.6 39.2-21.8v-21.3zM41 239.1V455h30V239.1c-4.66 1.9-9.71 2.9-15 2.9-5.29 0-10.34-1-15-2.9zm400 0V455h30V239.1c-4.7 1.9-9.7 2.9-15 2.9-5.3 0-10.3-1-15-2.9zm-138.7 39.4c-9.2 1.8-18.3 3-27.4 3.7l4.9 17.7c12.6-1.2 25.2-3.3 37.9-6.3l-15.4-15.1zM35.7 473l-14 14h68.6l-14-14H35.7zm400 0l-14 14h68.6l-14-14h-40.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Incubator;

impl IconShape for Incubator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233 41v30h46V41h-46zm-9 48c-29.8 0-77.4 11.7-116.3 29.2-19.46 8.8-36.82 19-48.81 29.4-7.86 6.8-12.84 13.4-15.52 19.4H468.6c-2.6-6-7.6-12.6-15.5-19.4-12-10.4-29.3-20.6-48.8-29.4C365.4 100.7 317.8 89 288 89h-64zM72.8 202.6l-48 64 14.4 10.8 48-64-14.4-10.8zm299.7 0l-14.4 10.8 48 64 14.4-10.8-48-64zm66.7 0l-14.4 10.8 48 64 14.4-10.8-48-64zM130.7 204l-32.05 64 16.15 8 32-64-16.1-8zm57.9 1.8l-16 64 17.4 4.4 16-64-17.4-4.4zm134.8 0l-17.4 4.4 16 64 17.4-4.4-16-64zM247 208v64h18v-64h-18zM96 320c-28 0-56 53.3-56 106.6 0 26.7 28 53.3 56 53.3s56-26.6 56-53.3c0-53.3-28-106.6-56-106.6zm320 0c-28 0-56 53.3-56 106.6 0 26.7 28 53.3 56 53.3s56-26.6 56-53.3c0-53.3-28-106.6-56-106.6zm-160 .1c-28 0-56 53.3-56 106.6 0 26.7 28 53.3 56 53.3s56-26.6 56-53.3c0-53.3-28-106.6-56-106.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IndiaGate;

impl IconShape for IndiaGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 49.5c-20 0-48 3.5-64 10.5v18h-64v55h256V78h-64V60c-16-7-44-10.5-64-10.5zM208 90c8.8 0 16 7.16 16 16 0 8.8-7.2 16-16 16s-16-7.2-16-16c0-8.84 7.2-16 16-16zm96 0c8.8 0 16 7.16 16 16 0 8.8-7.2 16-16 16s-16-7.2-16-16c0-8.84 7.2-16 16-16zm-192 61v18H96v18h320v-18h-16v-18zm-32 52v18h352v-18zm16 36v72h112.7c8.1-52 86.5-52 94.6 0H416v-72zm0 90v30h96v18H96v119h112V329zm208 0v167h112V377h-96v-18h96v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IndianPalace;

impl IconShape for IndianPalace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.88c-8.97 10.574-20.842 21.506-33.637 33.347-16.767 15.515-34.995 32.31-49.45 49.656-14.453 17.345-24.872 35.13-27.25 51.994-2.265 16.054 1.912 31.8 18.275 49.244h184.125c16.362-17.444 20.54-33.19 18.275-49.243-2.38-16.865-12.798-34.65-27.252-51.994-14.454-17.345-32.682-34.14-49.45-49.656C276.843 49.387 264.97 38.454 256 27.88zM32 68.12c-16 16-16 32-16 48h7v71h-7v18h7v279h18v-279h7v-18h-7v-71h7c0-16 0-32-16-48zm448 0c-16 16-16 32-16 48h7v71h-7v18h7v279h18v-279h7v-18h-7v-71h7c0-16 0-32-16-48zm-368 137c-16 16-32 32-32 48v23h64v-23c0-16-16-32-32-48zm288 0c-16 16-32 32-32 48v23h64v-23c0-16-16-32-32-48zm-231 25v14h174v-14zm0 32v222h39v-135c0-16 32-48 48-64 16 16 48 48 48 64v135h39v-222zm-96 32v190h78v-190zm288 0v190h78v-190zm-249 7s16 8.234 16 16v32H96v-32c0-7.766 16-16 16-16zm288 5.464s16 8.233 16 16v32h-32v-32c0-7.767 16-16 16-16zM112 365.12s16 8.234 16 16v32H96v-32c0-7.766 16-16 16-16zm288 0s16 8.234 16 16v32h-32v-32c0-7.766 16-16 16-16zm-288 64s16 8.234 16 16v32H96v-32c0-7.766 16-16 16-16zm288 0s16 8.234 16 16v32h-32v-32c0-7.766 16-16 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InfernoBomb;

impl IconShape for InfernoBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M410.5 21.26c-9.4-2.1-19.1-1.57-28.9 1.1-14.2 3.83-28.7 12.11-42 22.53C313.1 65.75 291.2 95.45 284 110c-11.4 23-10.8 36.7-5.6 49.3 3.2 7.8 8.6 15.3 14.9 23.3 21.3-24.9 21.2-38.7 20.2-73.8 27.7 17 47 49.7 28.1 87.3 1.4-.2 2.8-.4 4.2-.7 12.4-2.8 23.7-10.2 36.7-36.5 5.1-10.3 4.3-16 1.6-23.1-2.7-7.2-8.4-15.2-12.1-26-3.8-10.85-4.7-24.65 2.4-40.65 5.8-13.58 17.3-29.08 36.1-47.89zM263.1 112.9c-12.4-4.1-24.9-7.9-36.6-10.8-17.5-4.35-33.6-6.85-45.1-6.55-2.6 0-5 .2-7.1.5C203.6 211.9 350 284.5 459.9 237.8c-1-1.8-2.3-3.8-3.9-5.9-6.7-9.4-18.4-20.7-32.4-32-9.5-7.5-19.9-15.2-30.7-22.6-13 21.8-27.7 32.3-43.1 35.7-17.7 3.9-34.3 0-51.1 0l-4.5.1-2.6-3.7c-10.4-13.6-22.9-26.3-29.8-43.2-6-14.6-6.8-32.1 1.3-53.3zM156.3 98.05c-19.4 13.55-34.5 22.45-49.3 46.35 22.3 63.5 78.6 118.5 145.9 151.9 67.4 33.4 145.1 45 209.1 24.3 10.1-26.2 8.3-43.6 7.2-67.2-122 54-282.1-25.5-312.9-155.35zM88.48 145.3c-19.12 42.6-29.31 79.1-30.81 110.8 13.23-8.9 29.22-16.6 47.93-22.9-21.38 43-28.5 57.4-14.06 100.3 14.26-28.7 50.06-28.8 85.86-28.9.1 35.8-6.9 85.9 14.6 114.4 35.8-.1 71.5-36 100-57.5 21.6 28.6 43.1 57.1 28.9 85.8 42.9-14.5 50-28.8 71.3-71.8 6.3 18.6 9.8 36 10.7 52 24.4-20.4 47.3-50.6 69.7-91.6-70.7 25.1-155.2 12.5-227.7-23.5-72.5-35.9-133.6-95.6-156.42-167.1zM57.44 275.9l-18.01.9C47.42 448.4 256 551.9 397.6 454.5l-10.3-14.9C257.5 529 64.73 433.4 57.44 275.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Info;

impl IconShape for Info {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21C126.426 21 21 126.426 21 256s105.426 235 235 235 235-105.426 235-235S385.574 21 256 21zm0 36c110.118 0 199 88.882 199 199s-88.882 199-199 199S57 366.118 57 256 145.882 57 256 57zm-7.352 36.744c-8.227 0-15.317 2.976-21.27 8.928-5.776 5.952-8.665 12.955-8.665 21.008 0 8.227 2.89 15.23 8.666 21.006 5.95 5.776 13.04 8.666 21.268 8.666 8.228 0 15.23-2.89 21.006-8.666 5.777-5.777 8.666-12.78 8.666-21.006 0-8.053-2.976-15.056-8.927-21.008-5.777-5.952-12.692-8.928-20.745-8.928zm-62.757 82.453v28.096h46.215v186.13H185.89v27.833h140.22v-27.834h-45.69V176.197h-94.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Injustice;

impl IconShape for Injustice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.438 23.08s-70.897 56.757-118.08 70.513c-47.182 13.756-70.642-15.469-70.642-15.469s14.65 34.485-19.828 69.494c-34.482 35.01-118.112 70.531-118.112 70.531l-2.366 13.93 6.452 8.121L29.36 376.606c-.6 1.101-.593 2.104-.593 3.313 0 18.897 8.252 34.243 20.343 44 12.09 9.758 27.564 14.31 42.938 14.312 15.376.003 30.877-4.555 42.969-14.312 12.092-9.756 20.343-25.094 20.343-44 .198-1.352-.192-2.316-.687-3.531L99.735 241.76c.059-1.373.239-2.845 1.551-6.002 20.336-15.642 69.497-51.446 106.305-61.696 18.947-5.273 35.577.53 35.015 6.936L215.87 369.577l21.406 30.31c-17.75 7.75-32.593 24.84-37.562 51.344-56.076 6.195-95.469 20.742-95.469 37.69H416.12c0-16.947-39.392-31.495-95.467-37.69-4.91-26.6-19.57-44.112-37.187-51.906l21-29.75-30.737-194.596c4.17-19.161 18.107-42.676 28.875-57.654 16.23-22.415 108.224-65.652 109.659-64.096l-54.938 134.627c-.495 1.216-.885 2.18-.687 3.532 0 18.906 8.251 34.244 20.343 44 12.092 9.757 27.595 14.315 42.971 14.312 15.374-.003 30.846-4.554 42.936-14.312 12.09-9.757 20.345-25.103 20.345-44 0-1.21.004-2.212-.595-3.313L430.796 50.763c.97-4.868 3.99-8.561 7.094-12.034l-11.833-14.786zm18.264 56.526l40.936 108.375h-85.155zM90.296 268.138l44.22 108.375H49.36z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Inspiration;

impl IconShape for Inspiration {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.34 23.63l-6.68 16.72 80.04 32.01 6.6-16.72-79.96-32.01zm409.36.01l-80 32 6.6 16.72 80-32-6.6-16.72zM256 25c-29 0-50 14.08-64.7 34.29C176.6 79.51 169 106 169 128c0 13 7 27.8 14.5 39s14.9 18.6 14.9 18.6l1.5 1.5 9.3 27.9H228L194.7 98.07 256 118.5l61.3-20.43L284 215h18.8l9.3-27.9 1.5-1.5s7.4-7.4 14.9-18.6c7.5-11.2 14.5-26 14.5-39 0-22-7.6-48.49-22.3-68.71C306 39.08 285 25 256 25zm128 94v18h96v-18h-96zm-352 .1v18h96v-18H32zm189.3 6.8l25.5 89.1h18.4l25.5-89.1-34.7 11.6-34.7-11.6zm166 57.7l-6.6 16.8 80 32 6.6-16.8-80-32zm-262.6.1l-80.04 32 6.68 16.8 79.96-32-6.6-16.8zM217 233v14h78v-14h-78zm0 32v14h78v-14h-78zm-46.9 2.6c-27.1.5-52.6 5-66.9 11.1L29.8 484.1c71.1-14.1 143.9-26 217.2-.9V297h-48v-28.3c-7.9-.7-16-1.1-23.9-1.1h-5zm166.8 0c-7.9 0-16 .4-23.9 1.1V297h-48v186.2c73.3-25.1 146.1-13.2 217.2.9l-73.4-205.4c-14.3-6.1-39.8-10.6-66.9-11.1h-5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InterceptorShip;

impl IconShape for InterceptorShip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.2c-75.5 0-132.9 56.75-172.05 131.2-35.92 68.2-55.33 150.3-58.34 211.4 36.08-21.9 74.59-45.9 112.19-65.6 26.8-14 52.8-25.8 77.2-32.7v-33l41-41 41 41v33c24.4 6.9 50.4 18.7 77.2 32.7 37.6 19.7 76.1 43.7 112.2 65.6-3-61.1-22.4-143.2-58.4-211.4-39.1-74.45-96.5-131.2-172-131.2zm-201.01 23v42.42l18-9V46.2zm384.01 0v33.42l18 8.99V46.2zm-235.2 7h104.4l82.7 99.2-11.4 13.6c-72.5-41.8-176.6-39.8-247.1 0l-11.3-13.6zM86.99 92.76l-46 23.04v91.4c7.7-20.9 16.71-41.6 27.04-61.2 5.87-11.1 12.2-22 18.96-32.4zm338.01 0v20.84c6.8 10.4 13.1 21.3 19 32.4 10.3 19.6 19.3 40.2 27 61.1v-91.3zM256 218.9l-23 23v67.3h46v-67.3zm-41 67.6c-7.4 2.3-15.2 5.1-23.1 8.3l8.2 49.5 30.9 16.5v124.4h16v-103h18v103h16V360.8l30.9-16.5 8.2-49.5c-7.9-3.2-15.7-6-23.1-8.3v40.7h-82zm-84.9 38.4c-8.8 4.8-17.7 9.8-26.5 15l-9.96 148.9 25.56-76.6zm251.8 0l10.9 87.3 25.6 76.6-10-148.9c-8.8-5.1-17.7-10.2-26.5-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IntricateNecklace;

impl IconShape for IntricateNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M405.3 64.85h2.4c17.6.2 35.8 8.5 52.2 25.5C583.4 224.7 304.2 294.7 318.6 447.2c-18.8-11.5-31.9-24.7-40.2-38.9l42-24.2v-74.4l-23.5-13.6c19.9-24.2 48.8-45.8 82.9-60.8C469.3 195.6 452 48.46 340 112.5c16.5-30.46 40.3-47.18 65.3-47.65zm-298.6 0c25 .47 48.8 17.19 65.3 47.65-112-64.04-129.3 83.1-39.8 122.8 34.1 15 63 36.6 82.9 60.8l-23.5 13.6v74.4l42 24.2c-8.3 14.2-21.4 27.4-40.2 38.9C207.8 294.7-71.4 224.7 52.1 90.36c16.4-17 34.6-25.3 52.2-25.5h2.4zm205.8 58.65l15 10c-17.5 26.3-44.5 40-71.5 40s-54-13.7-71.5-40l15-10c14.5 21.7 35.5 32 56.5 32s42-10.3 56.5-32zm124.9 160.2c-24.1 47.8-49.4 84.8-62.9 156.3-4.8-16.6-8.1-34.2-9.3-53 11.1-37 38.7-73.2 72.2-103.3zm-362.8 0c33.5 30.1 61.1 66.3 72.2 103.3-1.2 18.8-4.5 36.4-9.3 53-13.5-71.5-38.8-108.5-62.9-156.3zm181.4 9.6l46.4 26.8v53.6L256 400.5l-46.4-26.8v-53.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Invisible;

impl IconShape for Invisible {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.7 31.1c5.2.51 9.9 2.45 14.5 4.9l9.1-16.3c-6.4-3.81-13.9-6.07-20.7-7.3-.9 6.24-1.9 12.47-2.9 18.7zm-9.1-18.4c-7.6.51-14.1 2.52-21.1 6l8.3 16.7c5.1-1.88 9.6-3.72 14.6-4l-1.8-18.7zm-38.5 18.7c-5 5.17-9.8 11.69-12.7 17l16.3 9.1c3.1-4.71 5.9-9.09 9.6-12.8-4.3-4.46-9-8.78-13.2-13.3zm88.1 1.9l-14 12.4c3.8 3.98 6.6 8.63 9.3 13.4l16.7-8.5c-3.5-6.29-7.8-12.54-12-17.3zM192.4 67.4c-2.1 6.71-3.3 14.19-3.8 20.2l18.6 1.8c.6-6.22 1.4-10.74 3-16.5zm128.2 2.2c-6 1.86-12 3.42-18.1 4.9 1.1 5.58 2.2 11.79 2.7 16.6l18.7-1c-.8-7.04-1.8-14.28-3.3-20.5zm-113.2 36.6l-18.5 1.9c.4 7 2.6 14.3 4.3 20.1l17.8-5.7c-1.7-5.8-2.9-11-3.6-16.3zm97.2 1.7c-.8 5.7-2.4 11.2-4 16.2l17.5 6.6c2.3-6.7 4.1-14 5-20zm-86.7 29.4s-11.5 5.4-16.1 6.7c0 0 4.8 9.6 6.9 17.1 7.6-2.2 15.5-3.2 23.3-4.5-4.7-6.9-10.5-13.4-14.1-19.3zm75.3 1.7c-4.2 6.3-9.2 12-13.9 17.9 7.8 2.1 16 2.7 23.6 5.5 0 0 4.4-12.9 6.1-17.7-5.7-1.9-15.8-5.7-15.8-5.7zm-108.9 12.7c-6.6 4.4-11.1 8.1-16.1 13.4l13.5 12.9c4.6-4.5 7.8-7.5 12.6-10.5zm143.6 2.8l-10.8 15.2c4.6 3.1 8.7 6.9 12.3 11.1l13.9-12.5c-5.4-5.6-9.4-9.8-15.4-13.8zm-172.1 27.4c-3.5 5.7-6.3 11.8-8.7 18l17.4 6.9c2-5.4 4.5-10.7 7.5-15.6zm199.5 3.2l-16.2 9.2c2.8 5.1 5.4 10.4 7.6 15.8L364 203c-2.4-6.2-5.5-12.1-8.7-17.9zm-214.2 33.8c-1.6 6.2-3 12.7-3.8 19.2l18.4 2.8c.8-5.9 2.2-11.7 3.5-17.5zm229.1 3l-18.1 4.8c1.8 5.7 2.6 11.5 3.8 17.4l18.4-3.1c-1.1-6.4-2.3-12.8-4.1-19.1zm-235.1 35.5c-.5 6.8-.6 12.6-.6 19.3h18.7c.1-6.3.2-12.9.6-18zm241.6 2.9l-18.7 1.5c.5 5.8.8 12 .8 18l18.7-.1c-.1-7-.4-13.2-.8-19.4zm-223 34.6l-18.7 1c.4 6.4 1 12.7 1.7 19.1l18.6-2c-.8-6-1.2-12.1-1.6-18.1zm204.5 2.9c-.2 6-1 12-1.7 18l18.5 2.4c1-6.3 1.4-12.7 1.9-19.1zM139 329.6c.5 6.3 2 12.9 2.9 18.3h20.3v-18.7c-7.7-.2-15.4.1-23.2.4zm41.9-.4c-.1 6.4 0 12.3 0 18.7l19.2-.5c-.5-6.1-.9-12.1-1.2-18.2zm130 0c-.5 6.3-1 12.7-1.5 19l18.7 1.4-.2-20.4zm35.7 0v18.7h23.2c1.3-6.4 2.3-11.6 3.4-18-8.8-.9-17.7-.7-26.6-.7zm-145.3 36.9l-18.6 1.2 1.2 18.7 18.6-1.3zm106.7.7l-1.3 18.6 18.6 1.4 1.4-18.6zm-60.2 11.9v18.7h18.6v-18.7zm-44 24.7l-18.7 1.2 1.3 18.7L205 422zm101.5.7l-1.4 18.6 18.6 1.4 1.4-18.6zm-57.5 12v18.7h18.6v-18.7zm-41.6 24.6l-18.6 1.2 1.2 18.7 18.7-1.3zm96.3.6l-1.4 18.7 18.6 1.4 1.4-18.7zm-54.7 12.2v18.7h18.6v-18.7zM208.7 478l-18.7 1.2c.5 6.8.9 13.6 1.4 20.4h15.7zm91 .6l.8 21h16.4c.4-6.5 1-13.1 1.5-19.6zm-73.9 2.3v18.7h18.6v-18.7zm37.3 0v18.7h18.7v-18.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InvisibleFace;

impl IconShape for InvisibleFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.47 19.188c-38.454 1.225-74.12 17.995-102.876 44.874h143.25L251.5 19.188h-.03zM277 20.625l106.156 118.03a9.007 9.007 0 0 1 .656.814h31.625C389.93 75.593 337.993 29.355 277 20.624zM131.594 82.063c-13.968 16.764-25.626 36.19-34.344 57.406h262.406L308.03 82.062H131.595zm290.125 75.124a9 9 0 0 1-2.314.282H92.594a9 9 0 0 1-1.844-.157c-2.44 7.667-4.496 15.526-6.156 23.53 10.116-3.31 20.786-4.79 30.562-4.78 28.234.03 58.968 1.987 82.875 12.5 8.163 3.59 15.634 8.29 21.626 14.437h72.688c5.992-6.146 13.463-10.848 21.625-14.438 23.906-10.512 54.64-12.47 82.874-12.5 9.866-.01 20.644 1.5 30.844 4.875-1.6-8.103-3.596-16.038-5.97-23.75zm-303.25 36.875c-7.975.024-14.797.522-19.157 1.594-12.054 36.836-.837 77.202 8.218 112.72.656.762 11.178 4.697 19.282 4.53-7.954-23.88 13.606-98.775 35.344-115.53-13.86-2.1-30.398-3.353-43.687-3.314zm271.436.063c-21.518.234-46.257 2.96-58.812 7.28-12.053 36.837-1.15 70.11 7.906 105.626.655.765 11.052 5.23 19.156 5.064-7.954-23.882 14.262-101.213 36-117.97-1.402-.006-2.814-.015-4.25 0zm-156.375 38.78c.71 6.47.392 13.46-1.03 20.907-2.746 14.383-7.356 26.488-13.344 36.5h73.688c-5.988-10.012-10.598-22.117-13.344-36.5-1.422-7.447-1.74-14.438-1.03-20.906h-44.94zm-28.81 75.407c-3.555 3.317-7.33 6.224-11.282 8.72-18.483 11.666-40 14.714-59.844 14.343-16.54-.31-30.828-4.272-42.78-10.72 3.945 15.8 8.843 30.875 14.624 45.064h301.125c5.777-14.182 10.68-29.272 14.625-45.064-11.954 6.447-26.243 10.41-42.782 10.72-19.844.37-41.36-2.678-59.844-14.345-3.952-2.494-7.727-5.4-11.28-8.717H204.718zm-91.282 75.407c5.733 11.796 12.095 22.846 19 33.03 6.078 8.966 12.546 17.27 19.375 24.813a9 9 0 0 1 2.718-.407h202.94a9 9 0 0 1 2.717.375c6.823-7.537 13.3-15.82 19.375-24.78 6.905-10.184 13.267-21.234 19-33.03H113.438zm94.718 18.842a9 9 0 0 1 .625 0h94.44a9 9 0 1 1 0 18h-94.44a9.005 9.005 0 0 1-.624-18zM170 459.156c25.64 21.635 54.99 33.72 86 33.72 31.01 0 60.36-12.085 86-33.72H170z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IonicColumn;

impl IconShape for IonicColumn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137 41v16.828c84.313 17.835 157.15 13.99 238 .348V41zm128 105.512c19.367-2.58 41.85-11.815 64.47-20.95 22.046-8.905 44.324-19.27 65.885-18.144 10.81.564 22.064 5.04 30.637 10.24 28.702 17.556 41.142 56.438 22.207 86.21-14.93 23.473-47.34 33.593-71.794 17.155-18.602-12.504-26.55-39.04-12.386-58.642 10.274-14.217 31.507-20.235 46.64-8.017 5.145 4.154 8.53 9.938 9.652 16.432 1.122 6.494-.45 14.17-5.81 19.734-3.35 3.476-7.535 5.53-12.44 6.01-4.904.478-11.24-1.43-14.904-6.47 4.576-2.843 16.11-12.02 15.426-16.203-.334-1.935-1.69-4.25-3.223-5.486-6.104-4.928-15.96-2.098-20.764 4.552-7.58 10.49-2.957 25.878 7.843 33.138 15.324 10.302 36.736 3.615 46.583-11.87 13.114-20.618 4.17-48.587-16.414-61.177-7.815-4.78-16.398-7.617-25.006-7.35-8.258.254-17.547 2.213-26.84 6.013-10.4 4.252-18.874 12.83-24.805 22.86-19.115 32.318-5.055 74.713 26.97 93.2 38.652 22.313 88.847 5.406 110.478-32.932 25.616-45.4 5.766-103.877-39.133-128.802-17.23-9.623-30.26-13.436-49.216-11.737-37.342 3.348-69.34 13.7-124.06 14.55l-18-.01c-54.814-.904-84.714-10.723-124.016-14.764-17.376-1.786-35.734 4.564-49.26 11.962-44.898 24.925-64.748 83.402-39.132 128.802 21.63 38.338 71.826 55.245 110.478 32.932 32.025-18.487 46.085-60.882 26.97-93.2-5.93-10.03-14.404-18.608-24.804-22.86-9.293-3.8-18.582-5.76-26.84-6.014-8.608-.266-17.19 2.572-25.005 7.35-20.583 12.59-29.527 40.56-16.413 61.18 9.847 15.483 31.26 22.17 46.584 11.868 10.8-7.26 15.425-22.647 7.844-33.138-4.804-6.65-14.66-9.48-20.765-4.55-1.533 1.235-2.89 3.55-3.224 5.485-.082 6.955 9.04 11.55 15.426 16.203-3.664 5.04-10 6.948-14.904 6.47-4.905-.48-9.09-2.534-12.44-6.01-5.36-5.564-6.932-13.24-5.81-19.735 1.12-6.494 4.507-12.278 9.652-16.432 15.133-12.218 36.366-6.2 46.64 8.018 14.164 19.602 6.216 46.14-12.386 58.643C111.14 237.46 78.73 227.34 63.8 203.867c-18.934-29.77-6.494-68.653 22.208-86.21 9.37-6.07 19.283-9.443 30.637-10.24 21.537-1.51 43.84 9.24 65.884 18.144 22.62 9.137 45.103 18.372 64.47 20.952zm-76.287.98c9.008 16.32 11.675 34.306 9.12 51.508h116.335c-2.556-17.202.11-35.19 9.12-51.508-19.145 7.748-38.797 15.19-58.288 17.217h-18c-19.49-2.03-39.144-9.47-58.287-17.218zM193.135 217c-3.398 9.055-8.266 17.59-14.416 25.193l13.05 40.493L211.84 217zm43.025 0L256 281.934 275.84 217zm64 0L320 281.934l12.45-40.752c-5.765-7.344-10.34-15.53-13.585-24.182zM224 238.8L201.94 311h44.12zm64 0L265.94 311h44.12zm58.826 16.934L329.94 311h37.007l-1.91-43.963c-2.393-1.12-4.762-2.34-7.098-3.687-3.927-2.267-7.635-4.82-11.114-7.616zm-182.45.635c-3.247 2.546-6.688 4.886-10.315 6.98-2.335 1.348-4.704 2.566-7.097 3.687L145.053 311h36.93zM144.27 329l-6.87 158h21.846l3.758-135.25 17.992.5L177.254 487h25.87L205 351.875l18 .25L221.127 487H247V352h18v135h25.873L289 352.125l18-.25L308.877 487h25.87l-3.743-134.75 17.992-.5L352.754 487H374.6l-6.87-158z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Iraq;

impl IconShape for Iraq {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.03 246.5l25.73 60.7 265.44 143 82.2 6.9 38.1-47.1 66.5 4.1-33.5-52.1-5.2-38-116.5-107.9 39-53.8-72.3-100.65-95.4-6.77-69.5 49.82-16.4 97.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Island;

impl IconShape for Island {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80.87 28.32c-10.027.162-20.065 3.47-29.706 11.055C79.26 31.458 116.008 60.67 128.582 94.5c-33.088 2.865-77.492 21.193-92.373 60.79 45.182-35.396 77.437-49.508 97.192-28.644-20.36 20.232-37.693 49.855-34.722 77.06 8.497-19.502 30.642-47.206 53.763-56.956-.017.246-.03.493-.037.74 0 9.698 7.86 17.56 17.56 17.56 5.507-.01 10.692-2.603 14.003-7.005 43.084 62.306 46.703 103.963 46.99 171.13 1.22 3.765 3.31 13.657 8.712 13.323 2.138-.15 7.886-4.198 9.24-14.906-.658-72.08-6.662-120.87-59.648-192.89.088-.437.17-.88.244-1.335 12.77-25.514 63.138-12.534 85.207-7.342-19.952-24.276-63.064-33.383-91.26-30.154 6.987-23.99 41.58-35.786 79.522-39.88-35.283-14.532-83.623-2.6-108.498 18.582-18.92-23.63-46.22-46.692-73.61-46.252zM316.444 88.3c-14.417-.27-30.606 5.297-47.838 19.68 55.587-9.758 66.225 13.936 65.26 41.247-27.864-3.965-65.48 2.288-83.724 24.488 15.247-3.588 43.993-5.876 64.527 1.6-2.136 2.976-3.288 6.547-3.293 10.21 0 9.697 7.86 17.558 17.557 17.56 1.158-.007 2.312-.127 3.447-.36-29.184 40.13-43.586 77.41-49.65 109.765 5.913.638 11.845 1.472 17.78 2.49 6.267-33.1 22.157-72.1 56.822-115.246 3.327 3.807 8.134 5.994 13.19 6.002 8.54-.01 15.833-6.162 17.283-14.578 24.362 2.404 52.773 19.613 66.91 34.192-6.48-25.342-31.1-46.236-56.117-58.325 20.007-20.112 64.557-27.84 85.123-26.85-48.212-22.24-87.34-20.276-110.062-9.238-9.94-21.647-30.544-42.133-57.213-42.636zM18 327v18h100.234c14.542-6.786 29.8-12.894 45.434-18zm330.69 0c15.736 5.106 31.102 11.213 45.736 18H494v-18zm-81.858 2.29c-1.966 17.012-11.84 30.178-25.898 31.165-17.093-1.086-24.48-13.605-27.6-27.437-33.38 5.94-67.274 18.015-97.31 33.033-36.807 18.405-67.758 41.478-84.942 61.233 4.887 1.483 10.322 3.123 17 4.844 16.234 4.183 36.103 7.82 47.176 6.904 8.815-.73 18.05-5.583 28.39-11.27 10.34-5.687 21.82-12.22 35.834-13.026 19-1.092 36.012 5.71 51.84 12.04 15.828 6.332 30.557 12.207 44.69 12.226 8.875.012 18.36-3.293 28.83-7.22 10.47-3.925 21.902-8.468 34.943-8.778 30.896-.735 56.652 15.618 80.36 16 14.596.235 38.53-3.61 58.222-7.625 8.712-1.776 16.05-3.47 22.18-4.91-16.61-19.392-47.196-42.19-83.774-60.38-39.91-19.846-86.81-34.618-129.94-36.798zm-97.768 109.66c-17.693.86-35.45 8.61-51.22 16.005-9.012 4.226-17.343 8.447-24.168 11.486C86.85 469.48 81.11 471 80 471c-25.66 0-48.943-12.707-62-21.492v21.472C33.352 479.837 55.207 489 80 489c7.268 0 13.51-2.78 20.998-6.115 7.488-3.335 15.8-7.56 24.488-11.633 17.376-8.147 36.382-15.234 49.875-14.275 8.73.62 17.46 6.266 27.45 13.51 9.993 7.246 21.062 16.013 35.75 18.396 21.05 3.416 40.977-2.01 59.72-7.215 18.745-5.204 36.403-10.194 52.91-8.705 6 .54 11.362 3.603 18.867 7.564C377.562 484.487 387.252 489 400 489c14.94 0 38.64-4.13 59.537-8.164 15.083-2.91 28.2-5.772 34.463-7.166v-18.39l-.012-.05c0-.002-17.313 3.968-37.863 7.934C435.575 467.13 411.277 471 400 471c-8.694 0-14.606-2.73-21.54-6.39-6.936-3.66-14.852-8.6-25.65-9.573-21.053-1.898-40.784 4.134-59.343 9.287-18.56 5.153-35.852 9.418-52.026 6.793-8.856-1.437-17.89-7.824-28.063-15.2-10.174-7.378-21.676-15.823-36.738-16.894-2.6-.177-5.16-.19-7.576-.074z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Italia;

impl IconShape for Italia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.491 24.574L61.571 79.201c-28.927 37.65 13.728 85.182 29.301 94.36l51.152-23.838 89.891 111.244L362.03 332.48l20.362 52.145-16.885 34.268 18.375 11.918 32.775-68.534-22.227-16.243 11.301-38.386 52.643 32.778-1.49-29.301-93.178-49.84c4.616-.771 9.298-1.572 10.242-1.808 1.987-.497-1.49-12.416-1.49-12.416l-33.817 1.437-31.24-17.33-29.3-53.139-36.75-23.34-3.477-56.119 40.723-18.375-3.973-33.771zM129.837 287.16l-5.463 16.102-21.086.414 8.443 88.398 40.723-9.435 1.074-79.95-4.728-14.474zm233.185 128.256L257.74 426.342l-1.986 18.87 90.88 42.214 13.411-17.381-11.92-13.408z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IvoryTusks;

impl IconShape for IvoryTusks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M58.31 24.814L44.187 90.339 27.05 50.894c-3.463 13.536-3.63 28.752-2.328 42.395 7.427 74.81 70.83 162.556 154.83 236.173 15.377-15.942 30.388-32.237 44.783-48.732 6.82-7.815 13.5-15.678 20.018-23.568-59.05-73.228-104.055-148.414-115.58-214.524-4.027-11.108-15.646-14.908-25.596-17.36l11.53 19.868-31.305-22.445c-8.441-.189-17.618.604-25.092 2.113zm370.083-2.107c-2.92 13.842-5.738 27.685-15.046 41.527-.164-13.921-2.092-26.96-7.856-38.082-8.462 2.643-20.526 7.494-22.291 16.486-13.393 76.824-71.978 165.906-145.301 249.926C172.826 367.13 95.984 437.277 27.608 489.355c80.91-12.026 184.614-63.92 272.556-133.086 27.835-21.892 54.063-45.515 77.6-70.025-6.727 1.124-13.617 1.631-20.291 1.77l58.447-45.325c39.982-50.437 66.671-102.466 71.33-149.4.915-9.209 1.368-22.729-.642-34.805-2.01-12.077-6.486-21.931-13.252-26.371-8.677-5.693-24.034-9.17-39.578-9.45a98.183 98.183 0 0 0-5.385.044zM331.34 354.146a859.987 859.987 0 0 1-20.049 16.271 870.556 870.556 0 0 1-39.12 29.034c22.924 14.884 46.287 28.409 69.511 40.25a13010.71 13010.71 0 0 1 57.932 7.04c-5.536 5.312-11.915 8.882-18.942 11.292 36.526 15.689 71.873 26.592 103.694 31.322-49.14-37.427-102.652-84.185-153.026-135.209z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JBrick;

impl IconShape for JBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.5 83.5A9.5 9.5 0 0 0 256 93v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5V93a9.5 9.5 0 0 0-9.5-9.5h-96zm9.5 19h77v77h-77v-77zm0 115h77v77h-77v-77zm-115 115h77v77h-77v-77zm115 0h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JackPlug;

impl IconShape for JackPlug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406.089 25l-7.504 22.51 14.764 14.763 22.51-7.503V25zm-29.113 26.354l-9.9 9.9 32.529 32.53 9.9-9.901zM354.349 73.98l-43.842 43.844 32.527 32.528 43.844-43.842zm-56.569 56.57l-32.529 32.528 32.53 32.53 32.527-32.53zm-56.568 33.94l-127.898 127.9-8.885 26.65 37.39 37.39 26.649-8.885 127.9-127.899zm172.22 140.47c-15.712-.182-32.101 3.876-48.947 10.47-38.503 15.071-79.972 43.684-120.955 71.744-40.982 28.06-81.503 55.562-115.634 68.5-17.066 6.469-32.346 9.213-45.063 7.424-12.717-1.79-23.226-7.591-32.74-20.45-2.186-2.954-2.233-6.994.928-14.197 3.16-7.203 9.496-15.948 16.576-23.982 9.554-10.843 20.15-20.342 26.11-25.446L80.932 366.25c-6.525 5.638-17.096 15.26-26.84 26.32C46.334 401.376 39 411.052 34.54 421.22c-4.46 10.166-6.082 22.447 1.084 32.133 11.935 16.13 27.625 25.165 44.701 27.568 17.077 2.403 35.185-1.305 53.95-8.418 37.53-14.226 78.436-42.415 119.423-70.479 40.988-28.063 82.028-56.008 117.348-69.834 17.66-6.912 33.746-10.223 47.43-8.962 13.683 1.26 25.137 6.61 35.58 18.666 10.647 12.29 11.662 30.245 5.558 52.644-6.103 22.4-19.359 47.936-34.41 71.668-6.132 9.67-12.54 19.006-18.865 27.797h22.037a567.751 567.751 0 0 0 12.027-18.156c15.598-24.593 29.667-51.22 36.577-76.576 6.91-25.358 6.628-50.753-9.319-69.163-13.168-15.201-29.804-23.17-47.535-24.802a83.568 83.568 0 0 0-6.693-.344zM94.135 334.198l-9.9 9.9 32.527 32.528 9.9-9.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Japan;

impl IconShape for Japan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336.375 22.123c.747 27.58 3.127 51.431-1.747 70.892h-20.54c-12.376 22.876-11.185 40.564-2.362 55.333l16.002-8.366c2.867-9.458-28.632-22.734 14.187-27.753 5.796 2.848 20.874 9.41 39.09 17.227 3.817-34.507 26.088-36.795 47.47-45.863l-14.343-29.667c-35.396 14.004-55.536-16.018-77.757-31.803zm4.879 127.87c-11.753 1.278-18.274 7.788-23.853 15.24-5.893 21.864-.11 43.726 1.325 65.59l-37.102 61.617c-21.8 17.135-20.912-.866-23.666-11.705-18.465 18.51-15.916 40.93-24.037 60.733l-68.241 5.963-54.99 45.715 32.795 13.25 6.294-13.913 48.365-19.875 19.215.661 1.986 21.202 14.576 17.227 33.127-29.815-8.613-17.889c16.54-9.194 16.06 3.64 23.19 6.626l16.998-6.808 7.994-14.583 6.718 12.634 13.5-23.52 13.34 13.01 15.654-25.787 13.13-123.6zM190.857 382.877l-11.263 12.258-14.576-1.325-15.405 20.208 14.742 20.868 33.127-18.55 15.9-20.54c-4.955-8.08-11.457-14.096-22.525-12.92zm-77.518 20.208c-10.171 4.3-20.488 7.123-29.813 19.877l24.514 20.538c-9.749 12.92-6.887 25.838-7.62 38.758l16.895 7.62 15.239-11.263c-2.385-18.249 3.108-35.186 11.263-51.68l-6.626-13.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JapaneseBridge;

impl IconShape for JapaneseBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 105c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-96 23c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm192 0c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-105 23.7V222h18v-70.3c-2.9.8-5.9 1.3-9 1.3-3.1 0-6.1-.5-9-1.3zm36 7.5v18.1c14 1.4 28 4 42 7.8v-18.6c-14-3.5-28-6-42-7.3zm-54 .3c-14 1.5-28 4-42 7.6v18.7c14-3.9 28-6.6 42-8.2v-18.1zm-78 15.2v68.5c5.9-2.4 11.9-4.6 18-6.6v-61.9c-2.9.8-5.9 1.3-9 1.3-3.1 0-6.1-.5-9-1.3zm192 0v61.9c6.1 2 12.1 4.2 18 6.6v-68.5c-2.9.8-5.9 1.3-9 1.3-3.1 0-6.1-.5-9-1.3zm36 10.9v19.8c14.3 7 28.6 15.2 43 24.6v-2.8c-4.4-5.6-7-12.6-7-20.2 0-.8 0-1.6.1-2.4-12-7.2-24-13.5-36.1-19zm-246 1c-12 5.5-24.1 11.8-36.04 18.8.02.5.04 1.1.04 1.6 0 7.6-2.62 14.6-7 20.2v3.6c14.3-9.3 28.7-17.4 43-24.4v-19.8zM64 192c-8.39 0-15 6.6-15 15s6.61 15 15 15 15-6.6 15-15-6.61-15-15-15zm384 0c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zM54 238.4v69.4c5.43-6 11.47-11.8 18-17.4V239c-2.56.6-5.24 1-8 1-3.48 0-6.84-.6-10-1.6zm404 0c-3.2 1-6.5 1.6-10 1.6-2.8 0-5.4-.3-8-1v51.4c6.5 5.6 12.6 11.4 18 17.4v-69.4zM256 240c-53.9 0-108.4 19.4-149 46.5-36.17 24.1-60.24 54.3-65.06 79.5h46.01c2.26-11.6 8.62-22.4 17.35-32.2 10.9-12.3 25.6-23.3 42.3-32.6C180.9 282.4 221.8 270 256 270s75.1 12.4 108.4 31.2c16.7 9.3 31.4 20.3 42.3 32.6 8.7 9.8 15.1 20.6 17.3 32.2h46.1c-4.9-25.2-28.9-55.4-65.1-79.5-40.6-27.1-95.1-46.5-149-46.5zm220 7.8v19.8l9.9-11.4c-3.3-2.9-6.6-5.6-9.9-8.4zM36 248c-3.27 2.7-6.54 5.3-9.81 8.1L36 267.8V248zm211 117.1V487h18V365.1h-18zm-35.8.8c-6.2.3-12.4.5-18.5.9L168.6 487H187l24.2-121.1zm89.6 0L325 487h18.4l-24.1-120.2c-6.1-.4-12.3-.6-18.5-.9zm-153.5 4.4c-6.6.7-13.1 1.4-19.6 2.2L89.53 487h18.87l38.9-116.7zm217.4 0L403.6 487h18.8l-38.1-114.5c-6.5-.8-13-1.5-19.6-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jasmine;

impl IconShape for Jasmine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.7 32.45c-14.6 15.09-28.7 29.9-39.2 44.31-12.1 16.49-19.3 32.24-19.3 46.14 0 24.3 2.1 48.4 7.2 67.7 17.1 12 31.4 26.4 42.3 43.7v-77h18V235c12.6-17.5 27.6-31.9 44.7-44 5.1-19.4 7.3-43.7 7.3-68.2 0-13.9-7.2-29.55-19.3-46.04-10.5-14.41-26.5-29.22-41.7-44.31zM109.6 172.4c-9.79.2-21.86 2.5-34.03 6.6-17 5.7-35.64 14.6-54.58 24 9.68 18.4 19.36 36.3 29.71 50.7 11.85 18.9 24.5 30.5 38.07 34.8 24.33 7.6 45.73 12.2 65.73 13.3 18-12.5 37.4-21.6 57.3-26.5l-74.7-26 5.6-17.2 75.4 23.8c3.1-5.1 7.1-9.6 11.9-13-20.6-32.6-55.4-52.9-104.1-68.2-5-1.7-10.4-2.4-16.3-2.3zm290.8.3c-5.1.1-9.8.8-14.1 2.2-49.5 15.3-83.3 35.4-104 67.9 4.9 3.5 9.1 8 12.1 13.2l72.5-23.6 6.7 17.2-73.5 26c.1 1.5.2 2.9.2 4.4 0 4.6-.8 9.1-2.2 13.3 35.7 14.2 76.1 10.7 124.3-4.7 13.3-4.1 25.6-15.8 37.2-34.8 10.2-14.3 21.7-32.3 31.4-50.6-20.9-9.4-39.1-18.3-55.7-24-11.9-4.1-22.9-6.5-32.7-6.6zm-145.4 80c-13.8 0-24.8 13.5-24.8 27.3s11 24.8 24.8 24.8c14.4 0 27.2-11 27.2-24.8s-12.8-27.3-27.2-27.3zM214.2 293c-38 9.6-69.5 35.6-98.6 78.1-8.2 11.2-11.3 27.8-11 48 .3 17.5 3.2 37.6 6.4 60.5 20.3-3.3 40.3-6.8 57.6-11.9 21.2-8.5 36-16.6 44.2-27.8 14.4-19.9 25.5-38.9 32.7-57.6-6.7-22.3-9.7-42.3-8.3-62.7l-44.6 63.9-15.3-10.7 45.8-64.5c-4-4.3-7-9.7-8.9-15.3zm76 16.6l44 63.1-14.6 10.6-46.1-64.2c-5.9 2.4-12.3 3.7-18.5 3.7h-.1c-2.4 38.7 13.6 77 44.6 116.9 8.1 11.3 22.9 19.4 42.2 27.8 16.7 5.2 38.8 8.6 59.5 11.9 3.2-22.9 6.2-43 6.4-60.5.3-20.1-2.8-36.7-11-47.9-14.4-22.2-31.2-38.5-46.6-51.1-20.9.4-40.8-2.8-59.8-10.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JasonMask;

impl IconShape for JasonMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215 28.084c-41.58 6.557-73.571 23.214-96.637 46.28C89.316 103.41 74.133 142.997 73.066 187H105v82H80.191c7.48 41.377 20.766 83.17 39.75 118.766C151.043 446.08 196.125 487 256 487s104.957-40.92 136.059-99.234c18.984-35.596 32.27-77.389 39.75-118.766H407v-82h31.934c-1.067-44.002-16.25-83.59-45.297-112.637C370.57 51.298 338.58 34.641 297 28.084V73h-82V28.084zM191 64a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm130 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zM187 96a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm138 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-142 39a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm48 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm50 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm48 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-137 29h128l-64 28-64-28zm-16 19c25.983 0 49 17.247 49 41s-23.017 41-49 41-49-17.247-49-41 23.017-41 49-41zm160 0c25.983 0 49 17.247 49 41s-23.017 41-49 41-49-17.247-49-41 23.017-41 49-41zM208 304l-48 48h-20l68-48zm16 0h64s-16.915 32-32 32-32-32-32-32zm80 0l68 48h-20l-48-48zm-80 64a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm64 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-96 16a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm128 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-96 16a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm64 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-119 7a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm174 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-119 25a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm64 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JawlessCyclop;

impl IconShape for JawlessCyclop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-29 0-50 13.88-68.7 37.79-6.7 8.55-12.9 18.39-18.9 29.16 73.8 20.55 101.4 20.55 175.2 0-6-10.77-12.2-20.61-18.9-29.16C306 38.88 285 25 256 25zM129 99.14C158.8 125.4 198.6 151 256 151c57.4 0 97.2-25.6 127-51.86-113.6 33.36-140.4 33.36-254 0zm18.3 36.66c-3 7-6 14.3-9 21.6-28.4 70.1-54.79 151-108.76 195.4l52.12 52.1C192.8 344 319.2 344 430.3 404.9l52.2-52.1c-54-44.4-80.4-125.3-108.8-195.4-3-7.3-6-14.6-9-21.6-16.2 10.7-34.9 20-56.3 26.1 12.8 16.2 20.6 38.3 20.6 62.1 0 27.4-10.3 52.5-26.9 69 1.5 1.8 3 3.7 4.4 5.5 12.7 16.7 21.5 33.3 21.5 33.3l-16 8.4s-8.1-15.4-19.8-30.7c-5.9-7.7-12.6-15.2-19.1-20.5-6.6-5.3-12.7-8-17.1-8-4.4 0-10.5 2.7-17.1 8-6.5 5.3-13.2 12.8-19.1 20.5-11.7 15.3-19.8 30.7-19.8 30.7l-16-8.4s8.8-16.6 21.5-33.3c1.4-1.8 2.9-3.7 4.4-5.5-16.6-16.5-26.9-41.6-26.9-69 0-23.8 7.8-45.9 20.6-62.1-21.4-6.1-40.1-15.4-56.3-26.1zm76.7 30.6c-13.7 12.7-23 33.4-23 57.6 0 23.1 8.5 43 21.2 55.8 1.7-1.7 3.5-3.3 5.4-4.8 6-4.9 12.7-9 20-10.9-18.5-3.9-32.6-20.5-32.6-40.1 0-10.1 3.8-19.5 9.9-26.6A16 16 0 0 0 240 208a16 16 0 0 0 16-16 16 16 0 0 0-2.7-8.9c.9-.1 1.8-.1 2.7-.1 22.5 0 41 18.5 41 41 0 19.6-14.1 36.2-32.6 40.1 7.3 1.9 14 6 20 10.9 1.9 1.5 3.7 3.1 5.4 4.8C302.5 267 311 247.1 311 224c0-24.2-9.3-44.9-23-57.6-10.1 1.7-20.7 2.6-32 2.6s-21.9-.9-32-2.6zm9.6 147.2l12.8 12.8-16 16-12.8-12.8 16-16zm44.8 0l16 16-12.8 12.8-16-16 12.8-12.8zm-37.1 63.7c-11 .5-22 1.5-33 3.1l15.7 31.5 17.3-34.6zm29.4 0l17.3 34.6 15.7-31.5c-11-1.6-22-2.6-33-3.1zm-89.9 8.3c-10.6 2.5-21.2 5.5-31.6 9l25.1 29.1 6.5-38.1zm150.4 0l6.5 38.1 25.1-29.1c-10.4-3.5-21-6.5-31.6-9zm-199.8 15.5c-2.9 1.2-5.8 2.4-8.8 3.7l-27.41 13.7 27.31 27.2 8.9-44.6zm249.2 0l8.9 44.6 27.3-27.2-27.3-13.7c-3-1.2-5.9-2.5-8.9-3.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jeep;

impl IconShape for Jeep {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.605 114.634l-14.31 7.154 3.576 7.156 13.423 26.844-57.578 57.578h22.625l42.494-42.494 21.248 42.494h17.89l-45.788-91.578-3.58-7.154zm132.422 2.732v24c0 11.313 5.527 24.452 12.13 39.47 6.345 14.432 13.97 29.757 19.87 42.33v54.2h-93.765l-16-48H80.027v80h2.623c5.445-11.528 14.993-20.257 26.176-26.092 12.89-6.725 28.058-9.908 43.2-9.908 15.144 0 30.31 3.183 43.203 9.908 11.18 5.835 20.73 14.564 26.174 26.092h117.344c10.22-23.39 31.87-35.904 54.555-37.967 23.296-2.118 47.98 5.742 65.738 21.966h7.222l10.666-32h-28.9v-48H333.09c-5.778-12.2-12.63-26.108-18.285-38.97-6.367-14.482-10.778-28.342-10.778-33.03v-24h-16zm-256.054 72v80h32v-80h-32zm432.054 23.88v32h16v-32h-16zm-231.568 32.12l5.333 16h50.234v-16H232.46zm-184.433 40v24.303h16v-24.304h-16zm104 16a48 48 0 0 0-48 48 48 48 0 0 0 48 48 48 48 0 0 0 48-48 48 48 0 0 0-48-48zm253.557 0a48 48 0 0 0-48 48 48 48 0 0 0 48 48 48 48 0 0 0 48-48 48 48 0 0 0-48-48zm-173.557 24v16h96v-16h-96zm-80 8a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm253.557 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jelly;

impl IconShape for Jelly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144 73c-7.5 0-17.6 6.44-28 20.59C105.6 107.7 95.27 128.6 86.47 153c-16.66 46.3-28.04 105.4-29.24 158h45.87c.8-54.6 8.6-115.1 22.2-163.4 7.2-25.6 15.8-47.71 26.4-64.2 1-1.51 2-2.96 3-4.39-.7-.85-1.3-1.61-1.9-2.24-2.8-2.75-5-3.77-8.8-3.77zm48 0c-7.5 0-16.2 6.08-25.2 20.1-8.9 14-17.3 34.9-24.1 59.3-13 46.3-20.7 105.6-21.5 158.6H183c.4-54.2 4.5-114.5 14.2-162.8 4.1-20.4 9-38.6 15.5-53.55-.4-.95-.8-1.87-1.2-2.76-3-6.87-6.4-11.86-9.7-14.81-3.3-2.95-6-4.08-9.8-4.08zm64 0c-7.5 0-14.8 5.66-22.3 19.53-7.5 13.87-14 34.77-18.9 59.27-9.3 46.4-13.2 105.8-13.6 159.2h109.6c-.4-53.4-4.3-112.8-13.6-159.2-4.9-24.5-11.4-45.4-18.9-59.27C270.8 78.66 263.5 73 256 73zm64 0c-3.8 0-6.5 1.13-9.8 4.08-3.3 2.95-6.7 7.94-9.7 14.81-.4.89-.8 1.81-1.2 2.76 6.5 14.95 11.4 33.15 15.5 53.55 9.7 48.3 13.8 108.6 14.2 162.8h61.8c-.8-53-8.5-112.3-21.5-158.6-6.8-24.4-15.2-45.3-24.1-59.3-9-14.02-17.7-20.1-25.2-20.1zm48 0c-3.7 0-6 1.02-8.8 3.77-.6.63-1.2 1.39-1.9 2.24 1 1.43 2 2.88 3 4.39 10.6 16.49 19.2 38.6 26.4 64.2 13.6 48.3 21.4 108.8 22.2 163.4h45.9c-1.2-52.6-12.6-111.7-29.3-158-8.8-24.4-19.1-45.3-29.5-59.41C385.6 79.44 375.5 73 368 73zM187.7 88.36c3.8.05 4.8 5.73 1.8 11.64-14.1 25.2-31.2 70.5-41.4 98.1-.7-27.2 18-85.3 34.1-106.89 2.2-2.03 4.1-2.87 5.5-2.85zm-55.9.65c3.1.1 5.6 4.05 4.2 7.82-23.8 28.77-32.1 57.67-43.91 86.47 4.13-37.8 18.11-64.8 35.41-91.65 1.3-1.93 2.9-2.68 4.3-2.64zm192.8 1.58c1.5 0 3.1.08 4.8.24-11.3 7.99-14.4 12.87-16.3 20.47-3.6-13.42-2.6-20.72 11.5-20.71zM254 92.31c3.3.06 5.4 3.71 4.2 7.79-16.2 38.8-32 78.7-37 121.1-4.5-30.1 1.6-88.2 26-124.43 2.4-3.24 4.9-4.5 6.8-4.46zM41.54 329c2.35 21.3 13.22 32.9 26.26 46h376.4c13-13.1 23.9-24.7 26.3-46H41.54zM224 393v51l-80 48h224l-80-48v-51h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JellyBeans;

impl IconShape for JellyBeans {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241 30.32c-4.7 0-9.3.7-13.8 2.22-13.5 4.65-26.5 16.93-35.5 42.12-9.7 26.74-12.9 50.34-27.4 70.04-14.6 19.7-39.9 32.3-88.23 37.5-20.53 2.3-33.92 11.1-42.5 23.3-8.59 12.2-12.18 28.1-10.74 44.4 2.89 32.4 25.05 64.2 63.49 67.9C137 322.7 175.4 319 205 308.9c-.4-6.4-.7-12.8-.8-19.3-1-50.6 33.2-90.5 71.2-104.3 9.5-3.5 19.3-5.3 29-5.2.8 0 1.5.1 2.3.1 2.8-10.4 5.3-21.4 7.6-32.7 9.6-46.8-14.3-89.71-43.6-107.81-9.1-5.66-18.5-8.86-27.6-9.33-.7 0-1.4-.1-2.1-.1zm-32.4 41.62l17.6 3.32c-10.3 55.14-26.5 90.14-53.4 112.24-18.7 15.4-41.8 24.1-70 29.9l-4.46-17.5c26.86-5.5 47.36-13.4 63.06-26.3 22.5-18.5 37.2-48.5 47.2-101.66zM304 198.1c-7.2-.1-14.8 1.3-22.5 4.1-30.6 11.2-60.2 44.9-59.3 87 1 50.7 10.6 95.3 38.9 128.7 28.2 33.4 76 56.9 157.2 63.5 37.3 3.1 62.1-18.9 69.2-43.2 3.5-12.2 2.5-24.8-3.6-35.6-6-10.8-17.4-20.3-36.5-25.7-45-12.7-68.5-32.7-80.5-56.6-12-23.8-12.9-49.8-17.4-75v-.1c-4-23.4-13.9-36-25.7-42.3-6-3.1-12.7-4.7-19.8-4.8zm-223.42 5l4.4 17.6c-7.22 1.1-14.7 2.1-22.54 3.1l-2.2-17.8c7.12-.9 13.87-1.8 20.34-2.9zm223.32 14.3l1.4 18c-5.7.5-10.7 1.5-15.1 2.9l-7.9-16.2c6.5-2.4 13.7-4 21.6-4.7zm-37.5 13.2l8.1 16.6c-1.4 1.2-2.6 2.5-3.8 3.9-7.1 8.5-11 20.3-12.2 33.9-2.5 27.3 6.2 61.1 14.7 82.2l-16.6 6.8c-9.4-23.2-18.9-58.4-16.1-90.6 1.5-16 6.1-31.6 16.4-43.8 2.7-3.3 5.9-6.3 9.5-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jerrycan;

impl IconShape for Jerrycan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M374.014 53.123c-.72-.008-1.435.002-2.15.033-1.758.076-3.503.267-5.235.57-13.857 2.41-27.79 12.364-38.913 30.905-13.823 23.04-37.3 32.308-61.654 35.438-23.677 3.043-49.05 1.085-72.016.97L105 165.564V487h302V67.955c-11.04-10.112-22.205-14.706-32.986-14.832zM201.514 55l-16.873 50.617 5.235-2.617H192c4.122 0 8.278.064 12.44.145L214.485 73h99.285c4.337-6.844 9.166-12.885 14.41-18H201.514zm173.884 22.354l17.204 5.292L329 289.352v109.625l60.123 41.623-10.246 14.8-90.133-62.4H176v-.775l-40.512 60.767-14.976-9.984L183 349.275V242.068l-60.21-42.728 10.42-14.68L221.052 247H323.2l52.198-169.646zM144.713 96.602l-41.576 19.68 12.836 27.116 41.576-19.68L144.712 96.6zM201 265v110h110V265H201z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JerusalemCross;

impl IconShape for JerusalemCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352 23v18h-78v197h197v-78h18v192h-18v-78H274v197h78v18H160v-18h78V274H41v78H23V160h18v78h197V41h-78V23zm41 41v55h55v18h-55v55h-18v-55h-55v-18h55V64zm-256 0v55h55v18h-55v55h-18v-55H64v-18h55V64zm256 256v55h55v18h-55v55h-18v-55h-55v-18h55v-55zm-256 0v55h55v18h-55v55h-18v-55H64v-18h55v-55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JesterHat;

impl IconShape for JesterHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.49 19.312c-25.16.153-60.41 33.046-86.097 68.937 3.964 3.373 7.804 7.028 11.492 10.948 9.436 10.03 18.148 21.76 26.144 34.612 11.52-18.005 23.463-33.81 35.724-46.87 19.07-20.313 39.165-34.398 60.04-38.75-12.726-17.32-28.263-28.186-47.304-28.878zm62.834 45.406c-.83.004-1.664.017-2.506.04l-.062.003-.063.003c-18.105.263-38.738 12.047-59.816 34.498-21.08 22.452-42.23 55.034-61.672 94.063-28.845 57.905-53.972 129.98-71.225 204.586 5.495 10.445 12.004 20.354 20.075 29.96 4.482-18.25 14.135-38.246 32.02-51.773l11.165-8.445 3.05 13.664c1.618 7.257 7.71 21.177 15.42 34.185 5.756 9.713 12.564 19.186 18.634 25.864 13.73-16.182 20.832-43.925 28.193-62.412l4.42-11.097 9.45 7.308c10.392 8.04 19.526 19.733 26.765 31.813 3.71 6.193 6.887 12.395 9.336 18.402 12.077-14.887 20.38-32.92 27.04-51.215-5.102-12.048-10.1-24.147-14.43-36.09-6.996-19.307-12.32-38.26-13.337-56.4-1.015-18.14 2.522-35.792 13.533-50.525 7.97-10.666 18.658-17.79 30.794-17.98 12.137-.187 23.963 6.146 35.348 17.265 18.01 17.59 36.405 48.284 55.545 94.338 1.338-54.69-3.184-113.508-17.436-161.142-8.99-30.052-21.805-55.49-38.615-72.785-16.285-16.753-35.92-26.245-61.626-26.125zm-205.11 18.18c-4.463.04-8.997.646-13.614 1.85-47.61 12.428-68.494 50.477-77.536 97.667-4.09 21.355-5.4 44.255-5.253 66.65 1.557.036 3.092.16 4.602.368 1.754-6.153 3.62-12.048 5.688-17.498 4.876-12.862 10.612-23.867 19.453-31.336 8.84-7.47 21.574-9.996 34.144-5.492 26.76 9.59 40.14 35.794 45.24 66.176 2.492 14.844 3.214 31.024 2.723 47.744 14.29-44.75 31.076-86.877 49.434-123.73 5.95-11.945 12.066-23.322 18.32-34.076-8.792-15.234-18.415-28.824-28.64-39.692-15.944-16.95-32.47-27.154-50.124-28.486-1.47-.11-2.95-.16-4.437-.146zm232.173 148.27c-5.544.085-10.803 2.923-16.655 10.753-1.167 1.564-2.213 3.172-3.164 4.817 7.204 9.21 14.374 19.512 21.377 30.682 3.887-1.5 8.052-2.428 12.393-2.665-1.107-12.588-2.46-26.452-4.14-40.98-3.758-1.902-7.04-2.65-9.81-2.608zm-329.56 35.87c-12.81 0-23 10.19-23 23s10.19 23 23 23c12.808 0 23-10.19 23-23s-10.192-23-23-23zm345.75 25.652c-12.808 0-23 10.19-23 23s10.192 23 23 23c12.81 0 23-10.19 23-23s-10.19-23-23-23zm82.597 56.465c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-99.31 32.643c-8.713 23.945-20.526 48.82-41.428 67.93l-12.512 11.437-2.465-16.77c-.916-6.226-5.35-17.525-11.728-28.167-3.786-6.32-8.287-12.394-12.898-17.62-6.213 19.202-14.643 45.832-34.68 62.348l-5.763 4.75-5.73-4.787c-10.268-8.58-20.073-22.133-28.435-36.24-5.068-8.55-9.358-17.036-12.623-24.948-11.832 14.45-17.72 34.36-18.62 48.398l-1.246 19.457-14-13.568c-18.337-17.774-30.744-36.71-40.152-56.956l-11.453 48.67c-.337 5.734-.657 12.613-.34 18.48.332 6.097 2.332 10.952 1.98 10.55 4.148 4.767 20.086 11.37 42.304 14.553 22.218 3.185 50.507 4.065 80.176 2.844 59.338-2.44 124.766-13.612 159.164-29.15 4.968-2.245 13.87-15.99.5-35.91l-.014-.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JetFighter;

impl IconShape for JetFighter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M461.5 31.85c-5 1.2-10.4 3.4-16.4 6.4-12 6-26.7 15.3-42.1 26.1-26.7 18.7-55.5 41.75-75 59.95l39.8 19.9 19.9 39.8c18.2-19.5 41.2-48.3 59.9-75 10.8-15.35 20.1-30.05 26.2-42.15 3-6 5.2-11.3 6.3-16.3 1.2-5 1.9-10.9-2.9-15.7-4.8-4.56-10-4.25-15.7-3zm-14.8 33.4c4.9 4.71 5.6 12.1 3.8 18.7-1.8 6.6-6.1 13.3-12.9 20.15l-42.2 42.2-29.6-29.7L408 74.45c6.8-6.8 13.5-11.06 20.1-12.9 6.1-1.71 14.3-.44 18.6 3.7zM183.2 109.5l-21.3 21.2 45.6 5v-26.2zm129.9 25.2l-43.5 21.8-153 200.1 13.7 13.8 97.5-97.5 11.3 11.3c-32.5 32.5-65 65.1-97.5 97.6l13.8 13.6 200.1-153 21.8-43.5-21.4-42.8zm-256.59.4l7.4 22.2 120.99 83.5 64.5-84.3zm38.1 62.8l-13.1 13.2 24.39 24.3 17.6-17.5zm260.89 64.7l-84.3 64.5 83.5 121 22.2 7.3zm-190.9 4.8l-110.99 9.1-22.6 22.6 82.39 35.4zm212.1 41.2l4.6 41.5 17.1-17.2v-24.3zm-132.1 38.8l-67 51.2 35.3 82.4 22.6-22.6zm-138.7 21.2l-13.09 13.1 37.49 37.4 13.1-13zm188.2 19.9l-17.5 17.6 24.3 24.3 13.2-13.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JewelCrown;

impl IconShape for JewelCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 77.527c-28.554 59.928-54.586 129.729-55.912 171.23 8.106 8.904 15.512 20.237 21.314 31.84 6.48 12.959 11.159 25.504 11.159 36.714v7.162l-6.946 1.736c-66.268 16.567-117.525 16.69-168.181-.195l-6.272-2.092v-6.611c0-15.216-1.409-46.505 15.164-67.383a30.878 30.878 0 0 0-4.385-6.205c-4.186-4.627-10.398-9.935-17.129-14.743-6.73-4.807-14.012-9.164-20.302-12.193-1.295-.623-2.295-.892-3.51-1.38.946 26.658 4.726 70.82 11.693 112.624 2.773 16.637 6.043 32.722 9.715 46.89 151.612 14.462 275.572 14.462 427.184 0 3.672-14.168 6.942-30.253 9.715-46.89 6.967-41.803 10.747-85.966 11.693-112.625-1.215.489-2.215.758-3.51 1.381-6.29 3.029-13.572 7.386-20.303 12.193-6.73 4.808-12.942 10.116-17.128 14.743a31.68 31.68 0 0 0-4.32 6.088c17.421 20.991 15.099 52.656 15.099 67.5v6.61l-6.272 2.093c-50.656 16.885-101.913 16.762-168.181.195l-6.946-1.736v-7.162c0-11.21 4.68-23.755 11.159-36.713 5.802-11.604 13.208-22.937 21.314-31.84-1.326-41.502-27.358-111.303-55.912-171.23zm0 31.963l42.541 127.623L256 300.926l-42.541-63.813 34.002-102.008L256 109.49zm0 56.922l-22.682 68.043 7.621 11.43c5.09-24.4 12.37-47.622 22.932-55.86L256 166.412zM47.852 393.508c5.502 16.226 12.645 26.698 15.904 29.09 128.174 15.834 256.314 15.834 384.488 0 3.259-2.392 10.402-12.865 15.904-29.09-146.943 13.646-269.353 13.646-416.296 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Join;

impl IconShape for Join {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 23v18h215v110h-37.6l6.5 13 40.1 80.1 46.6-93.1H265V41h215V23zm224 244.9L209.4 361H247v110H32v18h448v-18H265V361h37.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Joystick;

impl IconShape for Joystick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M307.723 39.623c-25.627-.292-48.63 17.365-54.246 43.44-6.418 29.8 12.39 58.93 42.19 65.347 29.798 6.417 58.927-12.39 65.345-42.19 6.417-29.798-12.39-58.928-42.188-65.345-3.725-.802-7.44-1.21-11.1-1.252zm-37.543 117.88L237.123 311h47.055l30.97-143.81c-7.584.836-15.418.507-23.27-1.184-7.854-1.69-15.13-4.617-21.698-8.502zM198.486 329l-10 30h135.028l-10-30H198.486zM73 377v30h30v-30H73zm93.486 0l-10 30h199.028l-10-30H166.486zM409 377v30h30v-30h-30zM57 425v62h398v-62H57z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jug;

impl IconShape for Jug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M188.087 55v18h110V55h-110zm18.916 36c13.267 48.186 13.05 107.504-20.51 156.113l-.232.336-.26.312c-38.645 46.375-45.757 87.258-41.964 123.297 3.5 33.254 16.698 61.922 25.33 85.94h147.44c8.632-24.018 21.83-52.686 25.33-85.94 3.793-36.04-3.317-76.923-41.963-123.298l-.308-.37-.266-.4C268.13 199.788 266.15 139.572 279.23 91h-72.23zm90.428.953c-1.627 5.645-3.022 11.488-4.163 17.48 20.632 4.508 34.043 12.905 42.808 23.31 10.8 12.822 15.037 29.498 14.78 48.196-.354 25.68-9.735 54.496-20.463 77.36 4.116 6.255 7.75 12.46 10.935 18.6 13.874-25.895 27.054-61.406 27.526-95.712.297-21.615-4.74-43.095-19.012-60.04-11.544-13.706-28.812-23.915-52.41-29.195z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JugglingClubs;

impl IconShape for JugglingClubs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.1 22.71C97.35 54.03 85.24 70.03 79 94.06c-6.45 24.84-7.04 61.04-7.67 132.54 4.69 6.2 12.56 11.1 21.45 13.1 8.92 2.1 18.12 1.1 25.02-2.4 30.9-64.4 46.2-97.2 51.3-122.4 5-24.35 1.1-44.04-7.4-83.08zm108.1 4.03c-2.1.1-4.3.29-6.4.75-6.7 1.43-12.5 4.83-16.1 8.86l12 18.62 19.1-4.11 3.2-21.88c-3.3-1.5-7.4-2.34-11.8-2.24zm120.7 9.43l-38.6 12.54c-5.1 39.63-7.2 59.59-.2 83.39 7.3 24.7 25.5 55.9 61.8 117.4 7.2 3 16.5 3.1 25.2.3 8.7-2.8 16.1-8.4 20.2-15.1-6.8-71-10.5-107-19.1-131.2-8.3-23.39-21.8-38.29-49.3-67.33zM241.8 68.62l-17.6 3.78L257 224.9l17.6-3.7zm36.6 170.18l-17.6 3.7 3.1 14.4c2.8-1 5.7-1.9 8.6-2.5 2.9-.7 5.9-1.1 9-1.3zM80.12 254.6l-3.28 14.2 17.51 4.1 3.29-14.2c-3-.3-5.98-.7-8.89-1.4-2.93-.7-5.82-1.6-8.63-2.7zM413 263.5c-2.7 1.3-5.5 2.5-8.4 3.4-2.8.9-5.8 1.6-8.7 2.1l4.5 13.9 17.1-5.5zM283.6 271c-2.4.1-4.9.4-7.3 1-9 1.9-16.9 6.7-21.7 12.8-.5 71.4-.5 107.6 5.6 132.5 5.9 24.1 17.8 40.3 42.1 72l39.6-8.5c9.2-38.9 13.4-58.5 8.8-82.9-4.7-25.2-19.6-58.2-49.4-123.1-5-2.6-11.2-4-17.7-3.8zM72.77 286.4l-35.13 152 17.53 4 35.11-151.9zm350.33 8.2l-17.1 5.5 48.2 148.4 17.2-5.6zM32.82 455.8L20.6 474.1c3.47 4.1 9.26 7.6 15.89 9.1 6.61 1.6 13.34 1 18.26-1.1l-2.89-21.9zm444.78 4l-18.6 6-1 22.1c5.2 1.7 11.9 1.7 18.4-.4 6.5-2.1 11.9-6 15-10.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JugglingSeal;

impl IconShape for JugglingSeal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M385.7 34.49c12.2 9.36 22.2 21.77 29.5 35.52 8.6 16.18 13.5 34.49 13 52.39 12.3-16.5 14.7-39.15 4.4-58.63-9.6-18.16-27.8-28.7-46.9-29.28zm-24.3 6.07c-3.8 17.71-.1 38.21 9.3 55.98 8.8 16.66 22.5 30.66 38 37.96 3.8-17.8 0-38.3-9.4-56.07-8.8-16.66-22.4-30.59-37.9-37.87zm-19.5 13.57c-14.1 16.62-17.4 40.63-6.5 61.07 10.8 20.5 32.5 31.3 54.1 29.1-14.5-9.7-26.4-23.7-34.7-39.3-8.3-15.74-13.1-33.43-12.9-50.87zm25.8 108.07c-6.1 0-18.9 3.4-30.8 10.8-13.6 8.5-26.6 21.4-32.5 35.3-.9 2.2-3.8 12.5-7.5 25-3.6 12.5-8.4 27.8-14.8 42.9-6.4 15.2-14.3 30.2-24.6 42.4-10.3 12.1-23.4 21.5-39.6 23.2-13.1 1.3-25.6-3.9-37.1-11.4-11.6-7.4-22.4-17.3-31.8-27.3-18.9-19.9-32.5-40.2-32.5-40.2l-4.4-6.6 6-5.2c21.7-18.7 23.5-42.8 22.8-62.9-18 9.5-34.6 21.7-40.3 32.7l-3.71 7-7.45-2.8c-10.37-3.9-21.14-4.6-32.43-5.7-7.65-.7-15.63-1.7-23.49-4.3-.33 8.4 3.9 14.8 11.24 21.4 9.87 8.8 25.78 15.9 40.15 20.2l6.14 1.8.29 6.4s1.32 28.3 7.77 59.9c6.49 31.5 19.29 65.4 35.69 75.9 27.8 18 65.6 25.5 103.4 23.1-2.4-2.2-4.7-4.4-6.8-6.6-8.4-8.5-14.7-16.3-18.1-23.6l16.4-7.6c1.6 3.5 7 11 14.5 18.5 7.4 7.6 17 15.7 27.1 22.3 10.1 6.6 20.8 11.8 30.2 13.9 8 1.8 14.6 1.4 20.3-1.2-.3-1.3-.5-2.5-1.5-4.8-2.5-6.1-7.2-14.6-12.4-22.9-10.2-16.6-22-32.4-22-32.4l14.4-10.8s11.1 15 21.6 31.6c11.6-6.4 22.1-13.9 30.9-22.6 15.3-15 21.5-53.6 21.7-88.3.1-34.6-4.4-64.8-4.4-64.8l-.4-2.3.9-2.2c2.6-6.8 5.1-23.1 4.6-36.6-.3-6.7-1.3-12.9-2.8-16.7-1.4-3.9-2.6-4.3-2.5-4.3-.6-.1-1.3-.2-2.2-.2zM336 190a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm37.9 190c-2.5 3.7-5.3 7.3-8.5 10.4-8 7.8-17 14.8-26.7 20.9 9.3 2.8 19.4 4.7 29.7 5.6 24 2.1 47.9-.7 61.8-4.2-.5-.9-1.1-2-2.2-3.5-3.7-4.6-10.4-10.4-18.7-15.4-10.2-6.2-22.8-11.3-35.4-13.8zm-241.4 61L98 487h316l-34.5-46h-39.2c0 3.9-1.3 9.2-5.8 12.2-11.2 7.2-24.5 7.9-37 5-12.5-2.8-24.8-8.9-36.1-16.4-.4-.3-.8-.5-1.2-.8H132.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JumpAcross;

impl IconShape for JumpAcross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M295.883 20.338c-14.656-.098-30.21 16.152-37.057 29.625-8.19 16.117-14.16 43.37-5.826 58.734l-13.63 6.483c-5.76-3.823-46.376-13.28-63.386-10.748-27.583 6.662-52.99 20.944-78.793 33.84l12.165 26.667c23.13-10.42 42.92-28.464 69.89-30.424 21.533-1.566 34.608 11.535 50.786 18.552-1.066 68.896-16.84 101.175-54.03 160.44-26.528 16.792-61.213 17.727-94.11 22.693l12.62 28.323c40.826-5.42 80.217-10.064 108.947-26.65 58.103-41.767 85.666-62.308 148.543-92.38 30.3 9.43 41.237 39.108 55.03 61.048l24.163-22.63c-12.5-27.36-44.15-61.68-79.193-84.066-22.694 7.043-44.088 17.01-64.133 30.01 6.64-24.67 6.65-44.777-1.678-69.448 18.79 6.873 36.892 10.287 54.28 10.137 27.537-20.4 42.684-46.306 62.66-70.066L384 84.564c-16.46 18.927-25.97 37.853-49.404 56.78-16.322-1.3-32.255-8.444-48.114-16.69l-2.732-7.615c15.41-6.64 30.163-24.084 35.334-38.8 6.553-18.647 1.573-50.056-17.004-56.804-2.03-.738-4.103-1.084-6.197-1.098zM18 384v110h142V384H18zm334 0v110h142V384H352z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JumpingDog;

impl IconShape for JumpingDog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-12.6 0-23.5 7.91-32.1 19.29-8.6 11.38-15.7 26.82-21.7 45.55C190.2 125.3 183 176 183 232c1.4 52.3 4.5 97.6 19.2 144.2 6 18.7 13.1 34.1 21.7 45.5 6.5 8.6 14.3 15.2 23.1 17.9V477h-71v18h160v-18h-71v-37.4c8.8-2.7 16.6-9.3 23.1-17.9 8.6-11.4 15.7-26.8 21.7-45.5 4.2-13.2 7.8-28 10.8-44.1 16.9-6.7 32.1-15 32.1-15 21.1 2.8 48.3 7.7 55.1 19.2 3.9 6.8-1.7 18.1 3.3 22.2 13.1 10.7 23.6 1.1 25.8-6.1 2.2-13.4 2.7-25.7-2-36.6-2.2-5-35.1-23.9-58.6-31.1 27.3 4.6 70.9 9 72.4 14.9 2.6 9.8-.7 23.7 7.6 25.5 18.9 4.1 21.7.6 23.1-15 .9-9.4 1.5-17.8-4.7-25.6-6.6-8.3-57-21.6-77.9-25.6 24.9-16.3 27.5-19.5 36.3-28.5 33.3-4.5 43.7-18.3 49.8-39.7 10.8-5.9 4.5-19.7-.7-20-15.5-.7-36.8 1-51.3-5-5.4-7.4-14.9-12.3-25.4-16.8-3.3-7.6 5.2-25.5-1.3-32.6-9.7 3.9-21.9 23.3-26.3 30.9-1.8-9.8-8.6-18.6-13.9-26.5-23.3 28.4-21.6 48.1-35.8 79.6-2.2-43.3-8.7-82.2-18.4-112.46-6-18.73-13.1-34.17-21.7-45.55C279.5 30.91 268.6 23 256 23zm0 18c5 0 11 3.28 17.7 12.15 6.7 8.86 13.4 22.71 19 40.17 10 31.18 16.7 73.88 18 121.48-40.8 18.5-60.7 24.8-93.7 35.5 1.3 43.7 3.5 56.8 13.2 90.4 21.3 3.9 48.7 3.3 70.8-2.2-2.4 11.7-5.2 22.5-8.3 32.2-5.6 17.4-12.3 31.3-19 40.2C267 419.7 261 423 256 423s-11-3.3-17.7-12.1c-6.7-8.9-13.4-22.8-19-40.2-13-52.1-18.2-89.7-18.3-138.7 0-54.5 7.1-103.8 18.3-138.68 5.6-17.46 12.3-31.31 19-40.17C245 44.28 251 41 256 41zm149.6 121.5c3.5-.1 7 4.2 8.1 10 1.2 6.2-.9 11.8-4.6 12.5-3.7.7-7.6-3.8-8.8-10-1.1-6.2.9-11.7 4.6-12.4.2-.1.5-.1.7-.1zM70.16 233.4c6.19 28.4 9.73 57 57.54 62-10.1 32.4-42.5 51.8-88.02 79.7-13.18 8.1-18.91 26.4-9.46 36.2 25.24-9.2 59.87-30.9 81.88-46.7-9.3 11.2-26.55 28.7-35.47 39.4-13.34 15.8-7.9 23.7 1.29 29.7 27.68-19.8 58.38-52.1 76.08-77.1l22.2-8.6c-8.8-32.9-10.4-59.4-10.7-88.3-39.8-3-70.18-7.3-95.34-26.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JumpingRope;

impl IconShape for JumpingRope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-67.8 0-111.5 43.46-132.4 97.8-20 52-20.8 114.2-6.1 163.5l14.2-16.1c-10.1-43.5-8.1-97.2 8.7-141C159.5 78.54 195.7 42 256 42c60.2 0 96.5 36.54 115.6 86.2 16.8 43.8 18.8 97.5 8.7 141l14.2 16.1c14.7-49.3 13.9-111.5-6.1-163.5C367.5 67.46 323.8 24 256 24zm0 92.8c-18.2 0-34.2 17.8-34.2 41.6s16 41.6 34.2 41.6c18.2 0 34.2-17.8 34.2-41.6s-16-41.6-34.2-41.6zM231.3 211c-17.3 3.8-31.3 10.2-33.9 11.4l-74.6 84 8.3 16.6 85.9-68.7V417h30v-64h18v135h30V254.3l85.9 68.7 8.3-16.6-74.6-84c-2.6-1.2-16.6-7.6-33.9-11.4-7.3 4.4-15.7 7-24.7 7s-17.4-2.6-24.7-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jungle;

impl IconShape for Jungle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.2 18c9.9 3.02 19.6 7.05 29.3 11.88 1.6-3.95 3.3-7.92 5.1-11.88zm77 0c10.4 14.85 23.5 29.07 40.9 31.59 20.6 2.97 39.8-11.67 55.4-25.02 2.6-2.21 5-4.4 7.3-6.57h-28.1c-12.1 8.7-25 14.78-32 13.78-5.3-.77-12.6-6.2-19.8-13.78zm147.9 0c2.6 4.63 5.6 9.68 8.9 14.84 11.4 17.59 26 37.44 47 40.45 20.6 2.98 39.8-11.67 55.3-25.02 3.1-2.63 6-5.28 8.7-7.84V18h-3c-4.4 4.68-10.5 10.7-17.4 16.61-14.3 12.24-32.3 22.13-41.1 20.87-9.1-1.32-23.9-16.28-34.4-32.44-1.1-1.69-2.1-3.37-3.2-5.04zM109.5 29.79c-28.56.22-57.93 12.8-91.5 46.32v86.59c14.71 37.1 45.74 64.6 67.85 81.1 4.72-23.7 10.23-62.7-14.87-97.7l-11.26-15.7 19.26 1.5c48.02 3.6 75.42 13.9 111.92 39.6-4.7-14.2-10.9-27.7-21-38.8-16-17.6-41.8-30.9-89.72-33.23l-13.64-.65 5.98-12.28c6.71-13.76 23.04-22.34 47.58-27.52 17.4-3.66 39.6-5.25 66.4-4.24-25.8-14.98-50.1-24.43-73.9-24.97h-3.1zm53.6 42.7c-11.5.3-21.7 1.2-30.6 2.57-1.1 4.65-2.1 9.3-3.2 13.94 9.9 2.81 18.6 6.32 26.3 10.41 2.2-8.95 4.7-17.92 7.5-26.92zm126.7 1.58c-2 0-4.1.14-6.1.32-21.3 1.96-43.7 13.33-70.8 29.01 26.2.5 45.7 3.2 60.3 7.1 20.3 5.4 31.9 13.6 39.4 20.1l16.9 14.7-22.4 1.1c-23.9 1.1-40.4 5.4-51.5 11.2-11.2 5.8-17.3 12.9-21.3 21.6-4.9 10.6-6 24.3-6.4 38.9 11.5-14 22.1-22.8 34.5-27.6 18.2-7.1 37.6-4.8 65.7-1.5l13.8 1.6-7.1 11.9c-18.5 31.1-17 60.7-13 81.7 28.4-16 70.7-33.6 75.8-74.7l1.6-13 11.5 6.1c24.2 13 53.3 22.2 83.3 26.7v-44.1c-11.5-12.4-24.6-21.2-46-25.4l-15.8-3.1 10.9-11.8c14.9-16.2 27.9-23.5 44.3-25.8 2.1-.3 4.3-.5 6.6-.7v-15.7c-5.5-1-11.1-1.8-16.8-2.1-31.8-1.98-63.7 6.9-78.9 27.9l-6.4 8.8-7.4-7.9c-37.6-39.52-64.7-54-90-55.25-.9 0-1.8-.1-2.7-.1h-2zm-173 81.23c-10.3 65.3-14.5 129.3-14.8 190.5 10 .7 19.8 2.2 29.2 4.6 4-61.6 3.9-123.5 12.3-186.4-8.5-3.7-17.1-6.5-26.7-8.7zm296.1 68.4c-1.6 5.9-3.9 11.3-6.6 16.4 52.2 80.4 67.5 166.5 67.3 253.9H494V339.7c-12-34.8-26.4-69.1-46.3-102.5-12.1-3.8-23.8-8.3-34.8-13.5zM40.15 263.8c-6.87 0-14.44.7-22.15 2v17.7c9.33-1.6 18.09-2.6 24.4-2.3 10.47.5 28.01 5.5 42.8 10.9.26-6 .56-12 .91-18.1-14.16-4.9-29.83-9.5-42.87-10.1-1.01 0-2.04-.1-3.09-.1zm192.15 7.3c-18.5 14.7-30.9 19.7-45.2 21.4-9.7 1.2-20.7.5-34.5-.5-.3 6-.5 12-.8 18 13.8 1 25.6 1.7 37.4.4 17.5-2.1 34.2-9.2 54.3-25.2zm184.8 45.6c-7.7-.1-15.5.3-23.1 1-20.4 1.9-40.1 6.3-55.6 12.2-5.9 2.2-11 4.8-15.5 7.5 52.1 3 82.6 8 113.3 16.4l2.7.8c-3.5-12.7-7.7-25.2-12.6-37.7-3.1-.1-6.1-.2-9.2-.2zm-184.8 38.4c-19-.2-36.9 7.6-59.7 29.5l-6 5.8-6.2-5.5c-20.4-18.1-58.2-24.2-93.57-20.2-17.67 2-34.62 6.4-48.11 12.4-.25.1-.47.2-.72.3v7.2c14.54.4 26.81.7 36.57 1.6 16.8 1.6 30.15 5.6 45.93 15l18.2 10.7-20.37 5.7C56.66 429.1 31.63 457.7 30 494h4.33c14.88-8.5 27.26-17.1 40.11-24.1 17.34-9.5 36.46-15.5 61.76-11.4l6.6 1.1.8 6.7c1.3 10.2 4.8 19.4 9.7 27.7h70.3c-1.8-7.2-4.7-14.6-9.3-22.3l-8.5-14.1c22.8.1 47.1 3.2 64.7 9.4 14.3 5.1 33 13.7 57.7 25.3-2.3-16.7-7.4-30.9-18.6-42-14.5-14.5-40.7-25.3-89-27.6l-16.8-.8c16.1-24.8 37.1-31.2 60-34 15.1-1.7 34-2.3 56.4-2.2-25.6-12-47.2-22.6-65.9-27.4-7-1.8-13.7-3-20.2-3.2zm210.2 13.1l-4.6 2.3c-19.4 9.9-33 20.8-41.2 34.1-6.2 10.1-9.5 22-9.4 37 14.7-10.1 24-18.2 34.5-24 8.3-4.6 17.2-7.2 28.7-7.5-2-14.1-4.6-28.1-8-41.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jupiter;

impl IconShape for Jupiter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.175 32A224 224 0 0 0 156.11 55.68h199.71A224 224 0 0 0 256.174 32zM104.247 91.68a224 224 0 0 0-30.668 34.84l355.482-12.694a224 224 0 0 0-21.065-22.146h-303.75zM54.093 160a224 224 0 0 0-6.987 16.303l420.797 7.41a224 224 0 0 0-9.59-23.713H54.093zm-13.037 34.2a224 224 0 0 0-6.168 28.894l441.386-8.024a224 224 0 0 0-2.976-13.257L41.056 194.2zm437.693 38.827L32.92 241.13a224 224 0 0 0-.745 14.87 224 224 0 0 0 1.43 23h251.5c-3.19 1.413-6.214 3.02-9.024 4.816-5.576 3.568-10.425 8.035-14.005 13.184H36.09a224 224 0 0 0 7.93 30H257.46c3.102 9.023 10.002 16.672 18.62 22.184 3.162 2.023 6.593 3.802 10.235 5.336l-225.2 11.058a224 224 0 0 0 11.017 17.67l359.785 11.244a224 224 0 0 0 29.268-48.56l-99.652 4.894c.93-.53 1.844-1.074 2.733-1.642 8.615-5.512 15.516-13.16 18.618-22.184h85.53a224 224 0 0 0 7.82-30h-97.964c-3.58-5.15-8.428-9.616-14.005-13.184-2.812-1.797-5.834-3.403-9.027-4.816H478.96a224 224 0 0 0 .865-15.945l-75.808-10.918s48.452-4.13 75.54-6.344a224 224 0 0 0-.808-12.766zM320.174 290c13.77 0 26.1 3.674 34.394 8.98 8.292 5.303 12.105 11.52 12.105 17.52s-3.813 12.217-12.106 17.52c-8.294 5.306-20.625 8.98-34.395 8.98-13.77 0-26.102-3.674-34.395-8.98-8.293-5.303-12.105-11.52-12.105-17.52s3.812-12.217 12.105-17.52c8.293-5.306 20.624-8.98 34.395-8.98zM96.493 413a224 224 0 0 0 18.897 17h281.693a224 224 0 0 0 18.59-17H96.493zm82.537 53a224 224 0 0 0 77.145 14 224 224 0 0 0 77.488-14H179.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kangaroo;

impl IconShape for Kangaroo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406.5 43.56c-2.8 0-5.3.53-7.2 1.56 2.7 19.56 4.6 24.05 20.1 34.39C398.5 118 412 129.5 305.1 116.2c-47.2-5.9-82.9 2.6-117.3 28.5-48.3 36.4-64.3 56.8-89.6 123.5-18.05 47.6.1 145.4-68.07 110.8-6.44-2.2-13.28-2.6-7.86 6.6 9.53 14.7 27.36 25.1 49.94 16 35.39-14.4 32.49-62.8 58.49-121.2 9-20.5 29.5-69.3 48.8-46.7 6.6 7.8 13.8 23.8 10.1 31.4-15.9 33.3-25.4 56.6-50.3 75.7 3.7 42.2 2.3 87.8-20.4 120.7l8.8 6.9c13.2-9.3 28.2-19 32.5-32.5 1-19.5 3.9-22 2.3-63.2 17.4-17.4 35.3-31.5 50.8-60.9 28.8-8.3 46.3-31.7 70.6-54.3 4.4-4.1 8.1-8.3 11.7-12.3 8-15.8 3.2-34.7-2.8-52.8 16 8.5 22.9 22.8 24.4 36.1 12.8-.6 23.5-1.9 34.6-5.3-3.5-18.7 2.9-31 18.3-43.9-9.1 24-12.2 30.4-4.8 39.3.1-.1.3-.2.4-.2 4.8 9.7 4.7 19.1 4.9 29.4-5.2 7.1-12.9 5.2-20 5.3l-15.4 19.5c13.3-1.7 51.6-9.4 51.8-15.4.8-16.6 4.4-34.4-1-49.8 10.3-7.6 19.7-18.6 27.5-29.4 11-15.4 14.4-28.3 26.7-49.9 2.6-4.6 32.5 7.5 38 5.8 8.7-2.7 14.3-6.4 13.4-15.8-.2-2.6-13.7-11.1-20.9-16.5 0 0 1.2-9.6-1.5-13.27-4.2-5.75-19.8-9.42-19.8-9.42-2.9-21.6-27.7-35.48-42.9-35.35zm52.4 47.7c2.9 0 5.2 2.26 5.2 5 0 2.78-2.3 4.94-5.2 4.94-2.9 0-5.2-2.16-5.2-4.94 0-2.74 2.3-4.98 5.2-5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Katana;

impl IconShape for Katana {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M482.403 42.826c-10.537-8.76-24.84-4.167-43.264 11.643-76.1 65.307-202.78 179.14-282.432 269.103l21.07 21.07c82.21-87.285 203.37-205.524 304.625-301.817zm-338.477 293.42l-17.17 17.028 22.302 22.303c5.313-5.817 10.787-11.75 16.41-17.79zm-56.796.03l-12.728 12.728 79.196 79.196 12.728-12.728zm2.942 54.185l-60.475 60.475c.372 11.49 10.708 22.336 22.628 22.627l60.474-60.474-8.137-8.136c2.657 4.264 2.84 8.705.457 11.097-3.124 3.123-9.554 1.758-14.363-3.05 4.808 4.808 6.174 11.24 3.05 14.363-3.125 3.124-9.555 1.76-14.364-3.05 4.81 4.81 6.174 11.24 3.05 14.363-3.124 3.125-9.555 1.76-14.363-3.05 4.808 4.81 6.173 11.24 3.05 14.364-3.125 3.124-9.556 1.76-14.364-3.05 4.808 4.81 6.174 11.24 3.05 14.364-3.125 3.124-9.555 1.76-14.364-3.05-4.808-4.808-6.173-11.24-3.05-14.363 3.125-3.123 9.556-1.758 14.364 3.05-4.808-4.808-6.173-11.238-3.05-14.362 3.125-3.125 9.555-1.76 14.364 3.05-4.81-4.81-6.174-11.24-3.05-14.364 3.125-3.124 9.555-1.76 14.363 3.05-4.808-4.81-6.173-11.24-3.05-14.364 3.125-3.124 9.556-1.76 14.364 3.05-4.808-4.81-6.173-11.24-3.05-14.364 2.39-2.383 6.828-2.202 11.09.45z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KebabSpit;

impl IconShape for KebabSpit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 22v32.46c2.4-.04 4.8-.08 7.2-.09 3.6-.02 7.2 0 10.8.04V22h-18zm7.3 50.37c-39.7.25-79.5 4.95-107.9 13.31-14.1 4.18-25.4 9.38-32.1 14.62-6.7 5.2-8.4 9-7.8 13.5 2.6 18.1 5.2 35.4 8 52.2 20.6 8.5 44.9 10.7 68.4 14.1-9.1 7.7-38.2 16.1-63.6 12.2 6 31.3 12.9 61 21.8 90.7 32.5 14.4 67.4 20.9 103.9 22.7-31.2 6.8-62.5 12.2-93.7 9 6.4 18.7 13.7 37.7 22 57.4 17.4 4.8 37.8 8.9 61.6 12.1-17.5 3.2-33.7 11.5-53.5 6.3 5.4 12.2 11.3 24.7 17.6 37.6 1.8 3.7 8.4 8.2 19.2 10.9 10.8 2.6 24.9 3.4 38.8 2.7 14-.7 27.8-3.1 38.3-6.3 10.4-3.2 16.5-8.6 16.5-8.6 21.8-48.3 39.5-89.3 53.5-129.4-19.7 3.2-41.3-2.1-55.1-7.6 20.7-.5 41.5-1 60-6.8 4.1-12.4 7.9-24.7 11.3-37.2-14.9-2.9-27.2-10.5-35.8-16.9 14-.2 28.9.8 40.7-2.4 5.9-24.8 10.6-50.5 14.1-78.6-49.6 5-105.6 1.2-149-11 56.4-.7 109.1-3.3 151.6-13 .3-2.3.5-4.6.7-7 .6-6.2-1.8-11-8.7-16.7-6.9-5.7-18.3-11.12-32.6-15.38-28.5-8.52-68.4-12.71-108.2-12.45zM452.4 232.8s-48.1 42.2-44.5 69.5c1.8 13.8 31.3 14.2 30.8 28.1-.7 19.8-43.9 17-46.7 36.6-2.3 16.2 30.1 23.5 28.6 39.8-2.6 29.1-63.1 60.9-63.1 60.9s84.7-25 90.2-60.9c1.9-12.1-22.8-16.5-22.8-28.7 0-24.5 46.2-33.3 45.6-57.8-.4-14.8-25.4-19.1-29.2-33.4-4.7-17.8 11.1-54.1 11.1-54.1zm-391.57 37s-41.34 68.8-21.59 94.3c4.71 6 17.54-4.8 23.02.6 14.57 14.2-11.61 46.6 2.73 61.1 5.87 6 17.32-1.7 25.04 1.5 17.97 7.5 43.37 39.5 43.37 39.5s-5.2-52.2-24.7-64.3c-5.8-3.6-15.11 6.4-20.25 2-17.23-14.9 13.95-53.2-3.19-68.2-4.79-4.3-14.22 5.7-19.08 1.5-17.32-14.7-5.35-68-5.35-68zM265 459.2c-2.3.2-4.7.4-7 .5-3.7.2-7.3.3-11 .3v32h18v-32.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KenkuHead;

impl IconShape for KenkuHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16C164.8 16-10.99 191.2 56.01 336c32.8 67.2 64.59 89.6 96.99 144h23c-23.7-72.7-108.09-117.2-98.99-190.1C87.41 207.4 176 128 256 112c80 16 168.6 95.4 179 177.9 9.1 72.9-75.3 117.4-99 190.1h23c32.4-54.4 64.2-76.8 97-144C523 191.2 347.2 16 256 16zm120 188.4l-81.1 60.8 70.9-10.1zm-239.8.1l10.1 50.6 70.8 10.1zM256 266.7c-39.2 26.1-49.5 30.7-98.6 43.1L256 493l98.6-183.2c-49.1-12.4-59.4-17-98.6-43.1zm-23.5 98.5l16 48-17 5.6-16-48zm47 0l17 5.6-16 48-17-5.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kenya;

impl IconShape for Kenya {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M410.7 119.7v182.1l27.4 25.9-105.9 154.6-73.9-41.8-5.4-39.7L74.66 296.4l36.64-29L62.47 253l50.33-78.4-.8-61.8-47.25-60.96 38.15-19.05 99-3.05S307.1 83.8 310.1 83.09c3.1-.81 91.5-36.58 91.5-36.58l47.9 23.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ketchup;

impl IconShape for Ketchup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.9 22.69l-13.3 44.02 45.6 13.72 90.5 27.17 13.2-44.01-136-40.9zm-3.1 65.9l-26.7 88.61-5.5 1s-16.9 2.9-34.8 9.5c-8.9 3.3-18 7.5-24.9 12.2-7 4.8-11.4 10.1-12.9 14.9l-59.9 199.1c-.6 1.9-.1 4.7 4.2 9.8 4.4 5.1 12.2 11.2 22.3 17.3 20.3 12 49.6 24 79.7 33 30.1 9.1 61.2 15.3 84.7 16.4 11.8.6 21.7-.2 28.1-2.1 6.5-1.8 8.4-3.9 9-5.8L390 283.3c1.4-4.8.6-11.6-2.6-19.4-3.1-7.9-8.4-16.4-14-24-11.3-15.3-23.9-27.1-23.9-27.1l-4-3.9 26.6-88.7-105.3-31.61zm37.7 27.61h1.3c3.1 0 6.2.5 9.4 1.5 22.8 6.8 32.6 33.8 25.1 58.7-7.5 24.9-30.7 41.9-53.4 35.1-22.7-6.8-32.6-33.8-25.1-58.7 6.3-21 23.7-36.4 42.7-36.6zm1.2 18c-10.3-.2-22.1 8.5-26.7 23.8-5.2 17.4 2 32.9 13.1 36.3 11.1 3.3 25.7-5.7 31-23.1 5.2-17.4-2-32.9-13.1-36.3-1.4-.4-2.9-.6-4.3-.7zm-74.3 94.4c1.2 0 2.4 0 3.6.1 14.3.5 29.7 3.4 44.7 7.9 20.1 6 39.1 14.9 53.1 26 7 5.6 12.8 11.7 16.5 18.9 3.8 7.1 5.2 15.6 2.7 23.8l-.1.4-64.7 156.6L149 420.8l32.4-165.9.1-.5.1-.4c2.4-8.1 8.3-14.4 15.3-18.4 7.1-3.9 15.3-5.8 24.2-6.6 3.4-.3 6.8-.4 10.3-.4zm-.1 18c-3 0-5.9.1-8.6.3-7.2.7-13.1 2.3-17 4.5-3.9 2.1-5.8 4.4-6.8 7.6l-13.3 68.2c6.1-7.1 14.1-12.9 22.7-17.3 11.9-6.1 25.3-9.7 38.1-9.7.8 0 1.6 0 2.4.1-.3-5.5-1-10.8-2.2-14.9l17.2-5c2.2 7.5 3 15.7 3.3 23.2 11.1 4.1 21.5 11.7 29.6 21.1 7.8 9 13.9 20 14.7 31.8l23.4-56.6c.9-3.3.6-6.2-1.4-10.1-2.1-4-6.1-8.6-11.8-13.1-11.3-9-28.8-17.4-47-22.9-13.8-4.1-28-6.6-40.3-7.1-1-.1-2-.1-3-.1zm13 71.8c-9 .4-19.1 3.1-27.9 7.5-12.6 6.4-21.8 16.2-23.9 26.1-1.5 7.8 2.4 18.1 10.1 26.9 7.7 8.9 18.9 15.8 27.7 17.5 10.9 2.1 26.3-.5 39-7 12.6-6.4 21.8-16.2 23.9-26.2 1.5-7.7-2.3-17.9-10-26.8-4.9-5.6-11.1-10.4-17.3-13.6.4.9.9 2 1.7 3.2 2.3 3.7 6.5 8.2 10 14.3l-15.6 9c-2.1-3.6-6-7.9-9.6-13.6-4.7 4.3-9.8 8.4-15.5 12.4l-10.2-14.8c6.7-4.7 12.4-9.7 17.6-14.9zM177 371.2l-7.2 37 107 32.1 20.1-48.8c-5.6 5.7-12.3 10.3-19.5 14-15.8 8-34.3 11.7-50.5 8.5-14.3-2.7-27.8-11.6-37.9-23.3-5.1-5.8-9.3-12.4-12-19.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KeyCard;

impl IconShape for KeyCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.9 17.89h-1.8c-8.2.27-18.6 2.98-31.8 8.59L59.61 126.4c-21.18 8.9-31.79 17.7-35.74 27.5-3.95 9.7-2.41 23.4 6.57 44.6l49.95 117.8c8.97 21.2 17.72 31.8 27.51 35.7 9.7 4 23.4 2.5 44.6-6.5l235.7-99.9c13.5-5.7 22.7-11.3 28.6-17.2 4.5 5.5 8.7 11.6 12.2 18.2 3.8 7 6.8 14.4 8.9 21.8-2.5-.3-5.1-.4-7.7-.4-14.1.3-28.1 5.7-39.2 16.2-20.6 19.6-24.2 50.4-10.1 73.8l-50.2 47.7-22-5.9.8 26.1-27.4-.8-2.6 29.4-23.7-4.4 4.6 22.5-17 21.5 62.8-10.9 104.9-100c20.2 7.5 43.7 3.4 60.5-12.6 23.7-22.5 24.9-59.9 2.5-83.9-4.9-5.2-10.4-9.3-16.4-12.3-2.1-12.5-6.7-24.9-12.8-36.3-5.4-10-11.9-19.3-19.2-27 1.1-9.1-1.4-21.1-8.4-37.6L367.4 55.67c-8.9-21.17-17.7-31.78-27.5-35.74-3.2-1.3-6.8-2-11-2.04zm-15.6 50.96l7 16.58-132.6 56.17-7-16.6zm14.9 38.25l7 16.6-73.7 31.2-7-16.6zm-189.7 18.4L208 289.4l-90.3 38.2L51.81 172l-3.51-8.3zm206 17l7 16.6-88.4 37.4-7-16.6zm-215.6 6.6l-57 24.2L127.3 304l57.1-24.2zm255.7 25c13.1 0 23.9 10.3 24.9 23.1-8.9-6-18.7-9.6-28.6-8.9-1.7.1-3.4.3-5.1.7l4 17.6c6-1.4 14.6 1.2 23.8 8.5 0 0 .1 0 .1.1-4.6 5.4-11.5 8.9-19.1 8.9-13.7 0-25-11.3-25-25s11.3-25 25-25zm53.7 120.1c.8 0 1.6 0 2.4.1-.9 8.9-4.1 16.5-10.1 22.5l12.6 12.8c7.7-7.7 12.3-17.1 14.4-27.2 9.7 10.5 9.2 27.1-1.1 36.9-10.4 9.9-26.9 9.4-36.6-1-9.8-10.5-9.2-27.2 1.1-37 4.9-4.6 11.1-6.9 17.3-7.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KeyLock;

impl IconShape for KeyLock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288.7 30.45h-1.1c-.9.1-1.8.21-2.6.45-3.5.96-6.5 3.01-9 8.19L139.7 319.5c4.7 1.7 9.3 3.7 13.9 5.9 4.5 2.2 8.9 4.6 13.1 7.2L303 52.23c2.5-5.17 2.3-8.82.9-12.09-1.3-3.27-4.2-6.2-7.8-7.95-2.4-1.15-5-1.74-7.4-1.74zm19.6 52.13l-34.1 70.12 16.1 7.9 24-49.3 10.2-20.85zm39.4 1.36l-48.2 98.86 45 21.9 7.7-15.6-21.8-28.4 18.8-38.8 35.7-.4 7.7-15.7zm37.6 191.16c-57 0-103 46-103 103s46 103 103 103 103-46 103-103-46-103-103-103zm0 27a32 32 0 0 1 32 32 32 32 0 0 1-18.5 29l18.5 83h-64l18.5-83a32 32 0 0 1-18.5-29 32 32 0 0 1 32-32zM93.19 329.4c-6.31.1-12.42.7-18.2 1.9-21.01 4.3-37.52 15.6-45.78 32.6-8.26 17-6.97 37 2.6 56.2 9.61 19.4 27.7 37.5 51.81 49.2C107.8 481 133.2 484 154.4 479.6c21-4.3 37.5-15.6 45.7-32.6 8.3-17 7-37-2.6-56.2-9.6-19.4-27.7-37.5-51.8-49.2-16.6-8-33.8-12-49.8-12.2zm-3.31 28.2c6.42 0 13.02 1.5 19.22 4.5 7.9 3.9 14.3 9.8 18.5 16.7 1.8-.2 3.7-.3 5.5-.3 6.4.1 12.9 1.6 19.1 4.6 19.7 9.6 30.1 32.1 21 50.8-9.1 18.7-33.2 24.4-52.9 14.9-7.9-3.9-14.3-9.8-18.5-16.7-8.14.9-16.77-.4-24.69-4.3-19.7-9.6-30.01-32.1-20.92-50.8 6.25-12.9 19.57-19.6 33.69-19.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Keyboard;

impl IconShape for Keyboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 21.074c0 10.508 7.18 18.167 14.71 23.412 7.532 5.246 16.41 9.202 24.698 13.15 8.287 3.95 15.954 7.94 20.332 11.657 4.378 3.717 5.225 5.25 4.46 8.82-.497 2.315-1.215 3.316-2.612 4.46-1.397 1.146-3.766 2.287-7.15 3.107-6.77 1.64-17.084 1.778-27.94 1.722-10.856-.055-22.27-.272-32.76 1.975-10.49 2.246-21.296 8.173-25.252 19.7-2.59 7.548-.236 15.34 3.37 20.804 3.605 5.464 8.328 9.71 12.857 13.696 2.997 2.638 5.89 5.126 8.355 7.424h22.875c-1.575-3.354-3.862-6.223-6.168-8.754-4.138-4.544-8.918-8.44-13.17-12.182-4.25-3.74-7.917-7.357-9.726-10.1-1.81-2.74-1.9-3.496-1.368-5.044 1.518-4.425 4.565-6.35 11.996-7.94 7.43-1.593 18.006-1.633 28.898-1.578 10.892.056 22.087.24 32.27-2.228 5.09-1.234 10.058-3.184 14.322-6.678 4.264-3.494 7.53-8.68 8.8-14.61 2.275-10.606-3.357-20.327-10.41-26.314-7.052-5.987-15.765-10.15-24.238-14.185-8.472-4.037-16.733-7.896-22.152-11.67-5.42-3.775-6.998-6.34-6.998-8.643h-18zM41 169v174h430V169H41zm7 14h16v18H48v-18zm32 0h16v18H80v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm48 0h48v18h-48v-18zm96 0h32v18h-32v-18zM48 215h32v18H48v-18zm48 0h16v18H96v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h32v18h-32v-18zm48 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm-127.87 25h18v57h-25v-18h7v-39zM48 247h16v18H48v-18zm32 0h16v18H80v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm96 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm-96 16h16v18h-16v-18zM48 279h32v18H48v-18zm48 0h16v18H96v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm112 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zM48 311h16v18H48v-18zm32 0h16v18H80v-18zm32 0h144v18H112v-18zm160 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h16v18h-16v-18zm32 0h48v18h-48v-18zm64 0h16v18h-16v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Keyring;

impl IconShape for Keyring {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.764 23.62c-66.823 0-121.229 54.116-121.229 120.689 0 29.28 10.528 56.147 28.004 77.064a86.539 86.539 0 0 0-1.723 4.336c-3.952 10.807-5.462 21.415-4.386 30.719.718 6.21 2.773 12.468 6.851 16.965L135.598 398.31l-47.672-18.782-6.598 16.748 48.084 18.942-6.656 18.203-35.404-13.35L81 436.916c17.473 6.585 34.944 13.174 52.416 19.762 21.79-59.28 44.967-122.985 64.79-177.157 6.027-.835 11.645-4.313 16.206-8.61 4.434-4.179 8.385-9.48 11.695-15.636a120.583 120.583 0 0 0 20.153 6.588c.63 9.197 2.754 17.572 6.236 24.502 2.81 5.592 6.893 10.773 12.268 13.61v95.947h-56.116v18h56.116v19.228h-37.41v18h37.41v19.23h-56.116v18h74.116V299.976c5.375-2.837 9.458-8.018 12.267-13.61 3.482-6.93 5.606-15.305 6.237-24.502a120.583 120.583 0 0 0 20.152-6.588c3.31 6.156 7.261 11.457 11.695 15.635 4.561 4.298 10.178 7.777 16.207 8.611l32.867 89.87-34.746 11.23 5.536 17.127c11.799-3.812 23.597-7.627 35.396-11.441l6.686 18.279-58.436 20.453 5.947 16.99c19.557-6.848 39.115-13.693 58.672-20.539l6.64 18.16-17.798 6.422 6.11 16.932c11.602-4.183 23.203-8.37 34.804-12.557-21.677-59.615-44.958-122.945-64.754-177.054 4.078-4.496 6.134-10.755 6.852-16.965 1.076-9.304-.435-19.912-4.387-30.719a86.539 86.539 0 0 0-1.723-4.336c17.476-20.917 28.004-47.785 28.004-77.064 0-66.573-54.405-120.69-121.228-120.69zm0 18c57.141 0 103.228 45.89 103.228 102.689 0 22.64-7.33 43.544-19.758 60.503a53.525 53.525 0 0 0-5.004-5.443c-6.833-6.439-16.033-11.076-25.443-7.668-9.41 3.409-13.465 12.849-14.54 22.153-.879 7.592-.032 16.053 2.456 24.783a102.855 102.855 0 0 1-14.166 4.884c-1.023-6.606-2.878-12.657-5.506-17.886-4.21-8.379-11.262-15.865-21.267-15.865-10.006 0-17.059 7.486-21.268 15.865-2.627 5.23-4.482 11.28-5.506 17.886a102.853 102.853 0 0 1-14.166-4.886c2.488-8.729 3.333-17.19 2.455-24.781-1.076-9.304-5.129-18.744-14.539-22.153-9.41-3.408-18.61 1.23-25.443 7.668a53.525 53.525 0 0 0-5.004 5.443c-12.428-16.959-19.758-37.862-19.758-60.503 0-56.798 46.087-102.69 103.229-102.69zm-59.527 167.02c.617.075 2.49 1.653 3.144 7.315.428 3.7.152 8.54-.947 13.82a103.29 103.29 0 0 1-13.961-11.12c1.716-2.506 3.485-4.63 5.177-6.225 3.64-3.43 5.97-3.866 6.587-3.79zm125.64 3.79c1.693 1.595 3.461 3.719 5.178 6.224a103.29 103.29 0 0 1-13.961 11.121c-1.1-5.28-1.375-10.12-.948-13.82.655-5.662 2.525-7.24 3.143-7.316.618-.075 2.949.362 6.588 3.79zm-66.113 15.34c.324 0 2.623.848 5.183 5.945 1.631 3.247 3.012 7.732 3.805 12.896-2.962.253-5.959.389-8.988.389-3.03 0-6.026-.136-8.989-.389.793-5.164 2.174-9.65 3.805-12.896 2.56-5.097 4.86-5.945 5.184-5.945zm-79.246 7.802a121.914 121.914 0 0 0 15.58 11.399c-2.527 4.608-5.38 8.37-8.04 10.877-4.154 3.914-6.604 3.931-6.907 3.822-.303-.109-2.169-1.689-2.823-7.346-.558-4.829.066-11.587 2.19-18.752zm158.492 0c2.123 7.165 2.746 13.923 2.187 18.752-.654 5.657-2.52 7.237-2.822 7.346-.302.11-2.754.092-6.908-3.822-2.66-2.506-5.51-6.27-8.037-10.877a121.915 121.915 0 0 0 15.58-11.399zm-88.33 29.09c3 .222 6.028.338 9.084.338 3.055 0 6.084-.116 9.084-.338-.771 5.467-2.195 10.227-3.9 13.623-2.561 5.097-4.86 5.945-5.184 5.945-.325 0-2.623-.848-5.184-5.945-1.706-3.396-3.13-8.156-3.9-13.623z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KickScooter;

impl IconShape for KickScooter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M306.9 40v18h72.4l43.9 263.9L350.3 424h-203c-2.7-24-16.2-46.5-36.8-59.8-23.17-15-55.72-17.3-88.39 3.2l9.58 15.2c27.83-17.5 51.27-14.8 69.01-3.3 15.1 9.8 25.7 26.9 28.5 44.7h-24.3c-4.1-17.2-19.46-30-38-30-21.65 0-39 17.4-39 39s17.35 39 39 39c18.54 0 33.9-12.8 38-30h254.6l67.9-95.1 8.4 50.1c-14.1 5.9-23.9 19.8-23.9 36 0 21.6 17.4 39 39 39s39-17.4 39-39c0-20.7-16-37.5-36.3-38.9L397.5 58h21.4V40z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KidSlide;

impl IconShape for KidSlide {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185 89v46h44.3l192 352h65.6c-.3-12.4-1.3-23.6-5-31-4.5-9.1-11.9-15-33.9-15h-5.4L275.4 132.2v-.1c-8.1-15.8-14.6-26.9-21.9-33.44-7.2-6.55-15-9.66-29.5-9.66h-39zM51 90v35H28v18h23v30h18v-30h78v30h18V90h-18v35H69V90H51zM37 191v30h142v-30H37zm14 48v14h18v-14H51zm96 0v14h18v-14h-18zM37 271v30h142v-30H37zm14 48v14h18v-14H51zm96 0v14h18v-14h-18zM37 351v30h142v-30H37zm14 48v14h18v-14H51zm96 0v14h18v-14h-18zM37 431v30h142v-30H37zm14 48v15h18v-15H51zm96 0v15h18v-15h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kidneys;

impl IconShape for Kidneys {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M344.1 40.2c-10 4.77-17.3 11.14-20.6 18.48-3.3 7.34-3.5 16.4 3.3 29.82 4.8 9.28 14.3 20.4 23.7 32.7 9.4 12.2 18.8 25.9 22.4 42.2 4.7 21.5-2.9 44-8.9 63.8-3.1 10-5.8 19.3-7 26.9-1.2 7.6-.6 13.2 1.1 16.5 6.1 11.4 14.3 16.3 25 17.9 10.7 1.6 24.1-1 37.5-7.1 26.9-12 53.3-37.9 61.4-61.3 6.4-18.3 4.5-63-8.3-103.2-12.7-40.18-35.8-75.54-65.2-83.88-19.7-4.57-47.3-.68-64.4 7.18zm-240.6-7.16C74.09 41.39 51.04 76.75 38.25 117 25.46 157.1 23.63 201.8 30 220.1c8.14 23.4 34.53 49.3 61.39 61.3 13.41 6.1 26.81 8.7 37.51 7.1 10.7-1.6 18.9-6.5 25-17.9 1.7-3.3 2.3-8.9 1.1-16.5-1.2-7.6-3.9-16.9-7-26.9-6-19.8-13.6-42.3-8.9-63.8 3.6-16.3 13-30 22.4-42.2 9.4-12.3 18.9-23.42 23.7-32.7 6.8-13.42 6.6-22.48 3.3-29.82s-10.6-13.7-20.6-18.47c-21-7-42.9-13.15-64.4-7.17zm59.1 118.86c-3 5.9-5 11.6-6.3 17.2 12.6 6.3 23.8 13.8 28.3 20.4 25 36.3 33.8 107.5 35 168.9 1.1 61.4-4.5 121-4.5 121l17.8 2s5.8-60.6 4.6-123.4c-1.1-62.7-8.3-135.4-38.1-178.7-8.3-12-22.3-20.7-36.8-27.4zm186.8 0c-14.5 6.7-28.5 15.4-36.8 27.4-29.8 43.3-37 116-38.1 178.7-1.2 62.8 4.6 123.4 4.6 123.4l17.8-2s-5.6-59.6-4.5-121c1.2-61.4 10-132.6 35-168.9 4.5-6.6 15.7-14.1 28.3-20.4-1.3-6.1-3.8-12.4-6.3-17.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kimono;

impl IconShape for Kimono {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 24l-9.617 9.617c.586.598 1.085 1.276 1.484 2.012l72.596 130.67L328.11 35.673c.128-.237.266-.467.415-.692L320 24c-32 23.71-96 21.265-128 0zm-22.62 22.62L160 56c-16 0-48 16-64 32L16 248l80 48 48-112-9.158 87h64.195l47.195-86.05zm171.155 3.827L228.342 255H297v16h80.158L368 184l48 112 80-48-80-160c-13.322-12.132-48-32-71.154-32zM129.578 321l-9.982 94.84L171.613 321zm62.565 0l-76.868 135.88C114.277 458.763 112 488 112 488h288l-17.578-167h-79.86l48 96h-52.125L256 332.127 213.562 417h-52.087c15.955-32.003 31.827-64.05 47.884-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KingJuMask;

impl IconShape for KingJuMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.144c-49.306 0-84.844 8.981-110.263 24.112-25.418 15.133-41.264 36.376-51.248 63.36-19.357 52.316-14.616 126.42-5.953 206.1 18.769 3.884 116.162 23.57 167.464 23.57 51.302 0 148.696-19.688 167.465-23.57 8.661-79.68 13.404-153.784-5.954-206.102-9.984-26.982-25.83-48.226-51.248-63.358C340.845 27.125 305.305 18.144 256 18.144zm-83.59 44.813l27.015 18.65L179.93 99.19l20.914 26.218-29.335-18.623-14.217 12.824 47.423 31.44-57.971-21.925-38.232 34.483 25.056-39.468-15.941-6.028 9.677-18.385 15.317 10.156 9.7-15.282-17.29-10.977 16.65-19.845 11.253 14.105zm201.82 89.576l6.766 12.938c13.747-6.266 25.762-11.648 27.532-12.13l1.613 18.964-23.268 4.403 10.356 19.807-26.226-16.807-35.51 6.72s12.562-5.823 26.73-12.346l-22.292-14.285zm-253.28 56c2.133-.054 4.321.488 6.354 1.504 36.77 18.385 55.255 36.572 91.925 55.155 11.602 5.88-17.594 18.386-36.77 18.386-55.155 0-73.54-36.77-73.54-55.156-.269-14.19 5.633-19.724 12.03-19.889zm270.097 0c6.4.165 12.301 5.697 12.032 19.89 0 18.384-18.385 55.155-73.54 55.155-19.175 0-48.372-12.506-36.77-18.386 36.67-18.583 55.155-36.77 91.925-55.155 2.034-1.016 4.22-1.558 6.354-1.504zm15.136 127.838c-38.646 7.537-107.206 19.597-150.183 19.597-42.86 0-111.14-11.991-149.845-19.531 21.287 60.866 66.897 106.958 83.618 123.68 18.384 18.384 32.904 33.74 66.227 33.74 33.214 0 47.752-15.266 66.05-33.57 37.397-43.5 65.904-66.84 84.135-123.916zM182.46 375.503c55.155 18.385 91.925 18.385 147.08 0-18.385 18.385-36.77 36.77-73.54 36.77s-55.155-18.385-73.54-36.77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KitchenScale;

impl IconShape for KitchenScale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.73 121l49.57 62h311.4l49.6-62H50.73zM245 201v46h22v-46h-22zm-126 64L75.53 439H436.5L393 265H119zm137 14c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm0 18c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55zm16 12.5l-5.9 65.7-30.2-10.5 36.1-55.2zM41 457v30h430v-30H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KitchenTap;

impl IconShape for KitchenTap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M305.3 67.89L73 150.4V199h46v-32.7l191.6-72.54-5.3-25.87zM369.5 169L119 252.5V217H73v222h61.1c-2.5-34.5 8.2-65.6 26.3-92.2 20-29.2 48.5-53.3 78.6-72.7 30-19.4 61.6-34 87.8-43.9 13.1-4.9 24.9-8.7 34.5-11.2 9.7-2.6 16.8-4 22.7-4h55v-46h-69.5zm46.5 85.2c-4 5.2-9.4 12.3-14.5 20.4-10.4 16.1-18.8 36.1-17.2 46.1 1.1 7.3 5.7 16.3 11.9 22.9 6.2 6.6 13.6 10.5 19.8 10.5 6.1 0 13.5-3.9 19.7-10.5 6.2-6.6 10.8-15.6 11.9-22.9 1.6-10-6.8-30-17.1-46.1-5.2-8.1-10.5-15.2-14.5-20.4zM41 457v30h138.5l-10-30H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kite;

impl IconShape for Kite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.56 37.535c-2.73 9.522-7.43 19.245-13.263 29.092-10.537 17.786-25.074 35.97-40.424 52.674-15.35 16.705-31.498 31.88-45.318 43.393-1.636 1.363-3.232 2.664-4.797 3.92 73.788-1.87 129.856-10.404 172.217-21.527-16.666-35.65-38.964-71.863-68.414-107.55zm25.792 3.518c25.297 32.908 44.98 66.205 60.097 99.062 20.755-6.355 37.728-13.287 51.486-20.166 23.195-11.598 37.367-23.02 45.66-31.313.56-.56 1.02-1.055 1.523-1.578-24.93-3.32-85.136-14.01-158.768-46.007zm171.416 58.832c-.47.488-.944.98-1.444 1.478-9.707 9.707-25.535 22.285-50.34 34.688-14.265 7.133-31.51 14.208-52.26 20.673C385.457 204.35 399.3 267.8 402.54 315.27c3.912 62.24-4.2 114.432-13.243 149.023 6.263-8.047 12.805-17.732 19.22-28.805 15.812-27.3 31.415-62.77 43.772-102.18 22.904-73.052 34.377-159.596 17.478-233.423zm-121.395 61.86c-45.878 12.342-106.803 21.565-187.478 23.042 31.007 29.097 61.39 64.16 89.17 100.188-26.307 30.073-54.772 57.992-82.956 82.58-3.816 3.33-7.626 6.592-11.424 9.797l-8.08-17.502-22.487 2.498 2.497 22.488 15.117 3.24c-12.492 10.146-24.77 19.552-36.617 28.13l-4.922-16.608-22.613-.762-.762 22.615 13.672 5.075c-6.067 4.17-11.992 8.106-17.724 11.766-6.105 3.9-12 7.478-17.66 10.76l.238-15.46-21.354-7.483-7.482 21.354 13.086 10.132c-13.478 6.994-24.8 11.673-32.82 13.678l4.367 17.46c3.664-.916 7.605-2.17 11.78-3.718l-.146-.582c2.415-.604 5.167-1.5 8.19-2.647 5.216-2.243 10.77-4.91 16.607-7.945l-.258 16.88 21.354 7.48 7.484-21.352-14.133-10.942c6.522-3.762 13.337-7.91 20.433-12.44 2.273-1.452 4.58-2.956 6.902-4.484 4.84-3.31 9.815-6.832 14.893-10.527l5.352 18.06 22.615.762.762-22.615-15.776-5.853c12.51-9.533 25.545-20.078 38.827-31.473l8.07 17.488 22.49-2.498-2.5-22.488-15.634-3.352c4.477-3.976 8.97-8.032 13.473-12.183 63.37-58.424 128.223-133.68 166.674-209.6-.408-.986-.81-1.97-1.227-2.956zm9.815 25.288c-23.644 43.21-54.687 85.363-88.528 124.104 10.784 14.773 21.07 29.505 30.692 43.85 21.597 32.21 39.898 62.39 53.326 86.656 6.17 11.15 11.17 20.653 15.084 28.812 9.33-31.65 20.007-87.328 15.814-154.055-2.504-39.857-10.188-83.775-26.39-129.367z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KiwiBird;

impl IconShape for KiwiBird {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.615 74.23c-77.058.06-152.457 51.774-181.7 89.022C1.473 250.43-36.964 427.192 244.208 381.209c82.987-13.571 135.481-92.932 146.56-163.43 39.376 13.812 99.225-2.416 100.503-38.236 1.713-48.028-82.63-99.395-130.756-60.74-33.239-32.311-71.268-44.602-108.9-44.573zm189.384 101.54a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm27.278 56.154c-8.908 4.545-18.736 7.692-29.059 9.242 21.96 44.054 29.427 92.59 45.61 138.432 2.761-32.499 2.588-94.97-16.551-147.674zM238.494 401.426a239.162 239.162 0 0 1-18.141 3.78l21.887 45.798c-18.37-.055-38.017.352-58.946 1.387l-11.842-44.215c-6.45-.31-12.826-.9-19.105-1.764l12.598 47.041c-7.103.46-14.296.969-21.664 1.578l1.484 17.938c76.27-6.31 137.96-4.22 183.404-.008l1.66-17.922c-19.613-1.818-42.188-3.236-67.525-3.793z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KiwiFruit;

impl IconShape for KiwiFruit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M344.1 34.19c-25.2 3.48-86.9 13.87-149.2 38.78-40.4 16.16-81.2 38.43-112.27 69.43-31.09 31.1-52.37 71.4-52.51 121.6-.15 53.8 21.43 95.2 53.29 125.5 31.89 30.3 73.69 50 115.19 63.1 57.8 18.2 115.2 23.6 144.8 25.2-14.5-3.8-27.5-11.4-38.8-21.5-28.7-3.4-64.7-9.6-100.6-20.9-39.8-12.5-79.2-31.4-108.19-58.9C66.86 349 47.99 313.2 48.12 264c.12-45.2 18.69-80.3 47.23-108.8 28.55-28.5 67.25-49.9 106.25-65.52 36.1-14.44 72.2-23.87 100.7-29.85 1.6-1.62 3.3-3.21 5-4.72 10.9-9.57 23.2-16.88 36.8-20.92zm23.8 14.49c-18.4 0-34.3 7.24-48.7 19.92-14.3 12.67-26.8 30.91-36.8 51.9-20.1 42.1-30.5 95.4-30.7 135.6-.2 39.7 9.3 92.7 28.7 134.6 9.7 21 21.8 39.2 35.8 51.9 14 12.6 29.6 19.8 47.7 19.9 18.9.1 35.2-7.2 49.8-20.2 14.7-13 27.4-31.7 37.6-53.3 20.5-43.2 30.8-97.8 30.6-138.9-.1-39.1-10.4-90.9-30.2-131.9-9.9-20.4-22.2-38.1-36.2-50.37-14.1-12.27-29.6-19.15-47.6-19.15zm17 55.32l17.6 3.6-4.9 23.9-17.6-3.6zm-52.1 15l8 12.4-15.2 9.8-8-12.4zm31.3 7.7l6 18.8-17.2 5.4-6-18.8zm57.7 14.4l15.4 9.2-10.9 18.4-15.4-9.2zm-96.9 13l12.4 15.9-14.2 11-12.4-15.9zm54 10c38.8.4 52.2 65.2 52 103.9-.1 40.7-14.7 109.2-55.4 108.8-40-.5-52.8-68.1-52-108.1.7-39.4 16-105.1 55.4-104.6zm57.9 10.8l14.2 11.2-10.5 13.4-14.2-11.2zm4.5 35.4l17 5.8-7.4 21.4-17-5.8zm-133.4 7.5l2.8 17.8-17.8 2.9-2.8-17.8zm-.5 43.3l4.8 17.4-16.3 4.5-4.8-17.4zm138.2 9l11.9 3-4.4 17.4-11.9-3zm-146.2 36.6l19.4 4.5-4 17.6-19.4-4.5zm144.2 9.8l10.9 10.4-12.4 13-10.9-10.4zm-13.8 37.7l11.4 19.9-15.6 9-11.4-19.9zm-108.6 14.7l16 8.4-7.9 14.9-16-8.4zm80.1 5.7l8.5 15.8-16.7 9-8.5-15.8zm-51.8 16.6l18 1.6-2 22.8-18-1.6zm41.2 18.7l2.5 17.5-17.8 2.6-2.5-17.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Klingon;

impl IconShape for Klingon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.346 22.574c-5.96 35.582-13.117 77.584-21.662 121.918-7.5 38.915-15.677 77.15-24.065 107.836-4.195 15.343-8.43 28.79-12.766 39.652-2.938 7.36-5.758 13.412-9.125 18.405 24.825 31.515 48.93 62.82 71.237 93.572 1.542-2.86 3.284-5.918 5.244-9.21 7.523-12.628 17.837-28.182 28.075-43.165s20.388-29.365 27.457-39.402c1.39-1.972 1.965-2.817 3.092-4.424-1.702-2.13-2.99-4.47-4.357-7.19-4.268-8.48-8.444-20.64-12.918-35.93-8.95-30.578-18.674-73.233-27.585-117.132-8.912-43.9-16.986-88.975-22.516-124.127-.052-.32-.064-.484-.114-.803zM285.54 190.54c1.596 7.14 3.195 14.058 4.792 20.81 49.34 20.072 84.05 68.448 84.05 125.076 0 9.046-.892 17.88-2.58 26.424 5.21 3.43 10.684 6.607 16.307 9.52 2.785-11.53 4.273-23.566 4.273-35.944 0-68.312-44.955-126.273-106.844-145.885zm-100.196 2.745c-57.786 21.875-98.96 77.766-98.96 143.14 0 9.073.795 17.962 2.315 26.604 5.18-3.613 10.8-7.414 16.523-11.507-.55-4.956-.84-9.992-.84-15.097 0-53.53 31.014-99.69 76.084-121.535 1.638-6.997 3.265-14.208 4.877-21.605zM321.418 337.44l-56.398 86.833c39.054 17.92 85.905 23.705 124.843 19.36 20.97-2.34 39.59-7.577 53.176-14.774 8.204-4.346 14.152-9.32 18.32-14.585-5.27-.66-11.096-1.665-17.778-3.132-14.25-3.13-31.137-8.177-48.12-15.426-28.752-12.274-58.282-30.866-74.044-58.278zm-174.322 1.187c-15.578 18.596-36.585 31.004-50.184 40.613-24.06 17-34.61 34.96-40.346 57.27-3.65 14.193-4.978 30.99-5.927 49.058 16.385-17.526 40.027-33.05 66.325-44.75 31.124-13.845 66.08-22.098 97.45-18.26-8.044-10.21-18.08-22.807-28.61-35.933-19.204-23.937-33.05-41.01-38.71-47.998zm12.152 106.508c-6.906 1.738-13.816 3.867-20.627 6.344 26.933 23.612 62.197 37.946 100.763 37.946 33.2 0 63.95-10.624 89.05-28.643-8.773-1.142-17.566-2.727-26.283-4.77-18.743 9.84-40.092 15.413-62.767 15.413-30.03 0-57.735-9.766-80.135-26.29z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KneeBandage;

impl IconShape for KneeBandage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.7 21.11c17.4 39.04 44.6 77.48 75.7 113.69 24.1-31 63.7-52.84 107-72.49-8.9-14.35-18.4-28.29-28.2-41.2H122.7zm192 56.8c-30.8 13.97-59 28.89-80.2 46.19 12.6-3.1 26.6-5.8 40.8-7.8 15.4-2.2 30.8-3.7 44.8-3.5 4.5.1 8.9.4 13.2.9-5.5-11.9-11.8-23.9-18.6-35.79zm.5 53.39c-11.6 0-24.5 1-37.4 2.8-25.2 3.5-50.8 10-66.4 15.5 4.9 5.4 9.9 10.8 14.9 16.2 31.2-15.2 64.2-29.1 104.1-33.8-4.7-.4-9.8-.6-15.2-.7zm31.9 17.4c-41.4 2-74.9 15-107.7 30.8 3.5 3.5 7 7.1 10.6 10.6 1.7-.4 3.5-.8 5.4-1.1 10.4-1.9 23.5-3.2 37.5-3.9 7-.4 14.2-.6 21.3-.6 14.7 0 29.2.9 41.7 3.2-1.1-11.6-4.1-24.8-8.8-39zm-37.9 53.9c-5.2 0-10.4.2-15.4.4-13.3.7-25.9 2.1-35.2 3.7-.3.1-.5.1-.8.2l-3.3 2.4c-5.4 4-10.1 8.8-14.3 14.4 38.8-2.1 78.6-9.2 107.3-19-11.1-1.5-24.7-2.2-38.3-2.1zm32.8 23c-28.3 8.5-62.6 14-96.7 16 28.1 11.2 57.2 10.4 84.8 4.4 3.9-6.8 7.9-13.6 11.9-20.4zm-116.3 26.6c-6 16.6-10.1 36-13.8 57-7.6 43.6-13.5 92.6-36.7 133-6.7 18.7-10.5 34.3-9.1 40.4.7 3.1 1.4 4.2 5.1 5.8 3.7 1.5 11 2.6 22.2 1.7H356.5c2.7-5.3 5.1-9.2 5.2-9.7 0-.4.4 0-1.1-1.7-1.4-1.7-5.1-4.7-11.8-8.3-17.2-9.3-30.5-13.4-46.2-17.7-15.7-4.3-33.7-8.7-58.5-18.6l-9.5-3.8 4.9-9c25.2-45.1 50.2-100.8 79.5-155-30.1 4.3-62.5 2.1-93.3-14.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KneeCap;

impl IconShape for KneeCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.91 15.15v55.19C52.94 91.19 99.09 120.3 139.7 148.4c21.1 14.6 40.7 28.9 55.7 41.8 15.1 12.8 26.1 23 29.5 35.7l.3 1v1c.4 15.2 3.7 25.2 7.9 31.2s9.1 8.6 15.6 9.5c12.9 1.9 32.2-6 47.3-19.2 15-13.2 25-30.9 24.2-44.2-.4-6.6-2.9-12.4-9.4-18.1-6.4-5.7-17.3-11.1-33.9-14.6-12-2.5-27.8-11.4-49.3-24.3-21.5-12.8-47.5-29.5-74.5-47.2-47.4-31.24-96.84-64.79-130.19-85.85zM191.9 18c17.6 11.41 48.1 31.99 79.9 57.23C320.7 114 371.4 164.4 380.7 202.2v.1c2.4 10 3.5 36.8 2.8 69.2-.7 32.3-2.7 70.9-5.2 108-3 45.2-6.6 87.9-8.9 114.5h18.1c2.3-26.8 5.8-68.8 8.8-113.3 2.4-37.2 4.5-76 5.2-108.9.7-32.8.4-58.8-3.4-73.8v-.1C386.3 150 332.9 100.7 283 61.12 261.8 44.31 241.1 29.51 224.3 18zM18 142.7v24.5c48.95 44.6 118.5 101.7 163.9 134.3-10.6 58.8-8.6 132.7-7 192.5h18c-1.7-61.9-3.5-138.3 7.6-194.7l1.2-5.8-4.8-3.4C149.1 256.4 67.59 189 18 142.7zm317.3 33l8 79.6c8.5-4.9 13.8-10.8 17-17 4.3-8.6 4.8-18.4 2.4-28.2-3.9-15-15.2-28.6-27.4-34.4zm-18.5 87.5c-2.6 1.7-6.8 5.8-13.2 10.2-11.8 8.2-31.4 15.8-66.1 13.8-.8 8.1 2.6 15.2 10.2 22.5 9.4 9.2 25.4 17.2 44.2 21.4l3 .7 2 2.4c4.5 5.6 5.7 11.6 7.5 20.1 1.8 8.5 3.4 19.1 4.8 31.1 2.8 24.1 4.9 54 6.4 83.2.4 8.6.8 17.1 1.1 25.4h29c-1.2-53.3-.6-113.2 5.2-176.4.1-12.3-.5-24.3-4.4-33.7-3.9-9.4-10.4-16.4-25-21.5-1.9-.7-3.5 0-4.7.8zm-76.6 63.9c0 3.2.1 6.4.3 9.6.7 13.6 3.3 25.7 7.2 30.8l1.9 2.5-.4 124H267l2.1-127.3 2.3-2.5c5.7-6.2 8.2-11.5 10-17.3-15.9-4.3-30.2-10.9-41.2-19.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KneePad;

impl IconShape for KneePad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341.972 50.815c-38.037-.098-80.816 6.11-130.793 20.204l-11.094 19.785 33.365 20.742C273.616 73.19 391.2 78.41 449.987 92.442a735.823 735.823 0 0 0-5.675-23.984c-31.01-11.138-64.304-17.544-102.34-17.643zm24.156 47.164c-23.575-.054-47.625 1.996-67.473 5.325-19.847 3.328-35.96 8.592-41.226 12.119-27.356 18.32-38.843 46.87-39.112 70.303l-1.798 157.107c-.25 21.74 16.014 46.419 39.787 57.502 23.718 11.058 75.663 16.94 121.511 14.121 22.925-1.41 44.526-4.876 60.477-10.154 15.95-5.279 24.917-12.572 26.537-17.754 29.401-94.05 34.105-180.233-1.598-261.694-3.3-7.532-14.716-15.03-32.54-19.824-17.825-4.793-40.99-6.996-64.565-7.05zm-221.738 6.165c-2.647-.004-5.305.015-7.965.056-21.281.329-42.767 2.109-61.113 5.584-18.347 3.476-33.584 8.008-43.428 17.416-3.53 3.374-6.292 7.924-7.31 12.918l9.88 2.024c2.56.524 5.115 1.03 7.666 1.515.029-.968.448-1.77 2.201-3.445 4.366-4.172 17.46-9.545 34.34-12.742 23.822-4.513 55.107-5.955 82.975-4.895l9.867-17.6a456.997 456.997 0 0 0-27.113-.832zm46.883 2.376l-7.793 13.9 29.027 18.456c2.503-4.695 5.41-9.29 8.742-13.72zm-16.61 29.627l-13.455 23.997-1.092 202.203 12.928 19.556 28.451-18.54c-2.008-6.754-3.055-13.725-2.974-20.735l1.796-157.108c.11-9.618 1.742-19.78 5.036-29.863zm-133.207 25.65l-.955 53.456c31.896 9.577 66.518 8.292 102.385 4.588l.297-55.047c-34.17 6.07-68.185 3.222-101.727-2.996zm100.81 87.891c-2.647-.004-5.304.016-7.964.057-21.281.329-42.767 2.106-61.113 5.582-18.347 3.476-33.584 8.008-43.428 17.416-2.64 2.523-4.845 5.704-6.22 9.234l8.24 1.688a551.94 551.94 0 0 0 10.488 2.031c4.427-4.163 17.47-9.5 34.27-12.683 19.097-3.618 42.999-5.268 66.087-5.235l.098-18.086c-.153 0-.304-.004-.457-.004zM38.783 303.32l-.955 53.455c32.462 9.747 67.747 8.248 104.295 4.393l.299-55.201c-34.811 6.524-69.471 3.688-103.639-2.647zm169.938 76.819l-25.75 16.78 7.617 11.526 26.195-16.611a86.294 86.294 0 0 1-8.062-11.695zm21.142 24.713l-29.347 18.61 10.197 15.429c99.055 28.132 174.827 31.355 225.016-.21a338.86 338.86 0 0 0 6.51-16.747c-17.965 5.706-40.05 9.059-63.317 10.49-48.012 2.952-100.197-1.778-130.22-15.776a91.059 91.059 0 0 1-18.839-11.796z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kneeling;

impl IconShape for Kneeling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.773 42.58c-15.476-.073-32.25 4.32-48.15 13.15-18.172 10.09-32.025 24.21-39.816 39.635-4.937 9.773-7.42 20.355-6.534 30.48-142.235 35.935-140.19 127.28-148.97 211.997-8.83 85.21 31.418 103.056 84.02 110.176-75.802-1.733-65.734-.497-113.788-.364 0 0-45.96 45.96-49.496 48.79 52.562-2.26 344.12 23.87 345.276-31.32.793-37.823-78.186-55.176-135.845-74.976-21.276-7.306-29.62-92.502-.2-169.12 20.044 61.258 65.636 140.037 87.248 143.894 24.542.216 82.012-121.896 113.443-166.68-28.153-15.767-62.88 16.397-77.355 40.235.612 13.085 1.608 31.266 5.567 35.2l-40.947 42.313c-26.15-43.612-43.326-105.71-50.62-158.75-.257.126-.498.256-.75.383.185-.22.38-.437.567-.658 7.89 5.473 17.617 8.64 27.898 9.56 17.213 1.542 36.523-2.75 54.696-12.84 18.172-10.09 32.026-24.214 39.818-39.64 7.79-15.426 9.48-32.862 1.437-47.348-8.042-14.485-23.737-22.27-40.95-23.812-2.15-.193-4.336-.295-6.547-.305z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KnightBanner;

impl IconShape for KnightBanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.57l-16.1 48.86h32.2zM73 90.43v15.97h366V90.43zm48 33.97V479l135-105 135 105V124.4zm87 37h96l-32 80 80-32v96l-80-32 32 80h-96l32-80-80 32v-96l80 32zm48 235.4l-23 17.9v73.7h46v-73.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KnockedOutStars;

impl IconShape for KnockedOutStars {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M116.2 175l5.6 22.8-15.6 17.6 23.4 1.6 11.9 20.3 9-21.8 22.8-5.1-17.9-15.1 2.1-23.4-19.9 12.4zm255.4-91.73l7.6 15.22-7.9 15.01 16.7-2.8 11.6 12.5 2.9-16.8 15.2-7.37-15.1-7.74-2.2-16.88-12 11.95zm-59.4 48.13l-6.9 18.8-18.9 5.1 15.7 12.1-.4 7.9a67.17 246.4 64.14 0 0-68.4 29.6 67.17 246.4 64.14 0 0-.3.1 67.17 246.4 64.14 0 0-148.86 94.5l-12.28-7.2L70 268.5l-17.92 15.9-23.3-5.5 9.75 22-12.61 20.4 23.9-2.5 7.05 8.3a67.17 246.4 64.14 0 0-15.94 45.6 67.17 246.4 64.14 0 0 82.27 12L119 396l-21.49 5.8 17.69 13.5-1.2 22.3 18.4-12.5 20.9 8-6.4-21.4 14.1-17.4-22.3-.7-7-10.7a67.17 246.4 64.14 0 0 72.3-20.4l6.9 18.6 14.6-22.9 27.2-.8-8.3-10.2a67.17 246.4 64.14 0 0 47.5-21.5 67.17 246.4 64.14 0 0 120.4-71.5l8.5 18-13.9 23.5 27.1-3.5 17.9 20.5 5.3-26.7 25-10.8-24-13.2-2.4-27.1-20 18.6-17.4-3.9a67.17 246.4 64.14 0 0 65.7-91.7 67.17 246.4 64.14 0 0-153.7 7l-.2-.9 12.4-15.4-19.8-.5zm-75.4 82.7a51.33 188.2 64.14 0 1 .7-.5 51.33 188.2 64.14 0 1 63.6-26.7v.2l.6-.4a51.33 188.2 64.14 0 1 23.3-7.9l10.9 4.2-2.1-6.7a51.33 188.2 64.14 0 1 95.4 1.5 51.33 188.2 64.14 0 1-58.4 76.2l-2-10.9 10-10.3-14.4-1.6-6.5-12.9-6.1 13.1-14.4 2.4 10.7 9.8-2.1 14.2 12.5-6.8 9.9 4.8a51.33 188.2 64.14 0 1-86.1 50.3 51.33 188.2 64.14 0 1-43.6 19.2l4.3-15-25.3 9.7-22.5-15.1 1.6 27-17 13.3a51.33 188.2 64.14 0 1-89.19-3.3A51.33 188.2 64.14 0 1 236.8 214.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Knot;

impl IconShape for Knot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M477.117 18C457.6 44.38 439.65 68.27 415.21 88.928c-15.7 12.244-31.265 25.085-48.462 35.24-21.145 9.22-67.885 12.887-85.982 33.89-4.144 6.577-4.672 21.27-.426 39.497 2.19 9.402 5.452 19.627 9.336 30.076 31.868-8.462 63.62-15.685 91.463-28.536 40.892-24.654 80.908-51.5 112.86-84.45V18zM357.02 31.525c-33.65-.228-66.15 9.832-92.483 24.846-49.43 28.184-75.595 70.35-77.52 111.778 4.164 64.606 43.112 132.717 66.805 192.104 2.548 10.03 2.465 16.768 1.39 20.924-1.073 4.156-2.447 7.318-9.92 12.984-16.58 12.57-36.338 18.16-55.183 18.52-21.65 19.993-43.452 37.977-58.51 62.84 49.255 18.357 109.13 12.447 157.187-23.983 18.045-13.68 31.005-32.49 36.137-52.348 5.13-19.86 3.125-39.177-1.32-56.667-13.03-27.867-27.52-54.832-38.08-77.933-9.39-20.7-18.016-42.777-22.715-62.95-3.56-15.276-5.318-29.72-2.06-42.03l-.21.05c3.195-13.178 12.41-25.205 39.66-40.742 15.886-9.058 43.24-14.957 65.228-13.875.06.003.116.01.176.012 23.127-17.927 45.37-34.14 64.326-54.17-6.39-3.96-13.038-7.25-19.797-9.766-17.54-6.533-35.484-9.475-53.112-9.595zM484.175 148.38c-25.8 23.374-55.54 43.16-83.633 60.134-3.578 4.857-8.3 9.415-14.478 14.166-27.818 18.522-53.976 27.9-83.054 36.832 12.767 27.812 26.775 52.712 33.896 64.93 32.422-11.29 69.055-26.576 93.043-44.682 22.875-17.587 42.53-43.012 49.262-75.155 4.235-20.227 5.874-38.967 4.964-56.226zm-312.73 41.52c-32.027 15.216-62.486 36.246-86.33 66.942-29.395 37.845-42.88 76.856-39.73 113.07.992 11.428 3.69 22.285 7.747 32.408 21.966-26.726 50.782-57.527 73-76.775 3.784-7.474 8.94-15.644 15.847-24.535 12.386-15.947 29.847-28.568 50.11-39-7.828-21.52-15.18-45.72-20.642-72.11zm33.134 103.715c-6.355 3.1-12.55 6.447-18.512 10.13-47.793 29.588-91.84 76.045-126.595 119.403C43.818 444.238 30.096 465.65 18 486.45V494h80.285c14.91-22.624 30.235-46.843 47.63-64.71 23.51-23.777 51.976-48.112 77.98-64.284 3.057-1.888 6.71-3.755 10.794-5.615-10.847-25.174-21.61-45.587-30.112-65.775z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Koala;

impl IconShape for Koala {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M419.3 22.75C394.9 95.5 364.6 168.1 331.9 240.5c8.5-3 17.6-6 26.8-7.4 10.2-1.5 21.2-.9 30.4 5.2 16.9-44.3 33.8-88 48.8-125.6 15.6-38.98 28.6-70.3 38.2-89.95zm-104.9 2.33c-17.7.19-28.3 6.53-35.4 15.67-1.5 1.88-2.8 3.9-3.9 6.04 4.4 1.62 8.7 3.46 12.8 5.54 8.3-6.69 16.6-10.28 24.7-10.75.7 0 1.3-.1 2-.1 9.7.1 18.3 5.01 23.6 11.91 10.5 13.45 11.8 34.23.7 50.41 3.9 8.8 6.6 18.5 7.7 28.9 0 .2 0 .5.1.7 9.2-2.4 14.6-8 18.4-16.4 4.5-10 5.4-23.99 2.5-38.09-2.2-10.74-6.6-21.41-12.7-30.3 7.5 1.22 12.5 3.8 18.1 6.04-11.7-14.24-22-18.89-37.8-24.5-6.2-3.34-13.1-5.16-20.8-5.07zM108.2 54.85c-.7 0-1.3 0-1.9.1-8.27.43-17.24 3.46-27.14 10.37a46.584 46.584 0 0 0-7.57 6.58c-12.68 10.83-23.36 24.41-35.72 35.6 7.25-2.2 13.74-6 21.12-8.22-4.64 16.42-4.48 34.32-7.53 51.22 4.03-5.7 6.62-12.2 10.84-17.9-.3 18.4 8.26 35.9 12.5 53.9 1.53-7.6.87-15.2 3.82-22.9 4.87 6.3 10.39 11.4 16.1 14.7 10.28 6 20.58 7.1 32.68.1l1.6-.8h.1c-2.5-5.9-4.4-12.4-5.4-19.4-6.2-3.5-10.4-9.6-14-16.1-5.2-9.1-8.87-20-9.47-30.7-.4-5.3 0-10.6 1.77-15.67 1.9-5.07 5.5-9.98 10.7-12.85 4-2.14 8.4-3.14 13.2-3.04 6 .11 12.7 1.89 20.2 5.1 1.9-2.48 3.8-4.89 5.9-7.25-7.7-9.58-18-17.69-29.4-20.99-4-1.16-8.1-1.83-12.4-1.8zm121.3 1.51c-3.2 0-6.5.1-9.7.27-19 1.31-40.2 14.38-56.1 32.51-15.8 18.16-25.8 40.96-25.1 58.66 1.3 30.6 17.8 46.5 39.6 56.1 21.8 9.6 48.9 11.1 65.7 9 16.7-2 40.3-9.9 58-23.2 17.7-13.4 29.4-30.9 26.9-55.1-2.7-25.6-16.7-45.57-36.8-59.22-17.6-11.94-39.9-18.7-62.5-19.02zm85.8 3.08h-1.6c-2.4.14-5.4.97-9 2.97 8.8 6.31 16.6 13.86 23.1 22.5 1.7-7.75 0-15.77-3.7-20.46-2.4-3.12-5.1-4.82-8.8-5.02zM279.5 94.4a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-156.6 3.49c-1.8 0-2.9.33-3.6.69-1.1.56-1.7 1.26-2.4 3.12-.7 2-1.1 5-.9 8.6.5 6.4 2.9 14.5 6.1 21 2.1-10.6 6.2-21.1 11.9-31.1-5-1.81-8.6-2.34-11.1-2.31zm83.8 15.31a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm44.9 13.5c8.9-.1 17.6 8.9 22.9 16.4 6.8 9.5 7.7 34.3 7.7 34.3 3 15-34.7 26.3-41.1 13 0 0-11.2-22.5-9.6-34.3 1.5-11.2 6.4-26.4 17.3-29 .9-.2 1.8-.3 2.8-.4zM168.1 219c-40.8 26.6-66.3 62.9-79.47 99.1-14.56 39.9-13.8 79.6-3.14 104.2 10.54 24.5 30.71 40.3 55.11 49.7 24.4 9.5 52.9 12.1 78 9.7 20.7-2 36.3-13.1 51.6-27.6 15.2-14.4 29.4-32 47.4-44.4l1.1-.7 1.2-.4c15.3-5.1 24.6-13.2 27.7-21.1 3.1-7.9 1.8-17.2-9.4-29.3 1.2 1.3 0-.1-3.3-.2-3.3-.2-8.1.2-13.3 1.2-9.4 1.8-20.5 5.7-28.1 10.3-7.8 21.5-24.4 43.8-51.6 63.5l-10.4-14.6c56-40.3 57.2-86.2 39.4-107.5-8.9-10.6-22.5-16.1-40.1-12.4-17.6 3.7-39.3 17.2-61.2 46.6l-14.4-10.8c23.7-31.7 48.7-48.5 72-53.3 5.8-1.2 11.5-1.7 16.9-1.4 16.4.9 30.8 8.2 40.5 19.9 2.2 2.6 4.2 5.5 5.9 8.5 31.2-.9 62.5-.6 78.6-10.4 12-7.3 18.2-15.8 19.7-22.9 1.6-7-.2-13.4-8-20.3-4.7-4-10.7-4.9-19.5-3.6-8.8 1.3-19.4 5.1-29.9 8.8l-3 1.1-3-1.1c-37.9-13.3-46.7-25.4-57-32.9l-1.8-.3c-7.2 2.1-14.1 3.5-20.5 4.3-19.9 2.4-49.1 1-75.1-10.4-1-.4-1.9-.9-2.9-1.3zm189.5 102.2c-17.9 4.5-38.2 4.3-58 4.5.1 5.9.3 11.9 0 17.8 0 1.1-.1 2.2-.1 3.4 6.1-2.4 12.6-4.1 18.7-5.3 6.3-1.2 12.2-1.8 17.7-1.5 4.5.3 9.1.7 13.2 3.8 2.8-7.5 5.6-14.9 8.5-22.7zm-42.8 113.9c-10.4 9.5-20.7 21.1-32.3 32-8.7 8.2-18.2 16.1-29.2 22.1 10.3.1 23.1.1 40.7-.2 1-2.4 2-4.9 3.6-9.1 4.1-10.3 10.1-25.9 17.2-44.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KoholintEgg;

impl IconShape for KoholintEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-19 0-36.9 16.72-50.1 41.27C192.7 106.8 185 138 185 160c0 17.8 13 31.2 29.5 40.8 8.3 4.8 17.2 8.4 24.9 10.8 7.7 2.4 14.5 3.4 16.6 3.4 5 0 25.2-3.7 41.6-12.9C314 193 327 180 327 160c0-19.8-6.2-47-17.1-70.1-.3.67-.5 1.33-.8 1.98-6.5 14.82-19.5 23.52-29 19.42-9.5-4.2-11.9-19.62-5.4-34.53 3.5-7.93 9-14.48 15.1-17.92C279.6 47.71 268 41 256 41zm-32.4 73.2c13.1 0 26.3 12.1 31.1 28.5 5.4 18.4-1.6 35.6-15.6 38.5-14 2.8-29.7-9.7-35.1-28.1-5.4-18.4 1.6-35.6 15.6-38.5 1.3-.3 2.6-.4 4-.4zm70.3 47.8c8 0 14.1 3.4 15.3 8.6 1.7 6.9-5.7 14.6-16.5 17.2-10.8 2.6-21-.9-22.6-7.8-1.6-6.9 5.8-14.5 16.5-17.1 2.4-.6 4.9-.9 7.3-.9zm-153.1 23.6c-2 0-4.2.1-6.5.4-9.1 1-19.6 4.1-29.2 8.5-9.61 4.4-18.39 10.1-24.23 15.6-5.85 5.6-8 10.7-7.9 12.7.39 8.5 5.81 16.7 16.87 24.9 11.06 8.1 27.26 15.5 45.96 21.4C173 280.9 219.9 287 256 287c36.1 0 83-6.1 120.2-17.9 18.7-5.9 34.9-13.3 45.9-21.4 11.1-8.2 16.5-16.4 16.9-24.9.1-2-2-7.1-7.9-12.7-5.8-5.5-14.6-11.2-24.2-15.6s-20.1-7.5-29.2-8.5c-4.5-.5-8.6-.4-12.1.1 1.4.7 1.7 1.1 3.2 1.8 10.7 5.3 29.2 14 23.5 28.2-8.1 20-31 30.4-56.6 37.4s-55.1 9.9-79.7 9.9-54.1-2.9-79.7-9.9-48.5-17.4-56.6-37.4c-4.7-15.6 13.1-22.9 23.5-28.2 1.5-.7 1.8-1.1 3.2-1.8-1.7-.3-3.6-.4-5.6-.5zm43.6 14.5l-1 .1-7.6 34.3c1.7.6 3.5 1.1 5.3 1.6 23.4 6.4 51.8 9.3 74.9 9.3 23.1 0 51.5-2.9 74.9-9.3l4.2-1.2-12.1-28.7c-17 14.4-44.9 26.5-67 26.8-26.3-2.5-53.7-14.4-71.6-32.9zM361.1 292c-34.9 8.7-73.5 13-105.1 13-28.2 0-61.9-3.4-93.7-10.3l-8.1 36.8c24.9 12.2 63.3 6.7 102.6-14.6l8.6 15.8c-43.5 23.6-88.9 31.6-121.7 13.5L105 365.7v23.8c25.3 8.4 42.2 26.7 47 51.5 39.1 12.3 88 10.4 126.1-7.4l7.6 16.4c-44.7 20.8-100 22.3-144.7 6.5l-5.6-2-.4-5.9c-3.1-20-15.5-36-33.3-41.3L35.21 487H482.7l-34.4-85.8c-31.1 31.2-67.8 43.3-102.4 39.1-8.6-18.6-36.6-27-52.8-26.4l-1.2-18c24.6-.4 53 8.2 65.7 27.6 37.7 3.3 68.9-15 82.3-43.3h.1l-15.5-38.6-19.1-15c-24 4.3-51.9 27.9-61.5 45.7l-4 7.3c-33.9-12.7-77.6-5-108.9 11.7l-8.6-15.8c31.8-14.7 77.8-27.3 109.8-18.4 12-18 32.4-35.9 55.5-44.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KrakenTentacle;

impl IconShape for KrakenTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.2 40.98c-3.5 4.28-13.3 16.92-25.4 34.32.3.14.7.29 1.1.46 6.8 3.02 10.4 9.66 11.5 16.1 6.3-13.96 14.7-26.62 19-41.73 1-4.5-3-7.14-6.2-9.15zm-34.3 15.68c-8.4 8.9-18.6 20.04-29.7 33.15C78.14 122.9 48.8 164.9 42.43 195.1c-4.85 23 4 47.3 14.48 73.4 10.48 26.1 22.57 53.8 18.82 83.6-8.79 49.3-38 89.2-59.94 117.9v18.7s23.64-10.8 42.98-18.7c45.13-16.4 55.33-22.9 92.53-.3 12.8 7.8 27 16.8 44.5 17.3 19.4.5 35.8-8.9 50.7-17 15-8.2 28.5-15 41.5-14.3 9.1.5 26.8 6.2 39.2 15 40.6 28.6 68.2-.3 107.9-3.8 16-.8 37 .8 58.2 3.4v-78.1h-14.1V271.5l14.1 5.5v-17l-14.1-5.5v-81.9l14.1 5.1v-16.8l-14.1-5.1v-49.5h-15.9v43.8l-42.2-15.2-5.5 14.9 47.7 17.2v81.3L395 221.8l-5.8 14.8 74.1 28.8v126.8h-85.1l-6.6-7.8V281l37.2 13.4 5.3-14.9-42.5-15.3v-62.7h-15.9v57l-47.4-17.2-5.4 15 52.8 19v95.2h-42.1l-56.9-40.4-9.2 13 38.6 27.4c22.2 27.2 42.7 55.5 54.5 87.2-1.5-.9-3.1-1.8-4.7-2.7-14.2-7.9-31.2-16.4-46.9-17.3-19.5-1-36 8.3-51 16.4-15.1 8.2-28.7 15.3-41.8 14.9-9.5-.3-19.2-5-29.7-11.2 1.6-2.8 3.5-5.4 5.6-7.7 4.2-4.7 9.9-8.2 16.2-9.3.6-3.6 1.3-7.5 2-11.8 2.9-17.6 5.2-37.8 5.4-54.5-2.2 1.3-4.6 2.3-7.3 2.8-9 1.8-17.7-2.1-23.9-8.1-6.2-6.1-10.6-14.5-12.5-24.2-1.9-9.7-1.1-19.1 2.4-27.1 3.5-7.9 10-14.8 19-16.6.2 0 .4-.1.6-.1-4.9-8.8-10.3-17.6-15.8-26.6-3.1-5-6.1-10-9.1-15.2 2.6 9.4 2.6 21-.4 29.1-3 7.6-9 14.3-17.5 16.2-1.1.2-2.2.4-3.3.5 4.3 11.3 7.4 23.2 8 35.8.6 12.7-1.2 27.3-4.1 42.4 3.2-1 6.6-1.3 10-.8 9.1 1.3 16 7.9 19.9 15.6 3.8 7.7 5.1 17.1 3.7 26.9-2.9 18-33.4 20.1-24.5 12.5 3-3.2 5.8-8.6 6.7-15.1.9-6.4-.1-12.4-2.1-16.3-3.7-7.4-9.5-6.7-14-2-3 3.2-5.7 8.7-6.7 15.1-.9 6.4.1 12.4 2.1 16.3 2.7 3.6-16.4.8-28.28 2.9 1.38-4.6 2.88-9.4 4.38-14.4 8.2-27.7 15.9-61.6 14.9-82.3-1-22.8-13.4-45.5-26.02-69.4-12.62-23.9-25.52-49.2-23.05-78.1 2.9-34.1 25.55-74.8 47.07-108.19 7-10.85 13.9-20.85 20-29.45zm1.7 35.66c-3.8 1.27-6.8 5.55-8.2 8.48-1.1 3.7-3.1 9-.5 12.4 3.7-.7 7.4-5.2 9-8.7 1.1-3 3.3-12.48-.3-12.18zm-23.4 31.48c-14.2 25.6-25.76 52.4-27.43 72.1-1.45 16.9 4.15 33.6 12.33 50.9 3.3-6.1 8.7-11.2 15.9-12.9 10.9-.8 18.3 2.5 25 9.2-4.5-8.4-8.5-17.1-11.8-26.2-2.6.9-5.4 1.4-8.3 1.2-8.2-.5-14.6-5.9-18.3-12.3-3.62-6.4-5.23-14.3-4.6-22.7.63-8.4 3.4-16 8-22 4.6-5.8 11.8-10.3 20-9.8 1.1.1 2.3.2 3.3.5 3-7.3 6.7-15.1 10.6-23.1-5.3 2.6-11.7 3.5-17.5.9-3-1.4-5.3-3.4-7.2-5.8zm9.4 45.4c-5.7 1.8-8.2 9.8-8.6 15-.4 5.1.7 9.7 2.3 12.5 2.6 4.8 6.2 3.2 8.4.5 2-2.6 3.8-7 4.2-12-.1-4.3-.3-15.3-6.3-16zm-3.3 82.3c-8.5 2-8.1 14.4-6.6 20 1.5 5.5 6.1 17.1 13.5 15.8 6.7-3.8 6.7-13.9 5.3-20.1-1.9-5.5-5.3-15.6-12.2-15.7zm58.2 67.7c-10.1.6-10.1 15.4-8.9 22.3 1.8 6.5 6.8 19.6 15.3 18.1 8.3-3.4 8.6-15.6 7.3-22.5-1.9-6.8-5.7-18.4-13.7-17.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LBrick;

impl IconShape for LBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M150.5 83.5A9.5 9.5 0 0 0 141 93v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5V93a9.5 9.5 0 0 0-9.5-9.5h-96zm9.5 19h77v77h-77v-77zm0 115h77v77h-77v-77zm0 115h77v77h-77v-77zm115 0h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LabCoat;

impl IconShape for LabCoat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 34.91c-11.9 0-23.9 1.65-37 4.8 12.1 22.88 24.3 36.93 37 53.48 12.7-16.55 24.9-30.59 37-53.48-13.1-3.15-25.1-4.8-37-4.8zm-51.8 15.16L188.3 58c13.9 25.46 36.7 57.8 58.7 75.3v-22.1c-13.7-18.61-28.3-34.37-42.8-61.13zm103.6 0c-14.5 26.76-29.1 42.52-42.8 61.13v22.1c22-17.5 44.8-49.84 58.7-75.3zM171.1 64.41c-18.1 5.75-30.5 10.46-35.3 12.34L99.61 257.8l44.79 11.1c7.2-51.6 15.2-85.9 21.1-134.8l19.4-14.9c-8.9 78.9-15.8 142.9-22.2 213l59.1-14.8 11.2-2.8v75.5c0 4.9-2.1 9.7-5.2 12.9-3.1 3.3-6.8 5.3-10.6 6.7-7.8 2.9-16.7 3.7-25.6 3.3-8.8-.3-17.6-1.9-24.9-4.8-3.1-1.2-5.9-2.7-8.5-4.7l-4.6 73.6H247V155.5c-31.9-18.7-59.5-60.01-75.9-91.09zm169.8 0c-16.4 31.08-44 72.39-75.9 91.09v17.6h30v-23h18v23h16v57c0 4.2-1.8 8.3-4.3 11.2-2.5 2.8-5.4 4.6-8.5 6-6.2 2.8-13.2 3.8-20.2 3.8s-14-1-20.2-3.8c-3.1-1.4-6-3.2-8.5-6-.9-1-1.6-2.2-2.3-3.4v239.2h93.4l-4.5-72.3c-2.7 2.3-5.7 3.8-8.7 4.9-7.8 2.9-16.7 3.7-25.6 3.3-8.8-.3-17.6-1.9-24.9-4.8-3.7-1.5-7.1-3.3-10.1-6.1-2.9-2.7-5.6-7-5.6-12v-75.5l70.3 17.6c-5.6-70.4-14.2-147.6-22.2-213l17.8 14.9c7.1 53.3 14.2 83.6 22.7 134.8l44.8-11.1-36.2-181.05c-4.8-1.88-17.2-6.59-35.3-12.34zM281 191.1v38.4c6.9 6.2 22.2 6.1 30 0v-38.4zM96.11 275.4l-5.6 28L136.7 315l4.7-28.3zm319.79 0l-45.3 11.3 4.7 28.3 46.2-11.6zM215 337.6l-46 11.5V389c4.8 7.9 35.7 9.1 46 1.1zm82 0V389c5.4 8.8 35.7 9.1 46 1.1v-41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LabradorHead;

impl IconShape for LabradorHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M339 46.81c7.1 8.93 18.2 27.12 27.4 45.44 5.3 10.55 10 21.15 13.3 29.95 3.4 8.8 5.1 16.5 5.1 17.8 0 67.6-16.9 126.5-41.9 170.3-10.2 17.9-21.7 33.2-33.9 45.5l1.9-19.3c6.5-12.4 10.8-24.1 13.4-35.1 9.8-4.4 17.9-10.7 24.2-17l-12.8-12.6c-7.5 7.5-19 15.1-31.4 16.9-12.5 1.7-26.2-1.2-41.8-16.9l-6.4-6.5-6.4 6.4c-15.6 15.8-29.4 18.7-41.9 17-12.4-1.8-23.9-9.4-31.4-16.9l-12.8 12.6c6.3 6.3 14.5 12.6 24.2 17 2.6 10.9 6.9 22.6 13.4 35.1l1.9 19.3c-12.2-12.3-23.7-27.6-33.9-45.5-25-43.8-41.9-102.7-41.9-170.3 0-1.3 1.7-9 5.1-17.8 3.3-8.8 8.1-19.4 13.4-29.94 9.1-18.32 20.2-36.5 27.3-45.44 51.1 15.51 114.9 15.5 165.9 0zm38.8 28.16C418.6 108.9 461.9 152 488 178.2c-.6 48.4-12.9 84.1-30.4 107.5-16 21.3-36 32.5-56.3 34.7L388.4 247c9.1-32.4 14.4-68.4 14.4-107 0-7.3-2.6-14.7-6.2-24.2-3.7-9.6-8.6-20.56-14.1-31.57-1.6-3.11-3.1-6.2-4.7-9.26zm-243.5 0c-1.6 3.05-3.1 6.13-4.7 9.24-5.4 11-10.4 21.99-14 31.59-3.7 9.5-6.3 16.9-6.3 24.2 0 38.6 5.3 74.6 14.4 107l-12.9 73.4c-20.27-2.2-40.27-13.4-56.27-34.7-17.5-23.4-29.8-59.1-30.4-107.5 26.1-26.2 69.5-69.3 110.17-103.21zm190.6 47.83a25.82 25.9 0 0 0-25.8 25.9 25.82 25.9 0 0 0 25.8 25.9 25.82 25.9 0 0 0 25.8-25.9 25.82 25.9 0 0 0-25.8-25.9zm-137.7 0a25.82 25.9 0 0 0-25.8 25.9 25.82 25.9 0 0 0 25.8 25.9 25.82 25.9 0 0 0 25.8-25.9 25.82 25.9 0 0 0-25.8-25.9zm68.9 69c-17.3 0-51.7 17.3-51.7 34.5 0 0 18.2 34.6 34.4 34.6 8.1 0 9.2-17.3 17.3-17.3 8 0 9.1 17.3 17.2 17.3 16.2 0 34.4-34.6 34.4-34.6 0-17.2-34.4-34.5-51.6-34.5zm9 104.9c10.3 6.5 20.7 9.7 30.6 10.2l-10.1 100.7c-.8.6-2.8 1.6-5.7 2.5-5.9 1.8-14.9 2.9-23.9 2.9-8.9 0-17.9-1.1-23.8-2.9-2.9-.9-4.9-1.9-5.7-2.5l-10.1-100.7c9.9-.5 20.4-3.7 30.7-10.2v67.8h18zm103.6 3.1c6.4 20.5 14 50 20.6 80.1 8.8 40.3 15.9 82.5 17.5 107.1H105.4c1.6-24.6 8.7-66.8 17.5-107.1 6.5-30 14.2-59.4 20.6-80 3.1 6.7 6.5 13.2 10 19.4 15 26.3 32.9 47.9 52.4 63.6l2.7 27v-.9c0 5.5 3.3 10.1 6.8 12.8 3.5 2.7 7.4 4.3 11.6 5.5 8.6 2.6 18.8 3.7 29 3.7 10.3 0 20.5-1.1 29.1-3.7 4.2-1.2 8.1-2.8 11.6-5.5s6.8-7.3 6.8-12.8v.9l2.7-27c19.5-15.6 37.4-37.3 52.4-63.6 3.5-6.2 6.9-12.7 10.1-19.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ladder;

impl IconShape for Ladder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121 17v30h270V17H121zm16 48v46h30V65h-30zm208 0v46h30V65h-30zm-224 64v30h270v-30H121zm16 48v46h30v-46h-30zm208 0v46h30v-46h-30zm-224 64v30h270v-30H121zm16 48v46h30v-46h-30zm208 0v46h30v-46h-30zm-224 64v30h270v-30H121zm16 48v46h30v-46h-30zm208 0v46h30v-46h-30zm-224 64v30h270v-30H121z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaddersPlatform;

impl IconShape for LaddersPlatform {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375 16v199h18v-14h46v14h18V16h-18v39h-46V16h-18zm18 57h46v46h-46V73zm0 64h46v46h-46v-46zM25 233v46h462v-46H25zm30 64v199h18v-39h46v39h18V297h-18v14H73v-14H55zm18 32h46v46H73v-46zm0 64h46v46H73v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ladle;

impl IconShape for Ladle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M52.67 60.6C162.7 84.64 167.3 323.4 228.7 401.4c21.9 27.7 44.6 53.5 69.1 70.2 20.3 13.8 48.5 22.3 79.5 22.5 30.8.3 58.5-8.1 79.3-21.2 20.8-13 35.9-45.2 36.1-66.3.1-21.2-15.1-37.6-35.7-48.9-20.7-11.2-48.5-17.7-79-17.9-30.5-.3-59.6 3.6-79.3 16.5-25.5 16.7-46.3 17.6-62.6-1.4-72.6-84.4-47.5-286.22-155.91-332.36C37.8 4.485-17.15 44.03 52.67 60.6zM277.5 422.4c50.2 57 167.9 42.9 196.3-.1-1.3 7.6-15.8 27.9-25.4 34-17.9 11.2-43 19.1-70.9 18.9-28.1-.2-53.9-8.7-71.7-20.1-9.1-5.9-29.1-25.4-28.3-32.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ladybug;

impl IconShape for Ladybug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M327.2 20.15l17.6 3.7c-2.4 11.35-7.4 23.1-14.6 34.5a96 72.02 0 0 0-15.1-11.07c6.1-9.48 10.4-18.82 12.1-27.13zm-142.4 0c1.7 8.33 6 17.68 12.1 27.19a96 72.02 0 0 0-15.1 11.02c-7.2-11.4-12.2-23.16-14.6-34.51zM256 55c19 0 36.2 9 49 17.51 12.8 8.51 21.4 17.13 21.4 17.13l-12.8 12.76s-7.4-7.42-18.6-14.91C283.8 80 269 73 256 73s-27.8 7-39 14.49-18.6 14.91-18.6 14.91l-12.8-12.76s8.6-8.62 21.4-17.13C219.8 64 237 55 256 55zm217 40.83c.5 24.17-12.2 43.17-28.9 57.07-4.5 3.7-9.3 7.1-14.2 10.2-2.9-5.3-5.9-10.5-9.2-15.5 4.2-2.7 8.2-5.6 11.9-8.6 14.1-11.7 22.8-24.9 22.4-42.83zm-433.97 0l18 .34c-.3 17.93 8.3 31.13 22.5 42.83 3.6 3 7.6 5.9 11.8 8.6-3.2 5-6.3 10.2-9.2 15.5-4.9-3.1-9.6-6.5-14.1-10.2-16.8-13.9-29.5-32.9-29-57.07zm312.87 6.67C404.1 137.4 439 200.1 439 272c0 47.5-15.2 90.9-40.5 125a40 40 0 0 0-38.5-29 40 40 0 0 0-40 40 40 40 0 0 0 25.9 37.4c-11.1 6.8-22.9 12.4-35.3 16.6-23.4-29.3-35.8-68.3-45.6-106V175.7a96 72.02 0 0 0 87-71.7 96 72.02 0 0 0-.1-1.5zm-191.8 0a96 72.02 0 0 0-.1 1.5 96 72.02 0 0 0 87 71.6V356c-9.8 37.7-22.2 76.7-45.6 106-12.4-4.2-24.2-9.8-35.3-16.6A40 40 0 0 0 192 408a40 40 0 0 0-40-40 40 40 0 0 0-38.4 29.1C88.23 363 73.03 319.5 73.03 272c0-71.9 34.87-134.6 87.07-169.5zM320 180a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm-128 0a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm200 28a24 24 0 0 0-24 24 24 24 0 0 0 24 24 24 24 0 0 0 24-24 24 24 0 0 0-24-24zm-272 0a24 24 0 0 0-23.97 24A24 24 0 0 0 120 256a24 24 0 0 0 24-24 24 24 0 0 0-24-24zm365.6 39.3l4.9 17.4-33.5 9.6V272c0-5.5-.2-11-.5-16.4zm-459.07 0l29.1 8.3c-.4 5.4-.6 10.9-.6 16.4v2.3l-33.5-9.6zM312 272a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm-112 0a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm216.4 130.8c.6.7 1.1 1.4 1.7 2.1 16.5 19.1 35.8 31.6 62.8 34.1l-1.7 18c-31.5-3.1-55.5-18.4-74.1-39.6 4-4.7 7.7-9.6 11.3-14.6zm-320.67 0c3.5 5 7.17 9.9 11.17 14.6-18.57 21.2-42.57 36.5-73.97 39.6l-1.8-18c27-2.5 46.3-15 62.8-34.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lambda;

impl IconShape for Lambda {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156 37.473c-25 0-41.98 18.185-51.629 35.07C94.722 89.428 90 105.473 90 119.473h36c0-2 3.278-17.956 9.629-29.07C141.98 79.287 149 73.472 156 73.472c2.5 0 7.953 2.103 15.762 11.035s16.727 23.45 25.6 41.433c12.417 25.169 24.949 57.205 37.527 91.223L91.139 455.961l30.841 18.566 128.762-213.892.356.98c18.017 50.022 36.078 100.383 55.375 139.469 9.648 19.543 19.505 36.303 30.841 49.273 11.337 12.97 25.374 23.381 42.877 23.456 14.035.059 25.831-7.281 33.971-15.848 8.14-8.567 13.822-18.737 18.348-29.022 9.052-20.569 13.49-39.47 13.49-53.47h-36c0 2-3.561 23.334-10.441 38.968-3.44 7.818-7.71 14.743-11.495 18.727-3.785 3.984-5.888 4.652-7.72 4.645-2.564-.011-8.084-2.175-15.924-11.145-7.84-8.97-16.777-23.517-25.666-41.522-17.778-36.009-35.769-85.71-53.785-135.73-18.017-50.02-36.06-100.359-55.323-139.402-9.631-19.522-19.466-36.257-30.783-49.202C187.546 47.868 173.5 37.472 156 37.472z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Laptop;

impl IconShape for Laptop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73 25v238h366V25H283v16h140v192H89V41h140V25H73zm174 0v16h18V25h-18zM107 59v156h298V59H107zM71.03 281l-43.5 174H484.5L441 281h-29.9l20 96h-99.6l16 64H163.8l20-64H80.93l19.97-96H71.03zm48.27 0l-2.9 14H147l2.3-14h-30zm48.4 0l-2.3 14h30.7l1.7-14h-30.1zm48.2 0l-1.7 14H247v-14h-31.1zm49.1 0v14h32.8l-1.7-14H265zm49.2 0l1.7 14h30.7l-2.3-14h-30.1zm48.5 0l2.3 14h30.6l-2.9-14h-30zm-250 32l-3 14h31.9l2.4-14h-31.3zm49.7 0l-2.4 14h32.1l1.7-14h-31.4zm49.5 0l-1.7 14H247v-14h-35.1zm53.1 0v14h36.8l-1.7-14H265zm53.2 0l1.7 14H352l-2.4-14h-31.4zm49.8 0l2.4 14h31.9l-3-14H368zm-262 32l-2.9 14h33.2l2.3-14H106zm51 0l-2.3 14h33.4l1.7-14H157zm50.9 0l-1.7 14H247v-14h-39.1zm57.1 0v14h40.8l-1.7-14H265zm57.2 0l1.7 14h33.4l-2.3-14h-32.8zm51.2 0l2.3 14h33.2l-2.9-14h-32.6zm-170.8 32l-14.4 46h136.3L313 377H202.6zM28 473v18h456v-18H28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LargeDress;

impl IconShape for LargeDress {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189.4 43.36l-20.3 10.18c0 32.03.8 87.86 13.9 130.96 58.3 14.2 87.7 14.2 146 0 13.3-43 13.9-86.54 14-130.96l-20.4-10.18c-4.4 5.74-11.7 15.04-21.8 26.57-7.2 8.16-14.8 16.36-22.1 22.8-3.6 3.22-7.1 6-10.6 8.17-3.6 2.2-7.1 4.1-12.1 4.1s-8.5-1.9-12.1-4.1c-3.5-2.17-7-4.95-10.6-8.17-7.3-6.44-14.9-14.64-22.1-22.8-10.1-11.53-17.4-20.83-21.8-26.57zm-8.6 159.04L57.3 449.5c.28 1.1.8 2.3 2.16 3.8 2 2.3 5.58 5.1 10.61 7.7 10.08 5.4 25.72 10.3 44.73 14.2 38 7.8 89.7 11.8 141.2 11.8 51.5 0 103.2-4 141.2-11.8 19-3.9 34.7-8.8 44.7-14.2 5.1-2.6 8.6-5.4 10.6-7.7 1.4-1.5 1.9-2.7 2.2-3.8L331.2 202.4c-58 13.9-92.4 13.9-150.4 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LargePaintBrush;

impl IconShape for LargePaintBrush {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.02 20.02c-1.415 1.414-2.87 4.939-1.404 12.857 1.467 7.919 5.948 19.18 14.07 32.718l.075.124.07.126c36.072 64.774 100.54 100.053 156.894 156.407 3.535 3.535 4.692 8.141 4.86 12.202.168 4.06-.524 8.036-1.648 12.226-2.248 8.38-6.392 17.635-11.551 27.216-8.686 16.13-20.094 32.615-30.883 44.898l10.23 10.231 168.292-168.291-10.231-10.231c-12.283 10.789-28.768 22.197-44.899 30.883-9.58 5.159-18.835 9.303-27.215 11.551-4.19 1.124-8.166 1.816-12.226 1.648-4.06-.168-8.667-1.325-12.202-4.86-53.66-53.66-81.946-115.656-156.388-156.882l-.137-.076-.132-.08c-13.537-8.123-24.8-12.605-32.718-14.07-7.918-1.467-11.443-.012-12.858 1.402zm27.576 27.576A32 16 45 0 1 81.538 58.91 32 16 45 0 1 92.85 92.851a32 16 45 0 1-33.94-11.313 32 16 45 0 1-11.315-33.942zm125.865 294.157l9.9 9.9L351.652 183.36l-9.9-9.9zm22.628 22.627l9.9 9.9 168.29-168.292-9.899-9.9zm22.53 22.724c21.7 21.843 56.445 58.776 71.301 106.89l18.939-18.938c.264-11.26-.095-21.74-1.047-31.48 5.234 4.6 10.043 11.404 14.27 18.257l25.795-25.795c-4.578-9.167-10.801-17.054-16.325-25.486 8.741 5.196 17.668 10.207 25.477 16.334l40.646-40.646c-6.681-2.406-12.95-6.323-19.066-10.804 9.83 1.596 20.11.934 30.588-.718l25.66-25.66c-3.612-10.324-7.613-20.26-13.055-28.756 11.272 2.37 19.41 8.292 27.163 14.648l19.88-19.88c-3.56-2.767-6.356-6.46-9.117-14.082 6.663 3.66 13.225 3.978 19.931 3.268l14.336-14.336c-48.115-14.856-85.048-49.601-106.89-71.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaserTurret;

impl IconShape for LaserTurret {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.256 43.072c-15.311.066-29.953 3.498-42.8 11.117-.639.38-1.274.772-1.905 1.178l14.19 12.623c25.682-12.925 64.8-6.102 98.026 14.306 5.014 3.08 9.855 6.45 14.479 10.059l21.646-5.346c-8.236-7.511-17.256-14.247-26.705-20.05-24.036-14.764-51.414-23.998-76.931-23.887zm-68.547 15.18l-25.24 47.11 29.695 14.13 25.748-34.377zm186.62 43.732l-19.948 4.928c7.106 7.428 13.273 15.483 18.175 23.953l18.809-3.479c-4.589-8.99-10.366-17.497-17.035-25.402zm-85.507 2.02l-13.547 11.851 69.123 78.996 12.754-12.754zm302.164 20.503l-26.607 13.856 8.314 15.965 26.608-13.858zm-428.613.744c-12.944 30.79-22.136 66.493-24.819 99.18-2.73 33.266.59 63.796 17.1 83.004 8.255 9.604 20.29 15.696 34.463 16.215 13.842.506 29.56-3.78 47.78-13.074l-8.315-15.965c-16.368 8.323-29.294 11.399-38.807 11.05-9.768-.357-16.13-3.745-21.47-9.958-10.681-12.427-15.347-38.877-12.81-69.8 2.472-30.117 11.139-64.082 23.153-92.907zm379.576 9.01l-106.9 55.674v51.861l128.146-66.738zm-143.576 10.133l-17.983 3.326c1.986 5.646 3.364 11.402 4.082 17.21h18.123a99.489 99.489 0 0 0-4.222-20.536zm-16.596 38.535l-42.728 42.729v67.271h78v-21.117c-6.572 4.486-14.495 7.117-23 7.117-22.537 0-41-18.463-41-41s18.462-41 41-41c8.505 0 16.428 2.632 23 7.117V182.93zm12.272 32c-12.81 0-23 10.191-23 23 0 12.81 10.19 23 23 23 12.809 0 23-10.19 23-23 0-12.809-10.191-23-23-23zm-73 34.375l-75.334 39.235 21.246 40.796 54.088-28.168zm34 61.625v76h46v-76zm-113.182 9.192c-32.77 18.212-51.334 33.848-59.8 49.992-4.4 8.389-5.74 17.206-4.044 25.217 1.696 8.01 6.093 14.896 11.658 20.857 11.131 11.923 27.253 20.999 43.524 29.512 2.542 1.33 5.067 2.616 7.6 3.914l16.04-12.031c-5.092-2.591-10.238-5.187-15.294-7.832-15.808-8.272-30.58-17.138-38.711-25.848-4.066-4.355-6.394-8.458-7.207-12.3-.814-3.844-.45-7.744 2.375-13.128 5.408-10.312 21.15-25.012 52.177-42.38zm97.182 84.808v16h78v-16h-71zm-54 34l-40 30h266l-40-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lasso;

impl IconShape for Lasso {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M337.094 16.063c-21.228.17-43.46 2.637-65.906 7.093-34.297 6.81-69.222 18.232-101.97 33.657-9.218-6.683-20.773-10.25-32.593-10.25-13.02 0-25.738 4.318-35.344 12.374-9.605 8.057-15.47 19.56-15.468 31.688.002 5.604 1.268 11.065 3.563 16.125-24.207 19.952-44.59 42.7-59 67.813-15.064 26.25-15.215 53.9-3.72 74.875 11.498 20.973 34.517 34.804 62.47 34.75 28.542-.056 59.887-15.612 93.156-33.875 33.27-18.264 68.27-39.706 101-53.313 31.18-12.96 85.634-17.866 129.97-27.688 22.168-4.91 42-10.9 56.25-21.593 7.125-5.347 12.92-12.15 15.875-20.5 2.954-8.353 2.842-17.892-.188-27.876-11.704-38.574-42.262-63.046-80.78-74.594-19.26-5.774-40.597-8.54-63.094-8.688-1.407-.01-2.804-.01-4.22 0zm.125 18.03c1.328-.01 2.65-.008 3.967 0 21.097.142 40.78 2.735 58.032 7.907 34.502 10.345 58.912 30.144 68.75 62.563 2.173 7.164 1.974 12.31.436 16.656-1.537 4.345-4.607 8.28-9.687 12.093-10.16 7.623-28.176 13.74-49.376 18.437-36.21 8.022-81.14 12.245-116.063 22.688-31.145-26.54-68.817-50.18-108.124-70.875 1.473-4.14 2.28-8.49 2.28-12.938.003-6.907-1.9-13.614-5.31-19.594 29.874-13.7 61.542-24.053 92.593-30.218 21.448-4.258 42.56-6.563 62.5-6.718zm-200.595 30.47c4.395 0 8.808.79 12.875 2.187-6.233 3.344-12.376 6.832-18.375 10.47-5.086-2.306-10.163-4.542-15.22-6.75 5.713-3.65 13.265-5.907 20.72-5.907zm29.22 14.343c2.358 3.726 3.593 7.82 3.593 11.72 0 1.498-.204 3.036-.563 4.56-5.803-2.908-11.64-5.746-17.47-8.53 4.743-2.675 9.56-5.252 14.44-7.75zm-61.25 6.28c2.83 1.222 5.66 2.435 8.5 3.69-2.96 2.033-5.874 4.11-8.75 6.218-.346-1.495-.532-3-.532-4.47 0-1.784.274-3.623.78-5.436zm28.25 12.658c8.508 3.954 17.008 8.064 25.468 12.28-5.81 4.018-13.81 6.564-21.688 6.564-7.877 0-15.88-2.546-21.688-6.563 5.788-4.233 11.76-8.34 17.907-12.28zm42.75 21.094c35.565 18.672 69.578 39.638 98.06 62.593-33.822 14.413-68.17 35.512-100.03 53-32.705 17.955-62.993 31.616-84.563 31.657-22.158.043-38.318-10.252-46.624-25.406-8.307-15.153-8.875-35.608 3.562-57.28 12.935-22.54 31.727-43.46 54.313-62.063.324.29.634.595.968.876 9.606 8.053 22.326 12.374 35.345 12.374 13.02 0 25.74-4.32 35.344-12.375 1.27-1.064 2.49-2.196 3.624-3.374zm144.686 80.156a9 9 0 0 0-5.936 15.937c55.87 47.83 85.364 85.454 96.75 125.157 11.386 39.704 5.165 83.09-13.813 143.657a9.01 9.01 0 1 0 17.19 5.406c19.374-61.833 26.758-109.32 13.936-154.03-12.822-44.713-45.345-85.056-102.375-133.876a9 9 0 0 0-5.75-2.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Latvia;

impl IconShape for Latvia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.446 354.575c-8.66-40.146-4.72-98.13 46.128-175.924l53.147-21.388 60.923 88.145 57.035-23.333-3.889-79.72 62.267-28.864 71.247 65.16 29.177-13.022 63.856 34.828 28.815 122.077c-18.165 31.708-30.85 65.514-104.492 75.975l-113.926-84.4c-97.46 20.25-135.145 4.186-184.716-5.185z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaurelsTrophy;

impl IconShape for LaurelsTrophy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.273 41c1.41 59.526 16.381 119.035 35.125 167.77 19.69 51.191 44.086 90.988 57.965 104.867l2.637 2.636V343h46v-26.727l2.637-2.636c13.879-13.88 38.275-53.676 57.965-104.867 18.744-48.735 33.715-108.244 35.125-167.77zm-50.605 68.295c-17.97 6.05-32.296 18.214-37.625 30.367-3.015 6.875-3.48 13.44-.988 20.129.285.766.62 1.54.996 2.318a119.032 119.032 0 0 1 8.504-4.812l6.277-3.215 4.621 5.326c5.137 5.92 9.61 12.37 13.422 19.125 2.573-3.06 5.207-7.864 7.05-14.037 4.491-15.034 4.322-36.95-2.257-55.201zm338.664 0c-6.58 18.25-6.748 40.167-2.258 55.201 1.844 6.173 4.478 10.977 7.051 14.037 3.813-6.756 8.285-13.205 13.422-19.125l4.621-5.326 6.277 3.215a119.033 119.033 0 0 1 8.504 4.812c.375-.779.71-1.552.996-2.318 2.492-6.689 2.027-13.254-.988-20.129-5.329-12.153-19.655-24.317-37.625-30.367zm-365.975 67.74c-20.251 12.486-34.121 31.475-36.746 47.973-1.447 9.1.09 17.224 5.323 24.545 1.66 2.324 3.743 4.594 6.304 6.76a116.606 116.606 0 0 1 11.44-14.977l4.72-5.24 6.217 3.33c7.91 4.236 15.262 9.424 21.94 15.252.973-3.633 1.619-7.892 1.773-12.616.636-19.438-6.762-45.536-20.97-65.027zm393.286 0c-14.21 19.49-21.607 45.59-20.971 65.027.154 4.724.8 8.983 1.773 12.616 6.678-5.828 14.03-11.016 21.94-15.252l6.217-3.33 4.72 5.24a116.606 116.606 0 0 1 11.44 14.976c2.56-2.165 4.643-4.435 6.304-6.76 5.233-7.32 6.77-15.444 5.323-24.544-2.625-16.498-16.495-35.487-36.746-47.973zM54.4 259.133c-14.394 18.806-20.496 41.413-17.004 57.748 1.928 9.014 6.298 16.078 13.844 21.078 4.944 3.276 11.48 5.7 19.94 6.645a120.631 120.631 0 0 1 7.101-17.852l3.125-6.338 6.9 1.535c4.095.911 8.133 2.046 12.094 3.377-.373-3.838-1.309-8.185-2.925-12.82-6.416-18.396-22.749-40.184-43.075-53.373zm403.2 0c-20.326 13.189-36.66 34.977-43.075 53.373-1.616 4.635-2.552 8.982-2.925 12.82a119.337 119.337 0 0 1 12.093-3.377l6.9-1.535 3.126 6.338a120.63 120.63 0 0 1 7.101 17.852c8.46-.944 14.996-3.37 19.94-6.645 7.546-5 11.916-12.065 13.844-21.078 3.492-16.335-2.61-38.942-17.004-57.748zM91.5 341.527c-9.285 23.14-9.027 47.85-.709 63.54 4.57 8.619 11.106 14.607 20.268 17.562 4.586 1.479 9.957 2.19 16.185 1.803-2.135-11.155-2.771-22.97-1.756-34.938l.602-7.074 7.02-1.065a129.43 129.43 0 0 1 13.458-1.312c.554-.025 1.107-.04 1.66-.059-12.419-15.776-33.883-31.43-56.728-38.457zm329 0c-22.845 7.027-44.31 22.68-56.729 38.457.554.019 1.107.034 1.66.059 4.5.206 8.995.637 13.46 1.312l7.02 1.065.6 7.074c1.016 11.967.38 23.783-1.755 34.938 6.228.386 11.6-.324 16.185-1.803 9.162-2.955 15.699-8.943 20.268-17.563 8.318-15.69 8.576-40.4-.709-63.539zM199.729 361c-1.943 7.383-6.045 14.043-11.366 19.363a46.544 46.544 0 0 1-3.484 3.125c14.804 3.295 28.659 8.692 40.404 15.46 2.384-5.36 5.376-10.345 9.408-14.534C239.96 378.942 247.51 375 256 375c8.491 0 16.041 3.942 21.309 9.414 4.032 4.19 7.024 9.175 9.408 14.533 11.815-6.808 25.766-12.23 40.67-15.52a48.107 48.107 0 0 1-3.739-3.413c-5.227-5.333-9.27-11.852-11.261-19.014zM256 393c-3.434 0-5.635 1.084-8.34 3.895-2.704 2.81-5.395 7.52-7.527 13.298-4.265 11.556-6.343 27-7.156 38.446-1.07 15.043 3 33.368 12.285 40.06 4.733 3.412 16.743 3.412 21.476 0 9.285-6.692 13.355-25.017 12.285-40.06-.813-11.446-2.891-26.89-7.156-38.446-2.132-5.777-4.823-10.488-7.527-13.298-2.705-2.81-4.906-3.895-8.34-3.895zm-103.521 4.979c-1.714-.008-3.424.022-5.127.09-1.405.055-2.77.281-4.164.39-.418 27.817 9.816 53.543 24.994 66.644 8.264 7.134 17.586 10.772 28.35 10.157 5.908-.338 12.394-2.03 19.374-5.52-1.27-7.665-1.377-15.42-.883-22.379.632-8.89 1.852-19.962 4.479-30.877-17.16-10.686-42.426-18.395-67.023-18.506zm207.042 0c-24.597.11-49.863 7.82-67.023 18.505 2.627 10.915 3.847 21.987 4.479 30.877.494 6.958.387 14.714-.883 22.38 6.98 3.49 13.466 5.181 19.375 5.519 10.763.615 20.085-3.023 28.35-10.156 15.177-13.102 25.411-38.828 24.993-66.645-1.393-.109-2.76-.335-4.164-.39a116.32 116.32 0 0 0-5.127-.09z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeadPipe;

impl IconShape for LeadPipe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.783 22.424c-2.382.04-4.63.42-6.646 1.178l-148.725 93.875-125.28 165.15c.972 7.275 1.65 13.713 1.65 13.713L145.435 302 52.56 424.432a38.188 26.876 37.184 0 1 30.288 9.912 38.188 26.876 37.184 0 1 18.03 28.566l219.278-289.056-1.943-31.5 12.213 23.632 140.47-88.664c7.383-9.426 8.96-18.574 7.038-26.62l-15.998 5.54L472.48 39.27c-2.533-3.414-5.665-6.433-9.13-8.93-7.054-5.082-15.42-8.035-22.567-7.916zM52.705 438.676a30.876 21.73 37.184 0 0-1.857.023 30.876 21.73 37.184 0 0-14.244 6.763 30.876 21.73 37.184 0 0 11.464 35.974 30.876 21.73 37.184 0 0 37.735 1.348 30.876 21.73 37.184 0 0-11.47-35.973 30.876 21.73 37.184 0 0-21.628-8.136zm1.762 15.146a14.803 10.418 37.184 0 1 .004 0 14.803 10.418 37.184 0 1 11.26 3.89 14.803 10.418 37.184 0 1 5.497 17.247 14.803 10.418 37.184 0 1-18.09-.647 14.803 10.418 37.184 0 1-5.498-17.247 14.803 10.418 37.184 0 1 6.827-3.244z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Leak;

impl IconShape for Leak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367 32s-37.8 51.9-32 80c3 14.8 16.9 32 32 32 15.1 0 29-17.2 32-32 5.8-28.1-32-80-32-80zM160.2 133.4s-37.8 51.9-32 80c3 14.8 16.9 32 32 32 15.1 0 29-17.2 32-32 5.8-28.1-32-80-32-80zm241.1 134.1a91.23 38.36 0 0 0-83.9 23.4 210 77.59 0 0 0-79.7-5.9 210 77.59 0 0 0-210 77.6 210 77.59 0 0 0 210 77.6 210 77.59 0 0 0 68.2-4.3 82.62 29.64 0 0 0-4.5 9.6 82.62 29.64 0 0 0 82.6 29.6 82.62 29.64 0 0 0 82.6-29.6 82.62 29.64 0 0 0-76.8-29.5 210 77.59 0 0 0 57.9-53.4 210 77.59 0 0 0-8.6-21.8 91.23 38.36 0 0 0 53.4-34.9 91.23 38.36 0 0 0-91.2-38.4zM107.8 457.6A43.89 17.43 0 0 0 63.91 475a43.89 17.43 0 0 0 43.89 17.4 43.89 17.43 0 0 0 43.9-17.4 43.89 17.43 0 0 0-43.9-17.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Leapfrog;

impl IconShape for Leapfrog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M312.1 21.13c-11.6 0-24.5 9.6-30 26.05-6.5 19.5 1.1 37.61 13.9 41.91 12.8 4.2 29.8-5.6 36.4-25.1 6.5-19.5-1.2-37.59-14-41.87-2-.67-4.1-.99-6.3-.99zM198.4 66.74c-29.5 22.35-47.8 40.16-66.1 63.26-8 11.5 12.3 32.2 26.5 19.2l44.6-43.7 37.7 7.1c-22.6 46.3-37.4 83.3-81.3 113.6-22.9.5-43.2-6.6-63.82-12.6-16.71-4.7-26.86 28.1-10.84 33.5 28.26 11.4 58.66 19.9 92.36 23.8 62.5-49.6 105-83.6 211.6.8 15.4 10 31.2-19.8 26-24.9l-78.2-61.9c-10.1-6.7-33.1-5.6-50.2-7.9 12.4-15.4 18.8-28.7 25.2-42.2 19.4 8.8 47.9 20 58.3 18.3 24.6-18.4 45.6-35.4 64.6-54.41 9.2-11.46-14.7-33.2-23.7-25.08L362 115.5c-10.6-6.3-21.8-11.6-33.6-16.41-11.1 8.21-24.8 11.51-38.1 7.01-12.5-4.2-21.2-14.11-25.5-26.31-21.5-4.99-43.8-9.07-66.4-13.05zm119 212.86c-2.4 0-4.9.1-7.4.5-20.4 2.9-33.1 17.9-31.2 31.2 1.9 13.4 18.3 24.2 38.7 21.3 20.4-2.9 33.1-17.8 31.2-31.2-1.7-11.7-14.4-21.5-31.3-21.8zm-185.5 115c-1.2 29.4 17.7 28.6 62.6 26.4l-44.4 42.1c-9 9.3 13.6 28.4 24.7 23.7l89.9-73c7.4 45.3 8.4 46.4 11.9 58.8 3.8 13.3 28.7 8.8 26.6-1.6-4.6-23.7-9.4-81.7-19.4-123.1-14.4-5.9-20.6-18.7-22.8-34-1-7.1-.1-13.9 2.5-20.2-47.3 4.1-123.2 59.1-131.6 100.9zM257.4 361l4.1 27.6-45-3.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeatherArmor;

impl IconShape for LeatherArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M339.8 33.47l14 2.81c-1.2 3.02-2.5 6.32-4 9.75-5.8 13.63-14.2 29.31-20 35.12-4.9 4.85-19.8 9.57-33.1 11.48-11.2 1.8-22.4 3.9-33.7 3.9v15.97h-14V96.53c-12 .1-24.2-2.6-33.7-3.9-13.3-1.9-28.2-6.62-33.1-11.45-5.8-5.81-14.2-21.49-20-35.11-1.5-3.44-2.8-6.75-4-9.79l14-2.81c8.4 11.37 38 47.06 83.8 47.06s75.4-35.69 83.8-47.06zm31.9 6.38l31.9 6.38-29.7 74.37 32.7 49-9.5 66.1c-1.8 1.4-3.8 2.8-6 4.3-11.3 7.5-26.1 14.5-39.1 14.5-4.3 0-12-3.5-20.2-10.4-8.3-6.9-17-16.5-24.8-26.2-14.2-17.9-24.3-34.2-26-37v-18.4h11v-18h-11v-14h11v-18s38.9-7.7 50.4-18.57c10.2-10.11 17.8-26.43 24-40.82 2-4.79 3.8-9.3 5.3-13.26zm-231.4 0c1.5 3.96 3.3 8.48 5.3 13.29 6.2 14.39 13.8 30.71 24 40.79C185 107.1 220 112.5 220 112.5v18h11v14h-11v18h11v18.4c-1.7 2.8-11.8 19.1-26 37-7.8 9.7-16.5 19.3-24.8 26.2-8.2 6.9-15.9 10.4-20.2 10.4-13 0-27.8-7-39.1-14.5-2.2-1.5-4.2-2.9-6-4.3l-9.5-66.1 32.7-49-29.7-74.38zM263 130.5v14h-14v-14zm0 32V186l1.3 2.1s12.2 20.4 28.7 41c8.2 10.3 17.5 20.7 27.2 28.8 9.8 8.1 20.1 14.6 31.8 14.6 15.6 0 30-6.1 41.7-13l-2.1 15-54.2 40.7-81.4-97.8-81.4 97.8-54.2-40.7-2.1-15c11.7 6.9 26.1 13 41.7 13 11.7 0 22-6.5 31.8-14.6 9.7-8.1 19-18.5 27.2-28.8 16.5-20.6 28.7-41 28.7-41l1.3-2.1v-23.5zm-7 83.1l78.6 94.2 33.1-24.8-7.4 37c-13.1 3.1-64.2 14.5-104.3 14.5-40.1 0-91.2-11.4-104.3-14.5l-7.4-37 33.1 24.8zm90.3 128l8.7 34.9c-5.9 2-12.5 4.2-19.6 6.4-4.2 1.3-8.6 2.6-13 3.8l-6.6-39.6c11.3-1.8 21.8-3.8 30.5-5.5zm-180.6 0c8.7 1.7 19.2 3.7 30.5 5.5l-6.6 39.6c-4.4-1.2-8.8-2.5-13-3.8-7.1-2.2-13.7-4.4-19.6-6.4zm132.2 8l6.9 41.7c-13.9 3.3-27.8 5.9-39.8 6.8v-45.8c10.8-.3 22-1.4 32.9-2.7zm-83.8 0c10.9 1.3 22.1 2.4 32.9 2.7v45.8c-12-.9-25.9-3.5-39.8-6.8zm163.6 37.9l11.2 44.7s-56.2 20.2-85.6 24.3c-31.2 4.3-63.4 4.3-94.6 0-29.4-4.1-85.6-24.3-85.6-24.3l11.2-44.7c8.1 3.1 20.1 7.4 37.1 12.6 26.3 8.1 58.6 16.4 84.6 16.4 26 0 58.3-8.3 84.6-16.4 17-5.2 29-9.5 37.1-12.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Led;

impl IconShape for Led {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20.5c-45.5 0-74.137 18.276-92.676 44.23C144.784 90.685 137 125 137 155.5v151h238v-151c0-30.5-7.785-64.815-26.324-90.77C330.136 38.776 301.5 20.5 256 20.5zm8.756 11.885c1.285 0 2.554.018 3.812.047A184 235.5 0 0 0 145.91 160.336c1.113-28.645 9.045-59.746 26.17-83.72 18.54-25.955 47.176-44.23 92.676-44.23zM105 324.5v46h302v-46H105zm78 64v39h-7v32h7v32h18v-32h7v-32h-7v-39h-18zm128 0v39h-7v32h7v32h18v-32h7v-32h-7v-39h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Leek;

impl IconShape for Leek {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M448.7 28.93c-10.8 0-20.9 1.22-34.4 9.61-16.9 35.27-36.9 63.56-58.7 93.96l-.7 2.5 30.8-13.1c24.5-31.63 45.4-62.58 63-92.97zm-90.3 3.23c-.8 0-1.5.1-2.2.16-5.3.67-10.7 2.74-19.1 12.34L314.6 123c-2.3 23.3-5.6 46.7-9.6 70.2 5.3-1.6 10.7-3.2 16-4.8l44.3-156c-1.6-.1-3.2-.23-4.6-.23h-2.3zm-63.9 7.37c-4 .15-10.9 2.81-19.3 12.39-10.2 52.28-8.6 91.78-32.5 169.48l-.6 2L101.5 376c11.9 2.3 20.2 7.2 25.6 13.8 4.4 5.4 6.8 11.2 8.7 16.5L275.5 250c15.1-68.8 25.1-136.9 25.1-203.84v-.83c.3-3.22-.9-5.14-4.6-5.72-.4-.1-.9-.1-1.5-.1zm160.3 72.27l-106.3 45.5-7.1 25.1c7.2-2 14.4-4 21.7-5.8l107-46.8c-1.5-3.6-3-6.9-4.6-9.5-2.4-3.9-5.1-6.6-10.7-8.5zm-.1 65.7c-54 5.7-103.4 20.4-153.2 35.5-1.9 9.6-3.8 19.3-5.8 28.9 57.6-16.3 115-32.7 182.3-51-1.3-1.4-2.5-2.8-3.7-4-4.3-3.8-9.4-7-19.6-9.4zM86.29 392.6L36.14 447c-8.98 20.3 12.14 42.9 32.69 34.1L122 421.6c-3.4-8.6-5.2-15.9-8.9-20.4-3.8-4.7-9.9-8.6-26.81-8.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Leg;

impl IconShape for Leg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.09 16.96V170.7C73.51 193.5 202.7 200 259.8 189.4c-18.1 105.6 34 177.3 31.1 226.5-2 33.3-22.9 39-13.5 69.3 4.9 15.6 193 5.1 201.1 4.9 7.7-.3 5.4-19.2-13.3-27.2-35.2-15.1-80.2-10.7-110.1-47-9.7-14.6 6.9-180.3 10-241.4.8-15.7 4.7-78.91-60-100.5C225 47.24 123 27.32 19.09 16.96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LegArmor;

impl IconShape for LegArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 22.781c-11.101 10.941-19.822 27.6-26.076 41.203 6.044 20.063 11.083 40.869 27.539 54.926 18.862-14.015 27.05-33.752 35.187-56.351C154.631 51.155 144.412 34.368 128 22.78zm256 0c-16.412 11.587-26.631 28.374-36.65 39.778 8.137 22.599 16.325 42.336 35.187 56.351 16.456-14.057 21.495-34.863 27.54-54.926C403.821 50.381 395.1 33.722 384 22.781zM222.23 46.104c-11.546 2.749-24.948 7.229-37.04 12.68-8.622 28.9-21.924 55.363-45.965 74.734l16.55 177.107-19.933-8.438-14.61-167.787c-16.163-16.006-28.001-43.023-38.39-71.285-3.545-2.304-7.083-4.15-10.621-5.424 6.237 82.926 25.341 186.732 47.006 274.592 2.544-1.159 5.746-2.4 8.724-3.459 29.464 7.318 56.995 29.357 81.848 53.067C192 272 256 160 222.23 46.104zm67.54 0C256 160 320 272 302.2 381.89c24.853-23.71 52.384-45.75 81.848-53.067 2.978 1.06 6.18 2.3 8.724 3.46 21.665-87.86 40.77-191.667 47.006-274.593-3.538 1.274-7.076 3.12-10.62 5.424-10.39 28.262-22.228 55.28-38.391 71.285l-14.61 167.787-19.933 8.438 16.55-177.107c-24.04-19.37-37.343-45.834-45.964-74.735-12.093-5.45-25.495-9.93-37.041-12.68zM129.004 347.83c-13.31 5.672-27.915 18.355-33.014 34.666 23.725 4.679 52.808 18.407 75.524 40.389l3.947 26.867 33.467-12.074-1.33-29.082c-19.75-28.701-51.073-52.92-78.594-60.766zm253.992 0c-27.52 7.846-58.843 32.065-78.594 60.766l-1.33 29.082 33.467 12.074 3.947-26.867c22.716-21.982 51.8-35.71 75.524-40.389-5.099-16.311-19.704-28.994-33.014-34.666zM90.69 399.703l-52.257 39.272c-10.312 15.251-12.923 32.609-8.657 47.158 52.559 9.293 88.252-3.287 129.043-25.838l-4.275-29.084c-14.703-15.135-33.665-26.354-63.854-31.508zm330.622 0c-30.189 5.154-49.151 16.373-63.854 31.508l-4.275 29.084c40.791 22.55 76.484 35.131 129.043 25.838 4.266-14.55 1.655-31.907-8.657-47.158l-52.257-39.272z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lemon;

impl IconShape for Lemon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.155 22.74c-2.383.006-4.78.023-7.188.048-96.615 1.006-212.449 16.343-293.129 48.299 53.634 30.517 147.245 69.92 225.258 63.623 105.888-13.769 130.213-63.196 166.272-101.89-80.543 35.402-188.935 68.295-277.344 47.288l4.16-17.513c73.994 17.581 169.091-7.127 245.187-37.719-19.444-1.475-40.736-2.204-63.216-2.137zm116.047 10.769c-39.292 35.566-65.02 103.045-189.024 119.088l-.209.027-.213.018c-61.286 5.007-128.03-14.881-181.385-38.34C27.258 195.335-3.358 324.769 46.178 423.278c-7.19 15.133-14.1 55.714-5.344 61.455 9.907 6.497 56.377 9.562 100.434-16.152 266.975 22.149 381.075-197.096 334.31-373.64 8.996-17.539 16.994-48.322 12.623-61.432zm-48.096 205.65l17.713 3.207c-2.711 14.97-3.485 18.941-11.979 35.942l-16.103-8.045c8.295-16.605 7.624-15.945 10.369-31.104zm-35.526 1.266l17.248 5.146c-3.966 13.29-4.674 15.182-15.61 32.938l-15.327-9.44c10.918-17.725 9.683-15.218 13.69-28.644zm17.729 53.422l16.557 7.062c-8.988 21.07-21.13 37.16-39.688 52.98l-11.676-13.699c17.009-14.499 26.767-27.494 34.807-46.343zm-46.104 1.103l15.397 9.324c-2.623 4.33-8.042 11.385-14.457 19.522-6.415 8.136-13.293 16.513-17.988 21.48l-13.08-12.365c3.706-3.92 10.693-12.345 16.931-20.258 6.239-7.913 12.26-16.156 13.197-17.703zm-43.068 50.4l12.639 12.815c-9.895 9.759-20.094 15.268-35.375 24.004l-8.934-15.627c15.413-8.811 23.773-13.403 31.67-21.191zm35.586 17.608l11.492 13.854c-9.585 7.95-22.44 17.369-37.342 25.14l-8.324-15.96c13.363-6.97 25.313-15.684 34.174-23.034zm-88.23 15.025l5.69 17.077-17.878 5.96-5.691-17.078zm-41.774 14.329l5.309 17.199c-16.105 4.971-22.016 7.66-42.565 7.85l-.166-18c19.248-.178 20.64-1.87 37.422-7.05zm69.85 7.666l7.642 16.296c-15.603 7.318-36.356 15.454-56.24 19.31l-3.426-17.67c17.473-3.389 37.378-11.067 52.024-17.936zm-91.68 29.017l4.77 17.358c-11.888 3.267-22 2.141-35.957 1.748l.507-17.993c14.53.41 22.439 1.152 30.68-1.113z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Leo;

impl IconShape for Leo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.817 305.907c12.462 0 22.567-10.1 22.567-22.566s-10.105-22.56-22.567-22.56-22.567 10.094-22.567 22.56c0 12.467 10.105 22.567 22.567 22.567zM59.85 283.487c0-59.368 47.824-107.56 107.046-108.155-1.167-8.847-1.714-18.013-1.443-27.63C170.835-40.66 463.57-1.64 419.316 179.118c-16.387 66.94-44.974 130.56-71.378 188.645-24.682 54.31 13.657 50.307 17.238 32.797l83.598 1.82c-3.044 139.3-258.61 110.427-176.962-69.216 26.777-58.917 48.966-116.556 66.282-173.938 19.813-65.64-130.754-90.223-76.484 49.75 7.782 20.08 14.543 44.747 14.427 69.036l.135 5.47c0 59.733-48.424 108.158-108.163 108.158-59.74 0-108.16-48.42-108.16-108.154z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LevelCrossing;

impl IconShape for LevelCrossing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.501 24v45.064l9.139 4.063 8.861-3.94V24h-18zM45.175 71.283l-22.676 7.559 29.14 12.951 19.842-8.818-26.306-11.692zm96.931 0L22.501 124.441 45.175 132l119.607-53.158-22.676-7.559zm-6.466 40.207l-19.84 8.819L142.106 132l22.674-7.559-29.14-12.95zm291.478 5.008l-16.695 9.629-10.998 40.975 19.527-11.262 9.8-36.508-1.634-2.834zM93.64 130.158l-9.139 4.06v55.264c4.818 4.332 8.368 10.05 10 16.502a33.108 33.108 0 0 1 8-14.54v-57.348l-8.861-3.938zm294.732 8.688l-19.53 11.263-10.997 40.975 19.529-11.264 10.998-40.974zm-41.58 23.982l-19.53 11.264-10.997 40.974 19.529-11.263 10.998-40.975zm-41.58 23.98l-19.53 11.264-10.997 40.977 19.529-11.264 10.998-40.976zM62.5 199c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm64 0c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm137.13 11.791l-19.528 11.264-10.999 40.974 19.53-11.263 10.998-40.975zm-169.13 11.225c-1.632 6.452-5.182 12.17-10 16.502v54.808l18-10.38v-46.39a33.108 33.108 0 0 1-8-14.54zm127.553 12.755l-19.53 11.264-11 40.977 19.53-11.264 11-40.977zm-41.58 23.983l-19.53 11.264-10.998 40.976 19.53-11.265 10.998-40.975zm-41.58 23.982l-32.948 19.002 14.024 26.545 7.926-4.572 10.998-40.975zm-48.551 28.002l-49.57 28.59 14.988 25.988 48.607-28.035-14.025-26.543zm42.158 31.096l-78 44.988V486h78V341.834zm339 2.166v144h18V344h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LevelEndFlag;

impl IconShape for LevelEndFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M448 25c-8.4 0-15 6.61-15 15s6.6 15 15 15 15-6.61 15-15-6.6-15-15-15zm7 50.53L373.1 96l81.9 20.5V75.53zM439 131v292h18V135.5l-18-4.5zm-158 54v46h46v-46h-46zm-64 64v46h46v-46h-46zm64 0v46h46v-46h-46zm-128 64v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zM89 377v46h46v-46H89zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zM25 441v46h46v-46H25zm64 0v46h46v-46H89zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm64 0v46h46v-46h-46zm144 0v46h46v-46h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Liar;

impl IconShape for Liar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197 41c-40.8 0-78.1 23.07-105.76 61.8-4.37 6.1-8.48 12.6-12.31 19.5 1.03 2 2.05 4 3.06 6.1 9.95 20.9 20.01 46 11.35 67-3.5 8.4-10.59 13.7-17.91 17-7.31 3.2-15.18 4.6-22.4 4.6-1.46 0-2.96-.1-4.46-.2-1.66 12.7-2.53 25.8-2.53 39.2 0 60.1 17.49 114.4 45.2 153.2C118.9 447.9 156.2 471 197 471c40.8 0 78.1-23.1 105.8-61.8 10.1-14.2 18.8-30.4 25.8-48.2H197v-18h272c20 0 20-46 0-46H197v-18h150.1c.6-7.5.9-15.2.9-23 0-60.1-17.5-114.4-45.2-153.2C275.1 64.07 237.8 41 197 41zM53.04 112.8c-3.76 6.2-8.38 14.3-12.71 23.4-9.25 19.3-15.17 42.2-10.97 52.4 1.08 2.6 4 5.3 8.56 7.3 4.56 2 10.41 3.1 15.12 3.1 4.71 0 10.56-1.1 15.12-3.1 4.57-2 7.48-4.7 8.57-7.3 4.19-10.2-1.73-33.1-10.97-52.4-4.34-9.1-8.96-17.2-12.72-23.4zM133 215c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm128 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-64 168c10.7 0 20.5 3.2 28 8.8 7.6 5.7 13 14.3 13 24.2 0 9.9-5.4 18.5-13 24.2-7.5 5.6-17.3 8.8-28 8.8s-20.5-3.2-28-8.8c-7.6-5.7-13-14.3-13-24.2 0-9.9 5.4-18.5 13-24.2 7.5-5.6 17.3-8.8 28-8.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LibertyWing;

impl IconShape for LibertyWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M487 37.1C396.4 53.23 292 95.28 207.5 140 163 163.6 124 187.8 95.39 209.2 81.08 220 69.36 230 60.93 238.6c-8.43 8.7-13.38 16.3-14.65 20.3-9.04 28.7-3.42 57.7 1.73 84.7 9.55 50.4-3.23 88.9-22.98 126.3 25.24-5.7 45.36-19.8 57-47 8.47-19.8 9.13-37 11.43-57.6 2.3-20.6 6.45-44.2 22.44-73.2l.2-.4.2-.4c8.8-12.6 26.2-22.2 50-33.4 23.7-11.2 53.6-23 86-35.1 63.8-23.8 137.2-48.7 190.1-71.3 20-30.1 34-74.24 44.6-114.4zm-55 138.2c-51.7 21-116.6 43.1-173.5 64.3-32.2 12-61.8 23.7-84.6 34.5-22.6 10.7-38.5 21.6-42.6 27.2-6.8 12.3-11.1 23.2-14 33.3 83.4-6.5 195.3-31.8 271.3-66.6 27.4-29.7 36.9-59.7 43.4-92.7zm-58 118.8c-79 32.2-182 53.3-260.8 58.6-.9 5-1.5 9.8-2 14.6-.4 3.5-.7 7.1-1.1 10.6 72.4 7.5 136.3 4 206.2-6.5 32.6-22.5 49.8-49.6 57.7-77.3zm-78.4 98.2c-62.3 8.1-121.6 10.2-187.6 3.4-.7 4.5-1.6 9-2.7 13.6 35.9 19.2 98.1 25.8 140.7 24.6 30.2-12.4 41.5-24.8 49.6-41.6zM99.78 426.7c-1.15 2.1-3.14 6.7-4.21 8.9 14.03 20.2 48.73 32.2 88.43 39.3 21.2-8 28.3-15.5 36.5-23-39.7-1.1-86.7-7.7-120.7-25.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Libra;

impl IconShape for Libra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M34.303 381.03h443.23v82.957H34.303V381.03zm258.44-66.852v-51.04c24.66-13.395 40.927-38.56 40.927-67.453 0-42.325-34.9-76.633-77.933-76.633-43.033 0-77.928 34.308-77.928 76.633 0 28.546 15.868 53.446 39.412 66.633v51.86l-.306 31.57H34.298v-82.95h66.225c-9.99-20.48-15.558-43.28-15.558-67.297 0-89.033 76.53-161.215 170.94-161.215s170.94 72.182 170.94 161.216c0 24.02-5.568 46.818-15.557 67.297h66.23v82.95H292.753l-.01-31.57z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Libya;

impl IconShape for Libya {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M477.6 99.68l8.5 363.72L454 465 211.7 351.9l-48.1 28.2-137.68-94 14.52-133L98.59 46.98 199.4 77.54l13.1 25.96 97 39.7 34.4-13.8-19.1-45.75 82.5-22.92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeBar;

impl IconShape for LifeBar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.4 26.23c-51.4.6-79.6 56.3-79.3 86.97 1.5 47.3 34.2 79.4 74.8 114.8 35.4 30.8 76.1 63.2 100.9 110 .1-.1.1-.2.2-.3.1.1.1.2.2.3 24.8-46.8 65.5-79.2 100.9-110 40.6-35.4 73.3-67.5 74.8-114.8.3-30.67-27.9-86.37-79.3-86.97-38-.5-82.6 25.7-96.6 67.7-14-42-58.6-68.2-96.6-67.7zM23 375v114h466V375H23zm18 18h430v78H334v-60H41v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeBuoy;

impl IconShape for LifeBuoy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367.35 80.512a208 208 0 0 0-222.64.074l54.33 69.853a120 120 0 0 1 113.893.035l54.416-69.963zm64.064 64.197l-69.853 54.33a120 120 0 0 1-.035 113.893l69.963 54.416a208 208 0 0 0-.074-222.64zm-280.94 54.357L80.513 144.65a208 208 0 0 0 .074 222.64l69.853-54.33a120 120 0 0 1 .035-113.893zM312.962 361.56a120 120 0 0 1-113.893-.035l-54.416 69.963a208 208 0 0 0 222.64-.074l-54.33-69.853z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeJacket;

impl IconShape for LifeJacket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141 35c-13 0-26.9.98-38.6 2.88-8.3 1.36-15.6 3.39-20.5 5.33 3.4 24.58 4.8 57.69 0 90.09-4.9 33.5-16.3 66.4-40.9 85.3V294h142v-25h64V139.2c-16-9.8-27.4-25.9-36.9-42.8-10.4-18.72-18.4-38.91-26.2-54.37l-.7-1.53c-1.4-.74-4.4-1.84-8.4-2.7-8.4-1.78-20.7-2.8-33.8-2.8zm230 0c-13.1 0-25.4 1.02-33.8 2.8-4 .86-7 1.96-8.4 2.7l-.7 1.53c-7.8 15.46-15.8 35.65-26.2 54.37-9.5 16.9-20.9 33-36.9 42.8V269h64v25h142v-75.4c-24.6-18.9-36-51.8-40.9-85.3-4.8-32.4-3.4-65.51 0-90.09-4.9-1.94-12.1-3.97-20.5-5.33C397.9 35.98 384 35 371 35zM201 287v62h110v-62zm23 14h64v18h-64zM41 344v62c0 1.3.3 3.8.8 7h204.6c.4-2.5.6-4.8.6-7v-39h-64v-23zm288 0v23h-64v39c0 2.2.2 4.5.6 7h204.6c.5-3.2.8-5.7.8-7v-62zM45.4 431c1.5 6 3.2 12.3 5.1 18.2 2.9 8.6 6.3 16.6 9.5 21.9 1.5 2.7 3.1 4.6 4.1 5.4.4.4.4.5.5.5H208c-.5 0 3.6-1.2 8-5.5 4.5-4.3 9.7-10.8 14.4-18.3 4.3-6.8 8.1-14.6 11-22.2zm225.2 0c2.9 7.6 6.7 15.4 11 22.2 4.7 7.5 9.9 14 14.4 18.3 4.4 4.3 8.5 5.5 8 5.5h143.4l.5-.5c1-.8 2.5-2.7 4.1-5.4 3.2-5.3 6.6-13.3 9.5-21.9 1.9-5.9 3.7-12.2 5.1-18.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightBackpack;

impl IconShape for LightBackpack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.23 29.742c-17.72 0-35.439 3.314-51.443 9.944-13.634 5.647-25.485 18.372-35.219 29.693A283.41 283.41 0 0 0 155.625 87h22.7c9.04-10.028 21.336-25.336 33.35-30.686 27.12-11.233 61.992-11.233 89.112 0 13.899 8.59 24.041 19.18 33.35 30.686h22.699a283.005 283.005 0 0 0-13.941-17.621c-9.734-11.32-21.585-24.046-35.22-29.693-16.003-6.63-33.725-9.944-51.445-9.944zM144.23 105c-16.23 2.136-38.662 23-39 39v.02c-.109 52.992 25.641 85.63 57.801 106.422 21.377 13.82 45.768 21.86 66.2 25.715V231h54v45.154c20.407-3.855 44.758-11.894 66.11-25.71C381.475 229.651 407.232 197 407.232 144c-.123-16-25.018-37.725-39-39zm-39.232 110.178L105.225 487h301.998l-.225-271.18c-12.145 21.258-29.246 37.681-47.877 49.737-25.077 16.226-52.67 25.127-75.89 29.017V329h-54v-34.424c-23.242-3.889-50.87-12.788-75.973-29.017-18.834-12.177-36.106-28.808-48.26-50.381zM247.23 249v62h18v-62zm-124 106h114v114h-114zm152 0h114v114h-114zm-134 18v20.203c14.631 21.212 27.883 29.797 39 29.797 11.118 0 24.37-8.585 39-29.795V373zm152 0v20.203c14.631 21.212 27.883 29.797 39 29.797 11.118 0 24.37-8.585 39-29.795V373zm-152 48.736V451h78v-29.264c-12.116 12.358-25.028 19.264-39 19.264-13.971 0-26.884-6.906-39-19.264zm152 0V451h78v-29.264c-12.116 12.358-25.028 19.264-39 19.264-13.971 0-26.884-6.906-39-19.264z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightHelm;

impl IconShape for LightHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233 25v158h46V25h-46zm-18 21.74c-25.1 7.53-44.9 22.05-60 40.88-20.7 25.88-32 60.28-33.7 95.38H215V46.74zm82 0V183h93.7c-1.7-35.1-13-69.5-33.7-95.38-15.1-18.83-34.9-33.35-60-40.88zM105 201v30h302v-30H105zm16.8 48c4 23.2 23.2 41.6 48.4 55.1 18.6 9.8 40 16.6 58.8 20.1v-15.3c-13.7-3.7-28.4-9.7-42.2-17-11.8-6.3-22.8-13.6-31.1-22.1-6.1-6.1-11-13.1-13.3-20.8h-20.6zm125.2 0v78h18v-78h-18zm122.6 0c-2.3 7.7-7.2 14.7-13.3 20.8-8.3 8.5-19.3 15.8-31.1 22.1-13.8 7.3-28.5 13.3-42.2 17v15.3c18.8-3.5 40.2-10.3 58.8-20.1 25.2-13.5 44.4-31.9 48.4-55.1h-20.6zm-252.8 33.3c-5.7 54.2-16.7 105.9-27.63 150.1.19.2 1.82 5.3 6.06 11 4.51 6.1 11.17 13.2 18.67 19.8 11.7 10.2 25.9 18.8 37.1 22.2V313.6c-13.5-8.5-25.6-18.9-34.2-31.3zm278.4 0c-8.6 12.4-20.7 22.8-34.2 31.3v171.8c11.2-3.4 25.4-12 37.1-22.2 7.5-6.6 14.2-13.7 18.7-19.8 4.2-5.7 5.8-10.8 6-11-11-44.2-21.9-95.9-27.6-150.1zM256 379c-20.3 0-40.6 1-58.1 3.1-10.9 1.3-20.7 2.8-28.9 5.1v18.9c7.1-2.4 18.2-4.6 31.1-6.2 16.5-1.9 36.2-2.9 55.9-2.9 19.7 0 39.4 1 55.9 2.9 12.9 1.6 24 3.8 31.1 6.2v-18.9c-8.2-2.3-18-3.8-28.9-5.1-17.5-2.1-37.8-3.1-58.1-3.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightProjector;

impl IconShape for LightProjector {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 17v18h38v78.3c-.75.7-1.47 1.5-2.16 2.3-6.52 7.5-9.72 14.5-10.08 19.8l47.46 84.5c1.03-1.9 2.15-3.9 3.39-5.6 8.29-12.2 21.49-23.8 37.89-33.2 16.5-9.1 33.3-14.3 48-15.1 2.2-.1 4.4-.1 6.6 0l-47.4-84.47c-3-1.54-7.1-2.5-12.3-2.53h-2.3c-2.3.11-4.9.4-7.5.88-10.7 1.91-23.15 6.66-34.61 13.1-3.08 1.73-6.09 3.59-8.99 5.53V35h45v26.5c1.8-.22 3.5-.39 5.3-.49 4.4-.25 8.6-.07 12.7.67V35h55V17H18zm165.4 166.9c-.6.1-1.3.1-2 .1-11.1.6-25.7 4.8-40.1 12.9-14.3 8.1-25.5 18.4-31.8 27.5-6.2 9.2-6.8 16-4.8 19.5 1.9 3.5 8 6.5 19.1 6 11.1-.5 25.7-4.8 40.1-12.9 14.3-8.1 25.6-18.3 31.8-27.5 6.2-9.2 6.8-16 4.9-19.5-1.9-3.3-7.4-6.1-17.2-6.1zm36.2 12.2c-.5 7.9-4 16.1-9 23.5-8.3 12.2-21.4 23.8-37.9 33.1s-33.3 14.4-48 15.2c-10.3.5-20.2-1.2-27.61-6.3L49.48 491.4H492.8V353.8L219.6 196.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightSabers;

impl IconShape for LightSabers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M478.89 21.842c-6.434-.113-15.047 3.628-24.242 12.822L328.912 160.4c0-.007.003-.015.004-.023l-60.228 60.228.01.01-12.727 12.727-.01-.01-22.657 22.658.01.01-12.44 12.44-.01-.01-30.884 30.884c0 .005.002.01.004.014l-55.656 55.656 22.627 22.627 320.32-320.32c18.827-18.825 14.79-35.217 1.616-35.448zm-445.84.06c-13.176.232-17.213 16.623 1.614 35.45l185.912 185.912 22.658-22.66-44.164-44.16c0 .02 0 .038-.002.058L57.29 34.725C48.098 25.53 39.484 21.79 33.05 21.902zm234.538 36.39c-9.308 42.14-12.624 79.314-27.922 121.454-21.636-16.89-30.623-41.47-43.836-63.414.586 10.88 1.66 22.256 2.42 33.838l57.71 57.71 78.485-78.485a2474.362 2474.362 0 0 1 4.078-21.237c-21.27 28.796-42.452 44.68-71.396 73.475-6.752-45.418.278-77.923.46-123.34zM87.873 170.623c-.052.003-.08.017-.082.044-.258 5.25 104.427 78.357 96.222 83.578-13.465 8.55-57.975 31.11-83.508 44.914 19.72-3.345 53.538-7.933 72.18-8.002l35.453-35.453-63.655-63.652c-27.027-10.216-54.915-21.568-56.61-21.43zm245.143 56.144l-29.086 29.086 56.174 56.17c10.848.735 21.692 1.416 32.5 1.218-24.518-15.9-71.99-43.734-71.64-50.568.353-6.887 63.447-21.216 95.518-31.606-27.787-2.137-55.973 3.846-83.466-4.3zm-41.813 41.812l-22.656 22.656 86.437 86.438 22.627-22.627-44.473-44.475h.06l-41.994-41.992zm-35.098 35.098l-57.703 57.703c.408 14.207.21 28.454-.52 40.38 11.322-26.84 17.846-51.86 45.827-74.473 14.444 11.985 24.816 40.267 37.224 60.4-.91-19.042-6.873-52.002-5.03-64.214l-19.8-19.797zM111.7 354.984L98.974 367.71l45.256 45.257 12.725-12.73-45.252-45.253h-.002zm288.538.06l-45.254 45.253v.002l12.727 12.727 45.257-45.256-12.73-12.725zM94.023 385.39l-9.9 9.9 32.527 32.526 9.9-9.9-32.527-32.527zm323.893.06l-32.527 32.527 9.9 9.9 32.526-32.527-9.9-9.9zm-346.52 22.568L21.9 457.512l32.528 32.527 10.603-10.604 10.73 10.726 17.847-17.848-10.728-10.726 21.042-21.043-9.9-9.9-38.89 38.89-12.728-12.728 38.89-38.89-9.9-9.9zm369.15.06l-9.9 9.9 38.89 38.89-12.73 12.728-38.89-38.89-9.898 9.9 49.494 49.494 32.527-32.528-10.604-10.603 10.726-10.73-17.848-17.847-10.726 10.728-21.043-21.042z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lighter;

impl IconShape for Lighter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.531 24.513L41.26 79.218c-4.237 2.655-7.888 8.224-9.338 14.545-1.45 6.32-.59 12.923 2.066 17.16l93.477 149.123c2.655 4.236 8.222 7.888 14.543 9.338 6.32 1.45 12.923.591 17.16-2.065l87.273-54.705-117.91-188.101zm306.969.19c32.33 85.822-99.89 67.288-83.393 116.667l24.788 8.483c39.2-6.48 60.512-25.838 27.744-39.096 35.64-7.755 50.043 25.379 25.478 48.38-2.638 2.471-5.253 4.53-7.834 6.245l15.924 5.45c65.99-10.819 47.478-101.744-2.707-146.13zm-92.781 132.48l-4.531 13.246 21.761 7.445-5.828 17.031-21.762-7.445-9.71 28.385 88.937 30.43 4.531-13.247-21.76-7.445 5.827-17.031 21.761 7.447 9.711-28.385-88.937-30.431zm-60.826 21.916a32 32 0 0 0-26.896 13.272l8.745 13.95 17.535-4.632 24.34 8.328 4.281-12.514a31.984 31.984 0 0 0-28.005-18.404zm161.265 30.508l-14.197 41.488a23.344 23.344 0 0 0 6.277 3.273c12.12 4.147 25.062-2.197 29.21-14.316 4.146-12.12-2.198-25.06-14.317-29.207a23.29 23.29 0 0 0-6.973-1.238zm-162.55 10.876l-24.401 6.448 201.102 68.81-15.336-20.045-161.366-55.213zm-34.702 21.95l-54.062 158.006c-1.619 4.73-.95 11.354 1.904 17.177 2.854 5.824 7.68 10.41 12.41 12.03l166.522 56.978c4.73 1.619 11.354.948 17.177-1.906 5.824-2.854 10.411-7.68 12.03-12.41l54.064-158.006-210.045-71.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lighthouse;

impl IconShape for Lighthouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136 40.938l-88 44V184h176V84.937l-88-44zM480 48l-240 80v32l240 64V48zM64 96h31.406l.313 64H64V96zm47.406 0h48l.313 64h-48l-.314-64zm64 0H208v64h-32.28l-.314-64zM79.312 201L19.094 487h233.812l-.094-.438.125.094c7.327-10.582 26.22-22.905 46.032-28.22 10.19 18.728 29.766 30.564 53.03 30.564h4.125l2.688-3.125c11.347-13.123 19.005-24.272 35.843-27.906C404.94 477.692 426.263 489 448 489h5.25l2.594-4.563c8.78-15.503 11.158-17.993 28.844-28.75l-9.375-15.375c-16.44 10-24.038 17.37-32.063 30.344-15.508-1.633-29.613-11.073-34.75-25.656l-2.344-6.625-7 .656c-26.106 2.45-39.755 18.452-51.062 31.72-17.555-1.233-29.83-10.616-35.688-25.97l-2.656-6.967-7.375 1.343c-20.77 3.78-40.482 13.32-54.094 25.813L192.688 201H79.313zM87 256h18v48H87v-48zm80 128h18v48h-18v-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningDome;

impl IconShape for LightningDome {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 55c-68.5 0-126.7 50.7-167.63 116.2C47.44 236.7 23 317.7 23 384v3.7l2.64 2.7C76.47 441.2 166.4 465 256 465c89.6 0 179.5-23.8 230.4-74.6l2.6-2.7V384c0-66.2-24.4-147.3-65.4-212.8C382.7 105.7 324.5 55 256 55zm0 18c39.4 0 76.3 19.88 108.1 51.5l-15.2 92.1 26.7 12.3-37.2 116.6 74-120.1-29.4-24.2 16-34.6c3.2 4.6 6.4 9.3 9.4 14.2C446.6 242 470 319 470.9 380.1 425.1 423.7 340.7 447 256 447c-84.7 0-169.08-23.3-214.91-66.9.83-54 19.16-120.4 49.8-177.4l48.81 44.6-42.09 3.5L177 355.4l-40.1-92 38.7 15.5-57.9-119c29.5-40.4 65.5-70.94 105.1-82.19l-17 77.59 39.3-7.1-32.3 95.6 35.1-12.7.6 123L291.4 189l-38.6 15.5 30.2-97-34.4 4.2 5.4-38.68c.7-.01 1.3-.02 2-.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningFlame;

impl IconShape for LightningFlame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v84l53.61 85.3 47.99-47.8L155 281.3l108.8-120.9 8.8 93.6c-3.3 7.7-5.6 15.8-6.6 24 22 54.2 0 150.6-32 32-32 32-35.3 94.7-16 128 9.8 25.7 39.4 40.8 75.7 48.9-25.8-17.5-41.1-43.1-43.7-74.9 9.7 10 39.4 36.4 57.8 26 28.1-15.8 16.6-61.8 11.9-96 41.7 26.7 55.8 58.2 66 90.5 2.5-34.8 20.1-33.3 33.3-42.5-19.5 47.8 21.3 72.7 13.3 100.4 9.4-1.3 18.1-2.7 25.7-4.4 41-13.3 37.2-54.2 32-96-6.8 13.7-27.3 22.9-48 32 32.1-48.1 42.6-85.4 32-112-9.8-16.8-30.1-23.2-48-32 0 0 28.3 36.4 16 48-70.1 62.4-142.6-136.6-32-160-46.7.1-100.2 34.3-123.4 64l3.1-138.59L175.2 205.7 151.6 66.56 87.61 114.6 73.34 18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LilyPads;

impl IconShape for LilyPads {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M223.588 20.262c-94.51.16-180.05 33.605-205.775 82.295 63.673 11.945 127.836 21.112 192.79 25.808-35.365-20.726-55.412-44.447-57.513-70.908 9.606 23.1 38.422 48.424 67.744 60.867-4.996-1.485 32.824-53.85 50.416-64.902-29.405 39.648-37.708 67.187-36.1 67.928 22.607-1.23 127.53-22.233 127.53-22.233-7.847 7.87-76.286 35.126-119.205 35.522 22.56 16.765 45.517 29.576 70.28 40.155-28.376-5.275-66.343-11.28-89.616-34.283-18.81 14.785-68.393 43.842-93.882 53.728 22.513-12.795 64.63-48.47 84.418-63.535-.27-.15-.53-.305-.8-.457-64.003 14.72-129.707 23.77-196.356 29.67 27.37 52.198 125.31 84.884 229.158 76.478 103.846-8.405 181.566-55.31 181.843-109.748.28-54.436-76.97-99.61-180.743-105.7-8.107-.474-16.18-.7-24.19-.686zm248.51 173.773c-42.225.14-83.063 17.878-96.717 42.38-14.094 25.29 5.113 50.01 44.964 57.87 9.19-18.766 20.915-34.35 39.265-48.875l-.006-.004c-18.332 3.757-37.205 11.32-56.114 11.615 14.78-2.85 29.676-12.61 43.7-16.5-14.416-5.666-11.947-8.55-25.7-15.452 17.615 5.508 18.616 7.213 37.572 11.21 5.925-8.022 4.172-16.43 8.487-25.098-1.652 8.444 2.323 16.434-.062 24.603 8.918-1.574 17.728-3.677 26.512-5.922v-34.22c-5.642-.873-11.59-1.416-17.813-1.564-1.364-.032-2.727-.045-4.09-.04zM494 236.533c-7.603 2.384-15.546 4.048-22.955 6.182 7.93 4.105 15.246 10.675 22.955 16.43v-22.612zm-34.37 8.887c-8.755 32.378-10.157 35.155-4.308 51.39 13.108-1.736 26.395-5.143 38.678-9.732v-23.736c-12.286-5.11-23.734-12.168-34.37-17.922zm-239 16.51c-2.96-.01-5.92.02-8.884.09-94.81 2.256-161.748 45.352-156.707 100.894 5.04 55.542 80.51 106.446 176.683 119.17 12.704-35.26 13.5-72.006 15.984-108.543-32.932 17.818-75.572 23.768-115.857 32.597 31.362-11.65 62.422-23.65 91.064-38.473-34.348-9.89-67.103-26.543-100.377-41 35.958 9.036 71.627 19.507 108.104 25.947-5.18-17.742-7.297-36.632-10.882-54.973 9.37 18.825 16.314 38.62 29.18 56.05 41.175-8.686 77.906-22.37 116.166-34.332-29.87 14.993-59.066 31.237-90.38 43.547 30.463 8.445 62.82 14.284 94.92 20.477-41.068-.64-82.065-1.71-121.88-9.868l-.014.008c24.498 35.384 51.502 70.77 85.287 106.154 86.556-17.07 128.27-70.762 97.656-125.695-29.656-53.218-118.352-91.745-210.064-92.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lipstick;

impl IconShape for Lipstick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.801 39.703c-5.813-.03-11.168.44-15.85 1.353-12.483 2.437-18.737 7.537-20.04 12.301-1.304 4.764 1.48 12.337 10.984 20.791 9.503 8.455 24.725 16.63 42.74 21.56 18.015 4.931 35.282 5.648 47.766 3.212 12.484-2.437 18.735-7.537 20.039-12.301 1.304-4.764-1.48-12.337-10.983-20.791-9.503-8.455-24.727-16.628-42.742-21.559-11.26-3.081-22.225-4.517-31.914-4.566zM350.74 67.088l-92.528 92.527c1.033 3.116 3.392 8.754 8.33 15.771 6.3 8.952 15.216 19.273 24.813 28.87 9.596 9.596 19.915 18.513 28.867 24.812 7.019 4.939 12.658 7.296 15.773 8.328L455.1 118.291c-12.165.237-25.514-1.47-39.217-5.221-20.339-5.567-37.73-14.597-49.953-25.473-6.807-6.056-12.314-13.046-15.191-20.51zm-111.52 88.892l-64.957 64.955c7.621 19.823 22.473 41.436 40.725 59.688a210.707 210.707 0 0 0 17.168 15.36l63.379-63.382a285.506 285.506 0 0 1-16.909-15.619c-10.202-10.202-19.669-21.096-26.804-31.236-7.136-10.14-12.602-18.71-12.602-28.867zm-83.469 66.498L23.258 354.97c4.777 23.238 21.872 50.631 44.365 72.967 9.457 9.39 19.82 17.82 30.368 24.834l134.154-134.154c-10.477-7.365-20.552-15.933-29.887-25.268-21.132-21.132-38.358-46.045-46.508-70.87zm154.078 21.285l-62.955 62.953c9.314 6.138 18.742 11.147 27.8 14.63l64.956-64.958h-.9c-10.157 0-18.727-5.464-28.867-12.6-.012-.007-.022-.017-.034-.025zm-62.082 84.71L113.991 462.227c9.188 4.738 18.246 8.213 26.697 10.07l132.441-132.44c-8.504-2.793-17.014-6.672-25.383-11.386z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LiquidSoap;

impl IconShape for LiquidSoap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233 52.96v20h-24V151h86v-30.3l7.2-1.5c64.8-13.5 104.2 5.7 133.1 31.8h30.1c-23.1-40.6-78.1-87.52-160.4-78.1l-10 1.15V52.96h-62zM233 169v30h46v-30h-46zm-34.9 48l-93.9 234.7-.1.3c-3.1 6.1-2.9 10-1.4 13.8 1.4 3.9 4.7 7.8 8.9 11.2 7.7 6.1 16.6 9.4 18.2 10H384s10.1-.4 17.4-4.7c3.6-2.2 6.3-4.9 7.8-9.4s1.8-11.3-1.7-21.9l-93.6-234H198.1zm57.9 58.4l6.3 6.2s22.7 22.2 42.4 50c9.9 13.8 19.1 29.1 24.4 44.3 5.3 15.3 6.8 31.4-1.4 44.8-13.9 22.4-43.2 31.5-71.7 31.5s-57.8-9.1-71.7-31.5c-8.2-13.4-6.7-29.5-1.4-44.8 5.3-15.2 14.5-30.5 24.4-44.3 19.7-27.8 42.4-50 42.4-50l6.3-6.2zm0 25.7c-6.8 7-19.9 21-34.1 40.9-9.3 13-17.6 27.3-22 39.8-4.3 12.6-4.5 22.6-.2 29.5 8.5 13.9 32 22.9 56.3 22.9 24.3 0 47.8-9 56.3-22.9 4.3-6.9 4.1-16.9-.2-29.5-4.4-12.5-12.7-26.8-22-39.8-14.2-19.9-27.3-33.9-34.1-40.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Liver;

impl IconShape for Liver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M154.13 98.45c-74.523-.454-118.57 44.693-124.821 87.952-13.777 104.53-24.78 197.596 42.572 226.59 21.234 9.14 139.689-96.135 223.23-119.239 10.255-63.758 9.712-95.298 3.509-157.142 0 0-3.245-18.8-17.582-21.94-29.596-6.482-80.816-16.355-126.909-16.22zm267.935 10.313c-30.34-.091-65.864 3.56-95.367 9.5-6.687 1.347-10.656 15.303-9.916 19.024 5.8 59.214 6.503 87.53-2.395 149.486 165.98-69.253 180.409-116.413 178.531-136.756-2.967-32.153-33.145-41.14-70.853-41.254zM284.659 314.628c-39.357 14.62-79.953 40.882-113.676 64.54 20.086 5.945 56.674 6.638 74.525-3.397 18.28-15.838 34.462-37.393 39.15-61.143z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Load;

impl IconShape for Load {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 48c-8.726 0-16 7.274-16 16v384c0 8.726 7.274 16 16 16h236.25l-16-16H64V64h63.375v97.53c0 3.924 3.443 7.095 7.72 7.095h169.81c4.277 0 7.72-3.17 7.72-7.094V64h69.22c.428.318.8.548 1.467 1.094 2.05 1.675 4.962 4.264 8.375 7.406 6.827 6.283 15.65 14.837 24.313 23.5 8.663 8.663 17.217 17.486 23.5 24.313 3.142 3.413 5.73 6.324 7.406 8.374.546.668.776 1.04 1.094 1.47V366h16V128c0-2.68-.657-3.402-1.03-4.156-.375-.754-.725-1.294-1.095-1.844-.74-1.1-1.575-2.19-2.594-3.438-2.036-2.492-4.768-5.55-8.03-9.093-6.524-7.09-15.155-16-23.938-24.782-8.782-8.783-17.692-17.414-24.78-23.938-3.545-3.262-6.6-5.994-9.094-8.03-1.247-1.02-2.337-1.855-3.438-2.595-.55-.37-1.09-.72-1.844-1.094-.754-.373-1.477-1.03-4.156-1.03H64zm87.72 16h48.56c4.277 0 7.72 4.425 7.72 9.938v70.124c0 5.513-3.443 9.938-7.72 9.938h-48.56c-4.277 0-7.72-4.425-7.72-9.938V73.938c0-5.512 3.443-9.937 7.72-9.937zM114 212c-4.432 0-8 3.568-8 8v184c0 4.432 3.568 8 8 8h134.25l-30.625-30.625L202.28 366H279V238h127v-18c0-4.432-3.568-8-8-8H114zm183 44v128h-51.25L352 490.25 458.25 384H407V256H297zm167 147.75l-16 16V448h-28.25l-16 16H448c8.726 0 16-7.274 16-16v-44.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockPicking;

impl IconShape for LockPicking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 12.973L208.54 169.975 35.65 97.938a121.168 121.168 0 0 0-1.716 14.103l174.302 101.68L494 64.212zm-68.223 6.12S346.247 35.15 320 48c-45.024 22.044-98.655 84.697-98.655 84.697C288.43 88.467 344.922 48 425.777 19.092zm-319.953 6.063c-19.304 0-36.98 9.903-50.3 26.918-6.275 8.02-11.472 17.613-15.233 28.297l137.866 57.444c1.29-35.483-7.338-63.638-20.734-82.76-13.84-19.758-32.403-29.898-51.598-29.898zm-71.422 108c3.352 30.315 17.906 56.833 38.366 70.74l4.677 3.176L62.23 309.137l99.247 19.83-17.54-117.656a81.96 81.96 0 0 0 10.15-8.34zm300.895 57.03c-50.015 39.164-126.724 78.674-165.047 43.546 11.574 23.1 24.986 42.545 51.31 38.317 37.69-6.055 92.397-52.364 113.737-81.863zM59.572 326.962l-2.035 13.65L494 430.653v-16.888zm-4.7 31.513l-2.038 13.687L494 489.967v-17.55zm-4.71 31.605l-15.055 100.98H185.64l-10.06-67.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockSpy;

impl IconShape for LockSpy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-75.556 0-137 61.444-137 137v.008c.038 42.262 19.614 82.002 52.756 107.857L116.473 489h279.054l-55.35-221.402c33.076-25.838 52.76-65.38 52.823-107.584V160c0-75.556-61.444-137-137-137zm0 18c65.824 0 118.993 53.164 119 118.986-.06 38.516-18.74 74.6-50.154 96.88l-5.016 3.56L372.473 471H139.527l52.625-210.504-5.013-3.558C155.712 234.64 137.036 198.53 137 160v-.008C137.004 94.168 190.174 41 256 41zm14.508 44.69c-1.983-.01-3.966-.003-5.95.03-30.615.485-61.19 6.227-91.69 16.77-3.66 5.217-6.824 10.77-9.378 16.608-1.183 2.468-2.232 4.98-3.166 7.523 30.858-12.783 61.51-20.36 91.987-22.376-25.746 5.47-45.19 28.43-45.19 55.756 0 31.374 25.627 57 57 57 31.375 0 57-25.626 57-57 0-28.278-20.82-51.876-47.9-56.26 24.755.443 49.475 4.616 74.22 12.733-4.17-8.416-9.554-16.247-15.872-23.258-20.307-4.896-40.67-7.39-61.06-7.524zM264.12 121c21.647 0 39 17.354 39 39s-17.353 39-39 39c-21.645 0-39-17.354-39-39 0-4.494.76-8.8 2.14-12.807.83.772 1.705 1.465 2.597 2.037 4.008 2.572 8.673 3.77 13.676 3.77s9.67-1.198 13.676-3.77C261.215 146.66 265 142 265 136s-3.784-10.66-7.79-13.23c-.484-.31-.978-.597-1.48-.868 2.702-.585 5.507-.902 8.39-.902zm-102.915 72.994c3.308 9.103 7.833 17.772 13.428 25.645 36.963 15.02 72.75 24.08 107.156 25.694 10.122.475 20.12.278 29.972-.613 8.763-5.944 16.48-13.31 22.963-21.65-16.736 3.786-34.09 5.127-52.092 4.284-37.77-1.77-78.5-13.594-121.428-33.36z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockedBox;

impl IconShape for LockedBox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80.39 38.55c1.28 1.5 2.5 3.13 3.61 4.91l9.36 14.71c5.11 8.17 7.14 16.75 6.61 24.51 9.73 1.32 19.73 7.43 26.63 18.42l9.3 14.7c6 9.2 7.7 19.1 6.3 27.6 7.3 2.4 14.3 7.5 19.7 15.2h188.2c5.5-7.7 12.4-12.8 19.7-15.2-1.5-8.5.4-18.4 6.3-27.6l9.2-14.7c7-10.99 17-17.1 26.8-18.42-.6-7.87 1.5-16.39 6.6-24.58l9.3-14.73c1.2-1.74 2.3-3.34 3.4-4.82zM456 44.12c-3 .52-7 3.04-11.4 9.76l-9.3 14.71c-7.4 11.8-4 17.15-.5 19.22 3.4 2.2 9.7 3.07 16.9-8.52l4.3-6.66zm-399.97.11v28.4l4.15 6.66c7.33 11.59 13.66 10.72 17.05 8.52 3.39-2.07 6.89-7.42-.55-19.12l-9.29-14.72c-4.33-6.74-8.24-9.27-11.36-9.79zm41.34 57.47c-1.4 0-3.19.5-4.32 1.3-3.52 2.1-7 7.4.52 19.1l9.23 14.7c6.3 10 12 10.8 15.7 9.3.7-.5 1.6-1 2.3-1.5 2.9-2.4 5.2-7.9-1.5-18.4l-9.2-14.7c-5-7.6-9.4-9.8-12.73-9.8zm317.13 0c-3.3 0-7.6 2.2-12.5 9.8l-9.3 14.7c-6.6 10.5-4.5 16-1.6 18.4 1 .6 1.7 1 2.4 1.5 3.6 1.5 9.3.7 15.7-9.3l9.3-14.7c7.4-11.7 3.9-17 .5-19.1-1.4-.9-2.9-1.2-4.5-1.3zm-358.47 1v55.9h40.44c-3.72-2.9-7.37-6.6-10.31-11.2l-9.25-14.9c-5.14-8.1-7.22-16.7-6.67-24.4-4.81-.6-9.68-2.5-14.21-5.4zm399.97 0c-4.7 2.9-9.4 4.8-14.2 5.4.5 7.7-1.6 16.3-6.7 24.4l-9.3 14.9c-3 4.6-6.5 8.3-10.2 11.2H456zM90.99 178.3v271.8l12.01-9.5c8.1-6.6 17-9.4 25.3-9.4 1.1-8.8 6-18.1 15-25.2l13.8-10.7c7.8-6.3 16.4-9.1 24.2-9.3 4.5 0 8.6.8 12.5 2.3V283.9c-11.3.6-23.8-5.7-31.9-18.5l-9.4-14.9c-5.6-8.7-7.3-17.8-6.5-26-8.6-2.1-17.3-7.9-23.4-17.8l-9.3-14.7c-2.8-4.6-4.7-9.1-5.8-13.7zm37.11 0c.5 1 1.2 2.2 1.9 3.2l9.2 14.9c7.4 11.5 13.6 10.5 17 8.4 3.4-2.1 6.9-7.4-.6-19.1l-4.5-7.4zm46.1 0c4.1 7.8 5.4 15.8 4.7 23 8.6 2 17.2 8 23.4 17.6l9.2 14.9c6.5 10 8 20.8 5.9 29.8h77.3c-2.2-9-.6-19.8 5.8-29.8l9.2-14.9c6.2-9.6 14.8-15.6 23.4-17.6-.7-7.2.5-15.2 4.7-23zm186.7 0l-4.6 7.4c-7.4 11.7-3.9 17-.5 19.1 3.4 2.1 9.5 3.1 17-8.4l9.3-14.9c.6-1 1.4-2.2 1.9-3.2zm43.6 0c-1 4.6-2.9 9.1-5.8 13.7l-9.3 14.7c-6 9.9-14.7 15.7-23.3 17.8.9 8.2-1.1 17.3-6.6 26l-9.4 14.9c-8.2 12.8-20.6 19.1-31.8 18.5v104.4c3.7-1.5 7.9-2.3 12.5-2.3 7.9.2 16.5 3 24.3 9.3l13.6 10.7c9 7.1 13.9 16.4 15.1 25.2 8.3 0 17.1 2.8 25.2 9.4l12 9.5V178.3zm-231.3 41.3c-1.8 0-3.4.7-4.6 1.4-3.3 2-6.8 7.5.6 19.1l9.2 14.7c6.4 9.9 11.7 10.8 15.4 9.4l1.6-.8c3.4-2.1 7-7.5-.5-19.2l-9.2-14.7c-4.9-7.7-9.4-9.9-12.5-9.9zm165.8 0c-3.3 0-7.6 2.2-12.6 9.9l-9.3 14.7c-7.5 11.7-4 17.1-.6 19.2l1.8.8c3.5 1.4 9.1.5 15.2-9.4l9.5-14.7c7.3-11.6 3.9-17.1.5-19.1-1.7-.8-3-1.3-4.5-1.4zm-125.5 63.7V386h85.1V283.3zm42.7 16.3c9.7.2 17.2 7.9 17.2 17.5 0 5.2-2.2 10.3-6.4 13.7l6.4 38.7h-34.9l6.7-38.7c-4.2-3.3-6.7-8.3-6.7-13.7 0-9.7 8-17.6 17.7-17.5zm-74.3 105.2c-3.2 0-7.3 1.6-12.6 5.9l-13.8 10.8c-7 5.7-8.8 10.2-8.3 13.6.1 1.4.8 3.1 1.8 4.2 2.3 3.1 8.1 6.1 18.8-2.6l13.7-10.9c10.7-8.5 9.2-14.6 6.6-17.8-1.2-1.5-3.1-3.1-6.2-3.2zm148.2 0c-2.9.1-5.1 1.7-6.2 3.2-2.6 3.2-4.1 9.3 6.7 17.8l13.6 10.9c10.9 8.7 16.5 5.7 19 2.6 1-1.4 1.4-2.8 1.6-4.2.4-3.4-1.2-7.9-8.4-13.6l-13.5-10.8c-5.5-4.3-9.7-5.9-12.8-5.9zm-121.7.8c2.8 11.4-2 25.6-14.6 35.7L180 452c-8.1 6.6-17 9.5-25.2 9.5-.5 3.9-1.6 8-3.9 11.9h210.2c-2.1-3.9-3.4-8-3.9-11.9-8.2 0-17.1-2.9-25.2-9.5l-13.7-10.7c-12.7-10.1-17.5-24.3-14.6-35.7zm-80.6 44.6c-3 0-7.2 1.3-12.6 5.7l-13.7 10.8c-2.93 2.4-4.93 4.7-6.33 6.7h29.63l2.7-2.2c10.7-8.7 9.2-14.8 6.7-17.8-1.2-1.7-3.2-3.1-6.4-3.2zm256.4 0c-3.2.1-5.1 1.5-6.3 3.2-2.5 3-4.2 9.1 6.6 17.8l2.8 2.2h29.4c-1.2-2-3.2-4.3-6.2-6.7l-13.8-10.8c-5.3-4.4-9.4-5.7-12.5-5.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockedDoor;

impl IconShape for LockedDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 41v398h302v-62H247V231h32v-55c0-38 36.5-57 73-57 20.5 0 41 6 55 18V41H105zm247 96c-27.5 0-55 13-55 39v55h110v-55c0-26-27.5-39-55-39zm-192 78c18.1 0 33 14.9 33 33s-14.9 33-33 33-33-14.9-33-33 14.9-33 33-33zm0 18c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm105 16v110h174V249H265zm87 23a16 16 0 0 1 16 16 16 16 0 0 1-10.9 15.2L368 336h-32l10.9-32.8A16 16 0 0 1 336 288a16 16 0 0 1 16-16zM73 457v30h366v-30H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockedHeart;

impl IconShape for LockedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.845c-21.563 0-48.67 1.224-69.041 9.357C166.589 45.336 153 58.047 153 86.845v51.847a125.34 125.34 0 0 1 19.988-1.732c3.353-.02 6.693.103 10.012.355v-38.47c0-16 11.186-28.155 24.975-35.05 13.788-6.893 30.9-9.95 48.025-9.95s34.237 3.057 48.025 9.95C317.815 70.69 329 82.846 329 98.846v38.478a124.58 124.58 0 0 1 30 1.377V86.845c0-28.798-13.589-41.51-33.959-49.643-20.37-8.133-47.478-9.357-69.041-9.357zm-83.12 127.093c-7.576.067-15.274.952-22.886 2.682C109.396 166.847 73 198.594 73 258.845c0 43 37.72 89.974 81.213 131.49 21.747 20.758 44.64 40.173 64.25 57.52 15.099 13.356 28.124 25.257 37.537 36.3 9.413-11.043 22.438-22.944 37.537-36.3 19.61-17.347 42.503-36.762 64.25-57.52C401.28 348.819 439 301.845 439 258.845c0-60.25-36.396-91.998-76.994-101.225-40.598-9.227-83.648 5.56-97.65 40.567L256 219.075l-8.355-20.888c-11.377-28.443-41.931-43.537-74.764-43.249zM256 234.845a44.488 44.488 0 0 1 44.488 44.488A44.488 44.488 0 0 1 284 313.876l16.488 98.922h-88.976l16.49-98.936a44.488 44.488 0 0 1-16.49-34.529A44.488 44.488 0 0 1 256 234.845z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lockers;

impl IconShape for Lockers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 73v414h142V73H25zm160 0v414h142V73H185zm160 0v414h142V73H345zM39 112h18v23h78v-23h18v41H39v-41zm160 0h18v23h78v-23h18v41H199v-41zm160 0h18v23h78v-23h18v41H359v-41zM39 176h18v23h78v-23h18v41H39v-41zm160 0h18v23h78v-23h18v41H199v-41zm160 0h18v23h78v-23h18v41H359v-41zM64 279c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm160 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm160 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zM64 297c-3.97 0-7 3-7 7s3.03 7 7 7 7-3 7-7-3.03-7-7-7zm160 0c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm160 0c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zM48 407h96v18H48v-18zm160 0h96v18h-96v-18zm160 0h96v18h-96v-18zM48 441h96v18H48v-18zm160 0h96v18h-96v-18zm160 0h96v18h-96v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lockpicks;

impl IconShape for Lockpicks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.98v18c8.4 0 12.5-.14 15.3 2.63 2.9 2.77 7.2 12.37 7.7 36.55V247h18V79.81c.8-17.14-3-38.58-13.1-49.07-6.7-6.52-14.8-7.62-21.6-7.76H256zM448 23c-13.7 0-25 11.3-25 25 0 6.78 2.8 12.96 7.2 17.49-.4.67-.9 1.36-1.3 2.06-3.9 6.7-5.9 14.96-5.9 23.97 0 8.98 2 17.28 5.9 23.98 2.4 4.1 5.8 7.9 10.1 10.2v118.4c3-.7 6-1.1 9-1.1s6 .4 9 1.1V125.7c4.3-2.3 7.7-6.1 10.1-10.2 3.9-6.7 5.9-15 5.9-23.98 0-9.01-2-17.27-5.9-23.97-.4-.7-.9-1.39-1.3-2.06 4.4-4.53 7.2-10.71 7.2-17.49 0-13.7-11.3-25-25-25zm-68 .95L331.9 48l32 16-27.1 13.54L359 99.73V215h18V92.27l-9.8-9.8L404.1 64l-32-16 15.9-7.95-8-16.1zM119 24v223h18V64l-18-40zm64 31v50h16v161.4l18-9V105h16V55h-50zM39 64v202.3l9 9 9-9V169h23v-18H57v-14h23v-18H57v-14h23V87H57V64H39zm306 169v247c0 20 46 20 46 0V233h-46zm103 28c-11.5 0-23 7-23 27v192c0 20 46 20 46 0V288c0-20-11.5-27-23-27zm-343 4v215c0 20 46 20 46 0V265h-46zm160 0v215c0 20 46 20 46 0V265h-46zm-34 5.6l-46 23V480c0 20 46 20 46 0V270.6zm-206 7.1V480c0 20 46 20 46 0V277.7l-23 23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Log;

impl IconShape for Log {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M391.69 15.94c-16.368.073-31 5.07-41.975 16.044L73.83 307.87c4.225-.493 8.42-.613 12.56-.372 3.104.18 6.177.564 9.21 1.14 13.84 2.63 26.617 8.977 37.984 17.714 27.167-24.11 141.885-119.71 141.885-119.71-40.545 46.737-88.255 89.892-120.536 140.76.593.734 1.195 1.46 1.775 2.205 15.83 20.355 26.67 45.27 29.923 69.563.955 7.135 1.235 14.277.74 21.23l181.06-181.06-7.742-4.647c-.48.215-.962.43-1.493.647l-45.254 22.627 45.254-45.254c0 .09.02.18.026.27l.072-.12 43.52 26.114c1.272-5.898 3.794-11.413 7.824-16.05 4.662-5.37 11.21-9.078 19-10.74l-26.124-43.542 15.435-9.262 11.04 18.4 42.762-42.762c21.036-21.035 26.396-41.327 23.27-60.39-1.63-9.942-5.823-19.683-11.913-28.747l-72.876 72.875 63.522-84.697c-3.586-3.89-7.52-7.585-11.752-11.03-8.926-7.268-19.102-13.37-29.695-17.936.182.177.37.35.55.527l-56.567 33.942 21.668-43.337c-1.333-.107-2.66-.187-3.974-.233-1.106-.04-2.205-.055-3.297-.05zm43.593 233.36c-5.373.6-8.696 2.71-11.058 5.43-2.093 2.41-3.55 5.79-4.127 9.872 4.65-.945 7.952-2.652 10.228-4.928 2.3-2.3 4.02-5.645 4.957-10.375zM81.69 325.282c-15.297-.065-31.403 6.298-48.342 23.08-14.82 15.01-19.83 34.54-17.672 55.385 2.17 20.985 12 42.9 26.424 59.945 2.267 2.68 4.655 5.22 7.125 7.633 3.784-12.452 22.964-33.344 33.912-49.724-7.955 21.334-13.49 43.014-12.62 65.61 7.806 4.22 16.034 7.09 24.415 8.25 19.47 2.693 40.22-3.064 61.29-23.92 11.398-11.606 15.307-29.53 12.57-49.983-2.76-20.61-12.425-43.073-26.292-60.902-13.867-17.83-31.744-30.818-50.262-34.338-3.472-.66-6.987-1.022-10.547-1.037zm-8.21 19.8a73.833 55.395 45 0 1 60.14 26.034 73.833 55.395 45 0 1 13.038 91.377 73.833 55.395 45 0 1-46.732 11.692 61.463 48 45 0 0 29.154-11.608 61.463 48 45 0 0-9.52-77.4 61.463 48 45 0 0-77.402-9.522 61.463 48 45 0 0-11.62 29.147A73.833 55.395 45 0 1 42.24 358.08a73.833 55.395 45 0 1 31.237-12.998z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateAnd;

impl IconShape for LogicGateAnd {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 105v302h151c148 0 148-302 0-302H105zm-89 46v18h71v-18H16zm368.8 96c.2 6 .2 12 0 18H496v-18H384.8zM16 343v18h71v-18H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateNand;

impl IconShape for LogicGateNand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 105v302h151c148 0 148-302 0-302H105zm-89 46v18h71v-18H16zm400 82c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm40 14c.6 2.9 1 5.9 1 9 0 3.1-.4 6.1-1 9h40v-18h-40zM16 343v18h71v-18H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateNor;

impl IconShape for LogicGateNor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M116.6 105c40 45.9 60.4 98.4 60.4 151 0 52.6-20.4 105.1-60.4 151H192c34.1 0 81.9-34 119.3-71.4 18.7-18.6 35.1-37.9 46.6-53.3 5.8-7.6 10.4-14.4 13.4-19.4 1.4-2.5 2.5-4.7 3.2-6.1.1-.4.2-.5.2-.8 0-.3-.1-.5-.2-.9-.6-1.4-1.7-3.5-3.2-6-3-5.1-7.5-11.8-13.2-19.5-11.3-15.4-27.5-34.6-46.1-53.2C274.8 139 227.1 105 192 105h-75.4zM16 151v18h122.2c-3-6.1-6.3-12.1-9.9-18H16zm400 82c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm40 14c.6 2.9 1 5.9 1 9 0 3.1-.4 6.1-1 9h40v-18h-40zM16 343v18h112.3c3.6-5.9 6.9-11.9 9.9-18H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateNot;

impl IconShape for LogicGateNot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M 105,111.3 V 400.7 L 365.5,256 Z M 16,247 v 18 h 71 v -18 z m 400,-14 c -12.8,0 -23,10.2 -23,23 0,12.8 10.2,23 23,23 12.8,0 23,-10.2 23,-23 0,-12.8 -10.2,-23 -23,-23 z m 40,14 c 0.6,2.9 1,5.9 1,9 0,3.1 -0.4,6.1 -1,9 h 40 v -18 z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateNxor;

impl IconShape for LogicGateNxor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.86 89.17L42.14 102.8c17.99 15.4 32.89 31.6 44.81 48.2H16v18h82.58C114.9 197.3 123 226.7 123 256c0 29.3-8.1 58.7-24.42 87H16v18h70.95c-11.92 16.6-26.82 32.8-44.81 48.2l11.72 13.6c22.59-19.4 40.85-40.1 54.74-61.8h19.7c3.6-5.9 6.9-11.9 9.9-18H119c14.6-28.2 22-57.5 22-87s-7.4-58.8-22-87h19.2c-3-6.1-6.3-12.1-9.9-18h-19.7c-13.88-21.7-32.15-42.5-54.74-61.83zM116.6 105c40 45.9 60.4 98.4 60.4 151 0 52.6-20.4 105.1-60.4 151H192c34.1 0 81.9-34 119.3-71.4 18.7-18.6 35.1-37.9 46.6-53.3 5.8-7.6 10.4-14.4 13.4-19.4 1.4-2.5 2.5-4.7 3.2-6.1.1-.4.2-.5.2-.8 0-.3-.1-.5-.2-.9-.6-1.4-1.7-3.5-3.2-6-3-5.1-7.5-11.8-13.2-19.5-11.3-15.4-27.5-34.6-46.1-53.2C274.8 139 227.1 105 192 105h-75.4zM416 233c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm40 14c.6 2.9 1 5.9 1 9 0 3.1-.4 6.1-1 9h40v-18h-40z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateOr;

impl IconShape for LogicGateOr {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M116.6 407c40-45.9 60.4-98.4 60.4-151 0-52.6-20.4-105.1-60.4-151H192c34.1 0 81.9 34 119.3 71.4 18.7 18.6 35.1 37.9 46.6 53.3 5.8 7.6 10.4 14.4 13.4 19.4 1.4 2.5 2.5 4.7 3.2 6.1.1.4.2.5.2.8 0 .3-.1.5-.2.9-.6 1.4-1.7 3.5-3.2 6-3 5.1-7.5 11.8-13.2 19.5-11.3 15.4-27.5 34.6-46.1 53.2C274.8 373 227.1 407 192 407zM16 361v-18h122.2c-3 6.1-6.3 12.1-9.9 18zm374.5-96c.2-.3.4-.7.5-1 1.1-2.4 2-4.4 2-8 0-3.6-1-5.6-2-8-.1-.3-.3-.7-.5-1H496v18zM16 169v-18h112.3c3.6 5.9 6.9 11.9 9.9 18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LogicGateXor;

impl IconShape for LogicGateXor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.86 89.17L42.14 102.8c17.99 15.4 32.89 31.6 44.81 48.2H16v18h82.58C114.9 197.3 123 226.7 123 256c0 29.3-8.1 58.7-24.42 87H16v18h70.95c-11.92 16.6-26.82 32.8-44.81 48.2l11.72 13.6c22.59-19.4 40.85-40.1 54.74-61.8h19.7c3.6-5.9 6.9-11.9 9.9-18H119c14.6-28.2 22-57.5 22-87s-7.4-58.8-22-87h19.2c-3-6.1-6.3-12.1-9.9-18h-19.7c-13.88-21.7-32.15-42.5-54.74-61.83zM116.6 105c40 45.9 60.4 98.4 60.4 151 0 52.6-20.4 105.1-60.4 151H192c34.1 0 81.9-34 119.3-71.4 18.7-18.6 35.1-37.9 46.6-53.3 5.8-7.6 10.4-14.4 13.4-19.4 1.4-2.5 2.5-4.7 3.2-6.1.1-.4.2-.5.2-.8 0-.3-.1-.5-.2-.9-.6-1.4-1.7-3.5-3.2-6-3-5.1-7.5-11.8-13.2-19.5-11.3-15.4-27.5-34.6-46.1-53.2C274.8 139 227.1 105 192 105h-75.4zm273.9 142c.2.3.4.7.5 1 1.1 2.4 2 4.4 2 8 0 3.6-1 5.6-2 8-.1.3-.3.7-.5 1H496v-18H390.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Loincloth;

impl IconShape for Loincloth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.486 25l-26 78h29.028l26-78zM256 25c-10.926 0-25.17 4.748-36.14 12.404-10.97 7.656-18.208 17.732-18.883 27.235-.8 11.25 6.06 25.301 17.205 36.216C229.327 111.771 244.286 119 256 119c11.714 0 26.673-7.23 37.818-18.145s18.005-24.966 17.205-36.216c-.675-9.503-7.912-19.579-18.882-27.235C281.17 29.748 266.926 25 256 25zm108.486 0l26 78h29.028l-26-78zM48 41c.5 0-1.724.573-4.688 4.326-2.963 3.754-6.244 9.694-9.04 16.219-3.649 8.512-6.348 18.184-7.877 25.455h52.453l15.334-46zm113.152 0L145.82 87h41.239c-3.062-7.525-4.614-15.498-4.036-23.639.585-8.231 3.555-15.718 8.01-22.361zm159.815 0c4.455 6.643 7.425 14.13 8.01 22.361.578 8.141-.974 16.114-4.036 23.639h41.239l-15.332-46zm96.853 0l15.332 46h52.453c-1.53-7.271-4.228-16.943-7.876-25.455-2.797-6.525-6.078-12.465-9.041-16.219C465.724 41.573 463.5 41 464 41zM46.465 105C25.239 204.294 25.03 361.524 25.033 487h159.883a3096.51 3096.51 0 0 0 9.82-40.824c-15.585 2.554-31.613 6.054-48.425 10.521L135 459.703V448c0-117.577-13.686-235.189-40.635-327H67.514l5.334-16zm93.355 0l-5.334 16h-21.43c25.844 90.393 38.94 202.608 39.766 315.66 72.384-17.715 133.99-17.605 206.354.014C360 323.617 373.099 211.396 398.943 121h-21.43l-5.333-16h-57.928a92.688 92.688 0 0 1-7.84 8.715C292.565 127.276 274.456 137 256 137s-36.565-9.724-50.412-23.285a92.688 92.688 0 0 1-7.84-8.715zm299.332 0l5.334 16h-26.851C390.686 212.811 377 330.423 377 448v11.684l-11.297-2.983c-16.814-4.439-32.844-7.93-48.43-10.484 3.24 13.88 6.52 27.504 9.811 40.783h159.883c.003-125.476-.206-282.706-21.432-382z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LookAt;

impl IconShape for LookAt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 151c-28 0-60.378 17.102-90.992 37.512-30.615 20.41-58.84 44.594-75.37 61.125L35.27 256l6.367 6.363c16.53 16.53 44.756 40.716 75.37 61.125C147.623 343.898 180 361 208 361h3.73l2.633-2.637c8.644-8.643 15.787-18.62 21.49-29.47-20.47-1.078-36.916-10.11-47.767-23.13C176.512 291.872 171 273.874 171 256c0-17.875 5.512-35.873 17.086-49.762 10.85-13.02 27.297-22.053 47.768-23.13-5.704-10.85-12.847-20.828-21.49-29.47L211.728 151H208zm32 50c-17.6 0-29.66 6.65-38.086 16.762C193.488 227.872 189 241.875 189 256s4.488 28.127 12.914 38.238C210.34 304.348 222.4 311 240 311h3.7c1.89-5.276 3.485-10.685 4.796-16.182-2.5 1.36-5.324 2.182-8.496 2.182-9.282 0-15.65-6.92-19.363-14.348-3.715-7.428-5.637-16.6-5.637-26.652 0-10.053 1.922-19.224 5.637-26.652C224.35 221.918 230.717 215 240 215c3.172 0 5.995.822 8.496 2.182-1.31-5.497-2.905-10.906-4.797-16.182H240zm176 7v32h-96v32h96v32l48-48-48-48zm-168 16a8 16 0 0 0-8 16 8 16 0 0 0 8 16 8 16 0 0 0 8-16 8 16 0 0 0-8-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lorgnette;

impl IconShape for Lorgnette {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407 33.45c-8 0-16.2 1.09-24.3 3.4-25 7.13-44.5 24.4-55.2 46.07-14.7-4.21-28-6.54-40.5-6.62-8.7-.1-17.1 1-25.2 3.3-19.5 5.56-36.6 18.17-54 37.4-20.6-12.7-46.3-17.13-71.3-10-47.14 13.4-74.6 62.8-61.18 110 2.14 7.5 5.19 14.5 9 20.9L57.26 404.1c-7.3.5-14.04 4.2-19.07 9.4-6.22 6.4-10.36 15-11.7 24.9-1.34 9.9.36 19.3 4.68 27 4.31 7.7 11.73 13.9 20.96 15.1 9.22 1.2 18.05-2.9 24.26-9.3 6.21-6.4 10.3-15 11.64-24.9 1.34-9.9-.32-19.3-4.62-27-2.18-3.9-5.17-7.4-8.78-10.1l24.83-152.3c22.14 21 54.44 30.2 85.84 21.3 47.1-13.4 74.6-62.9 61.2-110-4.5-15.9-13.2-29.6-24.4-40.2 15.6-17.1 29.6-26.8 44.7-31.08 15-4.28 32-3.36 54.3 2.89-4 14.99-4.1 31.09.4 46.99 13.5 47.2 62.9 74.7 110 61.2 47.1-13.4 74.6-62.8 61.2-109.93-11.1-39.03-46.9-64.6-85.7-64.62zm-.7 17.98c.8-.01 1.7-.01 2.6.01 30.3.7 57.7 20.85 66.5 51.56 10.8 37.8-11 77-48.8 87.7-37.8 10.8-77-11-87.8-48.8-10.7-37.8 11.1-76.97 48.9-87.73 6.2-1.77 12.4-2.66 18.6-2.74zm.9 17.47c-36.8-.81-62.4 53.7-36.6 81.5-.5-36.3 16.1-64.97 48.3-79.38-4-1.36-7.9-2.03-11.7-2.12zm-247.1 52.7h2.6c30.3.6 57.7 20.8 66.5 51.5 10.8 37.8-11 77-48.8 87.8-37.8 10.7-77-11.1-87.77-48.9-10.76-37.8 10.97-76.9 48.87-87.7 6.2-1.7 12.4-2.7 18.6-2.7zm-4.8 20.4c-36.8-.8-62.45 53.8-36.6 81.6-.5-36.3 16.1-65.1 48.3-79.5-4-1.4-7.9-2-11.7-2.1zM59.22 422.1c.27-.1.53 0 .79 0 2.78.4 5.47 2.1 7.67 6.1 2.21 3.8 3.34 9.6 2.5 15.8-.85 6.2-3.48 11.6-6.63 14.7-3.16 3.2-6.22 4.2-9 3.9-2.78-.4-5.47-2.1-7.66-6.1-2.21-3.8-3.35-9.6-2.5-15.8.84-6.2 3.48-11.6 6.62-14.7 2.76-2.8 5.46-3.9 7.95-3.9h.26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LouvrePyramid;

impl IconShape for LouvrePyramid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 71.3L14.72 416H497.3zm0 31.4l21 30-21 30-21-30zm-32 45.7l21 30-21 30-21-30zm64 0l21 30-21 30-21-30zm-86.7 32.4l-9.3 13.4 21 30-21 29.9-21-30zM320 194.1l21 30-21 30-21-30zm-64 .1l21 29.9-21 30-21-30zm-88.6 35l-7.4 10.7 21 30-21 29.9-21-30zM352 239.8l21 30-21 30-21-30zm-128 .1l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zm-154.3 37.6l-5.7 8.1 21 30-21 29.9-21-30zm245.9 1.8l25.4 36.2-21 30-21-29.9 21-30zM192 285.6l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zM98.51 327.7l-2.52 3.6 21.01 30L91.29 398h-42zm315.19.4l49 69.9h-42L395 361.3l21-30zM160 331.3l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zm64 0l21 30-21 29.9-21-29.9zm-224 45.8l14.6 20.9h-29.2zm64 0l14.6 20.9h-29.2zm64 0l14.6 20.9h-29.2zm64 0l14.6 20.9h-29.2zm64 0l14.6 20.9h-29.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LoveLetter;

impl IconShape for LoveLetter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.058 50.312c-.86-.005-1.572.037-2.12.123-5.981.932-20.108 8.016-36.207 19.511-16.098 11.496-34.887 27.134-53.93 44.485C95.74 140 67.162 169.31 45.217 194.7a3640.34 3640.34 0 0 0 50.812-3.872c1.538-16.08 6.79-32.61 17.368-45.879 10.166-12.751 26.122-21.682 46.617-21.675 18.943.006 41.55 7.126 68.935 23.275 21.438-25.45 40.574-39.736 58.412-45.451 4.809-1.54 9.513-2.39 14.06-2.643 13.645-.757 25.888 3.872 35.364 11.428 12.635 10.075 21.142 24.598 26.899 38.805.992 2.45 1.896 4.884 2.724 7.293 23.722-4.31 47.353-8.98 70.862-14.045-37.748-21.248-80.89-42.643-120-59.428-24.529-10.527-47.336-19.235-65.735-24.926-16.098-4.98-29.455-7.241-35.476-7.271zM305.4 116.13c-3.799-.029-7.94.635-12.548 2.111-14.046 4.5-32.654 17.808-54.899 45.59l-5.01 6.26-6.795-4.258c-28.717-17.994-50.548-24.553-66.142-24.558-15.595-.005-25.28 5.793-32.537 14.896-14.515 18.206-15.809 52.865-10.364 69.465 18.603 56.713 44.738 83.02 82.76 99.79 40.195-.354 79.786-7.153 118.967-19.483 20.884-31.578 38.095-67.142 36.006-118.356-.289-7.076-2.844-19.814-7.838-32.139-4.994-12.324-12.465-24.333-21.44-31.49-5.609-4.473-11.496-7.346-18.552-7.773-.53-.032-1.065-.05-1.608-.055zm-3.562 12.434a32.378 32.378 0 0 1 1.945.008c12.646.438 23.185 11.183 29.035 24.455-30.127-21.403-61.454-.145-79.638 12.49 12.363-17.632 28.675-36.452 48.658-36.953zm-137.897 25.761c13.546.007 30.081 4.885 46.036 17.26-86.153-26.888-63.03 66.667-35.965 120.168-28.36-17.18-59.2-88.077-38.166-125.47 3.994-7.101 14.55-11.965 28.095-11.958zm273.852 5.817a2248.032 2248.032 0 0 1-66.674 13.187c.972 4.94 1.54 9.517 1.703 13.524 1.966 48.19-12.285 84.872-30.328 115.326 3.958-.999 8.002-2.008 11.836-2.985 35.11-44.441 56.905-91.65 83.463-139.052zm15.437 9.289c-24.388 43.716-45.437 88.85-78.228 132.535 42.408 26.96 76.17 59.279 109.562 91.057-4.48-75.07-16.635-149.384-31.334-223.592zm-357.435 39.4a3715.148 3715.148 0 0 1-68.361 5.033c42.3 39.285 77.699 79.787 131.166 113.1 2.476.118 4.947.205 7.414.275-28.645-19.655-50.737-49.423-66.012-95.994-2.143-6.533-3.63-14.2-4.207-22.414zm-66.64 31.49l35.439 208.356c15.896-32.83 45.198-74.957 77.945-110.531-46.16-29.99-78.98-64.656-113.385-97.825zm333.741 75.29l-1.09.277c-54.862 13.97-125.265 32.309-201.154 29.244-35.114 37.072-67.574 85.062-82.158 116.557 146.769-2.776 272.969-26.229 398.856-50.698-35.89-34.067-70.647-67.974-114.454-95.38z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LoveMystery;

impl IconShape for LoveMystery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M380.006 47.875c-48.564.002-92.971 35.889-110.682 68.068l-12.379 23.383-13.224-22.918c-31.673-54.89-88.472-74.886-136.377-65.469-47.904 9.415-86.637 46.01-84.475 114.075 1.69 53.225 32.985 91.889 75.262 131.015a128.242 128.242 0 0 1 16.015-14.56l-17.332-30.096 28.569-15.727.092.159.252-.139 16.865 29.357c.523-.217 1.055-.417 1.582-.628a124.819 124.819 0 0 1 31.197-8.36V222.08h32.85v33.918a125.361 125.361 0 0 1 31.986 8.58l16.588-28.912 22.014 12.383 5.656-7.93a54.25 54.25 0 0 1-9.479-19.396l-27.172-2.963 3.266-33.172 25.836 2.54a54.43 54.43 0 0 1 13.797-20.235l-10.166-22.682 30.193-13.51 10.031 22.395a53.606 53.606 0 0 1 5.944-.381c6.468-.04 12.754 1.105 18.633 3.228l14.216-19.912 26.924 19.664-14.715 20.58a53.782 53.782 0 0 1 8.868 21.862l26.123 2.865-3.27 33.174-27.803-3.057a54.966 54.966 0 0 1-12.593 16.49l11.867 26.524-30.192 13.512-11.923-26.64a53.21 53.21 0 0 1-20.64-1.835l-17.196 23.56-19.397-14.177-7.127 12.326a127.814 127.814 0 0 1 23.906 23.904l30.098-17.332 15.725 28.569-.158.091.138.252-29.357 16.866c.218.523.418 1.055.629 1.582a124.818 124.818 0 0 1 8.36 31.197h23.218c18.074-15.828 36.451-30.563 53.695-45.088 51.649-43.98 95.683-90.716 94.447-154.988-1.976-63.356-41.62-104.098-88.183-115.745a95.72 95.72 0 0 0-21.002-2.312zM327.46 182.219c-14.248-.147-26.259 10.901-27.137 25.281-.905 14.844 10.398 27.604 25.242 28.51 14.846.907 27.607-10.38 28.512-25.225.905-14.843-10.377-27.603-25.223-28.51a28.317 28.317 0 0 0-1.394-.056zM191.92 340.344c-11.525 0-21.96 4.647-29.553 12.162 20.37 18.135 40.624 37.446 58.713 59.17 8.192-9.124 12.587-17.835 12.69-29.73-.645-16.83-9.866-31.296-25.875-38.45a41.895 41.895 0 0 0-15.975-3.152z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lovers;

impl IconShape for Lovers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.255 18.093c-32.842 0-59.592 33.923-59.592 75.935 0 21.274 7.079 40.468 18.092 54.284C22.623 158.879 7.903 253.733 24.1 339.874h23.563L46.63 234.53l18.688-.185 1.25 126.685 8.75 132.877h46.875v-172.29c-15.257-18.713-25.615-39.351-26.424-64.825l-.004-.1v-.1c-.154-15.988 6.478-35.643 19.219-52.566 12.741-16.922 32.481-30.98 57.783-31.29 17.252-.212 35.458 5.013 51.338 14.771-12.131-20.214-29.245-34.177-51.26-38.32 11.507-13.88 18.971-33.345 18.971-55.157.097-36.903-24.805-76.041-59.562-75.937zm247.841 0c-32.842 0-59.591 33.923-59.591 75.935 0 21.274 7.078 40.468 18.091 54.284-25.296 3.923-43.223 19.473-54.945 41.875 16.803-11.476 36.697-17.682 55.465-17.452 25.302.311 45.042 14.369 57.783 31.291 12.741 16.923 19.373 36.578 19.219 52.567v.1l-.004.1c-.826 26.007-11.608 46.974-27.393 65.997v171.113h44.315l11.5-154.029h.03l1.062-105.531 18.687.185-1.062 105.346h24.53c18.363-88.46-4.724-178.95-67.095-190.687 11.507-13.88 18.97-33.345 18.97-55.157.098-36.903-24.805-76.041-59.562-75.937zM172.99 190.733c-18.837.232-33.281 10.381-43.625 24.12-10.326 13.715-15.675 31.13-15.594 41.506 1.226 36.63 26.557 61.833 61.219 92.044 26.758 23.322 58.19 48.519 80.617 83.38l.357-.637.336.601c22.427-34.843 53.847-60.03 80.596-83.344 34.662-30.211 59.993-55.414 61.219-92.044.081-10.376-5.268-27.791-15.594-41.506-10.344-13.739-24.788-23.888-43.625-24.12-28.453-.349-63.84 20.288-74.414 52.022l-8.539 25.625-8.54-25.625c-10.573-31.734-45.96-52.37-74.413-52.021zm-32.11 150.989v152.181h44.315l7.893-105.714c-9.94-9.023-20.098-17.651-29.924-26.215-7.726-6.734-15.242-13.43-22.283-20.252zm229.157.93c-6.762 6.5-13.94 12.894-21.315 19.322-10.636 9.27-21.66 18.622-32.375 28.463l6.815 103.47h46.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LowTide;

impl IconShape for LowTide {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40 24v464h80v-32H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40v-48H80v-16h40V72H80V56h40V24H40zm152 368c-15.503 0-31.65 8.898-45.133 17.184A256.9 256.9 0 0 0 136 416.268v19.693c3.741-2.82 10.696-7.891 19.244-13.145C167.8 415.102 183.652 408 192 408c8.348 0 16.977 6.256 27.014 14.256C229.05 430.256 240.497 440 256 440c15.503 0 26.95-9.744 36.986-17.744C303.023 414.256 311.652 408 320 408c8.348 0 16.977 6.256 27.014 14.256C357.05 430.256 368.497 440 384 440c15.503 0 26.95-9.744 36.986-17.744C431.023 414.256 439.652 408 448 408c8.348 0 24.201 7.102 36.756 14.816a243.821 243.821 0 0 1 11.244 7.37v-19.194c-.95-.603-1.88-1.202-2.867-1.808C479.65 400.898 463.503 392 448 392c-15.503 0-26.95 9.744-36.986 17.744C400.977 417.744 392.348 424 384 424c-8.348 0-16.977-6.256-27.014-14.256C346.95 401.744 335.503 392 320 392c-15.503 0-26.95 9.744-36.986 17.744C272.977 417.744 264.348 424 256 424c-8.348 0-16.977-6.256-27.014-14.256C218.95 401.744 207.503 392 192 392zm0 48c-15.503 0-31.65 8.898-45.133 17.184A256.9 256.9 0 0 0 136 464.268v19.693c3.741-2.82 10.696-7.891 19.244-13.145C167.8 463.102 183.652 456 192 456c8.348 0 16.977 6.256 27.014 14.256C229.05 478.256 240.497 488 256 488c15.503 0 26.95-9.744 36.986-17.744C303.023 462.256 311.652 456 320 456c8.348 0 16.977 6.256 27.014 14.256C357.05 478.256 368.497 488 384 488c15.503 0 26.95-9.744 36.986-17.744C431.023 462.256 439.652 456 448 456c8.348 0 24.201 7.102 36.756 14.816a243.821 243.821 0 0 1 11.244 7.37v-19.194c-.95-.603-1.88-1.202-2.867-1.808C479.65 448.898 463.503 440 448 440c-15.503 0-26.95 9.744-36.986 17.744C400.977 465.744 392.348 472 384 472c-8.348 0-16.977-6.256-27.014-14.256C346.95 449.744 335.503 440 320 440c-15.503 0-26.95 9.744-36.986 17.744C272.977 465.744 264.348 472 256 472c-8.348 0-16.977-6.256-27.014-14.256C218.95 449.744 207.503 440 192 440z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Luchador;

impl IconShape for Luchador {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-67.94 0-109.512 28.038-135.855 71.016-5.116 8.345-9.612 17.29-13.547 26.714l9.11 6.41s27.29 18.618 39.538 23.202c11.417 4.272 25.115 5.133 39.65 6.28 14.536 1.15 30.026 2.604 44.45 10.046 6.602 3.406 11.727 8.845 16.12 13.61.3.325.232.292.518.61.292-.325.224-.292.528-.622 4.396-4.782 9.52-10.24 16.203-13.627 14.53-7.363 30.093-8.45 44.623-9.3 14.53-.85 28.143-1.487 39.385-5.74 6.07-2.297 16.45-8.49 24.705-13.996 8.255-5.507 14.638-10.3 14.638-10.3l9.2-6.91c-3.903-9.3-8.356-18.132-13.41-26.378C365.51 52.038 323.94 24 256 24zM115.38 149.62c-8.117 24.86-13.518 46.368-14.284 64.882-.88 21.285 3.656 38.784 16.646 56.2 3.226 4.326 17.322 10.325 30.574 13.048 13.253 2.724 25.084 3.432 25.084 3.432l8.473.498v32.674l-3.096 2.69s-9.965 8.677-19.87 20.16C149 354.685 140.31 369.596 140.31 376.5c0 19.28 17.468 42.31 36.698 52.256 8.275 4.28 22.1 2.26 35.428-.78 4.93-1.126 10.668-5.18 17.472-9.935 6.805-4.754 15.124-10.374 26.092-10.374 10.968 0 19.287 5.62 26.092 10.375 6.804 4.756 12.542 8.81 17.472 9.935 13.328 3.04 27.153 5.06 35.428.78 19.23-9.945 36.697-32.976 36.697-52.255 0-6.903-8.69-21.814-18.596-33.297-9.906-11.482-19.87-20.16-19.87-20.16l-3.097-2.69V287.68l8.473-.498s11.83-.71 25.084-3.432c13.252-2.724 27.348-8.722 30.574-13.047 12.99-17.417 17.527-34.916 16.646-56.2-.764-18.455-6.134-39.886-14.207-64.642-2.327 1.64-2.307 1.735-5.28 3.718-8.706 5.807-19.11 12.37-28.323 15.858-14.986 5.67-30.463 6.04-44.703 6.873-14.24.832-27.125 2.108-37.54 7.385-1.994 1.01-7.263 5.59-11.088 9.752-3.826 4.16-6.637 7.8-6.637 7.8l-7.102 9.204-7.13-9.18s-2.824-3.63-6.66-7.79c-3.837-4.16-9.1-8.763-11.14-9.816-10.494-5.414-23.4-6.975-37.613-8.098-14.213-1.122-29.62-1.782-44.542-7.367-11.97-4.48-24.632-12.566-33.557-18.58zm52.4 34.956c16.23.14 33.973 5.41 47.93 11.174 8.774 3.623 16.51 11.337 20.145 20.084 5.14 12.37 9.497 30.7 0 40.166-23.74 23.668-76.98 23.668-100.72 0-14.244-14.2-14.244-46.05 0-60.25 8.31-8.284 20.02-11.282 32.644-11.174zm176.44 0c12.626-.108 24.336 2.89 32.645 11.174 14.244 14.2 14.244 46.05 0 60.25-23.74 23.668-76.98 23.668-100.72 0-9.497-9.467-5.14-27.796 0-40.166 3.634-8.747 11.37-16.46 20.144-20.084 13.957-5.764 31.7-11.035 47.93-11.174zM84.134 235.22c-.287 6.905-.432 13.838-.432 20.78 0 38.662 9.978 97.927 36.652 146.277C147.025 450.627 188.912 488 256 488c67.087 0 108.975-37.373 135.648-85.723 26.674-48.35 36.65-107.615 36.65-146.277 0-6.942-.144-13.875-.43-20.78-2.338 16.362-8.42 31.813-19.182 46.245-9.583 12.85-26.66 16.89-41.38 19.916-7.29 1.5-14.12 2.433-19.18 3v7.944c3.384 3.062 10.21 9.398 18.597 19.12 10.876 12.61 22.966 27.822 22.966 45.056 0 28.995-21.616 55.41-46.428 68.244-16.156 8.356-34.062 3.893-47.7.78-10.146-2.313-17.445-8.3-23.78-12.727-6.336-4.427-11.26-7.13-15.782-7.13-4.52 0-9.446 2.703-15.78 7.13-6.337 4.427-13.636 10.414-23.78 12.728-13.64 3.112-31.547 7.575-47.702-.78-24.812-12.834-46.427-39.25-46.427-68.245 0-17.234 12.09-32.447 22.967-45.055 8.388-9.723 15.213-16.06 18.596-19.12v-7.946c-5.06-.567-11.89-1.5-19.18-3-14.718-3.024-31.796-7.066-41.38-19.915-10.762-14.432-16.843-29.883-19.18-46.244zM256 256l60.434 60.25c-60.433 10.613-60.435 10.606-120.868 0L256 256zm0 85.354c25.18 0 50.36 5.02 80.576 15.062 20.144 20.083 20.144 40.168 0 40.168-60.433-20.083-100.72-20.083-161.152 0-20.144 0-20.144-20.085 0-40.168 30.216-10.042 55.396-15.062 80.576-15.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LuckyFisherman;

impl IconShape for LuckyFisherman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.4 22c-6.3 13.95-9.9 30.06-9.9 47.4 0 54.9 36.1 97.6 78.5 97.6s78.5-42.7 78.5-97.6c0-17.34-3.6-33.45-9.9-47.4H187.4zm20.6 90h96c-32 32-64 32-96 0zm89.2 62c-12.5 7.1-26.4 11-41.2 11-14.6 0-28.4-3.8-40.7-10.7-22.4 5.1-46.5 13.4-67.4 23.9-6.1 3-11.9 6.2-17.3 9.6l30.6-5.8c32-6.1 60.8-9.9 87.5-9.6 8.9.1 17.6.6 26 1.7 29.4 3.7 56.4 14.1 81.8 33.2 22.4 4 44.1 10.1 64.2 18.2-2.5-5.9-7-12.1-13.4-18.4-10.4-10.3-25.6-20.5-42.9-29.2-20.9-10.5-44.9-18.9-67.2-23.9zm-168.5 34.9c-9.4 5.9-17.6 12.1-24 18.3-10.32 10.2-15.52 20-15.65 28.5 1.71 10.6 3.24 20.5 4.65 30 28.2-24.9 63.8-42.2 102.6-52.5-9-4.2-20.5-8.7-36.2-13.9l-31.4-10.4zm119.8 1.5c-15.8-.2-32.8 1.3-51.1 3.9 9.9 4.4 17.7 8.7 24.3 13.2 11.1-2.1 22.3-3.6 33.6-4.6 8.4-.8 16.8-1.3 25.2-1.4 10.4-.2 20.7-.1 31 .5-12.4-5-25.3-8.3-39-10-7.7-1-15.7-1.5-24-1.6zm42.9 29c-3.5 0-7 0-10.5.1-8 .1-16 .6-24 1.3-63.7 5.7-124.1 28.6-162.42 69l-3.31 3.5-4.73-.8c-18.48-3.2-43.03 5.9-68.2 12.8 1.29 1.1 2.53 2.1 3.86 3.4 10.52 9.6 22.46 22.7 33.33 36.3 10.87 13.5 20.61 27.4 26.64 39.2 1.76 3.4 3.19 6.6 4.25 9.8 6.8-4.7 11.72-10.9 15.98-18.4l.3-.6c-.8-12.4.1-24.8 2.7-36.8 2-9.7 9-16.8 16.8-21 7.9-4.1 16.9-6 25.9-6.4 2.2-.2 4.4-.2 6.7-.1 6.7.1 13.2 1.1 19.1 2.7 7.9 2.2 15 5.2 19.7 11.9 5.6 7.9 9.8 17.2 12 26.8 27.7 5.6 59.7 10.1 92.7 12.7 2.1.2 4.2.3 6.3.5.8-14.3 5.8-28.5 14-40 4.7-6.7 11.8-9.7 19.7-11.9 5.9-1.6 12.4-2.6 19.1-2.7 2-.1 4-.1 5.9 0v-4.4c.3-21.2 3.4-43.9 16.9-58.4l13.2 12.4c-7.2 7.6-11.8 27.2-12.1 46.3-.1 2.4 0 4.7 0 7.1 3 .9 5.9 2.1 8.7 3.5 7.8 4.2 14.8 11.3 16.8 21 2 9.4 3 19.1 3 28.8 30.3-1.3 58.7-4.4 82.8-9.5.6-41.1-20.5-86.2-55.2-104.5-41-21.7-93.2-33.3-145.9-33.6zm-22.6 37.8h3c10.6.3 21.5 1.7 32.7 4.5l-4.4 17.4c-35.9-9-68.6-1.3-99.9 9.7 1.9 2.3 4.6 4.7 8.3 7 7.7 4.9 18.6 9.2 30.7 12.2 24.3 5.9 53.4 6 70-.6l6.6 16.8c-22.7 8.9-53.7 7.9-80.8 1.3-13.6-3.3-26.1-8.1-36.1-14.5-10.1-6.4-18.2-14.8-19.9-26.1l-1.1-7.2 6.9-2.5c25.4-9.5 53.5-18.2 84-18zm156.9 17.3a17.92 17.06 0 0 1 17.9 17.1 17.92 17.06 0 0 1-17.9 17.1 17.92 17.06 0 0 1-17.9-17.1 17.92 17.06 0 0 1 17.9-17.1zm-274.2 54.1c-.8 0-1.7.1-2.6.1-7 .4-13.8 2-18.4 4.4-4.6 2.5-6.8 5.1-7.6 8.9-4.6 21.8-3 45.4 5.3 66-.8-2 .2.1 4.7.9 4.6.8 11.4.9 18.3-.2 14-2 28.3-8.9 33-17.2 8.5-14.8 5.7-40.2-5.3-55.8-.5-.6-4.2-3.4-9.9-4.9-5-1.4-11.3-2.2-17.5-2.2zm209 0c-6.2 0-12.5.8-17.5 2.2-5.7 1.5-9.4 4.3-9.9 4.9-11 15.6-13.8 41-5.3 55.8 4.7 8.3 19 15.2 33 17.2 6.9 1.1 13.7 1 18.3.2 4.5-.8 5.5-2.9 4.7-.9 8.3-20.6 9.9-44.2 5.3-66-.8-3.8-3-6.4-7.6-8.9-4.6-2.4-11.4-4-18.4-4.4-.9 0-1.8-.1-2.6-.1zm-152.9 42.5c-.2 10.3-2.7 20.5-7.8 29.4-9.4 16.4-28.6 23.5-45.9 26.1-8.6 1.2-17 1.3-24.2 0-6.2-1.1-12.7-2.9-16.5-8.7 2 15 4.1 31 6.7 49.1H215v-94.5c-2.5-.4-5-.9-7.4-1.4zm25.4 4.3V487h46.6l-.4-85.9c-15.9-1.5-31.4-3.4-46.2-5.7zm64.2 7.3l.4 84.3h94.6c2.6-18.6 4.8-34.6 6.9-49.6-3.8 6.2-10.4 8.1-16.8 9.2-7.2 1.3-15.6 1.2-24.2 0-17.3-2.6-36.5-9.7-45.9-26.1-3.1-5.4-5.2-11.2-6.4-17.2-2.9-.2-5.7-.4-8.6-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LunarModule;

impl IconShape for LunarModule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144 23c-9.282 0-17 7.718-17 17 0 5.99 3.224 11.317 8 14.35v40.46l-15.156 7.38L91.68 228.93l76.5-12.75 15.238-91.434 48.268-77.014L153 86.047V54.35c4.776-3.033 8-8.36 8-14.35 0-9.282-7.718-17-17-17zm112 19.832L202.62 128h106.76L256 42.832zM416 45c-24.96 0-45 20.04-45 45s20.04 45 45 45 45-20.04 45-45-20.04-45-45-45zm-135.686 2.732l48.268 77.014 15.068 90.414 76.637 13.617-17.135-77.105C374.586 145.708 353 120.287 353 90c0-2.263.126-4.497.36-6.7l-73.046-35.568zM416 71c9.282 0 17 7.718 17 17s-7.718 17-17 17-17-7.718-17-17 7.718-17 17-17zm-288 48h32v18h-32v-18zm64 89l16 32h96l16-32H192zm149.88 25.13l-39.46 92.067 91.148-13.35 25.967-64.92-77.656-13.798zm-171.468.925L92.51 247.04l25.922 64.806 89.494 13.11-37.514-90.9zM198.942 256l29.71 71.992L256 331.998l25.527-3.74L312.494 256h-113.55zm-84.962 73.385L58.15 455H32v18h64v-18H77.85l6.543-14.72c.154-.06.285-.122.486-.18 1.41-.413 3.09-.958 5.097-1.637 4.014-1.358 9.296-3.25 15.464-5.514 12.34-4.53 28.187-10.538 43.86-16.546 18.96-7.267 34.964-13.486 46.782-18.093L247 436.5V471h-23v18h64v-18h-23v-34.5l50.918-38.19c11.818 4.608 27.82 10.827 46.78 18.094 15.675 6.008 31.523 12.017 43.86 16.545 6.17 2.263 11.45 4.155 15.465 5.513 2.007.68 3.687 1.224 5.098 1.637.202.058.333.12.487.18L434.15 455H416v18h64v-18h-26.15l-55.83-125.613-18.493 2.71 38.096 85.717c-1.6-.578-3.097-1.116-4.86-1.763-12.184-4.47-27.99-10.462-43.622-16.454-14.304-5.483-28.13-10.84-39.288-15.176l24.304-48.608-21.715 3.18L314.44 375H265v-26.13l-9 1.32-9-1.32V375h-49.438l-18.003-36.008-21.718-3.18 24.304 48.608c-11.156 4.337-24.983 9.693-39.287 15.176-15.633 5.992-31.44 11.983-43.622 16.455-1.764.648-3.26 1.186-4.86 1.764l38.095-85.72-18.493-2.71zM219 393h28v21l-28-21zm46 0h28l-28 21v-21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LunarWand;

impl IconShape for LunarWand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373 20c-46.737 0-87.087 26.806-106.564 65.912L206 98l48.11 36.082c-.067 1.632-.11 3.27-.11 4.918 0 20.94 5.387 40.592 14.842 57.666l8.803-22.008 6.17-5.388 16.44-4.11C295.592 154.367 293 142.48 293 130c0-46.01 35.158-84.016 80-88.547L414 34zm105 94l-7.453 25c-4.53 44.842-42.538 80-88.547 80-12.48 0-24.367-2.59-35.16-7.256l-4.11 16.44-5.388 6.17-22.008 8.804C332.408 252.613 352.06 258 373 258c1.648 0 3.286-.043 4.918-.11L414 306l12.088-60.436C465.194 226.087 492 185.737 492 139zm-140.37 60.37l-44.984 11.245-22.492 56.23 56.23-22.49zm-84.984 30.048l-16.503 16.504 16.425 16.426 8.037-20.09c-2.877-4.122-5.54-8.406-7.96-12.84zm-44.054 14.41c-7.608.515-12.517 2.56-15.584 5.63-3.068 3.067-5.114 7.975-5.63 15.583l84.8 84.8c7.608-.515 12.516-2.563 15.584-5.63 3.067-3.07 5.114-7.977 5.63-15.585zm86.154 32.565l-20.094 8.04 16.645 16.643 16.568-16.568c-4.534-2.46-8.91-5.177-13.12-8.115zm-105.273 16.2l-21.213 21.212 55.154 55.154 21.213-21.214zm-45.254 22.626l-21.214 21.212 77.78 77.78L222 368zm-22.628 45.253L18 439.063V494h55.373l103.373-103.373z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lungs;

impl IconShape for Lungs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.875 29.406A9 9 0 0 0 247 38.53v118.314l-15.188 18.97C232.602 181.416 233 186.87 233 192v11.156l23-28.75 23 28.75V192c0-5.13.398-10.583 1.188-16.188L265 156.845V38.53a9 9 0 0 0-9.125-9.124zM176 121c-4.204 0-14.86 3.97-26.688 12.063-11.828 8.094-25.28 19.814-38.125 33.468-25.688 27.31-48.756 62.726-54.343 91.19-7.464 38.02-11.432 81.626-11.532 119.342-.1 37.717 4.43 70.268 10.75 82.907.458.913 2.002 2.488 6.47 3.717 4.466 1.23 11.21 1.775 19.187 1.313 15.95-.925 36.805-5.69 57.06-13.406 20.257-7.717 40-18.395 54.126-30.438C207.033 409.113 215 396.25 215 384V192c0-13.92-4.043-33.063-11.375-47.625C196.293 129.813 186.832 121 176 121zm160 0c-10.832 0-20.293 8.813-27.625 23.375C301.043 158.937 297 178.08 297 192v192c0 12.25 7.967 25.113 22.094 37.156 14.127 12.043 33.87 22.72 54.125 30.438 20.255 7.716 41.11 12.48 57.06 13.406 7.977.462 14.722-.084 19.19-1.313 4.466-1.228 6.01-2.804 6.467-3.718 6.32-12.64 10.85-45.19 10.75-82.908-.1-37.716-4.067-81.32-11.53-119.343-5.588-28.464-28.656-63.88-54.344-91.19-12.845-13.653-26.297-25.374-38.125-33.468C350.858 124.97 340.204 121 336 121z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LynxHead;

impl IconShape for LynxHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M125.726 26c-16.287 0-25.427 39.444-23.978 58.852 1.317 17.655 6.607 38.365 13.272 53.654 3.822 13.796 8.49 26.93 13.775 37.282 4.028 7.888 8.492 13.96 12.585 17.735 5.46-7.754 11.74-15.612 19.065-23.035a143.73 143.73 0 0 1 8.827-8.223c-8.593-2.614-16.067-6.718-22.364-11.855-7.06-5.76-12.73-12.61-17.564-19.836-9.907-16.38-16.03-27.23-17.08-41.336-1.245-16.658-2.825-46.952 13.462-63.238zm260.578 0c16.286 16.286 14.706 46.58 13.463 63.238-1.053 14.106-7.175 24.955-17.08 41.336-4.837 7.226-10.506 14.077-17.566 19.836-6.31 5.148-13.8 9.258-22.416 11.87a144.383 144.383 0 0 1 8.958 8.347c7.286 7.39 13.535 15.205 18.972 22.91 4.097-3.775 8.567-9.85 12.6-17.75 5.287-10.352 9.953-23.485 13.776-37.28 6.664-15.29 11.954-36 13.272-53.655C411.73 65.444 402.59 26 386.304 26zM88.072 100.542c-8.82 42.72 3.21 85.19 31.705 128.973 3.27-5.985 6.925-12.78 11.495-20.405-7.722-6.027-13.627-14.868-18.795-24.988-6.558-12.843-11.777-28.11-15.96-43.795-3.59-13.463-6.4-27.14-8.445-39.785zm335.886 0c-2.045 12.645-4.855 26.322-8.446 39.785-4.182 15.685-9.402 30.952-15.96 43.795-5.168 10.122-11.074 18.965-18.8 24.992 4.592 7.648 8.244 14.44 11.5 20.4 28.497-43.782 40.525-86.253 31.706-128.972zm-167.943 48.622c-38.245 0-63.61 15.025-82.528 34.194-18.92 19.17-30.717 42.546-39.753 58.81-9.142 16.456-18.334 39.176-35.084 51.738-13.876 10.407-19.266 24.455-19.192 42.28.073 17.825 6.37 38.96 16.606 59.727C114.78 433.89 147.02 470.293 171.83 486c1.816-4.33 2.248-9.616 1.706-16.328-5.558-3.36-10.754-8.085-15.81-13.423-9.934-10.487-19.368-24.21-27.768-38.91-8.4-14.7-15.707-30.343-20.996-44.623-5.29-14.28-8.713-26.847-8.713-37.28 0 5.853 16.934 17.715 21.824 30.918 4.89 13.202 15.904 28.094 23.79 41.896 7.247 12.683 15.337 24.46 23.11 33.158-.62-3.813-1.16-7.678-1.483-11.565-1.12-13.43.756-28.464 12.364-39.077a42.21 42.21 0 0 1 1.947-1.666c-9.152-17.46-16.377-36.25-16.377-53.663 8.547-29.444 41.044-34.8 62.12-44.863l-4.524-20.1c-21.01 9.736-74.08.036-72.275-25.38.48-6.747 6.797-9.56 15.225-9.422 5.056.084 10.87 1.23 16.642 3.23 15.084 5.23 28.892 14.14 40.147 30.418l-7.365-32.713c-5.208-2.216-10.287-4.592-15.1-6.94-17.178-8.372-30.59-16.748-30.59-16.748l9.7-15.544s12.686 7.91 28.916 15.823c16.232 7.912 36.45 15.36 47.665 15.36 11.215 0 31.435-7.448 47.666-15.36 16.23-7.913 28.917-15.824 28.917-15.824l9.7 15.543s-13.412 8.375-30.59 16.748c-5.022 2.45-10.332 4.93-15.778 7.227l-7.176 33.202c11.352-16.78 25.367-25.882 40.694-31.194 5.77-2 11.585-3.147 16.642-3.23 8.427-.14 14.745 2.674 15.224 9.42 1.814 25.55-51.827 35.225-72.61 25.237l-4.357 20.16c21.446 7.972 60.697 23.412 62.29 44.947 0 17.412-7.225 36.204-16.378 53.663a42.21 42.21 0 0 1 1.945 1.666c11.608 10.613 13.483 25.646 12.364 39.077-.323 3.86-.86 7.7-1.472 11.485 7.75-8.69 15.815-20.434 23.04-33.077 7.886-13.8 18.9-28.693 23.79-41.895 4.89-13.203 21.823-25.065 21.823-30.918 0 10.433-3.42 23-8.71 37.28-5.29 14.28-12.597 29.924-20.996 44.624-8.4 14.7-17.834 28.423-27.767 38.91-5.04 5.317-10.214 10.028-15.75 13.386-.546 6.73-.117 12.026 1.702 16.364 24.72-15.67 56.953-52.07 75.688-90.05 10.25-20.774 16.566-41.924 16.654-59.758.088-17.833-5.29-31.88-19.163-42.286-16.872-12.653-25.803-35.032-35.084-51.737-8.937-16.088-20.73-39.46-39.68-58.678-18.948-19.218-44.37-34.328-82.6-34.328zm-20.207 94.697l8.867 39.388c3.79-1.137 7.446-1.76 11.34-1.76 3.824 0 7.417.602 11.135 1.7l8.467-39.186c-6.682 1.774-13.31 2.88-19.632 2.88-6.494 0-13.31-1.16-20.177-3.02zm-18.193 67.87c-.03.01-.062.013-.093.02-12.85 3.214-26.5 13.238-33.636 25.885.213 3.895.99 8.262 2.205 12.903 8.31 8.985 18.027 20.306 27.645 25.805 5.816 3.325 10.73 4.46 15.795 3.153 4.71-1.216 13.273-3.52 17.284-14.344 2.075-5.6 3.133-20.282-2.266-21.24-3.927-.786-8.18-2.954-11.296-6.07-5.545-5.544-9.2-13.11-15.636-26.11zm76.8 0c-6.438 13-10.093 20.568-15.637 26.112-3.115 3.116-7.37 5.284-11.296 6.07-4.87-.058-4.394 16.735-2.346 21.053 4.93 10.395 12.596 13.316 17.306 14.53 5.076 1.31 10 .172 15.82-3.154 9.65-5.51 19.39-16.87 27.69-25.86 1.206-4.62 1.98-8.966 2.19-12.845-7.134-12.647-20.784-22.67-33.635-25.884-.03-.007-.062-.01-.093-.02zm-38.438 71.22c-6.825 7.534-14.128 12.29-21.867 14.287-10.7 2.764-21.042-.172-29.47-4.99-.048-.028-.095-.06-.144-.087 9.026 15.1 19.2 28.293 25.424 34.517 5.983 5.983 15.916 9.53 26.095 9.53 10.18 0 20.11-3.547 26.095-9.53 6.227-6.228 16.41-19.437 25.44-34.55-.066.04-.13.084-.198.122-8.432 4.817-18.783 7.75-29.49 4.987-7.743-1.998-15.053-6.752-21.885-14.288z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MachineGunMagazine;

impl IconShape for MachineGunMagazine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.8 41c-.2 10.26-.6 20.25-1.3 30h175.3c.3-9.83.4-19.82.2-30H146.8zM144 89C131.1 214.5 76.78 297.9 21.96 367.2L137.3 482.6C239.3 357.1 310.3 244.5 320 89h-29.2c-2.2 49-22 109.8-48.6 168.7-26.9 59.5-60.9 117-92.2 157.6l-12.8-12.8c29.7-39.1 62.7-94.9 88.6-152.2 25.9-57.4 44.7-116.6 47-161.3h-30c-2.2 49-22 109.8-48.6 168.7-21.2 46.9-46.8 92.6-72.1 129.7l-12.9-13c23.9-35.6 48.4-79.4 68.6-124.1 25.9-57.4 44.7-116.6 47-161.3h-30c-2.2 49-22 109.8-48.6 168.7-15.9 35.3-34.3 69.8-53.2 100.5l-13.1-13.1c17.6-29.2 35-61.7 49.9-94.8 25.9-57.4 44.7-116.6 47-161.3H144zm192 149c-1 2.4-2.1 5.2-3.2 8.7-3.5 11.3-7 27.1-10 43-4 21.3-6.9 41.8-8.5 53.3h43.4c-1.6-11.5-4.5-32-8.5-53.3-3-15.9-6.5-31.7-10-43-1.1-3.5-2.2-6.3-3.2-8.7zm64 0c-1 2.4-2.1 5.2-3.2 8.7-3.5 11.3-7 27.1-10 43-4 21.3-6.9 41.8-8.5 53.3h43.4c-1.6-11.5-4.5-32-8.5-53.3-3-15.9-6.5-31.7-10-43-1.1-3.5-2.2-6.3-3.2-8.7zm64 0c-1 2.4-2.1 5.2-3.2 8.7-3.5 11.3-7 27.1-10 43-4 21.3-6.9 41.8-8.5 53.3h43.4c-1.6-11.5-4.5-32-8.5-53.3-3-15.9-6.5-31.7-10-43-1.1-3.5-2.2-6.3-3.2-8.7zM313 361v126h46V361h-46zm64 0v126h46V361h-46zm64 0v126h46V361h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicAxe;

impl IconShape for MagicAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.33 22.67C74.66 60.11 54.85 77.51 17.9 81.44c34.9 5.95 54.06 16.65 64.93 57.46 5.1-17.7-2.54-44.83 40.27-51.12C91.33 72.61 87.63 58.2 86.33 22.67zM399.8 37.35c-2.3 9.45-5 18.36-8.1 26.76 53 62.49 59 152.29 39.7 227.19-10.3 39.9-27.8 75.8-50.2 101.7-13.4 15.6-28.9 27.8-45.6 34.5 1.6 8.3 3.1 16.5 4.4 24.7 115.6-67.1 174.5-271 59.8-414.85zm-232.6 8.56l-4.1 62.59c33.9 10.4 70.3 26.4 95.4 45.2l23.1-71.26c-36.5-24.85-72.9-48.39-114.4-36.53zm216.6 37.03C358.6 135 316.2 164 265.4 177.7l-4.8 1.3-3.6-3.4c-23.6-21.8-75.9-44.1-117-54.8-9.6 33.1-19.2 77.6-17 108.8 77.7-2.1 129.8 29.1 162.7 74 22.9 31.1 36.9 68.5 45.9 106 12.6-5.6 24.7-15.2 36-28.3 20-23.2 36.7-56.9 46.4-94.5 17.4-67.7 12.4-147.4-30.2-203.86zM143.7 247.7L87.69 494.3h25.51l38.2-42.3-3.4-15-27.9 13.7-8-16.2 60.5-29.8 8 16.2-16 7.9c2.6 9.8 4.6 20.4 6.9 30-11.5 12.3-24.5 24.9-34.1 35.5h45.4l44.6-221.7c-22.2-14.1-49.5-23.1-83.7-24.9zm17.8 19.4l48.9 32.8-10 15-17.5-11.7-10.3 15.8 20.5 55.5-16.8 6.2-15.9-43-14.8 22.8-15-9.8 37.4-57.5-16.5-11.1zm-120.2.5c4.26 36.2 12.96 45.7-21.03 56.1 39.29 1.5 41.04 6.6 54.5 41.4-3.46-35.3-7.53-41.5 29.03-62.7-18.43-.2-36.47 11.8-62.5-34.8zm378.3 123.1c14.1 36.7 9.3 62.6-17.4 88.6 31.1-17 52.8-20.4 86.6 4.9-7-17-29.8-33.6 0-65-34.4 7.8-46.3-1.3-69.2-28.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicBroom;

impl IconShape for MagicBroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M445.1 22.93c-3.8.11-7.9 1.81-11.5 5.98C379.2 107.6 318.8 184.7 257.3 261.4c2.3.9 4.5 1.9 6.5 3.1 4.5 2.5 8.4 5.6 11.7 9C339 197.6 401.3 121.1 455.6 40.87c4.3-9.84 1.1-13.83-3.8-16.4-1.2-.65-2.6-1.13-4.1-1.37-.8-.13-1.7-.19-2.6-.17zM63.14 46.41c7.69 13.5 16.6 26.49 2.25 47.15 10.45-10.72 22.95-21.51 42.41-1.4-4.2-10.17-17.26-17.99-6.1-33.71-17.06 8.58-25.86 0-38.56-12.04zM267.2 94.02c-7.4 11.08-18.3 14.68-32.6 10.28 14.3 4.9 21.5 14.5 17.7 31.7 8.3-15.5 18.1-21.4 29.5-17.1-6.4-6.3-17.3-7-14.6-24.88zm181.5 46.78c-4 22.5-6 45.9-43.2 50.9 22.9.8 48.1 3.7 51.7 46.2 5-15-3-37.8 25.6-41.3-28.6-10.4-30.7-29.2-34.1-55.8zm-358.92 96c2.1 24.8-8.1 41.4-37.08 45.6 29.38 3.7 44.88 15.4 45.88 35.5 5.62-13.5-.7-30.8 28.72-36.8-22.1-5.2-34.82-19.7-37.52-44.3zm155.42 39.7l-13.4 16.6c1.5.8 3 1.7 4.5 2.6 4.4 2.8 8.7 6.1 12.3 9.8l15.2-18c-2.3-2.7-5.4-5.4-8.9-7.4-3-1.7-6.3-3-9.7-3.6zM208 304.1c-.8 0-1.5 0-2 .1-1 .2-1.5.5-1.7.7l-.5.6-.6.4c-46.9 36-117.06 70.7-173.97 104.3 14.77 4.4 29.83 9.7 44.58 15.6l36.39-30.5L88.37 432c17.03 7.6 33.43 16.2 48.03 25.6l27.3-43.8-12.2 54.2c9 6.7 17 13.8 23.8 21.1 27.2-59.1 63-100.2 67.7-154.8l.1-.6.1-.6c.6-2.3-.2-5.7-3.1-10-3-4.2-7.9-8.7-13.4-12.2-5.4-3.4-11.5-5.8-15.9-6.5-1.1-.2-2-.3-2.8-.3zm111.2.2c9.7 13.1 9.9 25.8-4.7 38.3 17.6-8.2 30.3-7.2 37.8 3.6-1.7-9.4-11.1-16.8 3-30.4-14 4.8-26.1 1.2-36.1-11.5zm56.7 90.8c11.7 17.4 20 29.5 4.1 47.8 23.4-10 29.5 7 41.2 13.8-19.9-26.8-2.6-39.3 14.1-49.5-30.5 12.8-44.4-.3-59.4-12.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicHat;

impl IconShape for MagicHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.549 17.846c-3.562-.026-7.259.705-10.854 2.134-4.878 1.94-9.373 5.046-12.656 9.532 6.996 2.376 13.264 6.947 18.467 12.582 8.439 9.138 15.107 21.278 20.994 34.76 11.774 26.963 20.186 59.569 26.89 82.855l-17.294 10.98c-6.823-23.696-15.204-61.701-26.09-86.632-5.443-12.466-11.573-23.093-17.723-29.752-3.773-4.086-7.169-6.584-10.59-7.766-.062 2.855.173 5.946.768 9.297l34.45 132.986 11.11-7.549c-15.51 20.854-22.763 48.394-17.09 76.33 4.77 1.78 12.532 3.724 22.05 5.254a24.617 24.617 0 0 1-.979-6.857c0-13.7 11.298-24.998 24.998-24.998 13.7 0 24.998 11.298 24.998 24.998 0 3.823-.881 7.457-2.447 10.713 5.974.184 12.04.289 18.129.289 6.945 0 13.898-.13 20.732-.37a24.65 24.65 0 0 1-2.41-10.632c0-13.7 11.298-24.998 24.998-24.998 13.7 0 24.998 11.298 24.998 24.998 0 2.276-.318 4.483-.9 6.586 9.232-1.493 16.887-3.333 21.996-5.149 5.657-28.281-2.24-56.193-18.543-77.134l12.539 8.52 34.45-132.987c.594-3.35.829-6.442.767-9.297-3.421 1.182-6.817 3.68-10.59 7.766-6.15 6.66-12.28 17.286-17.723 29.752-10.886 24.931-19.267 62.936-26.09 86.632l-17.295-10.98c6.705-23.286 15.117-55.892 26.891-82.855 5.887-13.482 12.555-25.622 20.994-34.76 5.203-5.635 11.471-10.206 18.467-12.582-3.283-4.486-7.778-7.591-12.656-9.532-11.504-4.575-24.05-1.999-29.881 9.663l-.291.582-.371.533c-6.573 9.448-13.422 29.492-19.54 51.847-6.116 22.356-11.916 47.202-18.656 68.15L278 148l.121.082a85.277 85.277 0 0 0-22.758-3.084c-6.244 0-12.31.69-18.156 1.97l-11.773 3.788c-6.74-20.949-12.54-45.795-18.657-68.15-6.117-22.356-12.966-42.4-19.539-51.848l-.37-.533-.292-.582c-4.008-8.018-11.191-11.74-19.027-11.797zm-11.494 173.812c-25.225 3.524-47.994 8.295-67.174 14.049-21.113 6.334-37.932 13.888-48.815 21.607-10.882 7.72-15.068 14.798-15.068 20.686s4.186 12.967 15.068 20.686c10.883 7.718 27.702 15.273 48.815 21.607C131.106 302.96 190.455 311.002 256 311.002s124.894-8.042 167.12-20.709c21.112-6.334 37.93-13.888 48.814-21.607 10.882-7.72 15.068-14.798 15.068-20.686s-4.186-12.967-15.068-20.686c-10.883-7.718-27.702-15.273-48.815-21.607-19.18-5.754-41.95-10.525-67.174-14.049l-.898 3.469a114.336 114.336 0 0 1 4.762 13.492c40.753 7.985 64.6 20.218 64.677 33.178-.066 16.233-37.3 31.018-95.76 38.025-4.76.796-9.805 1.495-15.185 2.117-17.736 2.054-38.345 3.06-58.861 3.06-20.517 0-40.905-1.006-58.225-3.063-6.741-.801-12.947-1.686-18.596-2.784-55.497-7.277-90.295-21.665-90.345-37.355.017-12.953 23.78-25.186 64.457-33.184a114.771 114.771 0 0 1 4.857-13.967zm-23.526 127.23l-2.172 30.42c80.14 19.168 162.952 22.654 251.286.005l-2.172-30.424c-36.348 6.451-78.462 10.11-123.471 10.11-45.01 0-87.123-3.659-123.47-10.11zm-3.47 48.6l-7.95 111.293c.94.75 3.18 2.056 6.47 3.309 6.764 2.577 17.598 5.06 30.74 7.008 26.282 3.893 62.014 5.904 97.681 5.904 35.667 0 71.399-2.01 97.682-5.904 13.141-1.947 23.975-4.431 30.74-7.008 3.29-1.253 5.528-2.559 6.469-3.309l-7.946-111.248c-89.153 22.279-173.317 18.837-253.886-.045z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicPotion;

impl IconShape for MagicPotion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M409.248 29.684c3.828 12.413 9.872 22.882 19.256 31.27 10.446 9.34 25.473 16.427 47.517 19.835-8.642-26.622-29.204-43.506-66.772-51.106zm-14.38 13.21c-2.17 7.77-3.924 16.89-6.038 24.815 2.105 13.02 10.736 23.494 20.97 30.718 5.298 3.74 10.93 6.518 15.74 8.176 4.367 1.506 7.928 1.833 9.284 1.798 10.123-4.084 19.774-8.003 27.32-11.963-19.234-4.405-34.26-11.893-45.638-22.067-9.954-8.9-16.9-19.664-21.637-31.48zM359.087 66.98c1.425 19.454 7.056 35.45 18.18 47.17 12.518 13.19 32.85 22.053 65.656 23.135-.76-2.868-1.82-5.89-3.23-9.06-.303-.682-.633-1.37-.965-2.057l-.79.11c-5.922.82-11.746-.41-18.265-2.66-6.52-2.247-13.513-5.733-20.25-10.487-13.235-9.34-25.767-23.95-28.567-43.506-4.077-1.236-8.03-2.127-11.77-2.645zm-17.99.57c-5.79 1.495-10.09 4.375-12.754 8.302-4.722 6.955-4.81 17.894 1.217 31.45 6.024 13.554 18.04 28.607 34.45 40.827 16.41 12.22 33.933 19.162 48.136 20.67 14.204 1.51 24.04-2.167 28.762-9.122.896-1.32 1.622-2.784 2.174-4.38-36.37-1.108-62.263-11.254-78.873-28.755-14.836-15.63-21.543-36.268-23.114-58.99zm-112.367 40.42c-2.578.033-5.56.327-8.615.944-6.11 1.234-12.59 3.6-17.375 6.252-4.785 2.65-7.348 6.072-7.267 5.844l-.008.023-.01.026c-14.557 40.605-22.74 81.154-26.424 119.723.542-.242 1.075-.49 1.618-.73 15.643-6.942 32.042-13.412 48.895-18.987 4.993-36.947 12.116-72.98 17.67-110.75-.047-.224-.078-.57-.164-.668-.142-.156-.71-.64-2.142-1.06-1.433-.42-3.603-.648-6.18-.615zm27.684 11.63c-.792-.003-1.59.005-2.387.01-5.035 33.06-11.004 64.28-15.562 95.648 28.016-7.912 56.962-12.99 85.558-13.307 13.124-.146 26.172.726 39.024 2.766-.228-11.615-.755-23.75-1.584-36.415-2.54-1.658-5.067-3.41-7.568-5.274-14.78-11.005-26.613-23.993-34.71-37.487-18.547-2.153-37.928-5.467-59.02-5.897-1.244-.025-2.494-.04-3.75-.044zm-86.105 20.386c-16.768 8.332-34.632 19.79-53.812 35.375-48.44 39.358-67.29 89.586-68.45 136.283 7.318-5.54 16.118-11.827 26.325-18.603 20.598-13.675 46.584-29.165 75.834-43.457 2.675-35.187 8.91-72.17 20.102-109.598zm209.79 38.518c.546 10.29.91 20.28 1.056 29.924 4.237 1.074 8.445 2.28 12.62 3.648-1.557-10.684-2.98-20.677-3.868-29.697-3.254-1.11-6.53-2.41-9.808-3.874zm-50.864 41.637c-1.795-.017-3.594-.01-5.396.013-49.042.673-100.334 16.134-145.89 36.35-36.446 16.173-69.07 35.233-93.622 51.533-12.276 8.15-22.54 15.613-30.22 21.636-7.452 5.845-12.548 10.57-14.018 12.217-4.238 6.17-7.326 26.743-4.412 41.902 1.473 7.667 4.37 13.902 6.703 16.36 2.055 2.162 2.33 2.648 5.266 1.3 149.357-153.41 299.423-134.323 367.02-134.576.004-.17-.09-.05.006-.48.437-1.952.406-6.08-.447-10.51-.854-4.432-2.404-9.233-4.125-13.097-1.432-3.213-3.003-5.448-3.733-6.385-24.053-11.125-50.198-16.023-77.13-16.265zm29.772 64.052c-36.22.19-79.797 3.29-127.686 18.88.005 37.683 4.587 77.873 17.182 123.456 11.903-2.708 22.84-6.48 32.822-11.395-1.527-2.203-2.997-4.336-4.283-6.235-1.376-2.03-2.566-3.82-3.508-5.295-.942-1.475-1.398-1.8-2.38-4.257l16.712-6.686c-.315-.79-.302-.782-.11-.424.19.358.557 1.068.95 1.684.787 1.232 1.913 2.928 3.236 4.88 1.456 2.15 3.17 4.632 4.97 7.223 7.838-5.41 14.96-11.716 21.376-18.962 11.918-13.463 21.59-30.53 28.872-51.583l-11.77-2.277 3.42-17.672 13.555 2.624c2.72-10.468 4.934-21.78 6.64-33.96zm18.297.11c-1.76 13.298-4.115 25.725-7.073 37.308l12.125 2.346-3.42 17.67-13.806-2.67c-8.043 24.044-19.125 43.952-33.364 60.034-7.39 8.346-15.574 15.56-24.516 21.72 4.183 5.897 7.668 10.782 7.668 10.782l-14.63 10.488s-3.926-5.503-8.542-12.017c-11.684 5.995-24.44 10.53-38.203 13.738 2.102 6.75 4.38 13.617 6.84 20.61 35.275-9.565 69.29-27.967 97.933-53.252 36.618-32.324 44.638-79.417 43.202-126.274-7.524-.14-15.59-.348-24.213-.485zM213.52 309.398c-14.842 5.707-30.04 12.67-45.514 21.163.44 6.155.974 12.196 1.596 18.106 6.714 63.8 24.172 113.214 35.207 130.86.405.22.858.477 1.547.734 1.758.655 4.275 1.378 7.143 1.99 5.735 1.224 12.928 2.02 19.21 1.85 6.284-.17 11.603-1.674 13.202-2.766.8-.546.69-.58.715-.672.026-.09.234-.792-.525-2.85l-.004-.013-.006-.015c-23.465-64.19-31.912-118.596-32.572-168.387zm-62.77 31.225c-26.05 16.06-52.765 36.623-79.75 62.912 6.44 10.74 13.832 19.65 21.664 26.063l.154.125.15.132c25.377 22.736 55.29 35.62 86.716 40.108-2.678-6.23-5.332-13.262-7.9-21.026-8.723-.56-17.685-1.407-26.88-2.53l2.18-17.868c6.55.8 12.936 1.447 19.17 1.956-6.127-22.523-11.352-49.515-14.555-79.947-.345-3.27-.658-6.584-.95-9.927z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicTrident;

impl IconShape for MagicTrident {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.104 17.87l-102.96 205.92c15.477 17.84 29.092 50.475 36.428 112.638 62.163 7.336 94.8 20.95 112.64 36.427l205.92-102.96-159.827 31.966-77.022 25.675-12.137-60.68-60.68-12.138 25.673-77.022zm251.03.995l-244.52 189.63-18.5 36.997 30.33 6.065 6.064 30.326 36.998-18.498zM191.275 275.47l45.257 45.255-12.727 12.726-45.254-45.253zm-38.727 28.827L68.44 388.402l-17.87 60.3 107.535-107.536c-1.566-13.837-3.443-26.08-5.558-36.87zm18.287 49.598L63.297 461.43l60.3-17.87 84.106-84.107c-10.788-2.115-23.032-3.992-36.87-5.558zM41.76 415.085l-23.89 23.89v55.156h55.155l23.89-23.89-78.386 23.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagickTrick;

impl IconShape for MagickTrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313.203 25.94l-.133 24.67-18.12 16.743 24.67.132 16.743 18.12.133-24.67 18.12-16.743-24.67-.132-16.743-18.12zm91.58 50.12L385.47 91.41l-24.4-3.638 15.35 19.313-3.637 24.4 19.313-15.35 24.4 3.637-15.35-19.312 3.637-24.4zM39.87 80.206l-7.116 16.268 7.637 3.34 256 112 8.247 3.607-.1.227.61.266 7.214-16.492-8.243-3.607-44.113-19.298a102.607 43.83 0 0 1 52.088-6.13A102.607 43.83 0 0 1 414.7 214.22a102.607 43.83 0 0 1-102.608 43.83 102.607 43.83 0 0 1-102.608-43.83 102.607 43.83 0 0 1 8.262-17.162l-32.814-14.358c-12.552 5.49-22.514 11.71-29.192 17.96-7.646 7.16-10.802 13.782-10.802 20.134s3.156 12.975 10.802 20.133c7.646 7.158 19.596 14.274 34.81 20.3 30.43 12.047 73.71 19.835 121.542 19.835 47.832 0 91.11-7.788 121.54-19.836 15.215-6.025 27.165-13.14 34.81-20.3 7.647-7.157 10.804-13.78 10.804-20.132 0-6.352-3.157-12.975-10.803-20.133-7.646-7.16-19.596-14.275-34.81-20.3-30.43-12.048-73.71-19.836-121.54-19.836-26.422 0-51.44 2.386-73.683 6.543L48.117 83.813l-8.246-3.607zm204.903 4.31l.077 16.708-12.16 11.46 16.708-.076 11.46 12.16-.075-16.708L272.94 96.6l-16.706.075-11.46-12.16zM215.94 286.592c-.147 15.018-.44 29.74-1.038 44.308 67.544 29.705 126.598 29.746 194.383.113-.6-14.603-.894-29.364-1.043-44.42-27.33 7.925-60.396 12.467-96.15 12.467-35.756 0-68.82-4.54-96.15-12.467zm-2.004 63.467c-.555 8.977-1.254 17.925-2.13 26.877l.555.25c69.454 31.175 129.756 31.177 199.486-.006l.535-.238c-.874-8.92-1.572-17.838-2.126-26.785-66.975 27.646-129.55 27.616-196.318-.097zm200.552 45.595c-70.003 30.062-135.025 30.067-204.793.002-2.287 17.913-5.385 35.95-9.603 54.403 0 48 224 48 224 0-4.218-18.455-7.316-36.49-9.604-54.405z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagnetMan;

impl IconShape for MagnetMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M391 33.2v46h-78.2c.2-14.28.2-29.62.2-46zm-192 0c0 16.38 0 31.72.2 46H121v-46zm192 64v55c0 29.8-11.3 63.9-33.8 90.1-22.5 26.3-55.7 44.9-101.2 44.9s-78.7-18.6-101.2-44.9C132.3 216.1 121 182 121 152.2v-55h78.7c.7 22.8 2.2 42.5 5.5 58.8 3.1 15.8 7.9 28.8 16.3 38.4 8.3 9.5 20.5 14.8 34.5 14.8s26.2-5.3 34.5-14.8c8.4-9.6 13.2-22.6 16.3-38.4 3.3-16.3 4.8-36 5.5-58.8zm-135 16c12.5 0 25.1 1.2 37.3 3.7-.8 13.6-2.1 25.6-4.1 35.5-2.9 14.2-7.1 24.2-12.2 30.1-5.2 6-11 8.7-21 8.7s-15.8-2.7-21-8.7c-5.1-5.9-9.3-15.9-12.2-30.1-2-9.9-3.3-21.9-4.1-35.5 12.2-2.5 24.8-3.7 37.3-3.7zm145.5 85.5c3.5 10.1 5.4 21.1 5.5 32.8l-31.7 158.3c-14.2 42.1-55.5 84.8-110.3 89v-70.6h-18v70.6c-54.8-4.2-96.1-46.9-110.3-89L105 231.5c.1-11.7 2-22.7 5.5-32.8 5.3 16.7 13.5 33.1 24.7 47.9-8.6 36.2-4.7 72.4 6.2 108.3 5.2 16.7 12 31.4 20.1 42.6 8.1 11.1 18 19.7 30.5 19.7 10.2 0 18.8-4.2 25-9.8 6.2-5.6 10.5-12.2 14.5-18.2s7.7-11.4 11.5-14.8c3.8-3.4 7.2-5.2 13-5.2 5.7 0 9.2 1.8 13 5.2 3.8 3.4 7.5 8.8 11.5 14.8s8.3 12.6 14.5 18.2c6.2 5.6 14.8 9.8 25 9.8 12.5 0 22.4-8.6 30.5-19.7 8.1-11.2 14.9-25.9 20.1-42.6 10.5-40 15.2-70.6 6.2-108.3 11.2-14.8 19.4-31.2 24.7-47.9zm18 61.9c8 2.4 16 7.8 19.2 14.8 1.9 4.4 2.7 10.1.6 18.6l-16 64c-3.2 12.5-15 22.5-28.9 27.8zm-327 0l25.1 125.2c-13.9-5.3-25.7-15.3-28.9-27.8l-16-64c-2.1-8.5-1.3-14.2.6-18.6 4.2-8.1 11.3-12.4 19.2-14.8zm269.2 3.2c.9 6.8 1.3 13.8 1.4 20.9-6.8 24.6-26.8 58.8-45.2 70.4-5 3.2-9.6 4.7-13.7 4.8-4 0-7.7-1.1-12.2-4.7-7.8-6.5-17.1-22.1-24.6-50.4 7.5-.5 14.7-1.5 21.7-2.9-.7 3.2-1.1 6.8-1.1 10.3 0 14.4 5.8 26 13 26s13-11.6 13-26c0-6-1.1-11.9-3-16.5 19.9-7.3 36.8-18.4 50.7-31.9zm-211.4 0c13.9 13.4 30.8 24.6 50.7 31.9-1.9 4.6-3 10.5-3 16.5 0 14.4 5.8 26 13 26s13-11.6 13-26c0-3.5-.4-7.1-1.1-10.3 7 1.4 14.2 2.4 21.7 2.9-7.5 28.3-16.8 43.9-24.6 50.4-4.5 3.6-8.2 4.7-12.3 4.7-4-.1-8.6-1.6-13.6-4.8-18.4-11.5-38.3-45.5-45.2-70 0-7.3.5-14.5 1.4-21.3zM256 329.5c3.3 9.2 6.9 16.9 10.9 23.4-3.4-1.1-7-1.7-10.9-1.7-3.9 0-7.5.6-10.9 1.7 4-6.5 7.6-14.2 10.9-23.4zm99.3 13.4c-.6 2.2-1.2 4.4-1.9 6.6-4.8 15.3-11 28.6-17.4 37.4-6.4 8.9-12.5 12.3-16 12.3-5.7 0-9.2-1.8-13-5.2-3.8-3.4-7.5-8.8-11.5-14.8-.7-1-1.3-2-2-3 3.6 1.2 7.3 1.7 11 1.7 8.2-.2 16-3.1 23-7.5 10.4-6.6 19.8-16.3 27.8-27.5zm-198.6.1c8 11.2 17.4 20.9 27.8 27.4 7 4.4 14.7 7.3 22.9 7.5 3.7 0 7.5-.5 11.1-1.7-.6 1-1.3 2-2 3-4 6-7.7 11.4-11.5 14.8-3.8 3.4-7.2 5.2-13 5.2-3.5 0-9.6-3.4-16-12.3-6.4-8.8-12.6-22.1-17.4-37.4-.7-2.1-1.3-4.3-1.9-6.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mailbox;

impl IconShape for Mailbox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.4 17.744l-78 25.998V265.73l14-3.5V94.64l64-20zM433.3 126.31L329.4 152.282v124l-38.815 9.703-11.184 2.797v-124L207.29 182.81c5.175 3.946 9.705 8.82 13.513 14.323 10.15 14.657 16.29 33.678 20.427 54.357 7.38 36.9 8.056 78.79 8.125 110.252l238.012-59.504c-.043-31.71-.572-75.13-7.79-111.217-3.863-19.32-9.72-36.3-17.573-47.64-7.664-11.072-16.21-16.8-28.702-17.07zM176.4 190.255c-13.374 0-22.212 5.21-29.91 15.047-7.7 9.838-13.472 24.664-17.304 41.906-.835 3.755-1.572 7.622-2.236 11.558l93.107-18.622v-.002c-.45-1.635-.92-3.243-1.406-4.822-.48-1.562-.975-3.094-1.487-4.595l-.016-.05c-.013-.04-.028-.076-.04-.115-.478-1.393-.973-2.756-1.48-4.093l-.15-.402c-.522-1.366-1.055-2.705-1.607-4.008-.046-.108-.095-.212-.14-.32-.502-1.172-1.018-2.313-1.544-3.43l-.39-.826c-.17-.353-.34-.705-.514-1.052-.284-.57-.572-1.134-.863-1.688-.087-.162-.17-.33-.255-.49-.392-.734-.792-1.448-1.196-2.15-.12-.208-.24-.41-.36-.614-.305-.52-.614-1.032-.926-1.533-.128-.206-.257-.412-.386-.615-.427-.67-.858-1.328-1.297-1.963-7.852-11.344-16.6-17.124-29.6-17.124zm26.298 71.72l-87.723 17.544 43.862 14.933zm23.025 5.346l-63.758 47.21L89.4 289.827v68.332l141.607-24.414c-.562-21.47-1.945-44.85-5.284-66.422zm5.56 84.637l-37.273 6.427 37.338 4.668c-.01-3.564-.03-7.294-.064-11.096zm128.118.823l-30 7.5v133.973h30zm-226.378 16.12l-61.62 10.626v-6.612c-14.426 4.543-27.058 10.895-35.476 17.44-7.943 6.18-11.202 12.364-11.28 14.482-.04 1.06-.01 1.492 1.292 2.853 1.25 1.307 4.112 3.166 8.813 4.81 79.575 13.055 124.014-7.656 175.34-33.966z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Male;

impl IconShape for Male {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.563 65.656v40h85.156l-81.658 82.656-12.937 13.125c-9.054-6.765-18.936-12.412-29.406-16.75-16.478-6.825-34.23-10.343-52.064-10.343-17.835 0-35.553 3.52-52.03 10.344-16.48 6.824-31.514 16.858-44.126 29.468-12.613 12.612-22.643 27.647-29.47 44.125-6.825 16.48-10.373 34.228-10.374 52.064 0 17.836 3.52 35.553 10.344 52.03 6.825 16.48 16.888 31.514 29.5 44.126 12.612 12.612 27.647 22.643 44.125 29.47 16.478 6.824 34.195 10.374 52.03 10.374 17.837 0 35.586-3.55 52.064-10.375 16.477-6.827 31.512-16.857 44.124-29.47 12.61-12.612 22.644-27.647 29.47-44.125 6.823-16.478 10.343-34.196 10.342-52.03 0-17.836-3.518-35.587-10.344-52.064-4.183-10.098-9.583-19.646-16.03-28.436l13.218-13.406 81.844-82.875v85.875h40V65.656H292.562zm-90.907 148.688c12.533 0 25.17 2.516 36.75 7.312 11.58 4.797 22.263 11.95 31.125 20.813 8.863 8.86 16.017 19.545 20.814 31.124 4.796 11.58 7.312 24.217 7.312 36.75 0 12.533-2.517 25.14-7.312 36.72-4.796 11.577-11.92 22.292-20.78 31.155-8.864 8.862-19.578 16.014-31.158 20.81-11.58 4.798-24.216 7.313-36.75 7.314-12.533 0-25.14-2.516-36.72-7.313-11.578-4.795-22.292-11.95-31.155-20.81-8.86-8.864-16.015-19.578-20.81-31.158-4.798-11.58-7.314-24.185-7.314-36.718 0-12.534 2.516-25.17 7.313-36.75l.093-.22c4.796-11.494 11.91-22.13 20.718-30.937 8.808-8.805 19.444-15.892 30.94-20.687l.218-.094c11.58-4.795 24.185-7.313 36.718-7.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mammoth;

impl IconShape for Mammoth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M337.2 56.85c2.6 4.01 5 10.08 9.6 14.39-6 14.4-22.9 25.94-42.7 25.66l16.1 15.6 25.9-14.9 20.3 17 19.4-9.5 19.6 7.5L419.6 98c-20.7-7-20.6-23.84-28.8-36.5-1.6-2.43-5.2-3.51-9.8-3.59-7.6-.14-18 2.48-26.1 6.27-7-2.17-10.1-5.32-17.7-7.33zM299.8 112c-23.3 14.8-47.7 29.3-74 28.8-16.4-7.3-39.8-12.2-66.8-15.9 3.5 5.1 4.6 10.5 4.4 16.2-1.3.1-2.6.1-3.9.2-11.5-3.3-27-4.9-50.4-2.9 6.3 1.9 11.8 4 15.4 6.8-34.78 6.1-72.74 15-87.27 47.8-4.11 9.3-6.83 18.8-8.6 28.4l-9.09 25.7 6.61-4.5c-.98 16.6 0 33.6.86 50.6l-6.43 35 7.44-11.9c.24 8.8.23 17.6-.33 26.3l21.74-56.2 11.13 71.5c1.66 11.9-3.98 22.2-7.88 33.2l7.69-.6-.1 10.5-10.02 30.7 9.86-4.7-.12 22.6c18.75 13.3 39.44 10.7 61.01.7l7.3-100.7c4.9-10.8 11.1-21.3 16.5-30.4 5.8-10 10.6-19.8 11.4-25.1l17.8 2.8c-3.4 13.9-9.6 24.8-16.1 35.5 23.5-1.2 44.8-5.7 64.1-13.9-.8-6.9-3.2-15.1-3.6-21l18-1.2c1.1 6.7 3.1 18.5 4.5 26 2.7 15.2 6.3 35.1 9.9 54.8 6.6 36.7 12.8 70.2 13.7 75.1 21 8.4 45.2 6.2 60.1 1.9l-2.9-55.5 7.2 3.6-7.9-15.9-.2-3.6 8.1 6-9.8-38.6-.2-3.9 9 2.2-10.7-35.7-1.1-20.5c12.9-4.1 25.1-8.3 37-12.8-2.3-2.5-4.6-5.1-6.8-7.9-9.3-11.3-14.4-26.5-12.3-40.6 1.1-7.1 4.1-15.4 11.5-18.5 9.1-3.8 24.1-7.4 30.4 1.7 22.6 31.9 40.5 45.2 51.4 47.8 5.5 1.3 9.3.6 13.3-1.7 14.3-10.4 14.5-15.1 14-32.2-7.2-18.7-12.9-37.7-18.6-56.7l14.3 2.9c-7.5-9-16.3-14.5-22-27.9-2.5-7.8-5.1-15.6-7.9-23.4l-6 12.5-27.8-10.7-22.8 11.3-19.7-16.5-31.5 18.2zm82.5 58.8l26.8 15.4c-3.4 3.8-6.6 7.9-15.3 6-9.3-2.1-12-13-11.5-21.4zm107.1 16c-3.4 24-9.8 51-21.7 70.3-4.8 7.8-10.6 14.4-18.2 18.7-7.5 4.4-16.9 5.9-26.3 3.6-18.4-4.3-37.1-20.6-59.8-52-6.5-1.5-10.8.9-11.6 6.2-1 6.9 2.6 19.4 8.4 26.5h.1c20.9 25.7 41.6 36.7 59.7 38.6 18.1 1.9 34.4-5.1 47.3-18.4 20-20.5 30.9-56 22.1-93.5zm-39.9 126c-9.8 3.5-20.4 4.9-31.4 3.8-2.5-.3-5.1-.7-7.6-1.2-1.5 17-5.5 33.2-14.4 42.3-11.1 11.4-47.3 6.7-47.3 6.7-10.9-2.5-11.4 52.2 12.5 43.3 0 0 51.2-14.6 66.3-33.5 3.8-4.8 7.2-10.7 10-17.3l3.2 10.3.7-20.6c.9-2.8 1.8-5.8 2.6-8.7l7 9.2zm-224.3 23.5l-6.6 1.8-1 113.4c9.8 5.5 19.1 3.6 28.2-.7-1.7-9.8-6.8-37.4-12.7-70.5-2.8-15.5-5.5-30.5-7.9-44zm-36.7 9.1c-13 .9-44.9 6.6-46.3 10.1l-1.8 95.3c18.2 10.1 35.7 5.3 53.2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MandrillHead;

impl IconShape for MandrillHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M302.951 28.648C354.504 92.302 434.576 174.338 439 256c-10.827 48.475-41.014 84.049-72.533 115.389-12.215-9.303-24.189-17.186-36.016-23.618 3.27-19.799 5.635-41.41 5.635-58.99 0-11.2-4.564-24.588-13.6-36.726 7.288-8.878 13.928-19.548 19.313-30.315 7.022-14.04 12.058-27.674 12.058-39.558 0-2.597-.285-5.235-.818-7.87a1074.97 1074.97 0 0 0 17.807-5.773l-5.692-17.078a1271.888 1271.888 0 0 1-19.199 6.24 50.908 50.908 0 0 0-8.963-10.01c-16.316-10.968-30.492-13.979-47.63-9.773-19.383 4.844-26.372 7.266-33.362 7.266-6.99 0-13.98-2.422-33.361-7.266-17.14-4.206-31.315-1.195-47.631 9.773a50.908 50.908 0 0 0-8.963 10.01 1271.888 1271.888 0 0 1-19.2-6.24l-5.69 17.078a1074.97 1074.97 0 0 0 17.806 5.774c-.533 2.634-.818 5.272-.818 7.869 0 11.884 5.036 25.518 12.058 39.558 5.385 10.767 12.025 21.437 19.313 30.315-9.036 12.138-13.6 25.526-13.6 36.726 0 17.58 2.365 39.191 5.635 58.99-11.827 6.432-23.8 14.315-36.016 23.618C114.013 340.049 83.827 304.475 73 256c4.424-81.662 84.496-163.698 136.049-227.352C224 16 288 16 302.95 28.648zm.451 126.202c9.426.074 17.925 2.2 23.936 8.482-27.794 7.978-49.566 11.967-71.338 11.967-21.772 0-43.544-3.99-71.338-11.967 6.011-6.283 14.51-8.408 23.936-8.482 3.142-.025 6.387.178 9.677.53 19.169 4.792 28.447 7.186 37.725 7.186 9.278 0 18.556-2.394 37.725-7.185 3.29-.353 6.535-.556 9.677-.531zm32.229 24.697c.103 12.155-5.565 25.276-9.93 34.142-4.496 8.99-10.167 18.015-15.889 25.313-7.056-4.723-13.6-8.61-20.517-12.39.742.062 1.49.103 2.248.103 14.677 0 26.771-12.088 26.771-26.766 0-5.406-1.646-10.458-4.453-14.687 6.947-1.635 14.173-3.54 21.77-5.715zm-159.262 0c7.597 2.175 14.823 4.08 21.77 5.715-2.807 4.23-4.453 9.28-4.453 14.687 0 14.678 12.094 26.766 26.771 26.766.758 0 1.506-.04 2.248-.104-6.917 3.781-13.461 7.668-20.518 12.39-5.72-7.297-11.392-16.321-15.888-25.312-4.365-8.866-10.033-21.987-9.93-34.142zm115.174 11.635c4.952 0 8.771 3.82 8.771 8.767 0 4.947-3.819 8.766-8.771 8.766-4.952 0-8.772-3.819-8.772-8.766s3.82-8.767 8.772-8.767zm-71.086 0c4.952 0 8.772 3.82 8.772 8.767 0 4.947-3.82 8.766-8.772 8.766s-8.771-3.819-8.771-8.766 3.819-8.767 8.771-8.767zm45.414 1.242a26.375 26.375 0 0 0-1.1 7.525c0 8.125 3.71 15.45 9.508 20.377-6.023-1.786-12.12-2.728-18.279-2.728-6.16 0-12.256.942-18.28 2.728 5.799-4.927 9.509-12.252 9.509-20.377 0-2.609-.39-5.133-1.1-7.525a207.959 207.959 0 0 0 19.742 0zM256 235.598c2.895 0 5.819.292 8.771.869v83.842a69.806 69.806 0 0 0-17.542 0v-83.842a45.634 45.634 0 0 1 8.771-.87zm26.771 9.896a38.752 38.752 0 0 1 11.49 4.541l-5.6 78.422a54.392 54.392 0 0 0-5.89-3.113zm-53.542 0v79.85a54.392 54.392 0 0 0-5.89 3.113l-5.6-78.422a38.752 38.752 0 0 1 11.49-4.54zm81.832 21.973c4.693 8.087 7.025 16.686 7.025 21.314-.923 21.33-2.874 42.433-6.211 60.9l-6.242-6.24zm-110.122 0l5.428 75.974-6.242 6.24c-3.337-18.467-5.288-39.57-6.21-60.9 0-4.628 2.33-13.227 7.024-21.314zM256 337.756c7.572 0 15.029 1.76 21.166 4.943L256 361.215l-21.166-18.516c6.137-3.182 13.594-4.943 21.166-4.943zm35.133 16.64l8.388 8.387c-8.12 12.426-29.27 23.26-43.521 23.598-14.25-.339-35.401-11.172-43.521-23.598l8.388-8.387L256 385.13zm35.91 12.084c7.275 4.228 14.696 9.088 22.305 14.61-20.898 42.104-53.074 86.889-93.348 110.596-40.274-23.707-72.45-68.492-93.348-110.596 7.61-5.522 15.03-10.382 22.305-14.61 3.965 19.353 8.713 45.104 25.658 60.53 10.806 8.102 26.114 12.904 45.385 12.904 19.271 0 34.579-4.802 45.385-12.904 16.945-15.426 21.693-41.177 25.658-60.53zm-30.346 23.793c6.049 9.614.525 17.224-6.111 22.336-6.966 5.223-18.314 9.305-34.586 9.305s-27.62-4.082-34.586-9.305c-6.636-5.112-12.16-12.722-6.111-22.336 11.373 7.37 25.073 12.343 40.697 14.108 15.624-1.765 29.324-6.738 40.697-14.108z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MantaRay;

impl IconShape for MantaRay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.732 21.732C115.44 146.675 131.057 256.001 115.44 334.09c16.476 5.492 27.146 9.056 34.75 13.402-4.53 1.401-9.472 3.01-14.605 4.815-20.447 7.19-43.892 16.797-57.791 31.25-14.689 15.274-23.998 40.669-30.81 62.767-6.813 22.099-1.635 42.635-1.635 42.635s12.333-16.25 18.834-37.334c6.5-21.085 16.658-45.272 26.584-55.594 9.135-9.5 31.343-19.908 50.789-26.746 8.692-3.056 16.722-5.493 23.058-7.295 4.299 7.593 7.85 18.227 13.297 34.57 78.09-15.617 187.415 0 312.358 93.708C474.65 443.414 459.03 365.324 412.178 256c-9.776-29.327-13.43-52.534-10.969-69.623 15.121-2.598 24.97-12.368 31.266-22.035 6.821-10.474 11.285-20.903 17.302-26.92l-12.726-12.727c-9.6 9.6-14.16 21.383-19.658 29.825-1.928 2.959-3.753 5.487-5.8 7.578-46.029-15.344-46.347-15.662-61.69-61.692 2.09-2.046 4.618-3.871 7.577-5.799 8.442-5.498 20.224-10.057 29.825-19.658l-12.727-12.726c-6.017 6.017-16.446 10.48-26.92 17.302-9.667 6.297-19.437 16.145-22.035 31.266-17.09 2.462-40.296-1.193-69.623-10.969C146.676 52.97 68.586 37.35 21.732 21.732zM215.766 131.06h17.998c0 14.741 2.215 26.782 6.447 35.652 4.232 8.87 10.13 14.748 19.22 18.498l-6.863 16.639c-13.023-5.373-22.744-15.11-28.601-27.387-5.858-12.276-8.201-26.909-8.201-43.402zm-41.553 2.51l17.967 1.052c-.767 13.08 2.013 31.07 9.017 47.291 7.005 16.22 18.026 30.535 33.139 38.285l-8.211 16.016c-19.896-10.202-33.258-28.194-41.451-47.166-8.193-18.973-11.424-39.062-10.461-55.479zm152.578 119c3.75 9.09 9.628 14.988 18.498 19.22 8.87 4.232 20.91 6.447 35.652 6.447v17.998c-16.493 0-31.126-2.343-43.402-8.2-12.276-5.858-22.014-15.579-27.387-28.602l16.639-6.864zm-34.988 25.095c7.75 15.113 22.064 26.134 38.285 33.139 16.22 7.004 34.211 9.784 47.29 9.017l1.054 17.967c-16.417.963-36.506-2.268-55.479-10.46-18.972-8.194-36.964-21.556-47.166-41.452l16.016-8.21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ManualJuicer;

impl IconShape for ManualJuicer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-61 0-106.483 30.34-137.273 64.979-15.396 17.32-26.987 35.685-34.63 51.447-4.366 9.006-7.222 17.143-8.992 23.595 111.413-18.394 248.612-18.916 361.784-.021-1.77-6.45-4.625-14.578-8.987-23.574-7.642-15.762-19.233-34.128-34.629-51.447C362.483 55.339 317 25 256 25zm41.842 59.068l31.254 1.405-.809 17.982-31.254-1.404.809-17.983zM188.484 89.01l1.588 17.93-39.681 3.511-1.588-17.93 39.681-3.511zm56.842 26.304l59.697 1.407-.423 17.994-59.698-1.404.424-17.997zm111.865 5.385l25.635 4.215-2.92 17.762-25.635-4.215 2.92-17.762zm-197.902 1.676l1.686 17.922-41.086 3.863-1.686-17.922 41.086-3.863zM247 210.963c-17.508 16.406-35.214 41.12-49.047 67.248-15.24 28.787-25.845 59.462-28.369 80.789H247V210.963zm18 0V359h77.416c-2.524-21.327-13.129-52.002-28.37-80.79-13.832-26.127-31.538-50.841-49.046-67.247zm-43.445.115c-21.035 10.717-44.265 29.134-65.012 51.102-29.165 30.88-53.805 68.425-64.287 96.82h59.178c2.341-25.784 14.136-58.088 30.613-89.21 11.295-21.336 24.743-41.923 39.508-58.712zm68.89 0c14.765 16.789 28.213 37.376 39.508 58.711 16.477 31.123 28.272 63.427 30.613 89.211h59.178c-10.482-28.395-35.122-65.94-64.287-96.82-20.747-21.968-43.977-40.385-65.012-51.102zM13.486 377.062l9.96 29.875h358.173a104.33 104.33 0 0 0-6.05-22.203c-13.173 4.197-26.5 7.203-35.29 6.004-22.146-3.021-37.867-8.74-48.033-13.675H13.486zm402.946 0c-3.86 9.583-6.83 19.808-8.215 29.875h80.338l9.959-29.875h-82.082zM41.199 425c.145 12.594.633 24.65 3.455 34.527 3.35 11.721 9.076 20.655 21.674 27.473h379.344c12.598-6.818 18.325-15.752 21.674-27.473 2.822-9.877 3.31-21.933 3.455-34.527h-63.219c.529 6.554 1.98 12.792 4.572 18.45 7.75 16.911-.351 29.644-13.117 29.642-11.861-.003-24.832-6.477-18.726-30.26 1.454-5.664 2.263-11.666 2.457-17.832H41.199z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ManualMeatGrinder;

impl IconShape for ManualMeatGrinder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201.9 25c2.2 13.46 8.5 32.11 16.3 49.28 9.7 21.4 22.3 41.52 28.2 47.32 14.9 15 28.6 21.4 41.6 21.4s26.7-6.4 41.6-21.4c5.9-5.8 18.5-25.92 28.2-47.32 7.8-17.17 14.1-35.82 16.3-49.28H201.9zM457 115v154h30V115h-30zm-18 12.4l-93.8 3.9c-.9 1.1-1.9 2.2-2.8 3.1-17.1 17-35.4 26.6-54.4 26.6-18.4 0-36.2-9.1-52.9-25.2l-18.1.8v110.8l222 9.2V201h-87v-18h87v-55.6zM185 169v62h14v-62h-14zm-52.1 16l-10.1 15.5 9.9 14.5H167v-30h-34.1zm10.1 48v168.2l18 4.5V233h-18zm90 33v166.1c0 4.9 2.8 11 7.4 15.5 4.5 4.6 10.6 7.4 15.6 7.4h87v-62h-30v32h-50V267.3l-30-1.3zm80 3.4v26.4h30v-25.2l-30-1.2zm0 91.6v14h30v-14h-30zm-209 49c-16.01 0-38.93.2-57.23 3.8-9.33 1.9-17.3 4.7-22.15 8.1C19.78 425.3 18 428 18 433s1.78 7.7 6.62 11.1c4.85 3.4 12.82 6.2 22.15 8.1 18.3 3.6 41.22 3.8 57.23 3.8l56-14v-18l-56-14zm213.7 63l-14 14h52.6l-14-14h-24.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ManualWaterPump;

impl IconShape for ManualWaterPump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.988 31.375c-6.982 0-12.117 5.154-12.117 11.324s5.135 11.322 12.117 11.322c6.983 0 12.12-5.152 12.12-11.322 0-6.17-5.137-11.324-12.12-11.324zm-29.71 6.52c-35.014 5.168-60.463 15.37-78.493 29.45 5.212 2.128 9.722 5.65 12.994 10.098 15.216-10.926 36.743-19.218 67.326-23.697a28.32 28.32 0 0 1-2.234-11.047c0-1.638.139-3.242.406-4.804zM265 70.66a30.451 30.451 0 0 1-9.012 1.361A30.45 30.45 0 0 1 247 70.668V119h18V70.66zM136.266 83.086c-6.983 0-12.12 5.154-12.12 11.324s5.137 11.322 12.12 11.322c6.982 0 12.117-5.152 12.117-11.322 0-6.17-5.135-11.324-12.117-11.324zm26.945 24.375c-2.807 5.437-7.3 9.904-12.762 12.773l34.686 29.575-2.586-25.86-19.338-16.488zm-48.14 7.707c-8.413 26.745-7.183 57.018-4.553 87.209 3.439 39.481 9.365 79.42 3.044 111.687-6.32 32.268-23.047 57.116-69.396 71.141l4.635 15.315c50.645-15.326 73.327-46.954 80.463-83.381 7.135-36.428.568-77.404-2.807-116.15-2.476-28.422-3.184-55.321 3.086-78.005a30.562 30.562 0 0 1-14.473-7.816zM201.944 137l14.2 142h79.71l14.2-142h-108.11zm119.8 64-3 30H368c19.144 0 42.13 13.646 55.734 38.566l24.5-16.56c-7.724-15.04-15.357-26.666-24.326-34.809-10.26-9.316-22.374-14.9-40.64-17.197h-61.524zM233 297v126h46V297h-46zm215 7c-16 16-32 48-32 64 0 32 64 32 64 0 0-16-16-48-32-64zM226.725 441 185 468.816V487h142v-18.184L285.275 441h-58.55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Maracas;

impl IconShape for Maracas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M91.56 31.29c-5.95.08-12.02 1.34-18.35 4.04-12.65 5.39-20.44 14.03-25.61 25.25-5.17 11.21-7.36 25.08-7.39 39.42-.1 28.8 8.69 59.4 14.38 72.7 6.83 16 18.02 32.2 31.05 46.5l111.66-47.6c-1.3-19.4-5.2-38.6-12.1-54.7-5.6-13.3-21.7-40.8-42.4-60.63-10.4-9.91-21.9-17.92-33.6-21.95-5.8-2.02-11.69-3.13-17.64-3.03zM420.7 107c-11 .1-23 2.8-34.8 7.2-26.9 10.1-52.4 29.1-62.9 39.2-12.5 12-23.7 28.2-32.5 45.5l84 87.6c17.7-8.1 34.3-18.5 46.9-30.6 10.4-10.1 30.5-34.8 41.7-61.2 5.6-13.2 9-26.8 8.7-39.2-.4-12.3-4.2-23.3-13.7-33.3-9.5-9.9-20.3-14.1-32.7-15-1.5-.1-3.1-.2-4.7-.2zm-222.9 84l-98.52 42c3.92 3.6 7.82 7 11.82 10.2l85.9-36.7c.5-5.1.8-10.3.8-15.5zm84.7 25.5c-2 4.9-3.8 9.8-5.4 14.6l64.6 67.5c4.9-1.4 9.9-3 14.9-4.8zM194 227.4l-65.7 28c7.8 4.9 15.3 8.8 22 11.2 10.5 3.9 18.7 4.1 22.6 2.4 3.9-1.7 9.4-7.7 13.9-17.9 2.9-6.6 5.3-14.7 7.2-23.7zm77.7 24.1c-1.8 9-2.8 17.4-2.7 24.6.1 11.2 2.8 18.9 5.8 22 2.9 3 10.5 6.1 21.7 6.6 7.1.4 15.6-.2 24.6-1.6zm-75.6 20c-4.3 6.3-9.6 11.3-16.2 14.1-6.6 2.8-13.8 3.2-21.3 1.9 8.1 15.6 16.8 32.1 25.6 50.4 9.2-9.1 17.6-18 25.6-26.6-5-14-9.4-27.2-13.7-39.8zm56.3 19.7c-33.1 36.9-70.6 80.5-138.9 129.7-14.13 13.7-11.2 26.7-3.3 35 7.9 8.2 20.8 11.6 35.1-1.9 52-66.2 97.2-101.8 135.5-133.3-7.5-1.8-14-5-19-10.2-5-5.2-7.9-11.8-9.4-19.3zm-14.2 89.3c-8.4 7.6-16.9 15.7-25.7 24.5 6.3 17.6 12.5 36.8 18.2 58.2 7.9 18.1 21.2 20 31.7 15.5s18.2-15.3 10.6-33.5c-14.1-23.2-25.4-44.7-34.8-64.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MarbleTap;

impl IconShape for MarbleTap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.3 70.94C202.7 125.7 156 165.3 123.2 223.3l-15.6-8.8c3.4-6.1 7-12 10.7-17.7-21.47 1.2-42.56 3.5-58.36 7.6-20.2 11.6-31.89 29.1-42.36 49.6v213.9c63.72-19.4 125.92-44 181.32-53.9 19.7-8.5 39.7-14.7 55.6-24.6 14.4-18.6 21.6-43.1 24.7-61.8-1.9-.7-5.2-1.3-9.2-1.2-7.8.3-18 3.2-26.8 10.2-7.6 5.1-14.4 18.3-22.8 21.1-30.1 6.7-57.7 9.9-85 5-11.1-30.2-13.9-68 0-94.3 54.2-38.7 124.1-137.2 168.7-195.78-6.5-20.28-28.6-8.48-36.8-1.68zm-84.9-.4C142.2 106.4 120 141.1 90.22 180.9c13.38-1.5 27.38-2.4 41.08-2.8 25.2-28.7 44-52.8 66.9-84.54 0-11.53-6.2-19.04-15.8-23.02zm116.2 70.26L265 153.2c-8.9 11.5-17.9 22.7-27.1 34.1 4.6 1.6 9.4 3.1 13.3 4.5 19.9-9.4 39.4-19.5 59.3-28.8 6.7-2.3 9.9-9.9 8.8-15.2-3.1-9.1-13-8.2-20.7-7zm-72.9 61.3c-12.6 15.1-25.9 30.6-40.6 47 19.8 2.3 33.5.7 51.8-.9-.1 12.1-2.1 25.2-.7 36.3.8 6.3 2.9 11.7 8.1 19.3 8.6 4.8 17.9 3.8 26.7 1.2 2.1-15.4 4.6-31.9 4.6-46.9 0-16.8-3.1-31-11.3-40-2.4-2.5-9.5-6-19.2-9.4-5.8-2-12.5-4.2-19.4-6.6zM352 249c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Marbles;

impl IconShape for Marbles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.06 172.176c-67.24 0-121.943 54.7-121.943 121.94S100.82 416.058 168.06 416.058c30.25 0 57.962-11.08 79.3-29.386-2.293-6.27-4.08-12.784-5.32-19.485-18.83 19.065-44.995 30.87-73.98 30.87-22.815 0-43.88-7.312-61-19.716 27.834 4.814 73.39 10.32 98.645.48 11.155-4.346 23.33-14.317 34.578-25.62-.184-2.73-.285-5.485-.285-8.263 0-16.365 3.25-31.983 9.123-46.256-21.226 20.275-49.207 43.894-71.65 51.906-26.097 9.316-76.967 3.676-96.025 1.09-8.796-13.23-14.635-28.602-16.593-45.182 17.335-3.294 53.808-10.013 74.972-12.38 28.105-3.143 60.837 10.417 84.705-4.75 14.41-9.16 25.482-38.016 30.31-52.555 6.01 9.1 10.62 19.205 13.543 30.015 4.347-5.198 9.116-10.03 14.258-14.44-17.077-46.75-61.993-80.21-114.58-80.21v-.002zm0 18c23.778 0 45.656 7.943 63.147 21.318-4.465 16.817-14.462 46.984-30.303 54.39-24.788 11.588-53.316-25.293-79.904-18.825-23.882 5.807-40.093 27.904-56.88 46.827.122-57.405 46.505-103.71 103.94-103.71zM361.94 241c-7.227 0-14.278.736-21.085 2.13 1.372 8.875 3.195 21.44 4.88 35.89 3.145 26.965 5.8 59.057 3.076 82.04-1.855 15.656-8.527 35.703-14.693 52.483-4.735 12.888-9.166 23.55-10.996 27.873 11.99 4.814 25.09 7.467 38.82 7.467 6.415 0 12.69-.58 18.777-1.686 4.906-16.186 14.49-50.886 13.226-71.197-1.047-16.833-19.873-31.586-16-48 5.268-22.31 39.43-47.627 55.56-58.52-18.62-17.66-43.798-28.48-71.56-28.48h-.004zm-38.495 7.334c-5.635 2.24-11.025 4.96-16.123 8.11.75 17.962 2.2 61.956-.424 88.443-2.483 25.083-12.448 66.07-15.12 76.814 4.704 4.3 9.807 8.172 15.245 11.556 1.973-4.694 5.937-14.32 10.2-25.92 5.975-16.26 12.268-36.212 13.713-48.397 2.313-19.514.002-51.422-3.08-77.835-1.49-12.778-3.12-24.257-4.41-32.77zm-33.71 21.77C270.158 288.994 258 315.514 258 344.94c0 22.48 7.092 43.264 19.166 60.246 4.123-17.823 10.2-45.726 11.818-62.073 1.874-18.918 1.378-51.442.752-73.01h-.002zm162.052 22.462c-6.606 14.014-16.406 36.63-18.34 51.434-2.54 19.446 3.155 53.058 6.41 69.813 16.2-18.325 26.026-42.423 26.026-68.872 0-19.114-5.135-37.004-14.096-52.374z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MarsCuriosity;

impl IconShape for MarsCuriosity {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M114.512 23.132l-45.358 7.666 2.334 13.806 45.358-7.666zM406 26.868v46h16.844c-6.053-5.835-9.844-14.004-9.844-23s3.79-17.165 9.844-23zm61.156 0c6.053 5.835 9.844 14.004 9.844 23s-3.79 17.165-9.844 23H484v-46zM445 35.866c-7.84 0-14.002 6.163-14.002 14.002 0 7.84 6.162 14.002 14.002 14.002 7.84 0 14.002-6.162 14.002-14.002 0-7.84-6.162-14.002-14.002-14.002zm-144 7.002c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zM129.982 52.972l-23.377 3.95 58.735 48.944c2.017-5.88 6.181-10.805 11.539-13.814zm146.305.652l-71.555 40.889c4.712 3.846 8.021 9.36 8.98 15.6l71.556-40.891c-4.711-3.847-8.021-9.358-8.98-15.598zm43.877 12.209c-3.9 4.662-9.45 7.903-15.709 8.787l61.25 110.248h20.59zm110.11 25.035v94h30.001v-94zM90.1 95.118l-29.73 56.795c3.613-.362 7.476-.824 11.564-1.527 7.002-1.205 14.192-3.023 19.73-5.418 5.539-2.395 9.002-5.344 10.15-7.537 1.148-2.193 1.598-6.719.41-12.635-1.187-5.916-3.79-12.862-6.79-19.303-1.752-3.76-3.572-7.199-5.334-10.375zm98.9 11.75c-3.973 0-7 3.027-7 7s3.027 7 7 7 7-3.027 7-7-3.027-7-7-7zM102 160a67.11 67.11 0 0 1-3.191 1.488c-4.741 2.05-9.776 3.597-14.809 4.801v18.58h18zm129.34 26.87v93.888c5.215-1.056 11.363-.857 16.002.35v-94.239zm-209.34 16v14h78v-14zm96 0v14h95.342v-14zm147.34 0v14h42.488v-14zm60.486 0v14H484v-14zM22 234.868v33.437l78 39v-72.438zm96 0v78h71.035l19.567-13.884a33.532 33.532 0 0 1 4.74-7.29v-56.827zm147.34 0v58.577a33.29 33.29 0 0 1 4.97 9.637l13.897 9.785h23.621v-78zm60.486 0v78H484v-78h-30v64h-98v-64zm-87.185 63.06c-8.538 0-15.264 6.728-15.264 15.265 0 8.538 6.726 15.266 15.264 15.266 8.537 0 15.265-6.728 15.265-15.266 0-8.537-6.728-15.265-15.265-15.265zm-31.944 24.476l-113.47 80.516a57.635 57.635 0 0 1 12.01 11.1l109.552-77.735a33.403 33.403 0 0 1-8.092-13.88zm63.114 2.34a33.552 33.552 0 0 1-9.041 13.203l66.4 46.762c1.838-5.158 5.135-9.645 9.389-12.957zm84.072 59.02c-5.819 0-10.342 4.523-10.342 10.341 0 5.819 4.523 10.342 10.342 10.342 5.818 0 10.342-4.523 10.342-10.342 0-5.818-4.524-10.341-10.342-10.341zm-28.06 14.254l-29.098 13.47a57.255 57.255 0 0 1 8.693 13.608l27.05-12.522c-3.492-4.037-5.871-9.052-6.646-14.556zm55.61 2.668c-1.304 5.4-4.172 10.214-8.091 13.935l26.002 11.23a57.292 57.292 0 0 1 8.908-13.583zm-127.927 8.855a38.865 38.865 0 0 0-39.002 39 38.867 38.867 0 0 0 39.002 39.002c21.646 0 39-17.356 39-39.002s-17.354-39-39-39zM61 410.868c-21.646 0-39 17.354-39 39s17.354 39 39 39 39-17.354 39-39-17.354-39-39-39zm390 0c-21.646 0-39 17.354-39 39s17.354 39 39 39 39-17.354 39-39-17.354-39-39-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MarsPathfinder;

impl IconShape for MarsPathfinder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 25c-9.496 0-17.002 7.504-17.002 17S294.504 59.002 304 59.002c9.496 0 17.002-7.506 17.002-17.002 0-9.496-7.506-17-17.002-17zm-9 50.809V201h-95.377l-13.314 79.885L256 294.822l69.691-13.937L313 204.738V75.808A34.63 34.63 0 0 1 304 77a34.63 34.63 0 0 1-9-1.191zM228.2 137l-38.557 46H277v-46zM55 179.402v139.405l-14.621 13.209 22.738 23.492 164.969-5.906-3.014-29.946-15.199-15.705-35.639-7.127-8.543-1.709 4.266-25.597-42.064-16.569L73 302.543v-123.14zm128.07 11.438l-23.379 27.892 17.844 5.323zM329.123 192l5.342 32.055 17.844-5.323c-5.456-6.278-8.806-10.732-23.186-26.732zm54.984 60.95l-42.064 16.568 4.266 25.597-44.182 8.836-15.2 15.705-3.013 29.946 164.969 5.906 22.738-23.492zm-265.744 28.687l48 48-12.726 12.726-48-48zm275.274 0l12.726 12.726-48 48-12.726-12.726zm-240.453 88.119l-20.323.396-24.914 49.83L96 416l-32 32 48 16 32-32-18.805-6.268zm205.906.547l27.715 55.43L368 432l32 32 48-16-32-32-11.947 3.982-24.473-48.945z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Marshmallows;

impl IconShape for Marshmallows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M455.9 21.84h-.9c-2.8.15-5.9 1.19-9.6 3.3l-52.7 51.95c-1.2 1.76-1.5 3.26-1 5.77.6 2.62 2.4 5.99 5 8.84 2.6 2.85 5.9 5.12 8.8 6.14 2.3.85 3.8.76 4.9.4l62.1-61.43c-.5.51 0 .14-.6-1.95-.6-2.26-2.4-5.45-5-7.91-3-2.87-6.5-5.09-11-5.13zM352.2 48.36c-1.3 0-2.5 0-3.5.14-4.3.48-6.7 1.83-8.2 3.69-1.5 1.86-2.4 4.54-2.2 9.03.2 4.49 1.7 10.55 4.7 17.15 6.1 13.48 17.9 29.53 33.7 43.73 15.8 14.3 32.7 24.1 46.3 28.2 6.7 2.1 12.6 2.8 16.9 2.3 4.2-.5 6.6-1.8 8.1-3.7 1.5-1.9 2.4-4.5 2.2-9-.2-4.5-1.7-10.6-4.7-17.2-2.9-6.6-7.3-13.8-12.8-21.1-4.9 5.2-7.8 10-13.3 12.5-6.6 3.4-13.9 2.9-20.1.7-6.1-2.2-11.5-6.1-15.9-10.9-4.4-4.83-7.9-10.63-9.3-17.28-1.4-6.65-.3-14.5 4.5-20.71l.3-.48 6.1-5.99c-6.9-3.92-13.5-6.85-19.5-8.68-5-1.58-9.6-2.32-13.3-2.4zM320.8 63.4c-9.9 7.85-32 26.6-32.6 40.2 7.8 58.8 58.9 100.5 96.1 103 20.1-3.3 34.8-19.1 47.4-35.7-4.4-.5-8.9-1.5-13.5-2.9-16.8-5.2-35.4-16.2-52.9-31.9-17.5-15.8-30.7-33.3-38.1-49.96-3.6-7.7-5.8-15.37-6.4-22.74zm-30 109.3l-42.9 46.1c-1 1.2-1.3 2.1-.4 5.2.9 3.2 3.5 7.4 6.9 11 3.3 3.6 7.5 6.4 10.7 7.6 2.8 1.1 3.8.9 4.2.6l44.4-47.1c-8.8-6.5-16.9-14.1-22.9-23.4zm-93 16.5c-8.3.2-13.4 2.9-15.4 6.3-2.6 4.6-1.7 14.3 6.1 27.3 7.8 13.1 21.8 28.1 39.5 40.6s35.8 20.2 49.8 22.5c14 2.3 22.2-.9 24.8-5.5 2.7-4.6 1.7-14.2-6.1-27.3-1.4-2.3-3-4.7-4.7-7.1-4 3.7-7 8.6-11.5 11.6-6.7 5-15.1 4.4-21.6 1.8-6.6-2.5-12.4-6.8-17.4-12-5-5.3-9-11.4-11.1-18.3-2-7-1.5-15.7 4.1-22.1l.2-.2 5.4-5.7c-11.8-6.1-22.9-9.4-32.7-11.1a55 55 0 0 0-9.4-.8zM165 211.3c-9.8 13.3-18.8 28.2-24 44.2 7.5 31.2 22.2 51.6 41.1 66.1 18.8 14.5 42.1 22.9 66.7 28.4 18.8-6.8 31-25.6 41-44.5-4.5.1-9.2-.2-14-1-17.2-2.9-37.1-11.6-56.8-25.4-19.6-13.9-35.1-30.2-44.8-46.4-4.2-7-7.5-14.3-9.2-21.4zM364.1 247c-35.3 53.9 29.4 142.8-20.6 170.9-22.5 12.6-61.7-5.7-70.4-32.1 1.6 38.7 17 101.3 82.5 105.5h116.3c26.9-44.4 23.3-87.7 11.3-130.8-9.5 26.8-23.3 27.8-35.8 21.6-16.9-8.3-12.7-35.5-6.2-56.1-16 12-24 25.4-26.1 39.8-2.6-39-57.1-59.9-51-118.8zM64.98 284.7c-6.04 0-9.91 5.1-10.35 7 2.96 47.5-1.87 94.4-5.63 135.3l-22.56 31.2c1.17 6 5.16 13.6 11.35 19.6 6.14 5.9 13.84 9.8 21.38 10.6 38.56-46.6 81.23-94.7 125.73-143.2-4.8-2.8-9.4-5.9-13.8-9.3-6.5-5-12.7-10.7-18.3-17.2-22.4 24.7-43.6 49.1-63.14 73.1l-17.42 21.4c1.23-41 6.45-85.1 5.66-121.2-4.9-5.4-9.3-7.3-12.92-7.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MartyrMemorial;

impl IconShape for MartyrMemorial {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.1 20.35l-18.1.1-.2 55.7c6-1 12.2-1 18.2 0zm-77 25.1c10 97.85 12.2 189.15-8 262.15-21.1 77.2-68.8 134.1-155 152.2l-.15 31.8 130.95.1c28.5-30.2 47.9-79.3 59.2-125.2 11.9-47.2 15.9-91.4 15.7-105.9l.2-.1c0-15.7-.4-55.9-2.5-95.9-1-19.9-2.5-39.8-4.7-56.2-1.8-15.65-4.8-28.45-7.2-34.35zm134.3 1.3L294 75.05c-2.1 5.7-4.6 18.2-6.5 33.55-1.8 16.4-3.2 36.1-4.2 55.9-1.9 39.7-2.2 80-2.2 96l-.1.1c0 14.4 3.9 58.6 15.7 105.7 11.5 46 30.8 95 59.3 125.3l131.1-.2-.1-31.8c-86.4-18.1-134.2-74.9-155.4-151.8-20.3-72.9-18.6-163.8-9.2-261.05zm-65.9 46.7c-5.9-.1-11.7 1.1-16 3.5.5 3 .8 5.95 1.3 9.15.7 5.5 1.3 11.3 1.8 17.2l24.4.1c.5-5.9 1-11.5 1.6-16.9.4-3.4.9-6.65 1.3-9.85-4.1-2.1-9.2-3.2-14.4-3.2zm-11.4 47.95c.4 4.6.7 9.3.9 14h19.7c.3-4.7.6-9.3.9-13.9zm1.9 32.1c1.6 36.2 2 70.7 2 86h14c0-15.2.3-49.7 1.8-85.9zm1.1 104c-.3 4.1-.6 8.6-1.1 13.5v200.5h17.8V290.1c-.5-4.6-.8-8.8-1.2-12.7zM283 384.6v106.8h14l-.2-64.7c-5.5-13.9-10-28.1-13.8-42.1zm-54.2.7c-3.8 13.9-8.5 28.1-13.8 41.8v64.3h13.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Matchbox;

impl IconShape for Matchbox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193.1 25.84L120.5 166.2l21.4 11 14.9-28.9a24 48 27.32 0 1 7.1-46.4 24 48 27.32 0 1 36.8-32.98 24 48 27.32 0 1 6.5 1.39 24 48 27.32 0 1-.7 53.69 24 48 27.32 0 1-33.7 32.6l-15 28.9 31.7 16.4 14.9-28.9a24 48 27.32 0 1 7.1-46.5 24 48 27.32 0 1 36.9-32.98 24 48 27.32 0 1 6.5 1.39 24 48 27.32 0 1-.7 53.69 24 48 27.32 0 1-33.8 32.6l-14.9 28.9 31.7 16.4 14.8-28.9a24 48 27.32 0 1 7.1-46.5 24 48 27.32 0 1 36.9-33 24 48 27.32 0 1 6.5 1.4 24 48 27.32 0 1-.7 53.7 24 48 27.32 0 1-33.8 32.6l-14.9 28.9 31.7 16.3 14.9-28.9a24 48 27.32 0 1 7.1-46.4 24 48 27.32 0 1 36.8-33 24 48 27.32 0 1 6.5 1.4 24 48 27.32 0 1-.7 53.7 24 48 27.32 0 1-33.7 32.6l-15 28.9 31.7 16.3 14.9-28.9a24 48 27.32 0 1 7.1-46.4 24 48 27.32 0 1 36.8-33 24 48 27.32 0 1 6.5 1.4 24 48 27.32 0 1-.7 53.7 24 48 27.32 0 1-33.7 32.6l-15 28.9 31.8 16.4 14.8-28.9a24 48 27.32 0 1 7.1-46.5 24 48 27.32 0 1 36.8-33 24 48 27.32 0 1 6.6 1.4 24 48 27.32 0 1-.8 53.7 24 48 27.32 0 1-33.6 32.6l-15 28.9 21.3 11 72.5-140.3L193.1 25.84zM112.3 182.2L18 364.7V494h145c-6.7-1.8-13.4-4.3-19.8-7.6-47.58-24.6-66.26-83.2-41.7-130.7 17.2-33.5 51.4-52.7 86.6-52.5 14.9 0 30 3.5 44.1 10.8 47.5 24.5 66.2 83.2 41.7 130.7-13.2 25.4-36.1 42.6-61.8 49.3h115.1l81.9-158.5-296.8-153.3zm73.8 138.9c-28.1.6-54.9 16.1-68.6 42.8-20.07 38.8-4.9 86.4 33.9 106.5 38.8 20 86.4 4.9 106.5-34 20-38.8 4.9-86.4-34-106.4-11.3-5.9-23.5-8.7-35.4-8.9h-2.4zm13.9 23c25.9 23.7 33.3 72.4 13.3 98.8-10.2 13.7-34.6 13.8-50.5 7.6-14.5-5.7-31.5-21.3-29.1-36.7 3.3-21.3 40.2-23.7 47.3-13 0 0-21.8 1.9-20.4 9.3 1.4 8.5 18.9 7.4 25.7 2.3 18.6-14 18-36.8 13.7-68.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MatryoshkaDolls;

impl IconShape for MatryoshkaDolls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106.11 114c-16.917 0-33.632 6.96-44.728 20.74-11.096 13.781-17.187 34.731-11.12 64.867 6.466 32.127-10.65 58.98-18.235 88.436 49.67 20.126 98.497 20.125 148.168-.002-7.587-29.455-24.703-56.308-18.237-88.434 6.067-30.136-.025-51.086-11.12-64.867C139.74 120.96 123.027 114 106.11 114zm0 28.451c25.227 0 45.75 20.876 45.75 46.246s-20.523 46.248-45.75 46.248c-25.226 0-45.75-20.878-45.75-46.248 0-25.37 20.524-46.246 45.75-46.246zm135.702 30.28c-12.97 0-25.741 5.368-34.236 16.02-8.495 10.654-13.295 26.955-8.53 50.86 2.685 13.466.457 25.709-3.162 37.551a225.344 225.344 0 0 1 2.01 7.424c2.255 9.012 3.805 18.648 4.08 28.957 32.189 7.421 64.15 5.874 96.434-4.658-6.3-22.416-18.94-43.637-13.829-69.274 4.766-23.905-.034-40.206-8.529-50.86-8.495-10.652-21.268-16.02-34.238-16.02zm0 23.355c19.262 0 34.943 15.992 34.943 35.322 0 19.33-15.68 35.32-34.943 35.32-19.262 0-34.942-15.99-34.942-35.32s15.68-35.322 34.942-35.322zm111.666 15.826c-10.443 0-20.69 4.32-27.508 12.889-6.817 8.568-10.78 21.75-6.853 41.49 2.608 13.112-.106 24.777-3.836 35.973a190.78 190.78 0 0 1 1.523 5.724c1.716 6.924 2.92 14.325 3.23 22.221 26.665 5.921 53.124 4.783 79.868-3.428-5.025-19.207-16.604-37.66-12.063-60.49 3.927-19.74-.034-32.922-6.851-41.49-6.818-8.568-17.067-12.889-27.51-12.889zm0 16.108c14.997 0 27.205 12.496 27.205 27.5 0 15.003-12.208 27.5-27.205 27.5-14.997 0-27.203-12.497-27.203-27.5 0-15.004 12.206-27.5 27.203-27.5zM445 247.03c-8.179 0-16.165 3.376-21.482 10.075-5.317 6.7-8.532 17.09-5.356 33.1 1.979 9.97.42 18.88-2.126 27.287a171.062 171.062 0 0 1 1.642 6.098c1.582 6.396 2.645 13.296 2.774 20.705 20.521 3.756 40.911 2.828 61.5-2.82-4.009-15.816-14.048-31.45-10.116-51.27 3.177-16.01-.039-26.4-5.355-33.1-5.317-6.699-13.302-10.076-21.48-10.076zm0 15.279c10.918 0 19.786 9.155 19.786 20 0 10.844-8.868 20-19.786 20-10.917 0-19.787-9.156-19.787-20 0-10.845 8.87-20 19.787-20zm-261.377 43.673c-51.428 19.8-103.599 19.8-155.027.002C25.7 330.867 30.911 359.371 59.083 398h94.053c28.174-38.63 33.386-67.134 30.488-92.018zm118.307 20.582c-33.483 10.417-67.25 12.098-100.824 5.051-1.519 12.403-5.062 25.698-11.447 39.973 3.688 8.107 8.769 16.853 15.613 26.412h73.08c21.52-30.059 25.67-52.093 23.578-71.436zm100.795 18.084c-27.762 8.009-55.763 9.218-83.598 3.637-1.246 8.91-3.765 18.375-7.965 28.416 2.976 6.535 7.033 13.578 12.502 21.299h59.627c15.662-22.11 19.957-38.763 19.434-53.352zm81.385 14.832c-21.662 5.496-43.488 6.393-65.205 2.729-1.263 6.67-3.351 13.68-6.508 21.043 2.23 4.566 5.109 9.45 8.81 14.748h47.584c10.984-15.718 14.876-27.87 15.319-38.52z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MatterStates;

impl IconShape for MatterStates {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MayanPyramid;

impl IconShape for MayanPyramid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217 25v14h78V25h-78zm0 32v46h14V71h50v32h14V57h-78zm32 32v14h14V89h-14zm-64 32v46h30v-46h-30zm48 0v14h46v-14h-46zm64 0v46h30v-46h-30zm-64 32v14h46v-14h-46zm-80 32v46h62v-46h-62zm80 0v14h46v-14h-46zm64 0v46h62v-46h-62zm-64 32v14h46v-14h-46zm-112 32v46h94v-46h-94zm112 0v14h46v-14h-46zm64 0v46h94v-46h-94zm-64 32v14h46v-14h-46zM89 313v46h126v-46H89zm144 0v14h46v-14h-46zm64 0v46h126v-46H297zm-64 32v14h46v-14h-46zM57 377v46h158v-46H57zm176 0v14h46v-14h-46zm64 0v46h158v-46H297zm-64 32v14h46v-14h-46zM25 441v46h190v-46H25zm208 0v14h46v-14h-46zm64 0v46h190v-46H297zm-64 32v14h46v-14h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Meal;

impl IconShape for Meal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M445.588 56l-.026 384.352c6.881 11.323 14 15.677 19.97 15.648 5.924-.028 12.967-4.434 19.714-15.418L466.82 244.27l-.215-2.391 1.475-1.906c21.174-27.169 28.573-74.108 22.533-113.81-3.02-19.852-9.342-37.82-18.195-50.522-7.424-10.652-16.28-17.447-26.828-19.641h-.002zm-372.375.004l-.016 67.127-12.56-.016V56.008H46.332l.002 67.11H33.756v-67.11h-14.57v103.228c-.001 11.417 6.23 17.748 16.04 21.662l4.06 1.622-.09 4.37c-2 84.57-3.977 169.139-5.962 253.708C40.074 451.79 47.1 456.028 52.95 456c5.85-.028 12.87-4.377 19.623-15.432-2.315-84.547-4.63-169.096-6.941-253.644l-.12-4.4 4.073-1.606c10.324-4.106 17.039-11.074 17.039-21.676V56.004h-13.41zM256 95A161 161 0 0 0 95 256a161 161 0 0 0 161 161 161 161 0 0 0 161-161A161 161 0 0 0 256 95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeasureTape;

impl IconShape for MeasureTape {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M442.2 35.42c-19.9 1.56-39 3.76-57.5 6.46l6.5 24.56-8.7 2.31-8.7 2.31-7-26.36c-20.1 3.4-39.4 7.46-58 12.03l8.8 25.71-17 5.8-9.2-26.94c-19.6 5.34-38.4 11.23-56.3 17.62l10.7 26.98-16.8 6.6-10.8-27.3c-18.3 7.01-35.9 14.49-52.6 22.2l12.5 27.3-16.4 7.6-12.4-27c-20.2 9.9-39.2 20.1-57.44 30.5l15.74 24.7-15.2 9.6-16.1-25.3c-15.41 9-30.36 18.1-44.64 27-4.13 9.7-2.57 20 2.4 29.4 4.45 8.4 11.77 15.1 18.18 18.5C165.9 146.1 325.8 96.65 480.5 70.12c-8.6-12.79-22.7-27.12-38.3-34.7zM241 185.1c-12.8 0-25.7.2-38.6.5l-.3 18.7-18-.2.3-18c-8.7.2-17.3.5-26 .8-28.4 14-55.2 29.3-79.82 46.1 132.82-22.7 276.22-6.6 388.62 21.3l-.1-.1c.2.1 1.1.2 3.8-2.9 2.8-3.2 5.8-8.8 8-14.8s3.6-12.5 3.8-17.2c.1-2.3-.3-3.9-.5-4.8-10.3-3.3-20.9-6.2-31.8-8.8-17.1-4.2-34.8-7.6-53-10.4l-6 19.4-8.6-2.7-8.6-2.7 5.1-16.4c-13.6-1.7-27.4-3.2-41.5-4.3l-2.5 19-17.8-2.4 2.3-17.8c-16.3-1-32.9-1.7-49.7-2l.3 16.6-18 .4-.3-17.2c-3.7 0-7.4-.1-11.1-.1zm92.4 62.9c-13.4 3.4-26.4 7.2-39 11.4l10.2 22.4-16.4 7.4-10.8-23.8c-17.9 6.6-34.8 14-50.5 22.1l11.5 18.9-15.4 9.4-11.9-19.7c-8.6 4.9-16.8 10-24.5 15.3-8.8 6.1-17 12.5-24.6 19.1l19.4 15.3-11.2 14.2-21.5-17c-14 14-25.1 28.8-32.9 44.1-1.4 2.8-2.7 5.7-3.9 8.6 8.3-1.3 16.1-1.8 23.6-1.7 15 .3 28.4 3.3 40.7 7.9.1-.3.1-.7.2-1 5.7-20.8 20.2-38.8 43-55.1 40.3-28.7 108.3-53.4 209.5-81.8-21.4-4.6-43.7-8.7-66.7-12.1l2.6 6.6-16.8 6.6-6.3-16c-2.8-.4-5.5-.8-8.3-1.1zM135.3 411.5c-9.1-.1-18.9 1-29.8 3.6-4.4 18.2-4.2 36.9 1.2 56 .5.5 4.8 3.5 13.2 4.7 8.8 1.2 20.3.9 31.3-.5 10.9-1.4 21.4-4 27.7-6.7 1.8-.8 3.1-1.5 4.1-2.2-6.3-16.4-9.5-31.8-9.2-46.4-11.6-5.1-24.1-8.3-38.5-8.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MechaHead;

impl IconShape for MechaHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.488 29.5l-13.244 39.725 14.381 86.275h16.75l14.38-86.275L265.515 29.5h-19.026zM195 61.5l-40 30h63.709l-3.953-23.725 2.092-6.275H195zm100.152 0l2.092 6.275-3.953 23.725H357l-40-30h-21.848zM69.42 90.727L41.639 257.41 71 286.773V162.375l20.863-41.725L69.42 90.727zm373.16 0l-22.443 29.923L441 162.375v124.398l29.361-29.363-27.78-166.683zM117.563 109.5L89 166.625V400l110 82.5v-87.906l-80-32V211.576l35.393-72.076h72.316l-5-30H117.562zm172.728 0l-5 30h72.272L393 210.375v152.219l-80 32V482.5L423 400V166.625L394.437 109.5H290.291zm-124.684 48L137 215.758v3.742h238v-4.875L346.437 157.5h-64.146l-2.666 16h-47.25l-2.666-16h-64.102zM137 237.5v46h30v-46h-30zm96 0v46h46v-46h-46zm112 0v46h30v-46h-30zm-208 64v48.906l46.678 18.67 27.029-67.576H137zm93.092 0l-29.705 74.262L217 382.406v51.067l39 9.75 39-9.75v-51.067l16.613-6.644-29.705-74.262h-51.816zm71.201 0l27.03 67.576L375 350.406V301.5h-73.707z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MechaMask;

impl IconShape for MechaMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.096 33l-43.082 71.803 30.744 76.857 15.726 110.098L243.73 303h24.542l11.245-11.242 15.726-110.098 30.744-76.857L282.904 33H265v151h-18V33h-17.904zm-80.77 16l-46.242 57.799 71.719 15.937-7.817-19.539L198.504 49h-50.178zm165.17 0l32.518 54.197-7.815 19.54 71.715-15.938L363.674 49h-50.178zM60.262 115.943l11.353 45.41 131.576 52.631-3.949-27.644-17.346-43.365-121.634-27.032zm391.476 0l-121.634 27.032-17.346 43.365-3.95 27.644 131.577-52.63 11.353-45.41zM89 187.693v73.05l62 74.4v-57.268l16.055-32.111L112 232v-35.107l-23-9.2zm334 0l-23 9.2V232l-55.055 13.764L361 277.875v57.268l62-74.4v-73.05zm-227.986 42.405L169 282.125V390l52-39h70l52 39V282.125l-26.014-52.027-11.115 4.445-9.387 65.7L275.73 321H236.27l-20.755-20.758-9.387-65.699-11.115-4.445zM134.826 343.85l-13.072 91.507L167 462.504V435.5l70-52.5h38l70 52.5v27.004l45.246-27.147-13.074-91.505L361 363.258V426l-76-57h-58l-76 57v-62.742l-16.174-19.408zM243 401l-58 43.5v28.805l9.492 5.695H247v-23h18v23h52.508l9.492-5.695V444.5L269 401h-26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MechanicGarage;

impl IconShape for MechanicGarage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426.24 30c-13.635.02-38.617 9.837-47.707 20H68.24c-32 0-32 64 0 64h310.301c9.088 10.16 34.067 19.978 47.7 20 17.123-.025 32.937-13.17 41.5-28h-39.5l-22-24 22-24h39.519c-8.565-14.835-24.39-27.982-41.52-28zm-342 36c8.837 0 16 7.163 16 16s-7.163 16-16 16c-8.836 0-16-7.163-16-16s7.164-16 16-16zm75.77 117c-8 0-13.83 4.038-20.166 8.813-6.336 4.774-12.98 10.944-20.041 17.67-13.752 13.096-29.103 28.29-43.608 38.218l45.407 1.135c11.17-20.948 18.277-40.386 38.408-47.836h71v50.572l18 .45V201h23c11.5 0 30.948 10.484 50.377 26.027 10.483 8.387 21.064 18.01 31.117 27.608l49.611 1.24 49.729-58.018-13.668-11.714-59.237 69.109c-13.952-13.825-29.952-29.196-46.306-42.28C313.06 196.517 292.51 183 272.01 183h-112zM47.986 265.004c-4.995.008-11.034 2.78-15.613 7.36C27.787 276.948 25.01 283 25.01 288c0 13 7.276 32.26 16.633 47.23 4.355 6.97 9.123 13.056 13.38 17.313-.001-.182-.013-.36-.013-.543 0-31.374 25.626-57 57-57 31.373 0 57 25.626 57 57 0 2.37-.163 4.704-.447 7h190.894a56.952 56.952 0 0 1-.447-7c0-31.374 25.626-57 57-57 31.373 0 57 25.626 57 57 0 2.37-.163 4.704-.447 7h9.392l5.035-45.326c-.106-12.823-6.276-21.985-14.603-28.647-8.4-6.72-19.377-10.027-24.377-10.027h-.114l-399.91-9.996zM112.01 313c-21.646 0-39 17.354-39 39s17.354 39 39 39c21.645 0 39-17.354 39-39s-17.355-39-39-39zm304 0c-21.646 0-39 17.354-39 39s17.354 39 39 39c21.645 0 39-17.354 39-39s-17.355-39-39-39zm-215 64v14h110v-14h-110zm48 32v46h14v-46h-14zm-35.438 64l-7 14h98.875l-7-14h-84.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Medallist;

impl IconShape for Medallist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M75.371 28.377L27.027 52.549C42.623 99.323 61.451 155.606 80.44 206.875c19.925 53.796 40.201 101.86 55.05 124.133l1.243 1.865L152.145 487h91.267C226.978 481.65 215 466.15 215 448c0-4.871.865-9.551 2.445-13.896-1.628-3.134-3.22-6.442-4.812-9.913-7.642-16.655-14.483-37.267-20.32-58.84-10.19-37.656-17.3-77.733-18.946-104.525-9-14.793-17.445-31.369-25.547-49.025-26.904-58.636-49.91-129.09-72.449-183.424zm361.258 0c-22.54 54.335-45.545 124.788-72.45 183.424-8.1 17.656-16.546 34.232-25.546 49.025-1.645 26.792-8.756 66.87-18.945 104.526-5.838 21.572-12.679 42.184-20.32 58.84-1.593 3.47-3.185 6.778-4.813 9.912A40.593 40.593 0 0 1 297 448c0 18.15-11.978 33.65-28.412 39h91.267l15.413-154.127 1.244-1.865c14.848-22.272 35.124-70.337 55.049-124.133 18.988-51.269 37.816-107.552 53.412-154.326l-48.344-24.172zM256 105c-18.687 0-36.025 10.529-49.244 29.035C193.537 152.541 185 178.81 185 208c0 29.19 8.537 55.459 21.756 73.965S237.313 311 256 311s36.025-10.529 49.244-29.035C318.463 263.459 327 237.19 327 208c0-29.19-8.537-55.459-21.756-73.965S274.687 105 256 105zm-59.787 192.8c3.19 19.66 7.752 41.702 13.475 62.848 5.662 20.928 12.321 40.816 19.304 56.036.062.134.126.26.188.394a41.119 41.119 0 0 1 13.547-7.844c-6.666-14.749-12.609-33.366-17.422-51.416-4.294-16.1-7.53-30.494-9.094-41.494-7.36-4.977-14.082-11.254-19.998-18.523zm119.574 0c-5.916 7.27-12.639 13.547-19.998 18.524-1.565 11-4.8 25.393-9.094 41.494-4.813 18.05-10.756 36.667-17.422 51.416a41.12 41.12 0 0 1 13.547 7.844c.062-.134.126-.26.188-.394 6.983-15.22 13.642-35.108 19.305-56.036 5.722-21.146 10.284-43.189 13.474-62.847zm-79.375 28.259c1.624 8.15 3.737 17.575 6.283 27.123 3.799 14.245 8.528 29.19 13.305 41.347 4.777-12.157 9.506-27.102 13.305-41.347 2.546-9.548 4.66-18.972 6.283-27.123-6.28 1.91-12.833 2.941-19.588 2.941-6.755 0-13.307-1.031-19.588-2.941zM256 425c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedicalDrip;

impl IconShape for MedicalDrip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.2 55l-2.5 5.02C108.9 73.86 99.93 79 91.97 79c-7.96 0-16.99-5.17-23.92-19.03l-16.1 8.06C61.02 86.17 75.99 97 91.97 97c14.43 0 27.93-8.91 37.03-24h82v419h18V73h81.8c7.3 11.92 17.2 19.95 28.2 22.82V119h18V95.84c12.5-3.24 23.7-13.13 31.1-27.81l-16.2-8.06C365 73.83 356 79 348 79c-8 0-17-5.17-23.9-19.03L321.6 55zm171.1 82c-1.3 3-3.9 9.6-5.4 19.8-1.9 12.9-2.9 29.5-2.9 47.2 0 33.5 3.8 70.9 10.5 93.5 14 6 35.3 9.5 56.5 9.5 21.2 0 42.5-3.5 56.5-9.5 6.7-22.6 10.5-60 10.5-93.5 0-17.7-1-34.3-2.9-47.2-1.5-10.2-4.1-16.8-5.4-19.8zm5.3 77c35.3 7.2 70.6 10.5 105.9 0-.5 24-2.4 45-10.2 69.6-28.9 3-56.5 11.4-89.9-3.9zm91.1 107.7c-5.8 1.1-11.8 1.9-17.9 2.4.7 3.1 1.5 6.6 2.3 10.6 2.4 11.4 4.4 25.3 3.9 32.7v.1c-.4 6.3-3 13.3-6.2 21.1-3.2 7.8-6.9 16.5-7.7 26.7-1.2 14.7 1.4 34.1 4.1 50.4 2.7 16.3 5.6 29.4 5.6 29.4l17.6-4s-2.9-12.6-5.5-28.3c-2.5-15.8-4.7-35-3.8-46.1.5-6.4 3.2-13.4 6.4-21.3s6.9-16.6 7.5-26.8c.7-11.5-1.8-25.6-4.2-37.5-.7-3.4-1.5-6.6-2.1-9.4zm-74.7.1v24.5h18v-22.1c-6.1-.5-12.2-1.3-18-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedicalThermometer;

impl IconShape for MedicalThermometer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M409.1 26.44c-14.5-.16-28.9 5.01-42.2 18.31l-16.3 16.29 27.6 27.55-12.8 12.71-27.6-27.49-32.4 32.49 27.5 27.5-12.8 12.8-27.5-27.5-32.5 32.4 27.6 27.6-12.8 12.8-27.6-27.6-32.4 32.5 27.5 27.5-12.8 12.8-27.5-27.5-32.5 32.4 27.6 27.6-12.8 12.8-27.6-27.6-16.2 16.3c-.7.7-2.9 4.5-4.5 9.9s-3 12.3-4.4 19.4c-1.4 7-2.8 14.3-4.8 20.9-1.9 6.6-4 12.6-8.9 17.6l-79.26 79.2c-9.72 9.7-12.79 19.6-12.23 29.2.56 9.5 5.16 18.9 12.23 26 7.08 7 16.45 11.6 26 12.2 9.54.5 19.46-2.5 29.2-12.3L173.1 394c5-4.9 11-7 17.6-8.9 6.6-2 13.9-3.4 20.9-4.8 7.1-1.4 14-2.8 19.4-4.4 5.4-1.6 9.2-3.8 9.9-4.5l226.3-226.3c15.2-15.2 19.8-31.8 18-48.46-1.9-16.66-10.7-33.37-23.6-46.24-12.9-12.86-29.6-21.72-46.2-23.58-2.1-.23-4.2-.38-6.3-.38zM422 77.28L434.8 90 113 411.8l11.3 11.3-29.01 29c-6.71 6.7-14.02 10.6-21.34 11.7-7.32 1-14.7-1.1-19.65-6.1-4.95-4.9-7.13-12.3-6.08-19.6 1.04-7.4 5.02-14.7 11.74-21.4l22.6-22.7 6.37-6.3L100.2 399 422 77.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedicinePills;

impl IconShape for MedicinePills {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.1 33c-25.9 0-49.4 2.68-65.7 6.76-8.2 2.04-14.6 4.51-18.2 6.65-1.3.78-1.7 1.18-2.1 1.59.4.41.8.81 2.1 1.59 3.6 2.14 10 4.61 18.2 6.65 16.3 4.08 39.8 6.76 65.7 6.76 25.9 0 49.4-2.68 65.7-6.76 8.2-2.04 14.6-4.51 18.2-6.65 1.3-.78 1.7-1.18 2.1-1.59-.4-.41-.8-.81-2.1-1.59-3.6-2.14-10-4.61-18.2-6.65C260.5 35.68 237 33 211.1 33zm-87 35.13v40.07c6.5 3.3 15 6.6 21.3 8.2 16.3 4.1 39.8 6.8 65.7 6.8 25.9 0 49.4-2.7 65.7-6.8 12-2.9 13.4-3.2 21.3-8.2V68.13c-4.9 2.16-10.5 3.97-16.9 5.57-18.5 4.61-43 7.3-70.1 7.3-27.1 0-51.6-2.69-70.1-7.3-6.4-1.6-12-3.41-16.9-5.57zm8.6 63.47c-8.3 2.9-16.5 8.1-23.2 14.8C98.88 156.9 92.1 171 92.1 184v64c0 5 2.2 9.3 7.86 14.2 5.64 4.8 14.74 9.5 25.94 13.3 22.6 7.5 53.9 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2v-64c0-13-6.8-27.1-17.4-37.6-6.7-6.7-14.8-11.9-23.2-14.8-2.6.8-5.4 1.6-8.3 2.3-18.5 4.6-43 7.3-70.1 7.3-27.1 0-51.6-2.7-70.1-7.3-2.9-.7-5.7-1.5-8.3-2.3zM92.1 278.9V344c0 5 2.2 9.3 7.86 14.2 5.64 4.8 14.74 9.5 25.94 13.3 22.6 7.5 53.9 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2v-65.1c-7.8 5.6-17.3 10-28.2 13.6-25.4 8.5-58.1 12.5-90.8 12.5-32.8 0-65.4-4-90.8-12.5-10.9-3.6-20.45-8-28.2-13.6zm0 96V440c0 5 2.2 9.3 7.86 14.2 5.64 4.8 14.74 9.5 25.94 13.3 22.6 7.5 53.9 11.5 85.2 11.5 17.5 0 35.2-1.3 51.2-3.7-3.2-4.5-5.2-9.6-5.2-15.4 0-11.8 8.3-21.1 18.7-26.9 6.3-3.6 13.8-6.1 22-7.6 2.2-8.9 9.4-16 17.9-20.8 4.3-2.4 9.2-4.4 14.4-5.9v-23.8c-7.8 5.6-17.3 10-28.2 13.6-25.4 8.5-58.1 12.5-90.8 12.5-32.8 0-65.4-4-90.8-12.5-10.9-3.6-20.45-8-28.2-13.6zM354 413.6c-11.9 0-22.6 2.8-29.5 6.7-2.3 1.3-4 2.6-5.4 3.8 12.6.7 24.2 3.8 33.3 8.9 6.2 3.5 11.7 8.2 15 13.9 3-7.5 9.4-13.6 17-17.8 2-1.1 4.1-2.1 6.3-3.1-1.5-1.8-3.8-3.8-7.2-5.7-6.9-3.9-17.6-6.7-29.5-6.7zm68.7 24.5c-11.9 0-22.6 2.8-29.5 6.7-7 3.9-9.5 8.1-9.5 11.2 0 3.1 2.5 7.3 9.5 11.2 6.9 3.9 17.6 6.7 29.5 6.7 11.9 0 22.6-2.8 29.5-6.7 7-3.9 9.5-8.1 9.5-11.2 0-3.1-2.5-7.3-9.5-11.2-6.9-3.9-17.6-6.7-29.5-6.7zM314.1 442c-11.9 0-22.6 2.8-29.5 6.7-7 3.9-9.5 8.1-9.5 11.2 0 3.1 2.5 7.3 9.5 11.2 6.9 3.9 17.6 6.7 29.5 6.7 11.9 0 22.6-2.8 29.5-6.7 7-3.9 9.5-8.1 9.5-11.2 0-3.1-2.5-7.3-9.5-11.2-6.9-3.9-17.6-6.7-29.5-6.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Medicines;

impl IconShape for Medicines {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217.4 27.43c-27.9.47-53.1 17.11-64.5 42.84l136.5 41.23c6-35.79-15.5-70.49-50.1-81.02-6.2-1.88-12.7-2.91-19.2-3.05h-2.7zm-69.7 60.08c-6.1 35.89 15.4 70.69 50.1 81.19 34.8 10.5 71.9-6.7 86.5-40zm265.5 44.29c-25.3.1-52.2 12.3-72.5 41L215.9 349.7c-33.5 47.4-18.9 97 14.1 120.4 33.1 23.5 84.6 20.8 118.1-26.6l124.7-176.8c33.5-47.5 18.9-97-14.1-120.5-12.4-8.8-27.3-13.9-43-14.4zm-1.8 17.3c1.3 0 2.6 0 3.8.1 12.1.5 23.5 4.8 33.1 11.7 25.7 18.2 38.6 54.5 9.7 95.4l-64.5 91.5c-35.8-9.6-81.8-42.3-102.7-73l64.7-91.6c16.9-23.9 37-33.7 55.9-34.1zM91.25 225.3c-9.62.1-19.11 2.1-27.93 6-33.11 14.5-50.34 51.5-40.24 86.3l130.72-57.1c-13.1-22.1-36.9-35.5-62.55-35.2zm69.65 51.6L30.2 334.1c18.45 31.4 57.3 44 90.6 29.5 33.2-14.6 50.4-51.8 40.1-86.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedievalBarracks;

impl IconShape for MedievalBarracks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201.3 20.67l20.2 27.27 84.3 54.26 12.7-20.14-84.4-54.37-32.8-7.02zm109.3.12l-32.7 7-5.2 3.34 20.5 13.17 17.4-23.51zM217.5 66.7l-24 15.44 12.7 20.16 33.3-21.43-22-14.17zm127.3 7.41l-34.9 55.59 17.8 11.5 34.9-55.57-17.8-11.52zm-177.6.1l-17.8 11.52 34.9 55.57 17.8-11.5-34.9-55.59zm199.5 38.89L354 133.3l29.5 19 12.7-20.2-29.5-19zm-221.4.1l-29.5 19 12.7 20.2 29.5-19-12.7-20.2zM38.49 185l-10 30H179.5l-10-30H38.49zm304.01 0l-10 30h151l-10-30h-131zM41 233v30h126v-30H41zm304 0v30h126v-30H345zM25 281v206h175.1L215 367.6c.3-21.7 20.6-32.6 41-32.6s40.7 10.9 41 32.6L311.9 487H487V281H25zm272 86.6l-.1-.7.1 1.1v-.4zm-82 0v.4l.1-1.1-.1.7zm-103-61.4l6.8 7.9c9.9 11.6 19.4 17 26.3 19.7 6.8 2.6 10.2 2.5 10.2 2.5h9v9c0 13.8-5.7 35.1-14.2 55-4.3 10-9.3 19.3-15.1 26.8-5.9 7.4-13.1 13.9-23 13.9s-17.12-6.5-22.98-13.9c-5.87-7.5-10.82-16.8-15.08-26.8-8.52-19.9-14.24-41.2-14.24-55v-9h9s3.39.1 10.24-2.5c6.86-2.7 16.34-8.1 26.26-19.7l6.8-7.9zm288 0l6.8 7.9c9.9 11.6 19.4 17 26.3 19.7 6.8 2.6 10.2 2.5 10.2 2.5h9v9c0 13.8-5.7 35.1-14.2 55-4.3 10-9.3 19.3-15.1 26.8-5.9 7.4-13.1 13.9-23 13.9s-17.1-6.5-23-13.9c-5.8-7.5-10.8-16.8-15.1-26.8-8.5-19.9-14.2-41.2-14.2-55v-9h9s3.4.1 10.2-2.5c6.9-2.7 16.4-8.1 26.3-19.7l6.8-7.9zm-288 26.7c-9.6 9.2-18.95 14.7-26.52 17.6-2.51 1-4.84 1.7-6.96 2.2 1.67 10.4 5.99 26.6 11.96 40.5 3.86 9.1 8.37 17.3 12.62 22.7 4.3 5.5 8 7.1 8.9 7.1.9 0 4.6-1.6 8.9-7.1 4.2-5.4 8.8-13.6 12.6-22.7 6-13.9 10.3-30.1 12-40.5-2.1-.5-4.5-1.2-7-2.2-7.5-2.9-16.9-8.4-26.5-17.6zm288 0c-9.6 9.2-19 14.7-26.5 17.6-2.5 1-4.9 1.7-7 2.2 1.7 10.4 6 26.6 12 40.5 3.8 9.1 8.4 17.3 12.6 22.7 4.3 5.5 8 7.1 8.9 7.1.9 0 4.6-1.6 8.9-7.1 4.2-5.4 8.8-13.6 12.6-22.7 6-13.9 10.3-30.1 12-40.5-2.1-.5-4.5-1.2-7-2.2-7.5-2.9-16.9-8.4-26.5-17.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedievalGate;

impl IconShape for MedievalGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.604c-10.01 0-20.02 2.388-26.836 7.163-2.162 1.514-6.99 10.97-9.213 20.113-.69 2.84-1.016 5.075-1.446 7.516h74.992c-.43-2.44-.757-4.676-1.447-7.516-2.224-9.142-7.052-18.6-9.214-20.113-6.817-4.775-16.826-7.163-26.836-7.163zM80 26.626l-50.707 126.77h95.814l2.8-7zm352 0l-47.906 119.77 2.8 7h95.813zm-199 48.77v14h46v-14zm-19.438 32l-7 14h98.875l-7-14zm-63.468 32l-24.8 62h261.413l-24.8-62zM25 171.396v318h55v-39s4.074-32 16-32 16 32 16 32v39h80v-39c0-32 42.762-80 64-80 23.75 0 64 48 64 80v39h80v-39s4.074-32 16-32 16 32 16 32v39h55v-318h-92.906l19.2 48H393v183h-18v-135h-46v23h-18v-23h-46v23h-18v-23h-46v23h-18v-23h-46v135h-18v-183H98.707l19.2-48zm14 23h18v32H39zm416 0h18v32h-18zm-318 25v30h46v-7h18v7h46v-7h18v7h46v-7h18v7h46v-30zm-50 71h18v32H87zm320 0h18v32h-18zM256 312.91l2.846.946s24.722 8.202 49.69 22.766c12.483 7.282 25.14 16.154 35.077 26.918C353.55 374.304 361 387.396 361 402.396h-18c0-9-4.55-17.91-12.613-26.645-8.064-8.735-19.406-16.863-30.922-23.58-20.776-12.12-39.553-18.78-43.465-20.142-3.912 1.36-22.69 8.022-43.465 20.14-11.516 6.72-22.858 14.847-30.922 23.583C173.55 384.488 169 393.397 169 402.397h-18c0-15 7.45-28.092 17.387-38.856 9.936-10.764 22.594-19.636 35.078-26.918 24.967-14.564 49.69-22.766 49.69-22.766z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedievalPavilion;

impl IconShape for MedievalPavilion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238.15 27.912c-6.137-.1-11.52 1.41-13.684 6.233-14.05 31.318-79.7 23.9-79.7 23.9s69.36 30.762 80.006 7.746c3.323-7.183 12.94-3.388 21.86 2.32v14.083h18v-48h-.317v-.048s-14.45-6.044-26.166-6.233zM236.947 106c-11.675 10.48-24.022 20.88-36.828 31.14 7.543 1.584 15.372 2.845 23.365 3.778 4.96-11.815 9.51-23.587 13.463-34.918zm37.367 0c3.978 11.403 8.56 23.254 13.557 35.145 8.025-.903 15.902-2.166 23.516-3.81-12.893-10.323-25.324-20.788-37.073-31.335zm-18.683 1.307c-3.855 11.432-8.343 23.274-13.242 35.177 8.81.44 17.7.483 26.53.114-4.917-11.942-9.42-23.822-13.288-35.29zm-73.588 43.996c-46.038 35.3-96.618 68.54-143.285 97.12 1.217.248 2.053.476 3.333.723 11.547 2.236 25.905 4.6 40.728 6.577 27.893 3.718 58.116 5.65 72.39 3.785 14.247-15.19 33.37-45.538 50.37-79.537 3.562-7.122 7.01-14.403 10.337-21.736-11.72-1.634-23.104-3.952-33.873-6.93zm147.305.097c-10.862 3.144-22.245 5.487-33.89 7.082 3.293 7.25 6.702 14.447 10.223 21.49 17.19 34.378 36.56 65.054 50.855 80.065 12.622 3.79 43.378 2.474 71.686-2.014 16.737-2.653 32.776-6.15 45.017-9.15-46.827-28.652-97.645-62.024-143.89-97.473zm-94.566 8.844c-4.178 9.377-8.56 18.695-13.1 27.776-14.633 29.264-30.29 55.677-45 74.12 52.564 9.756 105.1 9.282 157.805-.113-14.684-18.437-30.307-44.803-44.91-74.007-4.512-9.026-8.87-18.287-13.024-27.606-13.897.935-27.96.852-41.772-.17zM45.14 268.016c1.51 3.31 3.41 6.715 5.756 9.92 6.94 9.49 16.894 17.332 30.103 19.36 12.877 1.98 31.776-2.842 46.542-10.376 5.164-2.635 9.784-5.57 13.52-8.43-17.68.154-39.405-2.097-60.62-4.926-12.575-1.676-24.687-3.616-35.302-5.548zm420.353 1.326c-10.35 2.248-22.076 4.497-34.453 6.46-19.848 3.145-40.16 5.757-57.58 5.046 3.05 2.086 6.51 4.158 10.262 6.072 14.766 7.534 33.665 12.355 46.543 10.377 13.21-2.03 23.16-9.87 30.103-19.36 2.034-2.78 3.725-5.707 5.125-8.595zm-141.68 12.787c-45.28 6.767-90.67 7.142-136.048.265 17.098 14.243 42.385 30.798 67.867 30.798 25.64 0 51.08-16.762 68.18-31.064zm-157.93 5.75l-26.17 183.202c2.46-2.586 5.07-5.418 7.88-8.648 12.418-14.272 27.746-34.338 42.54-56.64 16.338-24.63 31.832-52.305 42.44-77.603-28.778-7.38-52.738-26.782-66.69-40.31zm179.497 0c-13.95 13.528-37.91 32.93-66.69 40.31 10.61 25.3 26.103 52.974 42.442 77.605 14.793 22.3 30.12 42.367 42.54 56.64 2.81 3.23 5.42 6.06 7.88 8.647l-26.172-183.2zm-198.95 8.89c-3.338 2.178-6.917 4.25-10.708 6.185-17.234 8.794-38.335 15.072-57.457 12.135-2.14-.33-4.216-.772-6.233-1.307-.297 11.435-.76 22.815-1.502 34.088l1.15 2.292c4.487 8.96 12.6 14.342 24.655 16.565 11.153 2.055 25.404.882 40.648-3.834l9.446-66.123zm218.405 0l9.445 66.123c15.244 4.716 29.496 5.89 40.65 3.834 12.055-2.223 20.167-7.605 24.655-16.565l1.148-2.29c-.743-11.274-1.204-22.654-1.502-34.09-2.015.536-4.09.98-6.23 1.308-19.123 2.937-40.224-3.34-57.458-12.135-3.79-1.934-7.37-4.007-10.707-6.185zm-113.34 34.32c-11.326 28.27-28.61 57.89-46.363 84.654-7.84 11.82-15.797 22.984-23.465 33.11 49.686-10.67 98.99-11 147.875-.075-7.65-10.106-15.59-21.246-23.41-33.036-17.753-26.763-35.037-56.383-46.363-84.654-1.374.065-2.752.103-4.138.103-1.387 0-2.765-.038-4.137-.103zm-183.21 42.56c-3.772 34.142-10.874 66.95-24.282 97.034 18.45 6.217 51.83 15.22 75.713 13.09l14.49-101.436c-14.543 3.57-28.552 4.41-41.135 2.09-9.224-1.7-17.784-5.3-24.786-10.778zm374.694 0c-7.003 5.478-15.562 9.077-24.788 10.778-12.582 2.32-26.59 1.48-41.132-2.09l14.49 101.435c23.88 2.13 57.262-6.873 75.71-13.09-13.407-30.083-20.51-62.89-24.28-97.033z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Meeple;

impl IconShape for Meeple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 54.99c-27 0-46.418 14.287-57.633 32.23-10.03 16.047-14.203 34.66-15.017 50.962-30.608 15.135-64.515 30.394-91.815 45.994-14.32 8.183-26.805 16.414-36.203 25.26C45.934 218.28 39 228.24 39 239.99c0 5 2.44 9.075 5.19 12.065 2.754 2.99 6.054 5.312 9.812 7.48 7.515 4.336 16.99 7.95 27.412 11.076 15.483 4.646 32.823 8.1 47.9 9.577-14.996 25.84-34.953 49.574-52.447 72.315C56.65 378.785 39 403.99 39 431.99c0 4-.044 7.123.31 10.26.355 3.137 1.256 7.053 4.41 10.156 3.155 3.104 7.017 3.938 10.163 4.28 3.146.345 6.315.304 10.38.304h111.542c8.097 0 14.026.492 20.125-3.43 6.1-3.92 8.324-9.275 12.67-17.275l.088-.16.08-.166s9.723-19.77 21.324-39.388c5.8-9.808 12.097-19.576 17.574-26.498 2.74-3.46 5.304-6.204 7.15-7.754.564-.472.82-.56 1.184-.76.363.2.62.288 1.184.76 1.846 1.55 4.41 4.294 7.15 7.754 5.477 6.922 11.774 16.69 17.574 26.498 11.6 19.618 21.324 39.387 21.324 39.387l.08.165.088.16c4.346 8 6.55 13.323 12.61 17.254 6.058 3.93 11.974 3.45 19.957 3.45H448c4 0 7.12.043 10.244-.304 3.123-.347 6.998-1.21 10.12-4.332 3.12-3.122 3.984-6.997 4.33-10.12.348-3.122.306-6.244.306-10.244 0-28-17.65-53.205-37.867-79.488-17.493-22.74-37.45-46.474-52.447-72.315 15.077-1.478 32.417-4.93 47.9-9.576 10.422-3.125 19.897-6.74 27.412-11.075 3.758-2.168 7.058-4.49 9.81-7.48 2.753-2.99 5.192-7.065 5.192-12.065 0-11.75-6.934-21.71-16.332-30.554-9.398-8.846-21.883-17.077-36.203-25.26-27.3-15.6-61.207-30.86-91.815-45.994-.814-16.3-4.988-34.915-15.017-50.96C302.418 69.276 283 54.99 256 54.99z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeepleArmy;

impl IconShape for MeepleArmy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.03 29.95c-8.9 0-15.3 4.7-19 10.54-3.3 5.26-4.62 11.36-4.91 16.76-10.04 5-21.16 10-30.14 15.1-6.92 4.3-17.07 10.2-17.25 18.4.8 6.3 9.28 8.6 13.9 10.05 5.13 1.5 10.83 2.6 15.75 3.1-4.92 8.5-11.48 16.3-17.25 23.8-6.63 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.92 8.1 12.95.3 26.7.1 39.98.1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.95 7.6 11.47 15.5 15.57 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.85 13.8-4.15 13.9-10.05-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.76-3.7-5.84-10.1-10.54-18.97-10.54zm164.07 0c-8.9 0-15.3 4.7-19 10.54-3.3 5.26-4.6 11.36-4.9 16.76-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.9 10.05 5.1 1.5 10.8 2.6 15.8 3.1-5 8.5-11.5 16.3-17.3 23.8-6.6 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.9 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.85 13.8-4.15 13.9-10.05-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.76-3.7-5.84-10.1-10.54-18.9-10.54zm164 0c-8.9 0-15.3 4.7-19 10.54-3.3 5.26-4.6 11.36-4.9 16.76-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.8 10.05 5.2 1.5 10.9 2.6 15.9 3.1-5 8.5-11.5 16.3-17.4 23.8-6.6 8.6-12.3 16.9-12.3 26.1.1 3.9.6 7.7 4.8 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.4-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.2-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.85 13.8-4.15 13.9-10.05-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.76-3.7-5.84-10.1-10.54-18.9-10.54zM92.03 190c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.9 10 5.1 1.5 10.8 2.6 15.7 3.1-4.9 8.5-11.4 16.3-17.2 23.8-6.6 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.9 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.95 7.6 11.47 15.5 15.57 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.97-10.6zm164.07 0c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.9 10 5.1 1.5 10.8 2.6 15.8 3.1-5 8.5-11.5 16.3-17.3 23.8-6.6 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.9 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.9-10.6zm164 0c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.8 10 5.2 1.5 10.9 2.6 15.9 3.1-5 8.5-11.5 16.3-17.4 23.8-6.6 8.6-12.3 16.9-12.3 26.1.1 3.9.6 7.7 4.8 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.4-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.2-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.9-10.6zM92.03 350c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.9 10 5.1 1.5 10.8 2.6 15.7 3.1-4.9 8.5-11.4 16.3-17.2 23.8-6.6 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.9 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.95 7.6 11.47 15.5 15.57 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.97-10.6zm164.07 0c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.9 10 5.1 1.5 10.8 2.6 15.8 3.1-5 8.5-11.5 16.3-17.3 23.8-6.6 8.6-12.4 16.9-12.4 26.1.1 3.9.6 7.7 4.9 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.3-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.1-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.9-10.6zm164 0c-8.9 0-15.3 4.7-19 10.6-3.3 5.2-4.6 11.3-4.9 16.7-10 5-21.2 10-30.1 15.1-7 4.3-17.1 10.2-17.3 18.4.8 6.3 9.3 8.6 13.8 10 5.2 1.5 10.9 2.6 15.9 3.1-5 8.5-11.5 16.3-17.4 23.8-6.6 8.6-12.3 16.9-12.3 26.1.1 3.9.6 7.7 4.8 8.1 13 .3 26.7.1 40 .1 5.9.5 8.7-2.1 11-6.8 3.4-6.9 8.2-16.9 15.4-24.5 6.9 7.6 11.4 15.5 15.5 24.4v.1c2.4 5.3 5.7 6.8 10.8 6.8l40.2-.1c4.3-.5 4.8-4.4 4.8-8.1 0-9.2-5.7-17.5-12.4-26.1-5.7-7.5-12.3-15.3-17.2-23.8 4.9-.5 10.6-1.6 15.7-3.1 4.8-1.8 13.8-4.1 13.9-10-1.2-9.4-10.5-14.5-17.2-18.4-9-5.1-20.1-10.1-30.2-15.1-.2-5.4-1.6-11.5-4.9-16.7-3.7-5.9-10.1-10.6-18.9-10.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeepleCircle;

impl IconShape for MeepleCircle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16c-7.5 0-12.8 3.96-16 8.88-2.7 4.42-3.8 9.56-4.1 14.12-8.4 4.2-17.8 8.41-25.3 12.71-5.9 3.61-14.4 8.59-14.6 15.49.6 5.31 7.8 7.24 11.7 8.47 4.3 1.26 9.1 2.19 13.3 2.6-4.2 7.16-9.7 13.71-14.6 19.98-5.5 7.25-10.4 14.25-10.4 21.95.1 3.3.5 6.6 4.2 6.8 10.8.3 22.4.1 33.6.1 4.9.5 7.3-1.7 9.3-5.7 2.7-5.8 6.9-14.2 12.9-20.6 5.8 6.4 9.6 13 13.1 20.5v.1c2 4.5 4.8 5.7 9.1 5.7l33.7-.1c3.6-.3 4.1-3.6 4.1-6.8 0-7.7-4.8-14.7-10.4-21.95-4.8-6.27-10.4-12.82-14.5-19.98 4.1-.41 8.9-1.34 13.2-2.6 4-1.56 11.6-3.5 11.7-8.47-1-7.92-8.9-12.21-14.5-15.49-7.6-4.3-16.9-8.51-25.4-12.71-.2-4.56-1.4-9.7-4.1-14.12-3.2-4.92-8.5-8.88-16-8.88zm138.4 92.1c-1.7 0-3.4.3-4.9 1.1-4.3 3.2-2.4 10.4-1.5 14.4 1.1 4.3 2.7 8.9 4.4 12.8-8.3-.1-16.7-1.6-24.6-2.7-9-1.1-17.5-1.9-24.2 2-2.8 1.7-5.4 3.7-3.8 7 5.2 9.5 11.2 19.5 16.8 29.2 2 4.5 5.1 5.4 9.5 5.2 6.4-.6 15.8-1.1 24.3.8-2.6 8.3-6.4 14.9-11.2 21.6l-.1.1c-2.8 4-2.5 7-.3 10.7l16.9 29.2c2.1 2.9 5.2 1.7 7.9.1 6.7-3.8 10.4-11.5 13.8-20 3.1-7.3 5.9-15.4 10.1-22.5 2.4 3.3 5.6 7 8.8 10.1 3.4 2.7 8.9 8.3 13.2 5.9 6.4-4.8 6.1-13.8 6.2-20.3-.1-8.7-1.1-18.9-1.7-28.3 3.8-2.5 7.7-6.1 10.2-10.6 2.6-5.3 3.4-11.8-.3-18.3-3.8-6.5-9.9-9.1-15.7-9.5-5.2-.1-10.2 1.5-14.3 3.6-7.9-5.2-16.2-11.3-23.7-15.6-4.6-2.5-10.5-5.9-15.8-6zm-277 .7c-5.5.2-10.8 3.5-15.1 5.9-7.57 4.4-15.82 10.4-23.78 15.6-4.07-2.1-9.01-3.6-14.22-3.5-5.89.4-11.95 2.9-15.79 9.5-3.74 6.3-2.93 12.9-.4 18.1 2.48 4.7 6.4 8.1 10.33 10.7-.63 9.3-1.8 19.7-1.75 28.2.16 7 .17 16.8 6.16 20.4 4.92 2.2 10.21-3.1 13.22-5.9 3.17-3.1 6.36-6.8 8.89-10.2 4.06 7.3 6.96 15.3 9.96 22.7 3.54 8.3 7.08 16.1 13.78 19.9 2.8 1.7 5.9 2.8 8.1-.1 5.6-9.4 11.4-19.6 17-29.3 2.8-3.9 2-7.1-.4-10.8-3.8-5.2-8.8-13.1-11.4-21.4 8.5-1.9 16.1-1.9 24.3-1.1h.1c5 .4 7.3-1.3 9.4-5.1l16.9-29.2c1.4-3.2-1.2-5.3-3.8-6.8-6.8-4-15.3-3.3-24.3-2-7.8 1-16.3 2.6-24.6 2.5 1.8-3.7 3.4-8.3 4.4-12.6.7-4.3 2.7-11.9-1.4-14.4-1.9-.8-3.8-1.1-5.6-1.1zm281.8 160.9c-1.2 0-2.3.5-3.2 1.8-5.6 9.3-11.3 19.5-16.9 29.2-2.9 3.9-2.1 7.1.3 10.8 3.7 5.2 8.8 13.1 11.4 21.4-8.4 1.9-16.1 1.9-24.3 1.1h-.1c-4.9-.4-7.3 1.3-9.4 5.1l-16.8 29.2c-1.5 3.3 1.1 5.4 3.8 6.9 6.7 3.9 15.2 3.3 24.2 2 7.9-1 16.3-2.6 24.6-2.5-1.7 3.7-3.3 8.3-4.4 12.6-.6 4.3-2.7 11.9 1.5 14.4 7.4 3.2 15-1.6 20.7-4.8 7.5-4.4 15.8-10.4 23.7-15.6 4 2.1 9.1 3.6 14.2 3.5 5.9-.4 12-2.9 15.7-9.4 3.8-6.5 3-13.1.4-18.3-2.5-4.6-6.4-8.1-10.3-10.6.6-9.4 1.7-19.7 1.7-28.3-.2-7-.2-16.8-6.1-20.4-4.9-2.1-10.2 3.1-13.2 5.9-3.2 3.1-6.4 6.8-8.9 10.2-4.1-7.2-7-15.2-10-22.6-3.5-8.4-7.1-16.1-13.8-20-1.6-.9-3.3-1.7-4.8-1.6zm-285.3.7c-1.5 0-3.2.8-4.7 1.6-6.8 3.9-10.41 11.6-13.85 20-3.05 7.3-5.88 15.4-10.07 22.6-2.4-3.4-5.57-7.1-8.71-10.1-3.44-2.8-8.97-8.3-13.27-6-6.42 4.9-6.11 13.8-6.17 20.3.1 8.8 1.09 18.9 1.62 28.4-3.8 2.5-7.62 6-10.08 10.6-2.59 5.3-3.46 11.8.29 18.3 3.62 6.4 9.73 9 15.49 9.4 5.3.2 10.21-1.5 14.43-3.6 7.75 5.2 16.14 11.4 23.52 15.6 6.2 3.4 14.7 8.3 20.8 4.9 4.3-3.2 2.4-10.4 1.5-14.4-1.1-4.3-2.7-8.9-4.4-12.8 8.3.1 16.7 1.6 24.6 2.7 9 1.1 17.5 1.9 24.2-2 2.8-1.6 5.3-3.7 3.9-7-5.3-9.5-11.3-19.6-16.9-29.3-1.9-4.4-5.1-5.3-9.5-5.1-6.4.7-15.7 1.1-24.2-.8 2.5-8.3 6.4-14.9 11.2-21.6v-.1c2.8-4.1 2.5-6.9.3-10.7L117 272.1c-.9-1.2-2-1.7-3.1-1.7zm163.2 114.1c-3.7.1-5.8 2.3-7.5 5.8-2.6 5.8-6.9 14.1-12.8 20.5-5.9-6.3-9.7-13-13.1-20.5h-.1c-2.1-4.5-4.7-5.7-9.1-5.6h-33.7c-3.5.3-4 3.6-4 6.7 0 7.8 4.8 14.8 10.4 22 4.8 6.3 10.4 12.8 14.5 20-4.1.4-8.9 1.3-13.1 2.5-4.1 1.6-11.7 3.6-11.8 8.5 1 8 8.9 12.2 14.5 15.5 7.6 4.3 16.9 8.5 25.4 12.8.2 4.5 1.4 9.6 4.1 14 3.3 4.9 8.5 8.9 16 8.9 7.4.1 12.7-3.9 15.9-8.7 2.8-4.5 3.8-9.6 4.1-14.3 8.4-4.1 17.9-8.3 25.3-12.6 6-3.7 14.5-8.6 14.6-15.5-.6-5.3-7.8-7.3-11.7-8.5-4.3-1.2-9.1-2.2-13.3-2.6 4.2-7.2 9.7-13.7 14.6-20 5.5-7.2 10.4-14.2 10.4-21.9 0-3.3-.5-6.5-4.1-6.9-10.9-.2-22.6 0-33.8 0-.6-.1-1.2-.1-1.7-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeepleGroup;

impl IconShape for MeepleGroup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 32c-12.442 0-21.39 6.583-26.559 14.852-4.622 7.394-6.544 15.974-6.92 23.486-14.104 6.974-29.73 14.006-42.31 21.195-6.6 3.771-12.353 7.562-16.684 11.639-4.33 4.075-7.527 8.665-7.527 14.08 0 2.304 1.125 4.183 2.393 5.56 1.269 1.378 2.79 2.449 4.521 3.448 3.463 1.998 7.83 3.663 12.633 5.103 7.135 2.141 15.124 3.734 22.072 4.414-6.91 11.908-16.106 22.845-24.168 33.325C36.135 181.213 28 192.827 28 205.73c0 1.844-.019 3.283.145 4.729.163 1.446.577 3.252 2.03 4.682 1.455 1.43 3.235 1.813 4.684 1.97 1.45.16 2.91.141 4.784.141h51.402c3.731 0 6.463.227 9.273-1.58 2.811-1.807 3.835-4.274 5.838-7.961l.041-.074.037-.076s4.48-9.11 9.827-18.15c2.672-4.52 5.575-9.022 8.1-12.212 1.262-1.594 2.443-2.86 3.294-3.574.26-.218.377-.257.545-.35.167.093.285.132.545.35.85.714 2.032 1.98 3.295 3.574 2.524 3.19 5.427 7.691 8.1 12.211 5.345 9.04 9.826 18.15 9.826 18.15l.037.077.04.072c2.004 3.687 3.019 6.14 5.811 7.951s5.519 1.59 9.198 1.59h51.627c1.843 0 3.28.021 4.72-.139s3.226-.557 4.664-1.996c1.438-1.438 1.835-3.225 1.994-4.664.16-1.439.143-2.877.143-4.72 0-12.904-8.135-24.52-17.451-36.631-8.061-10.48-17.257-21.416-24.168-33.325 6.948-.68 14.937-2.27 22.072-4.412 4.803-1.44 9.17-3.108 12.633-5.105 1.732-1 3.253-2.068 4.521-3.445 1.27-1.378 2.393-3.257 2.393-5.561 0-5.415-3.196-10.005-7.527-14.08-4.331-4.077-10.085-7.87-16.684-11.64-12.58-7.19-28.206-14.222-42.31-21.196-.376-7.512-2.299-16.09-6.92-23.484C149.39 38.582 140.442 32 128 32zm256 0c-12.442 0-21.39 6.583-26.559 14.852-4.622 7.394-6.544 15.974-6.92 23.486-14.104 6.974-29.73 14.006-42.31 21.195-6.6 3.771-12.353 7.562-16.684 11.639-4.33 4.075-7.527 8.665-7.527 14.08 0 2.304 1.125 4.183 2.393 5.56 1.269 1.378 2.79 2.449 4.521 3.448 3.463 1.998 7.83 3.663 12.633 5.103 7.135 2.141 15.124 3.734 22.072 4.414-6.91 11.908-16.106 22.845-24.168 33.325C292.135 181.213 284 192.827 284 205.73c0 1.844-.019 3.283.145 4.729.163 1.446.577 3.252 2.03 4.682 1.455 1.43 3.235 1.813 4.684 1.97 1.45.16 2.91.141 4.784.141h51.402c3.731 0 6.463.227 9.273-1.58 2.811-1.807 3.836-4.274 5.838-7.961l.041-.074.037-.076s4.48-9.11 9.827-18.15c2.672-4.52 5.575-9.022 8.1-12.212 1.262-1.594 2.443-2.86 3.294-3.574.26-.218.377-.257.545-.35.167.093.285.132.545.35.85.714 2.032 1.98 3.295 3.574 2.524 3.19 5.427 7.691 8.1 12.211 5.345 9.04 9.826 18.15 9.826 18.15l.037.077.04.072c2.003 3.687 3.019 6.14 5.811 7.951s5.519 1.59 9.198 1.59h51.627c1.843 0 3.28.021 4.72-.139s3.226-.557 4.664-1.996c1.438-1.438 1.835-3.225 1.994-4.664.16-1.439.143-2.877.143-4.72 0-12.904-8.135-24.52-17.451-36.631-8.061-10.48-17.257-21.416-24.168-33.325 6.948-.68 14.937-2.27 22.072-4.412 4.803-1.44 9.17-3.108 12.633-5.105 1.732-1 3.253-2.068 4.521-3.445 1.27-1.378 2.393-3.257 2.393-5.561 0-5.415-3.197-10.005-7.527-14.08-4.331-4.077-10.085-7.87-16.684-11.64-12.58-7.19-28.206-14.222-42.31-21.196-.376-7.512-2.299-16.09-6.92-23.484C405.39 38.582 396.442 32 384 32zM128 294c-12.442 0-21.39 6.583-26.559 14.852-4.622 7.394-6.544 15.974-6.92 23.486-14.104 6.974-29.73 14.006-42.31 21.195-6.6 3.771-12.353 7.562-16.684 11.639-4.33 4.075-7.527 8.665-7.527 14.08 0 2.304 1.125 4.183 2.393 5.56 1.269 1.378 2.79 2.449 4.521 3.448 3.463 1.998 7.83 3.663 12.633 5.103 7.135 2.141 15.124 3.734 22.072 4.414-6.91 11.908-16.106 22.845-24.168 33.325C36.135 443.213 28 454.827 28 467.73c0 1.844-.019 3.283.145 4.729.163 1.446.577 3.25 2.03 4.68 1.455 1.43 3.235 1.815 4.684 1.972 1.45.16 2.91.141 4.784.141h51.402c3.731 0 6.463.227 9.273-1.58 2.811-1.807 3.835-4.274 5.838-7.961l.041-.074.037-.076s4.48-9.11 9.827-18.15c2.672-4.52 5.575-9.022 8.1-12.212 1.262-1.594 2.443-2.86 3.294-3.574.26-.218.377-.257.545-.35.167.093.285.132.545.35.85.714 2.032 1.98 3.295 3.574 2.524 3.19 5.427 7.691 8.1 12.211 5.345 9.04 9.826 18.15 9.826 18.15l.037.077.04.072c2.004 3.687 3.019 6.14 5.811 7.951s5.519 1.59 9.198 1.59h51.627c1.843 0 3.28.021 4.72-.139s3.226-.559 4.664-1.998c1.438-1.438 1.835-3.223 1.994-4.662.16-1.439.143-2.877.143-4.72 0-12.904-8.135-24.52-17.451-36.631-8.061-10.48-17.257-21.416-24.168-33.325 6.948-.68 14.937-2.27 22.072-4.412 4.803-1.44 9.17-3.108 12.633-5.105 1.732-1 3.253-2.068 4.521-3.445 1.27-1.378 2.393-3.257 2.393-5.561 0-5.415-3.196-10.005-7.527-14.08-4.331-4.077-10.085-7.87-16.684-11.64-12.58-7.19-28.206-14.222-42.31-21.196-.376-7.512-2.299-16.09-6.92-23.484C149.39 300.582 140.442 294 128 294zm256 0c-12.442 0-21.39 6.583-26.559 14.852-4.622 7.394-6.544 15.974-6.92 23.486-14.104 6.974-29.73 14.004-42.31 21.193-6.6 3.771-12.353 7.564-16.684 11.64-4.33 4.076-7.527 8.666-7.527 14.081 0 2.304 1.125 4.183 2.393 5.56 1.269 1.378 2.79 2.449 4.521 3.448 3.463 1.998 7.83 3.663 12.633 5.103 7.135 2.141 15.124 3.734 22.072 4.414-6.91 11.908-16.106 22.845-24.168 33.325C292.135 443.213 284 454.827 284 467.73c0 1.844-.019 3.283.145 4.729.163 1.446.577 3.25 2.03 4.68 1.455 1.43 3.235 1.815 4.684 1.972 1.45.16 2.91.141 4.784.141h51.402c3.731 0 6.463.227 9.273-1.58 2.811-1.807 3.836-4.274 5.838-7.961l.041-.074.037-.076s4.48-9.11 9.827-18.15c2.672-4.52 5.575-9.022 8.1-12.212 1.262-1.594 2.443-2.86 3.294-3.574.26-.218.377-.257.545-.35.167.093.285.132.545.35.85.714 2.032 1.98 3.295 3.574 2.524 3.19 5.427 7.691 8.1 12.211 5.345 9.04 9.826 18.15 9.826 18.15l.037.077.04.072c2.003 3.687 3.019 6.14 5.811 7.951s5.519 1.59 9.198 1.59h51.627c1.843 0 3.28.021 4.72-.139s3.226-.559 4.664-1.998c1.438-1.438 1.835-3.223 1.994-4.662.16-1.439.143-2.877.143-4.72 0-12.904-8.135-24.52-17.451-36.631-8.061-10.48-17.257-21.416-24.168-33.325 6.948-.68 14.937-2.273 22.072-4.414 4.803-1.44 9.17-3.106 12.633-5.103 1.732-1 3.253-2.068 4.521-3.445 1.27-1.378 2.393-3.257 2.393-5.561 0-5.415-3.197-10.005-7.527-14.08-4.331-4.077-10.085-7.87-16.684-11.64-12.58-7.19-28.206-14.222-42.31-21.196-.376-7.512-2.299-16.09-6.92-23.484C405.39 300.582 396.442 294 384 294z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeepleKing;

impl IconShape for MeepleKing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 28.727l-30.854 30.855-36.058-24.041L199.378 87h113.243l10.291-51.459-36.058 24.041L256 28.727zM189.822 105c-3.877 10.797-5.815 21.922-6.41 32.184 47.396 17.569 95.091 19.4 145.18.064-.591-10.279-2.529-21.428-6.414-32.248H189.822zm154.98 41.05L289.669 311.46l-16-31.998-17.668 53-17.668-53-16 31.998-54.871-164.613-.264-.791c-26.01 12.556-53.086 25.22-75.662 38.12-14.32 8.184-26.805 16.415-36.203 25.26C45.934 218.28 39 228.24 39 239.99c0 5 2.44 9.075 5.19 12.065 2.753 2.99 6.054 5.312 9.812 7.48 7.515 4.336 16.99 7.95 27.412 11.076 15.483 4.646 32.823 8.1 47.9 9.577-14.996 25.84-34.953 49.575-52.447 72.316C56.65 378.786 39 403.99 39 431.99c0 4-.043 7.123.31 10.26.356 3.137 1.257 7.053 4.41 10.156 3.156 3.104 7.017 3.938 10.163 4.28 3.146.345 6.316.304 10.38.304h111.542c8.097 0 14.026.493 20.125-3.43 6.1-3.92 8.324-9.275 12.67-17.275l.088-.16.08-.166s9.723-19.77 21.324-39.389c5.8-9.808 12.097-19.576 17.574-26.498 2.74-3.46 5.304-6.204 7.15-7.754.564-.472.82-.56 1.184-.76.363.2.62.288 1.184.76 1.846 1.55 4.41 4.294 7.15 7.754 5.477 6.922 11.774 16.69 17.574 26.498 11.6 19.618 21.324 39.389 21.324 39.389l.08.164.088.16c4.346 8 6.55 13.323 12.61 17.254 6.058 3.93 11.974 3.45 19.957 3.45H448c4 0 7.12.044 10.244-.303 3.123-.347 6.997-1.21 10.12-4.332 3.12-3.122 3.983-6.999 4.33-10.122.347-3.122.306-6.244.306-10.244 0-28-17.65-53.203-37.867-79.486-17.493-22.74-37.45-46.475-52.447-72.316 15.077-1.478 32.417-4.93 47.9-9.577 10.422-3.125 19.897-6.739 27.412-11.074 3.758-2.168 7.059-4.49 9.81-7.48 2.754-2.99 5.192-7.065 5.192-12.065 0-11.75-6.934-21.71-16.332-30.554-9.398-8.846-21.883-17.077-36.203-25.26-22.576-12.9-49.652-25.567-75.662-38.123zM190.3 158.433l35.369 106.107 16-31.998L256 275.537l14.332-42.996 16 31.998 35.277-105.828c-44.795 14.197-88.786 12.909-131.31-.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Megaphone;

impl IconShape for Megaphone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383.46 123.668l-4.66 17.387C430.868 155.005 467 202.095 467 256c0 53.904-36.133 100.994-88.2 114.945l4.66 17.387C443.31 372.295 485 317.962 485 256c0-61.963-41.69-116.295-101.54-132.332zM307 147.102c-38.21 31.665-62.18 50.07-92.316 59.488-30.27 9.46-65.937 10.324-129.684 10.4v78.02c63.747.076 99.415.94 129.684 10.4 30.136 9.418 54.107 27.823 92.316 59.488V147.102zm64.035 22.93l-4.658 17.388C397.46 195.748 419 223.822 419 256s-21.54 60.252-52.623 68.58l4.658 17.387C409.902 331.552 437 296.237 437 256c0-40.238-27.098-75.552-65.965-85.967zm-12.424 46.364l-4.657 17.387C364.05 236.49 371 245.547 371 256s-6.95 19.51-17.047 22.217l4.658 17.387c17.885-4.792 30.392-21.09 30.392-39.604 0-18.513-12.507-34.812-30.39-39.604zM67 216.998L60 217c-1.75 0-2.906.44-4.574 1.898-1.668 1.46-3.578 4.104-5.2 7.756C46.977 233.96 45 245 45 256s1.978 22.04 5.225 29.346c1.623 3.652 3.533 6.296 5.2 7.756C57.096 294.562 58.25 295 60 295l7 .002v-78.004zm258 17.316v43.372c3.018-.413 5.432-.966 6.975-1.737 2.39-1.196 3.554-2.3 4.8-5.104C338.022 268.04 339 263.25 339 256s-.978-12.04-2.225-14.846c-1.246-2.804-2.41-3.908-4.8-5.103-1.543-.77-3.957-1.323-6.975-1.736zM87.533 313.027L115.027 423h62.252c-3.437-10.215-11.674-22.83-20.997-38.37-11.1-18.5-22.693-41.56-24.824-71.13-12.897-.304-27.38-.428-43.927-.473z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeltingIceCube;

impl IconShape for MeltingIceCube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.7 47.51c-18.5 1.07-20 4.26-25.8 21.09l-61.08 184c-4.93 31.5-43.19 39.2-35.94 75.4 4.32 17.6 38.84 14 44.66 31.1 8.92 26.4-44.79 59.6-25.46 79.7 21.62 22.4 59.92-33.3 90.02-25.2 21.6 5.8 22.5 69.5 44.3 74.4 40.8 9.2 79.6-60.3 119.5-74.3 57.8-19.3 104.6 59.7 134.8 40.7 18.4-13.3-1-39.2-4.4-67.9 1.9-36.6 72.6-21.7 57.7-53.6-9.4-11.6-23.5-18.7-40.4-22.7l39-117.6c4.6-13.6 1.3-20.9-8-27.9L335.9 54.6c-9.1-7.26-16.5-11.45-24.2-13.65-51.4-5.4-110.3 3.4-164 6.56zM271 56.74c14.5 0 25.4 1.17 35.4 4.14 18.9 5.63 34.3 17.44 63.9 40.52 67 52 91.9 73.9 37 78.3-65.6 5.5-112.4 5.5-142.9-20.2l-76.6-64.67c-23.9-20.23-29-32.42 26-35.67 24.4-1.41 42.6-2.46 57.2-2.42zM140.9 83.23c15.7 2.9 41.7 27.67 48.7 33.67 97 83 96 85.3 56.6 190.1-2.9 7.6-5.5 14.5-7.9 20.7-6.4.5-12.8.5-19.2.1 5.6-9.4 9.4-20 11.2-25.4 16.5-49.9 11-92 .2-113-4.8-9.2-10.2-13.6-13.8-14.7-18.4 8.3-17.1 31.8-37 38.4-26.5 6.1-51-13.4-70.7 8.9-17.04 22-13.41 39.3 1.2 58.4 6.2 8.1 14.3 16 23 23.7-16.3-7-31.7-14.3-45.82-20.5-11.37-15.4-11.24-28.4-3.79-50.5L126.4 105c4.5-13.77 7.6-21.67 14.5-21.77zm172.4 19.97c-19.6-.3-31.7 9.7-36 20.5-3.1 7.8-2.3 16.2 3.7 23.8 5.9 7.4 17.7 14.3 37.4 16.2 30.1 2.9 52.4 2.6 66.9.1 24.2-4.2 24.9-10.5 8.6-24.5-9.9-8.3-26.5-18.1-48.4-28.1-10.4-4.4-21.5-7.7-32.2-8zm104 92.9c9.5.1 17 .7 22.7 2.3 23.4 6.6 16.5 29.2-3.6 89.8-2.3 6.8-4.4 13.2-6.4 19.2-5.9-.7-12-1.2-18.3-1.4 5.5-13.5 10.3-29 14.1-46.5 4.6-17.6-7.7-44.3-25.6-30.6-4.5 3.7-8.9 10.1-11.1 20.9-3 13.9-12.5 29.2-25.5 41.7-32.3 22.2-72.6 27.5-107.1 33.8l31-83.4c13.9-37.4 18.2-39.2 95.1-44.3 13.8-.9 25.2-1.5 34.7-1.5zm-105.7 33.6c-5.9 8-5.7 21.7-.8 34.2 5.7 14.3 12.6 17.3 21.2 16.8 8.6-.3 19.7-6.2 28.1-14.7 8.4-8.6 14-19.5 14.3-27.2.1-9.9-8-13.6-15.4-15.8-15-3.4-37.3-6.3-47.4 6.7zm-1.4 202.4c-2.9 0-5.6.6-7.9 2.1-9.2 5.9-1.9 25.4 6.7 32.2 9.1 7.2 31.4 10 34.9-1.1 4.4-13.9-17.9-33.1-33.7-33.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeltingMetal;

impl IconShape for MeltingMetal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 19v228h25.5c6.96 61.3 40.5 114.1 88.4 145.4l12.1 61.3-95.35-46.4a9.798 9.145 26.09 0 0-4.66-10.5 9.798 9.145 26.09 0 0-13.18 2.9 9.798 9.145 26.09 0 0 3.67 12.8 9.798 9.145 26.09 0 0 10.55-.1L144.5 496h216.6l33.4-22.3a8.636 11.2 54.07 0 0 .3 1.9 8.636 11.2 54.07 0 0 12.8 3.6 8.636 11.2 54.07 0 0 7.2-13 8.636 11.2 54.07 0 0-3.3-3.9l36.5-24.5-89.6 26.2 32.4-57.5-76.5 43.6 6.2-39.1c66.9-25.1 116.3-88.1 125-164H471V19h-30v155.4C420.1 88.03 345.3 23.87 256 23.87S91.93 87.95 71 174.2V19H41zm215 20.54c96.6 0 175.2 81.96 175.2 183.76 0 76.6-44.5 142-107.8 169.7l4.5-28.1L272 464c.1-47.1 1.5-159.3 34.6-204.7 40.7-16.6 68.4-52.4 68.4-93.3 0-56.3-52.6-103-119-103s-119 46.7-119 103c0 40.9 27.7 76.7 68.4 93.3 33.1 45.4 34.5 157.6 34.6 204.7l-51.8-128 .7 52.9-52.5-90 14.1 71.2c-42.3-33.6-69.66-86.7-69.66-146.8C80.84 121.5 159.4 39.54 256 39.54zM170.7 306.3a11.2 8.634 63.66 0 0-.9.1 11.2 8.634 63.66 0 0-5.7 11.9 11.2 8.634 63.66 0 0 11.6 9.4 11.2 8.634 63.66 0 0 5.8-12 11.2 8.634 63.66 0 0-10.8-9.4zm181 30.9a8.998 12.75 27.2 0 0-10.5 7.9 8.998 12.75 27.2 0 0 2.2 15.5 8.998 12.75 27.2 0 0 13.8-7.3 8.998 12.75 27.2 0 0-2.2-15.4 8.998 12.75 27.2 0 0-3.3-.7zM34.96 348.5a11.06 5.999 47.86 0 0-3.04 1 11.06 5.999 47.86 0 0 2.97 12.2 11.06 5.999 47.86 0 0 11.87 4.2 11.06 5.999 47.86 0 0-2.97-12.3 11.06 5.999 47.86 0 0-8.83-5.1zm363.14 26.3a6.561 14.62 40.07 0 0-12 7.8 6.561 14.62 40.07 0 0-4.4 15.4 6.561 14.62 40.07 0 0 14.5-7 6.561 14.62 40.07 0 0 4.4-15.4 6.561 14.62 40.07 0 0-2.5-.8zm81.2 59.7a7.525 16.82 50.66 0 0-15.5 7.8 7.525 16.82 50.66 0 0-5.7 15.7 7.525 16.82 50.66 0 0 18.7-7.1 7.525 16.82 50.66 0 0 5.7-15.7 7.525 16.82 50.66 0 0-3.2-.7zm-404.79 18a13.68 8.998 27.81 0 0-7.87 3.8 13.68 8.998 27.81 0 0 7.9 14.3 13.68 8.998 27.81 0 0 16.3-1.5 13.68 8.998 27.81 0 0-7.9-14.4 13.68 8.998 27.81 0 0-8.43-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Menhir;

impl IconShape for Menhir {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.502 17.773c-44.12.506-112.97 320.03-100.887 386.12 10.002 54.708 84.118 85.005 133.518 89.68 49.062 4.644 114.82-14.037 126.773-100.86l-7.035 4.04c-.863 1.036-4.473 5.37-9.29 11.084-4.864 5.77-9.245 11.08-12.188 14.186l-.01.01c-.295.312-.594.627-.86.892.433-.43.698-.71.853-.88-.13.162-.287.38-.412.656-.39.86-.95 2.25-1.555 3.895-1.213 3.292-2.647 7.642-3.988 11.91-2.684 8.538-5.018 16.766-5.018 16.766l-2.334 8.232-34.18-7.846-22.105 19.13-38.524-7.142 31.445-10.533 24.308-21.038 26.528 6.088c.954-3.25 1.25-4.41 2.71-9.05 1.39-4.423 2.874-8.952 4.27-12.737.697-1.893 1.362-3.59 2.058-5.12.696-1.533.725-2.56 3.22-5.054.074-.077 6.704-7.657 12.022-13.964 5.318-6.307 10.27-12.252 10.27-12.252l1.035-1.238 20.566-11.817c.035-1.1.074-2.198.093-3.317.154-9.013-6.625-36.675-17.723-72.682l-.414 3.11-36.853 7.065-2.662 11.654-17.548-4.01 5.283-23.11 35.654-6.838 3.114-23.37 2.053.275c-5.364-15.942-11.263-32.673-17.592-49.64l-1.83 5.323-17.023-5.85 7.726-22.474 2.678.92c-10.27-26.297-21.314-52.413-32.593-75.998l-3.32 6.482 15.683 23.94-52.146 19.85 26.675-25.882-11.006-16.797 14.15-27.624c-7.455-14.38-14.925-27.348-22.248-38.298l-13.034 8.812.305-25.86c-10.21-11.97-19.914-18.937-28.61-18.837zm82.244 208.148l22.543 18.314-16.194 3.414-12.586 17.08-36.42-.568.28-17.998 27.15.423zm40.95 94.757l15.833 1.582-1.792 17.907-4.035-.402-17.22 31.104-30.75-20.13-31.03 7.79 31.545-28.964 23.877 15.63zM255.6 389.12l25.033 19-22.643 1.122-26.937 18.248-10.096-14.903z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mermaid;

impl IconShape for Mermaid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193.469 28.412c-17.378 4.426-17.777 17.713-24.166 28.545 15.713 3.49 31.499 5.431 47.31 6.824-19.026 2.612-37.99 5.671-57.69 3.434-3.78 2.08-8.637 3.668-15.062 4.521-38.245 5.079-85.586-7.08-85.586-7.08C73 78.528 89.938 89.776 108.242 98.553c20.597 2.879 41.542 4.01 62.596 4.605-14.231 1.502-28.446 3.14-42.775 3.756 32.652 11.983 65.808 17.573 100.643 15.921-6.721 12.789-23.731 33.608-33.272 39.397-31.955-3.837-47.598-15.35-68.774-31.885l-11.078 14.184c25.514 18.283 58.257 33.97 83.658 36.12 12.047-5.934 21.5-16.053 29.97-26.266l-.044 1.138c19.632 8.81 23.686 9.035 41.809.64 12.495 8.096 28.717 9.24 32.097-6.782 17.973 16.734 25.381 23.735 43.123 32.507 28.711-11.692 55.616-30.207 76.448-46.279l-11.014-14.234c-21.06 15.793-43.916 32.285-64.316 40.746-17.586-9.322-21.863-16.197-34.504-28.453-4.613-9.585-14.124-13.605-22.29-14.487-6.373 5.265-14.388 8.419-22.765 7.182-10.082-1.488-17.546-8.862-21.58-17.723-4.034-8.86-5.23-19.638-3.299-30.898 1.932-11.26 6.675-21.16 13.475-28.422 6.8-7.261 16.363-12.121 26.445-10.633 10.082 1.489 17.55 8.862 21.584 17.723 1.473 3.235 2.563 6.728 3.266 10.404a87.625 87.625 0 0 0 2.601-6.926c7.034-29.675-21.68-38.714-54.35-39.08-20.574.29-43.074 2.777-62.427 7.604zm187.578 7.5c-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15 8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15zM269.453 61.375c-3.875 4.138-7.39 10.945-8.771 18.996-1.382 8.05-.317 15.534 1.982 20.584 2.3 5.05 5.24 7.239 8.135 7.666 2.895.427 6.421-.807 10.297-4.945 3.875-4.139 7.392-10.944 8.773-18.995 1.381-8.05.317-15.535-1.982-20.585-2.3-5.05-5.24-7.237-8.135-7.665-4.243-.231-8.269 2.82-10.299 4.944zm80.23 22.79a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm-79.222 91.854c-14.977 6.472-25.22 5.696-39.422.01 1.657 6.73 4.533 13.244 9.236 19.672-7.69 7.912-9.967 15.823-12.443 23.735 9.483-6.672 20.662-11.111 31.904-13.77 11.493-2.718 23.226-3.79 34.174-3.5 6.357.169 12.435.81 18.06 1.842-4.633-6.1-10.807-12.073-19.199-16.899a90.853 90.853 0 0 0 2.631-6.26c-8.403 1.84-18.083-1.48-24.941-4.83zm16.525 43.493c-19.483.122-39.377 5.801-53.25 17.898-10.861 9.47-16.423 26.89-13.629 41.027 11.581 58.596 119.687 76.114 116.93 135.78-1.093 23.664-27.954 44.51-51.144 49.345-24.584 5.126-70.604-26.283-70.604-26.283 28.785-55.458-.113-92.09-25.201-113.807-2.41 30.637-14.38 61.716-5.627 91.172-38.792-3.27-54.86 4.952-98.57-3.873 18.825 25.928 63.62 59.958 116.382 40.276 0 0 40.045 37.29 65.422 39.492 45.336 3.934 105.162-9.596 127.28-49.365 29.11-52.343-3.15-124.766-33.178-176.588-10.785-18.612-28.317-36.327-49.1-41.88-8.083-2.158-16.854-3.25-25.71-3.194zM72.008 237.058c-8.284 0-15 6.716-15 15 0 8.285 6.716 15 15 15 8.284 0 15-6.715 15-15 0-8.284-6.716-15-15-15zm-15.682 76.297a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm36.381 39.02a9 9 0 1 0 0 18 9 9 0 0 0 0-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeshNetwork;

impl IconShape for MeshNetwork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.6 36.48c-22.2 0-40 17.8-40 40 0 22.23 17.8 40.02 40 40.02s40-17.79 40-40.02c0-22.2-17.8-40-40-40zm-56.7 51.97c-53.2 18.95-108.7 34.95-169 45.25 1.8 4.6 2.8 9.6 2.8 14.8 0 4.8-.8 9.4-2.4 13.6 96.2 12.9 182.8 36 257.8 71.9 1.6-5.9 4.5-11.3 8.3-15.9-71.2-34.3-152.4-57.2-241.5-70.7 53.2-10.6 102.8-25.4 150.4-42.2-3-5.2-5.2-10.79-6.4-16.75zm97.8 28.85c-4.3 4.3-9.2 8-14.6 10.8 15.3 24.8 26 50.6 31.8 77.8 4.3-1.5 9-2.4 13.8-2.4 1.4 0 2.8.1 4.1.2-6.3-30.3-18.2-59.1-35.1-86.4zm-305 8.2c-12.81 0-23 10.2-23 23s10.19 23 23 23c12.8 0 23-10.2 23-23s-10.2-23-23-23zm34.7 44.6c-3.2 5.2-7.5 9.6-12.6 12.9 32.1 32.6 66.1 65.9 120.6 80.4 0-.9-.1-1.9-.1-2.8 0-5.3 1.3-10.3 3.5-14.8-49.5-13.5-80-43.8-111.4-75.7zm-57 12.7c-21.76 67.8-27.12 137.2-32.29 206 2.13-.5 4.34-.7 6.6-.7 3.99 0 7.81.7 11.35 2.1 5.19-68.4 10.57-136 31.29-201.1-6.18-.8-11.94-3-16.95-6.3zm358.3 38.7c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-41 22.2c-28.4 5.8-56.6 10.8-86 10.5.4 2.1.6 4.2.6 6.4 0 4-.7 7.9-2.1 11.5 32 .6 62-4.7 91.2-10.8-2.4-5.1-3.7-10.8-3.7-16.8zm-118.9 1.4c-8.7 0-15.5 6.8-15.5 15.5s6.8 15.5 15.5 15.5 15.5-6.8 15.5-15.5-6.8-15.5-15.5-15.5zM399 262.7c-55.6 45.9-106.6 94.4-143.1 150.7 5.9 1.8 11.2 5 15.6 9.1 34.9-53.5 84.2-100.8 138.8-145.9-4.7-3.7-8.6-8.5-11.3-13.9zm-152 15c-47.9 46.4-109.6 83.2-172.85 119.5 4.36 4.2 7.56 9.6 9.05 15.6C146.8 376.4 210 338.9 260 290.1c-5.4-2.9-9.9-7.2-13-12.4zm179.4 6.7c1.3 28.8 6 57.3 14.3 85.2 4.8-3.4 10.7-5.6 17-6-7.6-26-11.9-52.3-13.2-79.1-2.9.7-5.8 1-8.8 1-3.2 0-6.3-.4-9.3-1.1zm33.3 97.1c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zM51.71 406.1c-8.07 0-14.42 6.4-14.42 14.4 0 8.1 6.35 14.5 14.42 14.5s14.42-6.4 14.42-14.5c0-8-6.35-14.4-14.42-14.4zm376.49.3c-44.7 24.5-93.8 32.6-144.9 35.6.9 3.4 1.4 6.9 1.4 10.5 0 2.6-.3 5.1-.7 7.5 53.1-3.1 105.8-11.6 154.3-38.5-4.7-4-8.2-9.2-10.1-15.1zM83.91 416.8c.14 1.2.22 2.4.22 3.7 0 5-1.15 9.7-3.19 14l121.86 20.3c-.1-.8-.1-1.5-.1-2.3 0-5.4 1.1-10.6 3-15.4zm159.79 12.7c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalBoot;

impl IconShape for MetalBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269 23.95l-87.7.1c1.1 61.4-2.4 116.05-14 159.45-9 34-23.6 61.6-45.2 79-.1 9.5-.8 19-2.1 28.6-3.1 22.9-13.5 43.2-22.75 65 23.55-1.3 43.55-11.6 65.35-24.8 20.6-12.5 42.4-27.5 68.9-37.8-.2-1.4-.4-2.9-.4-4.2-1.9-23.7.1-52.2 4.1-83.2C243 147.6 257.9 81.05 269 23.95zm-105.7.1H80.65c-1.6 36.5 10.1 76.15 21.65 119.15 8.3 30.4 16.5 62.3 19 95.7 12.6-14.3 21.8-34.4 28.6-60 10.8-40.6 14.4-94.15 13.4-154.85zm41.8 14.9a9 9 0 0 1 .1 0 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm-2.4 52.5a9 9 0 0 1 .1 0 9 9 0 0 1 9 8.95 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-8.95zm-5.9 56.25a9 9 0 0 1 .1 0 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm-16 60.6a9 9 0 0 1 .1 0 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm-32 48.1a9 9 0 0 1 .1 0 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm85.7 55.3c-22.6 9.6-42.3 22.9-62.6 35-24.6 14.9-50.5 27.9-81.85 27.5-8.2 22.7-13.8 48-10 79.9h82.35c13.2-41.4 42.9-78 95.1-106.8-1.4-1-2.9-2.1-4.3-3.2-9.6-7.6-15.3-18.8-18.7-32.4zm40.2 46.7c-52.1 26.2-80.4 58.5-93.6 95.7h127.4c0-14.3.6-29 3.9-43.6 2.6-11.5 7-22.9 14-33.9-16.1-3.3-33.5-8.1-51.7-18.2zm70.8 21.8c-8.2 10.9-12.8 22.3-15.5 34.3-2.8 12.5-3.5 25.8-3.5 39.6h104c-2-17.8-12.5-39.8-28.1-52.1-17.8-13.9-36-17.9-56.9-21.8zm8.3 10.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-254.05 35a9 9 0 0 1 .1 0 9 9 0 0 1 8.95 9 9 9 0 0 1-8.95 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm44.85.6a9 9 0 0 1 .1 0 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 8.9-9zm201.5.1a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zM72.05 470v18.1H440V470z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalDetector;

impl IconShape for MetalDetector {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.16 22.46c-.91 0-2.2.1-2.44.1l-.33.1h-.34c-8.94.49-17.59 2.17-24.97 5.66-3.03 1.43-4.94 3.08-5.79 4.59v.42l.12.19.1.19c.61 1.15 2.35 3.12 4.42 6.28l.31.46c-.08-.13-.16-.24-.24-.36 18.91 25.84 37.69 51.69 56.6 77.51h.1s0 .1.1.1l32.9-12c-3.9-7.77-7.9-15.52-11.9-23.26-3.4 1.5-7.2 2.38-11.1 2.38-14.79 0-27.27-11.81-27.27-26.58 0-10 5.78-18.54 14.07-23.08-1.3-2.58-2.69-5.16-3.99-7.75-.7-1.13-2.8-2.51-5.9-3.34-3.38-.95-7.06-1.36-10.93-1.46h-.54l-3.03-.1zm37.54 27.2c-5.4 0-9.3 3.93-9.3 8.58s3.9 8.58 9.3 8.58 9.3-3.93 9.3-8.58-3.9-8.58-9.3-8.58zM146.1 122l-30.2 10.9c11 15.2 22.1 30.3 33.2 45.5l128.7-28.5-13.6-17.6c-31.7 6.8-63.3 13.5-94.9 20.3l-6.8 1.5-3.1-6.2c-4.4-8.7-8.9-17.3-13.3-25.9zm67.8 60.5c-6.1 1.4-12.1 2.7-18.1 4l98.4 191.7c5.8 11.2 11.6 10.9 14.9 9.2 3.2-1.6 6.9-6.2 1.1-17.4zm115.6 187.9c3.7 14.2-1.5 27.6-12.2 33-12.8 6.6-30.3.3-39.1-17l-7.8-15.1c-12.1 1.7-23 4.3-31.6 7.6-8 3-14.1 6.5-17.8 9.7-3.6 3.3-4.5 5.6-4.5 7.3 0 1.7.9 4 4.5 7.3 3.7 3.2 9.8 6.7 17.8 9.7 15.9 6 39.1 10 64.7 10s48.8-4 64.7-10c8-3 14.1-6.5 17.8-9.7 3.6-3.3 4.5-5.6 4.5-7.3 0-1.7-.9-4-4.5-7.3-3.7-3.2-9.8-6.7-17.8-9.7-10.2-3.9-23.7-6.9-38.7-8.5zm-145.9 33.1c90 75 167.3 67.8 257.6 2-108.6 57.4-182.5 45.4-257.6-2zm-22.8 16.8c87.9 92.5 218.8 91.7 307.9 1.4-107.9 81.3-242.8 56.2-307.9-1.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalGolemHead;

impl IconShape for MetalGolemHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33.85L168.2 63.1l-6.6 52.9 94.4 27 94.4-27-6.6-52.9zm-54 60.51a10 9.999 0 0 1 10 10.04 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10.04zm108 0a10 9.999 0 0 1 10 10.04 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10.04zM103 104.4v64h18v-23h18.8l2.1-16.2-.4-.1.5-1.7h-21v-23zm153 0a10 9.999 0 0 1 10 10 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10zm135 0v23h-21l.5 1.7-.4.1 2.1 16.2H391v23h18v-64zm-231.7 29.8l-6.5 52.2-16 48.1 20.1 26.8 16.8-50.3 48.7 81.2 24.6-61.5v-71.5zm193.4 0l-87.7 25v71.5l24.6 61.5 48.7-81.2 16.8 50.3 20.1-26.8-16-48.1zm-178.7 22l57.2 23.7-3.3 17.3-65.3 1 8.7-32.2zm164 0l11.4 42-65.3-1-3.3-17.3 47.8-19.8zm-221.9 80.7l-9.1 36.5 43 8.6zm279.8 0L362 282l43-8.6zm-217.6 16.9l-10.5 31.8 32.6 6.5 1.1.2zm155.4 0l-23.2 38.5 15-3 18.7-3.7zm-77.7 2.8l-17.3 43.1 17.3 3.5 17.3-3.5zm-149 35.2l28.8 172.5L247 478.2V376.4h18v101.8l111.2-13.9L405 291.8l-149 29.8zm111 80.6a10 9.999 0 0 1 10 10 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10zm76 0a10 9.999 0 0 1 10 10 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10zm-76 64a10 9.999 0 0 1 10 10 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10zm76 0a10 9.999 0 0 1 10 10 10 9.999 0 0 1-10 10 10 9.999 0 0 1-10-10 10 9.999 0 0 1 10-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalPlate;

impl IconShape for MetalPlate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88 32v16H72V34.67L32 48v14.31l40-13.33v16.87L32 79.18V188l40-13.3V286h16V175.5l384 169v112l-384-169V346H72v-59.3L32 300v59.6l40-13.4v16.9l-40 13.3v15.2l40-13.4v16.9l-40 13.3V464l40 13.3V396h16v-17.2L282.7 464h-39.8L88 396.2V480h400V32h-16zm0 16.71L472 215.1v17.3L88 66.14V174H72V66h16zm0 298.09L351.6 464h-39.2L88 364.3V378H72v-14h16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalSkirt;

impl IconShape for MetalSkirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198.5 25l-29.4 88.1c.3 2.5 1.6 4.9 5 7.8 3.9 3.4 10.5 6.8 18.7 9.6 16.6 5.5 40 8.5 63.2 8.5 23.2 0 46.6-3 63.2-8.5 8.2-2.8 14.8-6.2 18.7-9.6 3.4-2.9 4.7-5.3 5-7.8L313.5 25h-115zM39.03 41l-11.5 46H158.8l15.4-46H39.03zm298.77 0l15.4 46h131.3L473 41H337.8zM215 55h82v52h-82V55zm18 18v16h46V73h-46zM69.91 105c-5.4 12.2-10.48 29.1-15.13 48.5 50.82 3.4 89.62 5.8 122.92 7.4l1.9-16.2c-6.6-2.7-12.4-6-17.2-10.1-6.6-5.7-11.4-13.6-11.4-22.6v-1.5l1.8-5.5H69.91zm289.29 0l1.8 5.5v1.5c0 9-4.8 16.9-11.4 22.6-4.8 4.1-10.6 7.3-17.1 10.1l1.9 16.2c33.2-1.6 72-4 122.8-7.4-4.6-19.4-9.7-36.3-15.1-48.5h-82.9zm-162.6 45.3l-27.2 230.8L256 482.2l86.6-101.1-27.2-230.8c-17.6 4.5-38.4 6.7-59.4 6.7s-41.8-2.2-59.4-6.7zM50.79 171.4c-3.01 14.3-5.78 29.6-8.3 45.3 53 3.5 93.41 6.2 127.71 7.9l5.4-45.7c-33.8-1.6-73.2-4.1-124.81-7.5zm410.41 0c-51.5 3.4-90.9 5.9-124.7 7.5l5.4 45.7c34.3-1.7 74.6-4.4 127.6-7.9-2.5-15.7-5.3-31-8.3-45.3zM39.76 234.6c-1 6.9-1.94 13.7-2.83 20.6-1.08 8.4-2.08 16.7-3.02 25 53.35 3.6 94.19 6.2 128.79 8l5.4-45.7c-34.6-1.7-75.25-4.4-128.34-7.9zm432.54 0c-53.1 3.5-93.7 6.2-128.3 7.9l5.3 45.7c34.6-1.8 75.5-4.4 128.8-8-.9-8.3-1.9-16.6-3-25-.9-6.9-1.8-13.7-2.8-20.6zM31.97 298.1c-1.68 16.2-3.04 31.7-4.11 45.6 52.58 3.5 92.94 6.2 127.34 8l5.4-45.6c-34.7-1.8-75.52-4.5-128.63-8zm448.03 0c-53.1 3.5-93.9 6.2-128.5 8l5.3 45.6c34.4-1.8 74.7-4.5 127.3-8-1-13.9-2.4-29.4-4.1-45.6zM26.6 361.7C25.54 378.2 25 391.6 25 400c0-.1.14 1.3 3.89 3.9 3.75 2.7 10.25 5.7 18.53 8.6 16.56 5.7 40.24 10.7 65.98 14.6 26.2 4 54.6 7 80.3 9l-42.6-49.6 2-16.8c-34.3-1.9-74.5-4.5-126.5-8zm458.8 0c-52 3.5-92.2 6.1-126.5 8l2 16.8-42.6 49.6c25.7-2 54.1-5 80.3-9 25.7-3.9 49.4-8.9 66-14.6 8.3-2.9 14.8-5.9 18.5-8.6 3.8-2.6 3.9-4 3.9-3.9 0-8.4-.5-21.8-1.6-38.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Metroid;

impl IconShape for Metroid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20.5c-52.087 0-104.93 24.994-147.49 62.064s-75.085 86.41-85.332 137.155c-5.24 25.945.46 54.678 12.97 79.846 12.51 25.17 31.96 47.01 56.092 58.11 14.063 6.468 27.832.477 38.96-4.96 11.13-5.435 21.13-10.503 28.454-10.222 14.224.546 28.674 7.67 44.29 15.53 15.615 7.86 32.46 16.476 52.056 16.476 19.596 0 36.44-8.616 52.057-16.477 15.615-7.86 30.065-14.983 44.29-15.53 7.324-.28 17.323 4.788 28.452 10.224 11.128 5.436 24.897 11.427 38.96 4.96 24.133-11.1 43.58-32.942 56.092-58.11 12.51-25.17 18.21-53.902 12.97-79.848-10.247-50.746-42.77-100.085-85.332-137.156C360.93 45.494 308.087 20.5 256 20.5zm0 18c46.254 0 95.68 22.81 135.668 57.64s70.29 81.49 79.51 127.14c4.203 20.814-.43 46.114-11.444 68.273-11.015 22.16-28.288 40.938-47.494 49.77-5.916 2.722-13.158.292-23.54-4.78-10.384-5.072-22.397-12.6-37.046-12.037-19.482.748-36.166 9.626-51.69 17.44-15.527 7.817-29.83 14.554-43.964 14.554-14.135 0-28.437-6.737-43.963-14.553-15.525-7.815-32.21-16.693-51.69-17.44-14.65-.564-26.663 6.964-37.046 12.036-10.382 5.072-17.624 7.502-23.54 4.78-19.206-8.832-36.48-27.61-47.494-49.77-11.015-22.16-15.647-47.46-11.444-68.272 9.22-45.65 39.522-92.31 79.51-127.14C160.32 61.31 209.746 38.5 256 38.5zm-41.086 24.008c-30.41 10.608-82.5 24.41-150.65 152.054-10.288 19.27 20.285 34.36 24.23 24.23 24.537-62.98 76.895-147.606 126.42-176.284zM256 134.5c-30.482 0-55 24.518-55 55s24.518 55 55 55 55-24.518 55-55-24.518-55-55-55zm71.074 71.568c-6.293 26.936-27.556 48.203-54.49 54.502A48 48 0 0 0 320 301.5a48 48 0 0 0 48-48 48 48 0 0 0-40.926-47.432zm-142.144.016A48 48 0 0 0 144 253.5a48 48 0 0 0 48 48 48 48 0 0 0 47.432-40.926c-26.936-6.293-48.203-27.556-54.502-54.49zm259.295.05c-2.606 48.024-22.094 85.348-49.866 104.298 24.135-5.162 42.654-13.312 51.972-30.905 9.434-17.81 3.27-65.142-2.107-73.392zM161.717 358.167c-20.397.082-41.94 23.884-43.024 44.21-2.05 38.41 28.138 81.903 73.307 89.124-16-48-15.93-79.93 0-96 8.935-9.012-12.753-36.136-28.313-37.268a25.787 25.787 0 0 0-1.97-.066zm188.566 0c-.658-.003-1.316.02-1.97.066-15.56 1.132-37.248 28.256-28.313 37.268 15.93 16.07 16 48 0 96 45.17-7.22 75.357-50.713 73.307-89.125-1.085-20.325-22.627-44.127-43.024-44.21zM226.555 381.99c-11.75.047-24.163 13.762-24.787 25.47-1.18 22.13 16.21 47.187 42.232 51.347-9.218-27.654-9.178-46.05 0-55.307 5.148-5.192-7.346-20.82-16.31-21.47-.378-.028-.756-.04-1.135-.04zm58.89 0a14.55 14.55 0 0 0-1.134.04c-8.964.65-21.458 16.278-16.31 21.47 9.178 9.257 9.218 27.653 0 55.307 26.022-4.16 43.413-29.216 42.232-51.346-.624-11.708-13.036-25.423-24.787-25.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Metronome;

impl IconShape for Metronome {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 81c-7.7 0-15.5.33-23 .95V119h46V81.95c-7.5-.62-15.3-.95-23-.95zm-41 3.07c-4.8.76-9.5 1.65-13.9 2.69-14.7 3.46-26.3 8.71-32.8 14.04l-22.4 140.3L215 341V137h-23v-18h23V84.07zm82 0V119h23v18h-23v238.4c30.6 2.8 54.5 19.5 73.7 40.5 11 12.2 20.6 25.8 29.6 39.4l-56.6-354.5c-6.5-5.33-18.1-10.58-32.8-14.04-4.4-1.04-9.1-1.93-13.9-2.69zM39.34 90.79L24.66 101.2l20.89 29.6 15.14-9.9-21.35-30.11zm54.81 29.71l-56.04 36.7L82.56 183l17.54-11.5-5.95-51zM233 137v46h46v-46h-46zm-124.8 50.8l-15.3 10 48.9 69.2-30.1 188.3c9-13.6 18.6-27.2 29.6-39.4 19.2-21 43.1-37.7 73.7-40.5v-2.8l-73.2-105.7 4.1-26-37.7-53.1zM233 201v46h46v-46h-46zm0 64v46h46v-46h-46zm0 64v38l5.5 8H279v-46h-46zm206 23v23h-33.2l2.9 18H439v23h18v-64h-18zm-215 41c-29 0-50.3 14.1-69.3 35.1-15.5 17-28.9 38.4-42.1 58.9h286.8c-13.2-20.5-26.6-41.9-42.1-58.9-19-21-40.3-35.1-69.3-35.1h-37l12.4 17.9-14.8 10.2-19.5-28.1H224z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mexico;

impl IconShape for Mexico {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.91 93.761c19.4 67.244 47.029 124.21 79.363 187.172l27.561-8.368c-34.337-52.44-62.494-96.45-72.16-152.817l24.231 6.32c12.377 75.413 79.95 133.444 109.213 168.56 4.905 16.388.589 32.776-4.916 46.354 51.616 25.103 104.672 57.56 163.292 69.531 22.014-17.212 44.264-27.73 68.126 7.726l9.833-28.094 23.177-.702L432.636 361c22.372 8.044 50.335-16.05 50.92-22.826 1.675-19.426.496-31.362 10.535-47.056l-55.836 7.725c-1.367 16.264 1.583 34.771-15.1 44.247-88.44 50.234-115.313-62.388-107.457-109.564-36.356-16.025-40.996-34.962-62.507-68.126l-22.475-2.81-15.451 13.345-40.033-51.27z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Microphone;

impl IconShape for Microphone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M388.938 29.47c-23.008 0-46.153 9.4-62.688 25.405 5.74 46.14 21.326 75.594 43.75 94.28 22.25 18.543 52.078 26.88 87.75 28.345 13.432-16.07 21.188-37.085 21.188-58 0-23.467-9.75-47.063-26.344-63.656C436 39.25 412.404 29.47 388.938 29.47zm-76.282 42.374c-8.808 14.244-13.75 30.986-13.75 47.656 0 23.467 9.782 47.063 26.375 63.656 16.595 16.594 40.19 26.375 63.658 26.375 18.678 0 37.44-6.196 52.687-17.093-31.55-3.2-59.626-12.46-81.875-31-23.277-19.397-39.553-48.64-47.094-89.593zm-27.78 67.72l-64.47 83.78c2.898 19.6 10.458 35.1 22.094 46.187 11.692 11.142 27.714 18.118 48.594 19.626l79.312-65.28c-21.2-3.826-41.14-14.11-56.437-29.407-14.927-14.927-25.057-34.286-29.095-54.907zM300 201.468a8 8 0 0 1 .03 0 8 8 0 0 1 .533 0 8 8 0 0 1 5.875 13.374l-34.313 38.78a8.004 8.004 0 1 1-12-10.593l34.313-38.78a8 8 0 0 1 5.562-2.78zM207.594 240L103 375.906c3.487 13.327 7.326 20.944 12.5 26.03 5.03 4.948 12.386 8.46 23.563 12.408l135.312-111.438c-17.067-3.61-31.595-11.003-42.906-21.78-11.346-10.81-19.323-24.827-23.876-41.126zM95.97 402.375c-9.12 5.382-17.37 14.08-23.126 24.406-9.656 17.317-11.52 37.236-2.25 50.47 6.665 4.337 10.566 4.81 13.844 4.344 1.794-.256 3.618-.954 5.624-1.875-3.18-9.575-6.3-20.93-2.5-33.314 3.03-9.87 10.323-19.044 23.47-27.5-2.406-1.65-4.644-3.49-6.75-5.562-3.217-3.163-5.94-6.78-8.313-10.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MidSummit;

impl IconShape for MidSummit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "m454 34.463-56.303 168.904-79.832 63.867-33.492 117.22-82.768-16.554-61.947 77.434L32.41 493H493V151.46zM204.363 175.637l-12.248 12.248 100.666 101.623 5.655-19.799zm-25.039 24.914c-9.31 5.894-17.039 18.935-25.049 36.312-7.176 15.57-14.529 33.778-25.214 50.604 3.756-.891 7.476-2.263 11.343-4.237 9-4.592 18.337-11.957 28.479-19.443 10.142-7.485 21.164-15.131 34.283-19.502 5.25-1.749 10.928-2.693 16.818-3.074z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MightyBoosh;

impl IconShape for MightyBoosh {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.156 36.313c-1.948-.013-3.908-.003-5.875.03C144.208 38.33 40.5 128.29 40.5 264.25c0 58.373 30.546 121.353 66.406 164.875 17.93 21.76 37.205 38.664 55.97 47.25 9.38 4.293 18.75 6.588 27.843 5.656 9.09-.93 17.84-5.443 24.468-13.342 4.834-5.763 6.082-13.302 5.78-20.563 32.327 3.188 62.82 4.282 92.376-11.938-.083 2.837-.08 5.606.062 8.282.48 8.97 2.35 17.882 8.656 24.124 6.002 5.94 14.113 8.044 21.813 7.156 7.7-.888 15.34-4.277 23.22-9.28 15.756-10.01 32.402-26.823 48.06-47.783 31.32-41.92 58.75-100.318 58.75-155.187a8.977 10.055 0 0 0-.06-1.03c-.22-67.034-21.418-124.35-58.72-164.376-36.325-38.978-87.584-61.39-147.97-61.78zm-.094 20.124c56.49.35 102.898 21.04 135.625 56.157 33.784 36.25 53.282 88.126 53.282 150.906 0 47.108-25.29 103.097-54.564 142.28-14.637 19.593-30.28 35.01-43.156 43.19-6.438 4.088-12.118 6.307-16.22 6.78-4.1.473-6.212-.357-8.092-2.22-.857-.846-2.284-3.85-2.625-10.25-.342-6.4.376-15.345 1.687-25.5 2.622-20.306 7.524-45.53 8.813-70.06 1.288-24.533-.828-49.328-14.875-67.314-14.048-17.986-38.615-26.05-75.813-20.78-37.107 5.254-59.41 19.057-70.094 39.218-10.684 20.16-8.677 43.836-3.374 65.906 5.303 22.07 14.155 43.6 19.844 60.844 2.844 8.62 4.873 16.186 5.438 21.47.564 5.28-.22 7.16-.844 7.905-3.747 4.465-7.715 6.457-13 7-5.286.54-11.952-.732-19.438-4.158-14.97-6.85-32.856-22.074-49.53-42.312-33.35-40.476-61.69-101.01-61.69-151.25.002-124.566 93.982-205.93 203.126-207.78 1.844-.032 3.678-.044 5.5-.032zm-88.53 101.844a50.5 50.5 0 0 0-51.97 50.47 50.5 50.5 0 0 0 101 0 50.5 50.5 0 0 0-49.03-50.47zm137.655 15.25A40.5 40.5 0 0 0 274.5 214a40.5 40.5 0 0 0 81 0 40.5 40.5 0 0 0-39.313-40.47zm-140.25 28.97a7.5 7 0 0 1 .032 0 7.5 7 0 0 1 .75 0 7.5 7 0 0 1 7.28 7 7.5 7 0 0 1-15 0 7.5 7 0 0 1 6.938-7zm138 6.5a7.5 7 0 0 1 .032 0 7.5 7 0 0 1 .75 0 7.5 7 0 0 1 7.28 7 7.5 7 0 0 1-15 0 7.5 7 0 0 1 6.938-7zm-11.5 121.875a8 8 0 0 1 7.907 6.625c1.052 5.487 1.68 11.097 1.97 16.813 3.916-1.73 7.73-3.662 11.436-5.782-.38 6.21-1.034 12.58-1.813 19-3.174 1.514-6.392 2.91-9.656 4.19-.33 7.15-1.005 14.406-1.842 21.686a8 8 0 1 1-15.875-1.812c.563-4.9 1.007-9.738 1.343-14.47-4.75 1.29-9.546 2.34-14.375 3.22.3 6.316.588 12.486 1.283 18.344a8 8 0 1 1-15.875 1.875c-.722-6.084-1.1-12.11-1.438-18-4.46.422-8.925.716-13.375.843.825 5.085 1.7 10.175 2.625 15.28a8.005 8.005 0 0 1-15.75 2.877c-1.1-6.075-2.155-12.172-3.125-18.313-4.632-.217-9.217-.57-13.75-1.063 1 5.755 2.098 11.5 3.22 17.282a8 8 0 1 1-15.69 3.06c-1.452-7.498-2.893-15.08-4.155-22.78-1.676-.308-3.32-.657-4.97-1-1.915-5.898-3.673-11.783-5.124-17.594 2.532.628 5.1 1.21 7.72 1.75-.836-7.236-1.428-14.62-1.626-22.187a8 8 0 0 1 7.656-8.314 8 8 0 0 1 8.344 7.875c.224 8.57 1.004 16.977 2.094 25.314 4.592.57 9.254 1.008 13.97 1.28-.916-7.417-1.643-14.89-2.064-22.437a8 8 0 0 1 8.22-8.562 8 8 0 0 1 7.78 7.688c.44 7.88 1.237 15.754 2.25 23.625 4.877-.1 9.782-.374 14.656-.844-.677-7.627-1.735-14.79-3.97-21.22a8 8 0 0 1 7.127-10.718 8 8 0 0 1 8 5.47c2.773 7.98 4.12 16.12 4.906 24.187 5.41-1.032 10.757-2.356 16-3.938-.1-6.915-.64-13.506-1.814-19.625a8 8 0 0 1 7.78-9.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MightyForce;

impl IconShape for MightyForce {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 28l-32 128c-32-16-64-48-96-96 0 48 0 96 32 128-32 17-64 0-96-32 0 32 0 80 48 112-32 16-64 0-80-32 0 48 16 96 48 128-16 16-48 0-64-16 0 64 48 112 112 144h76.8l16.7-68.6-17.2-86.1-97.9 5s20.3-75.2 34.9-103.7c5-9.6 7.2-18 20-18.3 11.3 0 20.4 9.8 20.4 21.9 0 12-9.1 21.8-20.4 21.8-2.3 0-4.6-.5-6.6-1.3l-5.1 46.8c29.6-8.9 56.9-18.8 84-30.9 0-.1-.1-.2-.1-.3-6.2-8.8-10.4-21.5-10.4-35.7 0-14.1 4.1-26.8 10.4-35.7 6.1-8.9 14.1-13.7 22.5-13.7 8.5 0 16.5 4.8 22.6 13.7 6.2 8.9 10.2 21.6 10.2 35.7 0 14.2-4 26.9-10.2 35.7-.1.3-.5.7-.6.9 27.3 12.1 56.1 20.6 84.3 30.3l-5-46.8c-2.2.8-4.3 1.3-6.7 1.3-11.2 0-20.3-9.8-20.3-21.8 0-12.1 9.1-21.9 20.3-21.9 12.8.3 15.2 8.7 20 18.3 14.8 28.5 35 103.7 35 103.7l-97.9-5-17.2 86.1 16.7 68.6H384c64-32 112-80 112-144-16 16-48 32-64 16 32-32 48-80 48-128-16 32-48 48-80 32 48-32 48-80 48-112-32 32-64 48-96 32 32-32 32-80 32-128-32 48-64 80-96 96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MightyHorn;

impl IconShape for MightyHorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M459.9 47.29c-23.5 41.5-48.6 78.61-77 110.91-1.5 10.3-4 20.5-6.8 30.3 14.3-4.4 31-11.8 44.8-22.4l12.7-9.6 1.7 15.8c2.2 18.6 1.5 31-.8 44.9 8.6-3.5 17-7.4 24.8-11.6 8-54.2 8.3-108.61.6-158.31zM358.7 183.8c-67.1 65.8-152.2 107.4-272.24 120.4-1.9.3-2.19.6-2.09.6v.3c-.05 2 1.83 8.4 6.89 16.3 10.14 15.7 31.14 37.5 58.84 58.1 54.7 40.7 135.3 77.3 213 66.8 46.5-61 77.7-138.9 92.5-218.5-9.7 4.6-19.9 8.6-30.1 12.1l-15 5.1 3.3-15.5c3.5-16.4 5.3-26.1 4.8-40.2-18.7 11.2-38.6 17.9-54.1 20.6l-14.5 2.5 4.4-14.1c1.5-4.7 3-9.6 4.3-14.5zM46.14 260.6c-6.24 0-9.09 1.4-10.83 3.2-1.74 1.7-3.06 4.6-3.31 9.8-.51 10.3 4.35 27.7 13.01 46.3 17.33 37.2 49.3 80.4 71.19 98.2 37.3 30.4 118.7 56.5 186.9 66.7 34.1 5.1 65.2 6.3 85.1 3.2 10-1.5 17-4.4 19.8-6.8 2.8-2.3 3-2.4 1.5-6.7-2.3-6.4-10.6-16.9-23.3-29.1-3.6 5.1-7.2 10-11 14.9l-2.2 2.9-3.5.5c-86 13.2-172-26.4-230.1-69.7-29.1-21.7-51.2-44.1-63.26-62.9-6.03-9.3-10-17.6-9.75-26.5.12-4.4 1.8-9.3 5.3-12.7 3.5-3.4 8.12-5 12.84-5.5 10.81-1.2 21.27-2.6 31.47-4.2-32.19-13.6-59-21.6-69.81-21.6h-.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MilitaryFort;

impl IconShape for MilitaryFort {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21c-66.72 0-121 54.28-121 121s54.28 121 121 121 121-54.28 121-121S322.72 21 256 21zm0 18c56.992 0 103 46.008 103 103s-46.008 103-103 103-103-46.008-103-103S199.008 39 256 39zm0 11.75l-69.4 52.05 10.8 14.4L256 73.25l58.6 43.95 10.8-14.4L256 50.75zm0 48l-69.4 52.05 10.8 14.4 58.6-43.95 58.6 43.95 10.8-14.4L256 98.75zm0 48l-69.4 52.05 10.8 14.4 58.6-43.95 58.6 43.95 10.8-14.4-69.4-52.05zM53.562 185l-7 14h66.876l-7-14H53.562zm352 0l-7 14h66.875l-7-14h-52.875zM41 217v46h78v-46H41zm352 0v46h78v-46h-78zM64 231h32v18H64v-18zm352 0h32v18h-32v-18zM38.486 281l-10 30h455.028l-10-30H38.486zM25 329v158h199v-87h64v87h199V329H25zm55 14h32v18H80v-18zm80 0h32v18h-32v-18zm80 0h32v18h-32v-18zm80 0h32v18h-32v-18zm80 0h32v18h-32v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MilleniumKey;

impl IconShape for MilleniumKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M458.888 51.697c-16.687-16.687-36.67-26.1-56.998-26.912-20.327-.814-40.034 6.726-57.094 19.626-24.845 18.785-45.254 48.744-59.135 86.723 9.75 11.124 18.958 21.279 28.077 30.927 12.097-42.184 32.322-73.476 52.768-88.935 11.93-9.02 23.337-12.795 33.945-12.37 10.609.424 21.385 4.8 32.982 16.397 11.596 11.597 15.973 22.373 16.397 32.982.424 10.608-3.35 22.014-12.37 33.945-15.46 20.446-46.751 40.67-88.936 52.768 9.649 9.12 19.804 18.327 30.928 28.077 37.979-13.882 67.938-34.29 86.723-59.135 12.9-17.06 20.44-36.767 19.626-57.095-.813-20.327-10.225-40.31-26.913-56.998zM207.932 66.48l-42.56 42.56c114.63 93.989 142.185 121.544 236.174 236.173l42.56-42.559C329.475 208.664 301.92 181.109 207.931 66.48zM278.6 231.985a868.658 868.658 0 0 0-16.487-16.04L150.106 327.952c.976 7.424 4.937 15.284 11.09 21.437 6.154 6.154 14.014 10.115 21.437 11.09l112.008-112.007a868.658 868.658 0 0 0-16.04-16.487zm-137.23 121.673L26.14 468.89l15.556 15.557 115.233-115.232a63.201 63.201 0 0 1-8.46-7.098 63.201 63.201 0 0 1-7.097-8.459zm-31.793 88.362L77.05 474.547l12.728 12.728 32.527-32.527z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MimicChest;

impl IconShape for MimicChest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.3 45.79c4.5 9.27 23.4 21.66 44.6 30.54 11.9 5.01 23.8 9 34.6 12.32-16.7-25.45-35.8-49.69-57.3-65.16-12.3-8.9-24.6 15.79-21.9 22.3zM444.7 25.6c-19.6 17.71-41.1 39.17-58.1 64.42 10.8-3.19 22.8-7.03 34.8-11.89 21.3-8.62 40.3-20.76 44.9-29.98 4.8-10.51-12.7-30.59-21.6-22.55zM263.5 84.68c6.6 11 11.5 21.12 17.5 32.92l-19.5-5.3c-4.9-1.3-11.5-3.2-19.1-5.5-.8 4.5-2.6 8.6-5.2 12.1 47.7-1.5 100.3-1.6 157.3 2.3-3.1-3.7-5.3-8.1-6.4-12.9-7.5 2.1-14 3.9-18.8 5.1l-19.6 5c5.6-10.7 11.7-22.65 17.6-32-36.4-2.41-68.7-2.78-103.8-1.72zm-73.7 4.06c-25.7 2-52.2 4.62-79.5 7.82C153 111 157.1 111.6 193.6 120.6c-4.4-5.1-7-11.7-7-18.8 0-4.65 1.2-9.11 3.2-13.06zm17.4 5.92c-1.6 1.85-2.6 4.39-2.6 7.14 0 6.1 4.6 10.6 10.1 10.6 6.9-1.7 10-6 10.1-11.3-5.8-1.95-11.7-4.07-17.6-6.44zm235.8 1.5c.5 1.99.7 4.04.7 6.24 0 8.8-4 16.8-10.3 22.1 15.6 1.6 31.6 3.5 47.9 5.8L459 99.65c-5.2-1.2-10.5-2.41-16-3.49zm-19 .28c-6.3 2.41-12.5 4.56-18.5 6.46.3 5.9 4.8 10.1 10.1 10.1 5.5 0 10.1-4.5 10.1-10.6 0-2.3-.6-4.25-1.7-5.96zM30.62 235.6c26.49-42 57.67-79.7 87.78-117.8C37.98 85.89-4.308 156.6 30.62 235.6zM136.7 124c-34.8 43.6-70.14 86-98.33 133.4 2.71 7.2 5.54 14.5 8.35 21.9 34.39-49.8 67.78-100.9 113.68-146.8-8.2-3-16.2-5.9-23.7-8.5zm150.1 11.9c7.1 18.9 14.6 37.7 28.5 54.9 6.1-18.8 13.1-37.4 24.8-54.4-19.2-.3-36-1-53.3-.5zm-7.1 0c-17.4.2-34.2.6-50.4 1.2 4 30 8.5 60 26.8 87.3 3-29.5 10-58.9 23.6-88.5zm71.5.9c11 16.2 15.7 34.2 20.2 52.3 15-16.7 20.8-33.3 24.2-50-15.1-1.1-29.9-1.8-44.4-2.3zm-128.2.5c-18.7.7-43.6 1.7-43.6 1.7-2.3 2.1-4.5 4.3-6.7 6.4 3.6 17.5 11.1 34.4 21.2 50.9 6.9-19.6 16.1-39.3 29.1-59zm181.2 2.4c10.2 21.2 12.1 64.5 14.2 84.4 19-15.2 25.4-57.2 29.8-80.2-14.9-1.7-29.6-3.1-44-4.2zm50.4 5c8.6 15.6 16.6 31.4 13.3 52.6 17.3-14.7 22.7-30.8 25.8-47.2-13.2-2.1-26.2-3.9-39.1-5.4zm-298.9 18.7c-8.1 8.8-15.8 17.9-23.2 27.2 11.4 15 30.8 17.9 48.4 19.4-14-14.3-21.7-29.9-25.2-46.6zm-28.5 33.9c-9.1 11.6-17.7 23.3-26.1 35.2 9.3 7.7 20.8 11.9 33.6 13.8-4.8-15.8-7.8-32-7.5-49zm283 46.1c-3 20.2-8.3 57.5-16.4 82.1 15.2-1 30.4-2.3 45.6-3.8-6.1-23.6-17.6-59.9-29.2-78.3zm-156.3.6c-13.2 19.5-30.2 57-33.8 80.6 17.4 1.4 34.7 2.4 52.1 3-8.9-24.7-13.4-62.9-18.3-83.6zM108 260.5c-17.86 10.2-25.35 23.9-33.41 37.4 11.97 3.5 24.21 6.9 36.71 10.1-4.5-15.9-6.3-31.7-3.3-47.5zm37.1 0c-12 16.2-25 32.3-29.7 48.5 14.5 4.1 24.6 5.7 38.2 7.8-8.9-18.8-7.9-37.5-8.5-56.3zm318.4 3.2c-3.3 19.5-7.6 38.7-16.1 57.2 12.5-1.3 25.1-2.7 37.6-4.3l1.8-.3c-3-19.4-13.1-36.1-23.3-52.6zm-265.7 3.9c-16.8 17-25.5 33.8-34 50.7 16 2.2 32 4.1 47.9 5.5-9.6-17.1-13.3-36.2-13.9-56.2zm161.3 3.3c-5.9 19.2-14 38.3-23.6 57.1 16.7-.4 33.4-1 50.1-2-7.4-18.7-16-37-26.5-55.1zm-55 .8c-9.7 18.7-17.2 37.4-23.7 56.1 15 .4 30 .5 45 .4-8.5-18.6-16-37.3-21.3-56.5zM51.96 309.8c-3.76 16.6-6.09 34.7-6.86 52.6 14.38 31.4 29.54 64 44.46 90l7.81 3.2 36.83-43.1c.6-26.5 3.2-53 8.1-78.9-32.1-6.9-61.94-14.9-90.34-23.8zm426.14 25.7c-36.3 4.4-72.5 7.6-108.8 9.3v109.3c-35.6 8-74.8 4.3-105.8-.1V345.2c-34.4-1.5-68.8-4.5-103.2-9.4-4.6 23.9-7.2 48.4-8 73.1l56.2 75.7c75.3 7.2 148.2 6.5 220 1.4l52-70.9c.8-26.7.6-53.3-2.4-79.6zm-126.8 10c-23.3.7-46.5.9-69.8.3v92.5c23.3 3.3 45.9 5.5 69.8 1.3zm-34.2 15.7c7.7 0 13.9 6.9 13.9 15.4 0 6.3-3.4 11.9-8.6 14.3L331 423h-27.7l8.6-32.1c-5.2-2.4-8.6-8-8.6-14.3 0-8.5 6.2-15.4 13.8-15.4zM46.78 407.9c.22 10.1-.82 19 2.15 28l14.29 5.8c-5.68-11-11.12-22.4-16.44-33.8zm105.42 31c.3 13.2 1.1 26.3 2.3 39.3 9.9 1.4 19.8 2.7 29.7 3.9zm-18 1.1l-19.4 22.7 21 8.5c-.8-10.3-1.4-20.7-1.6-31.2zm345 7.4l-27 36.8c8.5-.7 16.9-1.5 25.3-2.3.5-11.5 1.1-23 1.7-34.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MineTruck;

impl IconShape for MineTruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102.5 70.4c-.8 0-1.7.1-2.5.22-30.99 5.31-62.08 74.08-72.4 98.98h226.8l11.9-23.9c-12.4-20-35.3-50.36-58.3-49.08-15.1.8-44 33.98-44 33.98s-35.4-60.51-61.5-60.2zm195.1 53.2l-32 64h-79.7l-40.7 95c22 3.3 41.4 14.7 55 31h87.6c4.8-5.8 10.3-10.9 16.4-15.3l28.6-128.7h48.9l16.3-46zM21 187.6v80l13.57 3.5 35.8-83.5zm68.91 0l-37.77 88.1 25.56 6.7 40.6-94.8zm47.99 0L95.28 287l3.7 1c8.42-3.4 17.52-5.6 27.02-6.2l40.3-94.2zm209.3 0l-22.1 99.5c9.6-3.5 20.1-5.5 30.9-5.5 40.3 0 74.6 27.1 85.4 64H491v-80.5l-46.5-15.5-15.5-62h-34.7zm17.8 14h46l12.5 50h-71l10.8-43.2zm-233 98c-39.32 0-71 31.7-71 71s31.68 71 71 71c39.3 0 71-31.7 71-71s-31.7-71-71-71zm224 0c-39.3 0-71 31.7-71 71s31.7 71 71 71 71-31.7 71-71-31.7-71-71-71zm-320.62 32l-12.4 62h23.05c-1.97-7.3-3.03-15.1-3.03-23 0-14 3.25-27.2 9.04-39zm176.62 0c5.7 11.8 9 25 9 39 0 7.9-1.1 15.7-3 23h52c-1.9-7.3-3-15.1-3-23 0-14 3.3-27.2 9-39zm-80 7a32 32 0 0 1 32 32 32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 32-32zm224 0a32 32 0 0 1 32 32 32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 32-32zm88.7 25c.2 2.3.3 4.6.3 7 0 10.7-1.9 20.9-5.4 30.5l51.4-20.6v-16.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MineWagon;

impl IconShape for MineWagon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.906 60.844C347.218 62.03 327.732 73.3 307.72 87.5c-20.814 14.77-41.852 32.27-64.626 41.875a8 8 0 0 1-9.125-2.125c-15.01-17.31-38.15-30.55-73.22-27.28-19.124 1.78-32.252 10.625-43.688 23.655-5.264 6-9.998 12.975-14.53 20.375h322.624c-15.21-29.846-29.05-64.182-59.25-83.156zM40 160v44h416v-44H40zm18.375 60l49.344 186.563H118c3.087-6.592 7.31-12.684 12.563-17.938 11.916-11.916 28.63-18.906 45.843-18.906 17.214 0 33.897 6.99 45.813 18.905 5.252 5.254 9.467 11.346 12.56 17.938h42.97c3.104-6.47 7.282-12.44 12.406-17.563 11.927-11.926 28.384-18.75 45.25-18.75 16.867 0 33.324 6.824 45.25 18.75 5.124 5.124 9.303 11.092 12.406 17.563h6.032L438.156 220H58.376zM426.22 355l-6.064 29H456v-29h-29.78zm-249.814 31.563c-11.69 0-23.728 4.915-32.25 13.437-8.522 8.522-13.75 21.002-13.75 33.344 0 12.34 5.228 24.82 13.75 33.344 8.522 8.522 20.56 13.437 32.25 13.437 11.69 0 23.697-4.915 32.22-13.438 8.52-8.522 13.78-21.002 13.78-33.343 0-12.342-5.26-24.822-13.78-33.344-8.523-8.522-20.53-13.438-32.22-13.438zm159 1.28c-12.037 0-24.3 5.083-32.812 13.594C294.082 409.95 289 422.212 289 434.25c0 12.038 5.082 24.3 13.594 32.813 8.512 8.51 20.775 13.593 32.812 13.593 12.038 0 24.3-5.082 32.813-13.594 8.51-8.51 13.592-20.774 13.592-32.812 0-12.038-5.08-24.3-13.593-32.813-8.513-8.51-20.776-13.593-32.814-13.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Miner;

impl IconShape for Miner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185.6 29.02c-17.8.64-35.3 16.49-42.9 38.77-9.4 27.43-.7 55.21 19.4 62.11 20.1 6.8 44-9.9 53.3-37.3 9.4-27.42.7-55.21-19.4-62.08-3.3-1.12-6.8-1.63-10.4-1.5zm156 19.6c-10.3.1-22 .98-35.2 2.86 36.5 8.49 67.8 21.18 92.8 39.24L298.6 207.1c7.9 5.8 9.1 7.7 16.8 13.8l101.3-115.7c22.4 21.4 37.7 48.7 44.2 82.9 3.8-35.9-2.7-76-27.4-102.08 7.4-7.89 15.4-15.69 5.6-24.17-12.9-7.89-14.9-.32-23.1 9.25-17-12.63-37.4-22.75-74.4-22.48zM115.1 145.5C69.21 171.2 19.21 253.6 84.86 381c11.29 22-34.56 65.6-60.28 90.3l43.95 6.2c29.82-31.7 52.97-60.7 63.17-98.1 1.6-5.6-16.8-34.7-27.8-62.1 27.9 14.1 73.1 58.4 70.5 76.6-5.1 35.3-15.5 53.2-30.7 84.9l46.7 4.2c11.2-24.1 18.9-52.5 25.6-97.3 2-13.8-23.8-47-61.8-85.1-13.7-13.8-27.1-56.4 10.7-107.9 47.7 18.3 78.8 43.9 118.4 67.6l18.4-21.7c-38.5-30-79.5-65-129.8-88-17.9-8.2-39.9-14.6-56.8-5.1zm345.8 42.6c-16.6 2.1-92 37.8-125.1 56.3l69.3-6.1-86.7 100.2L421 264.2l-14.7 127.2 47.2-131.7 33.9 80.9c-7.2-84.5-11.2-109.1-26.5-152.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MineralPearls;

impl IconShape for MineralPearls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.4 40.51c-28.4-.1-56.21 46.13-46.13 72.89 11.98 31.7 76.43 53.3 97.93 27.1 23.6-28.9-13.2-97.88-50.4-99.95h-1.4zm-.5 18.84h.9c2.6.1 5.9.55 6.5 3.23 2.7 12.38-26.4 49.82-31.3 47.82-9.58-3.9-6.9-23.04-1.6-32.17 4.6-8.19 16.6-18.57 25.5-18.88zm234.9 1.01c-48 .59-111.6 26.22-111 76.84.7 68.2 99.7 95.4 155.9 84.1 28-5.5 62.5-35.7 61.9-69.6-.8-46-49.3-84.06-87.4-90.06-6-.94-12.5-1.36-19.4-1.28zm-39.7 25.05c5.5-.1 15.1 1.72 12.7 6.45-9.6 19.04-47.6 63.64-56.4 54.14-9.8-10.5-3-32 6.7-42.5 8-8.64 24.7-17.96 37-18.09zm-162 111.49c-9.5.2-18.3 2.5-25.6 7.3-21.5 14.2-27.7 71.8-12.2 96.6C157 348 253 357.6 263.8 297.1c9.3-52-52.9-100.9-98.7-100.2zm2.6 12.1c3.2-.1 7.5 1.3 7.7 5.6 1 19.8-21.9 67.4-34.3 57.7-8.3-6.5-4.1-31.4 1.8-42.6 5.2-9.6 16.5-20.6 24.8-20.7zm196.8 55.8c-6.4 0-12.3 1-17.6 3.2-29.4 12.1-33.4 67.4-9.3 86.6 27.9 22.6 102.6 11.7 110.1-21.4 7.1-31.4-44.7-68.3-83.2-68.4zm-1 9.1c2 .1 4.8.4 5.4 2.8 3.6 14.4-10.7 60.3-24.1 56.7-9.6-2.6-9.1-24.4-5.2-35.2 3.9-10.3 15.3-24.6 23.9-24.3zm-263.4 65.5c-36.1-.2-73.09 58.2-58.43 91.2C59.32 470.3 146.1 488 170.2 451.9c24.5-36.8-26-112.2-70.1-112.5zm4.2 14.3c4.5-.1 10.2 1.9 9.8 7.6-1.8 26-35.65 77.1-48.52 63.1-8.54-9.3-.89-37.3 7.65-49.7 7.11-10 21.23-20.9 31.07-21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MiniSubmarine;

impl IconShape for MiniSubmarine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106.531 32.647a8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0-8-8zM127 54.11a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm-40 32a8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0-8-8zm166.094 42.82L152 176.108v19.66l83.275-37.851 7.45 16.386L152 215.542v37.054l-66 22v-29.054l-19.275 8.761-7.45-16.386L86 225.768v-18.861L24 235.84v69.943l74.156 59.326H150v-80h113.973l29.06-116.24zM134 130.596l-30 10v109.026l30-10zm225 34.514c-17.293 0-33.797 3.427-48.88 9.625l-5.66 22.633c16.099-9.077 34.701-14.258 54.54-14.258 61.41 0 111 49.59 111 111 0 33.888-15.104 64.172-38.959 84.514a125.02 125.02 0 0 1 15.424 10.22C471.989 365.261 488 331.524 488 294.11c0-71.138-57.862-129-129-129zm-1.043 35.498c-17.968.19-36.383 5.944-51.336 17.76 80.719-7.96 130.37 44.148 138.711 112.021 17.152-52.744-8.539-94.772-43.545-117.64-12.47-8.147-27.976-12.309-43.83-12.14zM168 303.11v62h121.707l-24.8-62zm-95.695 80c.58 16.023 2.647 30.257 6.623 41.906l.064-.28c107.631 24.527 244.498 31.838 379.018 2.923a62.707 62.707 0 0 0-4.094-6.121c-14.869-19.664-45.53-38.428-70.916-38.428zm391.265 61.768c-132.013 28.693-265.575 23.175-373.658.642 5.962 7.311 13.655 12.625 23.934 16.051 21.94 7.313 74.574 15.426 136.246 17.34 61.671 1.913 133.028-2.11 194.724-17.533 13.919-3.48 17.604-8.493 18.588-14.479.104-.633.153-1.313.166-2.021z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MiningHelmet;

impl IconShape for MiningHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.966 40.457c-7.926-.141-16.31 2.089-26.047 7.838 45.628 37.319 84.604 74.281 99.064 135.908 17.996-1.883 35.981-3.33 51.559-3.37-18.957-53.372-50.33-98.905-91.332-127.33-12.263-8.5-22.826-12.86-33.244-13.046zm-42.809 17.334c-30.096 3.739-56.135 11.538-77.076 24.576-30.268 18.845-50.78 48.345-59.037 95.776-6.361 36.54-1.923 80.413 1.447 119.486 10.813 8.693 23.377 16.695 34.438 23.164 17.888 10.39 39.477 20.978 56.675 26.336 4.947-17.031 10.328-31.971 16.252-47.483 26.32-1.116 51.671.46 75.756 4.854 8.359 18.34 14.133 38.85 16.951 56.15 27.107-.1 51.992-1.257 76.434-4.443-7.743-3.891-15.521-9.467-21.068-14.938-14.387.241-25.648-.097-38.795-.89-16.618-46.674-23.382-98.451-26.973-141.627 14.429-5.107 30.143-9.316 43.092-11.764-13.905-58.052-50.912-90.982-98.096-129.197zM316.12 70.578c28.121 30.098 49.649 68.246 63.733 110.42a693.55 693.55 0 0 1 31.884 1.549c-9.414-46.551-61.234-104.65-95.617-111.969zm32.977 128.6c-28.668.998-56.841 4.673-81.776 12.338 3.158 37.792 7.103 74.814 20.508 111.437 4.308.187 8.594.294 12.863.328-10.146-20.957-11.255-50.056-9.705-68.273 5.276-33.539 29.025-50.64 58.11-55.83zm-22.022 26.59c-24.67 19.41-23.483 57.1-12.787 84.136 15.54 33.049 50.055 39.288 79.805 42.656-14.238-15.658-22.975-38.403-22.975-63.107 0-30.457 13.273-57.94 33.777-72.82-24.306-2.555-57.116-3.381-77.82 9.135zm112.885-2.801c-26.915 0-50.842 28.652-50.842 66.486s23.927 66.488 50.842 66.488 50.844-28.654 50.844-66.488-23.93-66.486-50.844-66.486zM36.683 250.715c-16.19 21.251-24.367 57.995-.75 77.25 50.241 40.966 98.127 78.223 168.523 113.814 76.817 38.837 158.348 39.888 224.867 1.9 61.012-34.842 65.701-62.89 54.338-88.826-30.917 27.084-73.153 19.666-110.213 13.307-38.023 7.399-76.867 10.731-112.54 10.537.52 4.997.891 9.383 1.35 14.537-40.267 8.662-91.068 5.532-119.308-11.523.57-5.76 1.466-12.043 2.434-17.012-20.019-5.952-42.49-17.302-61.496-28.342-12.889-8.121-25.865-15.173-36.78-24.726-3.08-2.621-5.514-5.898-6.142-8.602-1.434-17.831-3.293-36.226-4.283-52.314zM178.558 317.1c-6.464 17.459-13.307 38.856-16.059 55.319 22.324 11.178 55.301 11.125 80.238 6.613-2.124-19.546-5.848-39.728-13.699-58.43-18.443-3.028-33.843-4.157-50.48-3.502z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Misdirection;

impl IconShape for Misdirection {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.5 22.48L166 86.15l45.2 16.05-42.8 120.6 60.2 21.4 42.9-120.6 45.2 16.1zM62.4 35.28l-4.77 59.96-22.59-1.91 34 48.07L110 99.44l-22.46-1.8 4.83-60.11zm329 58.44l-30.1 27.98 55.8 60.2-22.7 20.9 79.6 10.3-4.2-80-22.6 20.9zM45.51 202.5L32.3 237l68.6 26.7-10.22 25.8 68.42-22.7-34.6-63.2-10.2 25.9zm377.79 51.8l-94.9 7.6 24.7 91.6 21-29.8 79.4 56.3 28-39.8-79.4-56.1zm-180.7 14.5L106.8 370.7l-38.27-51.3-38.05 161.7 165.32 8.4-38.1-51 136.1-101.8zm92.8 115.6l-22.3 15.8 31.3 44.9-16.9 11.7 51.6 14.3 4.8-53.3-17 11.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MissileLauncher;

impl IconShape for MissileLauncher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M490.74 21.411c-8.947.782-20.72 3.22-33.566 7.781-16.386 5.82-34.345 14.758-50.969 25.893l26.783 36.525c15.712-12.52 29.853-26.925 40.428-40.757 8.265-10.811 14.055-21.243 17.324-29.442zm-99.265 44.026L57.609 310.24l8.28 11.291 83.062-60.906 10.643 14.516-83.063 60.906 8.28 11.29 333.865-244.806zm-18.252 92.746L203.164 282.876l13.924 7.15L375.855 173.61zm-48.602 75.316l-35.775 26.234c3.899 3.046 8.821 4.856 14.213 4.856 12.809 0 23-10.191 23-23 0-2.855-.51-5.579-1.438-8.09zm-255.267 7.527L21.26 260.67l25.705 35.057 65.54-48.057zm226.705 40.948v30.615h14v-30.615a40.734 40.734 0 0 1-7 .615c-2.386 0-4.723-.219-7-.615zm-135.065 31.822l-65.54 48.058 25.706 35.06 33.194-39.964zm-117.9 7.09l-11.291 8.279 27.2 37.096 11.29-8.28zm236.965 9.703v78h46v-78zm-18 54.336l-61.426 71.664h23.709l37.717-44.004zm82 0v27.66l37.716 44.004h23.71zm-192 89.664v16h94v-16zm208 0v16h94v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Moai;

impl IconShape for Moai {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.3 20.57c-8.7.16-16.5 1.99-21.4 5.02-5.1 3.04-7.8 6.53-8.4 13.55-5.6 53.23-5.8 112.96.1 165.46 1.4 12.8 3.3 25.2 5.5 36.9 3.6 6.4 10.6 11.1 17.4 12.3 4.7.9 8.4.1 10.3-1.2 1.8-1.4 3.4-3.2 2.8-9.6-2.7-38.2-7.4-67.8-10.4-151.14l18.6-.62c3 82.76 7.4 111.56 10.4 150.26.9 11.1-3.3 20.9-10.6 26.1-7.2 5.3-16.3 6-24.6 4.5-2.6-.5-5-1.3-7.6-2.2 6.4 23.8 14.4 43.3 24 56.2 31.4 42.2 78.1 71 121.9 83.2 40.9 11.3 78.3 7.7 98.5-9-6.4-18.1-15.4-29-41.1-45.6l-6.1-3.9 9.6-28.6-47.1-1.8 33.4-32.9-39.5-22.9 20.7-6c30.4-9 56.3-17.3 73-28-49.9-21.6-79.3-37.3-116-78.3l-7.6-8.5 9.7-5.8c11.8-6.9 15-13.9 16.6-22.9.9-5.6.8-12 .8-18.57-9.8 2.7-21.1 6.87-31.7 11.87-21.6 10-42.4 23.9-47.1 29.3l-13.9-12.4c9.8-11 30.1-23 53-33.73 8.7-4.03 17.5-7.85 26.1-10.87-16.7-11.21-47.9-32.25-70-47.19-10-6.71-31.6-13.27-49.3-12.94zm3.9 332.33c-14.2 55.3-29.6 98.6-34.5 112.1 14.8 9.2 46.7 17.9 83.7 22.4 38.4 4.4 82.2 5.1 120.7 2.5-3-19.3-.7-36.4 4.7-55.3-17.5.5-36.4-2.2-55.5-7.4-42.2-11.8-86-37-119.1-74.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ModernCity;

impl IconShape for ModernCity {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217 25v30h30V25h-30zm48 0v30h30V25h-30zm48 0v30h30V25h-30zm-96 48v46h30V73h-30zm48 0v46h30V73h-30zm48 0v46h30V73h-30zm-96 64v46h30v-46h-30zm48 0v46h30v-46h-30zm48 0v46h30v-46h-30zm174 6.508l-94 53.715V215h94v-71.492zM217 201v46h30v-46h-30zm48 0v46h30v-46h-30zm48 0v46h30v-46h-30zm80 32v110h94V233h-94zM39 256v23h18v-23H39zm178 9v46h30v-46h-30zm48 0v46h30v-46h-30zm48 0v46h30v-46h-30zM37.562 297l-7 14h146.875l-7-14H37.563zM25 329v158h23v-23h32v23h48v-23h32v23h23V329H25zm192 0v46h30v-46h-30zm48 0v46h30v-46h-30zm48 0v46h30v-46h-30zM48 352h32v16H48v-16zm80 0h32v16h-32v-16zm265 9v126h31v-23h32v23h31V361h-94zM48 384h32v16H48v-16zm80 0h32v16h-32v-16zm89 9v46h30v-46h-30zm48 0v46h30v-46h-30zm48 0v46h30v-46h-30zM48 416h32v16H48v-16zm80 0h32v16h-32v-16zm89 41v30h30v-30h-30zm48 0v30h30v-30h-30zm48 0v30h30v-30h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MokaPot;

impl IconShape for MokaPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238.6 25l7 14h20.8l7-14h-34.8zm-74.9 32l-14 14h271.4l-70-14H163.7zm-24.6 32l44.2 206h30.3L184.2 89h-45.1zm63.3 0l29.4 206h48.4l29.4-206H202.4zm125.4 0l-29.4 206h30.3l44.2-206h-45.1zm63.4 0l-15.9 74.6L416.7 89h-25.5zM92.27 103l-54.73 54.7 50.03 133.5 16.83-6.4-45.94-122.5L99.73 121h27.87l-3.8-18H92.27zM201 313v14h110v-14H201zm-18.3 32l-42.6 142h44.5L213 345h-30.3zm48.7 0L203 487h106l-28.4-142h-49.2zm67.6 0l28.4 142h44.5l-42.6-142H299z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Moldova;

impl IconShape for Moldova {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.55 44.17L181.3 16.43 341 94.41l3 89.99 36.8 10.5 5.2 69.7 33.8 9s34.5 81 31.5 81-123.8-27-123.8-27l-64.4 168-43.5-3.7 19.5-179.3-55.5-110.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonaLisa;

impl IconShape for MonaLisa {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M89 25v462h334V25H89zm30 30h274v402H119V55zm18 18v94h49.8c1-10.8 2.3-22 4.4-34 6.4-21 24.8-43.28 45-47.7 3.9-.95 8.4 1.48 12.6 1.4 2.7 0 13.4-2.68 15.3-2.8 30.8.81 55.3 33.7 59.3 60.3.6 4.5 2 12.7 3.6 22.8h48V73H137zm112.9 31.3c-9.9 0-19.3 5.7-26.9 16.6-7.5 10.9-12.6 26.7-12.6 44.3 0 17.6 5.1 33.4 12.6 44.3 7.6 10.9 17 16.6 26.9 16.6 9.9 0 19.3-5.7 26.9-16.6 7.5-10.9 12.6-26.7 12.6-44.3 0-17.6-5.1-33.4-12.6-44.3-7.6-10.9-17-16.6-26.9-16.6zM137 185v132.8c7.6-16.4 30-32.3 35.4-46 10.6-26.8 11-54.5 13.1-86.8H137zm193 0c3.5 22.9 7.9 46.9 9.9 69.3 14.7 9.4 27.1 21.6 35.1 35.5V185h-45zm-52.7 49.7c-8 5.9-17.3 9.4-27.4 9.4-3.6 0-7.1-.5-10.5-1.3-4.1 6.7-7.8 13.9-10.9 22.1-5 12.9-17.2 19.1-27.7 26.3-7.7 7.4-25.4 14.3-18.4 27.4 9.7 12.9 37.8 14.2 50.8 14.1 19.3-2.3 44.6-1.5 59-14.1l-14.9-83.9zm-60.1 124l-5.7 17.8 59.2 32.2 9.9-28.1c-12.6-12.3-36.5-17.9-63.4-21.9zm-15.6 44c-4.7 1.3-9.6 2.9-13.7 4.3-2.9 8.5-.5 18 1.7 29.8 22.3 3 37.9-8.3 54.6-18.5l-42.6-15.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonclerJacket;

impl IconShape for MonclerJacket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c21.2 0 40.4 3.53 53.6 8.8 6.6 2.64 11.6 5.73 14.6 8.56S328 46.28 328 48c0 1.72-.8 3.81-3.8 6.64-3 2.83-8 5.92-14.6 8.56-13.2 5.27-32.4 8.8-53.6 8.8-21.2 0-40.4-3.53-53.6-8.8-6.6-2.64-11.6-5.73-14.6-8.56S184 49.72 184 48c0-1.72.8-3.81 3.8-6.64 3-2.83 8-5.92 14.6-8.56 13.2-5.27 32.4-8.8 53.6-8.8zm72 47.79V96c0 3.78-1.3 6.8-4.6 10.2-3.3 3.3-8.6 6.7-15.4 9.4-11.6 4.6-27.5 7.5-44 8.2V87.85c19.8-.74 37.6-4.22 51.5-9.8 4.6-1.84 8.8-3.9 12.5-6.26zm-144 0c3.7 2.36 7.9 4.42 12.5 6.26 13.9 5.58 31.7 9.06 51.5 9.8v35.95c-16.5-.7-32.4-3.6-44-8.2-6.8-2.7-12.1-6.1-15.4-9.4-3.3-3.4-4.6-6.42-4.6-10.2zm160 8.77c7.5 1.5 14.9 3.21 21.9 5.15 17.4 4.85 32.7 11.18 42.9 18.49 8.1 5.9 12.8 11.8 14.4 18.5-78.3 28.4-120.4 43.3-159.2 45.1v-28c18-.6 35.6-3.6 50-9.4 8.2-3.3 15.4-7.4 20.9-13.1 5.4-5.6 9.1-13.1 9.1-21.3zm-176 0V96c0 8.2 3.7 15.7 9.1 21.3 5.5 5.7 12.7 9.8 20.9 13.1 14.4 5.8 32 8.8 50 9.4v28c-38.8-1.8-80.9-16.7-159.33-45.1 1.6-6.6 6.4-12.6 14.53-18.5 10.2-7.31 25.5-13.64 42.9-18.49 7-1.94 14.4-3.65 21.9-5.15zM427.8 138c10.2 21.8 11.8 34.4 12 46.3-28.5 1.7-46.3 12-75.4 26.5l-6.2 3.1v.1c-45.2 9.9-70.9 15.3-94.2 16.2v-46.4c42-1.7 85.9-17.4 163.8-45.8zm-343.73 0C162.1 166.4 206 182.1 248 183.8v46.3c-23.3-1.1-49-6.6-94.2-16.2l-6.2-3.1c-29.1-14.5-46.9-24.8-75.53-26.5.3-11.9 1.9-24.5 12-46.3zm358.53 62.1c3.9 9.5 7.4 16.7 8.2 38.7-6.7 3.4-15.9 7-26.7 10.5-11.3 3.6-24.5 7.1-38.8 10.5-2.1-14.4-4.7-27.2-7.7-37.7 25.9-13.1 40.2-21 65-22zm-373.23 0c24.7 1 39.13 8.9 65.03 22-3 10.5-5.6 23.3-7.7 37.7-14.3-3.4-27.53-6.9-38.93-10.5-10.8-3.5-19.9-7.1-26.6-10.6.7-21.9 4.2-29.1 8.2-38.6zM149 229.2c46.5 9.8 73.8 15.4 99 16.5v54.4c-30.2-1.1-61.6-8-107.3-20.8 2.1-19.9 4.9-37 8.3-50.1zm214 .1c3.4 13 6.2 30.2 8.3 50-45.7 12.8-77.1 19.7-107.3 20.8v-54.3c25.2-.9 52.5-6.3 99-16.5zm91.8 25.4c4.9 14.6 10 26.2 11.4 49.2-19.7 11.8-46.4 16.8-75.3 20.1-.6-17.1-1.9-33.3-3.5-48.3 15.1-3.6 29.2-7.3 41.6-11.2 9.8-3.1 18.5-6.3 25.8-9.8zm-397.73 0c7.4 3.5 16.1 6.7 25.9 9.8 12.4 3.9 26.53 7.6 41.63 11.2-1.6 15-2.9 31.2-3.5 48.3-28.93-3.3-55.73-8.3-75.43-20.1 1.4-23 6.5-34.6 11.4-49.2zm315.73 40.8c1.2 15.1 2 31.5 2.2 48.5-53.8 13.4-83.6 20.8-111 22v-50.4c31.4-.9 63.8-7.7 108.8-20.1zm-233.6 0c45 12.4 77.4 19.2 108.8 20.1V366c-27.4-1.2-57.2-8.6-111-22 .2-17 1-33.4 2.2-48.5zm-98.13 24.2c22.8 12.8 50.8 17.6 79.53 20.6-.1 5.9-.2 11.9-.2 18-2.5 7.5-6.1 13.3-13.1 17.7l-.4.3c-15.63.6-32.73-2.9-47.93-8.5-9.5-3.5-18.3-7.9-25.3-12.3-1.8-11.3 2.3-23 7.4-35.8zm429.73.1c5.2 12.7 9.2 24.4 7.5 35.7-7 4.3-15.8 8.8-25.4 12.3-15.1 5.6-32.3 9.1-47.8 8.5l-.4-.3c-7-4.4-10.6-10.2-13.1-17.7 0-6.1-.1-12.1-.2-18 28.6-3 56.6-7.8 79.4-20.5zm-95.7 40.7c0 14.2-.4 28.7-1.2 43.3-11.1-4.1-21.6-8.4-29.5-13.3-9.4-5.8-14.8-11.3-16.1-18.7 13.5-3.1 29.1-6.9 46.8-11.3zm-238.2 0c17.7 4.4 33.3 8.2 46.8 11.3-1.3 7.4-6.7 12.9-16.1 18.7-7.9 4.9-18.4 9.2-29.5 13.3-.8-14.6-1.2-29.1-1.2-43.3zm344.4 11.9l5.4 23.1c-18 8.4-33.1 16.5-65.4 16.8l-8.3-20c15.6-.6 31.3-4.3 45.5-9.5 8.3-3.1 16-6.6 22.8-10.4zm-450.63 0c6.8 3.8 14.5 7.3 22.8 10.4 14.1 5.2 29.9 8.9 45.5 9.5l-8.3 20c-32.4-.3-47.4-8.4-65.4-16.8zm282.13 2.7c2.6 12.6 12.1 22.2 23.2 29 6.9 4.3 14.7 7.8 22.8 11-24.9 6.9-65.1 17-94.8 18.7v-52.2c14.8-.6 30.2-2.7 48.8-6.5zm-113.6 0c18.6 3.8 34 5.9 48.8 6.5v52.2c-29.7-1.7-69.9-11.8-94.8-18.7 8.1-3.2 15.9-6.7 22.8-11 11.1-6.8 20.6-16.4 23.2-29zM372.3 428c-1.4 15.6-3.2 31-5.5 45.9-41.4 13.6-72.5 20.9-102.8 22v-46.1c36.9-1.8 84.8-14.8 108.3-21.8zm-232.6 0c23.5 7 71.4 20 108.3 21.8v46.1c-30.3-1.1-61.4-8.4-102.8-22-2.3-14.9-4.1-30.3-5.5-45.9zm122.8 68c-4.3.1-8.7.1-13 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoneyStack;

impl IconShape for MoneyStack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M327.027 65.816L229.79 128.23l9.856 5.397 86.51-55.53 146.735 83.116-84.165 54.023 4.1 2.244v6.848l65.923-42.316 13.836 7.838-79.76 51.195v11.723l64.633-41.487 15.127 8.57-79.76 51.195v11.723l64.633-41.487 15.127 8.57-79.76 51.195v11.723l100.033-64.21-24.828-14.062 24.827-15.937-24.828-14.064 24.827-15.937-23.537-13.333 23.842-15.305-166.135-94.106zm31.067 44.74c-21.038 10.556-49.06 12.342-68.79 4.383l-38.57 24.757 126.903 69.47 36.582-23.48c-14.41-11.376-13.21-28.35 2.942-41.67l-59.068-33.46zM227.504 147.5l-70.688 46.094 135.61 78.066 1.33-.85c2.5-1.61 6.03-3.89 10.242-6.613 8.42-5.443 19.563-12.66 30.674-19.86 16.002-10.37 24.248-15.72 31.916-20.694L227.504 147.5zm115.467 1.17a8.583 14.437 82.068 0 1 .003 0 8.583 14.437 82.068 0 1 8.32 1.945 8.583 14.437 82.068 0 1-.87 12.282 8.583 14.437 82.068 0 1-20.273 1.29 8.583 14.437 82.068 0 1 .87-12.28 8.583 14.437 82.068 0 1 11.95-3.237zm-218.423 47.115L19.143 263.44l23.537 13.333-23.842 15.305 24.828 14.063-24.828 15.938 24.828 14.063-24.828 15.938 166.135 94.106L285.277 381.8V370.08l-99.433 63.824L39.11 350.787l14.255-9.15 131.608 74.547L285.277 351.8V340.08l-99.433 63.824L39.11 320.787l14.255-9.15 131.608 74.547L285.277 321.8V310.08l-99.433 63.824L39.11 290.787l13.27-8.52 132.9 75.28 99.997-64.188v-5.05l-5.48-3.154-93.65 60.11-146.73-83.116 94.76-60.824-9.63-5.543zm20.46 11.78l-46.92 30.115c14.41 11.374 13.21 28.348-2.942 41.67l59.068 33.46c21.037-10.557 49.057-12.342 68.787-4.384l45.965-29.504-123.96-71.358zm229.817 32.19c-8.044 5.217-15.138 9.822-30.363 19.688-11.112 7.203-22.258 14.42-30.69 19.873-4.217 2.725-7.755 5.01-10.278 6.632-.09.06-.127.08-.215.137v85.924l71.547-48.088v-84.166zm-200.99 17.48a8.583 14.437 82.068 0 1 8.32 1.947 8.583 14.437 82.068 0 1-.87 12.28 8.583 14.437 82.068 0 1-20.27 1.29 8.583 14.437 82.068 0 1 .87-12.28 8.583 14.437 82.068 0 1 11.95-3.236z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mongolia;

impl IconShape for Mongolia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.83 183.4l73.19-29.3L165.6 185c6.3-17 8.6-42.6 26.3-44.3 22.3-2.1 42.9 15.1 47.1 39.9l54-1.6 54.5 22.8 55-35.2 32.3 7.9s-20.3 32.6-9.7 42.4c9.1 8.5 35.5-10.9 35.5-10.9l32.6 22.1-87.1 62.7c-6.7-4.7-16.4-13.5-27.1-5-9.9 7.9-6 21.9 1 33.8-32.9 31-71 43-109.8 51.7l-127.8-30-92.59-70c9.92-34.7-14.36-61-30.98-87.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonkFace;

impl IconShape for MonkFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-29.03 0-56.162 11.49-78.38 31.12 1.61 1.512 3.192 3.022 4.714 4.49 9.823 9.47 18.386 17.234 26.963 18.484 5.004.73 11.068-1.446 18.715-4.95 7.647-3.503 16.566-8.274 27.62-8.294 11.163-.02 20.207 4.76 27.975 8.28 7.77 3.522 13.955 5.722 19.08 4.966 8.583-1.267 17.153-9.04 26.98-18.506 1.52-1.464 3.095-2.97 4.704-4.48C312.156 52.488 285.027 41 256 41zM143.572 72.99c-1.595-.076-5.878 2.043-9.21 5.373-4.138 4.14-8.75 9.024-11.485 13.395-2.736 4.37-3.203 7.102-2.465 9.043 3.604 9.48 12.928 14.148 27.156 17.555 14.228 3.408 31.67 4.636 46.905 8.99 20.49 5.857 41.04 10.94 61.052 10.968 20.34.026 41.222-5.056 62.012-10.97 15.233-4.332 32.672-5.563 46.897-8.974 14.224-3.412 23.55-8.088 27.154-17.57.738-1.94.27-4.672-2.465-9.042-2.736-4.37-7.347-9.256-11.486-13.395-3.33-3.33-7.614-5.45-9.21-5.373-8.463.402-16.603 7.244-26.273 16.56-9.67 9.317-20.536 20.948-36.84 23.354-11.4 1.683-21.038-2.707-29.138-6.38-8.1-3.67-14.97-6.685-20.51-6.674-5.422.01-12.174 3.002-20.156 6.66-7.983 3.657-17.506 8.043-28.807 6.396-16.317-2.377-27.19-14.016-36.86-23.34-9.672-9.323-17.813-16.174-26.27-16.576zm-8.437 60.555C126.11 155.883 121 181.13 121 208c0 67.545 32.248 124.872 78 151.332v-5.795h18v9s-.073 4.904 4.2 10.6c4.27 5.696 12.8 12.4 34.8 12.4 22 0 30.53-6.704 34.8-12.4 4.273-5.696 4.2-10.6 4.2-10.6v-9h18v5.795c45.752-26.46 78-83.787 78-151.332 0-26.865-5.11-52.11-14.13-74.443-2.73.888-5.49 1.657-8.24 2.316-16.316 3.913-33.775 5.26-46.167 8.783-21.193 6.028-43.652 11.687-66.96 11.656-22.997-.03-45.113-5.695-65.976-11.658-12.38-3.538-29.835-4.887-46.152-8.795-2.75-.66-5.51-1.428-8.24-2.315zm-29.02 37.197c-6.307 1.07-11.955 2.64-16.623 4.72-9.613 4.29-14.883 9.754-16.68 18.376-1.835 8.79 4.34 18.974 15.292 29.193 5.215 4.868 10.972 9.264 16.693 13.33-1.18-9.257-1.797-18.73-1.797-28.36 0-12.74 1.073-25.202 3.115-37.258zm299.77 0C407.927 182.798 409 195.262 409 208c0 9.63-.616 19.103-1.797 28.36 5.72-4.066 11.478-8.462 16.693-13.33 10.953-10.218 17.127-20.4 15.293-29.192-1.8-8.622-7.07-14.087-16.682-18.375-4.668-2.082-10.315-3.652-16.623-4.72zM151 179.428h82v18h-17.893C216.335 200.745 217 204.332 217 208c0 14.537-10.435 27.842-25 27.842S167 222.537 167 208c0-3.668.665-7.255 1.893-10.572H151v-18zm128 0h82v18h-17.893C344.335 200.745 345 204.332 345 208c0 14.537-10.435 27.842-25 27.842S295 222.537 295 208c0-3.668.665-7.255 1.893-10.572H279v-18zm-87 18.73c-3.11 0-7 3.566-7 9.842 0 6.276 3.89 9.842 7 9.842s7-3.566 7-9.842c0-6.276-3.89-9.842-7-9.842zm128 0c-3.11 0-7 3.566-7 9.842 0 6.276 3.89 9.842 7 9.842s7-3.566 7-9.842c0-6.276-3.89-9.842-7-9.842zm-96.615 29.13l6.664 6.048c10.193 9.253 18.694 12.328 26.63 12.053 7.936-.277 16.305-4.164 25.375-12.146l6.756-5.945 11.89 13.51-6.755 5.946c-11.043 9.72-23.294 16.16-36.64 16.623-13.347.462-26.79-5.312-39.354-16.716l-6.663-6.05 12.098-13.327zm-40.37 28.173l17.97 1.08c-.528 8.798-2.63 16.397-5.788 23.036 46.533 15.463 75.073 15.463 121.606 0-3.158-6.64-5.26-14.238-5.787-23.037l17.968-1.08c1.277 21.287 12.412 30.7 27.993 41.042l-9.954 14.996c-6.863-4.555-13.805-9.87-19.744-16.437l-4.434 1.48c-49.14 16.38-84.553 16.38-133.692 0l-4.433-1.48c-5.938 6.567-12.88 11.883-19.743 16.438l-9.954-14.996c15.58-10.34 26.716-19.755 27.993-41.04zm-53.247 57.112c-11.485 7.137-19.815 15.392-24.174 24.328 15.652 60.648 38.172 93.902 64.263 116.266 22.97 19.69 49.378 31.227 77.143 44.504V441h-32v-18h32v-19.86c-20.637-1.876-33.41-10.15-40.2-19.202-.244-.327-.46-.655-.69-.983-31.41-13.046-58.028-38.055-76.342-70.383zm252.464 0c-18.314 32.328-44.93 57.337-76.34 70.383-.23.328-.448.656-.693.983-6.79 9.053-19.563 17.326-40.2 19.2V423h32v18h-32v56.67c27.765-13.277 54.172-24.815 77.143-44.504 26.09-22.364 48.61-55.618 64.263-116.266-4.36-8.936-12.69-17.19-24.174-24.328zM231 327h50v18h-50v-18zM89.107 345.256c-19.795 1.35-39.674 8.244-54.736 16.61-6.51 3.618-12.106 7.51-16.37 11.148V494h37v-39h18v39h125.602c-13.88-7.477-27.505-16.063-40.46-27.166-28.365-24.313-52.697-60.595-69.035-121.578zm333.786 0c-16.338 60.983-40.67 97.265-69.036 121.578-12.954 11.103-26.58 19.69-40.46 27.166H439v-39h18v39h37V373.014c-4.264-3.637-9.86-7.53-16.37-11.147-15.063-8.367-34.942-15.262-54.737-16.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonkeyWrench;

impl IconShape for MonkeyWrench {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M417.972 37.51c-1.67-.02-3.093.17-4.218.544l-20.127 6.71 63.95 63.948-22.628 22.627 21.212 21.212 27.576-27.578c6.01-6.01 7.04-13.12 4.383-23.152-2.655-10.033-9.698-21.883-18.933-32.438-9.235-10.554-20.62-19.874-31.123-25.603-7.878-4.297-15.083-6.214-20.092-6.27zM354.338 98.81l-45.952 45.95c5.99 1.255 12.28 2.304 18.506 2.534 12.166.45 23.204-1.815 32.397-11.008l6.362-6.363 17.64 17.64.073.073 4.914 4.914 9.9-9.9-43.842-43.84zm67.884 45.254l-21.214 21.215 21.212 21.213 21.213-21.214-21.21-21.214zm-56.57 14.156c-1.773 0-3.545.703-4.95 2.107-2.808 2.808-2.808 7.09 0 9.9 2.81 2.81 7.09 2.81 9.9 0 2.808-2.81 2.808-7.092 0-9.9-1.405-1.405-3.177-2.108-4.95-2.108zm-72.32 1.596l-28.09 28.09 93.516 93.513c1.927-.694 5.33-2.472 9.257-5.14 4.036-2.746 8.643-6.35 13.44-10.464-7.204 2.642-15.128 1.97-21.463-4.366l-33.942-33.94c-16.086-16.088 4.237-42.443 23.043-41.142 1.67.116 3.328.455 4.948 1.034-2.19-1.138-4.24-2.62-6.066-4.446-5.053-5.053-7.464-11.816-7.246-18.507-4.92.785-9.81 1.008-14.502.834-12.924-.478-24.25-3.404-32.894-5.466zm94.226 17.47c-1.107 2.04-2.513 3.953-4.228 5.668-7.18 7.18-17.813 9.033-26.78 5.573 1.688.903 3.32 2.09 4.856 3.624l33.94 33.94c6.817 6.816 7.093 15.475 3.722 23.093 8.43-8.698 16.1-17.75 21.014-24.975 2.67-3.925 4.45-7.328 5.144-9.256l-37.668-37.668zM254.3 202.42l-26.195 43.66 4.04 19.296 17.374 3.31 35.523-35.523L254.3 202.42zm93.024 1.96c-3.75.04-11.022 7.926-8.547 10.4l33.94 33.942c2.83 2.828 12.73-7.07 9.902-9.898l-33.943-33.942c-.353-.353-.817-.508-1.353-.502zm-38.24 52.824l-4.95 4.95c-7.424 7.424-10.522 14.256-11.244 19.304-.72 5.05.637 8.274 2.758 10.395 2.12 2.12 5.346 3.48 10.395 2.758 5.048-.72 11.88-3.82 19.304-11.244l4.95-4.95-21.213-21.212zm-95.91 5.4L47.7 428.076c4.836 1.544 9.377 4.213 13.188 8.024 3.812 3.813 6.48 8.357 8.024 13.192l165.215-165.215-17.143-3.265-3.81-18.21zM37.554 444.377c-3.82 0-7.638 1.485-10.605 4.45-5.934 5.935-5.934 15.28 0 21.214 5.932 5.934 15.28 5.934 21.212 0 5.933-5.933 5.933-15.28 0-21.213-2.967-2.967-6.788-4.452-10.608-4.452z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonoWheelRobot;

impl IconShape for MonoWheelRobot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21c-10.615 0-20.6 3.914-29.547 14.039.512-.027 1.029-.04 1.547-.04 12.701 0 23.655 8.064 28 19.307C260.345 43.063 271.299 35 284 35c.796 0 1.582.041 2.363.103C277.086 25.006 266.584 21 256 21zm-28 32c-6.734 0-12 5.266-12 12s5.266 12 12 12 12-5.266 12-12-5.266-12-12-12zm56 0c-6.734 0-12 5.266-12 12s5.266 12 12 12 12-5.266 12-12-5.266-12-12-12zm-28 22.693C251.655 86.936 240.701 95 228 95c-9.023 0-17.161-4.073-22.68-10.46-1.763 9.055-3.075 19.175-3.8 30.46h109.25c-.393-11.71-1.544-22.155-3.268-31.454C301.988 90.502 293.482 95 284 95c-12.701 0-23.655-8.064-28-19.307zM154.844 133l2.953 15.748c-13.556 2.706-24.952 8.46-34.026 16.525-12.882 11.451-21.042 27.024-26.36 44.043-9.885 31.629-10.383 68.875-10.405 99.676-4.34 1.98-7.964 5.204-10.918 8.611-4.8 5.537-8.448 12.145-11.455 18.592-6.014 12.894-9.33 25.49-9.33 25.49l17.394 4.629s3.07-11.404 8.248-22.51c2.59-5.552 5.74-10.945 8.742-14.408C92.69 325.933 94.937 325 96 325c1.063 0 3.31.933 6.313 4.396 3.002 3.463 6.152 8.856 8.742 14.408 5.179 11.106 8.248 22.51 8.248 22.51l17.394-4.629s-3.316-12.596-9.33-25.49c-3.007-6.447-6.655-13.055-11.455-18.592-2.949-3.402-6.565-6.62-10.896-8.602.071-30.618.876-66.485 9.574-94.318 4.681-14.98 11.521-27.408 21.139-35.957 6.73-5.983 14.86-10.308 25.369-12.369L199.468 371H215v-23c0-22 20.5-33 41-33s41 11 41 33v23h15.531l38.371-204.643c10.509 2.061 18.638 6.386 25.37 12.37 9.617 8.548 16.457 20.975 21.138 35.956 8.698 27.833 9.503 63.7 9.574 94.318-4.33 1.981-7.947 5.2-10.896 8.602-4.8 5.537-8.448 12.145-11.455 18.592-6.014 12.894-9.33 25.49-9.33 25.49l17.394 4.629s3.07-11.404 8.248-22.51c2.59-5.552 5.74-10.945 8.743-14.408C412.69 325.933 414.937 325 416 325c1.063 0 3.31.933 6.313 4.396 3.002 3.463 6.152 8.856 8.742 14.408 5.179 11.106 8.248 22.51 8.248 22.51l17.394-4.629s-3.316-12.596-9.33-25.49c-3.007-6.447-6.655-13.055-11.455-18.592-2.954-3.407-6.577-6.631-10.918-8.611-.022-30.801-.52-68.047-10.404-99.676-5.319-17.02-13.479-32.592-26.361-44.043-9.074-8.065-20.47-13.819-34.026-16.525L357.156 133zm24.761 34h152.79l-39.454 62H219.06zM224 243h64v18h-64zm16 32h32v18h-32zm16 58c-11.5 0-23 4.999-23 15v7h46v-7c0-10.001-11.5-15-23-15zm-23 40v30h46v-30zm-33 21v36h15v-36zm97 0v36h15v-36zm-64 27v30h46v-30zm0 48v7c0 20 46 20 46 0v-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonsteraLeaf;

impl IconShape for MonsteraLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.9 17.37c-11.7-.1-24.2 1.23-37.5 4.13-33.1 7.21-48.6 28.49-56.2 54.09 11.2 22.86 20.1 46.01 25 71.91-9.6-6.9-19.7-1.7-22.6 5-4.3-22.4-10-42.9-17.8-62.93-48.8-34.88-83-20.9-89.6-18.76C49.64 98.12 25.54 165.7 39.84 239.1c19.32-43.4 86.56-68.7 113.56-68.6 6.9.1 47 9.5 13.6 20-54.8 17.3-98.29 48.7-116.81 86 8.78 24.5 21.34 49.1 36.89 72.4 14.42-42 40.22-89 96.72-125.1 14.5-9.3 23.8.7 12.2 13.2-53.5 57.4-75.1 104.2-81 148.6 17.4 20.3 37.2 38.9 58.5 54.7 1.6-54.4 20.3-117.7 56.3-164.6 3.7-6.6 22-2.7 15.6 9-27.9 50.9-43.2 119.9-44.5 174 25.6 15.2 52.9 26.3 80.9 31.9-15.1-35.2-18.5-80.5-6.9-120.8 5.1-17.8 20.8-8.1 17.6 4.2-10 38.8 8.6 87.5 28.1 120.6 20.7.1 41.6-3.1 62.3-10.2 11.8-4 22.7-12.3 32.7-23.8-11.3-22.8-27-44.1-46.6-57.2-7.4-5-3.2-23.6 10.2-14.8 19.1 12.6 37.6 29.7 52.8 48.7 9.8-16.8 18.2-37 25-59.4-29.7-34.7-83.3-82-128.8-101.7-9.6-4.1-8.7-21.5 7.6-16.4 47.8 14.8 98 46.2 131.1 78 3.9-19.9 6.7-40.8 8.1-61.9-39-27.6-95.5-67.2-147.1-74.8-9.5-1.4-13.6-18.6 3-17.8 58.3 2.7 109.8 23.5 145.1 50.5-.5-28.6-3.6-56.7-9.7-82.9-41.7-13.6-113.5-18.5-141.5-6.1-11.1 4.9-29.9-4.8-6.8-16.6 37.6-22.1 94.5-22.8 138.3-11-21.3-57.97-60.7-99.32-123.4-99.83z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonumentValley;

impl IconShape for MonumentValley {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M441.9 43a29 29 0 0 0-29 29 29 29 0 0 0 29 29 29 29 0 0 0 29-29 29 29 0 0 0-29-29zm-304.3 82.6l-19.8 13.6-3.8 94.7-6.9-86.4c-21.72 53-10.81 109.5-11.11 164.1 14.11.8 28.21 1.3 42.21 1.7l-.8-50.4 7.4 11 4.9 39.7c58.5 1.4 115.9.2 173.5-.8l-15.4-134.7-14.3 2.6-4 68.1 6.8 38.6-13.2-46.2h.1l-4.7-9.3-16.5-3.7-2.6-69.6-18.7-10.5 1 79.3 9.9 25.2 1 48.6-7.9-6.4c-2-21-8.5-49.1-9.6-66.1-2.1-27.7-4.3-58.7-6.4-87.4l-.1-.1-47.6.2-7.6 55.4 24.9 24.4-1.2 69-5.2-52.7-17.5-27.5-4.3 10.9-3.4-79.8-29.1-15.5zm-42.09 204c-23.4 17-49.35 37.2-77.92 57.3v108.9H494.4v-24.2c-70.6-39.3-123.1-97.2-171.5-140.8-28.5.5-57 1-85.7 1.3l55.7 36.7 4.3 46.4-26-36.9-52-46.1c-30.9.2-62.1-.1-93.7-1.3l68.1 91.5 17.9 44.8-28.2-47.8-75.4-89.2c-4.1-.2-8.25-.4-12.39-.6zm212.89 30l73.4 78.7-47.7-32.5-25.7-46.2zm86.6 13.9c29.5 27.3 61.3 54.5 97.7 76.4v-76.4H395zm-177.4.4l60 71.1-58.8-52.2-1.2-18.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoonBats;

impl IconShape for MoonBats {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M305.4 18.09A192 192 0 0 0 144.9 98c25.7-9.6 54.2-13.42 83.4-9.81 96.3 11.91 164.9 99.91 153 196.31-5.9 48-30.8 89.1-66.1 116.9a192 192 0 0 0 176.2-167.8A192 192 0 0 0 324.5 19.5a192 192 0 0 0-19.1-1.41zM58.76 91.4c4 10.7 2 36.7-.99 44.2 21.09 9.4 19.19 35.2 15.99 42.9 31.14 5 35.14 15.7 36.04 33.9 13.3-11.9 23.2-16.3 48.4 3.8 3-7.5 19.2-27.3 40.2-17.7 3.1-7.5 19.3-27.2 29.4-31.8-18.1-17-42.3-18.9-59.5-17.5-6 15.2-16.5 28.5-30.5 22.1l6.3-23.8-10.1 4.3-3.8-10.6-11.8 21.6c-14.1-6.3-12.3-23.7-6.4-38.6-10.9-14-29.14-31-53.24-32.8zM317.1 301.3c-40.3.8-72.9 24.8-93.6 45.1 7.9 25.8 7.9 54-17.4 62l-16.7-37.2-8.7 16.9-16.7-8.8 7.2 40.2c-25.5 7.9-41.3-15.3-49.2-41-29.43-5-71.41-5.8-105.49 19.2 16.67 8.8 41.14 43.5 45.15 56.3 37.99-11.9 62.84 22.6 66.54 35.6 46.9-29 63.5-20.2 84.1 1.6 4.8-29.7 13.5-46.6 68.1-49.9-3.9-12.8-3.1-55.4 35-67.5-4-12.9-3.2-55.6 5.6-72.5h-3.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoonOrbit;

impl IconShape for MoonOrbit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.6 62.21c-25.1 0-50.7 5.02-75.3 15.48C81.74 119.5 35.86 233.1 77.69 331.7c4.76 11.1 10.45 21.7 16.93 31.5-12.6.3-23.45-.5-31.98-2.4-13.22-2.9-19.93-7.8-22.27-13.3-2.33-5.6-1.25-13.8 5.87-25.4 1.65-2.6 3.62-5.4 5.86-8.4-2.1-7.4-3.76-14.7-5.05-22.2-6.62 7.1-12.1 14.2-16.37 21.1-8.74 14.1-12.66 28.9-7.11 42 5.54 13.1 18.9 20.5 35.17 24 13.66 3 30.13 3.6 48.96 2.2 53.2 63.4 143.6 87.6 223.9 53.4 80.3-34.1 125.6-115.7 117.1-198.1 14.1-12.6 25.2-24.9 32.5-36.8 8.9-14.2 12.7-29 7.2-42-5.6-13.1-18.9-20.5-35.2-24.1-7.9-1.7-16.9-2.7-26.5-2.8 4.5 6.1 8.6 12.4 12.4 19.1 3.7.4 7.1.9 10.1 1.6 13.3 2.8 20 7.8 22.3 13.3 2.4 5.5 1.3 13.8-5.9 25.3-4.5 7.4-11.4 15.8-20.4 24.7 1.5 7.3 2.7 14.5 3.4 21.7-2.6 2.3-5.5 4.7-8.2 7.1-4.7 3.8-9.5 7.7-14.7 11.5 11.2 32-4.4 67.8-35.9 81.2-26.3 11.2-56 3.6-74-16.8-9.1 4.3-18.3 8.4-27.8 12.5-62.5 26.4-122.4 43-169.2 48.1-3.8.4-7.5.7-11 1.1-4.7-5.6-8.95-11.4-13.12-17.6 6.82-.2 14.22-.7 22.02-1.6 44.4-4.9 103-20.9 164.2-46.9 8.4-3.5 16.7-7.3 24.8-11-.4-.7-.7-1.4-1-2.1-14-32.9 1.5-71.2 34.4-85.1 28.3-12.1 60.7-2.1 78 21.8 4-3.1 7.9-6.1 11.5-9.1 6.1-5 11.6-10 16.6-14.8-2.6-11.5-6.2-22.9-11-34.1-31.4-73.9-103.1-118.22-178.6-118.09zM364.3 229.6c-5.9 0-12.1 1.2-18.1 3.7-23.7 10.1-34.8 37.3-24.6 61.2 10 23.8 37.3 34.7 61.1 24.6 23.7-10 34.8-37.3 24.6-61.1-7.5-17.9-24.7-28.5-43-28.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MooringBollard;

impl IconShape for MooringBollard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 41c-13 0-27.2 6.75-39.5 17.73-12.4 10.97-22.6 25.97-28.1 40.43-5.4 14.44-5.7 27.84-1 36.54S138 151 160 151h192c22 0 31.9-6.6 36.6-15.3 4.7-8.7 4.4-22.1-1-36.54-5.5-14.46-15.7-29.46-28.1-40.43C347.2 47.75 333 41 320 41H192zm-23 128v270h174V169H169zM32 254v36h119v-36H32zm329 0v36h119v-36H361zM87 432v25H73v30h366v-30h-14v-25h-18v25H105v-25H87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MorgueFeet;

impl IconShape for MorgueFeet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.078 67.273a15.34 15.34 0 0 0-4.986.867c-5.107 1.795-9.07 6.194-11.252 13.114-2.183 6.919-2.178 16.064 1.043 25.23s8.939 16.303 14.97 20.336c6.032 4.033 11.874 4.986 16.981 3.191 5.107-1.794 9.069-6.191 11.252-13.111 2.183-6.92 2.178-16.064-1.043-25.23-3.221-9.167-8.939-16.305-14.97-20.338-4.148-2.773-8.204-4.09-11.995-4.059zm217.844 0c-3.79-.031-7.85 1.286-11.996 4.059-6.032 4.033-11.75 11.17-14.97 20.336-3.222 9.166-3.227 18.313-1.044 25.232 2.183 6.92 6.145 11.315 11.252 13.11 5.107 1.794 10.953.845 16.984-3.188 6.032-4.033 11.748-11.172 14.97-20.338 3.22-9.166 3.227-18.313 1.044-25.232-2.183-6.92-6.147-11.315-11.254-13.11a15.349 15.349 0 0 0-4.986-.869zM104.129 95.455c-1.63-.007-3.17.3-4.606.894-3.827 1.585-6.76 5.14-8.238 10.885-1.477 5.744-1.098 13.35 1.965 20.854 3.063 7.503 8.106 13.178 13.168 16.214 5.062 3.037 9.631 3.482 13.459 1.897 3.828-1.585 6.761-5.139 8.238-10.883.063-.243.118-.493.174-.742-5.725-5.967-10.355-13.491-13.389-22.123a63.746 63.746 0 0 1-3.33-14.98c-2.638-1.357-5.132-2.007-7.441-2.016zm303.74 0c-2.31.01-4.802.659-7.44 2.015a63.748 63.748 0 0 1-3.331 14.98c-3.034 8.633-7.662 16.157-13.387 22.124.056.25.111.5.174.742 1.477 5.744 4.41 9.3 8.238 10.885 3.828 1.585 8.395 1.136 13.457-1.9 5.062-3.037 10.107-8.71 13.17-16.213 3.063-7.504 3.44-15.108 1.963-20.852-1.477-5.744-4.409-9.3-8.236-10.885a11.822 11.822 0 0 0-4.608-.896zM67.332 124.609c-2.697-.015-4.96.735-6.793 2.092-2.932 2.17-4.721 5.86-4.754 11.285-.032 5.424 2 12.162 6.424 18.217 4.425 6.054 10.209 10.011 15.363 11.595 5.155 1.585 9.187.966 12.12-1.205 2.439-1.806 4.068-4.68 4.572-8.713-7.512-5.353-13.706-13.257-17.645-22.906a57.331 57.331 0 0 1-2.853-9.08c-.37-.135-.744-.286-1.108-.398-1.933-.594-3.707-.878-5.326-.887zm377.336 0c-1.618.009-3.393.29-5.326.885-.364.112-.738.263-1.108.398a57.327 57.327 0 0 1-2.853 9.082c-3.94 9.65-10.134 17.555-17.647 22.908.505 4.03 2.136 6.904 4.575 8.71 2.932 2.17 6.964 2.792 12.119 1.208 5.154-1.584 10.938-5.545 15.363-11.6 4.425-6.054 6.457-12.79 6.424-18.214-.033-5.424-1.824-9.112-4.756-11.283-1.833-1.357-4.094-2.108-6.791-2.094zm-259.785 11.578c-3.917 4.83-8.976 8.662-15.08 10.807-.267.093-.535.171-.803.258v18.478h10.729l23.367 23.367c-.25-5.72-.771-11.394-1.684-17.078-2.984-18.588-8.164-28.669-16.53-35.832zm142.236 0c-8.366 7.163-13.547 17.243-16.531 35.832-6.132 38.203 5.083 75.873 1.486 130.928-1.151 17.628-8.668 36.315-16.627 54.756-7.959 18.44-16.513 36.61-20.5 50.914-2.481 8.903-.61 15.277 4.098 21.127 4.709 5.85 12.863 10.731 22.494 13.18 19.262 4.896 42.665.114 54.623-17.917 37.654-56.772 85.318-134.982 99.475-177.388.629-1.884.838-4.213.646-6.883-.484-.357-.961-.73-1.424-1.133-6.293-5.487-8.703-13.834-8.142-21.65.056-.784.148-1.568.258-2.35-.254-.427-.497-.85-.762-1.281-.04-.064-.082-.128-.121-.192-2.992-.672-5.893-1.88-8.557-3.728-7.382-5.122-10.995-13.728-11.355-22.262-.545-.605-1.111-1.207-1.664-1.81-4.547-.667-8.947-2.332-12.828-5.205-5.546-4.106-9.08-9.953-10.81-16.348-5.176.7-10.499.183-15.558-1.912-7.93-3.284-13.627-9.772-16.89-17.397-8.24 3.636-17.483 4.598-26.233 1.524-6.103-2.145-11.16-5.977-15.078-10.805zm-183.553 9.283c-3.263 7.623-8.957 14.11-16.886 17.393-5.059 2.095-10.38 2.612-15.557 1.912-1.73 6.396-5.264 12.244-10.81 16.35-3.882 2.873-8.282 4.539-12.829 5.205-.553.603-1.12 1.205-1.664 1.81-.36 8.535-3.972 17.14-11.355 22.262-2.664 1.848-5.565 3.058-8.557 3.73-.039.063-.082.127-.12.19-.266.43-.509.854-.763 1.281.11.782.202 1.566.258 2.35.561 7.816-1.849 16.163-8.142 21.65-.463.403-.94.776-1.424 1.133-.192 2.67.017 5 .646 6.883 7.798 23.357 25.78 57.586 46.637 93.103v-137.72l37.272-37.272H151v-17.8a40.456 40.456 0 0 1-7.434-2.46zm-98.673 17.12c-.688.216-1.311.52-1.868.906-1.988 1.38-3.38 3.864-3.537 8.049-.157 4.184 1.248 9.633 4.594 14.625 3.346 4.991 7.816 8.31 11.703 9.689 3.887 1.379 6.668.97 8.656-.41 1.989-1.38 3.378-3.862 3.536-8.047.047-1.257-.066-2.637-.31-4.076-7.547-3.33-14.467-8.944-19.925-16.412a55.377 55.377 0 0 1-2.85-4.325zm422.214 0a55.388 55.388 0 0 1-2.85 4.322c-5.457 7.469-12.378 13.085-19.925 16.416-.244 1.437-.356 2.816-.309 4.072.158 4.185 1.546 6.671 3.534 8.05 1.988 1.38 4.771 1.788 8.658.409 3.887-1.379 8.357-4.698 11.703-9.69 3.346-4.991 4.751-10.438 4.594-14.622-.158-4.185-1.547-6.672-3.535-8.051a6.854 6.854 0 0 0-1.87-.907zM147.73 183.73L121 210.457V373.73h78V210.46l-26.728-26.729zM29.31 200.15a8.083 8.083 0 0 0-.7.006c-1.491.08-2.567.572-3.369 1.272-1.283 1.118-2.161 3.024-1.916 6.445.246 3.42 1.896 7.876 5.158 11.781 3.263 3.905 7.312 6.272 10.58 7.057 3.27.785 5.25.197 6.534-.922 1.283-1.119 2.165-3.027 1.92-6.447-.184-2.553-1.154-5.68-2.989-8.725-4.42-2.404-8.494-5.745-12.002-9.89-.25-.077-.506-.163-.75-.221a12.23 12.23 0 0 0-2.466-.356zm453.377 0c-.729.022-1.546.135-2.465.355-.244.059-.499.145-.75.221-3.508 4.146-7.582 7.487-12.002 9.89-1.835 3.047-2.803 6.173-2.987 8.725-.245 3.421.635 5.329 1.918 6.448 1.284 1.118 3.265 1.707 6.534.922 3.268-.786 7.315-3.152 10.578-7.057 3.263-3.905 4.914-8.359 5.16-11.78.245-3.42-.635-5.326-1.918-6.445-.802-.699-1.878-1.192-3.37-1.271a8.438 8.438 0 0 0-.698-.008zM135 238.73h18v96h-18zm32 32h18v48h-18zm50 87.996v33.004h-82.766a2041.756 2041.756 0 0 0 21.604 33.277c11.958 18.031 35.361 22.813 54.623 17.916 9.63-2.448 17.786-7.33 22.494-13.18 4.709-5.85 6.58-12.223 4.098-21.126-3.913-14.038-12.222-31.805-20.053-49.89z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MorphBall;

impl IconShape for MorphBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.758 27.83C109.325 45.195 25 140.648 25 256c0 13.988 1.241 27.683 3.617 40.982 43.722 13.41 79.408 22.373 110.326 18.803 19.005-2.194 36.72-8.817 54.371-22.465A72.473 72.473 0 0 1 183 256c0-18.063 6.632-34.616 17.566-47.385-15.788-40.1-21.575-75.32-17.87-105.988 3.598-29.793 16.537-54.897 37.062-74.797zm27.178 1.69c-26.69 18.811-42.236 43.485-46.141 75.816-3.03 25.082 1.346 55.166 14.32 90.244a72.71 72.71 0 0 1 22.38-10.191c-3.43-25.147-.258-47.234 8.53-67.53 12.368-28.56 34.598-53.137 62.4-79.638-8.255 1.92-16.586 3.542-24.435 4.217-10.869.934-20.771.943-29.24-4.149-3.212-1.93-6.112-5.042-7.814-8.77zm86.955 8.931c-33.434 31.126-59.007 57.533-71.364 86.07-7.623 17.606-10.74 36.315-7.703 58.508.393-.006.782-.029 1.176-.029 31.623 0 58.646 20.287 68.75 48.508 42.515 6.387 75.838 18.972 100.502 37.482 24.166 18.137 39.476 42.096 46.38 70.065C481.552 313.285 487 285.287 487 256c0-100.343-63.813-185.622-153.11-217.549zM256 201c-30.483 0-55 24.517-55 55s24.517 55 55 55 55-24.517 55-55-24.517-55-55-55zm0 14c22.537 0 41 18.463 41 41s-18.463 41-41 41-41-18.463-41-41 18.463-41 41-41zm0 18c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm72.766 17.436c.14 1.839.234 3.69.234 5.564 0 6.58-.894 12.957-2.54 19.03 23.252 9.594 40.641 23.319 53.733 40.956 18.55 24.99 28.719 56.534 37.768 93.862 2.465-8.11 5.226-16.136 8.566-23.27 4.626-9.88 9.57-18.46 18.213-23.248 3.278-1.816 7.423-2.776 11.502-2.387-2.947-32.518-16.541-58.314-42.588-77.861-20.128-15.106-48.232-26.33-84.888-32.646zm-8.95 40.921C307.332 313.773 283.394 329 256 329c-4.616 0-9.128-.451-13.51-1.277-26.751 33.541-54.272 56.058-82.592 68.144-27.749 11.843-56.111 13.137-83.748 5.172C118.477 453.48 183.28 487 256 487c56.954 0 109.05-20.568 149.3-54.674-10.263-44.664-20.346-80.118-38.925-105.146-11.388-15.342-25.956-27.36-46.559-35.823zM203.9 307.031c-19.947 15.357-40.54 23.565-62.375 26.086-30.917 3.57-63.315-3.394-100.166-14.22 5.79 6.188 11.36 12.591 15.868 19.05 6.243 8.946 11.2 17.517 11.025 27.397-.066 3.746-1.308 7.817-3.684 11.154 29.636 13.707 58.775 14.834 88.727 2.05 23.103-9.86 46.827-28.538 70.58-57.034A73.467 73.467 0 0 1 203.9 307.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mortar;

impl IconShape for Mortar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336.313 25.057l-42.536 73.45-1.718 28.036 45.754 26.498 23.463-15.446 42.535-73.448zm-50.3 118.785l-31.07 53.654 30.307 17.55c.91-.06 1.825-.103 2.75-.103 3.218 0 6.35.39 9.36 1.1l28.46-49.148zm-61.238 20.455l-4.63 7.72-33.665 56.106-11.09-7.19-7.55-4.9-9.795 15.102 7.55 4.896 11.618 7.538-5.068 8.448-4.63 7.716 15.434 9.262 4.63-7.72 48-80 4.63-7.715zm14.22 44.766l-31.07 53.652 53.655 31.072 2.623-4.53c-10.39-7.46-17.203-19.63-17.203-33.314 0-13.334 6.466-25.24 16.412-32.742zM288 232.942c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zM205.83 282.3l-78.078 134.827c5.496 5.717 8.967 13.386 9.223 21.816h31.298l77.364-133.59zm109.432 4.184c-3.484 3.116-7.498 5.644-11.885 7.436l89.393 161.023h16.01zM104 424.944c-8.39 0-15 6.608-15 15 0 8.39 6.61 15 15 15s15-6.61 15-15c0-8.392-6.61-15-15-15zm-63 32v30h35.498c5.765-4.327 12.842-6.912 20.772-8.764 9.43-2.204 20.05-3.237 30.675-3.237 10.626 0 21.22 1.03 30.608 3.24 7.86 1.847 14.873 4.418 20.568 8.76H215v-30h-82.766c-5.803 9.562-16.317 16-28.234 16-11.917 0-22.43-6.438-28.234-16zm336 16v14h94v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MountainCave;

impl IconShape for MountainCave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.344 71.438c-3.83.12-7.66 1.205-10.938 3.062-9.987 5.66-16.774 16.198-25.062 31.72-8.288 15.52-17.55 36.4-29.03 63.218C107.35 223.07 75.606 300.42 26.843 403.875a9.5 9.5 0 1 0 17.187 8.094c48.966-103.882 80.897-181.682 103.75-235.064 11.428-26.69 20.6-47.274 28.314-61.72 7.713-14.443 14.5-22.366 17.656-24.155 1.578-.893 1.773-.822 2.78-.56 1.01.26 3.136 1.348 6 4.155 5.732 5.614 13.667 17.43 23.314 34.438 19.077 33.636 45.742 87.6 87.28 159.03-4.364 10.616-9.077 21.89-14.25 33.876a9.5 9.5 0 1 0 17.438 7.53c20.076-46.524 33.676-83.107 44.188-106.47 5.256-11.68 9.878-20.06 13.22-24.093 1.445-1.745 2.452-2.466 2.874-2.718.654.36 4.928 3.886 9.937 12.468 5.162 8.84 11.398 22.197 18.845 40 14.893 35.605 34.786 89.108 63.313 162.656a9.503 9.503 0 1 0 17.718-6.875c-28.48-73.43-48.32-126.835-63.5-163.126-7.59-18.146-13.993-31.983-19.97-42.22-5.974-10.235-11.09-17.537-19.78-20.843-2.172-.825-4.596-1.186-7-1.124-2.403.062-4.778.553-6.875 1.47-4.192 1.83-7.355 4.77-10.186 8.186-5.664 6.836-10.42 16.147-15.938 28.407-6.044 13.432-12.834 30.485-20.97 50.624-37.043-64.58-61.375-113.65-79.81-146.156-9.925-17.5-17.96-30.198-26.564-38.626-4.3-4.213-8.923-7.548-14.53-9-1.403-.362-2.857-.563-4.313-.624-.547-.024-1.08-.018-1.626 0zm5.03 258.78c-39.944 0-72.31 39.03-72.31 87.188h144.624c0-48.16-32.368-87.187-72.313-87.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MountainRoad;

impl IconShape for MountainRoad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149 24.32L123 124.4l27.8 44.8 15.9-29.4 37.5 30.9 17.5-55.5zm169.7 43.7l-32.2 48.38 10.7 25.5 21.9-21.7 18.1 42.8 10.3-21.7zm-83.4 64.18l-21.9 69.3-41.3-33.9L152 205l-35.2-56.7-88.38 339.4H154.9c45.6-17 135.3-56.7 137.2-106.3 1.7-47.8-108.9-43.4-110.8-91.2-1.5-39.1 84.5-81.5 84.5-81.5s-54.1 43.3-47.4 71c12.9 53 125.6 27.6 143.2 79.3 13 38.2-33.5 104.3-52.2 128.7h174.2L356.5 164.3 336.4 207l-23.5-55.4-22.1 21.9-16.3-39.1-17 25.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mouse;

impl IconShape for Mouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367.564 19.436c-.018.033-.015.195-.015.51h-18c0 5.257 2.202 8.783 4.5 12.118 2.3 3.336 5.115 6.504 8.214 9.8 6.197 6.596 13.576 13.655 19.494 20.603 5.917 6.947 9.994 13.834 10.732 18.238.738 4.404.487 6.836-6.912 11.736-6.315 4.185-16.528 4.893-29.828 2.283s-28.95-8.294-44.646-14.235c-15.696-5.94-31.42-12.13-45.887-15.574-14.467-3.443-28.64-4.74-39.89 3.272-17.738 12.634-25.74 33.146-19.725 52.18 1.684 5.334 4.36 10.444 7.992 15.228 5.627-.432 11.297-.65 16.955-.65 2.837 0 5.68.058 8.518.165-9.033-6.295-14.187-13.464-16.304-20.165-3.646-11.54.27-23.027 13.006-32.097 3.987-2.84 12.747-3.405 25.28-.422 12.53 2.983 27.872 8.913 43.68 14.896 15.81 5.984 32.1 12.03 47.553 15.063 15.453 3.033 30.805 3.3 43.237-4.936 11.348-7.518 16.47-19.295 14.722-29.72-1.747-10.424-8.012-18.987-14.78-26.935-6.77-7.948-14.42-15.232-20.08-21.256-2.832-3.013-5.156-5.725-6.51-7.69-1.017-1.475-1.253-2.516-1.308-2.414zM221.55 153.186c-34.674 1.783-67.09 13.716-79.216 31.36-7.8 15.734-13.61 33.224-17.422 52.225 34.624 13.572 65.79 20.958 96.637 22.162v-13.987h-16v-82h16v-9.76zm18 0v9.76h16v82h-16v13.986c30.778-1.2 61.874-8.557 96.407-22.07-3.79-19.22-9.532-36.844-17.203-52.327-12.133-17.638-44.54-29.566-79.205-31.35zm-16 27.76v46h14v-46h-14zm-101.61 73.978c-6.55 51.112.248 111.787 21.193 178.318l.076.242.06.246c3.122 12.287 13.545 22.349 29.5 29.6 15.958 7.252 36.887 11.18 57.804 11.24 20.918.06 41.833-3.753 57.764-10.965 15.93-7.21 26.338-17.273 29.48-29.843l.082-.334.11-.328c20.903-62.71 27.633-125.29 20.87-178.067-76.195 29-140.716 28.96-216.94-.11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Move;

impl IconShape for Move {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 34.47l-90.51 90.51h67.883v108.393H124.98V165.49L34.47 256l90.51 90.51v-67.883h108.393V387.02H165.49L256 477.53l90.51-90.51h-67.883V278.627H387.02v67.883L477.53 256l-90.51-90.51v67.883H278.627V124.98h67.883L256 34.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mp5;

impl IconShape for Mp5 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M421.938 24.406c-5.65.336-10.627 1.725-11.875 8.907l15.593 18.562-237.03 193.28c-.01 0-.022.004-.032 0-11.304-.278-16.79 7.678-18.563 11.5-9.31 20.08-15.027 41.64-26.905 61.97-36.13 33.16-81.964 64.002-110.75 98.313 17.28 23.824 40.84 44.52 61.25 66.78 8.26-.503 12.864-9.733 18.906-15.562 26.738-50.49 46.192-96.418 77.532-143.22 11.856-7.617 26.222-15.02 32.782-23.092a9.5 9.5 0 0 0 2.28.594c5.565.765 9.94 2.26 13.126 4.468 2.783 1.93 4.912 4.473 6.594 8.72-4.9 28.004 3.67 42.852 7.25 56.593a9.5 9.5 0 0 0 11.375 6.874l44.5-10.406a9.5 9.5 0 0 0 6-14.094c-7.66-12.86-11.664-31-15.095-50.625 17.508-5.41 28.902-18.48 39.125-28.908a4 4 0 0 0 .938-4l-8-25.156 16.187-13.47a9.5 9.5 0 0 0 1.97-2.28c33.177 23.91 67.84 45.264 107.717 57.688l9.282-24.5c-37.892-12.75-83.78-38.932-111.844-65.72l5.688-5.936 98.187-102.844 5.844-6.125-5.408-6.5-.625-.782L482.781 50l-8.53-8.53-18.53 15.968-33.783-33.032zM325.563 162.47l6.03 8.624-27 23a9.5 9.5 0 0 0-.03.03l-76.282 64.782-7.78-8.594 105.063-87.843zm-1.25 88.936l6.28 19.78c-9.665 9.944-19.265 20.217-33.093 24.814-1.076-6.458-2.143-13.02-3.28-19.563l30.092-25.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MugShot;

impl IconShape for MugShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 28.5v34h177.162c13.44-11.255 29.48-18 46.838-18H80v-16zm224 16c17.358 0 33.399 6.745 46.838 18H432v16h48v-34zm0 18c-18.687 0-36.025 10.529-49.244 29.035C193.537 110.041 185 136.31 185 165.5c0 29.19 8.537 55.459 21.756 73.965S237.313 268.5 256 268.5s36.025-10.529 49.244-29.035C318.463 220.959 327 194.69 327 165.5c0-29.19-8.537-55.459-21.756-73.965S274.687 62.5 256 62.5zm-224 30v34h139.68a145.593 145.593 0 0 1 5.709-18H80v-16zm302.611 16a145.593 145.593 0 0 1 5.71 18H432v16h48v-34zM32 156.5v34h136.885a164.02 164.02 0 0 1-1.735-18H80v-16zm312.85 16a164.02 164.02 0 0 1-1.735 18H432v16h48v-34zM32 220.5v34h149.613c3.233-1.86 6.6-3.575 10.078-5.168a120.698 120.698 0 0 1-7.877-12.832H80v-16zm296.186 16a120.698 120.698 0 0 1-7.877 12.832 122.386 122.386 0 0 1 10.078 5.168H432v16h48v-34zM203.37 263.223c-28.513 11.107-46.58 32.34-59.133 60.898-7.258 16.512-12.351 35.582-15.879 56.393 8.432.088 16.157 3.27 22.641 8.398V348.5h210v40.412c6.484-5.128 14.209-8.31 22.64-8.398-3.527-20.811-8.62-39.881-15.878-56.393-12.553-28.558-30.62-49.79-59.133-60.898C294.119 277.619 275.925 286.5 256 286.5c-19.925 0-38.12-8.881-52.629-23.277zM32 284.5v34h95.074c2.72-6.244 6.026-12.839 9.033-18H80v-16zm343.893 16c3.523 6.334 6.58 12.16 9.033 18H432v16h48v-34zM32 348.5v34h77.643a354.614 354.614 0 0 1 3.298-18H80v-16zm144 16v18h48v-18zm80 0v18h90.146v-18zm143.059 0a354.614 354.614 0 0 1 3.298 18H432v16h48v-34zM176 396.5v18h80v-18zm-48 2c-6.462 0-12.797 3.682-18.08 11.24-5.283 7.558-8.92 18.739-8.92 31.26s3.637 23.702 8.92 31.26c5.283 7.558 11.618 11.24 18.08 11.24 6.462 0 12.797-3.682 18.08-11.24 5.283-7.558 8.92-18.739 8.92-31.26s-3.637-23.702-8.92-31.26c-5.283-7.558-11.618-11.24-18.08-11.24zm256 0c-6.462 0-12.797 3.682-18.08 11.24-5.283 7.558-8.92 18.739-8.92 31.26s3.637 23.702 8.92 31.26c5.283 7.558 11.618 11.24 18.08 11.24 6.462 0 12.797-3.682 18.08-11.24 5.283-7.558 8.92-18.739 8.92-31.26s-3.637-23.702-8.92-31.26c-5.283-7.558-11.618-11.24-18.08-11.24zm-352 14v34h51.184C80 432.622 80 417.647 80 412.5zm192 16v18h112v-18zm204.053 0c.617 4.043.947 8.22.947 12.5.376 12.5.578 15.482 1 21.5h50v-34zm-257.93 34c-2.067 7.416-5.193 14.188-9.242 20h190.238c-4.05-5.812-7.175-12.584-9.242-20z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MultiDirections;

impl IconShape for MultiDirections {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.9A232.1 232.1 0 0 0 23.9 256 232.1 232.1 0 0 0 256 488.1 232.1 232.1 0 0 0 488.1 256 232.1 232.1 0 0 0 256 23.9zm0 15.87L301.3 153h-90.6l36.9-92.34 8.4-20.89zM256 183c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm0 18c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55zm-103 9.7v90.6L39.77 256l100.93-40.4 12.3-4.9zm206 0L472.2 256 359 301.3v-90.6zM256 231c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-45.3 128h90.6L256 472.2l-40.4-100.9-4.9-12.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MultipleTargets;

impl IconShape for MultipleTargets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M113.986 32.107v24.016C98.637 59.601 86.48 71.758 83.002 87.107H58.986v18h24.016c3.478 15.35 15.635 27.506 30.984 30.985v24.015h18v-24.015c15.35-3.479 27.506-15.635 30.985-30.985h24.015v-18h-24.015c-3.479-15.349-15.636-27.506-30.985-30.984V32.107h-18zM340 45.143v39.39c-50.72 4.33-91.28 44.89-95.61 95.61H205v18h39.39c4.33 50.72 44.89 91.28 95.61 95.609v39.39h18v-39.39c50.72-4.33 91.28-44.89 95.61-95.61H493v-18h-39.39c-4.33-50.72-44.89-91.279-95.61-95.609v-39.39h-18zM122.986 73.107c12.81 0 23 10.191 23 23 0 12.81-10.19 23-23 23-12.809 0-23-10.19-23-23 0-12.809 10.191-23 23-23zM340 102.6v22.543h18V102.6c40.946 4.182 73.36 36.597 77.543 77.543H413v18h22.543c-4.182 40.945-36.597 73.36-77.543 77.543v-22.543h-18v22.543c-40.946-4.183-73.36-36.598-77.543-77.543H285v-18h-22.543c4.182-40.946 36.597-73.361 77.543-77.543zM42.477 286.994v41h18v-23h23v-18h-41zm153 0v18h23v23h18v-41h-41zm-56 16c-44.629 0-81 36.372-81 81 0 44.629 36.371 81 81 81 44.628 0 81-36.371 81-81 0-44.628-36.372-81-81-81zm0 18c34.9 0 63 28.1 63 63s-28.1 63-63 63c-34.901 0-63-28.1-63-63s28.099-63 63-63zm229.591 56.1v16h18v-16h-18zm0 32v32h18v-32h-18zm-83 7v18h64v-18h-64zm120 0v18h64v-18h-64zm-363.591 23.9v41h41v-18h-23v-23h-18zm176 0v23h-23v18h41v-41h-18zm150.591 17.1v16h18v-16h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MummyHead;

impl IconShape for MummyHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-14.2 0-29.2 2.8-44.1 7.98 52.5 25.75 110.4 48.59 178.2 66.36-6.7-8.87-14.2-17.17-22.3-24.79C335.3 43.93 293 25 256 25zm-69.9 15.14c-24.2 8.01-44.4 22.9-58.3 37.39 11.1 4.1 22 7.57 31.2 10.35 25.7 7.75 60.5 17.12 95.5 26.12 33.9 8.7 67.9 17 94.2 23 20-.4 40-.5 60-.5 2.3-4.4 3.8-9.1 2.2-13.5-88.1-20.7-160.5-49.79-224.8-82.86zm-67.3 53.05C115.4 102 112 111 108.5 119.9c-5.8 10.5-10.44 21.5-13.76 32.9 61.66-7.1 123.26-11.5 184.76-13.9-9.6-2.4-19.4-4.8-29.4-7.4-35.2-9.1-70.1-18.5-96.3-26.4-11.9-3.6-24.3-7.5-35-11.91zm299 61.31c-112.8-.3-225.6 4.4-338.26 18.2-3.13 10.1-1.66 19.6 3.04 29.7C200 186.6 314.1 192.3 425.3 197.3c.3-6.6.5-13.7-.2-20.7-.8-9-3.2-16.8-7.3-22.1zm-278.7 55.1s19.3 39.9 37.2 49.2C191 266.4 217.9 248 228 236c-30.6 3.4-61.6-9-88.9-26.4zm233.8 0C345.6 227 314.6 239.4 284 236c10.1 12 37 30.4 51.7 22.8 17.9-9.3 37.2-49.2 37.2-49.2zm32.9 4.9c-2.9 16.7-6.2 33.8-11.6 51.3 5.6-.1 11.1-.3 16.7-.6 1.4-17 4.7-33.7 9.1-50.1-4.7-.2-9.4-.4-14.2-.6zM103 217.9l-18.79 2.4 5.69 20.9.6.1c6 1.4 12 2.7 18 3.9-2.6-8.8-4.7-17.9-5.5-27.3zM71.74 243c-8.76 23-19.95 45.5-33.95 65.9 10.99 2.8 21.87 7 30 14.4 6.05-7.1 11.84-15.7 17.39-25.2-1.38-5.7-2.32-11.4-3.01-16.9zm26.71 18.3c1.41 18 2.95 34.7 10.85 51 92.3 19.3 191.1 22.2 291.1 22.8 5.3-18.5 7.9-35.8 7.8-51.8-102.1 3.9-206.9.2-309.75-22zm17.85 70.8c8 18.5 14.9 37.4 19.2 57.5 114.2-25.5 211.9-19.8 254.3-18.2l4.7-18.3c-94.7-.6-188.9-3.5-278.2-21zm177 56.1c-7.5.3-15.3.6-23.2 1.1l8.6 19.1zm67.5.2c-5.6 12-11.6 24.4-18.8 37.3 5.7-.8 11.4-1.6 17.1-2.5 4.7-11.3 9.4-22.7 14.2-34.4-3.9-.1-8.1-.3-12.5-.4zm31.6 1.7c-5.8 14.2-11.6 28.1-17.3 41.6 7.1 18.1 16.2 34.3 29.6 47.1 7-14.7 16-27.7 29.1-35.6-17-12.3-29.5-28.8-38.6-47.2-1-2-1.9-3.9-2.8-5.9zm-149.5 1.1c-7.2.7-14.6 1.4-22.1 2.3 4.9 8.5 9.8 17 14.7 25.4 2.5-9.2 4.9-18.5 7.4-27.7zm-82.6 11.6c-4.9 1-9.7 2-14.6 3 2.1 5.2 4.3 10.3 6.4 15.4 5.2 1.2 10.3 2.3 15.5 3.2-3-7.2-5.3-14.5-7.3-21.6zm44.3 4.4c-2.2 7.2-4.4 14.5-6.6 21.7 6.5.8 13 1.4 19.5 1.8-4.3-7.8-8.6-15.7-12.9-23.5zm54.8 4.1c-2.2 6.9-4.5 13.8-6.7 20.7 5.9 0 11.7-.1 17.6-.2-3.6-6.8-7.3-13.7-10.9-20.5zm41.7 1.2c-2.2 6.1-4.6 12.1-6.9 18.1 4.6-.3 9.3-.7 13.9-1.1-2.3-5.7-4.7-11.3-7-17zm-140.6 28.9c2.5 6.1 5 12.2 7.4 18.1 9 13 29 22.8 52.6 27.8 20.9-12.4 42-23.9 58.6-37.8-39.6 1.6-79.7-.5-118.6-8.1zm190.5 1.2c-14.7 2.2-29.5 3.9-44.5 5.1-15.4 18.2-35.8 31.2-56.2 43.2 1.9.1 3.8.1 5.7.1 37.8 0 74.8-12.4 88.1-31.5 2.2-5.6 4.5-11.2 6.9-16.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MuscularTorso;

impl IconShape for MuscularTorso {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.629 18c5.912 17.013 14.242 32.992 22.43 38.557 9.701 6.593 23.321 9.89 36.941 9.89 13.62 0 27.24-3.297 36.941-9.89 8.188-5.565 16.518-21.544 22.43-38.557H196.63zm-16.424 8.264c-12.18 19.569-25.92 40.841-54.713 56.945 12.332 18.881 15.63 38.117 11.809 55.26 29.675-.906 58.603 2.266 90.732 13.486l.115.057.114.06c8.228 4.423 19.276 11.506 27.738 22.31 8.462-10.804 19.51-17.887 27.738-22.31l.114-.06.115-.057c32.13-11.22 61.057-14.392 90.732-13.486-3.821-17.143-.523-36.379 11.809-55.26-28.794-16.104-42.533-37.376-54.713-56.945-5.946 17.839-14.404 35.438-28.736 45.18-6.636 4.51-14.087 7.903-21.948 10.189 2.346 16.9 19.092 31.4 33.03 46.367-13.482 0-25.88.216-34.108-8.078-9.017-9.09-11.305-21.722-11.695-35.592a91.605 91.605 0 0 1-28.39-.586c-.343 14.102-2.57 26.96-11.716 36.178-8.228 8.294-20.625 8.078-34.107 8.078 14.251-15.304 31.434-30.12 33.16-47.512-6.533-2.223-12.731-5.23-18.344-9.045-14.332-9.741-22.79-27.34-28.736-45.18zM99.143 87.775c-17.69.11-39.135 7.635-56.498 19.15-10.28 6.819-18.751 14.923-24.645 22.913v67.908c24.558 3.093 70.735-25.185 97.006-65.355 3.765-11.413 6.445-25.011-7.963-43.977-2.466-.35-5.193-.745-7.9-.639zm313.714 0c-2.707-.106-5.434.29-7.9.64-14.408 18.965-11.728 32.563-7.963 43.976 26.27 40.17 72.448 68.448 97.006 65.355v-67.908c-5.894-7.99-14.365-16.094-24.645-22.912-17.363-11.516-38.807-19.04-56.498-19.15zm-262.36 67.57c-63.148.5-88.27 46.696-99.104 129.22 4.602 3.195 12.321 6.723 22.263 9.404 47.449 12.526 97.552 8.55 148.375 1.25 11.224-2.647 23.381-10.45 24.969-23.219v-77.945c-5.536-12.054-17.133-22.852-27.14-26.053-27.14-8.68-50.033-12.81-69.364-12.656zm211.007 0c-19.33-.152-42.224 3.977-69.363 12.657-10.008 3.2-21.605 13.999-27.141 26.053V272c1.588 12.77 13.745 20.572 24.969 23.219 50.823 7.3 100.926 11.276 148.375-1.25 9.942-2.681 17.661-6.21 22.263-9.405-10.834-82.523-35.956-128.718-99.103-129.218zM18 205.874v118.719c21.138-37.657 24.415-68.827 30.182-115.512-9.019 1.421-19.768-1.08-30.182-3.207zm476 0c-10.414 2.127-21.163 4.628-30.182 3.207 5.768 46.685 9.044 77.855 30.182 115.512V205.873zm-390.72 52.342c8.776 0 15.89 4.45 15.89 9.937 0 5.488-7.114 9.937-15.89 9.938-8.778 0-15.893-4.45-15.893-9.938s7.115-9.937 15.892-9.937zm305.44 0c8.778 0 15.893 4.449 15.893 9.937 0 5.489-7.115 9.938-15.892 9.938s-15.89-4.45-15.89-9.938 7.113-9.937 15.89-9.937zM256 295.055a46.933 46.933 0 0 1-4.1 4.271c-7.385 6.78-16.593 11.361-25.931 13.455-47.557 10.258-106.701 5.934-156.797-1.383-17.011-2.484-24.294-5.647-27.34 11.497-4.35 24.484 21.499 47.728 44.53 70.738 1.938 1.937 2.8 2.776 2.613 5.69 2.414 31.955 5.053 63.473 11.957 94.677h45.07c-.677-8.915 1.187-17.507 5.129-27.975-6.171-15.747-10.355-34.688-.363-52.18-1.848-21.207-.755-42.269 13.548-60.665 18.601-22.962 61.04-32.342 91.684-21.135 30.645-11.207 73.083-1.827 91.684 21.135 14.303 18.396 15.396 39.458 13.548 60.666 9.992 17.49 5.808 36.432-.363 52.18 3.942 10.467 5.806 19.06 5.129 27.974h45.07c6.904-31.204 9.543-62.722 11.957-94.678-.187-2.913.675-3.752 2.614-5.69 23.03-23.009 48.879-46.253 44.529-70.737-3.046-17.144-10.329-13.981-27.34-11.497-50.096 7.317-109.24 11.641-156.797 1.383-9.338-2.094-18.546-6.675-25.931-13.455a46.933 46.933 0 0 1-4.1-4.271zm-28.729 50.449c-17.232-.256-34.73 5.441-47.863 18.842-7.088 9.117-9.738 18.924-10.201 30.265 21.7-15.263 49.534-23.781 77.895-22.039v-24.138a76.774 76.774 0 0 0-19.83-2.93zm57.458 0a76.774 76.774 0 0 0-19.83 2.93v24.138c28.36-1.742 56.194 6.776 77.894 22.04-.463-11.342-3.113-21.15-10.201-30.266-13.133-13.401-30.63-19.098-47.863-18.842zm-47.471 44.642c-23.725.118-53.462 12.998-69.776 30.854-5.787 8.661-5.82 17.585-3.158 27.512 20.858-17.294 51.703-23.635 82.676-25.114V390.9c-3.087-.526-6.353-.77-9.742-.754zm37.484 0c-3.39-.016-6.655.228-9.742.754v32.498c30.973 1.479 61.818 7.82 82.676 25.114 2.661-9.927 2.63-18.851-3.158-27.512-16.314-17.856-46.051-30.736-69.776-30.854zm-35.06 51.077c-21.798.181-60.852 12.549-71.287 30.023-4.336 11.21-5.895 16.256-4.71 22.754h82.157v-52.436c-1.835-.25-3.905-.36-6.16-.341zm32.636 0c-2.255-.02-4.325.092-6.16.341V494h82.156c1.186-6.498-.373-11.544-4.709-22.754-10.435-17.474-49.489-29.841-71.287-30.023z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MushroomHouse;

impl IconShape for MushroomHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M278.184 23.85c-7.308-.07-14.842 1.623-22.54 4.87-.622 8.336.112 17.717 2.513 26.449 3.557 12.938 10.511 24.183 20.761 30.386 9.331 5.647 21.937 7.9 40.162 2.512-3.313-7.037-6.408-13.858-9.328-20.219-6.409-13.962-12.187-25.902-17.685-33.611-5.498-7.71-9.568-10.346-13.883-10.387zm-40.717 15.153c-8.23 5.77-16.587 13.054-25.008 21.658-10.353 10.577-20.708 22.998-30.988 36.525 16.667 7.99 28.338 23.429 28.338 41.867 0 27.1-25.197 47.739-54.44 47.739-12.098 0-23.497-3.54-32.712-9.602-16.768 18.15-36.758 36.094-54.217 53.512-13.134 13.102-24.787 25.84-32.36 37.318-7.572 11.478-10.653 21.173-9.338 28.652 1.55 8.815 8.246 17.272 21.018 25.211 12.772 7.94 31.127 14.821 53.03 20.15 4.862 1.184 9.924 2.281 15.115 3.317a556.512 556.512 0 0 1 4.689-11.717c-12.85-3.626-23.03-9.762-29.27-18.644-4.816-6.856-6.363-15.362-4.677-23.826-43.658-38.757 37.63-90.032 56.652-49.82 9.162-3.47 18.94-6.288 29.113-8.583 24.4-5.502 51.298-7.937 78.17-8.312a566.841 566.841 0 0 1 26.77.273c35.431 1.182 69.269 5.454 95.445 10.748 13.088 2.648 24.24 5.537 32.916 8.54 4.338 1.5 8.053 3.018 11.23 4.693 3.179 1.674 5.908 3.215 8.356 6.615 21.523 29.898 4.995 67.307-23.06 75.918a228.827 228.827 0 0 1 3.4 9.521c18.19-4.32 37.743-9.87 53.717-17.548-7.212-8.34-11.586-19.363-11.586-31.303 0-15.037 6.94-28.617 17.748-37.217-5.637-6.602-12.25-13.356-19.64-20.24-14.225-13.25-30.732-26.752-46.743-40.766-22.075 26.075-61.685 27.981-79.691 13.694-22.675-19.321-22.258-55.489-1.528-80.436a67.633 67.633 0 0 1 14.264-12.89 380.021 380.021 0 0 1-5.086-9.618c-23.298 7.491-42.938 5.332-57.496-3.478-15.3-9.26-24.362-24.882-28.797-41.012a96.792 96.792 0 0 1-3.334-20.94zM170.541 112c-13.552 18.032-23.067 35.542-35.95 51.492 5.8 3.312 12.902 5.299 20.778 5.299 20.95 0 36.44-14.05 36.44-29.739 0-11.573-8.435-22.245-21.268-27.052zm170.791 17.59c-23.324 15.8-27.303 52.993-10.384 63.94 20.414 13.21 44.116 1.848 54.773-11.886-17.284-15.544-32.832-33.808-44.389-52.055zM94.392 274.71c8.271-10.582 19.145-18.998 31.813-25.7-9.8-22.51-49.318 12.963-31.812 25.7zm161.12-32.291c-8.38.042-17.535.34-25.025.763l3.232 25.254c7.108-.796 14.01-1.646 20.168-2.119zm16.5 22.65c5.992-.305 11.94-.5 17.793-.568l5.38-20.881c-7.841-.486-18.388-.799-21.88-.894zm-59.492-20.475c-7.897.803-15.634 1.843-23.121 3.141l9.22 26.344c5.561-1.121 11.354-2.15 17.278-3.1zm100.88.473l-5.066 19.656c7.178.273 14.089.779 20.635 1.53l11.662-17.989a598.712 598.712 0 0 0-27.23-3.197zm46.67 6.3l-11.767 18.151c5.595 1.428 10.53 2.875 15.324 4.953l19.69-18.209c-8.179-1.988-15.6-3.515-23.246-4.894zm-188.44.079a195.38 195.38 0 0 0-16.366 4.81l12.025 25.77a253.462 253.462 0 0 1 13.67-3.922zM403.3 262.3l-24.56 22.711c1.602 1.897 2.717 3.857 3.868 5.83l34.478-10.002c-1.94-10.183-5.378-15.24-13.787-18.539zm-264.722.768c-6.196 3.002-11.823 6.348-16.785 10.043l20.645 20.012c2.42-1.656 5.142-3.081 8.062-4.508zm337.692 5.96c-6.356 5.19-10.5 13.394-10.5 22.876 0 8.835 3.6 16.56 9.232 21.771 6.923-5.51 10.087-10.786 10.453-15.406.73-9.19-2.688-18.982-9.185-29.24zm-325.932 41.26c-30.59 68.297-41.478 96.049-28.799 155.995 3.377 15.964 100.92 23.155 152.487 21.68-1.331-11.917-2.927-31.423-2.045-51.286.708-15.96 2.876-32.22 8.812-45.73 5.937-13.51 17.363-24.953 33.442-25.662 16.577-.731 29.82 8.628 38.187 20.945 8.368 12.317 13.195 27.723 16.38 42.914 3.884 18.54 5.155 36.888 5.565 48.442 5.53-1.792 12.394-3.46 16.22-7.112 14.538-62.25 11.72-111.89-24.772-172.691-11.928-21.932-204.143-16.48-215.477 12.506zm-41.57-24.734c-4.67 7.298-6.647 13.299-2.715 19.086 3.169 4.51 10.563 9.343 21.705 12.197a1541.54 1541.54 0 0 1 3.983-9.013zm304.664 15.09l-21.95 6.367c1.271 2.506 2.474 5 3.64 7.489 7.459-1.639 14.22-6.793 18.31-13.856zM246.25 317.061c-6.284 29.944-9.3 55.793-7.916 83.795-30.594 3.96-65.724 3.13-90.535-2.533 3.118-27.371 8.504-58.314 18.649-78.861 29.318-5.2 52.538-8.855 79.802-2.4zm-37.008 13.844a360.228 360.228 0 0 0-3.439 17.506l15.984.289c.719-5.88 1.618-11.723 2.754-17.42-5.13-.515-10.369-.508-15.299-.375zm-18.716 1.48c-4.111.557-8.72-.246-12.028.583-1.742 4.044-2.443 10.062-3.691 14.882l12.799.23a368.846 368.846 0 0 1 2.92-15.695zm-19.416 33.4c-1.042 6.164-1.953 12.435-2.858 18.534 4.913.794 10.118 1.347 15.44 1.685.281-6.663.771-13.318 1.486-19.964zm32.142.583a291.763 291.763 0 0 0-1.556 19.976c6.24-.14 12.382-.53 18.138-1.162-.094-6.014.036-12.228.373-18.508zm111.776 16.902c-22.102 4.045-24.23 37.056-25.065 54.207-.865 19.481.862 38.912 2.145 50.002 22.329-1.37 44.217-2.54 64.351-6.006-.26-10.359-1.283-29.588-5.275-48.635-4.537-19.923-14.8-49.702-36.156-49.568zm24.377 45.631l2.103 17.877-17.902 2.105-2.104-17.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mushrooms;

impl IconShape for Mushrooms {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M171.9 27.96c-3.5 0-7 .32-10.6 1.05-26.1 5.26-42.2 25.9-53.7 54.08-11.61 28.21-17.63 62.81-23.09 91.51-3.97 20.8-8.73 46.2-8.26 68.3.47 22.1 5.79 39.4 20.17 48.6C131.8 314 183.3 313.6 231.7 297c48.3-16.5 92.9-49 114.1-86.2 3.5-6.2 4.7-16.8 2.6-26.5-2.2-9.8-7.4-18.2-13.2-21.7-37-22.2-65.4-60-92.8-89.72-13.8-14.84-27.2-27.6-40.5-35.54-10-5.96-19.7-9.28-30-9.38zM432.1 289.9c-3.5 0-8 .3-12.8 1-9.6 1.4-21 4.3-32.3 8.5-22.6 8.3-44.5 22.3-52.8 37.3-4.2 7.8-1.3 24 5.4 31.9 30.2 35.7 90.8 56.8 135.5 44.7 7.5-2 16.4-12.1 17.3-19.4 2.3-18.5-3.3-42.9-13.6-63.2-10.3-20.2-25.5-35.9-38.9-40-1.5-.4-4.2-.7-7.8-.8zm-168.7 13.8c-8.5 3.9-17.1 7.4-25.9 10.4-16.5 5.6-33.5 9.6-50.4 11.6-.1 1.7-.3 3.3-.4 5-1.3 16.5-2.6 33.4-1.6 47.5 1 14.1 4.4 24.7 10.2 30.3 9.8 9.3 27.4 15.2 44.8 15.4 17.4.2 34.2-5.4 43.1-15 8.8-9.5 10.2-18.8 8-31.6-2.2-12.8-8.9-28.2-16.2-45.1-3.9-9-8-18.6-11.6-28.5zM62.04 345.1c-.7 0-1.39.1-2.07.1-3.62.2-6.92.9-9.73 2.2C37.8 353 25.43 374 21.05 395.8c-2.2 10.9-2.55 21.7-1.02 30.2 1.54 8.5 4.8 13.9 8.54 16.3 1.69 1.1 2.92 1.3 5.55.8 2.64-.4 6.37-2 10.56-4.4 8.39-4.8 18.36-12.8 29.14-18.9 13.54-7.5 28.98-11.6 39.68-16.3 5.4-2.4 9.4-4.8 11.4-6.9 2-2 2.4-2.9 2.1-5.8-1.3-9.9-13.7-25.3-30.14-35.1-11.53-6.8-24.35-10.7-34.85-10.6zm311.06 71.8c-3.9 9-7.1 18.6-8.5 27-1.5 8.5-.8 15.4 1.5 19.3 5 8.4 17 16.1 30.1 19.2 13.2 3.2 26.7 1.7 34.3-3.9 2.7-2 5.3-6.8 6.7-14 1.4-7.2 1.6-16.2 1.1-25-.1-1.6-.2-3.2-.4-4.7-22.2-1.3-44.6-7.6-64.8-17.9zM98.33 428.6c-5.65 2.2-11.06 4.4-15.7 7-5.52 3.1-11.42 7.3-17.56 11.4-1.48 5.5-2.26 12.1-1.71 17.8.7 7.1 3.18 11.8 6.46 13.6 4.62 2.6 13.46 2.3 21.81-1.4 8.34-3.7 15.37-10.5 17.27-16 1.9-5.4.7-14.9-3.5-22.9-1.9-3.7-4.4-7-7.07-9.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MushroomsCluster;

impl IconShape for MushroomsCluster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M405.8 26.71c-.6 0-1.2.04-1.9.14v-.02c-4.3.57-11.5 2.96-19.8 8.14-11 6.9-23.9 17.74-36.1 30.46-17.9 18.53-34.5 41.27-44.2 61.27 8.8 7.4 17.9 16.4 27 26.6 8-11.2 16.5-21.1 25.2-28.6s17.3-13.3 27.7-12.8c8.8.5 16.4 5 25.4 11.5s18.7 15.3 27.9 25.7c9.5 10.7 18.5 23.1 25.4 36.5 6.4-1.6 12.8-3.7 19-6.3 1.4-31.3-11-67.8-27.4-97.29-8.6-15.55-18.3-29.15-27.1-38.99-8.7-9.84-17.4-15.57-19.7-16.17h-.1c-.4-.09-.8-.14-1.3-.14zm-236.5 24.4c-1.7-.1-8.9 2.75-16.9 10.16-8 7.4-17 18.37-25.3 30.81-7.3 11.02-14 23.32-19.3 35.32 2.4 1 4.9 2.2 7.4 3.5 10.9 5.5 23 13.4 34.8 23.2 10 8.3 19.9 17.9 28.5 28.5 2.4-4 4.8-7.9 7.3-11.7 12-18.4 24.9-34.8 37.7-46.9 3.5-3.3 6.9-6.3 10.3-8.9-5.6-9.6-12-18.69-18.8-26.85-9.4-11.3-19.3-20.84-27.8-27.41-8.6-6.56-16.5-9.63-17.9-9.73zm91.9 70.99c-3.9-.2-14.2 4.4-25.4 15s-23.5 26.1-34.9 43.6c-22 34.1-40.1 76.4-42.3 104.8 1 1.6 3.3 4.1 8.3 6.6 5.9 3 14.6 5.9 24.9 8.1 20.6 4.5 47.8 6.7 75 6.5 27.2-.1 54.5-2.7 75.4-7.3 10.4-2.3 19.3-5.2 25.5-8.3 5-2.5 7.5-4.9 8.7-6.6-3.8-37.8-25.8-78.4-50.9-109.5-12.9-15.9-26.5-29.4-38.3-38.7-11.9-9.3-22.8-14-26-14.2zm121.5 7.8c-1.4-.1-7.8 2.2-15 8.4-7.1 6.2-15.2 15.4-22.6 25.9-.8 1.1-1.6 2.3-2.4 3.5 15.8 20.3 30.5 43.9 40.3 68.9 25.8 2.1 51.4-1.5 72.9-14.6-3.4-20.8-16.9-43.4-32.4-60.9-8.4-9.5-17.3-17.6-24.9-23.1-7.7-5.5-14.8-8.1-15.9-8.1zM87.83 140.7c-1.97.2-8.68 4-15.51 12.1s-14.08 19.7-20.41 32.5c-11.24 22.7-19.25 49.8-19.64 67.9 36.77 8.2 79.03 10.5 114.73-1.8 5.1-16.9 12.7-34.5 21.8-51.6-8.6-11.7-19.2-22.7-30.3-31.8-10.8-9-22-16.3-31.4-21.1-9.41-4.7-17.66-6.4-19.25-6.2h-.02zM413.7 254.6c-6 .6-12.1.9-18.1.9.5 73.3-9 141.5-27.8 193.4 6 1.9 11.6 4.3 16.7 7.2 20.4-55.2 30-125.9 29.2-201.5zm-294.8 22c-6 .8-12 1.3-18.1 1.5 13.7 62.4 27.6 124.8 44.4 170.4 4.2-1.2 8.5-2.3 12.9-3.3 1.6-.4 3.3-.7 5-1-15.8-42.8-30.3-105.2-44.2-167.6zm252.2 32.7c-6 2.6-12.8 4.7-20.3 6.6-10.5 42.5-23.9 86-38.7 124.2 6.3.3 12.6.8 18.8 1.5 15.7-41.1 29.7-87.4 40.2-132.3zm-178 9.5c6.2 44.7 12 86.5 16.7 120.8 6-.2 12-.4 18.1-.5-4.5-32.7-10.2-74.3-16.2-117.4-6.5-.8-12.7-1.7-18.6-2.9zm86.6 5.7c-4.2.2-8.5.3-12.8.3h-5.1c.2 35.8-2 77.3-5 114.2h18.1c3-36.9 5.2-78.1 4.8-114.5zM256 457c-32 0-67.7.1-94.1 5.8-13.2 2.8-24 7.1-30.8 12.5-4.3 3.4-7.1 11.1-8.6 15.7h267c-1.5-4.6-4.3-12.3-8.6-15.7-6.8-5.4-17.6-9.7-30.8-12.5-26.4-5.7-62.1-5.8-94.1-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MusicalKeyboard;

impl IconShape for MusicalKeyboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.1 19.82L19.81 369.1 142.9 492.2l69.3-69.3-79.2-79.2L412.9 63.66zM374 57.3l12.8 12.72-56.5 56.58-12.8-12.8zm51.7 19.1L413 89.12l66.5 66.48 12.7-12.7zm-25.5 25.5l-12.6 12.7 66.5 66.5 12.6-12.7zm-25.4 25.5L362.1 140l66.5 66.5 12.6-12.7zm-25.5 25.4l-12.6 12.7 66.5 66.4 12.6-12.6zm-74.3 3.5l12.8 12.8-11.3 11.3-12.8-12.8zm48.9 22L311.2 191l66.5 66.4 12.6-12.6zm-74.3 3.4l12.8 12.8-11.3 11.3-12.8-12.8zm48.8 22.1l-12.6 12.6 66.4 66.4 12.7-12.6zm-82.8 11.9l12.8 12.8-33.9 33.9-12.8-12.8zm57.4 13.5l-12.7 12.7 66.5 66.4 12.6-12.6zm-25.6 25.5l-12.6 12.6 66.5 66.5 12.6-12.6zm-88.3 17.5l12.8 12.8-34 34-12.8-12.8zm62.9 7.9l-12.6 12.7 66.4 66.4 12.7-12.6zm-25.4 25.5l-12.7 12.6 66.5 66.5 12.7-12.6zM86.27 322.5l35.33 35.3-46.64 46.7-29-29-6.35-6.4zm84.83 8.5l-12.7 12.7 66.5 66.5 12.7-12.7zm-84.83 16.9l-21.22 21.2 9.91 10 21.21-21.3zm38.83 26.2l12.8 12.8-33.9 33.9L91.23 408zm22.7 22.6l12.8 12.8-34 33.9-12.8-12.8zm22.6 22.6l12.8 12.8-33.9 34-12.8-12.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MusicalNotes;

impl IconShape for MusicalNotes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M98.05 18.54c-11.46-.08-23.59 1.28-36.08 3.99L130.1 261.1c-14.2-5.1-31.18-6.2-48.09-3.2-39.17 6.9-67.15 33.8-62.52 59.8 4.64 26.1 40.14 41.7 79.33 34.7 39.08-6.9 67.08-33.7 62.38-59.8-22.1-80.8-44.4-163-66.39-244.21 50.69 3.59 72.59 31.58 90.59 60.31-.5-62.33-37.7-89.81-87.35-90.16zm310.65 30.7c-13.9.1-28.8 2.59-44.1 7.22l87.1 232.44c-14.6-3.9-31.6-3.7-48.3.7-38.4 10-64.2 39-57.5 64.6 6.7 25.7 43.4 38.3 81.8 28.2 38.5-10 64.2-39 57.5-64.6-28.6-78.8-57.3-158.9-85.8-238.2 50.8-.5 74.9 25.7 95.2 52.9-5.2-58.55-40.4-83.61-85.9-83.26zM258.4 163.5l1.8 248.1c-12.3-8.6-28.4-14.3-45.6-15.9-39.4-3.8-73.7 14.5-76.2 41-2.5 26.3 27.7 50.8 67.1 54.5 39.7 3.9 73.7-14.5 76.3-40.9.2-83.8.8-168.9 1.3-253.1 47.9 17 61.6 49.8 71.2 82.4 19.9-74.1-27.9-112.3-95.9-116.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MusicalScore;

impl IconShape for MusicalScore {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.2 22.71c-25.5-.14-45.82 38.57-50.14 80.29H32v18h55.23c.07 6.1.49 12.1 1.33 18l17.34-18h25.5c-3.8 3.9-7.9 7.7-12.1 11.8l-31.24 32.5v-.1c-.53.6-1.1 1.2-1.64 1.8H32v18h38.17c-12.95 14.6-25.91 30.2-35.67 46H34v.8c-8.09 13.3-13.89 26.8-15.44 39.9-3.5 33.5 9.52 67.3 33.39 87.3H32v18h65.54c2.56.1 5.16.1 7.86 0h20.1c3.7 20.7 7 41.2 8.9 60 .4 3.6-6.6 10.6-10 11.4 0-22-17.8-39.9-39.84-39.9-21.9 0-39.8 17.9-39.8 39.9.1 20.1 15.2 35.8 35 39.5 41.84 7.7 78.34-17.9 72.44-53-2.9-19.1-6.2-38.5-9.7-57.9H480v-18H139.3c-2.9-15.5-5.8-30.9-8.5-46h37.3c-2.6 7.8-8.1 15.9-15.4 23l3.7 20.8c15.5-11.3 31.3-26.6 35.7-43.8H480v-18H192.9c-1.6-14.5-7.8-30.8-17.8-39.9-2.5-2.3-5.1-4.3-7.8-6.1H480v-18H116.8c-1.2-7.7-1.9-11.8-2.7-16.4l-15.54 15.1c.08.4.17.9.25 1.3H72.63c12.31-16.2 26.52-30.9 41.17-46H480v-18H130.9c10.5-11.3 20.9-23.2 30.7-36.4 2-2.8 3.8-6 5.3-9.6H480v-18H172.1c2.5-12.89 2.7-26.36 1.2-35.24-2.7-16.12-14.2-42.89-31.9-44.83-1.1-.14-2.1-.22-3.2-.22zm-5.5 37c6.9.1 14.4 5.8 15.6 15.95 1.3 11.18-.3 19.87-3.8 27.34h-36c3.4-20 11.2-42.23 24.2-43.29zM60.23 249h31.24c-13.45 12.5-19.59 29.6-18.93 46H42.79c.04-5.6.98-11.3 2.97-17 4.02-10.4 8.93-20 14.47-29zm63.57 11.3c11.8-.3 26.9 5.8 34 12.9 5.7 6.2 9.6 14.1 11.2 21.8h-41.5c-2.1-11.8-4.2-23.4-6-34.6.7-.1 1.5-.1 2.3-.1zm-19.4 6.5c1.5 8.9 3.3 18.4 5.2 28.2H90.63c.1-11 4.22-21.2 13.77-28.2zM45.75 313h30.39c2.69 7.2 6.83 13.9 12.42 19.4 5.1 5.2 15.14-2.7 10-8.6-1.93-3.5-3.54-7.1-4.81-10.8h19.35c3 15 6.1 30.5 9.1 46h-20v-.1c-25.44-3.3-48.49-22.3-56.45-45.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mussel;

impl IconShape for Mussel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.6 71.39c-75.2.43-152.43 30.31-193.89 79.51 0 0 .1-.1.15-.1 12.91-7.7 30-13.9 49.66-19.1C114.7 106 168 89.88 219.7 89.42c5.1 0 10.2.1 15.3.33 39.9 2.09 100.9 17.45 151 39.45 21.4 9.5 40.9 20.1 55.9 31.1 6.2 2.9 12.1 5.9 17.4 9.2 15.3 9.3 27.1 20.4 32.4 34.3v-1.4c-.5-18.9-13.1-35.5-30.9-50.2-17.8-14.7-41.4-28-67.5-39.4-52.2-22.94-114-38.74-157.3-41.03-5.5-.28-10.9-.41-16.4-.38zm-21.7 63.21c-38.7.1-80.4 5.2-113.84 13.5-20.39 5.1-37.73 11.5-49.05 18.2-5.66 3.3-9.76 6.7-12.05 9.6-2.29 2.9-2.79 4.7-2.65 6.5v.1c.98 13.5 9.8 25.1 26.73 35.5 16.93 10.3 41.43 18.6 69.86 24.2 23.4 4.6 49.6 7.4 76.6 8.5 3.1-1.9 6.2-3.7 9.4-5.4 28.6-15.6 62.6-27.9 91.6-36.9 19.1-5.9 42.1-9.1 64.6-8.6 7.5.2 14.9.7 22.1 1.8 14.5 2 28 5.8 39.4 12.1 4.8 2.7 9.2 5.9 13.1 9.6 6.6.6 13.1 1.5 19.1 2.8 4.8-1.3 9.1-2.7 12.6-4.2 5-2.2 8.4-4.5 9.7-6 1.3-1.5 1.2-1.2.9-2.5-2.4-9.5-11.1-19.4-26.1-28.6-15-9.1-35.8-17.3-60-24.1-48.3-13.6-110-21.8-167.1-25.3-5.7-.4-11.4-.6-17.2-.7-2.6 0-5.1-.1-7.7-.1zm156.9 83.2c-19.3 0-39.1 2.9-54.9 7.8-28.5 8.9-61.5 20.9-88.4 35.5-26.9 14.7-46.7 32.2-51.4 48.8-1.3 4.6-.9 7.2.2 9.4s3.3 4.5 7.3 6.7c8 4.4 22.7 7.4 39.8 8.4 34.3 1.9 78.2-3.3 105.4-7.9 42.7-7.1 76.2-19 96-33.2 9.9-7.1 16.4-14.6 19.5-22 3.2-7.4 3.5-14.8.4-23.7-2.6-7.4-8.2-13.3-16.8-18.1-8.7-4.9-20.3-8.3-33.2-10.1-6.4-.9-13.1-1.4-20-1.6h-3.9zm91.6 25.9c3.6 11.9 3 24-1.5 34.7-4.9 11.4-13.8 21.2-25.6 29.6-23.7 16.8-59.2 28.8-103.5 36.3-28.1 4.7-72.5 10.1-109.4 8.1-18.4-1.1-34.9-3.7-47.5-10.6-6.3-3.4-11.7-8.2-14.8-14.7-3.2-6.5-3.5-14.3-1.4-22 1.8-6.6 4.9-12.8 8.8-18.5-21.4 8-39.8 16.8-55.06 25.7-21.5 12.5-36.73 25.6-45.49 37.4-8.81 11.8-10.98 21.7-8.81 29.9 6.15 23.2 21.57 37.9 43.87 47.5 22.29 9.7 51.29 13.6 81.49 13.5 60.5-.4 126.3-17.2 153.1-29.3 51.9-23.6 96.7-57.3 125.3-88 14.3-15.4 24.5-30.1 29.6-41.7 5.1-11.7 4.7-18.8 2.1-22.2-5.5-7.3-16.5-12.6-31.2-15.7zm-330.6 77.1l13.6 11.8c-8.9 10.4-14.8 20-17.1 27.5-2.3 7.4-1.6 11.7 1.8 16 3.4 4.3 11.3 8.9 25.4 11.8 14.2 3 34.2 4.1 60.6 2.8l1 18c-27.4 1.4-48.7.3-65.2-3.1s-28.5-9.1-35.8-18.2c-7.34-9.2-8.39-21.4-4.94-32.6 3.49-11.2 10.64-22.4 20.64-34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mustache;

impl IconShape for Mustache {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-71 0-111.7 11.79-135.2 38.89C100.2 87.64 91.37 125.9 89.49 183H16v18h480v-18h-73.5c-1.9-57.1-10.7-95.36-31.3-119.11C367.7 36.79 327 25 256 25zM108.4 217c-2.2 15.1-3.4 30.9-3.4 47 0 25.5 2.9 50 8.3 72.8 1.5-2.2 3-4.3 4.6-6.5 8.5-12 17.5-24.5 29.3-34.4 11.7-9.8 26.6-16.9 44.8-16.9 17.5 0 35.1 4.2 49 13.5 5.9 3.9 11 8.9 15 14.8 4-5.9 9.1-10.9 15-14.8 13.9-9.3 31.5-13.5 49-13.5 18.2 0 33.1 7.1 44.8 16.9 11.8 9.9 20.8 22.4 29.3 34.4 1.6 2.2 3.1 4.3 4.6 6.5 5.4-22.8 8.3-47.3 8.3-72.8 0-16.1-1.2-31.9-3.4-47zm83.6 80c-13.8 0-23.8 4.8-33.2 12.7-9.4 7.9-17.8 19.2-26.2 31.1-8.4 11.8-16.8 24.2-27.5 34.3-10.7 10-24.23 17.5-40.9 17.9-20.06.5-39.32-11.3-55.147-23.2 2.077 4.1 4.077 8.2 6.467 12.5 14.17 25.5 34.55 51.7 51.26 57.1 18.97 6.2 54.32-4.1 90.02-17.9C192.5 407.6 228 391 256 391s63.5 16.6 99.2 30.5c35.7 13.8 71.1 24.1 90 17.9 16.7-5.4 37.1-31.6 51.3-57.1 2.4-4.3 4.4-8.4 6.4-12.5-15.8 11.9-35 23.7-55.1 23.2-16.7-.4-30.2-7.9-40.9-17.9-10.7-10.1-19.1-22.5-27.5-34.3-8.4-11.9-16.8-23.2-26.2-31.1-9.4-7.9-19.4-12.7-33.2-12.7-14.5 0-28.9 3.8-39 10.5-10.1 6.7-16 15.5-25 15.5s-14.9-8.8-25-15.5c-10.1-6.7-24.5-10.5-39-10.5zm64 112c-20 0-56.5 15.2-92.7 29.2-.3.1-.7.3-1 .4 26 30.7 58.6 48.4 93.7 48.4s67.7-17.7 93.7-48.4c-.3-.1-.7-.3-1-.4-36.2-14-72.7-29.2-92.7-29.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mute;

impl IconShape for Mute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.78 18v140.684c15.804 55.05 35.45 105.15 69.534 141.127 29.986 31.652 71.13 53.17 133.186 58.106-1.465-21.612-2.782-44.32-3.77-68.687-8.28 1.9-18.098 4.388-30.546 7.5l-4.368-17.46c13.796-3.45 24.812-6.15 34.26-8.112-.565-17.64-.957-36.102-1.068-55.773-24.658-2.122-51.63-6.376-86.008-12.608V208h-18v-32h18v5.81c39.205-4.887 66.136-8.12 89.102-9.67 3.264-9.885 9.035-18.425 17.01-24.765 11.33-9.01 26.565-13.45 44.077-12.875 2.5.082 5.05.267 7.64.555l7.383.822.594 7.402c.802 9.988 1.367 20.126 1.843 30.402 18.964 1.793 41.274 4.504 70.35 8.13V176h18v32h-18v-5.066c-26.533 5.123-48.64 8.784-68.684 11.082.872 20.248 2.045 41.043 4.444 62.418 3.592.882 7.386 1.826 11.424 2.836l-4.368 17.46c-1.735-.433-2.93-.728-4.568-1.138 2.71 18.324 6.478 37.062 11.902 56.242 40.524-9.445 70.1-27.748 93.098-52.023 34.084-35.977 53.73-86.076 69.533-141.126V18H325.4c2.027 10.094 3.343 20.117 3.596 29.764l-17.992.472c-.247-9.402-1.785-19.666-4.14-30.236H204.995C202.512 29.056 201 39.368 201 48h-18c0-9.32 1.253-19.484 3.355-30zm162.08 49.887c3.933-.04 7.64.68 10.935 2.092 7.532 3.227 12.568 8.657 17.568 13.657C226.363 93.637 235 103 256 103s29.637-9.363 39.637-19.363c5-5 10.036-10.43 17.568-13.658 7.532-3.23 17.21-2.836 26.82 1.97l-.004.007c5.888 2.693 10.056 8.65 10.056 15.467 0 9.282-7.718 17-17 17-8.693 0-16.01-6.77-16.906-15.252-2.246 1.778-4.84 4.224-7.807 7.19C298.363 106.363 283 121 256 121s-42.363-14.637-52.363-24.637c-2.968-2.967-5.56-5.413-7.807-7.19-.895 8.482-8.214 15.25-16.906 15.25-9.282 0-17-7.717-17-17 0-6.815 4.168-12.773 10.055-15.466l-.005-.008c4.805-2.403 9.627-3.703 14.19-4 .57-.036 1.135-.057 1.696-.063zm84.93 85.547c.27 22.19-.193 39.466 2.6 48.912 1.55 5.247 3.35 7.76 6.753 9.734 1.467.852 3.46 1.59 6.01 2.13-.92-21.412-1.5-41.967-2.825-61.53-4.22-.41-8.644.04-12.537.754zm-18.022 7.685c-.15.115-.307.227-.455.345C245.813 168.223 241 178.245 241 192v.045c-.466 92.33 4.96 159.972 9.81 223.818 20.016 4.087 36.912 7.04 51.19 9.352 13.76 2.227 24.982 3.81 34.55 5.326-35.895-71.67-44.2-138.057-47.505-197.91-6.045-.726-11.33-2.307-15.94-4.984-7.74-4.493-12.573-12.06-14.978-20.2-3.815-12.905-3.428-28.14-3.36-46.327zm-117.49 258.24c-6.108 7.06-11.408 19.73-15.366 34.786-3.253 12.375-5.668 26.162-7.873 39.854h33.308c-.47-20.78 5.12-37.688 24.004-39 71.475 12.15 148.648 12.283 207.306 30.576-.96-4.436-1.874-8.294-2.773-11.465-2.262-9.82-7.972-17.038-15.862-19.99-10.02-3.684-29.098-5.988-60.898-11.136-31.8-5.147-76.5-13.428-139.68-30.298-8.803-2.765-17.193 1.01-22.166 6.673zm-33.423 32.806c-4.966 1.588-10.514 4.09-15.714 7.324-12.333 7.672-21.705 18.87-22.072 30.05l.99 4.46h28.637c2.237-13.862 4.762-28.343 8.16-41.834zM162.328 494h190.93c-29.295-9.362-83.06-14.25-177.9-21.023-10.978.135-13.992 15.12-13.03 21.023z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nachos;

impl IconShape for Nachos {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 19.77C67.06 63.14 42.58 110 27.98 159.7c31.27 16.9 65.8 24.3 101.82 26.5-4.2-21.6-5.5-43.6-2.8-66.3l.9-7.6 7.7-.3c3.2-.1 6.3-.2 9.5-.2C129.5 80.82 117 50.15 105 19.77zM339.1 53.7c-.1 30.53-2.8 60.3-7 89.7 12.5 4 25 8.2 37.5 12.7l15.1 5.4-12.4 10.1c-18.8 15.2-36.6 30.8-53.6 46.8-1.3 6.3-2.6 12.6-4 18.9 15.4-3.8 30.6-8 45.3-12.7l3.2-34 18 1.6-2.4 25.9c35.7-13.4 68.4-31.2 95.8-57.7-34.4-20.9-64.9-45-94-70l-3 9.8-17.2-5.25 5.3-17.49c-8.9-7.89-17.8-15.83-26.6-23.76zM107.4 68.25l17.5 19.61-13.4 11.98L94 80.23zM92.06 117.5l7.76 16.2-36.59 17.5-7.76-16.2zm66.74 12.3c-4.8 0-9.7.1-14.6.2-3.2 43.8 9.9 86.3 29.2 128.7 4.6-.4 9.3-.6 14-.6 10.5-.1 21.4.6 32.8 2.1l11.5 1.5-4.4 10.8c-3.7 9-7.5 17.9-11.3 26.7 40.3-45.1 82.8-89.6 132.6-131.3-63.2-21.6-125.2-36.1-184.9-38-1.6-.1-3.2-.1-4.9-.1zm241.8 11.1l27.6 8-5 17.2-27.6-8zM188 151.5l15.9 21.2-14.4 10.8-15.9-21.2zm80.3 21.8l8.4 16-36.6 19.1-8.4-16zM184.1 213l36.1 17.5-7.8 16.2-36.1-17.5zM484 233.2c-72.5 11.8-130.1 36.4-180 68.4 12.1 14.6 23.6 29.4 35.4 43.7 20.5.2 41.4-.7 62.8-2.3l20.2-1.5-11.3 14.6 22 10-7.4 16.4-25.9-11.8c-5.4 7-10.9 14.1-16.5 21.2 18.1 15.8 38.5 29 63.1 37.6 21-64 28.6-129.8 37.6-196.3zm-68.4 38.5l28.7 12.8-7.4 16.4-28.7-12.8zm-228.2 4.4c-65.1.4-113.12 30.8-155.78 59.6 22.18 48.4 60.5 87.1 115.48 116.6 1.4-13.6 3.8-26.7 6.8-39.5l-22-7.1 5.4-17.2 21.3 6.8c12.2-41.4 30.9-79.9 47.3-118.4-6.3-.5-12.5-.8-18.5-.8zm171 5.1l18 1.8-3.7 36-18-1.8zm-217.2 14.3l16.6 7-12.2 29.2-16.6-7zm-58.14 43.1l20.64 19.7-12.38 13-20.68-19.7zm129.74 5.2c2.1 50.5 13.1 99.9 33 148.4 62.9-36.1 100.7-82.2 137.7-130-35.1 1.9-69.3 1.5-102.1-2.7l-2 19.4-18-1.8 2.1-20.3c-17.4-3-34.3-7.3-50.7-13zM321.1 398l4.6 17.4-41.9 11.1-4.6-17.4zm-61.8 27.2l11.2 36-17.2 5.4-11.2-36z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NanoBot;

impl IconShape for NanoBot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144 26.43L76.99 65.1v77.4l20.09 11.6 39.32-62.87 15.2 9.57-38.9 62.3 31.3 18.1 67-38.7V131h90v11.5l67 38.7 31.3-18.1-38.9-62.3 15.2-9.57 39.3 62.87 20.1-11.6V65.13l-67-38.7-67 38.67V77h-90V65.13zM211 95h90v18h-90zm22 90v68.3l14 21V480h18V274.3l14-21V185zm-17.6 74.2L118 332.3 151.2 482l17.6-4L138 339.7l87.3-65.5zm81.2 0l-9.9 15 87.3 65.5L343.2 478l17.6 4L394 332.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NeckBite;

impl IconShape for NeckBite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v269.635c12.326-4.654 24.576-9.755 36.59-15.332 20.283-16.343 31.497-28.505 37.603-43.502 6.494-15.947 7.643-36.665 5.246-70.93l17.955-1.26c2.457 35.128 1.698 58.774-6.532 78.982-1.432 3.518-3.09 6.877-4.96 10.137.01-.006.02-.01.027-.017-6.666 16.806-47.957 57.937-85.932 84.416V494H494v-24.465c-57.7-4.972-120.788-12.223-178.53-37.746-71.53-31.618-133.716-92.173-162.952-207.93-1.824-7.22-.89-14.784.8-24.182 1.69-9.398 4.476-20.38 7.883-32.582 6.815-24.404 16.128-53.64 24.136-82.99 6.222-22.803 11.618-45.683 14.496-66.106H18zm253.326 43.703c-5.677.675-14.48 24.16-8.38 30.938 17.84 19.823 73.65 32.397 76.005 24.965 2.244-7.074-44.703-36.343-66.014-55.367-.168-.15-.344-.264-.522-.35-.345-.17-.71-.23-1.088-.185zm214.418 70.44c-28.44 2.68-83.598-1.59-85.988 5.435-2.51 7.38 49.885 30.35 76.004 24.967 9.524-1.963 16.673-29.287 10.615-30.38-.194-.035-.406-.043-.63-.022zm-207.848 69.11c-12.725 12.637-22.49 43.11-20.156 60.743l30.303-40.517 5.107 35.407 20.225-10.147 10.146 20.227 20.226-10.15 10.15 20.228 25.262-25.332.07 50.596c11.704-12.976 23.372-42.82 20.157-60.744-43.176-3.936-83.91-16.537-121.49-40.314zm-22.308 67.296c-12.334 12.812-16.927 26.04-14.172 43.76 32.817 31.52 75.394 45.256 121.73 39.577 13.217-12.527 15.9-26.378 14.168-43.766l-24.437 23.605-10.316-20.178-20.164 10.27-10.27-20.167-20.16 10.27-10.27-20.162-20.116 10.285-5.99-33.494h-.002zM128 272c4.836-.035 10.04 1.717 14.506 4.88 9.482 6.715 13.138 17.85 8.166 24.868-.158.21-.324.41-.496.61-4.204 30.237-4.278 40.477.77 70.716 2.155 20.262-6.275 19.11-6.946 19.842 0 0-14.647-.792-11.053-19.842 4.267-29.007 4.585-37.817 1.24-66.443-3.362-.732-6.7-2.225-9.685-4.33-9.482-6.715-13.138-17.848-8.166-24.868 2.433-3.435 6.64-5.394 11.664-5.43V272zm66.66 87.72c4.836-.033 10.04 1.716 14.506 4.88 9.482 6.715 13.138 17.85 8.166 24.87-.158.208-.324.41-.496.608-4.204 30.24-4.278 38.478.77 68.717 2.786 20.262-1.643 26.247-8.67 26.162-7.028-.084-12.924-7.112-9.33-26.162 4.267-29.007 4.586-35.817 1.242-64.443-3.363-.734-6.7-2.227-9.686-4.332-9.482-6.716-13.138-17.85-8.166-24.87 2.433-3.435 6.64-5.392 11.664-5.43z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NecklaceDisplay;

impl IconShape for NecklaceDisplay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.5 19c-1 8.59-1.5 17.29-1.5 26 0 51.76 17.6 100.3 47.1 130.3-6.1 29.3-22.4 51.1-44 68.4 48.5 101.8 166 103 216.1 3.6-22.4-17.7-38.1-40.2-43.3-71.1C350 146.3 368 97.3 368 45c0-8.71-.6-17.41-1.6-26zM96.96 273.9C75.79 283.9 53.33 292.5 32 301c0 80 96 192 224 192s224-112 224-192c-23.2-7.7-45.4-15.5-65.6-24.3-9 39.7-29.6 69.9-56.4 90.5 1.9 4.2 3 8.9 3 13.8 0 18.1-14.9 33-33 33-5.5 0-10.6-1.4-15.2-3.8C310.5 443 286.6 470 256 470c-30.6 0-54.5-27-56.8-59.8-4.6 2.4-9.7 3.8-15.2 3.8-18.1 0-33-14.9-33-33 0-4.9 1.1-9.6 3.1-13.8-27.5-21.1-48.6-52.2-57.14-93.3zM256 358c-20.8 0-39 20.2-39 47s18.2 47 39 47 39-20.2 39-47-18.2-47-39-47zm-72 8c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm144 0c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nectar;

impl IconShape for Nectar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.9 22.74c-19.5-.34-35.3 11.67-37.7 27.51-.4 2.92-.4 5.85.1 8.71 11.9.13 24.1 1.56 36 4.44 12.1 2.88 23.9 7.26 34.9 13.31 3.7-4.26 6.3-9.35 7.1-14.93 2.6-17.47-12-35.24-34.2-38.53-2.1-.31-4.2-.47-6.2-.51zm-38 54.28h-4.6c-8.9.2-17.5 1.22-25.5 2.97l3.9 18.54c1.8-.8 3.7-1.4 5.6-2 7.6-2.23 14.5-3.18 20.8-3.04 6.3.14 12 1.37 17 3.54 10 4.37 16.6 12.17 21 19.97v.1c1.2 2.1 2 4.3 2.8 6.5l.6-.1c8.5-.8 21.5-2.3 35.6-3.1l10.6-8c-14.2-16.04-34.1-26.36-55.6-31.5-10.6-2.55-21.6-3.8-32.2-3.88zm-98.8 5.33c-12.5.46-27.2 7.71-37.8 18.35-7 7.1-11.9 15.4-13.4 22.3s-.5 11.9 4.7 17h.1c13.9 13.5 34 15.1 58.3 12.9 10.1-.9 20.8-2.6 31.7-4-2-12.6 1.5-26.2 10.3-36.8-12.4-10.4-25-20.3-42.4-27.82-3.4-1.49-7.3-2.09-11.5-1.93zm98.5 29.15c-4.1-.1-9.2.6-15.3 2.3-23.1 6.8-26.4 29.8-18.2 41.7 8.8 12.7 29.9 19 43.4 9.2 14.8-10.7 20.1-25.6 12.8-38.9-3.1-5.5-6.9-9.8-12.4-12.2-2.8-1.2-6.1-2-10.3-2.1zm92 26.6c-2.5 0-5.1.1-7.6.1-13.9.4-27 2-37.3 3l-4.3 4.9c-1.5 7.4-4.9 14.6-9.7 20.9 5.4 11.8 14.7 19.9 26.4 26.1 15.2 7.9 34.3 11.7 51.3 13.1 17.2 1.4 24.5-5.7 29-16.3 4.5-10.6 3.7-25.4-.1-33.8-2.6-5.7-7.1-9.6-14.1-12.5-7-3-16.2-4.6-26.1-5.2-2.4-.2-5-.2-7.5-.3zm-231.4 27c-48.5 31.7-80.64 85.7-80.64 147.2 0 97.8 81.24 177 180.94 177s180.9-79.2 180.9-177c0-32-8.8-62.2-24.1-88.1-2.6.2-5.4.2-8.3 0-4.6-.4-9.3-.9-14.1-1.6 12.3 17.5 21.2 37.4 25.5 59 6 28.1 2.9 55.6-4.4 78.3-20.7 64.5-82.2 111.3-155.4 111.4-9.2-.1-18.4-.9-27.5-2.3C151 456.3 92.56 391 92.56 312.3c0-61.4 35.54-114.6 87.74-141.1-8.8-.8-17.2-2.7-25.1-6.1zm92 1.8c-7.8 7.3-14.2 15.4-17.9 24.2-4.4 10.3-5.7 21.5-2.4 34.4 12.1-5.2 19.6-12.4 27.1-21.8 4.6-5.9 9.3-12.7 14.7-20-8.5-3.6-16-9.5-21.5-16.8zm62.6 15.7h-.1c-6.9 3.6-14.2 5.3-21.5 5.2-2 2.5-3.9 5-5.7 7.4 2.5 7.8 4.4 15 6.7 22 2.9 9.2 6.4 18 12.2 27.6 11.8-22.4 14.4-39.6 8.4-62.2zm-138.2 28.8a31.75 45.01 30.59 0 0-38.1 25.8 31.75 45.01 30.59 0 0 4.5 54.9 31.75 45.01 30.59 0 0 50.2-22.6 31.75 45.01 30.59 0 0-4.4-54.9 31.75 45.01 30.59 0 0-12.2-3.2zm210.1 67.5c-.8 0-1.6 0-2.3.1-91.4 1.4-195.9 27.5-270.7 50.6 40.4 40.6 109.8 46.6 171.4 32 33.3-7.9 63.9-21.7 85.4-38.1 18.4-14.1 29.5-29.5 32-44.4-3 0-6-.1-9-.1H384c-.8-.1-1.6-.1-2.3-.1zm17.3 37.3c-6.2 7.7-13.9 15-22.6 21.6-24.1 18.4-56.7 32.9-92.1 41.3-56.5 13.3-120.9 11.2-167.3-19.5 7.7 28.4 25.2 50.5 48.2 66.3C194.5 446 233 455.6 270 452.8c37-2.7 72.4-17.5 96.6-45.2 19-21.8 31.5-51.8 32.4-91.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nefertiti;

impl IconShape for Nefertiti {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.422 120.441L104 185.901c92.422-39.666 172.605-74.711 258.244-102.596-11.432-22.715-25.256-44.436-42.457-64.782C225.084 32.656 125.54 70.891 45.422 120.441zm324.623-20.707c-84.952 32.194-180.738 63.843-253.66 100.004l16.275 18.188c81.717-33.837 164.505-64.203 247.596-93.4a460.62 460.62 0 0 0-10.21-24.792zm16.3 41.73c-80.596 28.322-160.764 57.691-239.802 90.204 53.56-2.135 111.354-7.387 159.875-10.107 3.751 14.72 8.265 30.997 5.074 45.04 7.592-3.359 27.857-11.166 30.104-18.288-.634-11.477-10.749-19.435-11.416-29.442.574-4.677 2.278-8.948 5.369-11.46l59.875-37.343a694.697 694.697 0 0 0-9.078-28.603zm18.864 43.714L349.217 220.1c3.668 6.901 7.454 12.458 9.441 19.455 19.621-10.056 39.743-20.17 56.237-28.668-3.165-8.318-6.405-16.799-9.686-25.71zm16.07 42.67c-30.396 11.548-53.997 30.902-79.44 43.504l-.003.002c-5.568 2.912-18.061 8.935-33.435 17.273-1.67 2.832-2.687 6.234-3.143 9.9-.72 8.957 4.132 36.207 15.662 36.74 1.531.002 4.647-.844 8.957-10.005l16.287 7.664c-5.867 12.47-14.906 20.349-25.258 20.342-16.175-2.247-24.982-14.225-30.17-27.202l-23.75 45.045c2.253 7.684 1.628 16.235-3.459 26.02-18.92 36.4-44.875 64.715-68.039 96.346h139.553c14.647-29.632 22.728-69.27 51.152-88.897 21.192-14.633 56.217 5.461 63.319-11.67 3.665-8.84-1.23-17.344-6.733-26.1 0 0 10.246-3.328 10.754-7.708.366-3.15-6.256-7.163-6.256-7.163l7.393-6.427-8.299-13.817c8.113-3.701 22.274-8.624 19.953-13.584-7.797-16.662-20.642-31.746-30.965-47.619-.999-3.583-2.037-7.104-3.107-10.584-8.132-5.595-23.288-3.372-43.502 6.512 11.29-9.705 25.082-21.752 38.742-21.145a742.827 742.827 0 0 0-6.213-17.427zm-128.613 12.59c-49.301 3.194-87.67 6.292-132.15 8.613l11.664 13.035c49.068 4.95 81.505 2.18 121.469 1.387 1.727-7.805.28-16.884-.983-23.036zm129.774 29.427v24.719l-30.815-11.834zm-232.803 11.729l36.416 40.693c16.964-15.445 38.392-29.288 57.91-40.6-30.15.826-58.05 2.364-94.326-.093zm92.545 22.107c-16.258 9.98-32.767 21.474-45.389 33.184 6.957 5.18 13.75 10.564 19.233 16.424z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NestBirds;

impl IconShape for NestBirds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.8 35.56l-47.6 44.09c11 2.51 21.2 8.69 29.5 16.59 6.4 6.16 11.9 13.46 15.6 21.46l32.1-35.43-47.3 14.29zm-58.2 60.86c-8 0-17 3.78-25 9.98-8.6 6.6-15.6 16-19 24.8-4.8 12.4-.8 38.3 6 60 5 16.3 9.9 27.6 12.5 33.5l31.9-4.6 11.6 1.4-5.4-35.1 3-3.2s7.8-8.3 15.1-19c7.4-10.6 12.8-24 11.9-28.9-1.4-8.7-7.1-18.5-15-26-7.8-7.5-17.6-12.35-26-12.84h-1.6zm127.6 23.38c-10.4.4-21.6 5-31.7 12.5-11.6 8.7-21.3 21-26.3 32.6v.1c-3.8 8.6-2 28.8 2.3 45.8 1.8 7.2 3.5 12.9 5.1 17.6l40.8 4.8-61.9 10.9-49.3-5.8-168.44 24 83.54 30 109.2-18.6-106 54.1-115.68-61.3-28.93 4.1L47.3 302l-29.27-11.9 37.91 44.2 4.73 17.7 43.83 20.9 63.1-16.5-56.8 41.9-42.17-16.5 10.86 40.6 24.01 7-41.99 17.2 97.39.4-52.8 21.9 107.1-7.6c73.4 25.8 90.3 22.4 173.3 30.1l-68.2-25.5 24.3-12.6-57.9-39.6c77.9 24.1 107.9 16.5 183.6 2.3l-42.2-6.2 51.8-27 .4-12.7 27.5-57.6-26.3 18.6 1-29.4-63.2 51.5-113-34.4 116.2 7.9 60.1-28.9.5-14.1 16.1-40.9-30.6 19.1-37.1-4.3-77.4 8.7s22.1-6.9 42.9-13.2l44-30.9-51.8 9.1-2.8-28.6 7.6-1.8s13.2-3.1 26.5-8.8c6.7-2.8 13.2-6.4 17.8-10 4.6-3.6 6.7-7 7-9.1 1.3-10.5-4.8-23.3-15.5-33.8-10.7-10.5-25.6-18.1-37.3-19.2-1.4-.2-2.8-.2-4.3-.2zM249 121.4c8.1 0 14.7 5.9 14.7 13.1 0 7.2-6.6 13.1-14.7 13.1s-14.7-5.9-14.7-13.1c0-7.2 6.6-13.1 14.7-13.1zm137.6 16.8c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-259.2 1.5c-1.4 0-2.9 0-4.3.2-11.7 1.1-26.59 8.7-37.29 19.2-10.71 10.5-16.82 23.3-15.48 33.8.28 2.1 2.35 5.5 6.94 9.1 4.59 3.6 11.17 7.2 17.82 10 13.31 5.7 26.51 8.8 26.51 8.8l7.6 1.8-1.6 17.1 55.2-7.9c.1-.4.2-.7.3-1.1 4.3-17 6.1-37.2 2.3-45.8v-.1c-5-11.6-14.8-24-26.3-32.6-10.1-7.6-21.3-12.2-31.7-12.5zm332 16.4c1.9 6.1 2.6 12.6 1.7 19.1-.2 1.5-.5 2.9-.9 4.2l34.9-10.9zm-317.6.4c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-79.07 2.1l-40.13 6.8 30.37 15.5c1.53-7.9 5.05-15.4 9.76-22.3zM207.8 365.4l73.2 13.8 78-9-79.6 30.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NestEggs;

impl IconShape for NestEggs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.4 75.12c-13 0-24.4 6.3-34.8 17.96-10.3 11.62-18.9 28.52-24.6 47.62-8.6 28.5-10.4 61.8-4.8 88.8l65.8-9.4 62.9 7.4c5.2-26.6 3.3-59-5.1-86.8-5.7-19.1-14.3-36-24.6-47.62-10.4-11.66-21.8-17.96-34.8-17.96zm144 35.08c-11.6 0-21.9 5.7-31.3 16.5-9.3 10.8-17.2 26.6-22.4 44.4-1.9 6.6-3.5 13.4-4.7 20.3.4 12.5-.5 24.8-2.6 36.4 0 .6 0 1.2.1 1.9l29.9 3.5-61.9 10.9-49.3-5.8-168.44 24 83.54 30 109.2-18.6-106 54.1-115.68-61.3-28.93 4.1L47.3 302l-29.27-11.9 37.91 44.2 4.73 17.7 43.83 20.9 63.1-16.5-56.8 41.9-42.17-16.5 10.86 40.6 24.01 7-41.99 17.2 97.39.4-52.8 21.9 107.1-7.6c73.4 25.8 90.3 22.4 173.3 30.1l-68.2-25.5 24.3-12.6-57.9-39.6c77.9 24.1 107.9 16.5 183.6 2.3l-42.2-6.2 51.8-27 .4-12.7 27.5-57.6-26.3 18.6 1-29.4-63.2 51.5-113-34.4 116.2 7.9 60.1-28.9.5-14.1 16.1-40.9-30.6 19.1-37.1-4.3-77.4 8.7s22.1-6.9 42.9-13.2l21.6-15.2 50.5 5.9c3-23 .8-49.6-6-72.7-5.2-17.8-13.1-33.6-22.4-44.4-9.4-10.8-19.7-16.5-31.3-16.5zM139.6 121c-12.1 0-22.6 5.5-32.1 15.4-9.48 10-17.39 24.6-22.65 41-7.12 22.1-9.18 47.5-5.73 69.2l102.08-14.5c-5.3-25.4-4.3-54.1 1.5-80.9-3.3-5.6-7-10.6-11-14.8-9.5-9.9-20-15.4-32.1-15.4zm68.2 244.4l73.2 13.8 78-9-79.6 30.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NestedHearts;

impl IconShape for NestedHearts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.887 25.734c-10.106-.02-20.148 1.213-29.89 3.647C66.04 42.366 22.312 89.155 20.212 156.36c-1.12 35.803 9.934 65.568 27.54 91.12 17.61 25.552 41.552 47.158 66.85 68.442 50.596 42.573 106.39 83.87 132.397 148.293l8.904 22.05 8.49-22.212c24.65-64.483 78.63-107.776 128.604-151.27 49.974-43.493 96.634-88.203 98.783-155.834 2.276-71.537-42.363-116.7-95.522-127.137-49-9.622-105.34 9.122-140.23 57.744-27.547-42.14-68.33-61.74-108.14-61.823zm2.168 17.975c38.356.402 73.808 24.73 93.14 56.956 3.06 4.91 12 18.78 12 18.78l7.334-10.35c16.673-26.633 42.103-48.728 72.284-58.325 40.247-13.228 90.467-2.59 117.055 32.314 24.617 32.027 27.77 76.852 14.025 113.666-17.43 43.71-53.837 75.718-88.553 105.793-46.72 39.376-94.345 81.183-121.916 136.86-5.064-9.63-10.672-18.98-16.9-27.9-40.44-59.624-104.682-96.256-153.725-147.608-33.198-30.908-52.584-77.653-45.26-123.08 5.82-52.31 53.85-97.206 106.794-97.07 1.243-.036 2.483-.05 3.72-.036zm64.457 123.925c-3.878-.008-7.732.466-11.47 1.4-19.938 4.983-36.72 22.938-37.524 48.73-.43 13.738 3.81 25.16 10.568 34.965 6.758 9.806 15.945 18.096 25.652 26.264 19.417 16.338 40.828 32.186 50.81 56.908l3.415 8.463 3.258-8.525c9.46-24.746 30.175-41.358 49.352-58.05 19.178-16.69 37.084-33.846 37.908-59.8.873-27.452-16.256-44.784-36.656-48.79-18.804-3.69-40.425 3.5-53.814 22.16-10.57-16.172-26.22-23.694-41.498-23.725z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NestedHexagons;

impl IconShape for NestedHexagons {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.52l-4.5 2.597L52.934 138.76v234.48L256 490.48l203.066-117.24V138.76L256 21.52zm0 20.783l185.066 106.85v213.695L256 469.698 70.934 362.847V149.152L256 42.302zm0 30.93l-4.5 2.597-153.78 88.785v182.77L256 438.768l158.28-91.383v-182.77L256 73.232zm0 20.783l140.28 80.992v161.984L256 417.984l-140.28-80.992V175.008L256 94.016zm0 30.93l-4.5 2.597-108.998 62.93v131.054L256 387.055l113.498-65.528V190.473L256 124.945zm0 20.783l95.498 55.135v110.27L256 366.27l-95.498-55.135v-110.27L256 145.73zm0 30.928l-4.5 2.598-64.213 37.072v79.344L256 335.342l68.713-39.67v-79.344L256 176.658zm0 20.783l50.713 29.28v58.56L256 314.56l-50.713-29.28v-58.56L256 197.44zm0 30.93l-4.5 2.6-19.428 11.216v27.628L256 283.63l23.928-13.816v-27.628L256 228.37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NetworkBars;

impl IconShape for NetworkBars {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M428.4 27.8v456.4h60.9V27.8h-60.9zM327 168.2v316h60.8v-316H327zM225.4 273.6v210.6h61V273.6h-61zM124 343.8v140.4h60.9V343.8H124zM22.67 394.9v89.3h60.84v-89.3H22.67z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NewBorn;

impl IconShape for NewBorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-20.794 0-44.2 5.78-63.58 17.39l.02-.097c-.22.156-.446.327-.667.484-6.127 3.73-11.838 8.045-16.923 12.955-23.71 19.373-47.905 44.71-60.37 72.948 8.37-4.155 16.365-9.44 24.41-14.576-7.315 12.505-12.044 25.924-11.728 40.148 5.928-5.75 14.24-14.91 23.656-23.375 1.76 12.773 5.742 26.938 12.49 42.68l1.772 4.138-14.135 24.522L176 243.273l17.398-17.4 24.973 37.46 7.51-53.526 92.542 51.045 59.848-59.848c6.983-28.36 2.508-55.906-8.856-80.26C347.812 74.447 299.554 41 256 41zm178.535 22.518l-67.35 19.24c7.213 9.367 13.49 19.55 18.54 30.375 4.977 10.666 8.705 21.998 10.947 33.763l58.512-43.18-57.584 2.608 36.935-42.806zM295.12 94.525l17.76 2.95s-1.25 7.662-4.126 16.035c-1.438 4.186-3.263 8.626-5.897 12.746-2.633 4.12-6.164 8.334-12.01 10.283-5.848 1.948-11.2.694-15.78-1.022-4.577-1.716-8.704-4.172-12.366-6.66-7.323-4.972-12.92-10.352-12.92-10.352l12.44-13.012s4.745 4.505 10.592 8.475c2.924 1.984 6.092 3.764 8.575 4.694 2.482.93 3.958.734 3.767.797-.19.064 1.108-.664 2.535-2.897 1.427-2.234 2.893-5.56 4.04-8.9 2.296-6.685 3.39-13.138 3.39-13.138zM384 220.727l-62.422 62.42-81.504-44.954-10.445 74.475-39.028-58.54-14.602 14.6-33.777-33.777-52.444 26.224c7.958 61.16 20 117.686 43.968 158.248C158.542 461.382 194.625 487 256 487c61.375 0 97.458-25.62 122.252-67.578 24.226-40.998 36.277-98.293 44.232-160.21L384 220.726z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Newspaper;

impl IconShape for Newspaper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 66.91V415.8c86.5 1 147.5 14.8 206 29.3V141.4c-45.3-30.1-90.4-58.75-206-74.49zm430 0C355.4 82.65 310.3 111.3 265 141.4v303.7c58.5-14.5 119.5-28.3 206-29.3zm-20.9 26.6l.8 66.99c-59.4 17.6-114.5 37.9-168.9 56-.4-20.9-.7-41.7-1.1-62.6 52.8-29.2 111.2-48.1 169.2-60.39zM69.01 105.3C129.8 119.4 184.1 136 226.1 150.1l.2 19c-41.6-13.9-101.3-32.3-161.35-46.3zm.12 46.6l35.97 6.5-3.2 17.8-35.97-6.5zm54.17 11.3l32.5 6.2-3.4 17.6-32.5-6.2zm53.2 10.5l49.6 9.6-3.4 17.6-49.6-9.6zm263.1 19.9l5.2 17.2-56 16.9-5.2-17.2zm-377.68 4.7C119.2 205 176 212.2 223.8 225l-4.6 17.4c-46-12.4-102.2-19.6-159.38-26.3zM357.1 216l4.8 17.4-71.7 19.8-4.8-17.4zm86.4 21l4.8 17.4-32.8 9.1-4.8-17.4zm-378.3 1.6l49.9 5.2-2 18-49.8-5.4zm76.9 9.8l82.1 12.3-2.6 17.8-82.1-12.3zm248.5 3.7l4.8 17.4L288.5 299l-4.8-17.4zm55.8 22.9l4.6 17.4L348.5 319l-4.6-17.4zm-388.06 6.4c29.84 3.1 61.96 7.5 84.46 13v111L59.2 398c-.33-38.9-.48-77.7-.86-116.6zm104.56 14.7l61.5 7.5-2.2 17.8-61.5-7.5zm161.5 11.8l4.2 17.5-37.8 9.1-4.2-17.5zm129.1 4.1l.4 82.2-78.5 10.2c-.3-23.8-.4-47.7-.7-71.5zM164 334.4l59.8 9.8-3 17.8-59.8-9.8zm271.7 1l-42.8 11.3.3 37.3 42.7-5.6zm-81.4 9.8l3.4 17.6-68.9 13.1-3.4-17.6zm-191.1 29.1l62.6 12.4-3.4 17.6-62.6-12.4zm186.6 6.8l4 17.6-62.5 13.9-4-17.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NextButton;

impl IconShape for NextButton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.41 106c-15.63.1-27.67 13.8-25.69 29.3 16 124 16 117.4 0 241.4-2.54 19.8 17.33 35 35.79 27.3L361.5 292.9v98.8c0 7.9 8.9 14.2 20 14.3h52c11.1-.1 20-6.4 20-14.3V120.2c-.1-7.8-9-14.1-20-14.2h-52c-11 .1-19.9 6.4-20 14.2v98.9L94.51 108c-3.2-1.3-6.63-2-10.1-2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nigeria;

impl IconShape for Nigeria {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.52 255.4c-1.39 3.5-5.53 106.7-5.53 106.7 67.84-21.2 94.51 11.1 126.61 80.6l100.5-14.4c36.3-100.2 67.8-102.3 97.7-70.2l19.1-1.5c16.1-49.4 47.7-113.8 84.9-183.8l33.2-16.4-13.9-29.9-44.4-55.69-32.2 26.57c-57-27.75-83.6-9.7-107.6 12.32-39.6-27.24-72.1-27.53-99.3-7.6-10.3-42.07-109.81-47.48-111.94 6.2-23.71 12.7-18.2 37.4-22.84 58 13.01 32.7 2.4 58.3-24.3 89.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NightSleep;

impl IconShape for NightSleep {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.8 26.57L238 60.37l7.8 13.17L281 52.59 270.8 118l6.3 10.6L336 93.53l-7.8-13.17-37.3 22.14L301 37.12l-6.2-10.55zM147.1 60.55A224 224 0 0 0 32 256a224 224 0 0 0 224 224 224 224 0 0 0 214.9-161.2A208 208 0 0 1 320 384a208 208 0 0 1-208-208 208 208 0 0 1 35.1-115.45zm244.5 52.05l-6.9 16.5 44.1 18.4-68.3 35.9-5.5 13.2 73.7 30.8 6.9-16.5-46.7-19.5 68.3-35.9 5.5-13.2-71.1-29.7zm-115 64l-97.8 35 8.1 22.7 60.6-21.7-35.4 97.9 6.5 18.1L320 292.4l-8.1-22.7-64.2 23 35.4-97.9-6.5-18.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NightVision;

impl IconShape for NightVision {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32a120 125 0 0 0-94.666 48.426A160 160 0 0 1 312.8 240a160 160 0 0 1-2.7 28.555A120 125 0 0 0 376 157 120 125 0 0 0 256 32zM82.77 325.59c-20.904.844-42.686 5.52-64.06 14.258C41.442 400.102 102.352 459.58 208 400c-11.572-32.98-37.17-55.623-69.445-66.71a11.164 13.258 0 0 0-3.733-.778 11.164 13.258 0 0 0-11.162 13.258 11.164 13.258 0 0 0 11.162 13.257 11.164 13.258 0 0 0 .317-.013c-3.8 27.26-9.967 50.298-15.478 50.662-12.182.507-29.582-40.02-36.892-84.086zm346.46 0c-7.31 44.066-24.71 84.593-36.892 84.086-5.727-.378-12.157-25.236-15.908-53.873a13.258 21.127 82.128 0 0 11.097.418 13.258 21.127 82.128 0 0 19.112-16.027 13.258 21.127 82.128 0 0-22.745-10.238 13.258 21.127 82.128 0 0-10.4 3.318c-32.3 11.08-57.916 33.73-69.495 66.727 105.647 59.58 166.557.102 189.29-60.152-21.374-8.74-43.156-13.414-64.06-14.258z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NinjaArmor;

impl IconShape for NinjaArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.41 32.18L222.562 237.879h13.711l13.364-13.363 6.363-6.364 19.727 19.727H346l74.947-179.873c-8.11-4.986-23.97-11.715-41.314-16.445-19.05-5.196-39.628-8.654-54.223-9.381zm-139.205.021c-14.576.771-34.953 4.21-53.838 9.36-17.344 4.73-33.204 11.46-41.314 16.445L166 237.879h36.44l38.722-77.445zm29.25 22.563l36.25 84.584 41.984-83.971c-26.948 5.752-51.079 5.561-78.234-.613zM88.416 98.478l-43.691 65.54 65.88 39.529 15.24-15.24zm335.168 0l-37.43 89.829 15.24 15.24 65.881-39.53zM256 243.605l-20.42 20.42 20.42 30.63 20.42-30.63zM153 255.88v30h75.518l-16.098-24.147 5.853-5.853zm140.727 0l5.853 5.853-16.098 24.147H359v-30zm-129.125 48l-26.045 165.24c114.22 14.268 120.666 14.268 234.886 0l-26.045-165.24h-75.916L256 327.102l-15.482-23.223z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NinjaVelociraptor;

impl IconShape for NinjaVelociraptor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.908 46.95c33.344 11.834 52.447 14.518 68.01 14.706 16.325.197 29.99-2.656 51.514-1.037 21.658 1.629 32.505 10.43 45.168 15.578 11.888 4.833 27.4 8.255 61.707 3.26-66.772-40.076-152.599-89.964-226.399-32.508zM191.2 87.386c4.057 13.656 10.663 21.204 18.088 24.488-.773-12.454-.509-24.688 7.47-35.299-9.732-1.057-20.628 6.2-25.558 10.81zm32.328-8.498c1.568 14.024-4.11 24.182-9.447 34.523 9.265 1.876 19.195-1.893 26.783-8.146-1.17-8.375-7.344-21.013-17.336-26.377zM67.885 80.457C50.997 96.998 34.105 114.579 18 129.854v228.408c31.808-16.728 59.288-33.89 104.908-49.237 61.672 59.818 112.321 127.51 190.582 175.479 6.51 2.88 55.376 5.528 57.2-8.268 1.858-6.51 1.546-14.804 1.546-14.804-.287-4.444-94.872-136.49-119.38-201.871a1028.956 1028.956 0 0 1-22.077-8.76c21.68 69.956 69.711 142.449 118.282 211.191l-19.375.469C214.826 383.37 147.297 271.74 82.946 172.156 224 224 359.6 296.106 483.73 272.113c1.521-23.39 2.866-56.89-20.894-81.078-27.544-28.04-58.994-48.217-86.895-74.004l-13.386-.48c-52.767-1.892-100.729 25.01-155.059 18.314-26.521-3.268-42.012-16.985-59.031-28.7-32.108-17.511-51.508-23.719-80.58-25.708zm333.982 112.182c18.978 8.82 38.855 23.802 40.112 44.004l-17.983.789c-2.628-14.809-17.65-23.054-29.418-28.336zm-261.22 22.273c46.154 67.645 95.56 165.463 141.81 186.07l-87.291-161.377c-18.32-8.08-36.485-16.415-54.52-24.693zm112.968 44.943l28.567 43.41 25.375-25.042c-18.077-5.31-36.063-11.537-53.942-18.368zm57.99 19.545l21.18 37.452 32.963-25.155c-18.126-2.965-36.179-7.163-54.143-12.297zm167.823 11.971c-15.845 3.029-31.658 4.663-47.43 5.09l34.727 33.926zm-108.381 1.164l29.04 38.895 27.976-34.885c-19.073.277-38.084-1.17-57.016-4.01z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Noodles;

impl IconShape for Noodles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.35 26.1l-2.68 15.78L382.7 103.9l2.6-15.79L21.35 26.1zm-.55 57.94l-1.58 15.92L383.2 136l1.6-16-364-35.96zm202.6 52.16c-1.8 7.8-7.7 19.5-14.3 31C201.1 181 192 194 192 208c0 18.7 9.8 31.1 18 40.3 8.2 9.3 14 15.3 14 23.7 0 5.7-3.3 14.8-7.8 24h18c3.4-7.9 5.8-16 5.8-24 0-15.5-10.2-25.5-18-34.3-7.8-8.8-14-16.4-14-29.7 0-4.9 6.9-18.8 14.9-32.8 7-12.1 14.8-24.6 16.7-37.4l-16.2-1.6zm40 4c-1.7 7.5-7.5 18.2-14.2 28.8-8 12.8-17.2 25-17.2 39 0 18.7 9.8 31.1 18 40.3 8.2 9.3 14 15.3 14 23.7 0 5.7-3.3 14.8-7.8 24h18c3.4-7.9 5.8-16 5.8-24 0-15.5-10.2-25.5-18-34.3-7.8-8.8-14-16.4-14-29.7 0-4.9 6.8-17.6 14.8-30.5 7-11.3 14.8-23.1 16.8-35.8l-16.2-1.5zm40 3.9c-1.7 7.2-7.4 16.9-14 26.7-8 11.8-17.4 23.2-17.4 37.2 0 18.7 9.8 31.1 18 40.3 8.2 9.3 14 15.3 14 23.7 0 5.7-3.3 14.8-7.8 24h18c3.4-7.9 5.8-16 5.8-24 0-15.5-10.2-25.5-18-34.3-7.8-8.8-14-16.4-14-29.7 0-4.9 6.6-16.4 14.6-28.3 7-10.4 15-21.5 16.9-34l-16.1-1.6zM40.33 312c1.68 42.5 16.6 76.8 48.58 101.7C122.9 440.1 177.1 456 256 456s133.1-15.9 167.1-42.3c32-24.9 46.9-59.2 48.6-101.7H40.33zM192 472v16h128v-16H192z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NoseFront;

impl IconShape for NoseFront {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M177.664 38c-6.95 103.71-7.898 212.628-46.676 270.396-25.073 37.353-38.137 65.895-42.94 88.59-4.8 22.695-.85 40.19 8.563 51.965 18.828 23.553 52.752 22.828 66.824 22.532a9 9 0 0 0 3.168-17.416 34.564 18.29 0 0 0 8.384-4.152c3.072 2.195 6.165 4.695 9.34 7.418 16.668 14.295 35.994 34.946 67.877 34.668 31.853-.277 55.89-20.32 76.385-34.81 3.45-2.44 6.8-4.708 10.055-6.764a34.564 17.756 0 0 0 7.925 3.29 9 9 0 0 0 1.998 17.766c14.072.296 47.996 1.02 66.823-22.53 9.412-11.776 13.363-29.27 8.56-51.966-4.8-22.695-17.865-51.237-42.938-88.59C342.234 250.628 341.286 141.71 334.336 38h-18.03c6.85 103.14 5.31 214.207 49.76 280.428 24.305 36.207 36.224 63.147 40.274 82.285 4.05 19.138.72 29.826-5.014 37-.917 1.147-1.948 2.204-3.058 3.195a34.564 17.756 0 0 0 .378-2.476 34.564 17.756 0 0 0-34.564-17.756 34.564 17.756 0 0 0-33.512 13.496c-4.18 2.597-8.28 5.428-12.373 8.32-21.223 15.004-42 31.298-66.15 31.508-24.12.21-38.228-15.087-56.004-30.332-5.378-4.613-11.062-9.184-17.445-12.902a34.564 18.29 0 0 0-31.02-10.246 34.564 18.29 0 0 0-34.562 18.29 34.564 18.29 0 0 0 .156 1.594c-.898-.844-1.736-1.738-2.498-2.69-5.735-7.175-9.063-17.863-5.014-37 4.05-19.14 15.97-46.08 40.274-82.286 44.45-66.22 42.91-177.288 49.76-280.428h-18.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NoseSide;

impl IconShape for NoseSide {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.307 21.307v469.386h202.83c-4.174-21.84-1.993-42.658 6.646-60.482 14.007-28.898 44.732-48.323 86.37-51.22l.19-.013.194-.004c13.59-.456 44.624-11.956 61.684-31.192 8.53-9.617 13.925-20.642 14.282-33.626.357-12.984-4.327-28.633-18.682-47.488-53.87-70.76-118.502-154.877-153.504-245.36zm112.767 248.937l16.998 5.926c-7.097 20.357-10.2 36.084-10.066 48.324.132 12.24 3.172 20.972 9.11 29.108 11.874 16.27 37.717 29.868 75.25 49.265l-8.264 15.992c-37.432-19.346-65.516-32.708-81.528-54.647-8.006-10.97-12.4-24.158-12.566-39.526-.167-15.367 3.568-32.934 11.066-54.443zM288.44 330.13c19.56-.24 33.37 5.704 36.013 15.497 1.73 6.472-1.583 14.065-9.324 21.38-5.33-15.247-27.126-21.834-49.005-14.812-20.975 6.755-34.747 23.72-31.6 38.928-13.273-1.856-22.015-7.213-24.076-14.754-3.99-14.79 18.3-33.662 49.78-42.15 9.55-2.576 19.25-3.982 28.21-4.09z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Notebook;

impl IconShape for Notebook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M131.3 20.35c-14.6.1-28.1 10-31.93 24.82-2.33 9.13-.55 18.4 4.13 25.84-7.67 4.26-13.69 11.53-16.03 20.66-2.32 9.13-.56 18.33 4.1 25.83a32.687 32.687 0 0 0-15.96 20.6c-2.34 9.1-.54 18.4 4.18 25.8-7.72 4.3-13.75 11.5-16.09 20.7-2.33 9.1-.54 18.4 4.19 25.8-7.72 4.3-13.75 11.5-16.09 20.7-2.34 9.1-.54 18.4 4.18 25.8-7.72 4.3-13.75 11.5-16.08 20.7-2.34 9.1-.54 18.4 4.18 25.8-7.72 4.3-13.75 11.5-16.09 20.7-2.35 9.2-.51 18.5 4.3 26a32.915 32.915 0 0 0-16.28 20.8c-4.48 17.5 6.25 35.6 23.79 40.1l.1-.2 31.71 8.2-1.47 5.7 261.56 67L374 326.5l-22.4 21.2-87.8 26.5 15.5-42.5-151.7-38.8 4.4-17.4 153.5 39.3 9.7-26.7 15.3-14.4-167-42.8 4.4-17.4 178 45.6 39.6-37.4-206.1-52.8 4.4-17.4L380.7 207l-.1.4 31.5-29.8 18.3-71.4-261.6-67.04-4.8 18.66c2.2-16.32-8.1-32.27-24.5-36.44-2.7-.7-5.5-1.04-8.2-1.03zm.3 17.99c1.2 0 2.4.19 3.5.48 8.1 2.09 12.9 10.13 10.8 18.27l17.2 4.4-11 42.81c2.2-16.35-8.2-32.26-24.5-36.43l-.6-.15c-7.8-2.34-12.2-10.15-10.2-18.07 1.7-6.61 7.3-11 13.7-11.3h1.1zm-11.9 46.51c.9 0 1.9.14 2.9.36l.6.15c8.1 2.08 12.9 10.12 10.8 18.24l17.2 4.4-11 43c2.4-16.4-8-32.6-24.4-36.7-.7-.2-1.3-.4-1.9-.5-7-2.7-10.9-10.1-9-17.62 1.7-6.97 7.9-11.45 14.8-11.29zm59.9 4.59 217 55.66-4.4 17.4-217-55.6zm-72.9 41.86h1.3c.5 0 .9 0 1.4.1.6.2 1.2.3 1.8.5l.1-.2c8.1 2.1 12.9 10.1 10.8 18.3l17.2 4.4-11 43c2.3-16.3-8.1-32.4-24.4-36.6-8.18-2.1-12.94-10.1-10.85-18.3 1.69-6.6 7.25-10.9 13.65-11.2zM465.4 152l-10.2 9.6 31.6 33.5 10.2-9.6zm-23.3 22L315.7 293.5l31.5 33.5 126.5-119.5zm-347.23 3.7c1.48 0 3 .1 4.53.5 8.1 2.1 12.9 10.1 10.8 18.3l17.2 4.4-11 43c2.3-16.4-8.1-32.4-24.44-36.6-8.14-2.1-12.9-10.1-10.82-18.3 1.7-6.6 7.32-11 13.73-11.3zm-11.91 46.5c1.48 0 3 .1 4.53.5 8.14 2.1 12.91 10.1 10.81 18.3l17.2 4.4-11 42.9c2.3-16.3-8.1-32.3-24.45-36.5-8.14-2.1-12.89-10.1-10.81-18.3 1.69-6.6 7.31-11 13.72-11.3zm-11.9 46.5c1.48 0 3 .1 4.53.5 8.13 2.1 12.89 10.1 10.81 18.3l17.2 4.3-10.94 42.8c2.16-16.3-8.25-32.1-24.51-36.3-8.14-2.1-12.9-10.1-10.82-18.3 1.7-6.6 7.32-11 13.73-11.3zm235.34 39.2L293 346.6l37.4-11.3zm-247.25 7.3c1.48 0 3 .1 4.53.5 8.14 2.1 12.9 10.1 10.81 18.3l17.21 4.3-11 43c2.1-16.2-8.3-32-24.53-36.2l.1-.3c-8.16-2.1-12.92-10.1-10.84-18.3 1.69-6.6 7.31-11 13.72-11.3zm56.95 20.3L333.2 393l-4.4 17.4-217.1-55.5zM47.18 364c1.48 0 3 .1 4.52.5 8.14 2.1 12.9 10.1 10.82 18.3l17.2 4.3-3.69 14.4-31.92-8.2v.2c-8.01-2.2-12.67-10.1-10.61-18.2 1.7-6.6 7.32-11 13.73-11.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NuclearPlant;

impl IconShape for NuclearPlant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M13.447 18l4.826 20.656c17.47 32.683 68.819 20.747 94.545-1.635-14.136 38.399-65.72 49.25-95.964 26.354-.794 11.045 1.01 18.688 4.326 23.547 4.729 6.93 13.658 10.949 30.021 11.203l12.475.193-4.12 11.778c-5.347 15.288-4.928 23.375-1.91 28.478 1.975 3.337 6.034 6.533 12.678 9.545 40.193-8.27 83.572-9.067 121.676-9.119 28.214 0 56.41 1.001 79.78 3.033 23.37 2.032 41.025 4.306 52.245 9.916 10.816 5.781 25.574 5.525 36.207 3.994 9.222-1.415 16.325-4.613 21.387-10.853 3.954-4.874 7.015-12.152 7.9-23.31-33.606 4.231-67.935-8.9-76.294-47.872 40.54 37.963 82.92 42.849 131.005 16.412 11.444-6.49 18.25-14.805 20.485-27.605l1.392-7.975 8.079.543c7.79.524 14.336.366 19.814-.267V18h-21.979c-20.534 43.036-74.988 67.68-115.3 21.922 29.23 13.223 71.841 14.87 94.744-21.922H13.447zm270.645 29.957c-7.744 21.146-22.92 44.73-47.414 51.688-26.23 34.754-92.726 38.651-119.86-17.305 20.443 24.144 61.662 34.958 91.328 17.668-27.204-8.009-48.057-46.875-46.736-47.535 0 2.077 41.737 29.713 57.897 29.654 25.989.029 43.257-14.207 64.785-34.17zM494 72.945c-4.196.368-8.676.507-13.467.412-4.623 14.341-14.644 25.372-27.422 32.62-12.914 7.325-28.605 11.249-45.64 13.244-.675 15.828-4.645 28.298-11.873 37.209-8.483 10.457-20.558 15.453-32.637 17.306-12.578 1.93-25.722.924-37.504-.76a236.7 236.7 0 0 0-4.86 21.258C338.19 192.74 359.193 192 380.23 192c21.401 0 42.782.76 60.555 2.309 16.293 1.419 28.797 2.843 37.914 6.648 5.832-1.888 11.047-3.878 15.301-6.03v-22.613c-24.68 10.243-52.42 3.068-67.861-28.8 16.333 12.485 44.326 23.76 67.861 8.746V72.945zM192 157c-40.75 1.88-77.826-.767-116.965 8.832 28.05 96.266-1.687 216.838-32.195 309.791 11.247 5.175 30.635 10.198 53.91 13.465C124.683 493.008 158.353 495 192 495s67.317-1.992 95.25-5.912c23.275-3.267 42.663-8.29 53.91-13.465-30.508-92.953-60.246-213.525-32.195-309.791-8.367-2.095-22.342-4.439-38.744-5.865C247.59 157.999 219.786 157 192 157zm188.23 53c-20.97 0-41.962.757-58.994 2.24-1.125.098-2.22.207-3.308.317-8.896 79.06 12.998 172.267 37.445 248.76 8.189.323 16.517.501 24.857.501 25.373 0 50.765-1.507 71.762-4.459 16.35-2.298 30.045-5.83 38.403-9.298-22.686-69.604-44.617-159.096-24.422-231.875-6.263-1.396-15.673-2.981-26.748-3.946-17.032-1.483-38.023-2.24-58.995-2.24zm-141.335 28.21c29.289 17.126 45.21 48.33 44.464 80.056l-61.252-6c-.43-7.908-4.625-15.474-11.837-19.84l28.625-54.215zm-92.956 1.12l27.79 52.514a24.504 24.504 0 0 0-9.616 9.347 24.489 24.489 0 0 0-3.258 11.075l-57.384 6c-.42-16.048 3.166-32.448 11.78-47.37 7.723-13.372 18.408-23.987 30.688-31.566zm45.895 64.092c3.515.034 5.522.778 7.762 2.07a16.161 16.161 0 0 1 5.933 22.162 16.144 16.144 0 0 1-22.146 5.934 16.165 16.165 0 0 1-5.947-22.162c2.815-4.876 8.244-7.778 12.794-7.975a30.402 30.402 0 0 1 1.604-.03zm12.478 43.203l31.467 48.578c-13.778 7.362-29.255 11.298-44.92 10.89-14.368-.372-28.682-4.176-42.029-11.782l30.828-47.12c7.95 4.349 17.346 3.852 24.655-.566z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NuclearWaste;

impl IconShape for NuclearWaste {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nunchaku;

impl IconShape for Nunchaku {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M317.096 24.062c-5.96-.065-11.61 1.097-16.576 3.46-2.844 1.352-5.54 3.216-7.788 5.53-.403-.21-.812-.41-1.222-.597-6.663-3.06-14.516-3.974-22.662-2.682-8.147 1.293-15.333 4.59-20.72 9.565-2.037 1.88-3.847 4.1-5.247 6.564-6.555-1.378-13.72-.858-20.835 1.502-7.83 2.598-14.383 7.017-18.893 12.8-4.183 5.363-6.702 12.536-5.017 19.657-5.716 2.527-10.943 6.68-15.26 12.136-3.33 4.207-5.778 8.764-7.252 13.445.43-.01.86-.034 1.29-.036 5.77-.025 11.553.883 17.1 2.524.763-1.585 1.745-3.205 2.977-4.762v-.002c3.106-3.925 6.97-6.464 9.924-7.422 1.108-.36 1.986-.517 2.682-.547 1.16-.05 1.814.252 2.19.55.605.48 1.38 1.646 1.128 4.743-.252 3.097-1.84 7.438-4.945 11.363-.387.49-.785.955-1.19 1.4 5.297 2.93 10.147 6.647 14.202 11.11.374-.437.743-.882 1.104-1.34 5.118-6.467 8.172-13.76 8.768-21.07.143-1.763.12-3.568-.077-5.362 2.33-.377 4.674-.952 7.014-1.73 7.83-2.597 14.386-7.016 18.896-12.798.905-1.16 1.727-2.407 2.45-3.718 5.426 1.51 11.403 1.79 17.548.814 8.146-1.293 15.332-4.59 20.72-9.562.604-.558 1.184-1.15 1.744-1.764 4.798 3.164 10.53 5.28 16.825 6.19 5.96.865 11.75.552 17.017-.905 2.08 6.164 5.987 11.935 11.37 16.81 3.32 3.005 6.922 5.413 10.68 7.165-.11.8-.19 1.6-.23 2.396-.383 7.323 1.673 14.957 5.885 22.05l.06.1c4.868-3.6 10.38-6.292 16.173-8.12-.257-.382-.515-.766-.756-1.172-2.557-4.305-3.55-8.82-3.387-11.922.006-.116.02-.21.027-.32 2.807-.41 5.552-1.292 8.045-2.735 2.478 1.582 5.233 4.258 7.352 7.826 1.12 1.886 1.923 3.805 2.477 5.635 2.363-.2 4.74-.28 7.112-.21 3.896.113 7.777.604 11.555 1.503-.662-5.44-2.587-10.924-5.672-16.118-3.44-5.793-7.886-10.495-13.003-13.75.444-3.374.175-6.83-.637-10.053-1.792-7.11-6.005-13.8-12.12-19.337-6.114-5.537-13.186-9.068-20.44-10.148-2.282-.34-4.653-.41-7-.162-1.52-3.352-3.822-6.33-6.493-8.73-5.455-4.9-12.682-8.1-20.846-9.284-2.04-.297-4.062-.456-6.048-.478zm-.153 18.022c1.167.004 2.38.09 3.62.27 4.954.717 9.087 2.782 11.398 4.86 2.312 2.075 2.555 3.455 2.444 4.217-.11.764-.733 2.02-3.54 3.355-2.804 1.335-7.355 2.14-12.31 1.422-4.954-.718-9.087-2.78-11.398-4.858-.85-.764-1.417-1.433-1.793-2.012l-.006-.045c-.135-.854-.334-1.677-.572-2.48.234-.77 1.02-1.87 3.467-3.036 2.104-1 5.19-1.706 8.69-1.693zm-41.66 5.15c3.5-.06 6.596.604 8.713 1.576 1.662.764 2.555 1.507 3.043 2.147.13.703.288 1.398.487 2.08-.184.796-.773 1.89-2.332 3.33-2.283 2.107-6.39 4.227-11.334 5.012-4.943.783-9.502.038-12.325-1.26-.24-.11-.442-.216-.65-.325-.668-1.71-1.55-3.27-2.604-4.674.336-.69.952-1.537 2.056-2.556 2.283-2.107 6.388-4.23 11.332-5.013 1.236-.195 2.448-.296 3.615-.316zm77.574 13.137c.555-.01 1.207.033 1.975.147 3.073.458 7.3 2.328 11.01 5.688s5.988 7.382 6.748 10.394c.112.443.187.84.246 1.21-2.575.352-5.115 1.17-7.498 2.586-.475.282-.927.583-1.367.897-2.415-.942-5.08-2.494-7.527-4.71-3.71-3.36-5.986-7.38-6.746-10.394-.76-3.013-.19-4.293.328-4.864.388-.428 1.17-.926 2.832-.955zm-116.752 2.82c1.502.038 2.853.23 3.977.538.545.15.997.31 1.408.477.656 1.55 1.496 2.988 2.48 4.312-.257.672-.706 1.484-1.478 2.473-1.91 2.45-5.618 5.21-10.37 6.785-4.75 1.577-9.372 1.582-12.368.76-2.996-.822-3.83-1.95-4.072-2.68-.243-.73-.25-2.132 1.662-4.582 1.91-2.45 5.62-5.208 10.37-6.785 2.97-.985 5.89-1.357 8.39-1.297zm-59.017 60.292c-3.486.012-6.73.665-9.764 1.637l-14.98 41.716c14.94-.53 30.592 4.598 43.185 15.844l15.087-42.016c-4.048-6.298-10.983-11.72-19.174-14.66-4.705-1.69-9.648-2.538-14.355-2.522zm218.244 5.137c-1.85.013-3.715.147-5.572.403-8.62 1.19-16.524 5.063-21.783 10.39l6.056 43.91c12.994-7.39 29.24-10.098 45.612-5.968l-6.1-44.224c-4.637-2.64-10.297-4.275-16.37-4.486-.61-.02-1.226-.03-1.843-.025zm-241.19 56.052c-2.94.025-5.81.362-8.552.974L94.25 328.62c15.76.55 31.143 6.467 43.572 14.772l51.006-142.04c-9.503-11.752-22.635-16.785-34.687-16.68zm249.655 8.53c-10.492.133-20.068 4.036-27.033 9.923l20.38 147.762c9.636-4.558 20.245-6.874 30.696-7.38 1.122-.054 2.244-.088 3.36-.1 3.868-.046 7.694.154 11.425.57l-20.27-146.973c-6.27-2.718-12.563-3.876-18.558-3.8zM97.385 347.1l4.88 25.26 21.296-16.432c-7.988-4.428-17.244-7.707-26.175-8.828zm335.185 14.537c-8.24.1-16.79 1.497-24.318 4.29l15.994 20.153 11.3-24.412c-.987-.026-1.978-.044-2.976-.03zm-350.523.966L69.453 397.68 86.31 384.67l-4.263-22.07zm43.723 14.357l-19.686 15.19 4.977 25.77 14.71-40.96zm321.664 1.88l-10.66 23.028 16.746 21.102-6.086-44.13zm-45.284 8.354l4.953 35.917 8.676-18.742-13.63-17.174zM90.13 404.46L71.75 418.64c4.486.312 9.058 1.267 13.574 2.89 3.167 1.136 6.146 2.543 8.906 4.183L90.13 404.46zm338.18 15.694l-11.498 24.832c4.772-2.43 10.122-4.116 15.85-4.906 3.81-.526 7.568-.622 11.203-.322l-15.556-19.604zm-358.726 16.42c-3.068-.114-5.913.254-8.322.996-4.818 1.484-7.593 4.06-8.737 7.244-1.144 3.186-.64 6.937 2.133 11.147 2.774 4.21 7.846 8.375 14.445 10.745 6.6 2.37 13.165 2.384 17.983.9 4.818-1.483 7.59-4.06 8.734-7.246 1.144-3.186.643-6.936-2.13-11.145-2.774-4.21-7.848-8.376-14.448-10.746-3.3-1.186-6.59-1.782-9.658-1.896zm370.627 21.03c-1.647-.03-3.35.066-5.087.306-6.947.958-12.77 3.986-16.352 7.533-3.58 3.548-4.846 7.116-4.383 10.47.462 3.352 2.646 6.444 7.054 8.89 4.41 2.445 10.834 3.784 17.78 2.826 6.947-.96 12.77-3.99 16.352-7.536 3.582-3.548 4.846-7.114 4.383-10.467-.462-3.353-2.644-6.445-7.053-8.89-3.306-1.835-7.747-3.047-12.69-3.134z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NurseFemale;

impl IconShape for NurseFemale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20.86c-44.7 0-89.4 10.95-134.5 32.63.4 3.87 1 8.76 2.1 14.96 1.7 9.77 4.2 21.59 7.1 33.35 3 11.8 6.4 23.5 10 33 2.8 7.6 5.8 13 8 16.2h214.6c2.2-3.2 5.2-8.6 8-16.2 3.6-9.5 7-21.2 10-33 2.9-11.76 5.4-23.58 7.1-33.35 1.1-6.2 1.7-11.09 2.1-14.96-45.1-21.68-89.8-32.63-134.5-32.63zM238 40h36v30h30v36h-30v30h-36v-30h-30V70h30V40zm-89.4 129c-4.6 14.3-7.6 29.6-8.9 45.7 34.4-1.3 66.3-8.5 91.8-17.2 28.4-9.7 49.5-22.3 55-27.9l.6-.6H148.6zm150.2 0l1 1.2c13.7 16.1 27.8 33.8 41.5 44.8 6.8 5.5 13.4 9.2 19.3 10.8 4.3 1.1 8.2 1.2 12.3.1-.6-20.2-3.9-39.4-9.5-56.9h-64.6zm-7 19.6c-11.8 8.6-30.3 17.6-54.4 25.9-5.9 2-12.1 4-18.6 5.8 5.1 5 8.2 12 8.2 19.7 0 15.4-12.6 28-28 28s-28-12.6-28-28c0-3.6.7-7 1.9-10.2-10.9 1.6-22.3 2.6-33.9 3 .2 44.3 13.7 84.2 35.1 112.6C195.6 374 224.4 391 256 391c31.6 0 60.4-17 81.9-45.6 19.5-26 32.5-61.5 34.8-101.2-5.7.8-11.3.4-16.6-1-5.4-1.4-10.5-3.7-15.3-6.6.1 1.1.2 2.3.2 3.4 0 15.4-12.6 28-28 28s-28-12.6-28-28c0-15.1 12.1-27.5 27.1-28-7-7.5-13.8-15.6-20.3-23.4zm-170.5 31.9c-1.7 1.1-3.4 2.4-4.9 3.9-4.6 4.5-7.4 10.6-7.4 15.6 0 13.5 4.9 20.7 12.6 26.7.7.6 1.5 1.1 2.2 1.6-1.8-11.7-2.8-23.9-2.8-36.3 0-3.9.1-7.7.3-11.5zm269.4 0c.2 3.8.3 7.6.3 11.5 0 12.4-1 24.6-2.8 36.3.7-.5 1.5-1 2.2-1.6 7.7-6 12.6-13.2 12.6-26.7 0-5-2.8-11.1-7.4-15.6-1.5-1.5-3.2-2.8-4.9-3.9zM199 230c-5.6 0-10 4.4-10 10s4.4 10 10 10 10-4.4 10-10-4.4-10-10-10zm114 0c-5.6 0-10 4.4-10 10s4.4 10 10 10 10-4.4 10-10-4.4-10-10-10zm-79.6 50.8s3.5 2.6 8.4 5.3c5 2.7 11.3 4.9 14.2 4.9 2.9 0 9.2-2.2 14.2-4.9 4.9-2.7 8.4-5.3 8.4-5.3l10.8 14.4s-4.5 3.4-10.6 6.7c-6.1 3.3-13.8 7.1-22.8 7.1s-16.7-3.8-22.8-7.1c-6.1-3.3-10.6-6.7-10.6-6.7l10.8-14.4zm-110 8c-.4.9-.7 1.8-1.1 2.7-8.8 21-22.1 42.3-41.34 58.8 12.08 6 24.14 11.9 36.14 17.5 12.9-5.8 26.2-11.3 39.2-16.3-12.1-17.4-21.5-37.9-27.6-60.4-1.8-.7-3.5-1.5-5.3-2.3zm265.2 0c-1.8.8-3.5 1.6-5.3 2.3-6.1 22.5-15.5 43-27.6 60.4 13 5 26.3 10.5 39.2 16.3 12-5.6 24-11.5 36.1-17.5-19.2-16.5-32.5-37.8-41.3-58.8-.4-.9-.7-1.8-1.1-2.7zm-190.2 24.8c7 7 16 12.4 26.1 16 1.9-1 3.8-1.8 5.9-2.5 7.2-2.4 15.9-3.7 25.6-3.7 9.7 0 18.4 1.3 25.6 3.7 2.1.7 4 1.5 5.9 2.5 10.1-3.6 19.1-9 26.1-16l12.8 12.8c-8.4 8.4-18.5 14.7-29.6 19.1-.6 4-3.2 7.1-5.6 9.2-2.9 2.3-6.1 3.8-9.6 5-7.2 2.4-15.9 3.7-25.6 3.7-9.7 0-18.4-1.3-25.6-3.7-3.5-1.2-6.7-2.7-9.6-5-2.4-2.1-5-5.2-5.6-9.2-11.1-4.4-21.2-10.7-29.6-19.1l12.8-12.8zm-41.5 57.3c-13.8 5.3-27.8 11.1-41.1 17.3-25.7 11.8-49.38 24.7-66.21 36.2-8.42 5.8-15.12 11.3-19.35 15.8-4.22 4.5-5.24 7.9-5.24 7.8v39h205.8c-43.5-38.7-60.7-78.2-73.9-116.1zm198.2 0c-13.2 37.9-30.4 77.4-73.9 116.1H359v-39h18v39h14v-39h18v39h78v-39c0 .1-1-3.3-5.2-7.8-4.3-4.5-11-10-19.4-15.8-16.8-11.5-40.5-24.4-66.2-36.2-13.3-6.2-27.3-12-41.1-17.3zm-177.2 5.6c13.5 36.6 31.9 71.8 78.1 108.1 46.2-36.3 64.6-71.5 78.1-108.1-21.9 20.3-48.9 32.5-78.1 32.5-29.2 0-56.2-12.2-78.1-32.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NurseMale;

impl IconShape for NurseMale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20.86c-44.7 0-89.4 10.95-134.5 32.63.4 3.87 1 8.76 2.1 14.96 1.7 9.77 4.2 21.59 7.1 33.35 3 11.8 6.4 23.5 10 33 2.8 7.6 5.8 13 8 16.2h214.6c2.2-3.2 5.2-8.6 8-16.2 3.6-9.5 7-21.2 10-33 2.9-11.76 5.4-23.58 7.1-33.35 1.1-6.2 1.7-11.09 2.1-14.96-45.1-21.68-89.8-32.63-134.5-32.63zM238 40h36v30h30v36h-30v30h-36v-30h-30V70h30V40zm-95.1 129c-3.5 10.4-6.2 21.4-7.9 32.9 30.6 1.8 60.7-4.9 85.8-14.3 15.1-5.6 28.5-12.4 38.9-18.6H142.9zm168.3 0c11.6 9.8 24.4 18.7 36.8 24.9 10.4 5.2 20.3 8.4 29.2 9.1-1.7-11.9-4.4-23.3-8-34h-58zm-23.5 3.1c-12.2 9.7-33.2 22.1-60.5 32.3-8.2 3.1-17 5.9-26.1 8.3 12.5 2.8 21.9 14 21.9 27.3 0 15.4-12.6 28-28 28s-28-12.6-28-28c0-9.2 4.5-17.4 11.4-22.5-14.5 2.3-29.7 3.3-45.2 2.3-.3 4-.4 8.1-.4 12.2 0 89 56.4 159 123.2 159 66.8 0 123.2-70 123.2-159 0-3.6-.1-7.2-.3-10.7-12.9-.5-26.2-4.9-38.9-11.2-18.8-9.5-36.9-23.5-52.3-38zM317 212c15.4 0 28 12.6 28 28s-12.6 28-28 28-28-12.6-28-28 12.6-28 28-28zm-202 10.1c-.9.7-1.8 1.4-2.6 2.3-4.6 4.5-7.4 10.6-7.4 15.6 0 13.4 4.9 20.6 12.5 26.6-1.8-11.2-2.7-22.8-2.7-34.6 0-3.3.1-6.6.2-9.9zm282 0c.1 3.3.2 6.6.2 9.9 0 11.8-.9 23.4-2.7 34.6 7.6-6 12.5-13.2 12.5-26.6 0-5-2.8-11.1-7.4-15.6-.8-.9-1.7-1.6-2.6-2.3zM195 230c-5.6 0-10 4.4-10 10s4.4 10 10 10 10-4.4 10-10-4.4-10-10-10zm122 0c-5.6 0-10 4.4-10 10s4.4 10 10 10 10-4.4 10-10-4.4-10-10-10zm-87.4 51s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l11.2 14s-5.4 4.4-12.4 8.7C274.1 308 266 313 256 313s-18.1-5-25.2-9.3c-7-4.3-12.4-8.7-12.4-8.7l11.2-14zm-31.2 32.6C212.2 327.5 234 335 256 335s43.8-7.5 57.6-21.4l12.8 12.8C308.2 344.5 282 353 256 353c-26 0-52.2-8.5-70.4-26.6l12.8-12.8zm-44.6 48.1c-13.2 3.3-26.5 7-39.2 10.9-25.63 7.9-49.29 16.8-65.98 25.4-8.35 4.3-14.95 8.6-18.96 12.1-4.02 3.6-4.66 6-4.66 5.9v71h205.8c-47-41.8-63.3-84.6-77-125.3zm204.4 0c-13.7 40.7-30 83.5-77 125.3H359v-39h18v39h14v-39h18v39h78v-71c0 .1-.6-2.3-4.7-5.9-4-3.5-10.6-7.8-18.9-12.1-16.7-8.6-40.4-17.5-66-25.4-12.7-3.9-26-7.6-39.2-10.9zm-178.5 19.4c13.4 34.9 32 68.7 76.3 103.5 44.3-34.8 62.9-68.6 76.3-103.5-21.8 17.6-48 27.9-76.3 27.9-28.3 0-54.5-10.3-76.3-27.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OBrick;

impl IconShape for OBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M150.5 141a9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5h-96zm9.5 19h77v77h-77v-77zm115 0h77v77h-77v-77zm-19 86.5a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5zM160 275h77v77h-77v-77zm115 0h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OakLeaf;

impl IconShape for OakLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.239 26.432c-4.705.09-9.496.87-14.37 2.473-19.773 6.506-41.557 59.364-7.411 112.912 9.221 14.46-41 39.289-31.803 67.056 12.387 37.399 99.437 19.933 112.104 42.211 6.44 11.328-79.773 49.284-49.663 81.625 37.951 40.763 76.062 14.109 138.553 23.864 24.685 3.853-26.357 63.343 11.031 86.498 39.948 24.739 118.742 1.986 160.846-20.254a20577.214 20577.214 0 0 0-30.19-36.098c-33.45 10.371-71.807 15.824-106.036 13.664 36.092-6.615 65.118-14.246 94.8-27.025-21.566-25.637-43.299-51.22-65.357-76.479-36.846 7.379-103.783 18.406-166.793 13.88 8.83-1.316 110.772-14.937 154.935-27.38a3177.953 3177.953 0 0 0-24.357-27.318 6823.337 6823.337 0 0 0-27.935-35.486 6485.7 6485.7 0 0 0-15.413-19.34l-.115.658c-31.187 1.8-90.154 3.052-142.9-10.709 7.477.02 92.983 1.716 132.031-3.637-16.65-20.699-32.746-40.434-46.473-56.795-7.035-8.385-13.392-15.81-19.011-22.209l.05-.056c25.401 23.275 50.132 47.542 74.329 72.506 15.57-24.254 32.931-56.653 41.664-80.655 1.469 29.363-15.963 66.66-27.586 95.325 22.456 23.61 44.458 47.79 66.125 72.287 20.118-23.976 44.105-60.316 54.869-83.707-3.957 26.047-31.834 67.188-44.936 94.982 25.142 28.669 49.84 57.727 74.266 86.8 13.506-17.48 28.29-40.286 35.822-57.296 1.32 21.671-14.607 49.312-24.892 70.281l-.05-.014c9.624 11.49 19.211 22.974 28.766 34.428 3.016-2.12 5.604-4.173 7.582-6.095 31.459-30.573 36.26-79.699 17.842-116.51-12.519-25.021-70.096-8.654-77.265-23.846-9.068-19.214 51.563-76.204 28.146-104.902-16.456-20.168-75.04 1.983-85.264-16.182-16.343-29.04 28.13-74.832-21.763-99.244-26.468-12.95-46.397 5.349-88.338 44.103-21.236 19.623-62.13-63.165-113.828-64.312a48.694 48.694 0 0 0-2.012-.004zm345.39 402.365l-13.982 11.336 36.848 45.444 13.98-11.336-36.845-45.444z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oasis;

impl IconShape for Oasis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M307.4 20.97c-21.7-.15-43.9 3.68-64.9 9.72C296.7 39.1 344.7 55 364.3 80.71c-39.8-9.4-74.5 34.19-75.7 69.09 23.4-24.2 47.8-41.4 87.4-43.7 27.9 56.7 5.1 141.1 7.6 199.7.6 15.3 47.8 24.6 47.2 10.1-.2-51.5-4-145-25.8-208.1 38.8 7.3 74.1 33 74.1 33-1.1-23-26.9-48.99-58.6-53.59 7.7-9.6 27-24.9 71.1-26.71-23.4-18.4-59.9-17.7-88.3 2.31-25.1-30.36-59.8-41.61-95.9-41.84zm-153 35.84c-18.3.1-36.9 6.89-56.35 21.82-25.99-18.58-56.2-25.59-77.61-8.5 40.35 1.68 49.53 21.74 56.57 30.57-29 4.3-50.49 25.9-51.49 47.1 0 0 34.94-13.1 70.44-19.9-19.94 58.5-20.49 91.1-20.68 139 .57 11.5 41.52 17.8 42.22 1.5 2.3-54.5-13.6-79.4 2.4-134.1 11.5-5.9 52.2.5 73.6 23-1.1-32.3-19-64.41-55.4-55.7 9.4-18.03 26.8-21.13 78-20.99-20.7-15.28-41-23.87-61.7-23.8zm50.4 227.69c-22.3-.1-44.3 3.4-65.2 12.2-57.09 24.2-85.37 48.5-90.55 75.7-2.58 13.6 1.58 26.9 9.74 38.2 8.16 11.3 20.17 21.1 34.67 29.9 58.04 35.1 156.94 55.3 222.24 49.6 26.6-2.3 62.7-7 93.7-18.4 15.4-5.8 29.7-13.2 40.8-23.4 11-10.3 18.8-23.7 20-39.7v-.1c1-14.1-4.2-26.7-12.6-36.5-8.4-9.8-19.8-17.4-32.3-23.8-25.1-12.9-55.1-21.3-76.5-29.3-44-16.5-94.8-34.2-144-34.4zm11.2 18.7c12.3.8 24.9 2.6 37.4 5.2-70.8 23.9-127.7 59.7-171.65 101-4.55-4.4-8.4-8.9-11.35-14 39-36.4 87.3-68.4 145.6-92.2zm58.3 10.1c17.4 4.6 34.7 10.3 51.4 16.3-71.7 31.2-138.6 65.8-192.3 110.7-12.8-5.3-24-11.3-34.64-17.7 50.54-45 111.14-79.4 175.54-109.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Obelisk;

impl IconShape for Obelisk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.127L238.562 57h34.875L256 22.127zM233 75v268h46V75h-46zm-16 286v14h78v-14h-78zm-17.193 32l-13.43 94h139.246l-13.428-94H199.807z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Observatory;

impl IconShape for Observatory {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.324 73.05c-5.148.102-10.244.408-15.28.925 38.583 92.843 40.53 149.816 41.948 194.722 13.665-.22 27.327-.79 40.985-1.726-.867-86.935-37.327-165.248-67.653-193.92zm40.545 3.663c27.632 13.237 52.446 35.57 72.437 60.955l18.207-12.98c-24.553-23.846-55.78-40.86-90.645-47.975zm-74.163.09C105.784 93.517 44.517 163.548 41.16 248.64c62.735 12.36 125.33 19.76 187.834 20.13-1.395-45.53-3.087-99.25-42.287-191.967zm244.068 14.543c-1.904-.045-3.733.247-5.462.853-5.536 1.94-10 7.087-12.463 15.51-2.464 8.425-2.434 19.664 1.22 30.987 3.655 11.323 10.147 20.295 16.994 25.455 6.848 5.16 13.388 6.453 18.924 4.512 5.536-1.94 9.998-7.087 12.46-15.512 2.464-8.424 2.437-19.663-1.218-30.986-1.744-5.406-4.14-10.268-6.91-14.443a15.318 9.72 76.94 0 0-6.146-7.575c-1.288-1.282-2.607-2.435-3.94-3.44-4.707-3.547-9.268-5.265-13.46-5.362zm5.805 8.857a28.954 18.568 76.585 0 1 3.45.305 15.318 9.72 76.94 0 0-2.934 17.04 15.318 9.72 76.94 0 0 13.416 11.14 15.318 9.72 76.94 0 0 5.744-12.774 28.954 18.568 76.585 0 1 2.34 6.106 28.954 18.568 76.585 0 1-9.225 34.36 28.954 18.568 76.585 0 1-25.64-21.05 28.954 18.568 76.585 0 1 9.223-34.357 28.954 18.568 76.585 0 1 3.627-.77zm-43.223 16.762l-13.67 9.744c-.292 19.73 3.38 31.84 8.604 41.048 5.153 9.08 12.31 15.71 20.147 23.537l16.1-9.61c-1.477-.884-2.917-1.846-4.305-2.892-10.227-7.708-18.465-19.618-23.152-34.14-3.023-9.367-4.227-18.796-3.723-27.688zm-31.265 22.29l-64.63 46.073c5.126 19.47 9.352 43.4 10.077 66.193l84.907-50.68c-6.756-6.63-14-13.953-19.812-24.2-5.47-9.64-9.332-21.66-10.543-37.386zm40.457 76.516l-22.27 13.292c2.23 8.957 3.495 17.38 3.683 24.963 7.63-1.557 15.26-3.232 22.89-5.056-.43-11.366-1.9-22.46-4.304-33.2zM41 266.794v30.127c122.077 29.426 243.923 29.426 366 0v-29.6c-122.274 28.494-244.39 23.097-366-.527zm0 48.646v157.04c17.678 3.434 35.344 6.476 53 9.106V426c4.292-6.5 12.224-9.7 20.72-9.865 12.42-.244 26.045 5.99 31.28 17.865v54.055c87.183 8.608 174.138 5.576 261-15.207v-157.41c-121.928 28.724-244.072 28.724-366 0zm329.984 87.73c6.89.014 13.016 3.185 13.016 10.185v32l-32 4v-32c0-9 10.125-14.203 18.984-14.185zm-81.486 11.783C296.968 414.955 304 418.5 304 426v32l-32 2v-32c0-8.5 9.03-13.05 17.498-13.047zM208 420c8 0 16 4 16 12v32h-32v-32c0-8 8-12 16-12z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ocarina;

impl IconShape for Ocarina {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M439.088 50.27C295.73 49.974-39.922 265.802 61.39 388.523c51.407 62.274 112.452 65.694 170.964 36.868l-29.897-31.613a9.5 9.5 0 0 1-2.414-8.38c7.617-38.315 39.88-59.08 76.672-62.917a9.5 9.5 0 0 1 .834-.048 9.5 9.5 0 0 1 8.548 5.054l22.29 42.125C402.254 278.2 471.797 124.89 452.34 50.983c-4.203-.47-8.628-.703-13.252-.712zm-51.818 52.728a16.56 22.098 61.413 0 1 14.447 9.557 16.56 22.098 61.413 0 1-40.668 16.797 16.56 22.098 61.413 0 1 26.22-26.354zm-52.122 2.5a16.56 22.098 61.413 0 1 .002 0 16.56 22.098 61.413 0 1 14.446 9.557 16.56 22.098 61.413 0 1-40.668 16.797 16.56 22.098 61.413 0 1 26.22-26.354zm41.54 44.1a16.56 22.098 61.413 0 1 14.45 9.556 16.56 22.098 61.413 0 1-40.67 16.797 16.56 22.098 61.413 0 1 26.22-26.352zm-53.75 3.33a16.56 22.098 61.413 0 1 14.45 9.556 16.56 22.098 61.413 0 1-40.67 16.797 16.56 22.098 61.413 0 1 26.22-26.352zm-117.8 70.36a25.768 29.553 70.787 0 1 26.876 24.175 25.768 29.553 70.787 0 1-58.33 4.057 25.768 29.553 70.787 0 1 30.242-28.202 25.768 29.553 70.787 0 1 1.21-.03zm-60.05 39.82a25.767 29.553 46.864 0 1 21.766 13.92 25.768 29.553 46.864 1 1-51.676 27.363 25.767 29.553 46.864 0 1 29.91-41.283zm-21.39 66.933a25.767 29.553.983 0 1 7.59 1.476 25.767 29.553.983 0 1-16.33 56.144 25.767 29.553.983 0 1 7.67-57.615 25.767 29.553.983 0 1 1.07-.004zm148.765 12.306c-26.483 4.247-45.74 17.43-52.508 42.28l67.082 70.933c2.007-6.71 5.41-12.678 10.46-17.36 5.598-5.19 13.037-7.99 21.358-8.18l-46.392-87.674zm47.49 106.2c-4.262-.128-7.16 1.382-9.54 3.59-3.108 2.88-5.637 8.42-6.382 15.753 6.18-.332 10.884-1.732 14.124-4.09 3.598-2.617 6.407-6.84 8.022-14.13-2.36-.713-4.418-1.07-6.223-1.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oden;

impl IconShape for Oden {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M480.2 31.81L351.5 50.26 461.7 160.5zm-92.7 79.99l-13.1 13.1c2.3 1.8 4.6 3.8 6.7 5.9 2.2 2.2 4.2 4.5 6 6.9l13.2-13.2zm-58.1 15.5c-14 0-28.1 5.4-38.9 16.2-21.5 21.5-21.5 56.2 0 77.8 21.6 21.5 56.3 21.5 77.8 0 21.6-21.6 21.6-56.3 0-77.8-10.8-10.8-24.8-16.2-38.9-16.2zm-127.1 82l-32.6 32.5 100.5 100.5 32.5-32.6zm69.6 18l-13.1 13.1 12.8 12.8 13.1-13.1c-2.4-1.9-4.7-3.9-6.9-6.1-2.1-2.1-4.1-4.4-5.9-6.7zm-71 71.1l-169.09 169 12.72 12.8L213.6 311.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OfficeChair;

impl IconShape for OfficeChair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29c-17.3 0-34.7 1.98-48.1 5.68-13.4 3.69-22 9.64-23.8 13.35-29 57.97-30.9 130.57-31 178.97h205.8c-.1-48.4-2-121-31-178.97-1.8-3.71-10.4-9.66-23.8-13.35C290.7 30.98 273.3 29 256 29zM48 167v18h48v-18zm368 0v18h48v-18zM71 204v68.8l31.2 20.8c1.6-6 4.2-11.6 7.3-16.7L89 263.2V204zm352 0v59.2l-20.5 13.7c3.1 5.1 5.7 10.7 7.3 16.7l31.2-20.8V204zm-190 41v14h46v-14zm-100.9 32c-6.2 6.9-11.9 16.4-13.2 24.5-1.5 8.7-.2 15.1 11.4 21.5h251.4c11.6-6.4 12.9-12.8 11.4-21.5-1.3-8.1-7-17.6-13.2-24.5zM247 341v32l-121.2 30.3 4.4 17.4L247 391.5V420c2.9-.6 5.9-1 9-1 3.1 0 6.1.4 9 1v-28.5l116.8 29.2 4.4-17.4L265 373v-32zm-119 96c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm128 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm128 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OffshorePlatform;

impl IconShape for OffshorePlatform {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M180.102 32v23H148.82l-10.666 128h18.063l4.056-48.686 39.237 25.112L156.783 183h9.319v22.742l33.365 17.219-33.365 13.346V247h21.732l38.213-15.285L227.32 247h18.063l-16-192h-31.281V32h-18zm-13.895 41h46.613l.993 11.9L166.207 73zm205.895 14v64h16.459l79.54-26.514V368h18V87h-114zm-208.217 3.973l37.277 9.32-39.764 20.523 2.487-29.843zM326.102 105v46h30v-46h-30zm84.724 0h57.276v.514l-37.67 12.556L410.826 105zm-20.724 7.816l18.695 12.463-18.695 6.233v-18.696zm-173.963.002l3.158 37.9-34.193-21.882 31.035-16.018zm4.619 55.444l3.957 47.474-46.502-24 42.545-23.474zm89.344.738v46h110v-46h-110zm-240 32v46h78v-46h-78zm15 14h32v18h-32v-18zm257 18v14h46v-14h-46zm-304 32v46h398v-46h-398zm2.5 64l43.5 58v-30l-21-28h-22.5zm61.5 0v126.576c-3.1-.362-6.122-.576-9-.576-13.178 0-29.267 4.285-42.848 8.385s-24.356 8.205-24.356 8.205l6.407 16.82s10.23-3.894 23.152-7.795c12.922-3.9 28.832-7.615 37.645-7.615 8.812 0 24.722 3.715 37.644 7.615 12.922 3.9 23.152 7.795 23.152 7.795l3.204 1.22 3.203-1.22s10.23-3.894 23.152-7.795c12.922-3.9 28.832-7.615 37.645-7.615 8.812 0 24.722 3.715 37.644 7.615 12.922 3.9 23.152 7.795 23.152 7.795l3.204 1.22 3.203-1.22s10.23-3.894 23.152-7.795c12.922-3.9 28.832-7.615 37.645-7.615 8.812 0 24.722 3.715 37.644 7.615 12.922 3.9 23.152 7.795 23.152 7.795l2.643 1.008 66.744-16.688-4.367-17.46-61.336 15.334c-3.107-1.152-10.661-3.907-21.633-7.22-11.256-3.397-24.23-6.915-35.847-8.023V329h-30v129.053c-6.795 1.53-13.588 3.442-19.848 5.332-10.511 3.173-17.698 5.77-21.152 7.045-3.455-1.274-10.641-3.872-21.153-7.045-13.58-4.1-29.67-8.385-42.847-8.385-7.104 0-15.054 1.263-23 3.053V329h-18v133.838c-.613.182-1.245.365-1.848.547-10.511 3.173-17.698 5.77-21.152 7.045-3.455-1.274-10.641-3.872-21.153-7.045-1.256-.38-2.553-.758-3.847-1.137V329h-30zm162.5 0l43.5 58v-30l-21-28h-22.5zm130.5 0l-21 28v30l43.5-58h-22.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ogre;

impl IconShape for Ogre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-28.625 0-56.434 16.22-82.44 43.912-26.005 27.692-49.672 66.468-69.4 108.883C64.705 262.625 41 362.57 41 416c0 7 6.83 16.013 21.684 25.064 14.854 9.052 36.296 17.43 59.836 24.295C169.598 479.091 225.5 487 256 487c30.5 0 86.402-7.91 133.48-21.64 23.54-6.866 44.982-15.244 59.836-24.296C464.171 432.013 471 423 471 416c0-53.429-23.705-153.376-63.16-238.205-19.728-42.415-43.395-81.191-69.4-108.883C312.433 41.221 284.624 25 256 25zm-77.154 142.46S227 183 256 183c29 0 77.154-15.54 77.154-15.54l5.692 17.08S291 201 256 201c-35 0-82.846-16.46-82.846-16.46l5.692-17.08zM133.4 184.8l63.32 47.491C228.18 248.012 243.108 255 256 255s27.821-6.988 59.28-22.709l63.32-47.49 10.8 14.398-45.875 34.406c-5.22 22.311-12.93 40.726-21.722 54.29-5.809 8.961-12.03 16.3-19.078 20.683l12.673 31.684-7.285 3.742s-8.11 4.173-18.414 8.34C279.395 356.51 267.28 361 256 361c-11.279 0-23.395-4.49-33.7-8.656-10.303-4.167-18.413-8.34-18.413-8.34l-7.285-3.742 12.673-31.684c-7.049-4.383-13.27-11.722-19.078-20.683-8.791-13.564-16.502-31.979-21.722-54.29L122.6 199.2l10.8-14.398zm-86.455 9.798c-2.155.07-4.096.84-5.916 1.927.008 23.442.097 52.783 1.944 76.786.407 5.3.947 10.084 1.56 14.496a807.744 807.744 0 0 1 24.86-74.29c-2.305-7.398-6.916-12.736-12.024-15.8-3.638-2.183-7.184-3.224-10.424-3.12zm418.11 0c-3.24-.105-6.786.936-10.424 3.119-5.108 3.064-9.72 8.402-12.024 15.8a807.747 807.747 0 0 1 24.86 74.29 236.266 236.266 0 0 0 1.56-14.496c1.847-24.003 1.936-53.344 1.944-76.786-1.82-1.088-3.761-1.857-5.916-1.927zm-273.07 55.459c3.988 11.3 8.61 20.784 13.318 28.048 3.836 5.919 7.759 10.042 11.066 12.74l9.838-24.591c-9.536-3.85-20.536-9.347-34.223-16.197zm128.03 0c-13.686 6.85-24.686 12.348-34.222 16.197l9.838 24.592c3.307-2.699 7.23-6.822 11.066-12.74 4.709-7.265 9.33-16.75 13.319-28.05zM138.34 269.313c12.116.012 25.91 3.348 41.433 10.517l-7.546 16.34c-19.592-9.048-33.85-10.228-43.932-7.682-10.083 2.546-16.82 8.716-21.684 17.455-9.728 17.48-8.685 45.782-2.56 58.032l-16.102 8.05c-9.875-19.75-10.503-50.693 2.934-74.836 6.718-12.071 17.773-22.306 33.004-26.152 3.807-.961 7.824-1.531 12.052-1.683a64.8 64.8 0 0 1 2.4-.041zm235.32 0a64.8 64.8 0 0 1 2.4.04c4.229.153 8.246.723 12.053 1.684 15.23 3.846 26.286 14.081 33.004 26.152 13.437 24.143 12.809 55.086 2.934 74.836l-16.102-8.05c6.125-12.25 7.168-40.552-2.56-58.032-4.864-8.74-11.601-14.909-21.684-17.455-10.083-2.546-24.34-1.366-43.932 7.682l-7.546-16.34c15.524-7.17 29.317-10.505 41.433-10.517zm-130.236 2.355l-23.922 59.805c2.786 1.28 5.783 2.661 9.547 4.183C238.529 339.49 250.413 343 256 343s17.471-3.51 26.951-7.344c3.764-1.522 6.761-2.902 9.547-4.183l-23.922-59.805c-4.217.864-8.35 1.332-12.576 1.332-4.226 0-8.36-.468-12.576-1.332zm-107.549 60.207l94.418 47.21C238.301 376.514 246.871 375 256 375c9.13 0 17.699 1.513 25.707 4.086l94.418-47.211-41.537 83.076c10.698 11.12 18.648 21.558 23.775 26.686l-12.726 12.726C327.515 436.242 298 393 256 393s-71.515 43.242-89.637 61.363l-12.726-12.726c5.128-5.128 13.078-15.567 23.777-26.688l-41.539-83.074zm40.252 40.252l14.34 28.68 14.34-14.34-28.68-14.34zm159.746 0l-28.68 14.34 14.34 14.34 14.34-28.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OilCan;

impl IconShape for OilCan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436.5 25.64c-18.3 0-35.4 6.52-45.1 20.58l-133 194.68c-3.7-1.6-7.2-2.6-10.9-2.7-1.6 2.4-1.5 3.9-.2 6.9 1.4 3.2 5.1 7.3 9.7 10.3 4.6 3 10.1 4.8 14.3 5 2.7.1 4.7-.4 6.3-1.4 0-.1-.1-.2-.1-.3-1-2.2-2.6-4.6-4.7-7L406.2 56.46c5.6-8.05 16.2-12.85 30.3-12.82 14.1 0 30.9 5.15 46.4 15.99l10.4-14.76c-18.3-12.79-38.5-19.19-56.8-19.23zM137.7 76.76c-4.8.1-7.1 1.39-8.9 3.35-3.8 3.93-5.4 14.09-3.6 24.09 3.7 19.4 9 40.2 17 57.3 8 17.2 18.5 30.3 32.4 36.5 15.9 9 27.2 23.5 32.1 38.6 1.1 3.6 2 7.3 2.7 10.9 4.3-5.8 9.8-11.6 16.9-16.9-.1-4.3-.5-8.5-1.3-12.6-1.9-9.2-5.7-17.1-16.2-23.7-25.9-16.2-36.2-45.6-41.9-70.3-2.9-12.4-4.6-23.8-6.1-32-.8-4.11-1.6-7.43-2.2-9.29-5.8-3.05-14.2-6.01-20.9-5.95zM119.5 185.1c-3 .1-13.6 4.6-24.89 13.4-11.29 8.8-24.02 21.2-35.71 34.8-11.68 13.6-22.34 28.3-29.7 41.6-7.36 13.4-10.96 25.5-10.43 31.7 1.9 25.3 21.77 43.7 39.24 49.5l11.44-15.3c-8.28-2.3-14.64-5.1-19.44-9.7-7.29-7.5-7.7-17.2-5.33-26.1 8.44-21.8 20.12-41.3 32.67-56.1 15.94-18.7 35.45-35.2 57.45-37.2 5.1-.4 10.1 1.7 13.5 4.6 3.4 2.9 5.7 6.5 7.8 10.4 4.2 7.9 7.3 17.6 10.5 27.9 6.4 20.5 13.4 43.7 21.6 53.6 27.8 27.5 52 32.8 67.8 29.6 15.5-3.1 22.9-13.7 22.4-22.5-.9-3-2.3-5.8-3.9-8.7-4.7 5.2-9.9 9.9-15 14.5-6.7 6.1-15.4 4.9-22.5 2.5-7.1-2.4-14-6.5-20.4-11.5-11.3-9-26.5-24.1-21.3-38.3-4.1-10.3-3.2-22.4-5.9-31.9-3.7-12.1-9.4-21.8-22.1-27.5h.1c-12.7-5.5-22.5-14.9-30.4-26-6.3-2.2-12.2-3.4-17.5-3.3zm110.7 65.5c-9.8 9.4-13.8 19.2-18.1 30 7.1 12.1 21.4 24.7 35.4 27.1 10.9-9.8 19.9-18.4 25.3-29.4-.7.1-1.4.1-2.1.1-8.4-.3-16.5-3.3-23.5-7.9-7-4.5-13-10.5-16.4-18.1zm-79.9 12.2-65.76 87.8c-7.83 10.7-15.87 21.2-23.78 31.7-6.06 10.1.78 22.5 5.7 30.4 8.93 14 24.64 29.8 42.34 43 17.5 13.1 37.2 23.7 53.2 28.2 9.8 2.4 24.3 5.2 30.8-3.2l91.4-122.3c-.7-4.6-1.6-9-2.6-13.1-6 4.9-13.5 8.5-22.1 10.2-67 1.1-96.7-37.5-109.2-92.7zm-3.9 47.2c19.6 37.9 64.7 59.6 93.6 65.4l-10.8 14.5c-31.9-7.3-67.8-21.7-93.1-66.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OilPump;

impl IconShape for OilPump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.9 23.981L311.94 45.25c38.182 24.845 67.675 59.024 96.878 123.178l16.828-24.807c-5.155-17.403-10.801-35.86-16-51.351-5.597-16.682-11.538-30.866-13.105-33.194-1.32-1.96-10.748-9.452-24.53-16.34-12.285-6.14-28.272-12.655-46.11-18.754zm8.33 61.53l-54.46 42.994c10.761 6.175 18.5 17.082 20.314 29.828l57.5-45.396c-7.522-10.489-15.238-19.485-23.354-27.426zm-74.73 55.578c-12.81 0-23 10.19-23 23 0 12.809 10.19 23 23 23s23-10.191 23-23c0-12.81-10.19-23-23-23zm-39.342 34.476L87.49 280.304c11.838 4.67 20.406 16.013 20.975 29.306L244.5 202.214c-11.676-4.635-20.766-14.492-24.342-26.649zm174.342 4.448v210.006h18V195.063l-7.082 10.44-6.453-15.219a682.592 682.592 0 0 0-4.465-10.271zm-92.637.543L286.047 192.8l3.793 18.015-14.526-9.707-15.01 11.621 28.796 19.243-71.305 32.832 4.82-22.897-21.976 17.014-24.354 115.678-.44.195.272.61-19.92 94.615H140.5v18h222V468.58zm-4.226 67.3l12.02 57.088-79.057-26.218zm-85.477 43.717l86.432 28.666-102.012 45.338zM75.5 296.02c-8.39 0-15 6.609-15 15 0 8.39 6.61 15 15 15s15-6.61 15-15c0-8.391-6.61-15-15-15zm239.945 36.427l14.953 71.028-111.953-27.916zm-218.824 3.852c-4.595 3.851-10.24 6.481-16.42 7.377l21.266 46.344h19.804zm-42.232.008l-24.66 53.713h19.808l21.276-46.342c-6.181-.893-11.828-3.521-16.424-7.371zm137.574 51.2l116.781 29.118-133.101 48.403zM28.5 408.018v62h94v-62zm352 0v16h46v-16zm-45.324 18.15l9.232 43.85h-129.82zm45.324 15.85v28h46v-28zm64 28v18h39v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OilRig;

impl IconShape for OilRig {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M291.17 16.975c-5.923.122-11.645 2.246-16.06 7.398-17.652 20.61-13.472 36.05-10.667 42.856 16.607-51.264 33.81-5.23 55.442-25.076 8.615-7.904-10.947-25.546-28.715-25.18zM208 67.107c-19.994.235-33.533 26.42-25.31 33.495 22.252 19.138 32.473-26.055 58.884-4.803-6.212-13.538-13.58-28.927-33.574-28.693zm93.832 8.967c-12.564.318-21.72 9.49-29.832 17.832 32-11.19 26.51 34.82 53.883 24.23 10.118-3.914 6.12-33.12-12.643-40.032-4.104-1.512-7.89-2.12-11.408-2.03zM247 106.107v32h-30.38l-6.4 32H199v18h7.62l-15.417 77.09-1.594.91H176v18h11.422l-34.8 174H128v18h256v-18h-24.62l-34.802-174H336v-18h-13.61l-1.593-.91-15.418-77.09H313v-18h-11.22l-6.4-32H265v-32h-18zm-15.62 50H247v14h-18.42l2.8-14zm33.62 0h15.62l2.8 14H265v-14zm-40.02 32H247v34.92l-26.03-14.875 4.01-20.045zm40.02 0h22.02l4.01 20.045L265 223.027v-34.92zm-47.752 38.65l20.61 11.778-25.928 14.82 5.318-26.597zm77.504 0l5.318 26.597-25.93-14.82 20.612-11.776zM247 254.046v12.062h-21.11L247 254.045zm18 0l21.11 12.062H265v-12.062zm-59.22 30.062H247v47.846l-47.615-15.87 6.394-31.976zm59.22 0h41.22l6.407 32.028L265 332.61v-48.503zm-69.172 49.762l33.38 11.126-38.253 13.234 4.873-24.36zm120.36.08l4.515 22.57-35.525-11.84 31.01-10.73zM265 356.925l48.54 16.18L265 399.58v-42.656zm-18 .963v41.692l-46.77-25.512L247 357.89zm-61.688 28.55l51.893 28.302-64.6 35.237 12.708-63.54zm141.375 0l12.708 63.54-64.598-35.238 51.89-28.303zM247 429.903v28.203h-51.705L247 429.904zm18 0l51.705 28.203H265v-28.203z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OldLantern;

impl IconShape for OldLantern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-10.1 0-19.2 1.92-26.7 5.64C221.9 33.35 215 39.72 215 49s6.9 15.65 14.3 19.36c5.2 2.58 11.2 4.27 17.7 5.08v11.28h18V73.44c6.5-.81 12.5-2.5 17.7-5.08C290.1 64.65 297 58.28 297 49s-6.9-15.65-14.3-19.36C275.2 25.92 266.1 24 256 24zm0 18c7.6 0 14.4 1.66 18.6 3.74 3.3 1.63 4.1 2.97 4.3 3.26.1-.1.1-.1.1 0s0 .1-.1 0c-.2.29-1 1.63-4.3 3.26-4.2 2.08-11 3.74-18.6 3.74-7.6 0-14.4-1.66-18.6-3.74-3.3-1.63-4.1-2.97-4.3-3.26-.1.1-.1.1-.1 0s0-.1.1 0c.2-.29 1-1.63 4.3-3.26 4.2-2.08 11-3.74 18.6-3.74zm-40.9 60.7L203.4 152h105.2l-11.7-49.3zm-18.9 1.7c-6.7.3-13.2.8-19.5 1.7-14.9 2.1-28.9 6.4-39.1 16.5-3.1 3.2-3.9 5.8-5.2 9.3-1.3 3.5-2.5 7.7-3.8 12.6-2.4 9.8-4.9 22.6-7.5 37.5-5 29.8-10 67.9-14.1 106.1-4 38.1-7 76.2-7.99 106.1-.51 14.9-.53 27.7.13 37.7.33 5 .82 9.2 1.56 12.9.8 3.7 1.3 6.9 4.9 10.6 7.1 7 15.4 11 24 13.3l6.8-16.9c-6.9-1.5-12.5-4-17.3-8.5-.1-.4-.5-1.1-.8-2.2-.4-2.3-.9-5.9-1.2-10.4-.6-8.9-.6-21.3-.1-35.9 1-29.1 4-67 8-104.9 3.9-37.8 8.9-75.7 13.9-104.9 2.4-14.6 4.9-27.1 7.2-36.1 1.1-4.5 2.2-8.2 3.2-10.7.6-1.8 1.4-3 1.5-3.1 5.9-5.7 15.7-9.4 28.5-11.2 3.9-.6 8.2-1 12.5-1.2zm119.6 0l4.3 18.3c4.4.2 8.6.6 12.6 1.2 12.8 1.8 22.6 5.5 28.5 11.2.1.1.9 1.3 1.5 3.1 1 2.5 2.1 6.2 3.2 10.7 2.3 9 4.8 21.5 7.2 36.1 5 29.2 10 67.1 13.9 104.9 4 37.9 7 75.8 8 104.9.5 14.6.5 27-.1 35.9-.3 4.5-.8 8.1-1.2 10.4-.3 1.1-.7 1.8-.8 2.2-4.8 4.5-10.4 7-17.3 8.5l6.8 16.9c8.6-2.3 16.9-6.3 24-13.3 3.6-3.7 4.1-6.9 4.9-10.6.7-3.7 1.2-7.9 1.6-12.9.6-10 .6-22.8.1-37.7-1-29.9-4-68-8-106.1-4.1-38.2-9.1-76.3-14.1-106.1-2.6-14.9-5.1-27.7-7.5-37.5-1.3-4.9-2.5-9.1-3.8-12.6-1.3-3.5-2.1-6.1-5.2-9.3-10.2-10.1-24.2-14.4-39.1-16.5-6.3-.9-12.9-1.4-19.5-1.7zM213.2 170c-2.9 4.9-11.6 19.8-21.6 41.1 21.9 10.3 43.8 25.6 64.4 42.7 20.7-17.1 42.5-32.4 64.4-42.7-10-21.3-18.7-36.2-21.6-41.1zm-28.8 57.7c-10 24.5-17.6 51.3-15.5 68.2 1 7.7 7.3 19.6 15.1 31 15.6-19.6 35.7-41.2 58.1-61.2-18.9-15.4-38.9-28.9-57.7-38zm143.2 0c-18.8 9.2-38.8 22.6-57.7 38 22.4 20.1 42.5 41.7 58.1 61.2 7.8-11.4 14.1-23.3 15.1-31 2.1-16.9-5.5-43.7-15.5-68.2zM256 277.5c-23.7 21-45.2 44.2-60.7 64.2 7.8 9.4 13.9 15.6 16.5 18.3h88.4c2.6-2.7 8.7-8.9 16.5-18.3-15.5-19.9-37-43.3-60.7-64.2zM225.4 378c2.3 4.8 3.6 9.8 3.6 15 0 5.2-1.3 10.2-3.6 15h61.2c-2.3-4.8-3.6-9.8-3.6-15 0-5.2 1.3-10.2 3.6-15zm-59.3 48l-24.8 62h229.4l-24.8-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OldMicrophone;

impl IconShape for OldMicrophone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.998c-33.784 0-67.564 12.67-80.97 38.004H240v17.996h-70.574c-.563 4.866-.428 8.98-.428 14.004H240v17.996h-71.002v14.004H240v17.996h-71.002v14.004h174.004v-14.004H272v-17.996h71.002v-14.004H272V98.002h71.002c.022-4.63.077-9.796-.428-14.004H272V66.002h64.97C323.565 40.668 289.785 27.998 256 27.998zM80 162.002v17.996h22.678c-.148 4.753-.266 9.44-.326 14.004h18.002c.06-4.551.18-9.241.332-14.004h30.316v-17.996zm280.998 0v17.996h29.94a860.86 860.86 0 0 1-.254 14.004h18.013c.12-4.563.192-9.25.24-14.004H432v-17.996zm-192 17.996v18.004h174.004v-18.004zm-66.654 32c1.175 86.626 19.908 134.76 47.8 161.498 24.806 23.779 55.434 29.003 82.854 30.158v46.348h46.004v-46.377c26.698-1.218 55.672-6.572 79.361-30.262 26.772-26.771 45.324-74.691 49.658-161.365h-18.046c-4.382 83.532-22.405 126.705-44.338 148.639C320.364 385.91 288 386.002 256 386.002s-67.037-.226-93.4-25.498c-22.91-21.962-41.029-64.919-42.245-148.506zm66.654 4V283c0 39.1 37.7 59.99 78.004 62.691V215.998zm96 0v129.693c40.303-2.7 78.004-23.591 78.004-62.691v-67.002zm-144 252v16.004h270.004v-16.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OldWagon;

impl IconShape for OldWagon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M425.208 118.428c-9.115.04-17.29 2.663-25.45 5.927-9.33 3.732-18.268 8.75-27.847 12.13-6.67 2.356-14.156 3.768-21.694 2.615-22.832 71.052-27.844 149.083-28.654 219.9h68.322c-1.45-5.723-1.952-12.17-1.916-19.543.09-18.73 3.936-43.15 10.523-69.63 12.235-49.176 33.65-104.615 60.876-139.776-11.49-7.335-21.364-10.784-30.19-11.476-1.345-.105-2.666-.152-3.968-.146zM330.95 140.39c-12.268 3.536-23.886 8.28-38.29 10.81-17.517 3.073-38.528 1.747-67.245-9.64V359h78.14c.756-69.366 5.42-146.51 27.395-218.61zm-123.535 4.823c-17.95 11.885-33.58 18.606-50.568 18.578-16.442-.026-33.08-6.19-53.598-17.17 18.834 69.4 24.842 144.742 25.946 212.38h78.22V145.213zM84.7 147.055c-11.136 11.845-23.253 18.937-35.195 22.353-9.05 2.59-17.778 3.007-25.92 2.363 12.242 29.09 21.534 63.203 25.182 96.45 3.63 33.078 1.834 65.296-9.413 90.78h71.834c-1.15-68.14-7.4-143.78-26.488-211.945zM408.823 309c-.05.322-.105.65-.154.97l-2.667 27.608c-.014.66-.032 1.328-.035 1.965-.04 8.135.928 14.47 2.107 17.578.41 1.086.744 1.595.953 1.88h40.387v16h18v-34h-44v-32h-14.592zM33.415 377v46H47.99c2.265-18.264 11.31-34.465 24.538-46H33.415zm134.887 0c13.227 11.535 22.273 27.736 24.537 46h47.15c2.265-18.264 11.31-34.465 24.538-46h-96.226zm192 0c13.227 11.535 22.273 27.736 24.537 46h46.575v-14h57v-18h-57v-14h-71.113zm-248.887.738c-8.502 1.388-16.332 4.71-23.033 9.502l23.033 23.033v-32.535zm18 0v32.535l23.033-23.033c-6.7-4.793-14.53-8.114-23.033-9.502zm174 0c-8.502 1.388-16.332 4.71-23.033 9.502l23.033 23.033v-32.535zm18 0v32.535l23.033-23.033c-6.7-4.793-14.53-8.114-23.033-9.502zm-245.76 22.23c-4.793 6.7-8.114 14.53-9.502 23.032h32.535l-23.033-23.033zm89.52 0L142.142 423h32.535c-1.388-8.502-4.71-16.332-9.502-23.033zm102.48 0c-4.793 6.7-8.114 14.53-9.502 23.032h32.535l-23.033-23.033zm89.52 0L334.142 423h32.535c-1.388-8.502-4.71-16.332-9.502-23.033zM66.153 441c1.388 8.502 4.71 16.332 9.502 23.033L98.688 441H66.153zm75.99 0l23.032 23.033c4.793-6.7 8.114-14.53 9.502-23.033h-32.535zm116.01 0c1.388 8.502 4.71 16.332 9.502 23.033L290.688 441h-32.535zm75.99 0l23.032 23.033c4.793-6.7 8.114-14.53 9.502-23.033h-32.535zm-222.728 12.727L88.382 476.76c6.7 4.793 14.53 8.114 23.033 9.502v-32.535zm18 0v32.535c8.502-1.388 16.332-4.71 23.033-9.502l-23.033-23.033zm174 0l-23.033 23.033c6.7 4.793 14.53 8.114 23.033 9.502v-32.535zm18 0v32.535c8.502-1.388 16.332-4.71 23.033-9.502l-23.033-23.033z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Olive;

impl IconShape for Olive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.854 21.719c-42.24 50.44-30.12 165.073-10.278 229.41-8.823-8.305-17.446-16.118-25.812-23.387-5.581-55.64-117.363-188.328-202.098-190.19 2.771 78.685 124.137 172.463 180.691 195.653 14.428 12.115 29.969 26.308 46.149 42.027-59.03-33.653-178.97-59.817-234.844-23.816 59.766 44.872 233.049 63.704 265.484 54.621a1693.737 1693.737 0 0 1 36.25 38.797c-55.853-23.885-157.472-36.098-202.011-1.172 54.464 40.555 188.82 44.708 229.54 32.21 3.934 4.535 7.853 9.094 11.753 13.675 2.996.302 6.094.98 9.295 2.123 12.626 4.507 20.422 15.172 22.92 26.547.833 3.796 1.186 7.685 1.152 11.605 14.986 18.605 29.373 37.188 42.752 55.297l14.476-10.697c-16.839-22.792-35.148-46.257-54.228-69.565 31.873-41.549 67.814-172.887 55.117-219.543-52.034 31.759-73.942 139.617-73.437 197.495a1941.033 1941.033 0 0 0-27.368-31.727c31.31-41.627 43.085-205.433 6.63-265.377-50.245 49.897-44.597 179.608-27.876 241.664-14.942-16.378-29.879-32.145-44.525-46.933 22.143-51.978 26.677-206.07-19.732-258.717zm61.59 376.996c-12.783 1.613-26.198 3.251-39.692 4.355-12.109 18.294-16.618 46.407-3.14 50.87 3.905 1.292 9.837.202 16.66-4.172 3.934-2.523 7.937-6.049 11.605-10.125 2.34-13.053 7.71-25.83 15.504-35.243-.079-2.09-.362-3.974-.938-5.685zm-77.397 5.52c-29.695 7.102-56.292 19.962-70.83 39.75 21.218 1.826 49.561 2.081 78.683.898-1.865-12.53 1.392-27.381 7.995-40.604-5.354.134-10.655.142-15.848-.045zm107.88 3.185c-28.637-1.056-37.024 69.093-14.624 71.232 4.095.391 9.635-1.993 15.312-7.777 5.678-5.784 10.93-14.503 14.076-23.566 3.146-9.063 4.114-18.425 2.62-25.233-1.495-6.807-4.378-10.953-11.39-13.455-2.085-.744-4.084-1.13-5.993-1.201z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oni;

impl IconShape for Oni {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M483.1 32.5c-18.8 26.84-35 48.42-53.5 65.9-24.3 23.1-52.8 38.7-94.5 49.3-9.3 2.4-13.3 6.8-15 11.6-1.8 4.9-1.3 10.9 1.7 16.1 3 5.2 7.8 9.4 14.5 10.8 6.8 1.4 15.5.2 26.7-7.1 35.3-23.3 66.8-48.4 88.8-77.3 15.8-20.75 26.8-43.41 31.3-69.3zm-454.15.1c4.51 25.85 15.43 48.49 31.22 69.2 21.96 28.9 53.33 54 88.83 77.3 11 7.3 19.9 8.5 26.5 7.1 6.8-1.4 11.6-5.6 14.6-10.8 2.9-5.2 3.5-11.2 1.8-16.1-1.9-4.8-5.8-9.2-15.1-11.6-41.7-10.6-70.2-26.2-94.45-49.3-18.48-17.48-34.65-39.03-53.4-65.84zm227.05 99c-24 0-43.4 2.1-59 6.2 5.5 4.1 9.5 9.4 11.8 15.2 3.8 10.4 2.3 21.9-2.9 31.2-5.4 9.4-14.6 17.1-26.6 19.6-11.4 2.4-24.9-.1-38.8-8.7-2.4 11.2-3.5 24.3-3.5 39.5 0 47.2 6.1 69.5 12.5 86.9 5.1 14.6 11.1 26.9 12.9 45.6l45.2 7.9c-2.1-2-4.1-4-6.1-6l-2.5-2.7v-3.7c0-5.5 1.5-10.8 4.5-14.8 3.3-4 7.5-6.4 11.6-7.7 5.3-1.8 10.5-2.2 15.9-2.4v-16.3c-1.7 1.8-3.6 3.6-5.6 5.2-4.8 3.8-10.4 7-17.4 7-19.5 0-31.5-12.9-36.4-24.3-3.2-7.9-4.2-15.4-4.6-19.4-3.7-1.7-7.5-3.4-11-5.2l8-16.2c15.5 7.8 34.9 15.4 51 17.2 8 .8 15.1.3 20.5-1.8 5.5-2 9.4-5.2 12.4-11.3l8.1-16.1 8.1 16.1c3 6.1 6.9 9.3 12.2 11.3 5.5 2.1 12.7 2.6 20.7 1.8 16.1-1.8 35.5-9.4 51-17.2l8 16.2c-3.5 1.8-7.4 3.5-11.2 5.2-.2 4-1.2 11.5-4.5 19.4-5 11.4-16.8 24.3-36.3 24.3-7 0-12.7-3.2-17.4-7-2-1.6-4-3.4-5.6-5.2v16.3c5.3.2 10.6.6 15.8 2.4 4.2 1.3 8.3 3.7 11.5 7.7 3.2 4 4.7 9.3 4.7 14.8v3.7l-2.7 2.7-6 6 45.3-7.9c1.7-18.7 7.7-31 12.9-45.6 6.3-17.4 12.5-39.7 12.5-86.9 0-15.2-1.2-28.3-3.7-39.5-13.7 8.6-27.2 11.1-38.7 8.7-12-2.5-21.3-10.2-26.5-19.6-5.3-9.3-6.8-20.8-3-31.2 2.2-5.8 6.2-11.1 11.7-15.2-15.5-4.1-35-6.2-58.8-6.2zm-25 21.7l17.9 2.6c-4.6 30.1-16.6 52.9-34.4 66.5-18 13.5-41 17.2-64.9 10.9l4.7-17.4c19.5 5.1 36.1 2.2 49.2-7.8 13.3-10.1 23.5-28 27.5-54.8zm49.8 0c4 26.8 14.3 44.7 27.5 54.8 13.3 10 29.8 12.9 49.3 7.8l4.7 17.4c-23.8 6.3-47 2.6-64.8-10.9-17.9-13.6-29.9-36.4-34.4-66.5zM88.86 212.7c-.14 12.3-.33 23.9.82 33.6 1.47 12.5 4.79 22.1 12.62 29.9 6.1 6.2 9 14.2 11.7 23 2.7 8.8 4.7 18.5 6.7 27.4 2 9 4 17.2 6.1 22.4.9 2.4 1.8 3.8 2.3 4.4 3.8-.3 7.8-1.8 11.3-4.5-2.1-6.6-4.9-13-7.9-21.2-6.6-18.1-13.2-43.1-13.6-89.6-3.2-3.8-6.3-7.6-9.4-11-6.6-7-12.59-12.2-20.64-14.4zm334.24 0c-8.1 2.2-14.1 7.4-20.8 14.4-3 3.4-6.2 7.2-9.3 11-.4 46.5-7 71.5-13.5 89.6-3 8.2-5.9 14.6-7.9 21.2 3.5 2.7 7.5 4.2 11.2 4.5.5-.6 1.3-2 2.3-4.4 2-5.2 4-13.4 6-22.4 2-8.9 4-18.5 6.7-27.4 2.8-8.8 5.7-16.8 11.8-23 7.9-7.8 11.2-17.4 12.7-29.9 1-9.7.8-21.3.8-33.6zM256 291.5c-2.2 2.2-4.5 4.1-7 5.7v58.4h-9c-8 0-15.5.3-19.2 1.5-1.8.7-2.7 1.3-2.9 1.8-.1.1-.3.3-.4.5 6.9 6.8 13.6 13.3 19.9 18 7.1 5.4 13.6 8.2 18.6 8.2 5 0 11.3-2.8 18.6-8.2 6.2-4.7 13-11.2 19.7-18 0-.2-.2-.4-.2-.5-.3-.5-1.1-1.1-3-1.8-3.8-1.2-11.1-1.5-19.1-1.5h-9v-58.4c-2.5-1.6-4.9-3.5-7-5.7zm-62 8.2c.3 8.3 3.8 14.9 8 14.9 3.5 0 6.6-4.9 7.6-11.5-5.1-.8-10.5-1.9-15.6-3.4zm124 0c-5.2 1.5-10.5 2.6-15.7 3.4 1 6.6 4 11.5 7.7 11.5 4.1 0 7.6-6.6 8-14.9zm-155 76.4v2.5c0 5.9 1.9 12.6 5 19.7 1.9-3.3 3.3-6.5 4.1-9.7l-3.3-4.6zm186 0l-9.2 12.5c.8 3.2 2.3 6.4 4.2 9.7 3.1-7.1 5-13.8 5-19.7zm-151.7 16.5c-2.7.1-5.3.6-7.9 1.4-4.5 15.3-15.4 28.5-27.9 40-.1.1-.4.3-.5.4 3.1-1.7 6.4-3.3 9.4-5.2 15.6-9.8 29.1-21.9 37.7-32.5-3.6-3.2-6.6-3.9-9.7-4.1zm116.3 0c-3.1.2-6.3.9-9.8 4.1 8.7 10.6 22 22.7 37.8 32.5 3 1.9 6.2 3.5 9.2 5.2 0-.1-.2-.3-.5-.4-12.5-11.5-23.2-24.7-27.7-40-2.8-.8-5.3-1.3-8-1.4zm-83.2 4.6l-3 4.3c-2.4 3.3-5 6.7-8 10.1h73.2c-3-3.4-5.8-6.8-8-10.1l-3-4.3-6.3 1.1c-6 3.2-12.3 5.3-19.3 5.3s-13.5-2.1-19.5-5.3zm-28.5 31.4c-2.9 2.4-6 4.9-9.3 7.2 8.4 10.4 16.8 20.3 22.8 29.1l.1.1v.1c5 7.7 22.4 14.4 40.5 14.4s35.5-6.6 40.5-14.1c6.1-9.1 14.5-19.1 22.8-29.6-3.2-2.3-6.3-4.8-9.2-7.2l-22.3 30-5.7-1.2s-17-3.3-26.1-3.3c-9.2 0-26.2 3.3-26.2 3.3l-5.7 1.2zm23.1 1l6.9 9.1c5.6-1 14.7-2.6 24.1-2.6 9.3 0 18.5 1.6 24.1 2.6l6.7-9.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Onigori;

impl IconShape for Onigori {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 64c64 0 224 224 224 352 0 31.3-47.7 52.4-112 63.3-.3-100-5.8-143.3-112-143.3s-111.7 43.3-112 143.3c-64.3-10.9-112-32-112-63.3C32 288 192 64 256 64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpenFolder;

impl IconShape for OpenFolder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 73v304.563L88.697 151H423v-30H185.514l-16-48H41zm62.303 96L43.092 455h381.605l60.211-286H103.303z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpenGate;

impl IconShape for OpenGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 64c-15.4 3.77-35.7 16.04-53 33.17-19.2 19.13-34.9 43.63-39.58 64.63l-.58 135.3.37 157.4 93.99-40.3L192 64zm128 0l-1.2 350.2 94 40.3.4-156.8-.6-135.9c-4.7-21-20.3-45.5-39.6-64.63-17.3-17.13-37.6-29.4-53-33.17zM57.24 94.67c-8.39 0-15 6.63-15 15.03 0 8.4 6.61 15 15 15s15-6.6 15-15-6.61-15.03-15-15.03zm397.56 0c-8.4 0-15 6.63-15 15.03 0 8.4 6.6 15 15 15s15-6.6 15-15-6.6-15.03-15-15.03zM35.5 142.7l-1.42 334h46l1.42-334h-46zm395 0l1.5 334h46l-1.5-334h-46zM159.2 231h18v48h-18v-48zm175.6 0h18v48h-18v-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpenedFoodCan;

impl IconShape for OpenedFoodCan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.344 38.504c-.43.009-18.834 14.371-18.834 14.371l-28.965-5.792c-.212.06-24.143 22.862-24.143 22.862l-25.648-1.539-15.46 16.824-28.073-.722-18.516 20.615-25.371 2.928-17.123 18.37-27.215 8.95-16.062 22.598-23.72 6.224L91.21 184.67l-21.152 11.289-7.401 21.78-23.668 13.95-3.076 23.899c14.712-5.336 28.468.705 38.951 8.4l25.725-15.97 34.922-5.55 30.017-27.085 45.21-5.291 32.97-29.707 32.682-8.178 20.254-26.588c10.445-5.84 25.525-9.99 38.857-15.558l9.799-24.895 28.314-10.77c.154-.168.32-.341.473-.51l3.082-18.761 20.486-15.564c.047-.123.094-.246.139-.368l-15.924-5.943zM256 207.496c-.236 0-.469.004-.705.004a863.75 863.75 0 0 1-8.63 5.045 851.824 851.824 0 0 1-24.214 13.402c10.941-.297 22.144-.45 33.549-.45 61.422 0 117.054 4.476 156.81 11.575 19.879 3.55 35.834 7.816 46.086 12.145 5.127 2.164 8.794 4.391 10.635 5.998.795.693 1.053 1.042 1.23 1.281-.177.24-.435.588-1.23 1.281-1.84 1.607-5.508 3.834-10.635 5.998-10.252 4.329-26.207 8.595-46.085 12.145-39.757 7.1-95.39 11.576-156.811 11.576-60.185 0-114.771-4.304-154.35-11.156-1.062.294-2.148.61-3.197.89-14.957 3.99-28.503 6.543-40.469 7.438 10.618 3.378 23.344 6.348 38.041 8.973 41.316 7.377 97.685 11.855 159.975 11.855 62.29 0 118.659-4.478 159.975-11.855 20.658-3.69 37.506-8.041 49.923-13.284 6.21-2.62 11.343-5.418 15.47-9.02 4.126-3.6 7.632-8.675 7.632-14.84 0-6.167-3.506-11.242-7.633-14.843-4.126-3.6-9.26-6.398-15.469-9.02-12.417-5.242-29.265-9.594-49.923-13.282-41.316-7.378-97.685-11.856-159.975-11.856zm224 80.926c-17.886 9.361-42.297 15.703-70.854 21.017-44.267 8.238-98.66 12.433-153.084 12.815-54.423.382-108.8-3.051-153.021-10.316-22.11-3.633-41.675-8.208-57.629-13.9-4.795-1.712-9.272-3.5-13.412-5.42v112.495c54.727 19.858 139.481 30.383 224 30.383s169.273-10.525 224-30.383zM23.354 421.135a16.182 16.182 0 0 0-.354 3.361c0 6.166 3.506 11.24 7.633 14.842 4.126 3.601 9.26 6.398 15.469 9.02 12.417 5.242 29.265 9.594 49.923 13.283 41.316 7.377 97.685 11.855 159.975 11.855 62.29 0 118.659-4.478 159.975-11.855 20.658-3.69 37.506-8.041 49.923-13.284 6.21-2.62 11.343-5.418 15.47-9.02 4.126-3.6 7.632-8.675 7.632-14.84 0-1.16-.125-2.282-.354-3.362-58.527 21.982-145.45 32.361-232.646 32.361s-174.119-10.38-232.646-32.361z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ophiuchus;

impl IconShape for Ophiuchus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.156 27.25s-4.01 66.82.22 148.875c-35.462 25.506-59.087 71.472-58.94 126.47l72.595-.19c6.342 35.16 15.387 69.205 28.94 99.47 10.45 23.343 23.684 44.876 42.905 62 19.22 17.124 45.834 28.813 74.063 28.813 28.23 0 54.81-11.69 74.03-28.813 19.222-17.124 32.455-38.657 42.907-62 7.628-17.035 13.81-35.266 18.906-54.22 28.346-5.545 55.596-23.202 72.782-49.655 17.925-27.59 26.084-62.656 26-104.562l-76.125.125c5.828-89.823 1.25-166.313 1.25-166.313l-84.843 4.97s5.772 102.672-5.313 203.093c-.418 3.8-.87 7.59-1.343 11.375-9.33-6.544-18.675-14.97-27.156-25.438-31.456-38.824-73.616-62.668-116.468-66.72-2.58-68.13.438-122.31.438-122.31l-84.844-4.97zm91 215.375c14.277 4.834 29.857 14.9 43.813 32.125 21.47 26.5 47.323 47.977 75.593 61.094-3.414 11.558-7.157 22.14-11.25 31.28-7.198 16.076-15.318 27.412-21.907 33.282-6.59 5.87-10.235 7.28-17.47 7.28-7.232 0-10.91-1.41-17.5-7.28-6.588-5.87-14.707-17.206-21.905-33.28-13.695-30.59-23.664-76.837-29.374-124.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OppositeHearts;

impl IconShape for OppositeHearts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238 22c-26.2 0-49.9 13.17-64 34.23-3.5 3.51-6.1 7.9-8.8 12.28C123.1-10.46 18.67 18.49 16.07 101.8c-2.6 88.7 113.23 111.6 149.13 199.3 27.2-70.2 103.6-101.8 135.2-153.6 10.5-13.1 18.2-30 15.7-47.4-6.7-46.43-34.6-77.8-78.1-78.1zm108.7 188.9c-27.2 70.2-103.6 101.8-135.2 153.6-10.5 13.1-18.2 30-15.7 47.4 6.7 46.4 34.6 77.8 78.1 78.1 26.2 0 49.9-13.2 64-34.2 3.5-3.5 6.1-7.9 8.8-12.3 42.1 79 146.5 50 149.2-33.3 2.6-88.7-113.3-111.6-149.2-199.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Orange;

impl IconShape for Orange {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.355 15.997c-93.512.726-182.057 56.405-220.066 148.166-50.68 122.35 7.525 262.87 129.874 313.547 122.35 50.68 262.868-7.526 313.547-129.875 50.68-122.35-7.525-262.868-129.874-313.547-30.587-12.67-62.31-18.532-93.48-18.29zm1.325 24.342c33.248 0 66.497 14.247 56.998 42.745L270.822 218.74 338.23 93.165c13.433-26.868 47.018-13.433 70.528 10.077 23.51 23.51 36.946 57.095 10.078 70.53l-126.7 66.57L428.91 199.43c3.562-1.188 6.903-1.71 10.02-1.644 21.82.455 32.728 29.547 32.728 58.64 0 33.247-14.25 66.497-42.748 56.997l-135.385-42.267 125.233 67.072c3.358 1.68 6.088 3.674 8.246 5.924 15.107 15.75 2.25 44.034-18.322 64.605-23.51 23.51-57.095 36.947-70.53 10.078l-67.59-127.218c9.505-3.882 17.067-11.4 21.002-20.885 8.137-19.643-1.19-42.163-20.834-50.3-19.642-8.136-42.162 1.192-50.298 20.835-8.137 19.643 1.19 42.162 20.834 50.3 9.317 3.854 19.776 3.9 29.127.126L311.93 428.91c19 56.998-132.993 56.998-113.994 0l43.605-137.63-67.77 126.5c-26.867 53.736-134.343-53.74-80.606-80.61l124.156-66.243-134.232 41.748c-53.435 17.812-56.775-114.662-10.02-115.637 3.117-.065 6.458.456 10.02 1.643l135.914 41.188L94.146 173.77C43.768 148.583 135.08 52.548 168.83 84.92c2.25 2.157 4.245 4.887 5.924 8.245L239.54 217.95 198.683 83.085c-9.5-28.498 23.75-42.746 56.998-42.746z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OrangeSlice;

impl IconShape for OrangeSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M471.5 65.72c-10.5 4.91-21.1 9.87-31.6 14.89C481.8 196.7 438.8 314.5 358 373.4c-41.8 30.5-93.9 45.2-148.9 35.5-53.8-9.6-110.07-42.6-162.13-105.3-8.53 5.8-17.06 11.6-25.58 17.5 11.95 16.1 45.31 57.4 96.01 88.6 63.7 39.3 151.2 61.2 256.3-9.8 93.5-63.2 116.5-148.2 116.9-218.6.3-53-12.6-97.01-19.1-115.58zm-47.9 22.72c-62.3 20.36-103.9 43.76-147.3 71.06-2.4 2 .2 8.4 5.9 8.1l155.9 6.2c.2-27.7-4.4-56.5-14.5-85.36zm-39 44.36l3.4 17.6-40.3 7.9-3.4-17.6zm-98.8 53c-7.4.1-11.1 7-4.8 15.3l119.5 101c20.4-31.7 33.6-69.6 36.8-110.3zm37.8 12.6l37.1 13.8-6.2 16.8-37.1-13.8zm-115.4 4.9c-.9 0-1.9.3-3 .9-47.8 27.9-100.4 56-143.18 89.3 30.54 36.6 61.98 61.8 93.08 77.9l58.7-156.2c3-4.6-.4-12-5.6-11.9zm56.2 9.4c-5.3 0-8.7 6.7-8 8.6l44.8 162.3c16.4-6 31.9-14.4 46.2-24.8 15.9-11.6 30.3-25.8 42.6-41.9L269.1 214.5c-1.7-1.3-3.3-1.8-4.7-1.8zm-30.7 7c-1.2.1-2.5 1-3.6 3.5L171.4 379c13.8 5.7 27.5 9.7 40.9 12.1 24.9 4.4 49 3.4 71.7-2.2l-45.4-164.6c-.8-2.2-2.8-4.6-4.9-4.6zm-64.9 24.8l13.8 11.6-32.9 38.7-13.8-11.6zm130.6 17.3l21.2 26.5-14 11.2-21.2-26.5zM220.8 286l18 .6-1.6 42.5-18-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OrcHead;

impl IconShape for OrcHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 51c-1.216 1.157-3.235 3.694-5.595 7.47-4.552 7.283-10.594 19.233-18.383 34.8v9.94c6.19 4.752 14.906 7.626 23.978 7.626 9.072 0 17.787-2.874 23.978-7.627v-9.94c-7.79-15.567-13.83-27.517-18.383-34.8-2.36-3.776-4.38-6.313-5.595-7.47zm-42.743 54.286c-28.17 6.895-55.87 20.62-82.175 41.132-16.04 80.706-31.2 175.83-16.89 254.565 6.188 2.322 12.687 4.44 19.403 6.398l-3.062-12.257-4.305-6.455 7.807-5.204c6.304-4.203 13.54-7.85 21.487-10.99-5.028-6.777-8.326-15.44-11.545-24.286-5.46-15.013-9.66-31.84-13.654-44.028l-9.792-29.87 24.565 19.616c24.47 19.543 49.132 32.704 82.918 56.314l10.07 7.037c5.944-.26 11.928-.39 17.917-.39 5.99 0 11.973.13 17.916.39l10.07-7.037c33.787-23.61 58.45-36.77 82.92-56.314l24.563-19.616-9.793 29.87c-3.995 12.19-8.193 29.015-13.654 44.028-3.22 8.847-6.517 17.51-11.545 24.287 7.948 3.138 15.183 6.786 21.487 10.99l7.807 5.203-4.305 6.455-3.062 12.258c6.716-1.956 13.215-4.075 19.402-6.397 14.31-78.736-.85-173.86-16.89-254.565-26.305-20.51-54.004-34.237-82.174-41.132v6.31l-2.75 2.746c-10.55 10.552-25.398 15.26-39.993 15.26-14.595 0-29.442-4.708-39.994-15.26l-2.75-2.746v-6.31zm75.98 55.876l13.39 13.145-6.572 6.695c-12.91 13.147-27.168 19.604-41.277 18.865-14.108-.74-26.793-8.077-38.39-18.442l-6.995-6.253 12.504-13.99 6.996 6.25c9.774 8.735 18.788 13.273 26.867 13.696 8.08.423 16.495-2.67 26.905-13.272l6.573-6.694zm-149.998 3.885c19.807 0 41.364 9.12 60.852 19.946 19.487 10.826 36.416 23.397 45.862 32.843l-13.268 13.267c-7.234-7.234-23.665-19.683-41.708-29.707-18.043-10.024-38.186-17.584-51.74-17.584v-18.765zm233.52 0v18.765c-13.552 0-33.695 7.56-51.738 17.584-18.043 10.024-34.474 22.473-41.708 29.707l-13.268-13.267c9.446-9.446 26.375-22.017 45.862-32.843 19.488-10.827 41.045-19.946 60.853-19.946zm-226.887 36.11c16.68 16.68 47.577 47.29 93.447 47.29v.316l16.757-24.214 16.603 24.475v-.578c45.87 0 76.767-30.61 93.447-47.29l13.268 13.266c-8.234 8.233-21.14 21.197-38.61 32.218 4.916 4.755 7.998 11.397 7.998 18.697 0 14.283-11.78 26.063-26.063 26.063-14.282 0-26.062-11.78-26.062-26.063 0-.183.01-.364.014-.546-3.9.798-7.922 1.415-12.06 1.828l28.074 41.386-3.79 5.315c-7.152 10.026-16.657 15.68-26.033 18.204-9.376 2.525-18.523 2.41-26.863 2.41s-17.496.107-26.944-2.4-19.065-8.05-26.67-17.95l-4.17-5.425 28.773-41.58c-4-.41-7.887-1.017-11.662-1.79.004.183.014.364.014.547 0 14.283-11.78 26.063-26.062 26.063-14.283 0-26.063-11.78-26.063-26.063 0-7.3 3.082-13.942 7.998-18.696-17.47-11.02-30.376-23.984-38.61-32.217l13.268-13.267zm-128.076 16.11c2.95 6.932 8.367 15.73 16.54 27.413 12.455 17.8 29.556 41.635 46.575 75.674 1.848 3.697 4.587 6.08 8.64 7.774.07-13.807.677-27.726 1.7-41.656l-24.876-21.55 12.286-14.184 14.638 12.68c.938-9.016 2.026-18.007 3.23-26.948-7.94-6.23-17.723-10.416-28.564-13.373-16.628-4.535-34.943-5.58-50.17-5.83zm476.406 0c-15.226.25-33.54 1.295-50.17 5.83-10.84 2.957-20.623 7.142-28.562 13.373 1.204 8.94 2.292 17.932 3.23 26.947l14.638-12.68 12.286 14.185-24.875 21.55c1.02 13.93 1.628 27.848 1.7 41.656 4.05-1.694 6.79-4.077 8.638-7.774 17.02-34.04 34.12-57.873 46.575-75.674 8.173-11.682 13.59-20.48 16.54-27.412zm-238.28 40.48L221.81 307.04c3.74 3.347 7.608 5.175 12.06 6.356 6.265 1.663 13.79 1.772 22.13 1.772s15.874-.117 21.982-1.762c4.345-1.17 8.01-2.94 11.476-6.216l-33.535-49.442zm-66.643.292c-4.142 0-7.298 3.155-7.298 7.297 0 4.14 3.156 7.297 7.298 7.297 4.14 0 7.297-3.156 7.297-7.297 0-4.142-3.156-7.298-7.297-7.298zm133.44 0c-4.14 0-7.297 3.155-7.297 7.297 0 4.14 3.156 7.297 7.297 7.297 4.142 0 7.298-3.156 7.298-7.297 0-4.142-3.156-7.298-7.298-7.298zm-166.322 67.34c1.684 5.604 3.355 11.28 5.214 16.392 4.053 11.14 9.25 19.18 12.498 22.424l27.458-9.153c-16.38-10.857-31.114-20.08-45.17-29.662zm199.204 0c-14.056 9.583-28.79 18.806-45.17 29.663l27.458 9.153c3.247-3.245 8.445-11.283 12.498-22.424 1.86-5.112 3.53-10.788 5.214-16.39zM256 375.634c-41.212 0-82.64 7.558-105.97 20.12l13.58 54.32c61.668 14.57 123.112 14.57 184.78 0l13.58-54.32c-23.33-12.562-64.758-20.12-105.97-20.12zm-.018 10.543c23.4-.08 46.826 4.167 70.074 13.005l8.77 3.334-6.67 17.542-8.77-3.336c-42.466-16.144-84.223-15.572-126.88.04l-8.814 3.226-6.448-17.623 8.81-3.223c23.152-8.473 46.527-12.883 69.928-12.964z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Organigram;

impl IconShape for Organigram {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.3c-19.924 0-36.076 18.7-36.076 41.768.014 17.119 9.05 32.494 22.797 38.795C223.827 117.95 206 149.828 206 172.488h100c0-22.65-17.813-54.508-36.695-65.61 13.741-6.312 22.766-21.693 22.771-38.81 0-23.067-16.152-41.767-36.076-41.767zm-9 165.212v41H61v83h18v-65h168v65h18v-65h168v65h18v-83H265v-41zm-177 148c-19.924 0-36.076 18.7-36.076 41.767.014 17.119 9.05 32.494 22.797 38.795C37.827 431.161 20 463.04 20 485.7h100c0-22.65-17.813-54.51-36.695-65.611 13.741-6.313 22.766-21.692 22.771-38.809 0-23.067-16.152-41.768-36.076-41.767zm186 0c-19.924 0-36.076 18.7-36.076 41.767.014 17.119 9.05 32.494 22.797 38.795C223.827 431.161 206 463.04 206 485.7h100c0-22.65-17.813-54.51-36.695-65.611 13.741-6.313 22.766-21.692 22.771-38.809 0-23.067-16.152-41.768-36.076-41.767zm186 0c-19.924 0-36.076 18.7-36.076 41.767.014 17.119 9.05 32.494 22.797 38.795C409.827 431.161 392 463.04 392 485.7h100c0-22.65-17.813-54.51-36.695-65.611 13.741-6.313 22.766-21.692 22.771-38.809 0-23.067-16.152-41.768-36.076-41.767z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ostrich;

impl IconShape for Ostrich {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M412.5 22.17c-.6 0-1.2.1-1.7.1-9 .72-15.4 5.89-16.2 8.96-2.1 7.02-3.6 16.36-2.2 22.82 1.4 6.46 3.4 10.34 14.2 12.22 16.6 2.88 35.4-.64 51.8-6.43 13-4.61 24.2-10.62 31.3-15.14-.4-.67-.8-1.27-1.4-1.78-1.5-1.26-4.3-2.53-8.6-3.31-8.7-1.57-22.2-.88-36-1.57l-4.3-.22-2.5-3.5c-6.2-8.57-14.6-11.93-22.7-12.14h-1.7zm-14 60.61c-3.9 10.17-4.5 20.22-2.8 29.52 2.2 12.2 9.5 22.1 13.6 32.9 14 36.6.8 45.4-20.8 51.1 22.3 20 33.3 44.4 35 68.3 30-45.7 35.3-86.2 1.3-128.6-6.7-8.3-9.9-18.2-11.4-26.8-1.5-7.9-.8-15.35 3.7-23.91-4.5-.11-9-.51-13.5-1.29-1.8-.31-3.4-.72-5.1-1.22zM108.4 126.9c-29.04-.2-53.3 25.3-56.66 60 10.56-10.7 25.02-17.7 46.11-17.2-20.2 13.7-33.69 29.2-44.34 45.3 1.77 8.2 4.64 16.5 8.8 24.9 38.09-52.5 60.99-29.6 72.69.1 10.8-20 27.4-36 47-48.1-21.4-46.4-49.2-64.8-73.6-65zm180.2 55c-3.4 0-6.9 0-10.4.2-12.4.5-25 2.2-37.3 5.1-46.3 11-86.3 38-97.9 81.1 22.2 7.6 40.7 16.4 56.7 25.4 31.6 4.7 63.8 3.2 91.4-2.5 38.5-8 67-25.4 73.3-39.7l16.4 7.2c-11 25.4-44.7 41.6-86 50.1-19 4-39.9 6-61.3 5.7 4.3 2.8 8.4 5.5 12.4 8.1 27.1 17.6 48.4 29.7 82.6 28 35.6-2.9 62.6-25.9 72.9-54.6 10.2-28.7 4.4-62.5-28.7-89.5-19.2-15.8-50.6-24.4-84.1-24.6zm-92.5 130.4c-4.4 8.8-8.1 18-10.6 26.2-18.6 8.8-25 12.1-34.8 33.2-35.5 15.3-50.4 38.2-61.34 71.5-22.48 6.1-40.85 5-63.06-9.9-12.14 16.1 6.05 30.4 22.64 36.9 21.16 8.3 50.31 2.8 55.46-7.2 16.5-32.5 31.1-54.7 61.7-77 13.1-1.4 22.4-2.4 34.3-18 21.6 2.2 39.3-8 55-18.1 7.8 17.9 23.5 41.8 20.7 58.9-11.8 9.5-8 21.3-8.3 24.1 6 17.9 66.2-5.8 108 18 22.4 12.8 27.9 44.9 69.4 37.9 6.8-1.1 5.3-7.2.6-8.9-37.4-13.7-27.6-21-44.8-48.1-32-.8-59.3-5.2-95.4-16.1-10.4-3 3.2-24.8 13.3-47-33.4-.9-57.8-14.7-82.9-31-12.4-8.1-25.2-16.8-39.9-25.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Otamatone;

impl IconShape for Otamatone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.2 24.45c-41.8-.31-44.4 106.35-84.1 111.25-17.6 2.1-37.37-48.81-41.69-38.35C68.58 118.8 104.3 176.7 136.6 174c23.8-2.2 48.4-82.12 54.2-37.5l38.3 231.1c4.3-5.7 9.1-10.9 14.5-15.6 7.7-6.7 16.3-12.4 25.4-16.6L220.2 29.64c-5.5-3.07-10.5-4.69-15-5.09-.7-.1-1.4-.1-2-.1zM309 345.3c-3.2-.1-6.2-.1-9.1.1-14.3.9-31.3 8.7-44.5 20.2-13.1 11.4-22 26.3-22.9 40.1-1.2 17.7 7.6 38.1 22 54.7 14.3 16.5 33.9 28.8 51.7 31.6 20.8 3.3 49.7-3 72.5-15.9 22.8-12.9 38.7-31.5 39.2-50.9v-.1c.4-14.1-6.7-27.9-18.3-40.1a14.45 21.25 0 0 1 2.7 12.3 14.45 21.25 0 0 1-14.4 21.3 14.45 21.25 0 0 1-14.5-21.3 14.45 21.25 0 0 1 14.5-21.2 14.45 21.25 0 0 1 2.3.3c-3.7-3-7.6-5.9-11.9-8.6-21.1-13.3-47.5-21.7-69.3-22.5zm12.5 29.6a16.85 24.78 0 0 1 16.8 24.8 16.85 24.78 0 0 1-16.8 24.8 16.85 24.78 0 0 1-16.8-24.8 16.85 24.78 0 0 1 16.8-24.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OutbackHat;

impl IconShape for OutbackHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.1 89.57c-3.8 0-7.5.12-10.9.29-9.2.46-17 1.53-22.3 2.96-1.8.49-3.1 1.05-4.2 1.58 1.4 1.39 3.3 3.05 6.1 4.99 8 5.61 20.9 12.41 36.3 18.91 30.9 13 71.9 24.9 106.1 27.4 12.4.9 20.9-3 26.4-7.8 5.5-4.9 7.3-11.3 7.2-12.8-.1-1.1-1.3-3.6-5.6-6.9-4.3-3.2-11.2-6.7-19.7-9.9-17-6.4-40.4-11.59-64.1-14.82-17.8-2.42-35.7-3.77-51.4-3.9h-3.9zm-46.6 20.73c-9.1 20-18.9 42.3-26.7 61.5 7.5 5.6 15.6 11.3 24 16.8 8.9-7.9 23.4-14 23.4-14s-7.1 11.2-12 21.3c11.6 7.2 23.7 14.1 36 20.4 8.5-11 28.4-20.8 28.4-20.8s-6.4 16.5-10.5 29.5c11.8 5.5 23.8 10.3 35.5 14.2 3.8 1.3 7.6 2.5 11.4 3.6 6-15.6 20.6-35 20.6-35s2.8 23 2.1 40.4c15 2.7 29.3 3.6 42.2 2.2 7.1-17.5 9.1-38.5 7.5-53.3 12.7 11.3 16.9 29.3 18.9 46.2 1.7-.8 3.4-1.6 5.1-2.6-3.2-24.4-7.3-60.1-9-90.3-.4.3-.7.6-1 .9-9 8-22.6 13.5-39.6 12.2-37.1-2.7-79.2-15-111.6-28.7-16.2-6.8-30-13.9-39.7-20.8-1.8-1.2-3.5-2.5-5-3.7zm-58.1 72.4c-39.55-.4-74.74 6.1-94.88 30.8C3.118 234.8 127.1 343 245.8 390.6c88.6 35.5 176.1 53 229.7-11.1 51.8-62-20.8-139.6-82.7-177.7 3.9 35.1 8.4 65.7 8.4 65.7v1.1c.3 9.5-3.8 18.4-10.4 24.5-6.7 6.1-15.5 9.8-25.7 12.2-20.3 4.6-46.6 3.6-75.7-2-58.1-11.2-126.8-41.1-171.6-89.1l-3.3-3.5 1.1-4.7c1.5-6.3 4.1-14.2 7.4-23.1-2.5-.1-5.1-.2-7.6-.2zm24.7 6.4c-2.4 6.3-4.3 11.9-5.7 16.5 10 10.1 21.2 19.4 33.3 27.8-2.6-8.7-5.1-19.6-4.7-28.5-7.9-5.2-15.6-10.5-22.9-15.8zm36.4 24.4c-1.4 7.8-2.3 16.9-2.9 23.9 15.3 10 31.7 18.8 48.5 26.1-3.4-8.4-7.1-19.5-8-29.2-12.9-6.4-25.5-13.5-37.6-20.8zm55.4 29.3c-1.3 7.8-2.4 16.8-3.1 23.5 18.9 7.8 38.1 13.8 56.2 17.8-1.8-6.9-3.7-15.7-4.3-23.4-5-1.4-9.9-2.9-14.8-4.6-11.3-3.8-22.7-8.3-34-13.3zm150 16.8c-2.2 1-4.4 2-6.7 2.8-.4 7.4-1.6 14.8-3.3 21.8 2.9-1.3 5.1-2.8 6.8-4.3 3.3-3.1 4.7-5.9 4.6-10.6-.1-.4-.7-5-1.4-9.7zm-79.4 6.2c-2.3 6.7-5.7 14.2-8.6 20.1 27 5.1 51.1 5.5 67.3 1.9h.1c-2.2-6.7-4.7-13.6-8.4-19.8-15.8 2.1-32.8 1.1-50.4-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OverlordHelm;

impl IconShape for OverlordHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M183.188 20.107c-19.58 65.304-41.643 129.72-30.362 186.127l.352 1.766-16.03 80.148 15.366 92.19L234.17 488.36l12.03-83.46L224 416c-16-32-16-64 0-80l-48-16v-64c10.394 10.394 34.29 27.534 54.146 38.273l-15.564-54.478.69-2.072-31.51-9.002-.575-208.613zM329 22.81v205.694l-32.27 9.22.688 2.07-15.564 54.48C301.71 283.533 325.606 266.393 336 256v64l-48 16c16 16 16 48 0 80l-22.21-11.104 12.048 84.32 81.644-108.86 15.37-92.208L358.822 208l.352-1.766C370.278 150.712 348.196 87.226 329 22.81zm-73 49.75l-7 56v64.9l-15.582 46.745L256 319.238l22.582-79.033L263 193.46v-64.9l-7-56zm25 110.89v7.09l10.03 30.09 19.97-5.704v-17.322c-12.287-6.115-21.97-10.802-30-14.153zm-50 .005c-7.888 3.29-17.36 7.866-29.324 13.815l.05 17.863 19.243 5.498L231 190.54v-7.085zM192 288v16l32 16-32-32zm128 0l-32 32 32-16v-16zM25.97 372.31c-4.88 23.452-7.363 47.226-4 72.872 10.904-5.418 22.286-8.96 33.968-10.907-12.438-17.27-22.396-38.742-29.97-61.966zm460.01 0c-7.575 23.223-17.532 44.695-29.97 61.965 11.68 1.947 23.063 5.49 33.97 10.907 3.36-25.646.877-49.42-4-72.873zm-396.01 9.833c-3.055 14.682-5.173 29.488-5.51 44.8 5.497-4.264 11.312-8.804 18.14-12.713-4.768-10.11-8.98-20.89-12.63-32.087zm332.01 0c-3.653 11.196-7.865 21.977-12.632 32.087 6.828 3.91 12.642 8.45 18.138 12.713-.336-15.312-2.453-30.118-5.507-44.8zm-290.37 41.654c-7.614.14-13.588 2.403-19.616 5.793-5.165 2.904-10.355 6.87-15.77 11.033l106.108 63.19-63.082-79.325c-2.088-.296-4.228-.656-6.094-.69-.523-.01-1.037-.01-1.545 0zm247.183 0c-1.866.035-4.007.394-6.096.69l-63.084 79.33 106.112-63.194c-5.415-4.163-10.607-8.13-15.772-11.033-6.43-3.616-12.796-5.95-21.16-5.793zm-301.2 26.69c-21.304.15-40.785 5.3-58.886 17.447l4.56 19.586 132.567 9.953-60.994-36.627.115-.03-8.922-5.312.008.058-8.448-5.074zm356.764 0l-8.45 5.077.007-.06-8.922 5.312.117.03-60.997 36.63 132.57-9.956 4.557-19.586c-18.1-12.148-37.58-17.298-58.883-17.446z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oyster;

impl IconShape for Oyster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384.4 83.82c-24.5 2.92-41.3 20.28-61.9 37.48l-2.2 1.8-2.7.3c-23.9 2.4-47.9 5.8-72.3 8.3 4.6 13.9 6.3 28.4 2.3 42.6 17.8 6.2 35.8 4.7 55.3 1.6l2.8 17.8c-23.1 3.7-48.2 5.8-73.4-6.3l-8-3.8 3.7-8.1c6.2-13.1 4.7-26.8-1.1-42.1-29.3 2.3-59.5 2.6-91.3-2.3-4.5 4-9 8.1-13.4 12.3 10.2 25.4 24.1 61.9 14 92.3l53.2 39.3c42-12 82.3-13.3 121.5-10l-1.6 18c-39-3.4-78.2-2-119.1 10.4l-4.3 1.3-71.9-53.1 3.2-6.7c9.1-19.1.7-51.7-8.8-77.4-11.64 12.3-22.71 25.6-33.27 39.6 10.01 20.4 18.27 41.9 16.39 64.4 14.28 18.4 48.28 40.5 76.38 42.1l-1 18c-37.3-2.1-74.71-27.4-91.97-52l-2.03-2.9.49-3.5c2.17-15.5-2.62-32.1-10.34-49.4-11.36 16.3-22.12 33.5-32.37 51.6 36.67 17.3 68.4 40.5 83.22 68.7 94.9 5.1 191.3-42.4 272.8-45.5 32.8-49.2 71.2-93 94.6-145.5-6.1 3.2-12.3 5.8-19 7.8-14.9 4.5-31.6 5-54 .5l-4.3-.8-2-3.9c-4-7.7-8.5-11.9-13.5-14.2-5.1-2.2-11.3-2.7-19.3-1l-3.8-17.6c4-.8 8-1.3 11.9-1.4 1.2 0 2.5 0 3.8.1 5.1.3 10.1 1.4 14.7 3.5 8 3.6 14.6 9.9 19.7 18.3 18.3 3.2 30.6 2.6 41.7-.7 6.6-2 13.1-5.1 20.2-9-32.2-7.4-63.1-22.1-93-40.88zm24.8 77.68l4 17.6c-27.7 6.3-48.4 18.1-61.1 45.6l-2.2 4.6-5 .5c-24.7 2.8-50.3 9.7-77.1 11.7-26.9 1.9-55.3-1.6-83.7-19.9l9.8-15.2c24.7 16.1 48.1 18.9 72.6 17.1 23-1.7 46.8-7.7 71.7-10.9 15.5-29.6 41.6-44.4 71-51.1zm68.7 27.2c-1.7 2.8-3.4 5.6-5.2 8.4-7.2 24.6-34.7 110.3-73 135.4-24.8 16.2-59.7-.2-88.5 6.6-23.3 5.5-43.7 22.8-65.5 32.6-3.4 8.7-2.1 16.1 1.5 25.2 2.9 7.3 7.4 15.2 11.6 23.8 56.5-34.3 96.7-61.6 197.7-84.6 11.6-50.7 17.3-100.1 21.4-147.4zM56.01 300.3c2.08 26.1 3.9 53.6-7.27 82.3 42.77-2.4 82.36-7.2 110.26-25-3.2-1.8-6.3-3.7-9.3-5.6-14 .9-28.1.9-42.2-.1l-5.3-.4-2.2-4.9c-7.04-15.9-23.06-32.1-43.99-46.3zm120.79 66.6c-27.5 21.8-64.4 28.9-103.04 32.1 49.74 21 100.94 36.5 166.84 25.6-3.4-6.6-7.2-13.5-10.2-21.1-3-7.7-5.1-16.5-4.3-25.7-3.6.6-7.3.9-11 .7-11.3-.5-24.8-5.2-38.3-11.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OysterPearl;

impl IconShape for OysterPearl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 31.627c-14.76 0-34.807 3.467-51.89 10.71-17.08 7.245-30.695 18.046-35.674 31.43-.776 2.084-1.43 4.142-1.995 6.18-8.754 22.627 7.52 79.885 25.996 117.248-7.3-10.69-14.537-21.067-21.094-31.367-16.38-25.727-28.646-52.362-24.174-81.545-5.41-3.06-11.58-4.656-19.168-4.656-13 0-27.05 6.777-37.637 17.363C79.777 107.576 73 121.627 73 134.627c0 6.942 2.437 14.127 6.793 21.46 9.537 21.677 37.573 54.524 68.11 83.972-14.153-10.152-28.97-20.59-42.516-31.394-26.862-21.423-50.256-44.75-50.38-73.807-3.858 3.766-7.26 8.668-10.146 14.667-5.568 11.584-8.936 26.593-9.878 41.66-.94 15.068.532 30.22 3.914 41.946 3.383 11.724 8.886 19.32 13.13 21.443a9 9 0 0 1 .966.563c36.323 24.214 84.286 29.334 135.572 35.38-3.577-8.602-5.564-18.02-5.564-27.893 0-40.21 32.79-73 73-73s73 32.79 73 73c0 9.872-1.987 19.29-5.564 27.893 51.286-6.046 99.25-11.166 135.572-35.38a9 9 0 0 1 .967-.564c4.243-2.122 9.746-9.72 13.13-21.443 3.38-11.725 4.854-26.878 3.913-41.946-.942-15.067-4.31-30.076-9.88-41.66-2.884-6-6.287-10.9-10.144-14.668-.125 29.057-23.52 52.383-50.38 73.806-13.547 10.803-28.364 21.242-42.518 31.393 30.538-29.45 58.574-62.296 68.11-83.974 4.357-7.332 6.794-14.517 6.794-21.46 0-13-6.777-27.05-17.363-37.636C411.05 86.404 397 79.627 384 79.627c-7.588 0-13.757 1.595-19.168 4.656 4.472 29.183-7.794 55.818-24.174 81.545-6.557 10.3-13.793 20.678-21.094 31.367 18.477-37.363 34.75-94.62 25.995-117.248-.565-2.038-1.22-4.096-1.996-6.18-4.973-13.37-18.638-24.18-35.752-31.427C290.7 35.093 270.644 31.627 256 31.627zm1.07 177.3a55.75 55.75 0 0 0-55.752 55.75 55.75 55.75 0 0 0 26.368 47.3A62.673 62.986 0 0 1 224 290.893a62.673 62.986 0 0 1 62.674-62.985 62.673 62.986 0 0 1 13.562 1.54 55.75 55.75 0 0 0-43.166-20.522zm-62.174 93.536c-53.804 4.54-104.937 7.798-143.066 25.732a9 9 0 0 1-.836.342c-4.893 1.726-9.325 6.413-12.414 13.97-.016.038-.03.08-.047.12H39c0 4.625 3.054 11.025 8.984 18.324 5.458 6.718 12.94 13.94 20.438 21.386.994-1.02 2.02-2.023 3.08-3.006 9.385-8.71 21.622-16.514 35.082-24.088 18.298-10.296 38.886-20.127 57.06-29.62-35.542 22.593-71.37 50.668-83.212 68.618 6.93 5.644 16.974 12.653 27.804 18.453 12.78 6.844 27.035 12.523 38.885 15.227.523-2.765 1.268-5.477 2.24-8.106 4.566-12.322 13.075-23.213 22.892-34.09 8.025-8.894 16.996-17.84 25.826-27.097h.06c-15.392 19.018-30.88 50.23-33.695 72.135 29.607 13.775 75.866 14.865 91.557 14.865 15.924 0 62.742-.66 91.56-14.854-2.81-21.905-18.303-53.125-33.697-72.146h.06c8.83 9.256 17.8 18.203 25.825 27.096 9.817 10.878 18.326 21.77 22.89 34.09.968 2.612 1.71 5.306 2.23 8.052 11.302-2.71 24.53-8.31 36.76-15.105 11.067-6.148 21.47-13.233 29.37-19.367-12.39-17.978-47.654-45.53-82.643-67.772 18.175 9.495 38.763 19.326 57.06 29.622 13.46 7.574 25.698 15.378 35.083 24.088 1.06.983 2.086 1.985 3.08 3.006 7.497-7.446 14.98-14.668 20.438-21.385 5.93-7.298 8.984-13.698 8.984-18.323h.467c-.016-.04-.03-.082-.047-.12-3.09-7.557-7.52-12.244-12.414-13.97a9 9 0 0 1-.836-.342c-38.13-17.934-89.262-21.193-143.067-25.732-3.268 4.993-7.138 9.556-11.494 13.603 14.566 4.272 27.39 10.834 36.753 20.198l-12.726 12.726C316.82 336.172 286.5 327.627 256 327.627s-60.82 8.545-73.637 21.363l-12.726-12.726c9.36-9.362 22.182-15.924 36.744-20.196-4.353-4.046-8.216-8.614-11.484-13.605zm281.663 71.535c-6.796 8.062-14.844 15.64-22.197 22.992-.078.08-.166.162-.246.24 1.524 3.438 2.52 7.052 2.8 10.868 11.18-7.078 17.57-19.915 19.642-34.1zM35.44 374c2.072 14.185 8.464 27.02 19.642 34.098.277-3.77 1.252-7.343 2.744-10.743-.174-.234-.364-.468-.53-.703C50.032 389.405 42.13 381.94 35.44 374zm403.542 36.033c-8.17 6.124-17.99 12.56-28.61 18.46-12.728 7.072-26.367 13.33-39.774 16.616 3.988.905 8.403 1.4 13.402 1.4 13.883 0 28.352-5.085 38.812-12.465 10.46-7.38 16.188-16.654 16.188-23.69 0-.105-.015-.216-.018-.322zm-365.87 1.973c.8 6.792 6.413 15.222 16.075 22.04 10.46 7.38 24.93 12.464 38.813 12.464 4.914 0 9.264-.48 13.2-1.356-13.832-3.255-28.2-9.49-41.462-16.593-9.994-5.352-19.092-10.883-26.627-16.554zm95.005 39.564c4.277 7.724 17.898 15.987 35.06 21.12 17.356 5.194 37.666 7.683 52.823 7.683 15.043 0 35.36-2.49 52.746-7.684 17.012-5.083 30.57-13.24 34.99-20.876-33.462 12.25-73.52 11.813-87.736 11.813-14.454 0-54.23-.08-87.883-12.057z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PackedPlanks;

impl IconShape for PackedPlanks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73 25v62h78V25H73zm96 0v62h78V25h-78zm96 0v62h78V25h-34.8L297 58.6 278 25h-13zm96 0v62h78V25h-78zM41 105v24.4L53.21 151H471v-46H41zm32 64v174h78V169H73zm96 0v174h78V169h-78zm96 0v174h78V169h-78zm96 0v151.9l12.5 22.1H439V169h-78zM41 361v46h430v-46H41zm32 64v62h68l10-30.2V425H73zm96 0v62h78v-62h-78zm96 0v62h78v-62h-78zm96 0v62h78v-62h-78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaddleSteamer;

impl IconShape for PaddleSteamer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17 17v10.41c12.22 10.16 22.84 5.83 33.32-.52l4.83 6.84c5.81 8.21 11.83 12.04 19.19 13.29 14.39.31 22.13-2.99 33.46-8.5 13.4 10.41 33.8 25.7 50 24.75 15.6-1.95 19.6-8.27 33.3-8.27h47.4c-9.2-12.62-20.1-24.28-48.7-38zm184 56v46h46V73zM17 137v23h333.8l-5.8-23zm0 41v69h15.01c.1-30.7 1.06-56.4 12.04-69zm67.2 0c10.74 12.6 11.71 38.4 11.79 69h17.61l3.7-5.3 25.7 17.6c3.9-4.6 8-8.9 12.6-12.8l-27.3-19.3c.7-21.7 3.2-39.4 11.7-49.2zm96 0c8.2 9.6 10.7 26.9 11.5 48.1 1.5-.5 3-.9 4.5-1.3l-4.3-23 17.6-3.4 4.3 23c6.2-.6 12.3-.7 18.3-.2l-4.6-24.4c1.8-7.8 4.5-14.2 8.5-18.8zm96 0c7.2 8.4 10 22.5 11.1 40l6.3-9.2 14.8 10.2-17.6 25.7c4.7 3.9 9.2 8.2 13.2 12.9l7.2-10.6h8.8c0-4.5.1-8.8.1-13l.2-6.8c.7-21.7 3.2-39.4 11.7-49.2zm-52.5 60.8c-2.2 0-4.4.2-6.6.3l8.6 45.8c4.8.2 9.4 1.2 13.7 3l26.4-38.6c-12.6-6.8-27-10.6-42.1-10.5zm-24.2 3.6c-16.7 4.9-30.9 14.6-41.6 27.1l38.5 26.4c3.4-3.1 7.3-5.7 11.6-7.6zm81.2 17.1L254.2 298c3.2 3.4 5.8 7.4 7.7 11.8l45.8-8.6c-4.9-16.8-14.5-31-27-41.7zM17 265v118.3c.92-.3 1.81-.6 2.76-.9 16.85-5.3 37.51-10.4 49.62-10.5 12-.1 24.5 4 37.92 8.8 13.5 4.7 27.9 10.1 43.8 10.6 30.9.9 57.2-14.4 81.3-14.3 19.7.1 41.2 12.4 67.3 12.6 18.1.2 34.9-5.1 50.7-9.5 15.8-4.4 30.6-8 44.6-6.5 24.1 5.5 44.6 25.9 66.9 26.7 10.3.2 21.4-2.6 32.1-6.4v-19.4c-11.9 4.5-24.2 8-31.7 7.8-23.8-3.3-41.9-22.6-63.1-26.2l91.1-91.1H309.8c7 9.8 12.3 20.8 15.7 32.9l22.8-4.3 3.4 17.6-22.9 4.3c1.9 18.9-1.5 37.5-9 53.9-6.8 1.4-13.4 2.2-19.9 2.2-11.1-.1-22.9-4.1-35.8-7.6l-12-8.2c-1.7 1.6-3.6 3.1-5.5 4.4-4.6-.7-9.3-1.2-14.2-1.2-17.2-.1-32.9 4.6-47.7 8.7l9.6-14c-3.2-3.3-5.8-7.3-7.7-11.6l-45.8 8.5c2.4 8.2 6 15.8 10.5 22.7-7.5-.3-15.1-2-22.9-4.5-2.1-4.8-3.9-9.8-5.3-14.9l-23.1 4.3-3.26-17.6 23.06-4.3c-2.2-22.2 2.7-43.8 13.1-62.1l-13.4-9.2zm130.8 19.4c-7.9 14.5-11.7 31.2-10.3 48.6l45.8-8.5c.2-4.8 1.2-9.4 2.9-13.8zm72.2 18.9c-3 .6-5.8 1.7-8.2 3.2l10.1 6.9 6.9-10.1c-3-.5-6.1-.5-8.8 0zm23.7 10.2l-6.9 10.1 10 6.9c.6-2.9.7-5.9.1-8.9s-1.7-5.7-3.2-8.1zm67.3 5.3l-45.8 8.6c-.2 4.7-1.2 9.3-2.9 13.6l38.5 26.4c7.8-14.4 11.6-31.2 10.2-48.6zm-109.3 2.5c-.6 2.8-.7 5.8-.1 8.8.6 3 1.7 5.8 3.3 8.2l6.9-10.1zm24.9 17.1l-6.9 10c2.8.6 5.8.7 8.8.1 3-.6 5.7-1.7 8.1-3.2zM57.39 421.3c-12.12.1-26.6 3.3-40.39 7.1v18.7c14.72-4.2 30.57-7.7 40.58-7.8 28.93 1.5 55.52 18.3 81.72 19.4 30.9.9 57.2-14.4 81.3-14.3 43.8 10.6 76.2 14.8 118 3.1 33.6-8.9 46.5-9.9 74 6.5 27.5 17.9 53.7 14.2 81.4 2.7v-19.6c-.2 0-.3.1-.5.2-32 12.9-44 17.5-71.7 1.2-32.2-19.9-53.8-17.9-88-8.3-39.4 19.3-79.2-3.1-113.2-3.8-30.7-.1-56.8 15-80.7 14.3-28.9-2.5-56.18-19.4-82.51-19.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Paddles;

impl IconShape for Paddles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55.984 10.73L10.73 55.984l12.73 12.73 45.253-45.255-12.73-12.73zm400.032 0l-12.73 12.73 45.255 45.253 12.73-12.73-45.254-45.253zM62.348 52.45l-9.9 9.898 265.167 265.166c13.718 13.718 25.277 22.427 33.258 26.724 2.435 1.31 4.362 2.074 5.973 2.608-.534-1.61-1.297-3.538-2.608-5.973-4.297-7.98-13.006-19.54-26.724-33.258L62.348 52.45zm387.304 0L268.73 233.372l9.897 9.898L459.55 62.35l-9.898-9.9zm-216.28 216.28l-48.886 48.885c-13.718 13.718-22.427 25.277-26.724 33.258-1.31 2.435-2.074 4.362-2.608 5.973 1.61-.534 3.538-1.297 5.973-2.608 7.98-4.297 19.54-13.006 33.258-26.724l48.886-48.887-9.897-9.898zm-55.25 9.094c-6.472 0-12.96.676-18.09 1.883-5.13 1.207-8.78 3.26-9.487 3.967L28.95 405.27c1.11 18.56 10.795 37.717 25.43 52.35 14.633 14.635 33.79 24.32 52.35 25.43l121.596-121.595c.707-.707 2.76-4.357 3.967-9.486 1.207-5.13 1.883-11.62 1.883-18.09 0-6.472-.676-12.963-1.883-18.093-.047-.2-.1-.38-.15-.574l-25.03 25.03c-14.566 14.566-27.05 24.24-37.453 29.843-5.202 2.8-9.863 4.644-14.572 5.316-4.71.673-10.378.02-14.443-4.047-4.066-4.065-4.72-9.734-4.047-14.443.672-4.71 2.515-9.37 5.316-14.572 5.602-10.404 15.277-22.887 29.844-37.453l25.03-25.03c-.195-.05-.376-.103-.575-.15-5.13-1.207-11.62-1.883-18.092-1.883zm155.757 0c-6.472 0-12.963.676-18.093 1.883-.2.047-.38.1-.574.15l25.03 25.03c14.566 14.566 24.24 27.05 29.843 37.453 2.8 5.202 4.644 9.863 5.316 14.572.673 4.71.02 10.378-4.047 14.443-4.065 4.066-9.734 4.72-14.443 4.047-4.71-.672-9.37-2.515-14.572-5.316-10.404-5.602-22.887-15.277-37.453-29.844l-25.03-25.03c-.05.195-.103.376-.15.575-1.207 5.13-1.883 11.62-1.883 18.092 0 6.47.676 12.96 1.883 18.09 1.207 5.128 3.26 8.778 3.967 9.485L405.27 483.05c18.56-1.11 37.717-10.795 52.35-25.43 14.635-14.633 24.32-33.79 25.43-52.35L361.456 283.674c-.707-.707-4.357-2.76-9.486-3.967-5.13-1.207-11.62-1.883-18.09-1.883z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PadlockOpen;

impl IconShape for PadlockOpen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.6 164.6c0-78.92-65.7-146.47-146.6-146.47-81.1 0-146.6 65.49-146.6 146.47v72.3H159v-69.1c0-53.7 43.4-97.26 97-97.26 53.5 0 97 41.66 97 94.06zm-315.7 91C72.2 278.4 64 304.7 64 332.4c0 88.3 85 161.5 192 161.5s192-73.2 192-161.5c0-27.7-8.3-54-22.9-76.8zm168.8 23.9c22.3 0 40.9 18 40.9 40.3 0 16.8-10.6 31.2-25.1 37.3l32.7 98.2h-96.4l32.1-98.2c-14.5-6.1-24.5-20.6-24.5-37.3 0-22.3 18-40.3 40.3-40.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pagoda;

impl IconShape for Pagoda {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.967 23.386c19.704 15.157 49.792 21.65 82.52 27.105 21.419 3.57 43.864 6.501 65.163 9.832-7.28 1.686-14.641 3.4-21.609 4.97-21.25 4.789-41 8.38-45.967 8.321H175.8l-.168.006c-4.61.172-24.44-3.34-45.662-8.181-7.035-1.605-14.48-3.364-21.842-5.09 21.346-3.342 43.848-6.279 65.32-9.858 32.727-5.454 62.815-11.948 82.52-27.105zm55 67.228v16h-110v-16zm3.394 34a24.977 24.977 0 0 0 4.563 4.28c3.799 2.763 8.317 4.922 13.701 7.076 10.768 4.307 24.987 8.332 41.158 12.375 18.612 4.653 39.434 9.269 60.069 13.865l-50.182 8.404H128.71l-50.54-8.424c20.606-4.59 41.396-9.2 59.98-13.845 16.172-4.043 30.39-8.068 41.159-12.375 5.384-2.154 9.902-4.313 13.7-7.076a24.977 24.977 0 0 0 4.563-4.28zm28.606 62v30h-46v-30zm-64 0v30h-46v-30zm-64 0v30h-46v-30zm131.123 48c1.246 1.65 2.68 3.113 4.156 4.422 3.592 3.184 8.04 6.026 13.383 8.965 10.686 5.877 24.947 11.954 41.178 18.041 20.082 7.531 43.024 14.894 65.33 21.42l-54.914 9.152H96.263l-54.533-9.133c22.327-6.53 45.294-13.9 65.397-21.439 16.23-6.087 30.492-12.164 41.178-18.041 5.343-2.939 9.79-5.781 13.382-8.965 1.477-1.309 2.91-2.772 4.157-4.422zm28.877 80v30h-238v-30zm3.123 48c1.246 1.65 2.68 3.113 4.156 4.422 3.592 3.184 8.04 6.026 13.383 8.965 10.686 5.877 24.947 11.954 41.178 18.041 20.102 7.539 43.07 14.909 65.396 21.44l-54.533 9.132H64.71l-54.913-9.152c22.305-6.526 45.247-13.889 65.33-21.42 16.23-6.087 30.492-12.164 41.178-18.041 5.343-2.939 9.79-5.781 13.382-8.965 1.477-1.309 2.91-2.772 4.157-4.422zm60.877 80v46h-142v-46zm-160 0v46h-46v-46zm-64 0v46h-142v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaintBrush;

impl IconShape for PaintBrush {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.438 29.794a23.808 23.808 0 0 0-1.204.01c-4.688.157-7.914 1.736-10.113 3.935-2.932 2.932-4.761 7.689-3.588 15.305 1.174 7.616 5.683 17.754 15.272 28.941 67.894 79.21 132.935 155.56 183.703 211.969 12.273 13.637 23.693 26.08 34.125 37.135 12.095-31.902 34.57-54.144 62.902-64.715-10.825-10.199-22.936-21.313-36.197-33.248C242.93 178.358 166.578 113.314 87.369 45.42c-11.186-9.589-21.325-14.098-28.941-15.272a29.555 29.555 0 0 0-3.99-.355zm295.783 246.64c-30.461 7.627-53.241 29.185-63.608 65.219 5.652 5.785 10.956 11.085 15.78 15.707 7.58 7.264 14.095 13.007 19.21 16.957 1.776-17.225 10.045-33.062 21.645-44.691 10.601-10.628 24.496-18.006 39.125-19.092-3.871-4.836-9.14-10.751-15.63-17.524-4.838-5.047-10.415-10.623-16.522-16.576zm35.351 51.95c-10.397.137-20.929 5.28-29.582 13.955-11.537 11.565-18.674 28.85-16.267 45.7 5.334 37.342 23.749 65.81 49.46 81.237 22.727 13.636 51.452 17.35 83.643 6.983-24.222-4.01-46.475-30.706-48.197-50.65 10.63 12.814 23.94 24.547 38.426 31.75-9.881-22.578-9.201-45.452-11.088-64.321-1.352-13.522-3.891-24.982-11.377-35.162-7.486-10.18-20.423-19.8-44.74-27.907a31.062 31.062 0 0 0-10.278-1.585z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaintBucket;

impl IconShape for PaintBucket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.639 24.324c-1.305-.008-2.609 0-3.914.027-51.867 1.055-104.298 29.226-135.069 81.643 7.894-1.849 16.23-3.578 24.918-5.245 40.784-55.165 109.828-71.82 163.772-47.845 33.498 14.888 61.522 45.309 73.933 93.998 6.188 24.276 8.4 53.16 5.149 86.777a215.415 215.415 0 0 1-11.662 4.254C357.004 249.52 309.028 256.679 256 256.679c-53.028 0-101.004-7.159-135.766-18.746-17.398-5.8-31.388-12.652-41.146-20.342-.29-.229-.565-.46-.848-.691A192 64 0 0 1 256 176.68a192 64 0 0 1 131.156 17.485c-.127-7.895-.948-17.402-2.709-26.877-3.03-16.298-8.33-33.269-13.87-44.482-32.923-7.762-72.188-12.127-114.577-12.127-54.632 0-104.122 7.223-141.457 19.668-18.65 6.217-34.418 13.686-46.596 23.283C55.68 163.298 46 176.566 46 192.68c0 16.112 9.68 29.38 21.947 39.048A98.426 98.426 0 0 0 73 235.443v197.236c0 5.189 3.194 11.174 11.658 17.844 8.464 6.67 21.703 13.3 38.424 18.873 33.442 11.147 80.71 18.283 132.918 18.283 52.209 0 99.476-7.136 132.918-18.283 16.721-5.574 29.96-12.203 38.424-18.873 8.464-6.67 11.658-12.655 11.658-17.844V253.095c-5.532 53.188-19.494 85.11-34.598 116.803.002.186.01.371.01.558 0 9.347-2.862 17.978-7.998 24.624-5.135 6.645-12.98 11.417-21.896 11.417-8.917 0-16.76-4.772-21.895-11.417-5.135-6.646-7.998-15.277-7.998-24.624 0-9.346 2.863-17.977 7.998-24.623 5.136-6.645 12.978-11.416 21.895-11.416 8.738 0 16.438 4.587 21.576 11.024.185-.537.375-1.078.559-1.613 11.708-26.34 21.133-54.236 25.013-98.461 8.404-4.033 15.908-8.533 22.387-13.639C456.32 222.06 466 208.792 466 192.679s-9.68-29.381-21.947-39.049c-8.362-6.59-18.416-12.174-29.934-17.04-14.385-50.057-45.396-83.66-82.465-100.135-18.047-8.022-37.451-12.014-57.015-12.131zM69.139 207.43zm373.722 0zm-19.972 1.99a192 64 0 0 1 10.933 7.428c-.303.248-.598.496-.91.742-3.132 2.469-6.706 4.85-10.683 7.139.342-5.201.567-10.31.66-15.309zM91.252 245.806c7.143 3.372 14.924 6.416 23.291 9.205C151.878 267.456 201.368 274.68 256 274.68c40.082 0 77.375-3.9 109.152-10.887-1.347 22.319-5.683 62.65-19.502 62.157-34.923-1.246-22.114-45.128-43.703-36.75-15.494 6.013-13.837 34.672-28.804 35.26-18.017.706-35.747-27.532-57.608-29.301-16.208-1.312-16.45 63.536-36.75 64.81-19.16 1.203-20.674-55.664-29.799-57.361-36.095-6.713 18.027 104.509-38.238 111.244-23.923 2.864-16.886-102.419-19.496-168.045zm283.266 106.611c-2.623 0-5.226 1.282-7.653 4.422-2.427 3.14-4.24 8.03-4.24 13.617 0 5.588 1.813 10.477 4.24 13.618 2.427 3.14 5.03 4.423 7.653 4.423 2.622 0 5.227-1.283 7.654-4.423 2.427-3.141 4.24-8.03 4.24-13.618 0-5.587-1.813-10.476-4.24-13.617-2.427-3.14-5.032-4.422-7.654-4.422z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaintRoller;

impl IconShape for PaintRoller {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87 20v130h8.596c-.196 2.517-.095 4.886.404 7 1.733 7.34 8.458 16 16 16s14.267-8.66 16-16c.5-2.114.6-4.483.404-7h101.27c-2.738 5.914-6.99 16.49-5.674 23 .846 4.188 4.13 9.127 7.814 9.127s6.967-4.94 7.813-9.127c1.315-6.51-2.936-17.086-5.674-23h102.14c1.85 7.268 8.477 15.67 15.907 15.67s14.056-8.402 15.908-15.67H425V94h14v85.99s.417 10.562-9.986 15.13c-.868.223-33.657 8.69-69.08 18.153-17.945 4.794-36.337 9.78-51.182 13.975-14.845 4.194-25.117 7.082-30.656 9.51-6.74 2.954-14.238 6.833-20.422 13.25C251.49 256.425 247 265.748 247 277v103h18V277c0-6.897 2.1-10.83 5.637-14.502 3.538-3.672 8.894-6.717 14.685-9.256 1.548-.678 13.63-4.52 28.324-8.672 14.696-4.15 33.033-9.127 50.932-13.908 35.798-9.562 69.844-18.35 69.844-18.35l.62-.162.59-.248C456.533 203.194 457 179.99 457 179.99V76h-32V20zm18 18h302v47.373c-7.212 4.035-14.646 14.71-23 15.627-21.86 2.4-42.026-16.844-64-16-16.853.647-32.418 22.454-48 16-11.018-4.564-4.686-28.23-16-32-22.627-7.542-40.21 30.31-64 32-16.823 1.196-31.135-16-48-16-12.762 0-28.045 1.332-39 7.906zm39 159s-19.875 31.586-16 48c1.733 7.34 8.458 16 16 16s14.267-8.66 16-16c3.875-16.414-16-48-16-48zm89 201v94h46v-94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaintedPottery;

impl IconShape for PaintedPottery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240 24c-16 0-48 16-64 32 0 13 0 26 8.582 39h142.836C336 82 336 69 336 56c-16-16-48-32-64-32zm-44.072 89c10.008 26.313 10.699 59.404 2.084 78h115.976c-8.615-18.596-7.924-51.687 2.084-78zm-16.471 96c-36.902 28.393-62.07 65.607-66.684 94h286.454c-4.614-28.393-29.782-65.607-66.684-94zm-66.908 112c5.395 44.88 49.453 88 79.451 103 8.465 8.465 12.43 16.904 14.307 23h99.386c1.878-6.096 5.842-14.535 14.307-23 29.998-15 74.056-58.12 79.451-103zm84.105 144c-11.436 6.993-20.654 7-20.654 7-16 0-16 16 0 16h160c16 0 16-16 0-16 0 0-9.218-.007-20.654-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Palette;

impl IconShape for Palette {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.174 41.604c-2.798-.01-5.576.056-8.332.195-96.67 4.85-177.38 86.93-217.842 192-40.462 105.06.914 239.97 90.336 237.48 89.42-2.5 18.09-99.6 65.486-146.12 24.345-23.9 58.852-15.48 94.207-5.64l-17.6-22.98-4.2-5.48c-1.38.06-2.79.102-4.26.09-8.24-.064-17.82-.54-25.25-7.347-13.89-12.73-14.4-31.304-14.08-47.908.32-16.605 1.12-32.375-4.05-42.587l-5.7-11.24 12.595-.37c1.046-.03 2.097-.05 3.15-.053 15.8-.073 32.304 2.776 46.914 9.03 15.584 6.67 29.254 17.44 36.154 33.053 4.18 9.46 3.665 20.116.623 29.768-.636 2.003-1.386 3.972-2.24 5.89l54.9 71.68c6.21-1.05 12.184-2.936 17.844-5.92 46.09-24.313 97.313-77.71 88.27-129.03-14.84-84.23-120.2-154.26-206.94-154.52zm60.79 39.888a34.152 39.804 15.878 0 1 17.913 7.06 34.152 39.804 15.878 0 1 4.666 54.87 34.152 39.804 15.878 0 1-48.72 9.77 34.152 39.804 15.878 0 1-4.665-54.87 34.152 39.804 15.878 0 1 30.805-16.83zm-119.85 4.467a39.307 30.27 71.565 0 1 34.603 35.56 39.307 30.27 71.565 0 1-23.213 41.31 39.307 30.27 71.565 0 1-37.678-35.47 39.307 30.27 71.565 0 1 23.213-41.31 39.307 30.27 71.565 0 1 3.07-.1zm-88.33 79.58a35.75 31.637 35.137 0 1 38.16 33.05 35.75 31.637 35.137 0 1-30.266 33.05 35.75 31.637 35.137 0 1-38.164-33.05 35.75 31.637 35.137 0 1 30.27-33.06zM421.256 170a34.25 40.436 25.644 0 1 20.41 9.578 34.25 40.436 25.644 0 1-2.914 55.51 34.25 40.436 25.644 0 1-50.107 3.966 34.25 40.436 25.644 0 1 2.916-55.51A34.25 40.436 25.644 0 1 421.26 170zm-174.152 27.95c2.982 12.774 1.784 26.197 1.548 38.275-.31 15.893.734 28.32 8.89 35.797 1.19 1.09 8.018 3.092 14.556 3.143 3.268.026 6.44-.22 8.718-.535 1.063-.146 1.874-.306 2.383-.425l13.02-9.362.02-.014c4.46-3.17 8.72-9.37 10.85-16.13 2.13-6.76 2.07-13.81 0-18.49-4.83-10.93-14.84-19.26-27.82-24.81-9.73-4.17-21-6.65-32.17-7.45zm67.455 83.808l-14.37 11L438.97 473.97l14.36-10.998-138.773-181.21zm-200.35 60.16a48.74 40.895 69.57 0 1 46.46 47.85 48.74 40.895 69.57 0 1-36.85 47.852 48.74 40.895 69.57 0 1-46.46-47.852 48.74 40.895 69.57 0 1 36.85-47.85z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Palisade;

impl IconShape for Palisade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 144.836l-9 48V279h18v-86.164l-9-48zm36 0l-9 48V279h18v-86.164l-9-48zm216 0l-9 48V279h18v-86.164l-9-48zm36 0l-9 48V279h18v-86.164l-9-48zm-360 64l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zm108 0l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zm108 0l-9 48V279h18v-22.164l-9-48zm36 0l-9 48V279h18v-22.164l-9-48zM18 297v16h138.96v-16H18zm156.96 0v16h162.005v-16H174.96zm180.005 0v16H494v-16H354.965zM31 331v156h18V331H31zm36 0v156h18V331H67zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18zm36 0v156h18V331h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PalmTree;

impl IconShape for PalmTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.125 20.625c-28.052.12-54.046 5.813-66.72 9.78 0 0 114.968 19.51 124.532 98.876C149.573 3.32 54.28 155.657 54.28 155.657c19.868-5.212 76.76-20.682 114.75-14.156 25.992 4.465 51.33 28.03 50.236 27.733-61.943 15.24-160.35 290.92-143.64 313.308 14.9 17.12 29.816 11.28 44.718 2.595 7.376-58.425 64.938-314.765 135.375-294.072.01.003.02-.003.03 0 5.93 2.03 11.54 5.59 11.844 11.03.58 10.363-6.11 27.3-4.53 39.063 3.662 27.296 9.007 36.79 16.78 46.313 18.564-10.435 36.326-48.057 40-67.564 16.634 7.284 43.373 24.155 65.187 86.813 11.404-58.716-5.042-105.03-59.03-125.595 23.38-10.105 125.142 41.03 137.563 69.53C475.648 199.264 390.167 136.378 319 139.72c13.644-3.56 28.638.6 42.906-9.907 19.146-14.098 41.474-26.24 62.28-39.282-69.972-30.435-134.545-15.407-139.092 16.095-3.573-69.916-57.83-86.204-105.97-86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PanFlute;

impl IconShape for PanFlute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 49v38h30V49H25zm48 0v38h30V49H73zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zm48 0v38h30V49h-30zM25 105v30h462v-30H25zm0 48v264.824c7.76-8.745 17.86-18.918 30-30.197V153H25zm48 0v218.402c9.233-8.09 19.286-16.572 30-25.295V153H73zm48 0v178.73c9.595-7.523 19.615-15.16 30-22.843V153h-30zm48 0v142.795c5.223-3.735 10.506-7.468 15.87-11.19 4.66-3.233 9.38-6.454 14.13-9.666V153h-30zm48 0v109.975c9.866-6.444 19.878-12.792 30-18.998V153h-30zm48 0v80.164c9.938-5.843 19.95-11.515 30-16.97V153h-30zm48 0v53.67c10.002-5.138 20.014-10.032 30-14.63V153h-30zm48 0v31.078c10.065-4.28 20.08-8.24 30-11.805V153h-30zm48 0v13.2c10.142-3.19 20.155-5.935 30-8.18V153h-30zm78 16.24c-9.602.487-19.63 1.73-30 3.65V191h30v-21.76zm-48 7.56c-9.776 2.42-19.793 5.358-30 8.762V207h30v-30.2zm-48 15.167c-9.883 3.725-19.9 7.835-30 12.277V223h30v-31.033zm-48 20.51c-9.97 4.718-19.984 9.72-30 14.966V255h30v-42.523zm-48 24.656c-10.05 5.545-20.064 11.298-30 17.22V287h30v-49.867zm-48 28.176c-10.14 6.298-20.155 12.735-30 19.262V319h30v-53.69zm-48 31.424c-1.29.887-2.588 1.772-3.87 2.66-8.907 6.18-17.628 12.397-26.13 18.6V351h30v-54.266zm-48 34.62c-10.453 7.895-20.473 15.708-30 23.353V383h30v-51.646zm-48 38.087c-10.922 9.127-20.983 17.888-30 26.09V431h30v-61.56zm-48 43.08c-7.535 7.413-13.883 14.104-18.77 19.787-4.14 4.81-7.254 8.933-9.14 11.953-1.887 3.02-2.09 5.303-2.09 3.74v15h30v-50.48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Panda;

impl IconShape for Panda {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.75 16.813c-24.29.552-47.924 8.42-62.844 26.03C29.71 57.24 27.212 75.418 31.126 93.438c3.912 18.02 13.678 36.518 26.25 55.063l.124.156C41.142 180.15 32 216.558 32 256c0 64 32 128 96 128 32 48 32 96 128 96s96-48 128-96c64 0 96-48 96-128 0-39.442-9.142-75.85-25.5-107.344l.125-.156c12.57-18.545 22.337-37.042 26.25-55.063 3.913-18.02 1.414-36.197-10.78-50.593-15.915-18.785-41.757-26.468-67.72-26.032-25.963.437-52.602 8.894-71.563 25.094l-1.593 1.344C306.473 35.923 281.892 32 256 32s-50.474 3.923-73.22 11.25l-1.593-1.344c-18.96-16.2-45.6-24.657-71.562-25.093-1.623-.028-3.256-.037-4.875 0zm.375 16c1.397-.034 2.808-.024 4.22 0 19.96.335 40.684 6.498 55.81 16.968C123.906 67.025 89.78 96 66.406 133.095c-9.75-15.32-16.81-30.108-19.624-43.063-3.203-14.755-1.46-26.517 7.314-36.874 10.937-12.91 30.08-19.842 51.03-20.343zm297.53 0c22.574-.38 43.585 6.572 55.25 20.343 8.775 10.357 10.518 22.12 7.314 36.875-2.814 12.956-9.874 27.743-19.626 43.064-23.372-37.096-57.5-66.07-98.75-83.313 15.127-10.47 35.85-16.632 55.812-16.968zM176 144c16 0 48 16 48 64 0 64-48 96-80 96s-48-64-48-96 64-64 80-64zm160 0c16 0 80 32 80 64s-16 96-48 96-80-32-80-96c0-48 32-64 48-64zm-143.53 80A16 16 0 0 0 176 240a16 16 0 0 0 32 0 16 16 0 0 0-15.53-16zm128 0A16 16 0 0 0 304 240a16 16 0 0 0 32 0 16 16 0 0 0-15.53-16zM256 340c12 0 24 4 48 12l-48 48-48-48c24-8 36-12 48-12zm-59.563 69.344C219.756 424.89 238.133 432 256 432c17.867 0 36.245-7.11 59.563-22.656l8.875 13.312C299.755 439.11 278.132 448 256 448c-22.133 0-43.755-8.89-68.438-25.344l8.875-13.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Panzerfaust;

impl IconShape for Panzerfaust {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.752 139.172l51.998 54.29 13-12.45-52-54.29-12.998 12.45zM187.74 256.424l9.683 10.11 56.33-53.952-9.684-10.11-56.33 53.952zM385.14 72.18l-38.345 72.733 24.227 25.294 74.315-35.176-60.198-62.85zm15.994-9.322l54.207 56.595 7.832-35.195-26.54-27.708-35.498 6.308zM48.828 433.784l20.75 21.666 9.39-8.992-20.752-21.666-9.388 8.992zm22.388-21.442l20.75 21.665 264.318-253.164-20.75-21.666L71.215 412.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperBoat;

impl IconShape for PaperBoat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 40l-74.6 161.6 74.6 24.9V40zm18 0v186.5l74.6-24.9L265 40zm-86.7 105.8l-136.02 17 112.02 35 24-52zm155.4 0l24 52 112.1-35-136.1-17zM25.48 176.4L130 307.1l104.6-65.4-209.12-65.3zm461.02 0l-209.1 65.3L382 307.1l104.5-130.7zM256 249.6L159.4 310h193.2L256 249.6zM128 358c-16 0-32.14 9-45.68 17.3-13.53 8.4-23.93 16.7-23.93 16.7l11.22 14s9.65-7.7 22.14-15.3C104.2 383 120.1 376 128 376c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 23.8 7 36.2 14.7 12.5 7.6 22.2 15.3 22.2 15.3l11.2-14s-10.4-8.3-23.9-16.7C416.1 367 400 358 384 358c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S272 358 256 358s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S144 358 128 358zm0 64c-16 0-32.14 9-45.68 17.3-13.53 8.4-23.93 16.7-23.93 16.7l11.22 14s9.65-7.7 22.14-15.3C104.2 447 120.1 440 128 440c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 23.8 7 36.2 14.7 12.5 7.6 22.2 15.3 22.2 15.3l11.2-14s-10.4-8.3-23.9-16.7C416.1 431 400 422 384 422c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S272 422 256 422s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S144 422 128 422z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperClip;

impl IconShape for PaperClip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M359.486 53.883c-18.533.924-36.916 8.152-52.168 23.404L50.463 334.143c-15.528 15.527-21.196 34.746-19.207 52.65 1.99 17.904 11.053 34.485 23.793 47.225 12.738 12.74 29.32 21.803 47.223 23.793 17.905 1.99 37.123-3.68 52.65-19.206l220.163-220.16c20.998-21 19.447-48.32 4.586-63.182-14.86-14.86-42.183-16.413-63.182 4.586L169.717 306.62l12.728 12.73L329.22 172.576c15.694-15.695 29.653-12.66 37.725-4.588 8.073 8.073 11.108 22.032-4.588 37.727l-220.16 220.16c-11.992 11.992-24.88 15.498-37.935 14.047-13.056-1.45-26.29-8.44-36.485-18.633-10.194-10.195-17.182-23.43-18.632-36.485-1.45-13.056 2.054-25.944 14.046-37.936L320.046 90.015c16.358-16.358 35.173-20.603 54.918-17.27 19.745 3.334 40.126 14.96 56.195 31.03 16.07 16.068 27.696 36.45 31.03 56.195 3.333 19.746-.912 38.56-17.27 54.92l-220.16 220.16 12.726 12.727 220.162-220.162c20.336-20.335 26.41-46.24 22.29-70.642-4.118-24.402-17.718-47.595-36.05-65.926-18.33-18.332-41.523-31.93-65.925-36.05-6.1-1.03-12.296-1.422-18.474-1.114z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperPlane;

impl IconShape for PaperPlane {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M480 40L32 296l112.148 37.383L448 72 209.404 355.135 320 392 480 40zM208 376l-16 96 49.932-83.863L208 376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperTray;

impl IconShape for PaperTray {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87.902 40.998L42.25 391.002h138.566l32 48h86.368l32-48h138.568L424.098 40.998h-98.536l-16 32H202.587l-16.967-32H87.902zm-46.904 368v78.004h430.004v-78.004H340.816l-32 48H203.184l-32-48H40.998z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperWindmill;

impl IconShape for PaperWindmill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M456.94 42.332c-62.326 8.638-108.47 14.454-139.52 21.62-35.254 8.135-55.44 18.14-76.61 38.98-8.608 18.737-4.073 43.725 6.444 67.388 8.828 19.863 21.663 38.372 31.652 50.047L456.94 42.332zM42.33 55.062c8.638 62.324 14.454 108.468 21.62 139.518 8.135 35.254 18.14 55.44 38.98 76.61 18.737 8.608 43.725 4.073 67.388-6.444 19.863-8.828 38.372-21.663 50.047-31.652L42.332 55.06zm175.84 70.475l-35.004 35.004c-4.363 4.364-3.523 4.776-3.395 5.28.128.5 1.615 2.58 4.125 5.352l50.192 50.19c5.57-3.51 11.813-5.558 18.174-6.132-7.634-10.833-15.25-23.628-21.46-37.6-7.305-16.436-12.647-34.487-12.632-52.093zm129.14 53.61c-.086-.008-.16-.003-.226.007-.178.03-.298.105-.424.137-.498.128-2.58 1.62-5.346 4.122l-50.68 50.68c3.486 5.527 5.535 11.72 6.126 18.03 10.935-7.746 23.91-15.496 38.088-21.798 16.437-7.305 34.49-12.648 52.095-12.633L351.94 182.69c-2.862-2.864-4.025-3.488-4.627-3.542zM256 232.942c-5.867 0-11.735 2.265-16.264 6.793-9.057 9.058-9.057 23.47 0 32.528 9.058 9.057 23.47 9.057 32.528 0 9.057-9.058 9.057-23.47 0-32.528-4.53-4.528-10.397-6.793-16.264-6.793zm131.205 2.86c-14.236-.038-29.912 4.245-45.045 10.97-19.862 8.828-38.372 21.662-50.047 31.65L470.148 456.46c-8.637-62.326-14.453-108.47-21.62-139.52-8.134-35.253-18.138-55.44-38.975-76.61-6.756-3.104-14.32-4.506-22.348-4.527zM215.23 259.736c-10.833 7.634-23.628 15.25-37.6 21.46-16.436 7.305-34.487 12.647-52.093 12.632l35.004 35.004c4.364 4.363 4.776 3.523 5.28 3.395.5-.128 2.58-1.615 5.352-4.125l50.19-50.192c-3.51-5.57-5.558-11.813-6.132-18.174zm62.68 30.9c-5.57 3.512-11.813 5.562-18.174 6.135 7.634 10.835 15.25 23.628 21.46 37.6 7.305 16.436 12.647 34.487 12.632 52.093l35.004-35.004c4.363-4.364 3.523-4.776 3.395-5.28-.128-.5-1.615-2.58-4.125-5.352l-50.192-50.19zm-44.816.997L55.06 469.668c62.326-8.638 108.47-14.454 139.52-21.62 35.254-8.135 55.44-18.14 76.61-38.98 8.608-18.737 4.073-43.725-6.444-67.388-8.828-19.863-21.663-38.372-31.652-50.047zM265 437.838c-5.73 4.104-11.683 7.74-18 10.986V496h18v-58.162z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Papyrus;

impl IconShape for Papyrus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M435.81 30.275C388.838 40.961 334.08 61.244 287.38 91.85c-13.3-17.911-43.633-31.767-65.365-47.67 14.824 17.007 33.197 32.832 44.923 50.873-30.61-2.727-105.185 1.463-107.044 5.367 25.135.906 65.16 1.522 92.511 4.582-23.869 8.135-43.06 19.42-59.443 30.06l79.082-16.076L256.113 494h18.014l15.937-375.113c41.485 14.063 76.712 35.74 111.977 58.388-23.826-30.197-45.612-56.79-90.092-73.029 29.257-29.168 81.371-49.765 123.862-73.97zm-302.939 89.393c-1.314 18.979-5.194 37.6-9.3 55.902-26.657-21.312-65.582-20.787-95.489-26.105 31.447 11.587 62.99 23.048 88.395 42.404-34.894 38.905-49.344 78.384-63.795 119.498 24.794-32.845 45.483-66.863 75.922-98.096L179.338 494h18.29l-52.116-288.385c38.12 6.632 68.002 21.504 98.937 35.32-25.786-17.036-51.694-35.034-86.94-48.378 26.469-11.813 55.016-23.104 84.618-28.69-31.193-5.296-76.743-3.807-98.523 9.928.637-18.66-1.947-34.846-10.733-54.127zm174.836 149.781c20.367 8.667 40.404 18.357 58.582 28.738-26.913 11.338-58.842 41.589-57.117 44.463 20.586-10.82 42.02-20.368 66.271-25.69L350.637 494h18.176l24.648-175.896c31.778 15.48 61.363 33.882 86.053 58.814-17.609-23.227-30.058-43.027-52.3-59.979 19.11-1.195 36.87.293 56.704 3.159-26.561-6.52-45.137-17.429-77.51-16.461a2.274 2.274 0 0 0-.043-.024c.273-.082 69.754-20.935 70.914-22.543 1.103-1.527-72.323 1.302-96.18 7.123-28.946-13.617-53.64-16.558-73.392-18.744z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Paraguay;

impl IconShape for Paraguay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.6 191.3L74.85 34.64C143.1 9.374 223.8 16.21 284.1 36.89l3 143.21 114 11.2 25.5 100.5 54.8-5.2-27 154.5-81.8 56.2-125.2-18 57.7-110.2C192.5 316.9 84.23 263.2 30.6 191.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Parasaurolophus;

impl IconShape for Parasaurolophus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M419.322 19.922c-28.844.072-58.162 15.058-72.72 37.717-27.606 5.912-40.208 25.251-56.188 48.81-7.693 11.342 5.49 20.645 10.535 22.125 9.49 2.785 22.884 3.14 31.551-3.91 14.961-12.17 43.699-20.43 53.244-3.32 6.108 10.947-1.182 57.18-14.111 52.72C139.36 93.94-7.257 356.17 22.689 397.46c21.203-84.39 82.134-126.719 204.534-125.049-5.45-21.798-6.183-42.729-4.428-47.49 15.72 36.958 23.484 68.636 45.144 87.617-13.896 3.452-18.595 20.153-19.314 34.766-2.158 43.852 5.17 89.728 12.643 132.74 1.397 10.727 48.105 1.598 55.005 1.863 9.474 5.422 54.196 4.677 61.043-9.94-5.268-8.295-11.667-19.001-27.039-23.527-6.069-28.11-14.848-56.672-15.802-83.93 18.314-10.734 38.48-22.039 39.638-37.122-9.522 2.466-22.846 3.919-42.203 2.968-6.805 16.042-19.448 31.429-29.35 41.11 1.433 31.518 7.005 64.421 12.33 94.912-5.691-6.737-10.5-14.043-20.613-17.938-6.069-28.11-14.848-56.672-15.802-83.93 44.57-25.01 47.95-68.953 36.662-111 8.87 5.59 22.373 48.206 21.484 59.02 11.75-.21 24.306.087 35.274-3.216-4.472-22.55-13.927-43.742-10.903-66.893 1.503 40.659 24.247 60.699 46.569 87.994-5.347 10.43-10.39 20.682-8.256 31.111 2.593 3.543 12.68 9.126 19.959 4.39 4.55-13.1 10.107-25.294 10.207-42.4.444-9.237-4.149-21.972-15.371-28.986 22.364-7.872 34.655-16.118 46.63-29.047 7.474-8.068 23.71-52.273-1.117-81-11.649-41.381-15.057-92.497-58.29-113.046 19.098-27.3 59.417-15.092 72.837 8.29 3.726 7.032 16.819-2.833 15.04-8.042-12.664-36.994-41.034-51.835-69.878-51.762zM350.34 73.059c2.678.004 5.16.775 6.455 2.486 2.813 3.716-1.57 11.651-6.14 12.56-4.688.933-12.03-4.886-10.747-9.49.96-3.444 5.968-5.564 10.432-5.556zm-38.91 29.468c3.325.501-.318 10.057-5.13 10.899-5.262.92-7.821-1.533-7.714-3.106.293-4.296 8.219-7.655 12.844-7.793zm148.617 185.385c-4.807 3.458-13.626 10.172-18.983 13.133.454 5.751 6.213 9.734 10.606 14.172-7.447 14.54-9.614 24.865-8.455 34.137l17.473 4.328c6.703-12.544 13.38-28.493 12.492-43.162-.506-8.348-5.284-18.008-13.133-22.608z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ParkBench;

impl IconShape for ParkBench {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M289.4 18c-1.2 1.9-1.9 3.91-2.3 5.99-1.4 8.93 4.9 18.7 17.5 26.87-40.4 19.75-61.8 52.14-52.5 79.74 7.7 22.9 35.3 38.4 71.8 40.3-3.1 28.7 14.9 50.2 41 48.8 9.2-.5 18.6-3.9 27.2-9.7 11.7 13.7 25.5 21 39.9 21 15.9 0 31.3-9.1 43.8-25.8 5.9 1.4 12 2.1 18.2 1.9V18H289.4zm132.7 230.2L409.5 493h45l-12.6-244.8c-3.2.5-6.5.8-9.9.8-3.4 0-6.7-.3-9.9-.8zM41 283v62h302v-62H41zm60 80v18h18v-18h-18zm164 0v18h18v-18h-18zM25 399v30h334v-30H25zm32 48v46h30v-46H57zm240 0v46h30v-46h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PartyFlags;

impl IconShape for PartyFlags {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M461.963 22C342.73 99.984 194.385 135.387 18 130.719v18.004C207.74 153.643 367.48 112.724 493.783 22h-31.82zm25.865 35.443L403.7 103.686l88.307 61.007-4.178-107.25zm-109.508 57.48l-92.037 27.298 73.315 78.388 18.722-105.685zm-128.498 35.491l-94.967 14.057 61.54 87.937 33.427-101.994zM116.48 166.78l-95.956 2.918 50.895 94.496 45.06-97.414zM18 279.461v18.662c231.522 63.276 368.876 81.316 476 84.926V365.05c-106.436-3.598-242.956-21.615-476-85.59zm43.379 51.244l24.053 104.602 69.25-82.002-93.303-22.6zm151.05 37.49l29.944 103.069 64.488-85.797-94.431-17.272zm153.087 24.446l40.615 99.351 55.111-92.101-95.726-7.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PartyHat;

impl IconShape for PartyHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233 25.93L153.2 220.3l25.3 4.6 25.2-23.9 4.6 34.5 30.5 16.6-31.3 15-6.3 34.1-24-25.1-34.4 4.5 16.5-30.6-9.8-20.6-62.33 151.7c-2.47 12.6.28 22 7.44 30.9 7.29 9 19.69 17 35.89 23.2 7.2 2.8 15 5.2 23.4 7.2l3.1-9.9-24.4-32.6 40.7-.6 23.5-33.2 13.2 38.5 38.9 12.1-32.7 24.4.1 10.1c13.2.8 26.7 1 40.2.6 46.6-1.3 93.1-9.2 124.6-21.6 15.8-6.2 27.7-13.6 33.9-20.7 6.2-7.1 7.6-12.5 4.5-20.5L301.3 158.8l-4.5-.2-21.8 27-9.1-33.5-32.5-12.4 29.1-19 1.7-34.09L233 25.93zm74.7 247.97l25.5 31.8 40.7-1.8-22.4 34 14.3 38.1-39.3-10.7-31.8 25.4-1.9-40.7-34-22.4 38.1-14.4 10.8-39.3zm129 133.6c-1.8 5-4.5 9.7-8.1 13.8-1.9 2.2-4.1 4.3-6.5 6.3.3 4.5-.1 8.5-1.1 12-2.7 10.2-9.7 17.5-21.8 23.1-24.2 11.2-67.6 12.5-114 5.9-.5-.1-1-.2-1.5-.2-8.8.7-17.8 1.1-26.7 1.4-19.5.5-39.1 0-57.9-1.8 27 8 55.7 14.4 83.6 18.4 48.1 6.8 93.4 6.9 124.1-7.4 15.4-7.1 27.3-18.7 31.6-34.7 2.9-10.9 2.3-23.1-1.7-36.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PartyPopper;

impl IconShape for PartyPopper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.7 23.32l1.7 21.87-16.7 14.25 21.4 5.17 8.4 20.25L149 66.18l21.8-1.75-14.2-16.71 5.1-21.32-20.3 8.35-18.7-11.43zM464 32a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zM239.8 42.5a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm183.9 6.84c-9.2 1.74-17.7 7.18-25.9 14.28-7.6 6.53-14.7 14.66-20.7 23.45-18.8 3.01-37.6 10.67-50.2 21.13-16.1 13.2-30.4 35.8-38.2 59.1-7.4 3.1-14.4 6.8-20.1 10.8-15.5 10.9-23.5 31.8-29.4 50-5.9 18.3-8.8 34.3-8.8 34.3l17.8 3.2s2.7-15 8.1-31.9c5.5-16.9 14.8-35.3 22.7-40.8 1.3-.9 3-1.9 4.5-2.8-.6 5.7-.6 11.4.3 16.8 1.8 11.4 8 22.3 19 28.2 7.8 4.2 16.6 3.2 24 .2 7.4-3.1 14-8.2 19.7-14.2 5.7-6 10.4-13.1 13.2-20.6 2.8-7.5 3.8-16 .2-23.9h-.1c-3.9-8.4-11.4-13.8-19.4-16.1-8-2.3-16.6-2.2-25.2-.9-1.5.2-2.9.7-4.4 1 7.4-15.8 18-30.7 27.5-38.6 6.2-5.1 16.6-10 27.7-13.6-1.4 3.8-2.5 7.6-3 11.5-1.6 10.5.7 21.9 9.1 29.7 6.1 5.6 14.3 6.5 21.5 5.3 7.1-1.2 14-4.4 20.2-8.5 6.2-4.2 11.7-9.4 15.6-15.5 3.9-6.1 6.5-13.9 4-21.7v-.1c-3.3-10.07-11.5-16.99-20.6-20.27-3.9-1.4-8-2.19-12.2-2.66 2.9-3.26 5.9-6.31 8.9-8.92 6.8-5.84 13.7-9.5 17.6-10.23l-3.4-17.68zM174.8 84.39l-15.2 9.56 34.5 55.25-56.4 2.9 26.5 57.8 16.4-7.6-15.5-33.6 60.6-3.1-50.9-81.21zm216.4 19.31c6.1-.1 11.5.6 15.5 2.1 5.4 1.9 8.1 4.3 9.5 8.8.4 1.1.2 3.3-1.9 6.6-2.2 3.4-6.1 7.2-10.5 10.2-4.5 3-9.5 5.1-13.2 5.7-3.8.7-5.5 0-6.3-.7-3.5-3.2-4.5-7.2-3.5-13.9.8-5.4 3.3-11.9 7-18.6 1.2 0 2.3-.2 3.4-.2zM94.99 123a16 16 0 0 0-16 16 16 16 0 0 0 16 16A16 16 0 0 0 111 139a16 16 0 0 0-16.01-16zm356.11 37.2l-14.4 16.6-21.8-1.8 11.4 18.8-8.5 20.2 21.4-5 16.6 14.3 1.9-21.9 18.7-11.4-20.2-8.5-5.1-21.3zm-123.5 16.5c2.9.1 5.6.5 7.7 1.1 4.3 1.2 6.6 3 8.2 6.4.9 1.9 1 5.4-.7 10-1.7 4.7-5.2 10.1-9.4 14.6s-9.3 8.1-13.5 9.8c-4.2 1.7-6.8 1.6-8.5.7h-.1c-5.8-3.2-8.6-7.8-9.7-15.2-1-6.3-.3-14.3 1.8-22.9 4.9-1.7 9.8-3.1 14.5-3.8 3.5-.5 6.7-.7 9.7-.7zm-202.4 51.9c-7.2-.2-11.7 1.5-14.5 4.3-2.8 2.8-4.5 7.3-4.3 14.5.2 7.3 2.6 16.9 7.2 27.6 9.2 21.5 27.3 47.4 51.6 71.8 24.3 24.3 50.3 42.3 71.8 51.5 10.6 4.6 20.2 7 27.5 7.2 7.3.3 11.7-1.5 14.5-4.3 2.8-2.8 4.6-7.2 4.3-14.5-.2-7.3-2.6-16.9-7.2-27.6-9.2-21.4-27.2-47.4-51.5-71.7-24.3-24.4-50.3-42.4-71.8-51.6-10.7-4.6-20.3-7-27.6-7.2zm232 31.3l-33 54-29.1-27.9-12.4 13 45.1 43.3 33.8-55.2 38.7 32.3 89.3-38.2-7-16.6-79.3 34-46.1-38.7zM93.43 272.6l-17.64 57.9c41.41 49.1 89.71 76.7 142.11 94.7l21.6-6.6c-3.1-1.1-6.4-2.4-9.7-3.8-24.4-10.4-51.7-29.6-77.3-55.3-25.7-25.7-44.9-53-55.34-77.4-1.41-3.2-2.65-6.4-3.73-9.5zm-23.82 78.2l-14.01 46c28.89 27 59 39.2 90.6 50.2l43.4-13.2c-43.2-17.6-84-43.3-119.99-83zM368 352a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zM49.81 415.9l-20.29 66.6 88.28-26.9c-22.77-9.1-45.78-20.7-67.99-39.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Passport;

impl IconShape for Passport {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.2 17.98L100.9 251.1l65.7-227.83.2-.75zm96.7 15.9l166.5 47.94 3.3-20.02zm-54.5 3.02L71.17 419.2 330.6 494l110.2-382.4zm9.4 50.55L406 149.5l-5 17.2-215.2-62zm23.9 90.15l123 35.4-5 17.2-123-35.4zm19.5 59.8c9.5 0 19.1 1.3 28.7 4.1 55.6 16 87.9 74.3 71.8 129.9-16 55.7-74.3 87.9-129.9 71.8-55.7-16-87.9-74.3-71.9-129.9 13.3-46.1 55.6-76.1 101.3-75.9zm-.1 17.9c-23.8-.1-46.4 9.6-62.7 26.3l35.4 10.2c8-13.8 18.2-26.3 30.1-36.5h-2.8zm22.6 7.7c-12.5 8.6-23.3 20.4-31.9 34l40.8 11.8c-.1-16.1-2.9-31.9-8.9-45.8zm20.8 4c4.7 15 6.6 31 6.1 47l35.4 10.2c-5.1-23.8-20-44.7-41.5-57.2zm-117.9 29.9c-4 6.5-7.2 13.7-9.4 21.4-2.2 7.6-3.3 15.3-3.4 22.8l38.9 11.2c1.1-7.6 2.8-15.1 4.9-22.5 2.1-7.4 4.8-14.7 7.9-21.7zm56.4 16.2c-3.3 7-6 14.3-8.1 21.7-2.1 7.4-3.7 15-4.6 22.6l48.4 14c3.2-7 6-14.2 8.1-21.7 2.1-7.4 3.7-15 4.6-22.6zm66 19c-1.1 7.6-2.8 15.2-4.9 22.6-2.1 7.4-4.8 14.7-7.9 21.8l38.9 11.2c3.9-6.5 7.1-13.6 9.3-21.3 2.2-7.7 3.3-15.4 3.5-23.1zm-133.4 28.2c5 23.9 20 45 41.8 57.5-4.8-15.1-6.8-31.1-6.3-47.3zm53.5 15.4c.1 16.2 2.9 31.9 8.9 45.9 12.5-8.7 23.3-20.5 32-34.1zm58.8 17c-8.1 13.9-18.3 26.4-30.3 36.6 25 1 48.8-8.9 65.8-26.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PathDistance;

impl IconShape for PathDistance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.6 21c-32 0-64.04 24-64.04 72L92.6 221l64-128c0-48-32-72-64-72zm282.3 39c-6.9.29-13.6 1.6-19.2 2.8l3.8 17.6c5.6-1.25 11.4-2.04 16.3-2.4zM92.6 61c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32-17.67 0-32-14.3-32-32 0-17.67 14.33-32 32-32zm302.2.2l-3 17.7c4.9 1.03 9.8 2.32 14.1 4.9l8.7-15.8c-6.1-3.25-12.9-6.17-19.8-6.8zm-57.5 6.7c-6.1 2.38-12.2 4.51-17.4 6.6L327 91c5.5-2.34 11.3-4.38 16.2-6.1zM431 81.3L417.3 93c3.6 4.12 6.4 9.2 8.6 13.3l16.1-8.1c-3.4-6.55-6.4-11.51-11-16.9zm-127.8.9c-6.1 3.11-11.1 5.88-16.5 8.6l8.8 15.8c5.2-3 10.9-5.9 15.5-8.2zm-32.3 17.9c-5.3 3.1-10.5 6.2-15.6 9.6l9.8 15c4.9-3.2 10-6.2 15-9.2zM448.2 118c-5.9 1-11.9 1.7-17.8 2.4.4 5 .1 10.4-.9 14.6l17.5 4.1c1-7.2 1.9-14.6 1.2-21.1zm-208.1 1.7c-5 3.4-9.9 6.9-14.9 10.3l10.4 14.7c4.8-3.5 9.7-6.8 14.6-10.2zm-29.6 21.1c-5 3.6-10.2 7.6-14.5 10.9l10.9 14.3c5.5-4 9.3-7 14.3-10.7zm213 8c-3 4.6-6.5 9.2-10 12.7l13.1 12.5c4.3-5.1 8.9-10.3 12.1-15.5zm-241.8 14.1c-4.9 3.8-9.8 7.7-14.1 11.3l11.4 13.9c4.7-3.9 9.5-7.9 13.9-11.1zM401.1 173c-4.6 3.7-9.4 7.3-13.8 10.3l10.3 14.8c5.3-3.6 10.5-7.5 15-11.1zm-247.4 12.9c-4.7 3.8-9.2 7.8-13.8 11.7l11.7 13.7c4.5-3.9 9-7.8 13.6-11.6zm218.9 7c-5.1 3-10.4 6.1-15.2 8.7l8.6 15.9c5.4-3.3 11.5-6.2 16-9.2zm-246.4 16.6c-4.5 4-8.9 8-13.4 12.1l12.1 13.4c4.4-4 8.9-8 13.3-12zm215.5.4c-5.3 2.6-10.6 5.3-15.9 7.9l7.7 16.2c6.2-3 10.8-5.5 16.4-8.1zm-32 15.4c-5.5 2.5-10.8 4.9-16.4 7.2l7.3 16.5c5.5-2.4 11-4.9 16.5-7.4zM99.6 234c-5.1 4.5-8.65 8-13.3 12.5l12.7 13c4.7-4.5 8.5-8.4 12.9-12.2zm177.3 5.8c-5.5 2.3-11 4.7-16.5 7l7 16.7c5.6-2.3 11.1-4.7 16.6-7.1zm-33.1 14c-5.5 2.4-11 4.8-16.6 7l7 16.7c5.5-2.3 11.1-4.7 16.6-7zm184.8 7.2c-32 0-64 24-64 72l64 128 64-128c0-48-32-72-64-72zm-218 6.8c-5.7 2.6-11.7 5-16.6 7.1l7.1 16.6c5.9-2.5 11.5-4.9 16.5-7.1zM177.4 282c-5.4 2.5-11.7 5.3-16.5 7.5l7.4 16.4c5.9-2.6 11.1-5.2 16.3-7.4zm-33 15c-5.6 2.7-11.4 5.5-16.4 8l8.1 16.1c5.4-2.8 11-5.4 15.9-7.8zm284.2 4c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-316.8 12.3c-5.3 2.9-10.6 5.9-16 9l9 15.6c5.1-3 10.3-5.8 15.5-8.6zM80.1 332c-5.61 3.2-11.03 7.5-15.7 10.6L75.3 357c4.97-3.6 10.32-7.3 14.6-9.9zm-29.9 22.6c-4.8 4.4-9.53 9.5-13.2 13.8l13.7 11.7c3.85-4.7 7.2-8.2 11.7-12.2zm217.8 1.3l1.6 17.9c5.2-.9 10.4-.3 15.6.5l3.1-17.7c-6.6-1-13.6-1.7-20.3-.7zm-37.2 10l6.8 16.7c5.2-2.3 10.6-4.1 16.1-5.8-1.9-5.7-3.3-11.5-4.8-17.3-6.3 1.8-12.6 4.2-18.1 6.4zm77.5-.9l-10.2 14.8c4.2 3.1 8.3 6.4 11.6 10.5l13.6-11.8c-5.1-5.2-9-10.1-15-13.5zm-94.5 9c-5.5 2.8-10.8 6-16.1 9.1l9.1 15.5c5.2-2.8 10.3-6.1 15.4-8.8zM26.01 385c-3.02 6.5-5.47 13.5-6.61 19.7l17.7 3.1c1.08-5.7 2.63-9.8 4.9-14.7-5.49-2.4-10.73-5.3-15.99-8.1zm156.09 7.8c-5.1 3.3-10.1 6.6-15.1 10l10 15c5-3.3 9.9-6.7 14.9-10zm152.7 1.2l-15.1 9.8c3.2 4.8 6.3 9.8 9.2 14.9l15.6-9c-3.5-5.6-6-10.6-9.7-15.7zm-182.7 19c-5 3.3-10 6.5-14.9 10l10 15c4.8-3.5 9.9-6.8 15-10.2zm-114.8 9.5c-5.79 1.2-11.63 2.2-17.45 3.3 1.05 7 3.86 13.8 6.4 19.2l16.25-7.8c-2.17-5-4.23-10.2-5.2-14.7zm316.1 2.8l-15.6 9c3.1 5.4 6.7 11.2 9.6 15.8l15.1-9.7c-3.4-5.3-6.3-10.3-9.1-15.1zm-231 7.5c-5 3.1-9.9 6.1-15.1 9l8.9 15.7c5.3-3.1 10.6-6.2 15.7-9.5zm-71.3 16.3l-12.3 13.2c5.56 5.3 12.42 8.8 19.9 10.4l4-17.5c-4.44-.9-8.59-3.1-11.6-6.1zm41 .3c-5.01 2.3-10.21 4.1-15.6 5.2l4.1 17.6c6.42-1.3 12.46-3.7 18.5-6.2zm280.3 4.8l-13.9 11.3c4.3 5.3 9.6 10.4 14.2 14l11.1-14.2c-4.4-3.4-8.2-7.5-11.4-11.1zm24.1 17.5l-4.5 17.5c7.9 1.6 13.8 2.1 21.2 1.3l-2.2-17.9c-4.9.8-9.7.3-14.5-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PathTile;

impl IconShape for PathTile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M411.748 32.71v18h17.38v-18h-17.38zM318.422 43.39l-.236 17.998 37.9.496.236-17.998-37.9-.496zM90.426 56.057c-11.4 0-29.341 1.019-36.014 4.861-6.673 3.842-9.066 7.926-9.066 11.072 0 3.146 8.188 13.902 14.861 17.744 6.529 3.76 16.45 6.487 27.553 6.604 2.346-3.682 5.705-6.728 9.398-8.98 9.823-4.72 18.875-6.877 28.274-6.368.28-.816.416-1.598.416-2.328 0-3.146-2.394-7.23-9.067-11.072-6.673-3.842-14.955-11.533-26.355-11.533zm138.248 15.142l-.362 18 24.833.496.359-17.998-24.83-.498zM122.205 98.9c-6.469 0-12.202 1.71-15.676 3.828-3.473 2.118-4.119 3.87-4.119 4.73 0 .86.646 2.614 4.12 4.732 3.473 2.119 9.206 3.827 15.675 3.827 6.469 0 12.204-1.708 15.678-3.827 3.473-2.118 4.119-3.872 4.119-4.732 0-.86-.646-2.612-4.12-4.73-3.473-2.119-9.208-3.829-15.677-3.829zm152.31 20.728l-.665 17.988 13.408.496.666-17.99-13.408-.494zm145.854 19.115l-.36 17.998 24.833.496.36-17.996-24.833-.498zm-222.283 21.852l-.217 17.996 41.166.498.219-17.998-41.168-.496zm157.723 29.799l-.36 17.996 24.832.496.36-17.996-24.832-.496zm-284.098.75l-25.824.992.691 17.986 25.824-.992-.691-17.986zm71.543 7.195l-.36 17.996 24.83.496.362-17.996-24.832-.496zm278.414 40.72l-.229 18 38.989.497.23-17.998-38.99-.498zm-250.604.997l-.359 17.996 24.832.496.36-17.996-24.833-.496zm193.008 16.634v18h19.367v-18h-19.367zm-86.73 7.204l-.346 17.322-26.154-.219V265.63h-14.899v15.246l-11.888-.1-.149 18 59.682.496.142-17.248 18.084.362.36-17.996-24.832-.496zm-168.68 44.447l-.285 17.998 31.365.496.285-18-31.365-.494zm-2.006 51.896l-.21 17.998 42.255.496.211-17.998-42.256-.496zm331.95 3.973l-.237 17.998 37.9.498.237-18-37.9-.496zm-388.717 5.96l-.36 17.997 24.83.496.362-17.996-24.832-.496zm175.804 5.96l-.359 17.996 24.83.496.361-17.996-24.832-.496zm177.72 18.43c-9.345.074-26.338 6.446-35.243 8.128-12.398 2.482-31.904 11.792-31.258 28.196 2.831 13.349 32.7 22.318 45.01 21.869 25.967-5.83 57.524-34.77 25.795-57.516-1.106-.487-2.575-.691-4.305-.677zm-195.599 11.367l-.359 17.998 24.832.496.36-17.996-24.833-.498zm236.454 36.008l-.528 17.992 33.819.994.527-17.992-33.818-.994zm-409.555 18.38l-.799 17.983 22.348.992.799-17.982-22.348-.993z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PayMoney;

impl IconShape for PayMoney {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.9 24.31c-14.9.3-25.6 3.2-32.7 8.4l-97.3 52.1-54.1 73.59c-11.4 17.6-3.3 51.6 32.3 29.8l39-51.4c49.5-42.69 150.5-23.1 102.6 62.6-23.5 49.6-12.5 73.8 17.8 84l13.8-46.4c23.9-53.8 68.5-63.5 66.7-106.9l107.2 7.7-1-112.09-194.3-1.4zM244.8 127.7c-17.4-.3-34.5 6.9-46.9 17.3l-39.1 51.4c10.7 8.5 21.5 3.9 32.2-6.4 12.6 6.4 22.4-3.5 30.4-23.3 3.3-13.5 8.2-23 23.4-39zm-79.6 96c-.4 0-.9 0-1.3.1-3.3.7-7.2 4.2-9.8 12.2-2.7 8-3.3 19.4-.9 31.6 2.4 12.1 7.4 22.4 13 28.8 5.4 6.3 10.4 8.1 13.7 7.4 3.4-.6 7.2-4.2 9.8-12.1 2.7-8 3.4-19.5 1-31.6-2.5-12.2-7.5-22.5-13-28.8-4.8-5.6-9.2-7.6-12.5-7.6zm82.6 106.8c-7.9.1-17.8 2.6-27.5 7.3-11.1 5.5-19.8 13.1-24.5 20.1-4.7 6.9-5.1 12.1-3.6 15.2 1.5 3 5.9 5.9 14.3 6.3 8.4.5 19.7-1.8 30.8-7.3 11.1-5.5 19.8-13 24.5-20 4.7-6.9 5.1-12.2 3.6-15.2-1.5-3.1-5.9-5.9-14.3-6.3-1.1-.1-2.1-.1-3.3-.1zm-97.6 95.6c-4.7.1-9 .8-12.8 1.9-8.5 2.5-13.4 7-15 12.3-1.7 5.4 0 11.8 5.7 18.7 5.8 6.8 15.5 13.3 27.5 16.9 11.9 3.6 23.5 3.5 32.1.9 8.6-2.5 13.5-7 15.1-12.3 1.6-5.4 0-11.8-5.8-18.7-5.7-6.8-15.4-13.3-27.4-16.9-6.8-2-13.4-2.9-19.4-2.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PeaceDove;

impl IconShape for PeaceDove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372 22.41c-6.4 33.89 6.8 54.39 32.6 66.3 4.6 8.17 8.4 16.29 11.4 24.39-15.3-17.02-33.3-25.31-58-13.12 14.1 27.62 35.6 32.42 61.5 23.42 6.2 21 7.7 41.6 6.3 62.4 0 .2 0 .4-.1.6 1 .6 2 1.1 2.9 1.7 4.9 2.9 9.7 5.9 14.3 8.9.4-3.3.7-6.7.9-10 1.2-17.6.4-35.4-3.3-53.5 26.8 5.1 43-8.6 52.8-33.62-24.2-2.6-44.9 1.22-55.3 22.92-2.6-9.4-6-18.9-10.3-28.46 23.7-15.85 37.7-36.07 26-67.62-22.5 8.53-33.5 22.13-36.3 39.47C412.8 44.33 400.3 28 372 22.41zM190.7 62.63C183.4 82.89 176.4 110 172 136.8c-3.2 19.9-5.3 39.7-5.7 56.9 30.4 25.9 63.3 44.6 99.8 46.3-33.2-52.5-63-120-75.4-177.37zM56.82 102.2c3.08 75.4 32.03 178.7 110.68 233.2l5.5 3.8-2 6.3c-3.2 10.1-7.8 19-15 25.8-7.3 6.8-16.9 11.2-28.7 13.3-22.5 4-54.14.8-101.89-7.7-9.6 24.1-8.29 50.6.43 72.1 8.72 21.3 24.29 36.6 42.1 40.6 24.85-31.8 62.26-70.4 113.56-68.1 52 2.3 111.5-12.1 146.9-47.6 12.5-12.4 23.2-42.3 29.4-68.6 6.2-26.3 8.7-49 8.7-49l.6-6.1 6-1.6c21.6-5.6 47.6-10.7 76.7-25.4-8.6-5.8-18.7-12.6-30.4-19.6-17.9-10.6-37.6-19.8-47.3-20.9-16.6-1.7-26 1.3-32.5 6.1-6.4 4.8-10.6 12.2-14.3 21.1-3.6 8.9-6.4 19-11.4 28.1-5.1 9.2-14 17.8-26.8 19.2-56 6.5-103.8-22.9-143.9-60.1-33-30.6-61.58-66.8-86.38-94.9zm376.08 148c-7.1 2.6-13.9 4.9-20.4 6.8-1.8 6.9-3.7 13.8-5.6 20.7l17.4 4.8c3-10.7 5.9-21.5 8.6-32.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Peach;

impl IconShape for Peach {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.4 25.55c-2.2 0-4.6.29-6.7.93-4.4 1.26-7.7 3.67-9.2 6.41-1.6 2.74-2.4 6.36.7 13.43v.12l23.9 60.66c5-1.3 10-2.3 15.2-3l-14.1-74.36v-.2c-.2-1.33-.8-2.13-3.9-3.17-1.6-.53-3.7-.82-5.9-.82zm-34.7 93.25c-30.1-.1-62.8 15.8-88.9 39.8-26.88 24.9-46.31 58.2-49.77 88.4-5.47 48 3.42 109.8 30.06 157.9 26.61 48.1 69.51 82.5 135.61 80.3 38.5-1.4 74.7-29 100.7-67.2s41.1-86.6 38.7-125c-2.4-38.5-23.2-81.9-53.8-115.5-30.6-33.6-70.5-57.1-109.6-58.6h-.1c-1 0-1.9-.1-2.9-.1zm74.6 2.2c-1.2 0-2.3.1-3.5.1 20.1 11.3 38.7 26.6 54.8 44.3 33 36.2 55.8 82.4 58.5 126.4 2.8 44-13.7 95-41.8 136.3-16.2 23.9-36.6 44.7-59.8 58.3 5.4.2 10.8.1 16.3-.5 53.2-5.4 92.3-27.6 118.3-60.9 25.9-33.3 38.8-78.1 37.3-129.3-1.6-53.3-32-102.5-73.4-135-31-24.4-67.9-39-102.4-39.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pear;

impl IconShape for Pear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.95 18.338c-3.947.023-10.478 1.91-20.565 8.836-7.298 40.94-.857 56.588 5.886 70.13 1.237.033 2.48.057 3.732.057 1.668 0 3.32-.038 4.957-.098-.676-9.13-3.08-16.483-2.7-27.447.404-11.67 4.89-25.824 17.053-47.036-1.846-2.035-3.736-3.653-6.034-4.2-.648-.154-1.42-.247-2.33-.242zm9.292 54.004c.127 6.694 2.01 13.31 2.666 22.947 6.93-1.344 12.858-3.294 17.082-5.714-.22 8.77-18.057 20.754-39.99 20.758-21.933-.003-39.768-11.985-39.99-20.756 3.93 2.252 9.348 4.09 15.664 5.416-2.054-5.518-3.862-11.984-5.004-19.734-31.958 12.787-54.188 51.445-66.67 138.82-144 160 0 280.84 96 279.572 96 .682 240-119.572 96-279.572-13.634-95.436-38.89-132.78-75.758-141.738zm-66.846 51.83c-9.33 19.17-8.802 83.413 2.82 89.557-21.74 23.22-92.49 128.855-52.216 224.35-32-32-68.22-128 27.78-224-2.346-36.07 11.173-83.697 21.616-89.908z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PearlEarring;

impl IconShape for PearlEarring {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M293.5 28.29h-5c-34.3.53-69.7 10.73-97.5 27.01-40.3 23.61-68.1 72.3-75 118.5-9 60.5 36.6 117 48.7 176.9 4.5 25.4 17.9 49.6 35.1 62.9 5.6-25.6 28.5-44.9 55.7-44.9 9.2 0 17.9 2.2 25.7 6.1 37.1-65.5 127.1-134.4 131.7-219 2.2-40.1-15.9-88.7-50.2-109.49-20.1-12.17-44.3-17.71-69.2-18.02zm-4.6 47.59c30.9.1 61.8 12.17 84.7 42.12l-14.2 11c-26.4-34.43-61.7-40.41-97-31.93-35.3 8.43-69.5 32.73-87.4 57.93-7.8 11.1-10.3 28.2-8.4 48.2 1.9 20 8.1 42.5 15.6 63.4 2.2 6.3 4.6 12.4 7 18.3 11.6-8.7 25.2-15.1 41.1-15.1 18.7 0 39.4 8.7 63.4 28.9l-11.6 13.8c-22.1-18.5-38.7-24.7-51.8-24.7-12.6 0-23 5.4-33.9 14.3 10.9 24.5 20.4 41.6 20.4 41.6l-15.6 8.8s-20.5-36.3-36-79.9c-7.7-21.7-14.3-45.4-16.5-67.7-2.1-22.3 0-43.8 11.7-60.3 20.8-29.4 57.6-55.39 97.8-65.03 10-2.41 20.3-3.69 30.7-3.69zM354 337.7c-6.3 31.3-25.2 43.8-56.5 37.5 31.3 6.3 43.8 25.2 37.5 56.5 6.3-31.3 25.2-43.8 56.5-37.5-31.3-6.3-43.8-25.2-37.5-56.5zm-98.5 49c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm-111.3 28.4c11 22.9 5.1 39.8-17.8 50.8 22.9-11 39.8-5.1 50.8 17.8-11-22.9-5.1-39.8 17.8-50.8-22.9 11-39.8 5.1-50.8-17.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PearlNecklace;

impl IconShape for PearlNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M70.184 23.738C55.614 23.738 44 35.35 44 49.91s11.614 26.174 26.184 26.174c14.569 0 26.183-11.614 26.183-26.174 0-14.56-11.614-26.172-26.183-26.172zm371.632 0c-14.569 0-26.183 11.612-26.183 26.172s11.614 26.174 26.183 26.174C456.386 76.084 468 64.47 468 49.91c0-14.56-11.614-26.172-26.184-26.172zM70.184 94.084C55.614 94.084 44 105.696 44 120.256s11.614 26.172 26.184 26.172c14.569 0 26.183-11.612 26.183-26.172S84.753 94.084 70.184 94.084zm371.632 0c-14.569 0-26.183 11.612-26.183 26.172s11.614 26.172 26.183 26.172c14.57 0 26.184-11.612 26.184-26.172s-11.614-26.172-26.184-26.172zm-354.04 70.344c-14.57 0-26.184 11.614-26.184 26.174 0 14.56 11.614 26.171 26.183 26.171 14.57 0 26.186-11.612 26.186-26.171 0-14.56-11.616-26.174-26.186-26.174zm336.449 0c-14.57 0-26.186 11.614-26.186 26.174 0 14.56 11.616 26.171 26.186 26.171 14.569 0 26.183-11.612 26.183-26.171 0-14.56-11.614-26.174-26.183-26.174zM122.96 234.773c-14.57 0-26.186 11.613-26.186 26.172 0 14.56 11.617 26.174 26.186 26.174 14.57 0 26.184-11.614 26.184-26.174 0-14.56-11.615-26.172-26.184-26.172zm266.078 0c-14.57 0-26.184 11.613-26.184 26.172 0 14.56 11.615 26.174 26.184 26.174 14.57 0 26.186-11.614 26.186-26.174 0-14.56-11.617-26.172-26.186-26.172zm-203.406 42.868c-14.57 0-26.186 11.612-26.186 26.171 0 14.56 11.617 26.172 26.186 26.172 14.57 0 26.183-11.612 26.183-26.171 0-14.56-11.614-26.172-26.183-26.172zm140.734 0c-14.57 0-26.183 11.612-26.183 26.171 0 14.56 11.614 26.172 26.183 26.172 14.57 0 26.186-11.612 26.186-26.171 0-14.56-11.617-26.172-26.186-26.172zM256 295.227c-14.57 0-26.184 11.612-26.184 26.171 0 14.56 11.615 26.174 26.184 26.174 14.57 0 26.184-11.614 26.184-26.174 0-14.56-11.615-26.171-26.184-26.171zm0 70.345c-34 0-61.367 27.359-61.367 61.344s27.366 61.346 61.367 61.346c34 0 61.37-27.361 61.37-61.346S290 365.572 256 365.572z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Peas;

impl IconShape for Peas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.1 29.21c-5 0-9.5.31-13.3.87-19 2.84-29.5 10.17-38.9 19.66-5.5 5.57-10.5 12.05-16.2 18.59 19.9 2.13 35.5 2.41 58.9-5.1l12.1-3.85-.3 12.61c-.1 2.9-.3 8.5 0 13.43.1 1.86.3 3.12.6 4.26 22.3 5.31 49.3 3.09 71.1-9.14 2.1-10.57.5-18.32-3.5-24.75-4.4-7.15-12.1-13.04-21.9-17.4-14.7-6.53-33.7-9.18-48.6-9.18zm-15.7 54.48c-11.4 2.74-21.6 3.77-31.5 3.83-11.3 17.88-22.8 35.28-34.9 52.28 7.1-4.7 15.7-7.5 24.8-7.5 10.3 0 19.8 3.5 27.4 9.4 6.5-13.4 12.4-27 17.6-41-.9-1.52-1.4-3.12-1.8-4.39-1-3.3-1.4-6.52-1.6-9.74-.1-1.01 0-1.88 0-2.88zm19.5 24.71c-41.8 111.1-123.6 200.9-249.1 293.4l-.2.2-.3.2c-35.8 22.7-52.1 38.4-59.51 50.9-5.96 9.9-7.02 18.4-7.81 29.3 23.02 1.8 53.62-2.5 82.92-11 32.8-9.6 64.4-24.3 82.9-39.4 112.9-95.8 154.9-197.1 194.9-323.2-14.8 2.6-29.8 2.3-43.8-.4zm-61.1 41.9c-15 0-26.9 11.9-26.9 26.9 0 12 7.6 22 18.4 25.6 10.1-14.6 19.2-29.5 27.5-44.8-4.9-4.8-11.6-7.7-19-7.7zm-43.1 14.4c-10.7 14-22 27.8-33.9 41.3 7.1-4.4 15.4-6.9 24.2-6.9 5.3 0 10.5.9 15.2 2.6-4.6-7.1-7.3-15.5-7.3-24.5 0-4.3.6-8.5 1.8-12.5zm-9.7 52.4c-15.8 0-28.4 12.6-28.4 28.4 0 11.6 6.8 21.5 16.7 25.9 12.8-13.6 24.7-27.3 35.7-41.2-5-7.9-13.9-13.1-24-13.1zm-41.5 7.7c-13.7 14.4-28.4 28.5-44.3 42.4 6.3-2.9 13.3-4.6 20.7-4.6 9.4 0 18.2 2.7 25.7 7.3-4.4-7.1-7-15.5-7-24.4 0-7.4 1.8-14.4 4.9-20.7zm-23.6 55.8c-17.2 0-31 13.8-31 31 0 10.8 5.5 20.3 13.8 25.8 15.9-13.3 30.8-26.6 44.8-40-5.2-10-15.5-16.8-27.6-16.8zm-40.2 3.1c-15.7 12.7-32.5 25.3-50.6 37.7 6.1-2.8 12.8-4.3 19.9-4.3 8.4 0 16.3 2.1 23.3 5.9-.9-3.7-1.4-7.5-1.4-11.4 0-10.4 3.2-20 8.8-27.9zm-64.3 46.8c-9.2 6-18.7 12-28.6 18l-.1.1h-.1c-11.79 6.7-21.86 18-30.18 31.3 7.47-6.2 17.03-9.9 27.42-9.9 5.92 0 11.56 1.2 16.66 3.4-.3-2.4-.5-4.8-.5-7.3 0-14 5.9-26.6 15.4-35.6zm33.6 4.6c-17.2 0-31 13.8-31 31 0 10.9 5.5 20.4 13.9 25.9 2.4-1.5 4.8-3.1 7.3-4.7 13.7-10.1 26.9-20.2 39.5-30.2-3.9-12.8-15.6-22-29.7-22zm-65.16 53c-14 0-25.15 11.1-25.15 25.1 0 12.1 8.38 22.1 19.72 24.5 6.61-9 16.19-18.5 30.19-29.2-2.2-11.7-12.4-20.4-24.76-20.4zm-43.13 24.1c-6.21 16.3-10.26 32.4-12.76 44.8 11.69 1.7 25.59 1.4 40.43-.4.32-.9.66-1.8 1.02-2.7-16.69-6-28.71-22.1-28.71-40.7v-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PelvisBone;

impl IconShape for PelvisBone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238 30v19h-20v18h20v20h-20v18h20v21h36v-21h20V87h-20V67h20V49h-20V30h-36zM93.307 79.396c-10.17-.015-21.323.91-30.235 2.584-24.88 3.689-37.484 27.382-39.467 48-2.71 28.187 16.457 65.576 40.461 74.696 8.794 18.394 20.548 29.256 20.577 59.603-12.862 8.189 9.434 53.38 23.886 72.791 3.429-2.41 7.356-4.378 11.676-5.873 6.61-1.93 12.516-2.99 18.492-3.033 35.425.921 81.327 17.062 117.303 27.992 42.217-13.164 74.84-24.29 117.303-27.992 5.976.043 11.881 1.104 18.492 3.033 4.32 1.495 8.247 3.463 11.676 5.873 14.452-19.41 36.748-64.602 23.886-72.79.029-30.348 11.783-41.21 20.577-59.604 24.004-9.12 43.17-46.509 40.46-74.696-1.982-20.618-14.585-44.311-39.466-48-8.912-1.674-20.065-2.599-30.235-2.584-41.472.54-83.145 17.235-91.1 48.833 19.617 22.513 28.433 47.644 29.553 69.59.492 9.62-.362 18.806-2.568 26.956 42.439 13.016-.5 66.772-17.982 70.51L256 341.412l-80.596-46.127c-17.482-3.738-60.42-57.494-17.982-70.51-2.206-8.15-3.06-17.337-2.568-26.957 1.12-21.945 9.936-47.076 29.552-69.59-7.954-31.597-49.627-48.291-91.1-48.832zm107.625 57.375c-19.197 20.432-27.138 43.096-28.102 61.965-.314 6.155.21 11.777 1.262 16.748C200.384 210.261 208.447 241.261 224 256c6.609 6.263 16.058 16.86 23 24.85V304h18v-23.15c6.942-7.99 16.391-18.587 23-24.85 15.553-14.74 23.616-45.74 49.908-40.516 1.053-4.971 1.576-10.593 1.262-16.748-.964-18.869-8.905-41.533-28.102-61.965a918.161 918.161 0 0 0-14.722 6.356c.42 1.498.654 3.09.654 4.78 0 9.281-6.919 15.65-14.348 19.364-5.043 2.522-10.901 4.195-17.28 5.024l-.372 51.77-18-.13.371-51.546c-6.669-.791-12.785-2.498-18.023-5.118-7.429-3.714-14.348-10.083-14.348-19.365 0-1.797.266-3.482.738-5.062a816.52 816.52 0 0 1-14.806-6.073zM256 140.906c-7.62 0-14.449 1.66-18.602 3.737-3.262 1.63-4.103 2.972-4.318 3.263.215.292 1.056 1.635 4.318 3.266 4.153 2.076 10.981 3.734 18.602 3.734 7.62 0 14.449-1.658 18.602-3.734 3.262-1.631 4.103-2.974 4.318-3.266-.215-.29-1.056-1.632-4.318-3.263-4.153-2.077-10.981-3.737-18.602-3.737zm22.92 7c.059.08.08.096.08 0 0-.095-.021-.08-.08 0zm-45.84 0c-.059-.08-.08-.095-.08 0 0 .096.021.08.08 0zm-93.64 198.49c-7.309-.083-14.556 1.631-19.958 5.026.695 20.369-12.049 43.914 23.803 58.79 13.483 28.43 30.516 38.456 53.707 16.577 12.724-18.051 14.887-25.915 59.008-36.72 44.121 10.805 46.284 18.669 59.008 36.72 23.19 21.879 40.224 11.852 53.707-16.576 35.852-14.877 23.108-38.422 23.803-58.791-9.002-5.481-22.087-6.193-32.791-2.908.864 31.423-12.923 61.112-27.426 55.574-4.929-1.882-25.462-34.963-24.492-42.377L256 375.135l-51.809-13.424c.97 7.414-19.563 40.495-24.492 42.377-14.503 5.538-28.29-24.151-27.426-55.574-4.042-1.37-8.449-2.067-12.834-2.118z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pencil;

impl IconShape for Pencil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M429.548 30.836c-.307-.003-.6.005-.875.024-2.212.147-3.34.653-4.576 1.89l-27.58 27.58 55.156 55.154 27.578-27.58c1.238-1.236 1.744-2.363 1.89-4.575.15-2.21-.37-5.433-1.805-9.163-2.87-7.46-9.277-16.667-17.055-24.445-7.778-7.778-16.985-14.185-24.445-17.055-3.264-1.255-6.138-1.81-8.287-1.83zm-45.758 42.22l-9.9 9.9 9.9 9.9 12.727 12.727 9.9 9.9 12.727 12.728 9.9 9.9 9.9-9.9-55.155-55.155zm-22.627 22.626L72.665 384.186l9.898 9.897 288.5-288.5-9.9-9.9zm22.627 22.63L95.29 406.808l9.9 9.902 288.5-288.5-9.9-9.9zm22.63 22.626l-288.502 288.5 9.897 9.9 288.503-288.5-9.9-9.9zM63.223 400.198l-12.12 30.306 30.393 30.394 30.305-12.12-6.61-6.612L92.46 429.44l-9.9-9.9-12.73-12.728-6.61-6.612zm-19.395 48.488l-12.993 32.478 32.478-12.992-19.486-19.485z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PencilBrush;

impl IconShape for PencilBrush {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.438 29.793a23.808 23.808 0 0 0-1.204.012c-4.688.157-7.914 1.734-10.113 3.933-2.932 2.932-4.76 7.689-3.588 15.305 1.174 7.616 5.683 17.754 15.272 28.941 67.894 79.21 132.935 155.56 183.703 211.97 12.273 13.636 23.693 26.079 34.125 37.134 12.095-31.902 34.57-54.144 62.902-64.715-10.825-10.199-22.936-21.313-36.197-33.248C242.93 178.357 166.578 113.314 87.369 45.42c-11.186-9.59-21.325-14.098-28.941-15.272a29.555 29.555 0 0 0-3.99-.355zm375.109 1.043c-.307-.003-.6.004-.875.023-2.212.147-3.34.654-4.576 1.891l-27.58 27.58 55.156 55.154 27.578-27.58c1.238-1.236 1.745-2.362 1.89-4.574.15-2.21-.37-5.434-1.804-9.164-2.87-7.46-9.277-16.667-17.055-24.445-7.778-7.778-16.985-14.185-24.445-17.055-3.264-1.255-6.138-1.81-8.287-1.83h-.002zm-45.758 42.22l-9.9 9.901 9.9 9.898 12.727 12.729 9.9 9.898 12.729 12.729 9.898 9.9 9.9-9.9-55.154-55.154zm-22.627 22.628l-87.389 87.39 10.467 9.332 86.822-86.822-9.9-9.9zm22.627 22.629l-86.092 86.09 10.469 9.331 85.523-85.523-9.9-9.899zm22.629 22.624l-84.795 84.795 10.469 9.332 84.226-84.226-9.898-9.9h-.002zm-213.857 123.35L72.664 384.186l9.898 9.898 119.342-119.342-9.343-10.455zm157.66 12.147c-30.461 7.627-53.24 29.184-63.608 65.218 5.652 5.785 10.956 11.085 15.78 15.707 7.58 7.264 14.096 13.007 19.21 16.957 1.777-17.225 10.045-33.062 21.645-44.691 10.601-10.628 24.496-18.006 39.125-19.092-3.87-4.836-9.139-10.75-15.629-17.523-4.838-5.047-10.416-10.623-16.523-16.576zm-136.303 11.748L95.289 406.809l9.9 9.902 118.075-118.074-9.346-10.455zm21.361 23.894L117.918 429.437l9.896 9.9 116.81-116.806-9.345-10.455zm150.293 16.307c-10.397.137-20.929 5.28-29.582 13.955-11.537 11.565-18.674 28.851-16.267 45.701 5.334 37.342 23.75 65.81 49.46 81.236 22.728 13.636 51.452 17.35 83.643 6.983-24.222-4.01-46.475-30.705-48.197-50.649 10.63 12.814 23.94 24.547 38.426 31.75-9.881-22.578-9.201-45.453-11.088-64.322-1.352-13.522-3.891-24.982-11.377-35.162-7.486-10.18-20.423-19.8-44.74-27.906a31.062 31.062 0 0 0-10.278-1.586zm-322.35 71.816l-.003.002.002.002.002-.004zm-.001.004l-12.117 30.3 30.392 30.395 30.305-12.12-6.61-6.612-12.732-12.727-9.898-9.898-12.73-12.728-6.61-6.61zm-19.395 48.485l-12.992 32.476 32.478-12.992-19.486-19.485z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PencilRuler;

impl IconShape for PencilRuler {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M429.5 30.83h-.8c-2.2.15-3.4.65-4.6 1.89L396.5 60.3l55.2 55.2 27.5-27.63c1.3-1.23 1.8-2.36 1.9-4.57.2-2.21-.3-5.43-1.8-9.16-2.8-7.46-9.2-16.67-17-24.45-7.8-7.78-17-14.18-24.5-17.05-3.2-1.26-6.1-1.81-8.3-1.83zm-320.6.32L31.15 108.9l9.91 9.9 27.56-27.55L81.36 104l-27.53 27.6 21.16 21.1 27.51-27.5 12.8 12.8-27.55 27.5 21.15 21.1 50.2-50.1 12.8 12.8-50.2 50.1 21.2 21.2 27.5-27.6 12.8 12.8-27.5 27.6 21.1 21.1 27.5-27.5 12.8 12.8-27.5 27.5 21.1 21.2 50.2-50.2 12.8 12.8-50.2 50.2 21.2 21.1 27.5-27.5 12.8 12.8-27.5 27.5 21.1 21.2 27.6-27.6 12.8 12.8-27.6 27.6 21.1 21.1 50.2-50.2 12.8 12.8-50.2 50.2 21.2 21.1 27.5-27.5 12.8 12.8-27.5 27.5 21.1 21.2 27.6-27.6 12.8 12.8-27.6 27.6 9.9 9.9 77.8-77.8zm274.9 41.89l-9.9 9.91 9.9 9.9 12.7 12.75 9.9 9.9 12.7 12.7 9.9 9.9 9.9-9.9zm-22.6 22.63L280 176.8l9.9 9.9 81.2-81.1zm22.6 22.63l-81.1 81.2 9.9 9.8 81.1-81.1zm22.6 22.6l-81.1 81.2 9.9 9.9 81.1-81.2zM176.8 280L72.68 384.2l9.9 9.9L186.7 289.9zm22.6 22.7L95.31 406.8l9.89 9.9 104.1-104.1zm22.7 22.6L117.9 429.4l9.9 9.9L232 335.2zM63.24 400.2l-12.12 30.3 30.4 30.4 30.28-12.1-6.6-6.6-12.72-12.8-9.9-9.9-12.73-12.7zm-19.39 48.5l-13 32.5 32.48-13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PendantKey;

impl IconShape for PendantKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71 32c0 51.5 29.1 108.6 66 153.7 9.8 11.9 20.1 23 30.6 32.8-.4 1.8-.6 3.6-.6 5.5 0 13.7 11.3 25 25 25 4 0 7.8-1 11.1-2.7 14.9 9.5 29.7 16 43.9 18V280c-18.2 4.2-32 20.6-32 40s13.8 35.8 32 40v120h18v-14h39v-18h-39v-18h23v-18h-23v-52c18.2-4.2 32-20.6 32-40s-13.8-35.8-32-40v-15.7c14.2-2 29-8.5 43.9-18 3.3 1.7 7.1 2.7 11.1 2.7 13.7 0 25-11.3 25-25 0-1.9-.2-3.7-.6-5.5 10.5-9.8 20.8-20.9 30.6-32.8 36.9-45.1 66-102.2 66-153.7h-18c0 44.5-26.9 99.4-62 142.3-8.6 10.5-17.7 20.3-26.9 29.1-4-2.8-8.9-4.4-14.1-4.4-13.7 0-25 11.3-25 25 0 3.1.6 6 1.6 8.8C281.3 242 266.9 247 256 247c-10.9 0-25.3-5-40.6-14.2 1-2.8 1.6-5.7 1.6-8.8 0-13.7-11.3-25-25-25-5.2 0-10.1 1.6-14.1 4.4-9.2-8.8-18.3-18.6-26.9-29.1C115.9 131.4 89 76.5 89 32H71zm176 266.8V314h18v-15.2c8.3 3.5 14 11.6 14 21.2 0 12.8-10.2 23-23 23s-23-10.2-23-23c0-9.6 5.7-17.7 14-21.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PendulumSwing;

impl IconShape for PendulumSwing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.113 18l-20.398 253.85a57.09 57.09 0 0 1 5.27-.254c4.362 0 8.606.51 12.69 1.447L178.17 18h-18.057zM254 18v261.723a56.894 56.894 0 0 1 9-.723c3.06 0 6.067.247 9 .717V18h-18zm96 0v261.717a56.86 56.86 0 0 1 18 0V18h-18zm96 0v261.717a56.86 56.86 0 0 1 9-.717c3.062 0 6.066.253 9 .723V18h-18zM46.727 225.266c4.836 26.24 14.8 45.795 33.556 68.322-17.71-3.873-38.847-20.713-53.068-37.97 6.053 23.69 30.466 50.84 48.613 68.017-14.17-1.282-41.672-13.72-56.185-23.375 6.067 14.415 37.752 46.36 56.537 51.074-23.762 3.01-44.836-8.756-51.973-11.7 6.418 13.096 22.893 28.957 88.756 36.055-15.053-10.283-24.977-27.574-24.977-47.094 0-21.774 12.348-40.77 30.39-50.364-26.667-9.646-51.795-25.765-71.65-52.966zm98.26 64.33c-21.646 0-39 17.354-39 39 0 21.645 17.354 39 39 39 21.645 0 39-17.355 39-39 0-21.646-17.355-39-39-39zM263 297c-21.646 0-39 17.354-39 39s17.354 39 39 39 39-17.354 39-39-17.354-39-39-39zm96 0c-21.646 0-39 17.354-39 39s17.354 39 39 39 39-17.354 39-39-17.354-39-39-39zm96 0c-21.646 0-39 17.354-39 39s17.354 39 39 39 39-17.354 39-39-17.354-39-39-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Penguin;

impl IconShape for Penguin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M299.538 26.987c-27.712 4.261-39.38 15.192-49.267 22.648l-.053.041-.053.041c-73.941 57.51-101.795 128.454-108.16 196.262-6.068 64.64 6.728 126.235 16.002 173.3-34.558 15.572-55.01 34.272-73.676 63.16 49.896.875 114.104 3.897 154.125-14.92 33.248 24.616 108.192 18.58 125.744 12.72-15.002-12.068-30.944-22.905-53.937-24.522-1.684-10.036-2.83-21.368-2.192-30.248 25.491-100.31 58.396-193.682 30.438-315.685 27.736-8.906 78.544-25.196 89.16-35.451-20.08-15.046-90.089-52.22-128.13-47.346zm60.707 36.559l.867 13.955c-23.91 13.53-34.384 18.079-59.607 24.576-9.107-16.065-22.116-30.075-33.367-43.555 34.533-19.437 53.308-15.992 92.107 5.024zm-72.43 51.62c-.99 18.622-6.979 37.33-10.996 53.891-7.99-11.08-20.678-17.038-33.222-16.574-4.64.171-9.26 1.22-13.61 3.207-8.7 3.976-16.028 11.913-19.63 22.748-3.603 10.835-3.732 24.346.396 40.598 6.371 25.08 6.294 69.204 7.719 106.699.712 18.747 1.8 35.878 4.814 49.297 1.507 6.709 3.403 12.55 6.776 17.539 3.372 4.988 9.425 9.27 16.175 9.25l.336-.002.334-.026a43.534 43.534 0 0 0 3.383-.398c-2.61 21.604 12.917 42.21 12.26 60.81-9.846-5.039-14.043-9.963-22.057-16.117-37.715 21.695-84.065 18.818-120.26 17.752 20.485-17.142 36.638-25.124 58.305-33.273-14.806-66.279-23.097-128.644-18.613-182.904 5.814-61.937 28.745-124.924 93.33-178.202 20.062 5.353 34.83 40.62 34.56 45.705zm-24.19 66.569c18.134 32.064 26.544 83.772 22.802 126.738-1.871 21.483-6.771 40.786-14.04 54.17-4.19 6.172-22.242 27.486-27.411 19.846-1.247-1.844-2.888-5.893-4.125-11.4-2.474-11.016-3.693-27.621-4.393-46.038-1.4-36.833-.715-80.751-8.258-110.445-3.515-13.837-2.97-23.85-.761-30.49 6.1-18.223 28.237-14.862 36.185-2.381z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Periscope;

impl IconShape for Periscope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340 49.5c-13.417 0-26.838 9.714-37.441 28.27C291.955 96.325 285 122.962 285 152.5c0 29.538 6.955 56.175 17.559 74.73 10.603 18.556 24.024 28.27 37.441 28.27h25.3c-5.383-5.51-10.208-12.057-14.368-19.338C338.372 214.182 331 184.818 331 152.5c0-32.318 7.372-61.682 19.932-83.662 4.16-7.28 8.985-13.828 14.369-19.338zm64 0c-13.417 0-26.838 9.714-37.441 28.27C355.955 96.325 349 122.962 349 152.5c0 29.538 6.955 56.175 17.559 74.73 10.603 18.556 24.024 28.27 37.441 28.27 13.417 0 26.838-9.714 37.441-28.27C452.045 208.675 459 182.038 459 152.5c0-29.538-6.955-56.175-17.559-74.73C430.838 59.214 417.417 49.5 404 49.5zm-264 16s-22.121.124-43.975 11.05C74.172 87.478 53 107.5 53 152.5v147.611c47.27 12.252 96.213 15.314 150 .475V280.5c0-19.131 11.354-31.107 21.813-36.117 10.458-5.01 20.59-4.883 20.59-4.883h43.523a110.13 110.13 0 0 1-1.994-3.338C274.372 214.182 267 184.818 267 152.5c0-32.318 7.372-61.682 19.932-83.662a110.128 110.128 0 0 1 1.994-3.338zm264 6c7.154 0 13.646 3.366 18.66 8.139 5.015 4.772 8.951 11.004 12.192 18.295C441.332 112.516 445 131.537 445 152.5s-3.668 39.984-10.148 54.566c-3.24 7.291-7.177 13.523-12.192 18.295-5.014 4.773-11.506 8.139-18.66 8.139s-13.646-3.366-18.66-8.139c-5.015-4.772-8.951-11.004-12.192-18.295C366.668 192.484 363 173.463 363 152.5s3.668-39.984 10.148-54.566c3.24-7.291 7.177-13.523 12.192-18.295 5.014-4.773 11.506-8.139 18.66-8.139zm23.791 65c-3.009 25.403-16.681 46.548-39.33 65.404 5.38 4.034 18.735 25.963 32.242-2.808 10.666-22.719 10.624-44.987 7.088-62.596zM53 318.664v56.842c3.709-.647 7.385-1.006 11-1.006 21.913 0 38.554 13.963 53.61 25.963 15.055 12 28.526 22.037 42.39 22.037s27.335-10.037 42.39-22.037c.2-.16.41-.324.61-.484v-80.786c-53.528 13.78-103.133 10.964-150-.529zM64 396.5c-14.96 0-30.967 6.068-46 13.836v20.623c16.602-9.085 34.645-16.459 46-16.459 13.864 0 27.335 10.037 42.39 22.037 15.056 12 31.697 25.963 53.61 25.963s38.554-13.963 53.61-25.963c15.055-12 28.526-22.037 42.39-22.037s27.335 10.037 42.39 22.037c15.056 12 31.697 25.963 53.61 25.963s38.554-13.963 53.61-25.963c15.055-12 28.526-22.037 42.39-22.037 11.355 0 29.398 7.374 46 16.459v-20.623c-15.033-7.768-31.04-13.836-46-13.836-21.913 0-38.554 13.963-53.61 25.963-15.055 12-28.526 22.037-42.39 22.037s-27.335-10.037-42.39-22.037c-15.056-12-31.697-25.963-53.61-25.963s-38.554 13.963-53.61 25.963c-15.055 12-28.526 22.037-42.39 22.037s-27.335-10.037-42.39-22.037c-15.056-12-31.697-25.963-53.61-25.963z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Person;

impl IconShape for Person {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.882 22.802c-23.366 3.035-44.553 30.444-44.553 65.935 0 19.558 6.771 36.856 16.695 48.815l11.84 14.263-18.217 3.424c-12.9 2.425-22.358 9.24-30.443 20.336-8.085 11.097-14.266 26.558-18.598 44.375-7.843 32.28-9.568 71.693-9.842 106.436h42.868l11.771 157.836c29.894 6.748 61.811 6.51 90.602.025l10.414-157.86h40.816c-.027-35.169-.477-75.126-7.584-107.65-3.918-17.934-9.858-33.372-18.04-44.343-8.185-10.97-18.08-17.745-32.563-19.989l-18.592-2.88 11.736-14.704c9.495-11.897 15.932-28.997 15.932-48.082 0-37.838-23.655-65.844-49.399-65.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PersonInBed;

impl IconShape for PersonInBed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 169v286h30V169H25zm94.1 52.2c-2.9 0-5.8.5-8.3 1.2-6.7 1.9-11.03 5.6-12.96 10.5-1.94 4.9-1.25 10.6 2.36 16.5 3.6 5.9 10 11.6 18.6 14.9 8.6 3.4 17.2 3.6 23.8 1.7 6.7-1.9 11-5.5 13-10.5 1.9-4.9 1.2-10.6-2.4-16.5-3.6-5.9-10.1-11.5-18.6-14.9-4.8-1.9-9.7-2.8-14.2-2.9h-1.3zM73 253.4V295h61.8c1.7-3.4 3.5-6.8 5.5-10.2-9 1.1-18.7-.1-28.1-3.7-12-4.7-21.58-12.8-27.39-22.4-.11-.2-.21-.4-.32-.6L73 253.4zm108.5 4.5c-17.6 19.3-32.4 46-40.5 67.9-4.2 11.5-6.5 21.9-6.7 28.2 0 2.5.2 4 .5 4.8 57.4 7.3 98.1.3 150.6-15.4l2-.6 2 .3c56.3 8.6 111.6 10 161.6 1.6v-35.6c-67.7-29-178.4-46.5-269.5-51.2zM469 281v174h18V281h-18zM73 313v30h44.5c1.3-7.2 3.6-15 6.6-23.4.8-2.2 1.7-4.4 2.6-6.6H73zm0 48v30h378v-27.9c-51 8.1-106.5 6.4-162.3-1.9-53.2 15.7-97.7 23.2-157.8 15.3-5.3-.7-10.2-4.9-12.3-9.3-.9-2-1.5-4.1-1.9-6.2H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceFive;

impl IconShape for PerspectiveDiceFive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zm-23.39 39.847l23.8 14.875-46.263 27.76 19.427 12.14a38.645 38.645 0 0 1 4.75-4.702c1.743-1.527 3.752-2.974 6.03-4.34 12.953-7.772 26.878-11.423 41.771-10.95 14.838.439 29.095 4.933 42.776 13.483 13.568 8.48 20.256 17.485 20.06 27.012-.148 9.498-7.198 18.43-21.148 26.8-6.026 3.616-12.705 6.767-20.037 9.45-7.23 2.689-15.166 4.908-23.805 6.658l-25.483-15.928c9.714-1.02 18.138-2.469 25.272-4.346 7.182-1.905 13.075-4.238 17.678-7 6.643-3.985 9.956-8.308 9.94-12.968-.026-4.724-3.318-9.137-9.878-13.237-6.616-4.135-13.752-6.24-21.408-6.316-7.609-.105-14.734 1.834-21.377 5.82-3.938 2.363-7.521 5.268-10.748 8.715-3.283 3.412-6.225 7.444-8.826 12.096l-70.645-44.153 68.113-40.869zm203.554 89.203c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zM393.4 233.587v24.264c-4.264-.079-8.281.397-12.052 1.43-3.771.973-7.454 2.538-11.045 4.693-7.722 4.633-13.737 11.055-18.047 19.267-4.31 8.154-6.825 17.955-7.543 29.405 2.963-4.65 6.174-8.715 9.63-12.196 3.458-3.54 7.228-6.535 11.313-8.986 10.28-6.168 18.565-7.211 24.85-3.129 6.33 4.055 9.494 12.442 9.494 25.16 0 14.066-3.524 27.462-10.572 40.19-7.049 12.668-16.498 22.558-28.35 29.67-13.064 7.838-23.188 8.17-30.371.992-7.138-7.263-10.707-21.474-10.707-42.631 0-21.685 4.175-41.216 12.525-58.592 8.395-17.462 19.889-30.57 34.479-39.324 4.624-2.775 9.112-5 13.467-6.676 4.354-1.675 8.665-2.854 12.93-3.537zm-242.789 13.582l27.635 16.58v85.809L192 357.809v25.414l-13.754-8.252v24.777l-23.502-14.102V360.87L112 335.223v-30.06l38.611-57.995zm4.133 31.355l-27.248 40.582 27.248 16.35v-56.932zm212.596 35.182c-1.706.057-3.703.773-5.992 2.147-4.535 2.72-7.947 6.701-10.237 11.943-2.244 5.156-3.367 11.572-3.367 19.25 0 7.678 1.123 12.777 3.367 15.299 2.29 2.436 5.702 2.295 10.237-.426 4.579-2.748 7.99-6.701 10.234-11.857 2.29-5.242 3.436-11.702 3.436-19.38 0-7.677-1.146-12.733-3.436-15.17-1.122-1.26-2.536-1.862-4.242-1.806z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceFour;

impl IconShape for PerspectiveDiceFour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zm-29.457 43.488l80.762 50.475 13.754-8.252 23.918 14.95-13.752 8.253 23.318 14.574-23.502 14.102-23.32-14.575-42.744 25.647-28.291-17.684-37.778-70.91 27.635-16.58zm3.676 31.088l26.336 49.838 27.248-16.35-53.584-33.488zm205.945 54.474c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zm316.209 54.317v25.29l-46.262 27.757v20.64a83.52 83.52 0 0 1 6.262-5.364 61.303 61.303 0 0 1 6.619-4.598c12.953-7.772 23.037-9.742 30.25-5.908 7.212 3.774 10.818 12.93 10.818 27.465 0 14.416-3.938 28.067-11.814 40.955-7.83 12.858-18.72 23.471-32.67 31.841-6.026 3.616-12.005 6.46-17.936 8.53-5.884 2.1-11.744 3.412-17.58 3.935v-27.076c5.789.697 11.27.536 16.441-.482a46.02 46.02 0 0 0 14.733-5.711c6.643-3.986 11.862-9.144 15.658-15.473 3.843-6.416 5.766-13.108 5.766-20.078 0-7.03-1.923-11.417-5.766-13.162-3.796-1.773-9.015-.668-15.658 3.318-3.938 2.363-8.138 5.539-12.598 9.526-4.46 3.927-9.252 8.768-14.377 14.523V269.48l68.113-40.869zm-253.807 16.475c5.971.127 12.804 2.499 20.498 7.115 4.624 2.775 9.112 5.938 13.467 9.488 4.354 3.551 8.665 7.543 12.93 11.977v24.264c-4.265-5.197-8.282-9.54-12.053-13.034-3.771-3.552-7.454-6.405-11.045-8.56-7.722-4.633-13.737-5.43-18.047-2.389-4.31 2.982-6.825 9.766-7.543 20.354 2.963-1.094 6.174-1.308 9.63-.64 3.458.608 7.228 2.14 11.313 4.591 10.28 6.168 18.565 15.063 24.85 26.687 6.33 11.652 9.494 23.837 9.494 36.555 0 14.066-3.524 23.235-10.572 27.504-7.049 4.21-16.498 2.76-28.35-4.352-13.064-7.838-23.188-19.656-30.371-35.453-7.138-15.828-10.707-34.32-10.707-55.478 0-21.685 4.175-36.206 12.525-43.563 3.673-3.232 7.939-4.92 12.797-5.062.39-.012.786-.013 1.184-.004zm8.88 70.256c-1.705-.057-3.13.54-4.275 1.787-2.244 2.463-3.367 7.531-3.367 15.209s1.123 14.125 3.367 19.34c2.29 5.183 5.702 9.135 10.237 11.855 4.579 2.748 7.99 2.89 10.234.428 2.29-2.494 3.436-7.58 3.436-15.258 0-7.678-1.146-14.11-3.436-19.293-2.245-5.215-5.655-9.196-10.234-11.943-2.267-1.36-4.255-2.069-5.961-2.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceOne;

impl IconShape for PerspectiveDiceOne {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zM214.17 95.498l105.193 65.748 25.832-15.5L368 160l-79.316 47.59-22.805-14.254 25.83-15.498-82.732-51.707-20.342 19.765-22.463-14.039 20.191-19.675 27.807-16.684zm221.697 78.316c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zm40.447 58.056a111.214 111.214 0 0 1 16.072 5.427c5.31 2.25 10.525 4.91 15.645 7.983 13.795 8.277 24.105 17.273 30.931 26.988 6.874 9.685 10.313 20.147 10.313 31.385 0 7.668-1.637 12.98-4.908 15.933-3.272 2.896-8.106 3.419-14.506 1.569 7.158 6.578 12.587 13.814 16.285 21.71 3.745 7.867 5.617 16.16 5.617 24.882 0 12.994-4.03 20.47-12.09 22.423-8.06 1.896-19.815-1.793-35.27-11.066-5.451-3.271-10.928-7.112-16.427-11.523-5.452-4.325-10.856-9.18-16.213-14.559v-26.076c5.12 6.233 10.194 11.678 15.219 16.332 5.072 4.624 10.048 8.4 14.931 11.33 7.254 4.352 12.801 6.128 16.641 5.33 3.887-.77 5.832-4.051 5.832-9.846 0-5.97-1.992-11.672-5.975-17.105-3.934-5.463-9.764-10.514-17.492-15.15l-10.95-6.57v-21.774l11.519 6.912c6.874 4.124 11.993 5.88 15.359 5.265 3.366-.673 5.049-3.732 5.049-9.175 0-5.034-1.635-9.908-4.906-14.621-3.272-4.714-7.894-8.864-13.868-12.448-4.409-2.645-8.865-4.704-13.369-6.177-4.503-1.474-8.983-2.346-13.44-2.62v-24.76zm265.717 8.228c2.187.007 4.19.345 6.01 1.014 7.323 2.644 10.984 10.26 10.984 22.845 0 7.278-1.548 15.007-4.645 23.188-3.097 8.121-9.61 20.44-19.539 36.955l-23.521 39.164L400 334.68V360l-80 48v-25.32l40.184-67.149c3.588-6.09 6.244-11.53 7.964-16.32 1.72-4.79 2.58-9.213 2.58-13.27 0-6.263-1.746-10.255-5.236-11.978-3.44-1.753-8.036-.906-13.787 2.545-4.424 2.654-9.266 6.723-14.525 12.205-5.26 5.422-10.888 12.2-16.885 20.332v-29.348c6.39-6.399 12.706-12.127 18.95-17.185 6.242-5.118 12.362-9.476 18.359-13.075 9.88-5.928 18.101-8.88 24.664-8.859z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSix;

impl IconShape for PerspectiveDiceSix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zM238.695 87.27l22.838 14.273c-6.747 1.007-12.586 2.28-17.515 3.818-4.985 1.504-9.272 3.334-12.864 5.489-7.721 4.633-11.09 9.897-10.105 15.793.93 5.86 6.223 12.247 15.875 19.16.26-3.467 1.457-6.652 3.59-9.553 2.077-2.936 5.159-5.629 9.244-8.08 10.28-6.168 22.259-8.83 35.935-7.98 13.722.821 26.568 4.973 38.537 12.455 13.239 8.274 20.334 17.024 21.284 26.251.894 9.194-4.584 17.346-16.436 24.458-13.064 7.838-28.593 10.533-46.588 8.085-18.004-2.508-36.964-9.986-56.877-22.431-20.41-12.756-32.258-25.276-35.547-37.56-3.299-12.347 2.348-22.895 16.938-31.65 4.624-2.774 9.554-5.192 14.79-7.253 5.238-2.061 10.871-3.82 16.901-5.275zm38.678 53.23c-4.169-.007-7.972 1.02-11.406 3.08-4.534 2.72-6.125 5.906-4.774 9.555 1.341 3.587 5.624 7.64 12.85 12.156 7.226 4.516 13.78 7.237 19.666 8.166 5.875.867 11.081-.059 15.615-2.78 4.58-2.747 6.198-5.915 4.858-9.503-1.351-3.65-5.64-7.732-12.866-12.248-7.226-4.516-13.777-7.207-19.652-8.074a27.826 27.826 0 0 0-4.291-.352zm158.494 33.314c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zm40.095 52.226l68.114 40.869v25.287l-46.262-27.758v20.64a43.279 43.279 0 0 1 6.262 2.151c2.135.864 4.341 1.98 6.619 3.346 12.953 7.772 23.037 17.902 30.25 30.39 7.212 12.43 10.818 25.912 10.818 40.448 0 14.416-3.938 23.342-11.814 26.777-7.83 3.464-18.72 1.01-32.67-7.36-6.026-3.615-12.005-7.948-17.936-12.996-5.884-4.96-11.744-10.68-17.58-17.16v-27.076c5.789 7.643 11.27 14.06 16.441 19.248 5.22 5.217 10.13 9.205 14.733 11.967 6.643 3.986 11.862 5.092 15.658 3.318 3.843-1.804 5.766-6.19 5.766-13.16 0-7.03-1.923-13.723-5.766-20.08-3.796-6.328-9.015-11.485-15.658-15.47a56.585 56.585 0 0 0-12.598-5.594c-4.46-1.426-9.252-2.335-14.377-2.729V226.52zm270.047 5.732v85.809L400 309.809v25.414l-13.754 8.252v24.777l-23.502 14.102v-24.778L320 383.223v-30.06l38.611-104.331 27.635-16.58zm-23.502 42.978l-27.248 73.28 27.248-16.348V275.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesFive;

impl IconShape for PerspectiveDiceSixFacesFive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm1.86 12.423a31.953 18.96 0 0 1 21.194 5.536 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.347zm-119.173 70.188a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.813 31.953 18.96 0 0 1 23.992-32.348zm118.24.244a31.953 18.96 0 0 1 22.125 32.362 31.953 18.96 0 1 1-45.187-26.812 31.953 18.96 0 0 1 23.06-5.55zm119.663.015a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.812 31.953 18.96 0 0 1 23.993-32.347zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zM89.297 195.77a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm333.52 0A18.008 31.236 31.906 0 1 434 210.973a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-165.198 2.314a31.953 18.96 0 0 1 21.194 5.535 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.348zm109.198 30.018A18.008 31.236 31.906 0 1 378 243.305a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-165.52 32.332a31.236 18.008 58.094 0 1 33.817 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 275.637a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zM89.298 318.48a31.236 18.008 58.094 0 1 33.817 41.184 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.204zm333.52 0A18.008 31.236 31.906 0 1 434 333.684a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.184zm-56 32.332A18.008 31.236 31.906 0 1 378 366.017a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-165.52 32.33a31.236 18.008 58.094 0 1 33.817 41.184 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 398.347a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesFour;

impl IconShape for PerspectiveDiceSixFacesFour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm1.86 12.423a31.953 18.96 0 0 1 21.194 5.536 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.347zm-119.173 70.188a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.813 31.953 18.96 0 0 1 23.992-32.348zm237.903.26a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.812 31.953 18.96 0 0 1 23.993-32.347zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zM89.297 195.77a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm333.52 0A18.008 31.236 31.906 0 1 434 210.973a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-165.198 2.314a31.953 18.96 0 0 1 21.194 5.535 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.348zM89.296 256.77a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.202zm112 3.664a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 275.637a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zM366.82 289.1a18.008 31.236 31.906 0 1 .002 0 18.008 31.236 31.906 0 1 11.18 15.203 18.008 31.236 31.906 0 1-45 25.98A18.008 31.236 31.906 0 1 366.82 289.1zM89.297 318.48a31.236 18.008 58.094 0 1 33.818 41.184 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.204zm333.52 0A18.008 31.236 31.906 0 1 434 333.684a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.184zm-221.52 2.954a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm0 61.71a31.236 18.008 58.094 0 1 33.818 41.182 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 398.345a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesOne;

impl IconShape for PerspectiveDiceSixFacesOne {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm.926 82.855a31.953 18.96 0 0 1 22.127 32.362 31.953 18.96 0 1 1-45.188-26.812 31.953 18.96 0 0 1 23.06-5.55zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zM89.297 195.77a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm221.52 64.664A18.008 31.236 31.906 0 1 322 275.637a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zM145.296 289.1a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 0 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm277.523 29.38A18.008 31.236 31.906 0 1 434 333.684a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.184zm-221.52 64.663a31.236 18.008 58.094 0 1 33.817 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesRandom;

impl IconShape for PerspectiveDiceSixFacesRandom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm-.824 53.11c9.013.097 17.117 2.162 24.31 6.192 4.92 2.758 8.143 5.903 9.666 9.438 1.473 3.507 1.56 8.13.26 13.865l-1.6 5.706c-1.06 4.083-1.28 7.02-.66 8.81.57 1.764 1.983 3.278 4.242 4.544l3.39 1.898-33.235 18.62-3.693-2.067c-4.118-2.306-6.744-4.912-7.883-7.82-1.188-2.935-.99-7.603.594-14.005l1.524-5.748c.887-3.423.973-6.23.26-8.418-.653-2.224-2.134-3.983-4.444-5.277-3.515-1.97-7.726-2.676-12.63-2.123-4.956.526-10.072 2.268-15.35 5.225-4.972 2.785-9.487 6.272-13.55 10.46-4.112 4.162-7.64 8.924-10.587 14.288L171.9 138.21c5.318-5.34 10.543-10.01 15.676-14.013 5.134-4 10.554-7.6 16.262-10.8 14.976-8.39 28.903-13.38 41.78-14.967 3.208-.404 6.315-.59 9.32-.557zm50.757 56.7l26.815 15.024-33.235 18.62-26.816-15.023 33.236-18.62zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zm-321.545 63.752c6.553 1.366 12.538 3.038 17.954 5.013 5.415 1.976 10.643 4.417 15.68 7.325 13.213 7.63 23.286 16.324 30.218 26.082 6.932 9.7 10.398 20.046 10.398 31.04 0 5.64-1.055 10.094-3.168 13.364-2.112 3.212-5.714 5.91-10.804 8.094l-5.2 1.92c-3.682 1.442-6.093 2.928-7.23 4.46-1.137 1.472-1.705 3.502-1.705 6.092v3.885l-29.325-16.933v-4.23c0-4.72.892-8.376 2.68-10.97 1.787-2.652 5.552-5.14 11.292-7.467l5.2-2.006c3.087-1.21 5.334-2.732 6.742-4.567 1.46-1.803 2.192-4.028 2.192-6.676 0-4.027-1.3-7.915-3.9-11.66-2.6-3.804-6.227-7.05-10.885-9.74-4.387-2.532-9.126-4.29-14.217-5.272-5.09-1.04-10.398-1.254-15.922-.645v-27.11zm269.54 8.607c1.522 0 2.932.165 4.232.493 6.932 1.696 10.398 8.04 10.398 19.034 0 5.64-1.056 11.314-3.168 17.023-2.112 5.65-5.714 12.507-10.804 20.568l-5.2 7.924c-3.682 5.695-6.093 9.963-7.23 12.807-1.137 2.785-1.705 5.473-1.705 8.063v3.885l-29.325 16.932v-4.23c0-4.72.894-9.41 2.68-14.067 1.79-4.715 5.552-11.55 11.292-20.504l5.2-8.01c3.087-4.776 5.334-8.894 6.742-12.354 1.46-3.492 2.192-6.562 2.192-9.21 0-4.028-1.3-6.414-3.898-7.158-2.6-.8-6.23.142-10.887 2.83-4.387 2.533-9.124 6.25-14.215 11.145-5.09 4.84-10.398 10.752-15.922 17.74v-27.11c6.553-6.2 12.536-11.44 17.95-15.718 5.417-4.278 10.645-7.87 15.68-10.777 10.738-6.2 19.4-9.302 25.99-9.307zm-252.723 94.515l29.326 16.93v30.736l-29.325-16.93v-30.735zm239.246 8.06v30.735l-29.325 16.93v-30.733l29.326-16.932z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesSix;

impl IconShape for PerspectiveDiceSixFacesSix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm1.86 12.423a31.953 18.96 0 0 1 21.194 5.536 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.347zm58.43 35.208a31.953 18.96 0 0 1 22.13 32.363 31.953 18.96 0 0 1-45.19-26.813 31.953 18.96 0 0 1 23.06-5.55zm-177.603 34.98a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.813 31.953 18.96 0 0 1 23.992-32.348zm237.903.26a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.812 31.953 18.96 0 0 1 23.993-32.347zm-179.03 35.21a31.953 18.96 0 0 1 22.127 32.362 31.953 18.96 0 1 1-45.187-26.812 31.953 18.96 0 0 1 23.06-5.55zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zM89.297 195.77a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm333.52 0A18.008 31.236 31.906 0 1 434 210.973a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-165.198 2.314a31.953 18.96 0 0 1 21.194 5.535 31.953 18.96 0 0 1-45.187 26.812 31.953 18.96 0 0 1 23.992-32.348zm-56.323 62.35a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 275.637a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zM145.296 289.1a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 0 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm-55.998 29.38a31.236 18.008 58.094 0 1 33.818 41.184 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.204zm333.52 0A18.008 31.236 31.906 0 1 434 333.684a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.184zm-221.52 64.663a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm109.52 0A18.008 31.236 31.906 0 1 322 398.346a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesThree;

impl IconShape for PerspectiveDiceSixFacesThree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.76 44.764c-6.176 0-12.353 1.384-17.137 4.152L85.87 137.276c-9.57 5.536-9.57 14.29 0 19.826l152.753 88.36c9.57 5.536 24.703 5.536 34.272 0l152.753-88.36c9.57-5.535 9.57-14.29 0-19.825l-152.753-88.36c-4.785-2.77-10.96-4.153-17.135-4.153zm-117.313 82.61a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.536 31.953 18.96 0 0 1-45.19 26.813 31.953 18.96 0 0 1 23.992-32.348zm118.24.245a31.953 18.96 0 0 1 22.125 32.362 31.953 18.96 0 1 1-45.187-26.812 31.953 18.96 0 0 1 23.06-5.55zm119.663.015a31.953 18.96 0 0 1 .002 0 31.953 18.96 0 0 1 21.195 5.535 31.953 18.96 0 0 1-45.19 26.812 31.953 18.96 0 0 1 23.993-32.347zM75.67 173.84c-5.753-.155-9.664 4.336-9.664 12.28v157.696c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.14 1.156 17.14-9.895V290.76c0-11.052-7.57-24.16-17.14-29.688l-146.93-84.847c-2.69-1.555-5.225-2.327-7.476-2.387zm360.773.002c-2.25.06-4.783.83-7.474 2.385l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.7c0 11.05 7.57 15.418 17.14 9.89L428.97 373.51c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c0-7.942-3.91-12.432-9.664-12.278zm-235.146 86.592a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zM366.82 289.1a18.008 31.236 31.906 0 1 .002 0 18.008 31.236 31.906 0 1 11.18 15.203 18.008 31.236 31.906 0 1-45 25.98A18.008 31.236 31.906 0 1 366.82 289.1zM89.297 318.48a31.236 18.008 58.094 0 1 33.818 41.184 31.236 18.008 58.094 1 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.204z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceSixFacesTwo;

impl IconShape for PerspectiveDiceSixFacesTwo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.75 44.813c-6.187 0-12.75 1.563-17.125 4.093L85.875 137.28c-4.375 2.532-7.094 6.33-7.094 9.907 0 3.58 2.69 7.376 7.064 9.907l152.78 88.375c4.376 2.53 10.94 4.093 17.126 4.093 6.187 0 12.782-1.564 17.156-4.094l152.75-88.376c4.375-2.53 7.094-6.328 7.094-9.906 0-3.58-2.75-7.376-7.125-9.907l-152.75-88.374c-4.375-2.53-10.938-4.094-17.125-4.093zm0 12.343a31.953 18.96 0 0 1 23.063 5.563 31.953 18.96 0 0 1-45.188 26.81 31.953 18.96 0 0 1 20.813-32.343 31.953 18.96 0 0 1 1.312-.03zM75.07 173.95c-1.497.048-2.873.402-4.033 1.07-3.094 1.787-5.033 6.043-5.033 11.095v157.688c0 5.052 1.94 11.547 5.033 16.906 3.094 5.358 7.723 10.27 12.098 12.796l146.945 84.857c4.375 2.527 9.03 2.974 12.123 1.188 3.094-1.785 5.008-6.056 5.008-11.11V290.755c0-5.052-1.913-11.532-5.007-16.89-3.094-5.36-7.748-10.255-12.123-12.782L83.135 176.225c-2.735-1.58-5.57-2.352-8.065-2.274zm361.97.017c-2.504-.083-5.348.684-8.083 2.263L282.04 261.07c-4.376 2.527-9.03 7.456-12.124 12.815l-.082.14c-3.047 5.332-4.926 11.71-4.926 16.72v157.718c0 5.052 1.914 9.323 5.008 11.11 3.094 1.785 7.748 1.305 12.123-1.22l146.917-84.84c4.375-2.528 9.03-7.423 12.125-12.783 3.094-5.36 5.033-11.853 5.033-16.906v-157.72c0-5.05-1.94-9.275-5.033-11.06-1.16-.67-2.54-1.028-4.043-1.077zm-14.222 21.803A18.008 31.236 31.906 0 1 434 210.973a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183zm-167.068 2.292a31.953 18.96 0 0 1 23.063 5.563 31.953 18.96 0 0 1-45.188 26.813 31.953 18.96 0 0 1 20.813-32.344 31.953 18.96 0 0 1 1.312-.03zM145.295 289.1a31.236 18.008 58.094 0 1 33.818 41.183 31.236 18.008 58.094 0 1-45-25.98 31.236 18.008 58.094 0 1 11.182-15.203zm221.525 0a18.008 31.236 31.906 0 1 .002 0 18.008 31.236 31.906 0 1 11.18 15.203 18.008 31.236 31.906 0 1-45 25.98A18.008 31.236 31.906 0 1 366.82 289.1zm-56.002 94.043A18.008 31.236 31.906 0 1 322 398.346a18.008 31.236 31.906 0 1-45 25.98 18.008 31.236 31.906 0 1 33.818-41.183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceThree;

impl IconShape for PerspectiveDiceThree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zm-16.066 47.728c10.426.07 20.268 2.997 29.523 8.781 7.217 4.51 11.503 9.194 12.86 14.05 1.3 4.82-.311 9.735-4.838 14.745 9.307-2.952 18.48-3.867 27.521-2.746 9.034 1.059 17.655 4.151 25.863 9.282 12.23 7.643 17.511 15.88 15.842 24.71-1.724 8.796-10.313 17.83-25.767 27.102-5.452 3.271-11.452 6.23-17.998 8.875-6.444 2.651-13.363 4.946-20.758 6.887l-24.541-15.338c8.095-1.213 15.424-2.846 21.992-4.897 6.56-2.114 12.283-4.634 17.166-7.564 7.253-4.352 11.34-8.594 12.26-12.723.967-4.157-1.277-7.939-6.73-11.347-5.62-3.512-11.851-4.97-18.698-4.371-6.855.536-14.146 3.123-21.873 7.76l-10.951 6.57-20.494-12.809 11.52-6.912c6.873-4.125 10.755-7.97 11.642-11.54.832-3.603-1.314-7.006-6.438-10.208-4.737-2.961-10.036-4.268-15.896-3.924-5.86.344-11.779 2.309-17.752 5.893-4.41 2.645-8.286 5.68-11.633 9.105-3.347 3.425-6.119 7.18-8.316 11.266l-23.303-14.565a99.387 99.387 0 0 1 12.105-12.12 109.57 109.57 0 0 1 14.323-10.214c13.795-8.277 26.75-12.81 38.865-13.601a58.478 58.478 0 0 1 4.504-.147zm196.23 81.322c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zm36.19 57.757c6.391 1.269 12.707 3.12 18.95 5.553 6.243 2.373 12.363 5.36 18.36 8.958 13.173 7.905 23.398 17.558 30.673 28.961 7.324 11.433 10.985 23.444 10.985 36.03 0 7.277-1.548 13.148-4.645 17.613-3.097 4.405-9.61 8.908-19.539 13.508l-23.521 10.94L192 382.68V408l-80-48v-25.32l40.184-18.928c3.588-1.784 6.244-4.038 7.964-6.764 1.72-2.725 2.58-6.115 2.58-10.172 0-6.263-1.746-12.35-5.236-18.261-3.44-5.882-8.036-10.55-13.787-14-4.424-2.655-9.266-4.397-14.525-5.227-5.26-.889-10.888-.865-16.885.07v-29.347zm261.876 7.447v111.77L400 335.77V360l-79.316 47.59v-24.23l25.832-15.499v-87.904L320 302.424v-23.865l26.363-22.377 27.807-16.684z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerspectiveDiceTwo;

impl IconShape for PerspectiveDiceTwo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zm-14.887 48.478c12.954.21 24.983 3.786 36.088 10.727 6.85 4.28 11.7 9.21 14.555 14.787 2.798 5.542 4.201 14.398 4.209 26.566l.059 28.848 48.441-29.065L368 160l-80 48-23.832-14.895-.32-49.425c-.117-4.47-1.084-8.326-2.9-11.569-1.817-3.242-4.634-6.057-8.452-8.443-5.895-3.684-12.384-5.602-19.467-5.754-7.034-.181-13.426 1.454-19.177 4.904-4.424 2.655-8.17 6.244-11.24 10.768-3.127 4.489-5.556 9.868-7.286 16.133l-27.62-17.264a101.484 101.484 0 0 1 13.476-14.79c4.951-4.554 10.425-8.63 16.422-12.228 13.173-7.904 26.71-11.968 40.609-12.193a75.55 75.55 0 0 1 2.603-.002zm195.051 80.572c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zM112 230.56l26.363 9.26 27.807 16.683v111.77L192 383.77V408l-79.316-47.59v-24.23l25.832 15.498v-87.903L112 254.424v-23.865zm271.182 9.203c.441-.013.874-.01 1.295.006.962.037 1.869.151 2.722.341 6.874 1.437 10.313 7.774 10.313 19.012 0 7.668-1.637 14.941-4.908 21.82-3.272 6.821-8.106 13.147-14.506 18.977 7.158-2.012 12.587-1.29 16.285 2.17 3.745 3.372 5.617 9.417 5.617 18.139 0 12.994-4.03 25.304-12.09 36.93-8.06 11.566-19.815 21.986-35.27 31.259-5.451 3.271-10.928 6-16.427 8.188-5.452 2.217-10.856 3.85-16.213 4.898v-26.076a53.81 53.81 0 0 0 15.219-1.93c5.072-1.463 10.048-3.66 14.931-6.59 7.254-4.352 12.801-9.23 16.641-14.636 3.887-5.435 5.832-11.051 5.832-16.846 0-5.97-1.992-9.281-5.975-9.936-3.934-.741-9.764 1.206-17.492 5.842l-10.95 6.57v-21.773l11.519-6.912c6.874-4.125 11.993-8.513 15.359-13.166 3.366-4.712 5.049-9.791 5.049-15.235 0-5.033-1.635-7.944-4.906-8.732-3.272-.788-7.894.61-13.868 4.193-4.409 2.646-8.865 5.934-13.369 9.866-4.503 3.931-8.983 8.434-13.44 13.507v-24.76c5.405-5.115 10.763-9.734 16.073-13.857 5.31-4.122 10.525-7.719 15.645-10.79 11.316-6.79 20.287-10.284 26.914-10.48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Peru;

impl IconShape for Peru {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.3 191.6c78.1 150.9 158.3 243 262 301.8l38.2-50.9c-6.7-36.9-10.5-61.8-5.7-115.7-35.8-22.4-96.9-56.4-120-105.7 21.8-50 69.6-74.6 106.8-115.4-55-22.45-105.4-40.4-142.8-78.85C238 74.16 192.5 130 155.5 154.1c-25.3-9.8-27.3-17.6-33.2-42.2-24.87 13.7-25.55 53.4-12 79.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pharoah;

impl IconShape for Pharoah {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.8 30.84l10 43.24c6.4-2.39 13.1-4.15 20.1-5.04l.6-44.72c-11.1 1.46-21.9 3.78-30.7 6.52zm49.4-6.51l-.6 44.53c7.2.78 14.1 2.49 20.6 4.86l10.1-43.12c-11.1-3.31-20-5.21-30.1-6.27zM313 36.92l-10.2 43.94c3.5.97 6.9 2.13 10.2 3.45l33.3-30.94c-10.9-6.45-22.2-11.98-33.3-16.45zm-114.9.33c-11.1 4.52-22.4 10.1-33.2 16.58l33.2 30.83c3.3-1.37 6.7-2.55 10.2-3.55zM362.4 63.9L330 94.03c1.5 1.29 2.9 2.68 4.3 4.17l41.9-.32c-3.4-9.68-10.7-29.36-13.8-33.98zm-213.5.51c-4.8 11.71-9.6 24.24-13.2 33.73l41.8.37c1.2-1.37 2.5-2.66 3.9-3.87zm39.8 51.09c-.8 2.3-1.1 4.9-.1 8.5 18.4-23.4 37.9-19.1 61.6-9.7l-7 17.4c-10.2-4.1-19.6-6.6-25.9-6.2-6.3.5-10.1 2.3-14.5 11.1l-11.3-5.5c2.8 8.3-6.4 15.5-13.8 10.9-3.3-2-5.3-1.7-5.4-1.7 2.7 12.8 4.8 27.8 9.5 38 1.6-5.5 3.4-9.8 8.4-10.6 4.7-.7 9.1 2.4 10.3 7 3.1 12.3 8.3 27.2 14.8 38 3.2 5.4 6.8 9.7 10 12.2 4.3 4.4 10.3 1.7 14.7 4.8 3.8 3.1 4.8 7.9 5.2 12 .5 4.1.8 9.3 1.1 15.7 1.2 32.7.7 63.2 2.3 95.1.2 8.8 1 23.4 7.4 27.4 7.2-6 6.9-18.9 7.4-27.4 1.6-32.8.9-62.9 2.4-95.1.2-6.4.5-11.6 1-15.7.4-4.5 1.8-9.5 5.3-12 5.1-2.5 10.8-1.9 14.6-4.8 3.2-2.5 6.8-6.8 10-12.2 6.5-10.8 11.7-25.7 14.8-38 1.2-4.6 5.7-8.2 10.3-7 7.3 1.9 6.9 6 8.4 10.6 5.4-13.4 7.8-26 9.5-38-.1 0-2-.3-5.4 1.7-7.4 4.5-16.4-2.5-13.8-10.8l-11.1 5.4c-4.4-8.8-8.2-10.6-14.5-11.1-6.3-.4-15.6 2.1-25.9 6.2l-7-17.3c23.5-9 46.1-13.5 61.6 9.4 1.1-4.2.5-7-.9-9.7-23.1-26.4-121.5-25.97-134 1.4zm151 24.8h.1c-.1-.1-.1 0-.1 0zM122 134.6l33-.1c2.9-7.1 7.6-11.6 14.6-12.7-.1-1.6-.2-3.2-.1-4.7l-40.7-.4c-2.2 6.4-5 12.9-6.8 17.9zm261.3-18.1l-40.9.3c.1 1.6.2 3.3.1 5 6.9 1.1 12.3 6.7 14.4 12.4l33 .1c-2.2-6-4.4-11.9-6.6-17.8zm-160.1 17.3c10-.3 18.9 8.1 19.4 15.4-10.8 5.7-28 2-34.4-.4l-9.3.7 8.6-6.9c4.8-6.3 10.4-8.7 15.7-8.8zm65 0c5.3.1 10.8 2.5 15.7 8.8l8.6 6.9-9.3-.7c-6.4 2.4-23.6 6.1-34.4.4.5-7.3 9.4-15.7 19.4-15.4zm68.3 19.1c-.9 5.5-1.9 11.1-3.4 16.9l48.9.1c-1.7-5.7-3.6-11.3-5.5-16.9zm-200.9.3l-40.2.1c-1.9 5.6-3.8 11.2-5.5 16.9l49.1-.1c-1.5-5.7-2.5-11.4-3.4-16.9zM256 172.1c4.2 3.6 9.2 3.5 14.1 3.8-3.6 5-7.8 9.1-14.1 10.6-6.3-1.5-10.5-5.6-14.1-10.6 4.9-.3 9.9-.2 14.1-3.8zm90 16.4c-4.3 9.7-14.2 17.3-23 12.1-.8 2.1-1.2 4.3-1.7 6.5l91.1-.6c-1.5-6-3.1-12-4.8-17.9zm-179.9.3l-61.8.1c-1.7 5.9-3.3 11.9-4.75 17.9l91.25.7c-.3-2.4-1.1-4.8-1.8-6.9-10.4 6.2-19.3-5.1-22.9-11.8zm89.9 8.6c2.9-4.3 12.3-2.2 13.3-.7 3.1 4.8 6.4 6.1 8.9 7.6-8.2 15-14.4 12.6-22.2 13.6-7.8-1-14 1.4-22.2-13.6 2.5-1.5 5.8-2.8 9-7.6 3.6-3.1 10-2.5 13.2.7zm160.6 27.8l-99.4.7-3.8 17.5h106.7c-1.1-6.2-2.2-12.2-3.5-18.2zm-321.28.3c-1.24 5.9-2.39 12-3.43 18.2H198.7l-3.8-17.5zM201.4 262c-30.7.8-63.5.4-94.9.4 7.1 7.1 16 14 24.2 15.8 32.7.5 48.3 1.1 72.2 1.1-.5-5.7-.9-11.5-1.5-17.3zm109.2.1c-.5 5.7-1 11.3-1.4 16.9 26.1-.6 36.6.2 72.1-.8 10.6-3.2 18.3-9 24.5-16.1zm-82.9.1c-2.5.4-5 .8-7.4 1.3 4.7 49.7 5.4 93.9 2.6 133.5 10.3 2.5 21.3 3.8 32.8 3.8 11.7 0 22.9-1.4 33.4-4-2.8-39.5-2-83.6 2.6-133.2-2.4-.5-4.9-.9-7.4-1.3-1.1 31.2-.3 60.9-2.3 91.2-.7 10.5-.4 24.1-4.9 31.6-5.7 6.5-12.6 12-21.1 11.7-8.4-.3-17.2-5.4-21.1-11.7-4.7-10-4.4-21.6-4.9-31.6-1.5-31.7-1.3-60.6-2.3-91.3zM99.28 281.5c-.72 1.4-1.37 2.7-1.94 4C47.21 403.6 115.7 487.7 256 487.7s208.8-84.1 158.7-202.2c-.6-1.3-1.3-2.6-2-3.9-5.8 5.2-12.7 10.2-21.3 13.1-.7 3.4-1.3 6.8-1.9 10.2 9.5 14.9 14.9 31.6 14.9 49.4 0 32.1-17.5 60.8-44.6 80.9-27 20.1-63.8 32.2-104.1 32.2-40.4 0-77.2-12.1-104.2-32.2-27.1-20.1-44.6-48.8-44.6-80.9 0-18.1 5.6-35.2 15.4-50.2-.5-3.1-1-6.3-1.6-9.4-8.7-2.9-15.6-7.9-21.42-13.2zm208.52 16.2c-.3 5.9-.6 11.7-.9 17.5l61.8.2c1-5.8 1.9-11.7 3-17.6zm-103.6.3l-63.8.1c1 6 2 11.8 3 17.6l61.7-.2c-.2-5.8-.5-11.6-.9-17.5zm102.2 35.9c-.2 6.1-.2 12-.2 17.9h56.4c1.1-5.8 2.1-11.8 3.1-17.7zm-100.7.3l-59.3.2c.9 6 2 11.9 3 17.7h56.4c0-5.9 0-11.8-.1-17.9zm-78 3.1c-1.4 5.5-2.1 11.2-2.1 17 0 17 6.1 33 17.2 46.9-7.6-21-11.6-42.3-15.1-63.9zm256.3 1.8c-3.3 20.4-7.2 40.6-14.2 60.5 10.2-13.6 15.9-29 15.9-45.3 0-5.1-.6-10.2-1.7-15.2zm-77.4 31.4c.1 6.1.4 12 .7 17.8h46.5c1.8-5.8 3.4-11.8 4.9-17.8zm-153.2.3c1.4 6 3.1 12 4.9 17.9h46.3c.4-5.9.7-11.8.8-17.9zM308.7 407c.5 5.1 1 10.1 1.6 15 8.9 5.2 15.4 4.6 21.3 1.7 6.2-4.1 12.7-9.9 15.1-16.7zm-143.3.3c3 6.3 9.8 13.7 15 16.4 5.9 2.9 12.4 3.5 21.3-1.7.6-4.8 1.1-9.7 1.6-14.7zm125.3 8.4c-11.1 2.5-22.9 3.8-35 3.8-12 0-23.5-1.3-34.4-3.7-.7 6.2-1.3 11.1-2 17.1-4.5 3.2-9.7 6.5-14.3 8.3 15.5 4.9 32.6 7.5 50.7 7.5s35.4-2.7 51-7.6c-5.7-2.4-9.2-4.9-14-8.2-.7-5.8-1.4-12.1-2-17.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Phone;

impl IconShape for Phone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.738 311.468c8.07-42.15 99.697-131.543 138.247-138.247 11.314 11.314 33.94 33.942 56.57 33.942l79.195-79.196c0-22.628-35.103-49.413-56.57-56.57C272.583 32.865 32.865 272.583 71.398 388.182c7.156 21.467 33.94 56.57 56.57 56.57l79.195-79.196c0-22.628-25.11-42.772-36.424-54.086z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PhotoCamera;

impl IconShape for PhotoCamera {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 122.496v14h62v-14zm154.73 0l-32 32H137v46h30.682C192.4 159.898 237.08 132.738 288 132.738c50.92 0 95.6 27.16 120.318 67.758H487v-46h-74.73l-32-32c-92.27-9-92.27-9-184.54 0zM288 150.738c-67.903 0-122.758 54.855-122.758 122.758 0 67.903 54.855 122.758 122.758 122.758 67.903 0 122.758-54.855 122.758-122.758 0-67.903-54.855-122.758-122.758-122.758zm-263 3.758v46h94v-46zm263 14.713c57.49 0 104.287 46.796 104.287 104.286S345.49 377.783 288 377.783c-57.49 0-104.287-46.797-104.287-104.287 0-57.49 46.797-104.287 104.287-104.287zm-21.787 22.042c-12.173.42-25.717 6.526-36.78 16.578-20.025 18.19-26.342 43.853-14.11 57.318 12.232 13.465 38.38 9.634 58.406-8.558 20.023-18.192 26.34-43.855 14.108-57.32-5-5.504-12.62-8.33-21.625-8.018zM25 218.496v142h94v-142zm112 0v142h40.412c-18.888-23.96-30.17-54.183-30.17-87 0-19.507 3.988-38.096 11.188-55zm280.57 0c7.2 16.904 11.188 35.493 11.188 55 0 32.817-11.282 63.04-30.17 87H487v-142zM25 378.496v14h94v-14zm112 0v14h75.89c-6.567-4.158-12.763-8.846-18.536-14zm244.646 0c-5.773 5.154-11.97 9.842-18.535 14H487v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PhrygianCap;

impl IconShape for PhrygianCap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.45 32.44c-63.218 0-97.076 8.656-114.048 20.824C68.43 65.43 65.354 81.3 64.442 103.804c-.812 20.078 8.487 32.24 24.682 41.27 16.196 9.032 39.41 13.367 62.327 13.367h27.754l-22.472 16.288c-2.394 1.735-11.645 10.576-21 21.288-9.356 10.712-19.584 23.787-26.778 35.492-3.597 5.852-6.422 11.378-8.02 15.8-1.6 4.423-1.673 7.632-1.497 8.338.175.706-.933.092 1.363.623 2.296.53 7.947.523 16.512-1.57l.27-.067.27-.05c83.994-15.137 126.637-7.487 149.456 8.866 22.82 16.352 21.69 41.345 21.115 48.693l-.05.64-.14.625c-12.597 56.263-24.612 98.315-29.312 126.227-2.348 13.956-2.662 24.34-1.245 30.242 1.417 5.903 2.746 7.397 8.162 8.887 6.885 1.893 12.493.396 19.32-4.405 6.824-4.8 14.048-13.155 20.93-23.227 13.646-19.97 25.85-46.075 38.04-64.22 1.832-4.053 5.175-7.714 9.247-9.214 4.652-1.714 8.946-1.15 12.778-.212 7.663 1.874 14.887 5.817 22.117 9.145 7.23 3.327 14.292 5.888 18.702 6.08 4.41.19 5.694.17 8.428-5.297 35.18-70.647 33.552-110.196 31.056-171.61-.086-2.124-.39-4.445-.88-6.913.164 2.162.248 4.346.248 6.548 0 47.872-39.13 87-87 87-47.872 0-87-39.128-87-87 0-47.87 39.128-87 87-87 19.53 0 37.6 6.517 52.156 17.478-11.785-14.373-26.098-28.97-42.278-42.65-46.514-39.325-108.31-70.827-169.25-70.827zm159.374 126c-31.658 0-57 25.343-57 57 0 31.66 25.342 57 57 57 31.657 0 57-25.34 57-57 0-31.657-25.343-57-57-57zm.627 25a32 32 0 0 1 32 32 32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 32-32zm-188.697 82.214c-14.436 1.135-30.9 3.255-49.707 6.645-4.754 1.14-9.01 1.894-12.92 2.194 20.238 3.297 46.28 5.702 67.19 10.518 12.69 2.922 23.3 6.953 28.476 10.99 2.588 2.018 3.725 3.746 4.19 5.28.464 1.532.552 3.346-.844 6.708-11.368 27.287-21.213 45.022-29.477 61.402-8.263 16.383-14.97 31.61-19.042 52.313-2.154 10.95-1.99 20.398.752 28.338 2.742 7.94 8.684 14.38 16.272 16.832 15.176 4.905 31.928-4.025 46.705-21.652 7.955-9.49 15.508-18.52 22.64-27.965 3.66-16.793 8.668-36.578 14.25-59.37-13.51 31.78-29.954 51.042-50.685 75.772-12.24 14.6-23.366 17.382-27.375 16.086-2.004-.648-3.48-1.786-4.79-5.578-1.31-3.792-1.83-10.228-.106-18.988 3.684-18.72 9.43-31.778 17.454-47.68 8.022-15.903 18.298-34.453 30.023-62.598l.002-.004v-.006c2.605-6.27 3.24-12.908 1.448-18.828-1.792-5.92-5.716-10.645-10.345-14.256-9.258-7.22-21.703-11.16-35.506-14.338-2.813-.647-5.692-1.247-8.604-1.816z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PianoKeys;

impl IconShape for PianoKeys {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24 80v352h64V288H72V80H24zm96 0v208h-16v144h64V288h-16V80h-32zm80 0v208h-16v144h64V288h-16V80h-32zm80 0v208h-16v144h64V80h-48zm64 0v352h64V288h-16V80h-48zm96 0v208h-16v144h64V80h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PickOfDestiny;

impl IconShape for PickOfDestiny {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.8 17.01C20.21 16.79-22.04 166 76.59 206.7c10.67-6.3 25.11-15.4 39.41-26.1 13.8-10.5 27.4-22.5 37-34.5 9.6-12 14.7-23.7 14-33.5-.7-9.5-7.9-19.54-18.9-27.2-25.3-15.85-49.4-15.59-72.48 0-20.05 14.25-22.96 34.8-6.26 49.5 13.63 9.9 27.9 16.9 41.94 7 14.2-14.3-1.7-23-13.72-30.1l8.82-15.65C116 102.4 125 108 131.6 116.9c10.3 15.1 3.2 30.1-9.8 39.7-22.53 14.5-46.34 7.1-64.22-8.1-27.83-25-18.57-59.16 7.78-77.89 32.38-19.94 63.74-20.03 93.14 0 13.8 9.69 25.3 23.62 26.5 40.79 1.1 16.5-6.8 32-17.9 45.9-11.1 14-25.7 26.7-40.3 37.7-17.5 13.1-34.88 23.7-46.18 30.1.6 8.9 1.7 18.6 3.39 28.6 45.19-20.8 82.89-47.9 105.69-80.5 25.1-35.7 33.1-77.51 13.8-128.27-29.5-19.65-56.8-27.86-80.7-27.92zm266.4 0c-23.9.1-51.2 8.27-80.7 27.92-19.3 50.76-11.3 92.57 13.8 128.27 22.8 32.6 60.5 59.7 105.7 80.5 1.7-10.1 2.8-19.9 3.4-28.9-39.9-26.5-99.7-67.2-104.4-112.4-.8-17.44 6.7-35.21 18.2-49.47 11.4-14.26 27.3-25.4 45.2-26.67 41.2 1.71 81.8 38.65 82.6 75.74 0 14.5-8.3 27.1-18.9 36.5-21.3 15.7-42.2 23-63.9 8.1-7.6-5.5-14.2-13.5-15.2-23.8.6-17.4 16.8-28.5 30.6-36.66l8.8 15.66c-7.2 5.8-18.2 9.6-21.4 19.4.2 3 3 7.4 7.7 10.7 14.4 9.8 30.9 2.2 41.5-6.9 7.9-7 12.8-15.8 12.8-23-3.5-29.64-35.6-59.07-63.4-57.78-10.9.77-23.2 8.59-32.4 19.99C350 85.62 342 100.6 345 111.6c12.6 45.6 53.5 71.8 90.9 94.8 98-41 55.7-189.61-46.7-189.39zM223.7 48c16.4 51.75 7.1 98-19.2 135.6-8.1 11.5-17.6 22.2-28.4 32.2 18.5 7.8 38.1 12.7 55.9 13.2 1.8-11.4 5.7-21.4 9.4-30.7 4.7-12.1 9.1-23 9.9-35.7 1.4-20.2-2.6-53.2-7.1-80.54-2.1-13.29-4.4-25.24-6.1-34.06zm32.7 0c1.6 8.56 3.6 19.28 5.6 31.15 4.6 27.85 8.9 60.95 7.3 84.65-1.1 16-6.5 29.1-11.2 41.1-9 26.1-13.9 32.8-1.9 54.9 3.3 6.1 7.3 13.2 8.5 21.6l99.8-42.8c-3.3-2.3-6.5-4.6-9.6-7-19.1 8.1-48.2 15.5-64.6 3.7-18.5-18.6-4-59.4-.2-84.1-12-30.6-13.8-65.45-1.8-103.2zm47.7 130.6c-2.2 8.4-10 37-3.1 42.2 11.8 5.6 26.6 1.7 38-2.2-13.8-13.3-25.7-25.8-34.9-40zm-143.3 50.2c-4.6 3.6-9.3 7.1-14.2 10.4 33 14.2 66.5 27.1 99.4 41.6-4.1-11.7-12.3-22.6-14.4-33.7-23.6-.7-48.3-7.8-70.8-18.3zM383 250.5L308.8 328c-1.2 13-1.2 23.1-.4 30.6 4 28.7 17.4 24 37.8 29.4 1.7-5.8 3.1-11.6 4.1-17.4-5.1-14.9-10-30.4-10.7-46.7l18-.8c.4 8.9 2.5 18.3 5.3 27.9 33.9-6.3 52.2-42.1 61.4-79.2-14.5-6.5-28.3-13.6-41.3-21.3zm-255.4.9c-12.6 7.4-26 14.2-39.87 20.4 8.54 34.9 25.27 68.6 55.37 77.8 13.8-6.6 25-13.5 30.7-20.4l13.8 11.4c-6.8 8.3-16.3 15-27.2 20.8 3.4 37.5 26.5 78.8 50.9 105.6-2.9-25.6 0-63.4 17.5-73.2-2.5-12.9-5.6-27.3-4.8-39.3 2-22.5 16.3-39.5 21.7-59.4L208 332.8zm136.9 41.9c-2.9 15.7-10.3 28.1-16.2 41.3l41.9-.2c.2-4.4.6-9.1 1.2-14.2zm25.3 48.5l-25 40.6-21.3-34.8c-3.4 14.5.3 31.7 3.4 44.3 13.7 4.3 20 18.5 23.3 30.4 20.3-23.8 43-15.1 63.2-2.9 2.4-4.7 4.6-9.5 6.6-14.3-12.2-2.7-26.3-4.9-34.7-11.8-7.8-6.5-13-17.2-14.8-32.7-.6-5.5-.8-11.7-.7-18.8zM240.4 409c-21.9 10.2-11.1 61.4-6.3 78.3v.2c6.9 4.5 16 9.3 24.3 8.3-1-21 .6-80.8-18-86.8zm63.7 15.9c3.1 8.4 6.2 17.9 8.7 27.5 4.1-5.4 8-11.2 11.7-17.2-6.8-4.2-13.1-7.9-20.4-10.3zm-17.4 5.2c-10.1 17.3-9.4 40.8-9.4 57.7 6.7-4.4 13.8-10.6 20.8-17.9-2.8-13.2-7.2-28.2-11.4-39.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pickle;

impl IconShape for Pickle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.1 21.33c-1 0-2.1 0-3.1.1-4.7.21-9.4.83-13.8 1.84-17.7 4.04-32.12 14.14-40.28 29.25-8.17 15.11-10.42 35.71-1.56 62.08 11.6 34.5 21.44 69.4 32.44 103.9 4.6-4.9 10.3-9.4 17.1-13.1l8.6 15.8c-24.6 13.4-27.3 35.3-21 51.9 3.2 8.3 8.8 14.7 14.8 17.7 6 2.9 12.2 3.2 20.3-2l9.6 15.2c-4.8 3-9.8 5-14.8 5.9 22.9 49 54 95.6 102.8 137v.1c14.1 12 27.6 21.1 40.5 27.8-1.4-5.6-2.1-11.9-1.9-18.8l18 .6c-.4 13.4 3.1 21.6 7.8 26.7 4.6 5.1 10.7 7.4 17.1 7.4 12.9-.1 25.9-9 25.4-27.1l18-.6c.3 9.3-2.1 17.4-6.1 24.2 13-3.3 24.3-9.5 33.7-17.2 16-13.1 26.4-31.4 29.6-49.3 2.8-16.2-.1-31.7-9.7-43.9-2.6 3.8-5.8 7.5-9.5 11.2l-12.6-13c9.7-9.3 12.9-17.7 13.2-24.5.2-6.9-2.5-12.8-7.2-17.3-9.3-8.9-24.8-11.6-37.1 1.7l-13.2-12.2c3.5-3.8 7.3-6.8 11.3-9-56.8-71.9-85.8-136.6-132.6-226-3 5.47-7.2 10.88-12.5 16.1l-12.6-12.98c9.7-9.31 12.9-17.71 13.2-24.58.2-6.86-2.5-12.74-7.2-17.21-9.3-8.95-24.8-11.69-37.1 1.65l-13.2-12.2c3.5-3.78 7.3-6.76 11.3-9.01-12.7-5.61-25.6-8.21-37.7-8.14zM121.8 119l17.4 4.4c-3.3 13-1.6 21.9 1.8 27.8 3.4 6 8.8 9.5 15.1 10.9 12.6 2.7 27.3-3.2 30.8-21l17.6 3.4c-5.2 27.1-30.6 39.8-52.1 35.2-10.8-2.3-21-8.9-27-19.5-6.1-10.7-7.8-24.8-3.6-41.2zM319 201.8c-.6 0-1.2.1-1.9.1 7.3 13.1 14.8 25.8 22.7 38.4 1.4-1.8 2.4-3.7 3.1-5.6 2.5-6.4 1.8-12.8-1.1-18.6-4.2-8.2-12.5-14.5-22.8-14.3zm-23.7 119.3c7.2 14.2 6.7 28.1.2 37.7-6.5 9.6-17.2 14.4-27.9 15.7-10.7 1.3-22-.8-30.7-7.8-8.6-7-13.1-19.8-9.5-33.7l17.4 4.6c-2.3 8.7-.2 12.1 3.4 15.1 3.7 3 10.6 4.7 17.2 3.9 6.7-.8 12.5-3.9 15.2-7.9 2.6-3.9 3.8-9.2-1.3-19.4zm-74.6 121.4c-2.1 5.6-2.5 10.4-1.9 14.5 1 6.8 4.8 12.1 10.2 15.7 7.9 5.2 18.7 6.6 27.7.6-5.4-3.9-10.7-8.1-16.1-12.7-7-5.9-13.6-12-19.9-18.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PieChart;

impl IconShape for PieChart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.352 13.213l-11.475 218.984 204.68-78.584a219.242 219.284 0 0 0-193.205-140.4zm-51.39 47.566A219.242 219.284 0 0 0 38.59 206.24a219.242 219.284 0 0 0 77.3 250.918 219.242 219.284 0 0 0 262.49-3.092 219.242 219.284 0 0 0 71.366-252.67l-204.682 78.583 12.24-218.943a219.242 219.284 0 0 0-18.34-.258z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PiggyBank;

impl IconShape for PiggyBank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.55 22.36c-30.93 0-56 25.07-56 56 0 30.927 25.07 56 56 56 30.927 0 56-25.073 56-56 0-30.93-25.073-56-56-56zM105.067 144.47c-3.047.028-6.012.55-8.748 1.536-7.296 2.627-12.95 7.77-17.562 13.617-3.63 4.602-6.523 9.754-9.012 14.992-6.79-6.374-14.215-15.785-21.8-30.117l-15.91 8.418c10.115 19.112 20.597 31.962 31.292 40.066-.405 1.802-.907 3.66-1.164 5.364-2.005 13.302 2.913 24.966 9.637 34.736 5.34 7.757 11.825 14.87 18.132 22.367-7.497 15.76-11.35 32.49-11.368 49.366.07 28.777 11.283 56.823 32.082 80.243l3.655-13.117 17.34 4.832-25.13 90.18c20.857 6.423 41.04 6.52 61.62-1.072l18.727-66.73 17.33 4.865-8.892 31.69c17.887 4.99 36.674 7.578 55.607 7.657 12.386-.065 24.727-1.204 36.81-3.396l-8.942-39.63 17.558-3.963 14.996 66.473c24.936 11.267 48.496 10.575 72.764 1.222l-25.115-78.986 17.152-5.455 4.97 15.636c21.796-38.09 68.757-29.083 91.825-40.08 11.686-3.894 5.42-69.874 4.916-73.04-.38-2.39-29.734-3.818-40.16-2.248-5.975.9-16.344-12.078-27.39-27.597-5.387-10.488-12.357-20.405-20.753-29.527-3.988-5.276-2.735-3.092-6.533-6.474.715 6.697 2.12 12.306 4.152 16.23l-15.986 8.277c-7.378-14.252-7.98-32.853-5.662-52.858 1.583-13.67 4.81-27.957 9.03-41.733-11.81 6.755-22.626 17.48-32.02 30.586-13.665 19.064-24.126 42.55-30.647 62.644l-17.12-5.556c2.777-8.56 6.2-17.655 10.255-26.835-14.467-6.574-35.467-9.76-57.426-8.826-23.852 1.01-48.83 6.716-68.043 16.2l-7.97-16.143c22.13-10.923 49.122-16.934 75.25-18.043 3.267-.138 6.52-.203 9.747-.19 20.69.086 40.372 3.378 56.274 10.78 2.234-4.232 4.608-8.425 7.125-12.537-21.74-7.8-45.253-11.897-69.058-12.03-63.206.056-121.303 27.923-151.383 72.614-4.954-5.81-9.525-11.11-12.89-16-5.26-7.64-7.608-13.682-6.695-21.126 10.458 3.152 20.632 2.07 28.694-1.87 10.316-5.044 17.423-13.85 20.473-23.39 1.526-4.77 2.056-9.862.813-14.928-1.243-5.065-4.63-10.034-9.598-12.953-4.862-2.856-10.17-4.187-15.25-4.142zm.328 17.805c.328-.014.66-.005 1 .03 1.362.138 2.86.687 4.803 1.828.864.508.986.713 1.234 1.722.247 1.01.248 2.895-.475 5.157-1.447 4.523-5.713 10-11.235 12.7-4.346 2.125-9.372 2.917-15.66.847 2.174-5.033 4.823-9.984 7.824-13.787 3.257-4.13 6.74-6.828 9.528-7.832 1.045-.375 1.995-.623 2.978-.665zm278.153 98.647c8.835 0 16 7.163 16 16 0 8.836-7.165 16-16 16-8.838 0-16-7.164-16-16 0-8.837 7.162-16 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pikeman;

impl IconShape for Pikeman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406 27.594l-23.625 76.187-5.844 28.97-52.25 47.844-51.5-43.125-23.405-4.095c8.217-14.33 14.685-32.77 16.406-49.594 10.02-2.28 20.516-5.426 31.69-9.81l-36.283-16.564c-1.964-7.07-16.546-28.484-31.406-27.28h-.03c-18.2 4.6-25.82 25.298-28.72 40.718L176.5 90.53c7.87-.307 15.58-.415 23.344-.53.66 14.1 4.4 27.847 9.97 36.375l-35.158-6.125L106 195.906l77.344 55.875 1.625 16.845-34.19 215.75h38.376l38.313-169.25 47.874 169.25h37.47l-3.564-16.406 17.094 16.405 63.062-322.53c5.01-4.54 9.265-8.483 12.094-11.314.177-10.537-2.537-18.942-5.094-24.5l1.125-5.686 8.47-92.75zm-223.156 125.78l.344 64.095-31.5-23.75 31.156-40.345zm88.03 21.25l50.876 45.94s22.993-19.458 44.875-38.533l-57.438 285.564-42.812-197.53 4.5-95.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PilgrimHat;

impl IconShape for PilgrimHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 63.43c-17.6 0-33.4 1.83-44.3 4.54-3.3.83-6 1.76-8.1 2.65 2.1.9 4.8 1.82 8.1 2.65 10.9 2.69 26.7 4.54 44.3 4.54 17.5 0 33.3-1.85 44.2-4.54 3.3-.83 6-1.75 8.1-2.65-2.1-.89-4.8-1.82-8.1-2.65-10.9-2.71-26.7-4.54-44.2-4.54zm-60.1 24.13L155 271.9c11.3 4 26.1 7.2 42.4 9.6V260.7h117.1V282c16.4-2.3 31.2-5.6 42.4-9.8L316 87.56c-3.4 1.4-7.2 2.6-11.4 3.6-12.9 3.3-29.9 5.1-48.6 5.1-18.8 0-35.8-1.8-48.7-5.1-4.2-1-8-2.2-11.4-3.6zm20 191.54v66.6l80.1.5v-67.1zm-64.9 11l-6 26.8c13.6 5.1 32 9.1 52.4 11.8v-28.4c-17.2-2.3-33.1-5.6-46.4-10.2zm210 .3c-13.3 4.9-29.3 8.3-46.5 10.5v27.8c20.4-2.7 38.8-6.7 52.4-11.8zm-127.6 6.2h45.1v32.9h-45.1zm-103 1a230 82.16 0 0 0-104.44 68.8A230 82.16 0 0 0 256 448.6a230 82.16 0 0 0 230-82.2 230 82.16 0 0 0-104.4-68.7l15.1 67.7v1c0 5.2-2.8 9.7-5.9 12.6-3.2 2.9-6.9 4.9-11.1 6.7-8.3 3.6-19.1 6.2-31.8 8.4-25.5 4.2-58.7 6.2-91.9 6.2-33.3 0-66.5-2-92-6.2-12.7-2.2-23.5-4.8-31.8-8.4-4.2-1.8-7.9-3.8-11.1-6.7-3.1-2.9-5.8-7.4-5.8-12.6v-1zm10.4 37.8l-6.6 30.3c.8.7 2.5 1.9 5.2 3 6 2.6 15.8 5.1 27.7 7.1 23.8 4 56.4 6 88.9 6 32.4 0 65-2 88.8-6 11.9-2 21.7-4.5 27.7-7.1 2.7-1.1 4.4-2.3 5.3-3l-6.7-30.3c-16 6-35.4 10-56.6 12.4v16.9l-117.1-.5v-16.4c-21.1-2.4-40.6-6.4-56.6-12.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pillow;

impl IconShape for Pillow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M433.79 59.602c-8.94.047-20.654 3.077-34.966 9.876C295.2 62.252 170.14 77.352 86.788 103.535c-60.407-27.913-70.404-.426-42.95 36.186C10.242 239.454 24.97 340.803 60.7 413.31c-11.01 47.633 16.965 45.498 41.172 26.452 170.77 9.1 281.83-16.52 349.88-68.666 24.01 19.23 41.66-6.006 31.868-36.856 11.922-71.81-9.07-167.31-36.093-233.78 13.362-23.473 8.022-40.975-13.737-40.858zm-357.386 77.96c52.65 61.045 53.612 200.38 21.748 283.403 7.046-90.91 2.505-223.673-21.748-283.404z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pimiento;

impl IconShape for Pimiento {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M493.7 21.59C426.6 127.6 339.2 100.6 373.6 32.06c-35.2 10.26-57.7 31.88-60.5 65.67-9.7-2.3-29.4-25.97-18.4-69.83-26.7 39.32-50.8 91.8-42.6 127.1-24 .2-64-39.7-54.5-87.89-46.5 81.29-34 172.89-25 193.79-24.9 0-63.4-70.9-64-118.9-36.72 82.1-48.45 147.1-18.33 194.3-33.05-3.8-53.82-28.3-66.86-69.6C-9.266 485.7 110.2 515 312.6 475.5c55.9-10.9 125.3-40.5 158.7-99.5-69.8 40-121.4 7.4-140.5-6.3 45.8-10.4 112.2-31.6 133.6-92-42 35.7-74.1 13.8-85.6 6.2 54.4-9.1 97.3-71.6 111-127.5-37.5 31.1-69.9 31.9-83.8 22.4 34.5-11.2 92.1-68.8 87.7-157.21zM331.5 113.8c8.7-.2 17.6 2.1 26.1 6.4 2.3 1 4.6 2.3 6.9 3.9 6.9 4.8 12.7 11 15.6 19.3l3.5 10-10 3c-18.8 5.6-29.1 16.9-37.9 32.5l-17.1-10c8.3-14.6 19.9-28.1 36.8-36.5-1.9-1.6-4.2-3.2-6.6-4.5-6.6-3.1-14.4-4.6-18.8-4.1l-2.2-19.8c1.2-.1 2.5-.2 3.7-.2zM294 186.1c9.4 0 19.8 3.5 28.8 9.1 16.8 10.7 28.5 28.9 19.7 45.3C285 379.8 197.1 433.7 91.64 443.8c99.46-49 139.16-153.9 177.46-241.5 4.8-11.4 14.2-16.1 24.9-16.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pin;

impl IconShape for Pin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.953 22.87L306.68 83.685l20.273 20.273-115.428 115.427c-16.39-8-34.277-14.452-51.84-18.502-14.247-3.285-28.136-4.902-40.802-4.772-16.84.173-31.505 3.44-41.975 9.973l229.006 229.006c11.447-18.345 12.853-49.592 5.2-82.776-4.05-17.564-10.502-35.45-18.5-51.84l115.427-115.43 20.274 20.274 60.817-20.273L326.954 22.87zM159.207 313.84L22.87 489.13l175.29-136.337-38.953-38.953z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pinata;

impl IconShape for Pinata {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.5 17.91V188.7c5.8 0 11.8.1 18 .3V17.91zm164.7 7.38c-3.9.65-11.3 4.88-17 10.34-5.6 5.45-9.4 12.67-9.6 13.9-6.7 46.16-22 83.17-37.6 111.47l15.9 34.6 45-17.3 7.8 36.7 42.6-9.3c.3-.4.5-.8.7-1.2l.2-.4.4-.4c12.7-17.3 32.6-19.4 47.5-19.9 7.5-.2 14.1-.3 18.5-1 4.3-.8 5.2-1.5 6-3 2.7-5.3 4.7-10.1 6-14.8-8.3 3-16.8 4.2-25.3 3.1-12.4-1.7-24.2-8.8-32.9-20.8l14.6-10.6c6.3 8.8 13.1 12.5 20.7 13.5 7.3 1 15.9-.9 24.6-5.6-.9-8.2-3.7-16.2-7.4-24.8-.7-1.8-3.9-5.2-10.3-8.4s-15.4-6.3-26-8.9c-21.3-5.24-49-8.83-76.4-11.11l-10.8-.89 2.8-10.39c7-26.51 7.5-42.72 5.7-49.77-.8-3.63-2.3-5.46-5.7-5.05zm29 80.51c4.7 0 9.8 1.6 13.8 4.7 5.5 4.1 9.8 10.2 14.1 18.6l-16 8.2c-3.6-7-6.9-10.9-8.9-12.4-2-1.6-2.2-1.4-3.4-1.1-2.5.6-9.4 6.6-16 15.5l-14.4-10.8c7.2-9.5 14.2-19.3 26.1-22.2 1.5-.3 3.1-.5 4.7-.5zm-104.4 74c-6.2 9.9-12.1 18.3-17.2 25.3l-2.9 3.9-4.8-.2c-60.8-2.9-107.8-3.7-141.1 3.7-4.1.9-8 1.9-11.7 3l39.2 45.9 58.5-34.1 36.7 43.3 48.6-24.7 43.9 37.4 50.5-19.7c2.9-12.4 7-24.8 12.5-37.2l-46.1 10-7.2-33.7-41.2 15.7zM88.54 222.6c-15.88 8.4-26.48 20.9-33.46 40.1-1.26 3.5-2.51 7.1-3.75 10.9l17.71 32.1L113.3 295l24.4 35.3 57.9-30.8 41.6 39.7 44.6-33.7 50.6 38.6 44.5-24.7c.1-11.7.9-23.3 2.6-34.9l-49.9 19.4-43.1-36.6-50.6 25.7-36.1-42.5-58.5 34.1zm-44.45 75.1c-11.37 41.5-19.72 90-19.41 122.2l29.64-8.9c2.66-15.5 6.5-30.3 10.55-47.5l4.99-22.8 17.62 3.6V344.6c-1.7 8.6-3.4 16.1-5.07 23.2L81 374.2l14.96 39 25.44-33.4 25.6 37.7c1.9-11.2 3.7-22.3 6-32.1l2.3-9.2 9.1 2.7c39.9 11.9 68.3 8 127.5-12.8l8.7-3.1 2.9 8.8c4.1 12.7 7.9 27.1 11.9 41.5l18.1 10.9 14.9-34.2 37.4 20.7c-3.8-24.4-7.2-47.9-8.4-70.9l-46.6 25.7-49-37.4-46 34.7-43.2-41.3-60.5 32.2-26.6-38.3-45.6 11.1zM74 406.2l-2.67 12.2c-2.33 15.2-3.29 31.6-1.65 53.4.17 2.1 1 3.9 3.32 6.1 2.32 2.1 6.17 4.3 11.12 5.9 9.92 3.2 23.98 4 37.58 1.3 3.4-.7 6.6-3.3 10.1-9.3 3.4-6.1 6.4-15.1 8.8-25.3.6-2.5 1.2-5.1 1.8-7.7l-21.8-32.2-29.9 39.2zm283 9.2l-15.1 34.8-18.9-11.4c5.5 17 11.8 32.5 19.7 43.3.5.8 3.3 2.4 8.8 2.6 5.6.2 13.1-1 20.2-3.1s14-5.1 18.5-8c3.2-2.1 4.5-4.1 4.9-4.4-1.8-12.2-3.7-24.2-5.6-35.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PinballFlipper;

impl IconShape for PinballFlipper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M99.162 35.82a78.03 78.03 0 0 0-78.03 78.03 78.03 78.03 0 0 0 78.03 78.03 78.03 78.03 0 0 0 78.03-78.03 78.03 78.03 0 0 0-78.03-78.03zM95.26 47.525a62.423 62.423 0 0 1 30.79 8.172 78.03 78.03 0 0 0-7.38-.37 78.03 78.03 0 0 0-78.03 78.028 78.03 78.03 0 0 0 .422 7.413 62.423 62.423 0 0 1-8.224-30.82A62.423 62.423 0 0 1 95.26 47.524zm52.05 228.46c-20.196-.23-31.676 32.785-12.646 43.386 87.042 50.526 175.913 102.776 261.92 152.034 35.522 13.912 75.596-3.603 89.508-39.125 13.912-35.523-3.607-75.598-39.13-89.51-103.56-22.994-199.013-43.756-295.503-66.28-1.418-.327-2.805-.49-4.15-.506zm273.49 107.94a24.02 22.947 21.388 0 1 9.37 1.72 24.02 22.947 21.388 0 1 13.996 30.128 24.02 22.947 21.388 0 1-30.732 12.61 24.02 22.947 21.388 0 1-13.997-30.127 24.02 22.947 21.388 0 1 21.364-14.332z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pineapple;

impl IconShape for Pineapple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M397.777 20.81c-28.326 32.545-45.686 49.052-79.73 75.385.98 3.462 1.904 6.923 2.767 10.373a838.71 838.71 0 0 1 71.06-15.156c2.614-5.158 4.803-10.06 6.483-14.78 6.053-17.005 6.845-32.884-.58-55.823zm-116.646 31c-1.6 24.42-1.437 48.997-.728 73.72 11.823 16.072 20.343 35.874 23.293 59.55l4.282-15.91c3.56-13.232-.114-44.212-8.596-72.72-4.965-16.69-11.733-32.465-18.25-44.64zm-66.286 45.913c15.833 30.734 31.377 68.437 40.18 102.69 10.035 2.098 18.686 5.78 25.404 11.75 6.176 5.49 10.61 12.84 13.822 21.54 34.542 1.322 74.627 6.23 108.107 15.88-22.727-29.94-53.25-48.74-106.12-45.626l-8.985.53-.53-8.985c-3.143-53.38-36.79-84.435-71.878-97.78zM473.7 100.15c-37.875 2.156-91.904 9.273-149.04 24.123 2.246 12.387 3.374 24.24 2.81 34.774 16.516-3.57 37.316-4.425 58.604-3.342L473.7 100.15zm-101.26 73.278c-22.01-.027-42.3 2.385-52.43 6.437l-14.727 5.895c20.458-.12 38.216 3.195 53.735 9.144l78.19-13.728c-.43-.118-.798-.257-1.235-.37-11.935-3.122-26.448-5.348-41.262-6.51-7.406-.58-14.934-.86-22.27-.868zm-143.16 42.63c-1.946-.01-3.948.027-5.98.09l21.667 7.813-2.512-7.122c-4.072-.48-8.482-.755-13.174-.78zm-45.462 4.99c-2.788.567-5.6 1.19-8.423 1.85a1857.95 1857.95 0 0 1 8.96 32.416 1531.66 1531.66 0 0 1 30.608 4.842 1158.087 1158.087 0 0 0-9.54-31.318l-21.605-7.79zm79.684 1.35l3.332 9.448 7.992 2.88c-1.982-4.052-4.154-7.152-6.355-9.11-1.28-1.138-2.964-2.216-4.968-3.218zM158 227.512a308.24 308.24 0 0 0-32.396 11.646c.903 3.08 1.786 6.137 2.673 9.2a1119.28 1119.28 0 0 1 36.713 4.238c-2.268-8.373-4.6-16.734-6.99-25.084zm68.695 8.994a1255.104 1255.104 0 0 1 7.967 27.064 2700.72 2700.72 0 0 1 25.96 4.784l-7.925-22.47-26.002-9.378zm47.87 17.262l6.53 18.51c.78.153 1.558.305 2.34.456a169.9 169.9 0 0 0-.873-9.322c-.306-2.477-.675-4.86-1.095-7.156l-6.903-2.488zM83.89 263.006l7.672 33.676c10.445.647 21.214 1.323 32.143 2.043a2472.975 2472.975 0 0 0-9.328-33.57 933.866 933.866 0 0 0-30.486-2.15zm49.73 4a2415.755 2415.755 0 0 1 9.058 33.014c11.506.832 23.24 1.76 35.2 2.853-2.54-10.49-5.16-20.966-7.876-31.424a1139.84 1139.84 0 0 0-36.383-4.444zm-65.83 6.36c-7.67 6.476-14.238 13.314-19.31 20.42 7.942.605 16.05 1.166 24.35 1.706l-5.04-22.125zm121.505.882c2.593 10.15 5.108 20.31 7.54 30.482a1205.51 1205.51 0 0 1 31.16 3.66c-2.46-9.708-5.004-19.393-7.645-29.052a1628.07 1628.07 0 0 0-31.055-5.09zm50.664 8.58c2.515 9.41 4.94 18.833 7.29 28.264a961.73 961.73 0 0 1 30.21 5.012L267.55 288c-9.176-1.76-18.37-3.488-27.59-5.172zM53.243 312.193c3.25 9.827 6.13 19.728 8.744 29.674 7.282.42 14.533.89 21.737 1.45l-6.72-29.497a2728.25 2728.25 0 0 1-23.76-1.627zm42.492 2.815l6.823 29.95a1129.016 1129.016 0 0 1 33.993 3.73 2046.15 2046.15 0 0 0-7.975-31.56 6373.735 6373.735 0 0 0-32.842-2.12zm-59.806 2.197c-2.93 7.325-5.316 15.14-7.102 23.244 4.76.126 9.5.287 14.22.476-2.172-7.978-4.524-15.89-7.118-23.72zm111.584 1.256a2034.99 2034.99 0 0 1 8.173 32.794 1233.727 1233.727 0 0 1 34.48 5.43 2222.516 2222.516 0 0 0-7.89-35.295c-11.79-1.123-23.375-2.076-34.763-2.93zm53.672 4.864a2291.712 2291.712 0 0 1 8.117 36.778c10.88 2.027 21.74 4.172 32.593 6.453-2.996-13.145-6.04-26.27-9.22-39.354a1144.54 1144.54 0 0 0-31.49-3.876zm50.687 6.703c3.254 13.577 6.376 27.165 9.445 40.752 3.113.694 6.226 1.382 9.34 2.095a307.567 307.567 0 0 0 9.028-38.037 920.074 920.074 0 0 0-27.813-4.81zM25.898 358.375a166.825 166.825 0 0 0-.855 24.473c.05 1.287.122 2.57.203 3.85 9.547.376 19.1.758 28.643 1.17-1.907-9.643-3.956-19.23-6.212-28.737-7.216-.324-14.473-.577-21.78-.755zm40.596 1.787c2.19 9.497 4.168 19.022 6.018 28.555 7.288.354 14.56.747 21.822 1.17l-6.416-28.164a1071.11 1071.11 0 0 0-21.424-1.56zm40.28 3.293l6.29 27.62c11.363.785 22.678 1.68 33.91 2.76a1853.432 1853.432 0 0 0-5.954-26.425 1122.774 1122.774 0 0 0-34.247-3.955zm53.33 6.63a1859.694 1859.694 0 0 1 5.705 25.735 804.905 804.905 0 0 1 33.344 4.534c-1.62-8.244-3.28-16.48-4.982-24.708a1240.398 1240.398 0 0 0-34.067-5.562zm53.162 9.07a2610.58 2610.58 0 0 1 4.857 24.468c11.395 2.14 22.647 4.582 33.73 7.375-1.852-8.374-3.716-16.74-5.585-25.102a1473.226 1473.226 0 0 0-33.002-6.742zm-185.79 25.663c1.864 10.084 4.742 19.708 8.626 28.49 8.62.448 17.394.87 26.203 1.3-1.617-9.538-3.257-19.055-4.98-28.536-9.926-.444-19.88-.855-29.85-1.254zm48.434 2.14c1.708 9.546 3.32 19.07 4.918 28.58 8.123.43 16.218.903 24.233 1.44l-6.546-28.748c-7.51-.46-15.04-.887-22.604-1.27zm41.35 2.526l6.584 28.903c11.37.965 22.41 2.09 32.94 3.543-1.88-9.922-3.846-19.755-5.872-29.547-11.112-1.128-22.344-2.07-33.652-2.9zm52.45 4.993a1806.56 1806.56 0 0 1 5.966 30.564c12.337 2.424 23.668 5.542 33.62 9.696a2964.462 2964.462 0 0 0-6.5-35.498 755.42 755.42 0 0 0-33.087-4.76zm52.046 8.226c1.803 9.652 3.57 19.308 5.277 28.973 6.903-6.364 13.305-14.36 19.13-23.547-8.02-1.995-16.168-3.786-24.407-5.427zM46.816 451.89c3.138 4.21 6.606 8.045 10.405 11.42 3.476 3.09 7.304 5.85 11.415 8.307a2876.172 2876.172 0 0 1-3.248-18.828c-6.2-.304-12.4-.598-18.57-.9zm37.086 1.846a2058.225 2058.225 0 0 0 4.682 26.735c8.652 2.747 17.958 4.51 27.598 5.317l-6.946-30.482a1503.798 1503.798 0 0 0-25.334-1.57zm44.15 3.118l6.68 29.326c2.053-.08 4.11-.2 6.172-.362a166.66 166.66 0 0 0 23.047-3.464 1840.907 1840.907 0 0 0-3.677-21.442c-10.095-1.65-20.94-2.984-32.222-4.058zm51.143 7.74c.746 4.277 1.48 8.572 2.2 12.886 6.1-2.068 11.996-4.47 17.59-7.18-5.887-2.132-12.53-4.03-19.79-5.706z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PingPongBat;

impl IconShape for PingPongBat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M323.438 21.28c-1.136-.002-2.276.004-3.407.032-5.167.13-10.286.566-15.342 1.313-40.45 5.973-78.013 31.68-108.5 65.5-30.488 33.82-53.72 75.57-65.688 111.563-5.985 17.996-9.117 34.56-9.22 47.593-.1 13.034 2.973 21.942 7.282 26.25L238.438 383.44c4.31 4.31 13.25 7.383 26.282 7.28 11.386-.088 25.464-2.49 40.842-7.093 1.27-18.692 9.452-36.646 22.875-49.906 14.647-14.47 34.892-22.75 55.563-22.75 12.415 0 24.67 3.01 35.656 8.53 1.406-1.22 2.808-2.443 4.188-3.688 33.82-30.487 59.558-68.05 65.53-108.5 5.974-40.45-6.884-84.572-53.5-131.187C396.362 36.61 358.65 21.37 323.438 21.28zM135.375 305.814c.336 28.81-13.204 52.198-32.063 71.75-23.56 24.425-54.908 45.003-80.78 69.843 5.21 17.185 8.287 25.638 12.374 29.78 4.09 4.146 12.346 7.215 29.594 12.283 24.656-25.833 44.44-57.94 68.5-82 12.625-12.627 26.7-23.098 43.594-28.408 8.804-2.766 18.313-3.977 28.5-3.53l-69.72-69.72zM384 328.969c-15.79 0-31.774 6.565-42.906 17.56-11.132 10.998-17.724 26.717-17.72 42.22.006 15.497 6.59 31.23 17.72 42.22 11.13 10.988 27.12 17.53 42.906 17.53 15.785 0 31.775-6.542 42.906-17.53 11.13-10.99 17.714-26.723 17.72-42.22.004-15.503-6.588-31.222-17.72-42.22-11.132-10.995-27.115-17.56-42.906-17.56z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pipes;

impl IconShape for Pipes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121 18v143.537c0 3.913 2.64 9.707 7.28 14.166 4.638 4.46 10.825 7.297 16.05 7.297H279v-46H167V18zm112 0v23h-48v46h71c5 0 11.05-2.777 15.637-7.363C276.223 75.05 279 69 279 64V18zm96 0v37h46V18zM80 41c-5 0-11.05 2.777-15.637 7.363C59.777 52.95 57 59 57 64v183h46V41zm249 32v46h46V73zm-32 64v46h197v-46zm32 64v46h46v-46zM18 265v46h135v82h-32v46h54.934c5.045 0 11.15-2.802 15.754-7.32 4.604-4.518 7.312-10.428 7.312-14.846V311h102.174A88.47 88.47 0 0 1 343 295.47v18.114c-19.383 2.436-36.29 12.62-47.53 27.385l-22.11-12.765-9 15.59 22.11 12.764C282.95 364.994 281 374.26 281 384s1.95 19.005 5.47 27.44l-22.11 12.765 9 15.59 22.11-12.764c11.24 14.767 28.147 24.95 47.53 27.386v18.127a88.535 88.535 0 0 1-14-2.566V494h46v-24.023a88.535 88.535 0 0 1-14 2.566v-18.127c19.383-2.436 36.29-12.62 47.53-27.385l22.11 12.765 9-15.59-22.11-12.764c3.52-8.435 5.47-17.702 5.47-27.44s-1.95-19.005-5.47-27.44l22.11-12.765-9-15.59-22.11 12.764c-11.24-14.767-28.147-24.95-47.53-27.386V295.47A88.47 88.47 0 0 1 402.826 311H494v-46zm325 62.723v40.687l-35.19-20.316c8.668-10.64 21.08-18.113 35.19-20.37zm18 0c14.11 2.258 26.522 9.732 35.19 20.37L361 368.41zM57 329v165h46V329zm380.977 32A88.703 88.703 0 0 1 441 384c0 7.95-1.055 15.66-3.023 23H494v-46zm-139.198 2.666L333.997 384l-35.22 20.334A56.53 56.53 0 0 1 295 384a56.53 56.53 0 0 1 3.78-20.334zm106.44 0A56.53 56.53 0 0 1 409 384a56.53 56.53 0 0 1-3.78 20.334L370.003 384zM18 393v46h21v-46zm325 6.59v40.687c-14.11-2.258-26.522-9.732-35.19-20.37zm18 0l35.19 20.316c-8.668 10.64-21.08 18.113-35.19 20.37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Piranha;

impl IconShape for Piranha {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.6 52.93c20.2 21 31 52.17 33.3 82.07 32.9-37.48 75.7-62.12 122-65.97-51.5-21.61-101.2-25.54-155.3-16.1zm86.5 58.17c-32.1 21.6-64.9 60.6-99.6 127.1-5.8 7.3-16.3 11.4-24.38 16.3-9.17 11.6-15.2 34.7-6.93 46.2l28.51-3.5 47 51.4c10.2-5.2 21.4-8.8 31.4-14.9l9.2 15.4c-32.1 16.1-67.8 31.7-100.7 46.2 39.9 10.6 74.4 34.5 93.6 68.4l28.3-94 17.2 5.2-13.1 43.4c70.7 51.4 183.4 74.4 236.4-6.6L404.7 425c-55.8-13.3-89.5-55.9-120.5-87.6 48.2-58 116.3-98.8 171.6-131.4l-35.9-16.2c-11.2-49.1-53.5-98.44-97.5-102.77-34.9-2.92-75.4 8.36-99.3 24.07zM25.68 149.7c21.04 91 23.9 184.3 9.93 269.1 31.82-22.7 65.99-65.1 70.59-101.7-15.82 2.4-24.68 4.9-31.97-11.6-11.61-28.6 7.82-61.5 24.51-71.9-12.3-30.1-40.7-86.1-73.06-83.9zM399 190.6L333.9 204l-36.4-43.1c42.6-12 71.5 7 101.5 29.7zm-170.2-23.9l15.8 8.7-36.9 67.3 9.6 70.1-17.8 2.5-10.5-76.1zm240.9 52.2c-14.4 8.7-15.7 9.1-28.1 16.5l42.4 61.8s-14.2-78.5-14.3-78.3zm-32 18.8c-11.5 6.8-22.9 13.7-34.1 20.8l40.5 59.9zM401.4 260c-8.5 5.4-16.9 11-25 16.7l35 43.1zm-26.8 18c-8.3 5.9-16.4 11.9-24.2 18.2l37.8 31.3zm-26.9 20.5c-7.1 5.8-14 11.9-20.6 18.3l25.3 10.4zm-38.6 38.7c10.1 10.6 19.6 21.1 30 30.8l9.2-27.4zm177.2 2.2l-45.5 59.9 33.9-7zm-105.1 6l-38 26.4c7.3 6.5 15.2 12.5 24.2 18zm64.2.7l-44.3 59c1.5.5 2.9 1 4.4 1.4l30.1-6.2zm-38.6 3.9l-36.3 41.6c8.2 4.8 17.4 9 27.8 12.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateCannon;

impl IconShape for PirateCannon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406.4 67.25c-2.1 0-4 .8-5.7 1.9-4.3 2.9-7.6 8.4-.8 18.6l53.4 79.85c6.8 10.2 13.2 9.3 17.5 6.4 4.4-2.9 7.7-8.4.9-18.6l-53.5-79.85c-4.2-6.4-8.3-8.4-11.8-8.3zM392 108.4l-141.2 88.5c4.6 12.4 12.1 26.2 21.1 38.8l1.8 2.4a24 24 0 0 1 3.6-.3 24 24 0 0 1 22.2 15h21.6l109.2-87.2zm-156.8 98.3l-99.1 62.2c4.1 17.3 11.5 33.6 21.7 47.9h54.5v-64h42.8a24 24 0 0 1 3-5.4c-.3-.4-.6-.9-.9-1.3-9-12.6-16.7-26.1-22-39.4zm-4.9 64.1v64h-64v64h-64v46h209.1c-6.9-8.5-11.1-19.3-11.1-31 0-23.9 17.3-43.9 40-48.2v-94.8zm-110.2 8.1l-34.2 21.5c-25.6 18.3-12.3 58.4 11.54 80.4h50.86v-46.6c-12.9-16.3-22.6-35.1-28.2-55.3zm309.2 39.9c-17.2 0-31 13.8-31 31 0 5.6 1.4 10.8 4 15.3 10.7 1 20.4 5.6 28 12.5 7-6.4 16-10.8 25.9-12.3 2.6-4.5 4.1-9.8 4.1-15.5 0-17.2-13.8-31-31-31zM66.66 370.9c-3.61 4-8.24 7.8-13.57 11-11.26 6.8-25.19 11.1-35.41 11.4l.58 18c14.31-.5 30.29-5.6 44.18-14 5.38-3.3 10.5-7.1 14.96-11.5-4-4.6-7.61-9.6-10.74-14.9zm282.64 11.9c-17.2 0-31 13.8-31 31s13.8 31 31 31c3.2 0 6.2-.5 9-1.3-6.2-8.3-10-18.6-10-29.7 0-11.1 3.8-21.4 10-29.7-2.8-.8-5.8-1.3-9-1.3zm48 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm66 0c-8.7 0-16.5 3.5-22.1 9.2 3.2 6.6 5.1 14 5.1 21.8 0 7.8-1.9 15.2-5.1 21.8 5.6 5.7 13.4 9.2 22.1 9.2 17.2 0 31-13.8 31-31s-13.8-31-31-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateCaptain;

impl IconShape for PirateCaptain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.813 26.47c-47.833 30.147-65.559 69.524-84.504 114.994-19.315 46.354-39.628 98.61-93.305 146.756 6.085 10.885 19.806 21.43 39.465 30.394 10.776-9.337 21.588-19.802 31.865-30.299l-32.568 6.514-3.532-17.652c22.594-5.308 46.576-9.316 67.391-13.479 1.5-12.248 3.734-22.238 7.338-33.045 39.53-9.031 83.046-24.929 119.037-25.304 49.418 4.492 82.3 14.81 119.47 25.427 2.837 11.075 5.085 23.007 6.268 32.795 21.488 2.892 44.897 8.98 68.028 13.606l-3.532 17.652-32.568-6.514c10.277 10.497 21.089 20.962 31.865 30.3 19.659-8.965 33.38-19.51 39.465-30.395-53.677-48.145-73.99-100.402-93.305-146.756-18.945-45.47-36.67-84.847-84.503-114.994C296.238 44.055 277.03 70.62 256 71.003c-24.332-2.907-39.507-25.418-51.188-44.533zM171 74.003h18v16.84l29.234 15.945c8.62-13.111 22.037-21.785 37.766-21.785s29.146 8.674 37.766 21.785L323 90.843v-16.84h18v15h15v18h-25.04l-29.657 16.178c2.726 10.398 3.39 20.056 1.783 29.89l51.209 27.932H376v18h-15v15h-18v-18.658l-45.451-24.791c-8.134 16.76-23.286 28.449-41.549 28.449-18.263 0-33.415-11.689-41.549-28.45L169 195.346v18.658h-18v-15h-15v-18h21.705l51.21-27.932c-1.62-10.023-.816-20.876 1.782-29.89l-29.658-16.178H156v-18h15zm85 29c-15.553 0-30 16.442-30 39s14.447 39 30 39 30-16.442 30-39-14.447-39-30-39zm-25 23h18v16h-18zm32 0h18v16h-18zm-23 23h32v18h-32zm-88.672 96.275c-1.23 4.528-2.197 9.576-2.945 15.01 77.777-16.486 135.335-16.85 214.637-.086-.721-5.099-1.596-10.115-2.674-15.015-81.523-28.826-127.387-28.658-209.018.091zm-4.562 33.422c-.424 9.46-.335 19.679.177 30.32 4.753.039 9.345.031 13.827-.01 6.59-12.958 53.8-23.891 75.593-6.394 31.024-6.023 53.738-16.34 76.233-31.225-56.816-10.167-121.565.987-165.83 7.31zm96.879 40.393c-2.76 28.11-22.07 46.91-51.645 46.91-17.41 0-28.047-15.338-31.088-39.02-4.157.046-8.378.07-12.738.043 3.258 31.757 9.031 65.783 15.209 93.81 12.83-1.074 30.377-7.884 46.246-16.7 15.178-8.432 29.164-18.651 37.057-25.719-7.13-.615-14.143-1.883-21.012-3.72l4.652-17.387c16.713 4.472 33.443 5.046 51.233.03l4.882 17.325a110.67 110.67 0 0 1-21.082 3.791c7.901 7.066 21.864 17.264 37.012 25.68 15.924 8.846 33.54 15.676 46.38 16.715 10.49-45.632 19.036-96.549 16.136-142.2l-21.912-3.13c-18.234 9.981-60.434 35.275-99.33 43.572zm139.638-36.854c.445 8.808.533 17.712.256 26.678 7.592 9.002 16.344 17.933 26.244 26.812-3.032-1.696-6.46-2.726-10.172-2.726-17.814 2.059-25.24 18.28-25.388 33 .571 15.995 9.892 32.652 25.388 33 1.72 0 3.375-.23 4.963-.635 5.28 21.08 13.551 36.341 30.328 49.365-21.42 15.611-63.538 17.105-86.025 14.53a390.133 390.133 0 0 1-16.275 15.382c46.768 5.84 110.236 6.113 127.08-34.878-19.729-11.428-33.27-30.424-37.319-46.85 27.314 6.033 50.22-9.868 50.637-34.73-34.067-11.184-73-63.891-89.717-78.948zm-254.85.057C98.9 314.222 68.38 341.6 33.874 364.604c20.184 21.992 53.465 24.298 75.195 18.358-26.457 40.808-46.046 58.21-81.37 81.76 49.243 14.027 108.243 23.808 151.991 13.185a386.57 386.57 0 0 1-15.96-15.049c-31.675 3.96-65.776 1.813-95.264-4.603 37.443-29.197 53.024-59.135 67.088-87.24a730.285 730.285 0 0 1-2.54-17.582l-9.038 4.52c-23.393 11.696-45.525 13.212-59.72 7.708 26.777-18.845 48.316-37.823 64.526-57.127-.457-9.033-.575-17.797-.347-26.238zm207.204 19.707l12.726 12.728c-6.403 6.404-14.195 10.616-22.363 13.39v16.882h-32v-11.746c-6.205.212-11.752.11-16 .11v-18c16 0 45.88-1.607 57.637-13.364zm81.883 40.447c10.919 9.226 23.07 18.404 36.472 27.553-6.27 11.21-21.687 10.315-30.56 7.648 3.037-11.635.5-26.466-5.912-35.2zm-17.909 8.553c5.604 1.912 7.333 9.947 7.389 15-.435 4.06-1.547 14.87-7.389 15-5.603-1.912-7.333-9.948-7.388-15 .435-4.06 1.547-14.87 7.388-15zM256 399.114c-6.269 8.582-14.137 16.636-22.88 23.873 8.955-3.216 15.62-5.04 22.903-5.021 7.311.02 13.967 1.881 22.948 5.097-8.78-7.256-16.68-15.337-22.971-23.949zm33.77 32.158l-4.922 13.16c-12.197-4.56-19.227-7.07-24.424-8.017l32.744 49.115c14.797-9.823 27.718-20.992 40.074-33.097-16.68-5.461-30.996-12.44-43.472-21.16zm-67.56.014c-13.64 8.811-29.479 17.396-43.45 21.147 13.108 12.633 25.708 23.663 40.072 33.097l32.768-49.152c-5.186.912-12.183 3.405-24.409 8.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateCoat;

impl IconShape for PirateCoat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 32c0 16 0 32-16 48l-64 32-37.646 163.139c20.315 9.254 41.137 16.022 62.947 19.007L160 192c0 64 0 192-32 304 16.315-4.079 36.8-7.112 59.313-9.111 9.09-14.67 17.425-42.087 23.058-76.11.097-.585.188-1.19.283-1.779H192v-18h21.293c1.271-9.625 2.386-19.655 3.35-30H192v-18h26.148c.727-9.803 1.322-19.829 1.795-30H192v-18h28.646c.14-4.382.262-8.777.356-13.191.119-5.583.2-11.19.246-16.809H192v-18h29.275c-.051-10.022-.22-20.04-.49-30H192v-18h28.176c-.41-10.127-.928-20.153-1.557-30H192v-18h25.334a1048.454 1048.454 0 0 0-2.797-30H192v-18h20.404c-3.451-26.732-7.839-50.259-13.058-68.527l.199-.057A345.758 345.758 0 0 1 192 32zm128 0c-2.562.854-5.07 1.653-7.545 2.416l.2.057c-5.22 18.268-9.608 41.795-13.06 68.527H320v18h-22.537a1048.454 1048.454 0 0 0-2.797 30H320v18h-26.62c-.628 9.847-1.145 19.873-1.556 30H320v18h-28.785c-.27 9.96-.439 19.978-.49 30H320v18h-29.248c.046 5.619.127 11.226.246 16.809.094 4.414.217 8.809.356 13.191H320v18h-27.943a1096.285 1096.285 0 0 0 1.795 30H320v18h-24.643c.964 10.345 2.079 20.375 3.35 30H320v18h-18.654c.095.59.186 1.194.283 1.78 5.633 34.022 13.967 61.439 23.058 76.109C347.2 488.888 367.685 491.92 384 496c-32-112-32-240-32-304l22.7 102.146c21.809-2.985 42.63-9.753 62.946-19.007L400 112l-64-32c-16-16-16-32-16-48zm-100.639 7.72c14.695 59.028 21.537 153.15 19.637 242.471-1.007 47.323-4.517 93.164-10.87 131.53-4.77 28.82-10.831 53.327-19.462 71.619 30.778-1.773 63.89-1.773 94.668 0-8.631-18.292-14.691-42.798-19.463-71.62-6.352-38.365-9.862-84.206-10.869-131.529-1.9-89.32 4.942-183.443 19.637-242.47-25.553 5.69-47.725 5.69-73.278 0zM54.671 285.396c-1.49 7.72-2.976 15.435-3.648 22.43-1.022 10.64.299 18.44 3.645 22.13 17.186 18.957 41.688 25.915 67.963 28.494 7.592-15.13 12.333-30.41 12.566-46.512-28.605-3.87-55.172-13.757-80.525-26.542zm402.657 0c-25.353 12.785-51.92 22.672-80.525 26.543.233 16.102 4.974 31.382 12.566 46.511 26.275-2.579 50.777-9.537 67.963-28.494 3.346-3.69 4.667-11.49 3.645-22.13-.672-6.995-2.159-14.71-3.649-22.43z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateFlag;

impl IconShape for PirateFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 31.203c-96 .797-117.377 76.692-79.434 135.133-6.397 6.534-10.344 15.886-.566 25.664 16 16 32 16 39.852 32.42h80.296C304 208 320 208 336 192c9.778-9.778 5.831-19.13-.566-25.664C373.377 107.896 352 32 256 31.203zm-42.146 101.049c.426-.003.862.007 1.306.03 28.404 1.442 40.84 59.718-10.83 51.095-10.412-1.738-17.355-50.963 9.524-51.125zm84.292 0c26.88.162 19.936 49.387 9.524 51.125C256 192 268.436 133.724 296.84 132.28c.444-.022.88-.032 1.306-.03zM32 144c7.406 88.586 64.475 175.544 156.623 236.797 17.959-7.251 35.767-15.322 50.424-23.877C180.254 319.737 104.939 255.465 32 144zm448 0C359.2 328.605 231.863 383.797 183.908 400.797c3.177 5.374 5.997 10.98 8.711 16.432 3.878 7.789 7.581 15.251 11.184 20.986A517.457 517.457 0 0 0 256 417.973l.168.076a884.617 884.617 0 0 0 9.652-4.65C391.488 353.263 471.156 249.79 480 144zm-224 27.725l20.074 40.15L256 199.328l-20.074 12.547L256 171.725zm-65.604 57.11l15.76 51.042s31.268 24.92 49.844 24.92 49.844-24.92 49.844-24.92l15.76-51.041-27.086 19.236-8.063 16.248S267.35 279.547 256 279.547c-11.35 0-30.455-15.227-30.455-15.227l-8.063-16.248-27.086-19.236zm-59.984 152.976c-.783-.02-1.574-.011-2.375.027l.856 17.978c6.36-.302 10.814 2.416 16.11 8.64 5.298 6.222 10.32 15.707 15.24 25.589 4.918 9.882 9.707 20.12 16.122 28.45 6.415 8.327 16.202 15.446 27.969 13.89l-2.36-17.844c-4.094.541-6.78-1.099-11.349-7.031-4.57-5.933-9.275-15.46-14.268-25.489-4.992-10.029-10.297-20.604-17.644-29.234-6.888-8.09-16.556-14.686-28.3-14.976zm251.176 0c-11.745.29-21.413 6.885-28.3 14.976-7.348 8.63-12.653 19.205-17.645 29.234-4.993 10.03-9.698 19.556-14.268 25.489-4.57 5.932-7.255 7.572-11.35 7.031l-2.359 17.844c11.767 1.556 21.554-5.563 27.969-13.89 6.415-8.33 11.204-18.568 16.123-28.45 4.919-9.882 9.94-19.367 15.238-25.59 5.297-6.223 9.75-8.941 16.111-8.639l.856-17.978a32.853 32.853 0 0 0-2.375-.027zm-55.928 18.107c-13.97 10.003-30.13 18.92-47.424 27.478a524.868 524.868 0 0 0 29.961 10.819c3.603-5.735 7.306-13.197 11.184-20.986 2.714-5.453 5.534-11.058 8.71-16.432-.77-.273-1.62-.586-2.43-.879zm-191.808 23.371l-27.67 10.352 7.904 31.771 36.424-11.707c-1.418-2.814-2.81-5.649-4.207-8.457-4.048-8.131-8.169-15.961-12.451-21.959zm244.296 0c-4.282 5.998-8.403 13.828-12.45 21.959-1.399 2.808-2.79 5.643-4.208 8.457l36.424 11.707 7.904-31.771-27.67-10.352zM78.271 435.438a9.632 9.632 0 0 0-1.32.12 6.824 6.824 0 0 0-1.217.313c-11.544 4.201-25.105 18.04-21.648 29.828 3.07 10.472 19.675 13.359 30.492 11.916 3.828-.51 8.415-3.761 12.234-7.086l-8.124-32.648c-3.238-1.285-7.214-2.528-10.417-2.443zm355.458 0c-3.203-.085-7.179 1.158-10.416 2.443l-8.125 32.648c3.819 3.325 8.406 6.576 12.234 7.086 10.817 1.443 27.422-1.444 30.492-11.916 3.457-11.788-10.104-25.627-21.648-29.828a6.824 6.824 0 0 0-1.217-.312 9.632 9.632 0 0 0-1.32-.122z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateHat;

impl IconShape for PirateHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.32 70.473c-12.257.27-25.32 12.332-36.568 29.64a145.732 145.732 0 0 1 19.855-12.115c-31.622 23.364-46.658 83.72-47.166 122.336C43.54 191.32 70.73 160.196 96 174.964c-28.952-6.018-47.296 38.325-56.428 58.606 22.808-9.36 39.494-24.152 72.428-24.523-32.47 21.4-43.966 44.83-56.428 68.168 23.376-14.505 40.286-22.99 55.528-26.227 13.683-16.43 28.01-33.093 43.728-46.746 11.79-10.24 24.533-18.877 38.37-24.043-16.805-46.114-42.764-88.828-89.626-107.49-3-1.6-6.1-2.307-9.252-2.237zM207.578 194.64c-14.066 3.29-27.57 11.573-40.947 23.192-17.53 15.227-34.353 35.82-50.868 55.703-16.515 19.884-32.62 39.088-50.287 51.707-13.545 9.674-29.157 15.164-45.014 12.565 2.883 14.468 9.866 33.213 19.38 50.42 12.655 22.886 30.036 43.342 44.482 50.59 6.637 3.328 12.566 3.416 21.23 1.243 8.662-2.173 19.453-6.957 32.762-12.52C164.934 416.41 201.78 402.6 256 402.6c54.22 0 91.066 13.81 117.686 24.94 13.31 5.563 24.1 10.347 32.763 12.52 8.662 2.173 14.59 2.085 21.228-1.244 14.446-7.247 31.827-27.703 44.482-50.59 9.514-17.206 16.497-35.95 19.38-50.42-15.858 2.6-31.47-2.89-45.015-12.564-17.667-12.62-33.772-31.823-50.287-51.707s-33.337-40.476-50.87-55.703c-13.376-11.62-26.88-19.902-40.946-23.193 3.024 13.966-.075 26.363-7.594 34.985-10.06 11.535-25.643 16.307-40.828 16.307-15.185 0-30.77-4.772-40.828-16.307-7.52-8.622-10.618-21.02-7.594-34.986zm113.04 35.702c8.495-.304 17.71 10.54 7.925 22.465 16.326-15.08 30.872 6.004 13.81 13.808-13.26 6.065-25.986 13.423-37.937 21.86a32.33 32.33 0 0 1 1.584 9.958c0 10.202-2.76 19.5-10.88 26.696l-1.18 1.055-.047 1.582-.11 4.397c13.784 10.594 29.233 19.1 46.635 25.016 20.08 6.825 5.405 31.39-15.922 15.912 18.035 18.658-6.53 32.908-14.275 14.275-4.626-11.13-10.36-21.786-17.02-31.887l-.007.233c-1.505.906-4.646 2.64-9.295 4.308V340.6h-9.343v21.583c-3.997.946-6.635 1.68-11.875 1.94v-20.516h-11.344v20.565c-5-.19-7.527-.81-11.518-1.645V340.6h-9.344v20c-5.884-1.864-9.905-3.948-11.69-4.96l-.01-.298c-6.652 10.092-12.38 20.738-17.003 31.855-7.746 18.632-32.31 4.384-14.274-14.275-21.327 15.48-36.005-9.097-15.924-15.922 17.313-5.885 32.705-14.322 46.435-24.84l-.156-4.687-.05-1.547-1.152-1.032C208.72 317.74 206 308.48 206 298.396c0-3.362.53-6.647 1.533-9.798-11.935-8.415-24.646-15.747-37.883-21.8-17.063-7.806-2.527-28.89 13.8-13.812-9.574-11.666-.968-22.302 7.364-22.474 3.52-.073 6.99 1.722 9.024 6.086 5.733 12.305 12.05 24.032 19.04 35.013 8.91-7.97 21.735-13.142 36.214-13.352H256c14.805 0 27.942 5.186 37.03 13.28 7.024-11.008 13.372-22.763 19.124-35.11 1.926-4.134 5.14-5.967 8.463-6.086zM224.7 293.228c-4.483.056-7.877 1.904-8.042 7.28 0 8.555 6.923 15.498 15.485 15.498 8.555 0 15.496-6.943 15.496-15.498 0 0-13.757-7.395-22.94-7.28zm62.624 0c-9.18-.116-22.937 7.28-22.937 7.28 0 8.555 6.94 15.498 15.496 15.498 8.555 0 15.484-6.943 15.484-15.498-.164-5.376-3.56-7.224-8.043-7.28zm-31.336 18.96l-7.994 17.84h15.988l-7.994-17.84z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateHook;

impl IconShape for PirateHook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M378.095 20.322c34.035-.38 61.06 18.682 75.365 44.432 15.26 27.467 18.663 54.957 5.458 85.535-.823 1.904-3.993 14.39-3.395 21.108.48 5.396 3.53 27.773.846 29.18-1.433 1.14-11.05-18.545-14.056-23.332-5.136-8.18-12.894-18.784-8.16-29.746 9.785-22.657 7.77-49.972-3.422-70.12-11.193-20.146-29.84-33.194-57.29-30.815-29.632 2.567-46.207 11.872-57.257 24.796-11.05 12.926-16.824 30.83-20.016 51.652-6.383 41.642.04 92.605-22.4 128.912-.26.42-.543.825-.85 1.213l-34.538 43.814c-3.714.45-6.83.52-9.275.267-4.443-.46-6.53-1.636-8.043-3.213-1.874-1.953-3.33-6.086-3.67-12.584.032.013.066.022.098.035l34.39-43.627c14.326-23.78 11.526-72.68 18.588-118.756 3.55-23.167 10.218-46.2 25.953-64.605 15.736-18.405 40.29-30.82 74.774-33.807 2.33-.202 4.63-.312 6.898-.338zM199.078 278.008c.035 0 .07.003.105.004-.242 11.4 1.905 21.17 8.895 28.455 4.834 5.038 11.675 7.875 19.172 8.652 5.648.585 11.8.17 18.693-1.094 1.59 4.98 2.696 10.352 3.36 16.1 2.022 17.458-.235 37.965-4.944 58.556-5.345 23.368-13.753 46.676-21.968 66.2-59.667-12.71-112.163-55.15-150.262-115.952 16.522-13.195 37.502-28.216 59.393-40.012 18.782-10.12 38.147-17.76 55.256-20.11 4.276-.586 8.375-.865 12.298-.8zm-140.91 72.504c39.234 61.705 93.608 106.474 156.816 121.162-3.164 6.837-6.137 12.883-8.688 17.824-2.686 1.485-6.664 2.413-12.337 2.137-6.73-.327-15.344-2.327-24.822-5.842-18.955-7.03-41.36-19.988-61.728-35.492-20.368-15.503-38.77-33.628-50.168-50.366-10.84-15.92-14.417-29.478-11.256-38.434 3.198-3.048 7.347-6.81 12.183-10.988z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PisaTower;

impl IconShape for PisaTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.934 22.004l-5.92 29.412 29.412 5.92 1.383-6.863a9 9 0 0 1 8.699-7.35 9 9 0 0 1 8.943 10.9l-1.38 6.864 29.411 5.918 5.92-29.412-76.468-15.39zm-25.155 43.9L230.703 111l13.725 2.764 4.539-22.55a9 9 0 0 1 8.699-7.347c5.796-.095 10.169 5.233 8.945 10.899l-4.539 22.548 13.727 2.762 4.539-22.549a9 9 0 0 1 8.7-7.347c5.796-.096 10.17 5.234 8.944 10.9l-4.539 22.547 13.727 2.762 4.539-22.547a9 9 0 0 1 8.7-7.348c5.794-.094 10.166 5.234 8.943 10.899l-4.538 22.548 13.727 2.762 9.076-45.096L239.78 65.904zm-12.627 62.742l-9.076 45.096 13.725 2.764 4.539-22.549a9 9 0 0 1 8.7-7.348c5.794-.094 10.166 5.234 8.942 10.899l-4.537 22.549 13.727 2.761 4.537-22.548a9 9 0 0 1 8.7-7.348c5.795-.096 10.168 5.233 8.945 10.898l-4.538 22.55 13.727 2.76 4.537-22.546a9 9 0 0 1 8.7-7.348c5.795-.095 10.168 5.233 8.945 10.899l-4.538 22.549 13.727 2.761 9.076-45.095c-42.153-8.353-68.636-13.815-107.838-21.704zm-12.629 62.743l-9.076 45.095 13.727 2.762 4.537-22.547a9 9 0 0 1 8.7-7.35c5.796-.095 10.17 5.234 8.944 10.901l-4.537 22.549 13.727 2.762 4.537-22.55a9 9 0 0 1 8.7-7.347c5.795-.095 10.168 5.233 8.945 10.899l-4.538 22.548 13.727 2.762 4.537-22.547a9 9 0 0 1 8.7-7.347c5.795-.096 10.168 5.232 8.945 10.898l-4.537 22.549 13.724 2.762 9.076-45.096c-36.53-7.244-72.7-14.626-107.838-21.703zm-12.627 62.74l-9.076 45.096 13.727 2.763 4.537-22.549a9 9 0 0 1 8.7-7.347c5.796-.096 10.17 5.234 8.945 10.9l-4.54 22.547 13.727 2.764 4.54-22.55a9 9 0 0 1 8.698-7.347c5.796-.095 10.17 5.233 8.946 10.899l-4.54 22.549 13.727 2.761 4.54-22.547a9 9 0 0 1 8.698-7.35c5.797-.095 10.17 5.235 8.946 10.901l-4.54 22.549 13.727 2.762 9.076-45.096c-36.344-7.205-74.38-14.962-107.838-21.705zM189.27 316.87l-9.077 45.096 13.725 2.763 4.539-22.548a9 9 0 0 1 8.7-7.348c5.795-.095 10.168 5.233 8.945 10.898l-4.54 22.55 13.727 2.763 4.54-22.549a9 9 0 0 1 8.698-7.348c5.796-.095 10.17 5.233 8.946 10.899l-4.54 22.549 13.727 2.761 4.54-22.548a9 9 0 0 1 8.698-7.348c5.797-.096 10.17 5.234 8.946 10.9l-4.54 22.55 13.725 2.76 9.076-45.095c-36.669-7.268-75.812-15.256-107.835-21.705zm-12.63 62.742l-9.076 45.096 13.727 2.764 4.54-22.55a9 9 0 0 1 8.698-7.347c5.796-.095 10.17 5.233 8.946 10.899l-4.54 22.548 13.727 2.764 4.54-22.549a9 9 0 0 1 8.698-7.347c5.796-.096 10.17 5.232 8.946 10.898l-4.54 22.549 13.727 2.762 4.54-22.55a9 9 0 0 1 8.698-7.347c5.797-.096 10.17 5.234 8.946 10.9l-4.54 22.55 13.725 2.761 9.077-45.096c-36.342-7.209-70.194-14.127-107.838-21.705zm-12.626 62.742L157.444 475H22v18h178.28l.251.05.012-.05H490v-18H269.37l2.482-10.941c-36.672-7.27-75.822-15.258-107.838-21.704zm17.888 17.963c5.795-.094 10.167 5.234 8.944 10.899l-.801 3.783h-18.318l1.476-7.334a9 9 0 0 1 8.7-7.348zm31.37 6.313c4.918-.081 8.798 3.746 9.117 8.369h-18.032l.217-1.02a9 9 0 0 1 8.697-7.35z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pisces;

impl IconShape for Pisces {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.02 221.26c6.9-79.494 40.052-148.655 87.93-192.533h87.745c-47.877 43.878-75.456 113.04-81.08 192.532h70.68v79.45h-69.05c8.383 73.184 36.106 136.262 81.49 176.83H370.99c-45.39-40.568-77.906-103.65-87.997-176.83h-57.89c-10.092 73.184-42.61 136.262-87.998 176.83h-87.74c45.383-40.568 73.097-103.65 81.49-176.83H56.066v-79.45h76.42C126.85 141.765 99.28 72.604 51.403 28.726h87.75c47.87 43.878 81.025 113.04 87.92 192.532h53.946z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pitchfork;

impl IconShape for Pitchfork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.9 19l25.7 58.8c.7.1 1.9.26 3.9 0 4.7-.57 11.8-2.8 18.5-5.87 6.6-3.07 13-7.02 16.8-10.3 1.5-1.33 2.2-2.27 2.7-2.96L156.2 19h-50.3zm75.3 57.39c-5.6 4.5-12.4 8.53-19.7 11.88-7.4 3.39-15 6.05-22.2 7.16l16.3 37.47 25.8 1.3 16.4-19.7-16.6-38.11zm110.1 18.32c-19.5-.35-46.8 5.79-75.6 15.59l3.1 7.2-26.5 31.7-2.9 3.4-45.8-2.3-3.3-7.5c-44.48 23.5-78.61 50.6-74.43 69C102.8 337 168.3 448.5 226 496.7l11.5-13.8c-51-42.7-115.5-149.4-152.01-268.6L127.5 196c37.4 121.2 101 228.2 157.2 275.1l11.5-13.8C245.1 414.6 180.6 308 144 188.8l42.1-18.4c37.4 121.2 101 228.2 157.3 275.1l11.4-13.8c-51-42.7-115.6-149.3-152.1-268.5l42.1-18.4C282.2 266 345.8 373 402 419.9l11.5-13.8c-51-42.7-115.6-149.3-152.1-268.5l42.1-18.4c37.4 121.1 101 228.3 157.2 275.1l11.4-13.8C420 336.9 353.8 226.6 317.7 104.4c-4.3-6.49-13.7-9.47-26.4-9.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PizzaSlice;

impl IconShape for PizzaSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.643 90.924c-.86 1.458-.836 7.676-.643 15.758l207.96 77.752c-.75-5.11-1.026-10.22-.07-15.504 1.096-6.05 4.167-11.833 9.258-16.95-4.287-2.323-9.127-4.66-14.44-6.93-16.102-6.884-36.296-13.547-57.772-19.986-42.423-12.718-89.605-24.523-122.35-36.86-5.586-1.577-18.39-3.26-21.943 2.72zm-13.24 28.13l-13.977 22.575c2.48 1.246 4.814 2.69 6.963 4.327 8.1 6.17 13.75 15.402 13.75 25.844 0 10.442-5.65 19.673-13.75 25.845-8.103 6.17-18.78 9.687-30.408 9.687-5.542 0-10.863-.808-15.796-2.312l-54.684 88.334c4.02 1.602 8.016 3.954 11.836 7.193 8.423 6.012 14.26 12.96 16.83 20.02 2.57 7.06 1.765 14.98-5.385 20.472-7.15 5.49-17.81 6.38-27.43 4.737-7.88-1.345-15.738-4.314-22.95-8.646L45.14 411.86l217.22-112.354c-3.304-.727-6.65-1.74-10.005-3.065-11.6-4.575-21.265-11.935-27.802-20.903-6.538-8.967-10.216-20.45-7.016-31.433 3.2-10.985 12.122-17.495 21.998-19.987 9.876-2.492 21.397-1.492 32.996 3.084 11.6 4.578 21.267 11.938 27.804 20.905 5.802 7.96 9.34 17.896 7.828 27.71l141.613-73.25-221.478-82.803zm-27.303 34.62c-16 14.192-32.002 38.596-10.118 37.658 8.336 0 15.738-2.643 20.72-6.437 4.98-3.795 7.437-8.075 7.437-13.094 0-5.02-3.762-9.676-7.44-13.093-2.864-2.663-3.573-4.044-10.6-5.033zm270.838 7.252c-5.064 3.71-6.593 6.936-7.303 10.855-.59 8.193 1.635 18.62 2.694 23.34.418 1.868 3.832 11.275 2.057 12.204C326.357 281.18 185.33 355.034 44.3 428.894l.262 16.5c141.03-73.855 289.22-150.04 430.25-223.896l7.084-3.71c-.262-6.386-.518-8.266-1.013-12.378.097-4.352-.216-10.013-.865-15.71-.65-5.698-1.636-11.473-2.782-16.114-1.124-4.555-2.798-8.16-2.974-8.45-1.077-1.325-2.54-2.74-4.324-4.21zm-218.87 79.164c-3.07-.047-5.906.268-8.39.894-6.624 1.672-10.038 5.04-11.094 8.662-1.056 3.623-.105 8.71 4.28 14.725 4.383 6.015 11.93 12.048 21.253 15.726 9.322 3.678 18.47 4.23 25.092 2.56 6.622-1.67 10.035-5.037 11.09-8.66 1.056-3.623.108-8.713-4.277-14.726-4.384-6.014-11.933-12.047-21.255-15.725-5.827-2.3-11.584-3.378-16.7-3.455zm-139.045 68.363c-5.864-.092-9.69 7.346-12.42 15.705 6.25 4.463 13.366 7.25 18.922 8.2 5.557.948 8.55.168 9.89-.86 1.337-1.028 2.28-3.272.796-7.35-1.484-4.077-5.506-9.238-11.76-13.7-1.982-1.352-3.784-1.97-5.427-1.995z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlagueDoctorProfile;

impl IconShape for PlagueDoctorProfile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.646 33.586c-44.698 10.116-96.576 26.075-141.98 42.926-42.563 15.796-79.721 32.796-97.816 44.22l28.634 40.006C85.45 141.836 163.58 106.833 258.87 78.725c.115-12.307.426-26.651.777-45.14zm-.755 63.922c-89.553 26.838-163.813 59.876-199.809 78.035l11.363 15.877c64.955-26.867 129.99-52.813 189.244-73.865-.436-6.558-.686-13.057-.798-20.047zm10.861 35.584c-63.467 22.407-134.187 50.745-204.494 79.949l-.063-.148c-22.345 11.147-36.325 23.22-47.084 35.552 3.174.194 6.684.262 10.803-.04 11.524-.847 26.29-3.532 42.982-7.69 33.387-8.316 74.56-22.461 115.413-38.873 40.852-16.412 81.444-35.104 113.841-52.438 20.416-10.922 37.096-21.52 48.778-30.168-27.24-.104-57.425 6.306-80.176 13.856zm18.371 43.3a1084.226 1084.226 0 0 1-16.488 8.057c6.635 4.076 11.482 10.968 14.367 18.592 3.944 10.42 4.892 22.894 2.566 35.8-2.325 12.907-7.527 24.049-14.789 32.046s-17.434 13.233-28.275 10.888c-10.842-2.344-18.433-11.423-22.377-21.843-3.944-10.42-4.894-22.894-2.568-35.801 1.264-7.02 3.387-13.512 6.222-19.266a1358.468 1358.468 0 0 1-32.761 13.678 1248.826 1248.826 0 0 1-43.65 16.613c11.354 20.924 27.32 38.077 51.366 50.307l9.17 4.664-5.842 8.469c-8.506 12.333-6.783 30.624 1.875 43.974 8.659 13.35 21.871 20.897 38.64 14.395 59.434-23.047 104.228-28.81 145.775-21.113 34.839 6.454 67.127 22.398 103.834 43.81-12.425-28.256-33.968-57.384-60.729-82.209-33.985-31.525-76.04-56.09-116.33-64.65l-5.635-1.198-1.271-5.617c-.802-3.538-8.001-29.713-23.1-49.595zm-29.527 22.372c-2.798.11-6.202 1.744-9.908 5.826-4.563 5.024-8.733 13.374-10.53 23.348-1.796 9.973-.835 19.436 1.643 25.982 2.477 6.546 5.817 9.469 8.896 10.135 3.08.666 7.182-.646 11.744-5.67 4.563-5.024 8.735-13.377 10.532-23.35 1.796-9.973.833-19.436-1.645-25.982-2.478-6.547-5.817-9.469-8.896-10.135a7.293 7.293 0 0 0-1.836-.154zm-125.414 42.4c-18.266 6.199-35.82 11.553-51.98 15.748-4.18 24.009 9.737 55.444 19.53 71.184 36.172 26.058 68.19 52.072 126.23 70.021l-4.89-22.824c-12.567-3.576-23.285-12.214-30.234-22.93-10.383-16.01-14.055-37.249-6.25-55.41-23.92-14.166-40.703-33.554-52.406-55.789zm-56.55 92.08c-9.031 13.247-23.97 18.894-37.823 21.772 15.285 25.397 49.541 49.906 93.216 72.103 41.305 20.993 90.376 40.17 138.215 58.6-11.892-19.381-20.046-40.812-22.304-63.33-86.163-20.547-125.096-57.285-171.303-89.145zm-27.696 61.57C36.052 424.224 26.8 455.703 25.279 487h198.588c-34.824-13.775-69.286-28.225-99.998-43.834-29.2-14.84-55.252-30.589-74.933-48.352z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlainArrow;

impl IconShape for PlainArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.81 21.785v245.95H43.84L256 489.382l212.158-221.644H381.19V21.786H130.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlainCircle;

impl IconShape for PlainCircle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.05C127.5 23.05 23.05 127.5 23.05 256S127.5 488.9 256 488.9 488.9 384.5 488.9 256 384.5 23.05 256 23.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlainPadlock;

impl IconShape for PlainPadlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.15c-81.1 0-146.6 65.51-146.6 146.45v72.3H159v-69.1c0-53.7 43.4-97.24 97-97.24 53.5 0 97 44.84 97 97.24v69.1h49.6v-72.3c0-78.94-65.7-146.45-146.6-146.45zM86.9 255.6C72.3 278.4 64 304.7 64 332.4c0 88.3 85 161.5 192 161.5s192-73.2 192-161.5c0-27.7-8.3-54-22.9-76.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlainSquare;

impl IconShape for PlainSquare {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.05 23.05V488.9H488.9V23.05H23.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlanePilot;

impl IconShape for PlanePilot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-37.6 0-64.7 14.54-86.1 38.28-4.9 5.49-9.6 11.5-13.9 17.93 7.3-1.69 14.7-3.11 22.1-4.1 8.8-1.18 17.4-1.85 25.6-1.65 8.2.19 15.9 1.26 22.8 3.56 7 2.3 13.4 6.03 17.7 12.05 2.5 3.43 4.1 7.52 4.7 11.93h14.2c.6-4.41 2.2-8.5 4.7-11.93 4.3-6.02 10.7-9.75 17.7-12.05 6.9-2.3 14.6-3.37 22.8-3.56 8.2-.2 16.8.47 25.6 1.65 7.4.99 14.8 2.4 22 4.09-4.3-6.43-8.9-12.44-13.8-17.93C320.7 39.54 293.6 25 256 25zm-55.3 68.55c-6.3-.02-13.2.45-20.2 1.4-16 2.15-32.9 6.55-46.1 11.45-6.6 2.4-12.3 5-16.3 7.4-4.1 2.3-6.4 4.9-6.2 4.6-1 1.6-3.4 8.5-4.7 16.6-1.4 8.1-2.2 17.7-1.9 26.7.2 9 1.6 17.4 3.8 22.5 2.2 5.2 3.5 6.1 6 6.2 40.3 1.5 67.1-5.8 84.7-19.1 17.6-13.4 27.2-33.3 31.3-60.6v-.1c.7-4.7-.1-7-1.5-9-1.4-2.01-4.2-3.99-8.7-5.49-4.6-1.5-10.6-2.33-17.6-2.52-.9-.02-1.7-.03-2.6-.04zm110.6 0c-.9.01-1.7.02-2.6.04-7 .19-13 1.02-17.6 2.52-4.5 1.5-7.3 3.48-8.7 5.49-1.4 2-2.2 4.3-1.5 9v.1c4.1 27.3 13.7 47.2 31.3 60.6 17.6 13.3 44.4 20.6 84.7 19.1 2.5-.1 3.8-1 6-6.2 2.2-5.1 3.6-13.5 3.8-22.5.3-9-.5-18.6-1.9-26.7-1.3-8.1-3.7-15-4.7-16.6.2.3-2.1-2.3-6.2-4.6-4-2.4-9.7-5-16.3-7.4-13.2-4.9-30.1-9.3-46.1-11.45-7-.95-13.9-1.42-20.2-1.4zM186.6 106.2c2.1 0 4.2.1 6.2.3 4.1.5 8.2 1.5 11.9 4.5 3.8 2.9 6.2 8.7 5.8 13.6-1.2 13.2-7.5 25.6-19.4 34-11.9 8.3-28.6 13-51.5 15-6.3.5-12.6-2.8-15.9-7.1-3.3-4.3-4.6-9-5.3-13.6-.7-4.7-.7-9.2-.2-13.4.5-4.2 1-7.7 3.5-11.6v-.1c2.6-4 5-4.9 7.9-6.5 3-1.7 6.4-3.2 10.2-4.7 7.7-3 17.1-5.9 26.4-7.8 7-1.5 13.9-2.6 20.4-2.6zm138.8 0c6.5 0 13.4 1.1 20.4 2.6 9.3 1.9 18.7 4.8 26.4 7.8 3.8 1.5 7.2 3 10.2 4.7 2.9 1.6 5.3 2.5 7.9 6.5v.1c2.5 3.9 3 7.4 3.5 11.6.5 4.2.5 8.7-.2 13.4-.7 4.6-2 9.3-5.3 13.6-3.3 4.3-9.6 7.6-15.9 7.1-22.9-2-39.6-6.7-51.5-15-11.9-8.4-18.2-20.8-19.4-34-.4-4.9 2-10.7 5.8-13.6 3.7-3 7.8-4 11.9-4.5 2-.2 4.1-.3 6.2-.3zM247.5 121c-.9 4.8-2 9.5-3.4 14h23.8c-1.4-4.5-2.5-9.2-3.4-14h-17zm-60.7 3.2c-4.6.1-10.7.9-16.8 2.2-8.3 1.7-17 4.4-23.6 7-3.4 1.3-6.2 2.6-8 3.6-.8.4-1.2.8-1.6 1.1-.2.8-.6 2-.7 3.5-.3 2.6-.3 5.8.1 8.5.4 2.8 1.4 4.9 1.8 5.5 21.2-1.8 34.9-6.3 42.8-11.8 7.3-5.1 10.4-10.9 11.4-19-.4-.2-.3-.2-1.5-.4-1.1-.1-2.4-.2-3.9-.2zm138.4 0c-1.5 0-2.8.1-3.9.2-1.2.2-1.1.2-1.5.4 1 8.1 4.1 13.9 11.4 19 7.9 5.5 21.6 10 42.8 11.8.4-.6 1.4-2.7 1.8-5.5.4-2.7.4-5.9.1-8.5-.1-1.5-.5-2.7-.7-3.5-.4-.3-.8-.7-1.6-1.1-1.8-1-4.6-2.3-8-3.6-6.6-2.6-15.3-5.3-23.6-7-6.1-1.3-12.2-2.1-16.8-2.2zM237.1 153c-6.3 12.8-14.9 23.9-26.4 32.6-21.4 16.2-51.5 23.9-92.2 22.9l-18.2 115c-.88 5.3-4.44 9.1-8.43 11.4-.67 4.5-1.34 8.8-2.04 12.8l32.07 21.4c5.1-29.1 6.8-67.1 19.7-100.4 7.5-19.1 19-36.9 37.6-49.6 18.5-12.7 43.5-20.1 76.8-20.1s58.3 7.4 76.8 20.1c18.6 12.7 30.1 30.5 37.6 49.6C383.3 302 385 340 390.1 369.1l32.1-21.4c-.7-4-1.4-8.3-2-12.8-4-2.3-7.7-6.1-8.5-11.4l-18.2-115c-40.7 1-70.8-6.7-92.2-22.9-11.5-8.7-20.1-19.8-26.4-32.6h-37.8zM87.41 187.6c-1.71 0-3.21.2-4.22.5-.67.2-.67.1-.77.1l-20.32 128c.1 0 .12 0 .76.4 1.77 1.2 5.47 2.6 9.26 3.2 3.78.6 7.73.5 9.76-.1.67-.1.67-.1.77-.1l18.55-116.5c-3.84-3.2-6.76-7.4-8.63-11.8-.49-1.1-.93-2.3-1.34-3.5-1.32-.1-2.62-.2-3.82-.2zm337.19 0c-1.2 0-2.5.1-3.8.2-.5 1.2-.9 2.4-1.4 3.5-1.8 4.4-4.8 8.6-8.6 11.8l18.5 116.5c.1 0 .1-.1.8.1 2 .6 6 .7 9.8.1 3.7-.6 7.4-2 9.2-3.2.6-.4.7-.4.8-.4l-20.3-128c-.1 0-.1.1-.8-.1-1-.3-2.5-.5-4.2-.5zM256 217c-30.7 0-51.7 6.6-66.7 16.9-14.9 10.3-24.4 24.5-30.9 41.4-11.3 29-12.9 65.2-18.6 96.3l12.2 54.8c3.8 2.4 17.8 11.4 37.6 21.6 18.8 9.8 41.3 19.2 57.4 22.1V432h18v38.1c16.1-2.9 38.6-12.3 57.4-22.1 19.8-10.2 33.8-19.2 37.6-21.6l12.2-54.8c-5.7-31.1-7.3-67.3-18.6-96.3-6.5-16.9-16-31.1-30.9-41.4-15-10.3-36-16.9-66.7-16.9zm196.8 3.1l9.3 58.3c.4-.7.9-1.5 1.2-2.1 3.4-6.4 4.6-11.7 4-15.3l-4.1-26.1v-.1c-.5-3.3-3.2-7.9-8.4-12.9-.5-.6-1.3-1.2-2-1.8zm-393.69.1c-.61.5-1.41 1.1-1.98 1.7-5.18 5-7.89 9.6-8.32 12.9v.1L44.65 261c-.57 3.6.68 8.8 4 15.3.33.6.86 1.4 1.23 2l9.24-58.1h-.01zm123.99 25.7c7.1 9.1 12.9 12.7 21.3 14.8 8.3 2.2 19.7 2.3 35.6 2.3v18c-5.7 0-11 .1-16 0v23h-32v-28.5c-8.6-3.7-16.2-9.7-23.1-18.6l14.2-11zm145.8.1l14.2 11c-6.9 8.8-14.5 14.8-23.1 18.5V304h-32v-23c-5 .1-10.3 0-16.1 0l.2-18c15.8.1 27.2 0 35.5-2.2 8.4-2.2 14.2-5.7 21.3-14.8zM230 334h52v18h-52v-18zm26 24.5l98.8 33-4.3 17.4-94.5-15.8-94.5 15.8-4.3-17.4 96-32 2.8-1zM88.98 368.8c-11.62 32.7-26.27 60.8-51.92 93.3-3.7 4.7-3.76 7.6-2.78 10.8.99 3.2 3.95 7 8.12 9.7 4.18 2.6 9.36 4.2 13.35 4 4-.1 6.42-1.2 8.35-4.1 24.62-36.8 36.4-65 48.4-98l-23.52-15.7zm334.02 0l-23.5 15.7c12 33 23.8 61.2 48.4 98 1.9 2.9 4.3 4 8.3 4.1 4 .2 9.2-1.4 13.4-4 4.2-2.7 7.1-6.5 8.1-9.7 1-3.2.9-6.1-2.8-10.8-25.7-32.5-40.3-60.5-51.9-93.3zm-275.6 76L139 487h99.8c-19-4.1-39.5-13.7-57.5-23-14.1-7.3-26.2-14.5-33.9-19.2zm217.2 0c-7.7 4.7-19.8 11.9-33.9 19.2-18 9.3-38.5 18.9-57.5 23H373l-8.4-42.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlaneWing;

impl IconShape for PlaneWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384 50c-14.688 0-29.365 6.747-31.676 20.23 10.285-3.726 21.404-5.66 32.533-5.693 10.456-.03 20.915 1.62 30.696 5.01C412.873 56.517 398.44 50 384 50zm.89 32.697c-10.248.03-20.532 1.925-29.447 5.617-6.347 2.63-13.647 6.577-18.795 11.012C331.5 103.762 329 108.05 329 112v52.236l110-43.334V112c0-3.913-2.39-8.276-7.207-12.72-4.818-4.44-11.67-8.425-17.688-11.012-8.762-3.768-18.97-5.6-29.216-5.57zM494 118.582L83.895 280.14c-5.35 2.733-13.294 10.738-20.874 21.96-7.634 11.304-15.202 25.66-21.79 40.543-10.3 23.274-18.013 48.48-20.917 64.373 22.138-3.977 44.664-8.047 67.347-12.112l5.723-37.95c30.852-8.914 111.01-29.017 154.287-40.42l.28-.56.634.317C345.567 290.76 409.75 278.177 494 268.315V118.582zm0 167.834c-25.687 3.027-49.473 6.31-72.91 10.152l-35.108 52.364c38.81-4.09 75.245-6.675 108.018-7.112v-55.404zm-97.424 14.397c-41.764 7.628-84.273 17.402-136.435 31.033l-18.333 36.67c41.485-6.58 82.124-12.432 120.756-16.973l34.013-50.73zM236.94 337.99c-36.766 9.856-78.698 21.625-127.913 35.66l-2.672 17.922c37.804-6.734 75.923-13.384 113.56-19.53l17.026-34.052zm65.583 39.733a3495.754 3495.754 0 0 0-24.73 3.623L281 418h18l3.523-40.277zm-95.9 14.882a6526.23 6526.23 0 0 0-24.88 4.184L185 434h18l3.623-41.395zm-96.05 16.54c-8.267 1.467-16.535 2.932-24.762 4.402L89 450h18l3.574-40.854z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlanetConquest;

impl IconShape for PlanetConquest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215 32v140c5.9-1.4 11.9-2.6 18-3.4v-42.9c45-8 90 32.3 135 2.3V48c-45 30-90-10.31-135-2.29V32h-18zm41 153c-83.5 0-151 67.5-151 151s67.5 151 151 151 151-67.5 151-151-67.5-151-151-151zm-20.6 25.8l77.4 119.3-83.7 27.6-22.8-54.1-24.4 21.2-57.9-12.5 48.3-50 41.4 7.9 21.7-59.4zm103.2 6.1l-10.2 34.9 38.3-.7-36.4 31.1-31.1-24.8 12.7-23.6 26.7-16.9zm33.6 148.4l-26.5 42.9-21.2-36.1 47.7-6.8zM316 398l15.9 46.7c-35.1 28.4-87.1 35.9-115.6 16.9l38.2-60.9 29.2 30.7L316 398z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlanetCore;

impl IconShape for PlanetCore {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16A240 240 0 0 0 16 256a240 240 0 0 0 240 240 240 240 0 0 0 240-240A240 240 0 0 0 256 16zm-9 14.73v86.342c-35.304 2.47-124.423 31.35-127.033 129.928H37.605C39.993 81.83 189.513 34.292 247 30.73zm18 .874c.596.158 1.148.33 1.62.52 78.82 31.677 84.33 217.118 77.042 268.052l-36.498-22.813c3.486-34.36-.902-132.647-42.164-156.877V31.604zM41.258 265h85.996c19.485 15.47 77.33 34.583 166.902 25.46l37.7 23.563C163.39 333.03 61.252 291.425 41.26 265z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Planks;

impl IconShape for Planks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M360.602 74.52L63.272 349.44h54.5l42.94-37.573 2.683 37.572h13.468l113.14-123.354c.983-12.407 6.178-21.43 13.087-26.443 6.91-5.017 13.84-6.686 19.08-8.633l62.687-68.35 13.266 12.168-65.516 71.434-1.826.76c-7.4 3.094-13.675 4.69-17.116 7.19-3.44 2.497-5.765 5.124-5.875 15.702l-.036 3.447-106.467 116.08h33.736L471.098 74.52h-72.37l.637.644-193.668 191.188c-1.248 8.702-6.653 15.696-12.613 20.435-6.888 5.477-14.79 9.182-21.656 12.89l-8.555-15.835c7.352-3.972 14.477-7.54 19.008-11.143 4.532-3.603 6.167-6.01 6.102-10.253l-.058-3.843L374.394 74.52h-13.792zm99.843 40.25L243.357 367.58H225.13l-47.71 49.975-13.02-12.43 35.846-37.545h-53.742l-1.287-18.05-20.63 18.05h-18.04l-73.12 69.89h29.778c12.26-14.002 18.418-24.828 27.223-34.67 9.07-10.14 21.11-18.166 41.988-23.89l4.76 17.36c-18.702 5.126-26.09 10.433-33.332 18.53-5.058 5.653-10.032 13.24-17.342 22.67H210.28l271.43-322.7h-21.265zM129.97 403.682a9 9 0 0 1 8.202 13.287c-1.728 3.296-3.94 7.49-8.033 11.182-4.094 3.692-10.005 6.357-17.07 7.06a9 9 0 1 1-1.78-17.913c4.02-.4 5.47-1.32 6.792-2.513 1.32-1.192 2.576-3.18 4.147-6.176a9 9 0 0 1 7.74-4.928z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlantRoots;

impl IconShape for PlantRoots {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.4 18.66c-3 35.94 12.6 64.01 28.1 88.94 15.5 24.9 30.6 47 32.2 72.3 1.2 17.3-4.6 34.5-11.5 53-6.9 18.6-14.8 38.4-15.5 60.9l18 .6c.5-18.5 7.4-36.4 14.4-55.2 6.9-18.8 14-38.5 12.6-60.5-2-31.5-19.8-56.3-35-80.65-15.1-24.34-27.9-47.81-25.3-77.87l-18-1.52zm134.2 9.52c-18.7 10.56-39.1 23.47-52.1 37.64-7.9 8.63-12.8 17.38-13.9 25.86-1 7.53.8 15.42 7.3 24.72 20.2-.7 35.3-13.8 45.7-33.24 8.9-16.54 13.3-37.15 13-54.98zM141.7 97.64c-1.1.01-2.2.04-3.2.07-5.7.18-11 .73-15.9 1.49 10.5 16.8 30.5 35.8 52.2 46.8 13.1 6.6 26.6 10.4 38.8 10.1 10.8-.2 20.4-3.5 29-10.9-1.6-8.6-6.2-15.9-13.9-22.5-8.8-7.5-21.4-13.7-35.5-18-15.4-4.7-32.6-6.92-48.2-7.06-1.1-.01-2.2-.01-3.3 0zM347.5 208.2c-2.1.1-4.1.3-6.1.5-14.2 1.8-26.1 8-34.8 22.2 3.8 3.9 8.1 6 13.1 7 6.6 1.3 14.7.4 23.2-2.5 12.7-4.2 26.3-12.8 36.8-22-10-3.3-20.5-5.2-30.3-5.2h-1.9zM32 311v18h204.3c-1.1 7.3-2.8 17.7-5.5 28.8-5 21-14.4 44.1-24.2 51.7-12.5 9.6-29.8 10.2-49.6 7.9-3.8-2.4-14.6-9.6-25.1-18.9-6.4-5.6-12.4-12-16-17.6-3.6-5.7-4.3-9.8-3.5-12.4-.1.6-.1 0 2.2-.9 2.4-.9 6.2-1.7 10.1-2 7.8-.7 15.5 0 15.5 0l1.6-18s-2.2-.2-5.6-.3c-3.5-.1-8.1-.1-13 .3-4.9.5-10.1 1.3-15.1 3.2-4.9 1.9-10.55 5.4-12.74 12.1-3.25 9.8.24 19.5 5.34 27.6 4.9 7.9 11.9 15 19 21.2-13.6-1.9-27.53-3.1-40.68-1-3.49-6.9-7.94-14.2-15.19-20.1-8.92-7.3-21.63-11.8-39.25-12.2l-.38 18c14.84.3 22.78 3.7 28.25 8.2 3.71 3 6.49 6.9 9.04 11.4-3.48 1.7-6.87 3.7-10.13 6.1-10.6 7.9-14.53 20.9-17.66 32.2-3.13 11.2-4.44 21-4.44 21l17.84 2.4s1.18-8.7 3.94-18.6c2.74-9.8 8.09-20.4 11.06-22.6 16.99-12.6 42.6-9.1 71.1-4.4 28.4 4.7 60 10.4 84.4-8.4 8-6.2 13.9-14.9 18.6-24.6 4.8 10.5 11.7 19.6 20 27.5-10.7 2.7-20 7.5-28.1 13.3-13.4 9.7-24 21.7-34.8 31.5l12 13.4c8-7.3 15.3-14.8 22.6-21.4 4.1 7.3 9.9 13.1 16.4 17.3 10.4 6.8 22.2 10.3 33 12.9l4.2-17.4c-10-2.5-20-5.7-27.3-10.5-5.5-3.6-9.6-7.7-12-13.6 10.1-6.5 20.8-10.4 35.4-9.6 6.5 3.7 13.3 7 20.3 9.8 26.6 10.5 56.4 14.4 82.5 12 16.4-1.6 32.8-11 47.4-22 6.6 5.3 12 11.7 15.7 18 5.3 9 6.5 17.7 5.3 21.6l17 5.6c4-11.7.2-24.5-6.8-36.4-4.3-7.2-9.9-14.1-16.8-20.3.1 0 .1-.1.2-.1 18-15.1 31.3-29.8 31.3-29.8l-13.2-12.2s-12.8 13.9-29.7 28.2c-17 14.3-38.8 28.2-52 29.4-23 2.2-50.6-1.4-74.3-10.8-23.6-9.3-43-24.2-51.9-43.8-2.6-5.7.7-22 7.1-36 3-6.6 6.2-12.5 8.8-17 3.8 2 8.1 4.4 12.9 7.2 13 7.6 27.9 18 34.1 25.5 4.6 5.5 10.6 18.6 14.7 29.7 4.1 11.2 6.7 20.5 6.7 20.5l17.4-4.8s-2.8-10-7.2-21.9c-2.8-7.9-6.2-16.5-10.5-24.2 4.1-.6 9.5-.6 15.7.6 12.2 2.4 26.8 8.5 39 17.5l10.6-14.6c-14.5-10.5-31-17.6-46.2-20.5-5.7-1.1-11.3-1.8-16.7-1.6-5.1.1-9.9 1-14.2 2.8-9.5-9.3-22.6-17.6-34.2-24.5-.8-.5-1.6-.9-2.4-1.4H480v-18H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlantSeed;

impl IconShape for PlantSeed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.64 30.11c8.97 28.45 9.68 57.4 11.44 84.59 2.25 34.6 6.13 66 28.32 93.2 1.8 2.3 8.9 6.6 19.3 9.4 10.4 2.8 23.9 4.5 38.5 4.5 25.2-.2 53.7-5.8 76.9-18.8C159 175.6 109.3 130.3 97 71.94 134.8 119.8 168 157 239.5 178.3c1.5-12.6 4.3-24.4 6.2-35.1 3.2-18 3.6-31-4.6-40.6-14.2-16.4-50-29.59-89.9-41.47-31.5-9.35-65.2-18.39-93.56-31.02zM369.4 136.3c-34.3 15.2-74.2 36.9-112 44.6-.7 6.3-1.1 12.5-.8 18.5 43.5-7.4 85.9-31.5 120.1-46.6 14.9-5.3 43-19.5 57.1-10 14.1 11.7 9.6 34.9 6.4 48.5-3.8 16.4-10.3 35.2-17.3 53 4.6 6.1 8.5 14.2 11 20.6 9.2-22.6 18.6-47.6 23.8-69.5 4.8-25.4 8.3-51.6-13.6-67.4-23.6-14.2-54.7-.4-74.7 8.3zm-19 120.9c-34.7 26.8-58.4 55-89.6 73-31.1 18-69.6 24-128.7 6.4-35.3-10.5-56.57-6.9-67.89 1.5-11.31 8.4-15.37 23.2-12.73 41.8 5.29 37.3 39.82 83.9 82.22 92 68.2 12.9 125.8 13.7 171.9.2 46.1-13.5 80.9-40.7 105.4-85.9 15.4-28.5 18.4-79 7.3-111.5-11.5-34.9-40-38.2-67.9-17.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlantWatering;

impl IconShape for PlantWatering {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.6 26.93s-6.1 50.65 6.7 70.42c7 10.75 21.2 22.55 33.5 18.85 9.4-2.9 14.4-16.56 13.2-26.29-3.3-27.33-53.4-62.98-53.4-62.98zm150.1.32s10.7 69.41 33.7 93.05c8.7 8.9 23.9 19.4 34.8 13.5 8.4-4.6 8.5-19 5.9-28.2-9.8-34.67-74.4-78.35-74.4-78.35zM24.56 42.28S35.02 115 57.61 141.6c7.76 9.1 23.6 20.5 31.84 16.7 6.65-3 8.15-18.9 5.85-28.2-8.75-36.62-70.74-87.82-70.74-87.82zM261.7 110.1s-1.2 61.1 17.1 82.2c7.7 8.7 22.4 16.8 32.9 11.8 9-4.4 11.7-18.9 9.6-28.8-6.2-28.8-59.6-65.2-59.6-65.2zm-115.4 26.6s-7.1 48.7 6.6 66.1c7.4 9.4 22.8 16.5 33.9 11.9 8.8-3.6 14.1-16.4 12.5-25.8-4.2-24.5-53-52.2-53-52.2zm292 84.9c-45.7 18-119.3-5.9-142.4 35.9-8 11.3 2.9 24 7.8 33.5-13 11.1-26.2 23.7-36.9 36.9-19.2-3.3-31.4-7-39.6-12.6l.1-.1c2.9-81.3-95.3-29-147.99-57 6.99 51.9 74.29 49.2 86.49 65 10.7 11.1 30.3 10.2 46 2.9 1.2 1.1 2.5 2.2 3.9 3.2 10.3 7.4 22.9 11.6 39.8 14.8-2.6 4.5-4.8 9-6.5 13.6-3.3 9.2-5 19.7-5.6 30.8-16.7-11.7-50.2-6.4-76.3-21.9 2.7 18.4 39.1 77.6 77.7 57 1.1 9.7 2.6 19.4 4.2 28.6 2.9 16.6 6.4 31.4 9.1 41.8h18.5c-2.6-9.8-6.6-26.3-9.9-44.9-.2-1-.3-2.1-.5-3.1 26.1-5.7 53.9-15.9 71.6-38.6 4.5 1.5 10.3 1.9 17.1.8 29.9-14.7 51.7-37.3 109-25.5-29.5-14.2-66.5-28.1-95-28.4h-2.1c-21 .2-37.1 8.4-41.3 30.3-.6 3.3-.6 6.3-.1 9.1-13.6 19.5-37.2 28.9-61.8 34.4-2.8-24.5-3.1-49.3 2.4-64.2 6.8-18.8 31.4-44.2 54.5-63.5 1.7-1.4 3.3-2.8 5-4.1 6.8 2.8 12.6 6.9 21.6 5.8 42.1-7.1 70.4-49.9 91.2-80.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlasticDuck;

impl IconShape for PlasticDuck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.8 50.96c-28.1.66-52.4 13.13-65.8 38.48-13.4 25.36-16.1 64.96 3.6 120.46v.2c3.2 9.4 2.4 19.2-2.6 26.4-5 7.3-12.9 11.6-21.9 14.5-18 5.8-42.3 6.4-69.3 4.5-48.7-3.5-105.4-15.7-142.38-27.9-2.34 56.3 13.28 113.7 45.28 157.2 34.2 46.5 86.2 77.5 156 76.2 45.3-.8 98.8-7.4 140.2-25.5 41.4-18 70-45.8 71.3-92.4v-.1c.6-19.8-18.4-47.1-36.3-74.7-8.9-13.8-17.3-27.8-21.9-42.4-4.6-14.5-5-30.3 3.2-44.5l.2-.3.2-.3c22.2-32.6 18.7-64.5 3.9-89.24-14.7-24.79-41.5-41.12-63.7-40.6zm30.5 42.05a18 18 0 0 1 18 17.99 18 18 0 0 1-18 18 18 18 0 0 1-18-18 18 18 0 0 1 18-17.99zM416 130.2c.4 14.3-2.4 29.3-9.2 44.2 19.5-1.2 38.8-3.4 53.6-8.4 9.6-3.1 17.1-7.4 21.8-12.3 2.7-2.9 4.5-6 5.6-9.7-24.7.3-51-6.3-71.8-13.8zm-72.6 142.5c6.5 13.6 6.1 28.2.7 40.9-5.4 12.7-15.3 23.8-27.7 33.9-24.7 20-59.6 35.5-93.6 44.8-34 9.3-66.4 12.8-88.7 4.8-11.2-4-20.6-12.6-22.2-24.5-1.6-12 3.6-24.8 14.4-39.8l14.6 10.6c-9.4 13-11.8 22.2-11.2 26.8.7 4.7 3.1 7.3 10.4 10 14.7 5.2 45.9 3.5 78-5.3 32-8.7 65.3-23.8 87-41.4 10.8-8.8 18.7-18.2 22.4-27 3.8-8.8 4.1-16.8-.3-26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlayerBase;

impl IconShape for PlayerBase {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32L32 240h64v240h320V240h64L256 32zm-3.1 145.5l3 .1c15.6 0 30.1 17.1 30.1 40.3 0 11.6-3.9 22-9.7 29.3l-7.3 8.9 11.5 1.8c8.8 1.4 14.8 5.5 19.8 12.3 5 6.7 8.6 16.1 11.1 27 4.3 19.9 4.6 44.4 4.6 65.9h-25l-6.3 96.4c-17.6 4.1-37.1 4.2-55.3 0l-7.2-96.4H196c.2-21.3 1.2-45.4 6-65.1 2.6-10.9 6.4-20.3 11.4-27.1 4.9-6.8 10.7-10.9 18.5-12.5l11.2-2.1-7.2-8.6c-6.1-7.4-10.3-18-10.3-29.8 0-21.8 13-38.5 27.3-40.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlayerNext;

impl IconShape for PlayerNext {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 16v48H144v32h160v48l64-64-64-64zM124.3 127.9c-17.9 2.3-34.14 23.2-34.14 50.4 0 14.8 5.2 28 12.84 37.2l9 10.8-13.94 2.6c-9.8 2-17 7.1-23.2 15.6-6.2 8.5-10.9 20.3-14.2 33.9-6 24.6-7.3 54.7-7.5 81.3h32.7l9 120.5c22.84 5.2 47.14 5 69.14 0l7.9-120.5h31.2c0-26.9-.4-57.4-5.8-82.3-3-13.6-7.5-25.4-13.8-33.8-6.2-8.4-13.8-13.5-24.8-15.3l-14.3-2.2 9.1-11.2c7.2-9.1 12.1-22.1 12.1-36.6 0-29-18.1-50.3-37.6-50.3l-3.7-.1zm256 0c-17.9 2.3-34.1 23.2-34.1 50.4 0 14.8 5.2 28 12.8 37.2l9 10.8-13.9 2.6c-9.8 2-17 7.1-23.2 15.6-6.2 8.5-10.9 20.3-14.2 33.9-6 24.6-7.3 54.7-7.5 81.3h32.7l9 120.5c22.8 5.2 47.1 5 69.1 0l7.9-120.5h31.2c0-26.9-.4-57.4-5.8-82.3-3-13.6-7.5-25.4-13.8-33.8-6.2-8.4-13.8-13.5-24.8-15.3l-14.3-2.2 9.1-11.2c7.2-9.1 12.1-22.1 12.1-36.6 0-29-18.1-50.3-37.6-50.3l-3.7-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlayerPrevious;

impl IconShape for PlayerPrevious {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 16l-64 64 64 64V96h160V64H208V16zm-83.7 111.9c-17.9 2.3-34.14 23.2-34.14 50.4 0 14.8 5.2 28 12.84 37.2l9 10.8-13.94 2.6c-9.8 2-17 7.1-23.2 15.6-6.2 8.5-10.9 20.3-14.2 33.9-6 24.6-7.3 54.7-7.5 81.3h32.7l9 120.5c22.84 5.2 47.14 5 69.14 0l7.9-120.5h31.2c0-26.9-.4-57.4-5.8-82.3-3-13.6-7.5-25.4-13.8-33.8-6.2-8.4-13.8-13.5-24.8-15.3l-14.3-2.2 9.1-11.2c7.2-9.1 12.1-22.1 12.1-36.6 0-29-18.1-50.3-37.6-50.3l-3.7-.1zm256 0c-17.9 2.3-34.1 23.2-34.1 50.4 0 14.8 5.2 28 12.8 37.2l9 10.8-13.9 2.6c-9.8 2-17 7.1-23.2 15.6-6.2 8.5-10.9 20.3-14.2 33.9-6 24.6-7.3 54.7-7.5 81.3h32.7l9 120.5c22.8 5.2 47.1 5 69.1 0l7.9-120.5h31.2c0-26.9-.4-57.4-5.8-82.3-3-13.6-7.5-25.4-13.8-33.8-6.2-8.4-13.8-13.5-24.8-15.3l-14.3-2.2 9.1-11.2c7.2-9.1 12.1-22.1 12.1-36.6 0-29-18.1-50.3-37.6-50.3l-3.7-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlayerTime;

impl IconShape for PlayerTime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.7 22.8c-23.36 3.1-44.58 30.5-44.58 66 0 19.5 6.78 36.8 16.69 48.8l11.79 14.2-18.2 3.4c-12.86 2.5-22.31 9.3-30.39 20.4-8.09 11.1-14.27 26.5-18.6 44.4-7.84 32.2-9.58 71.6-9.84 106.4h42.86L81.2 484.2c29.9 6.8 61.8 6.5 90.6 0l10.4-157.8H223c0-35.2-.5-75.1-7.6-107.7-3.9-17.9-9.8-33.3-18-44.3s-18.1-17.7-32.6-20l-18.6-2.9 11.8-14.7c9.5-11.9 15.9-29 15.9-48 0-37.9-23.7-65.9-49.4-65.9zm141.7 30.62v18h224v-18zm16 39c0 47.98 48 159.98 96 159.98s96-112 96-159.98zm96 179.98c-48 0-96 112-96 160h192c0-48-48-160-96-160zm-112 181v18h224v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plesiosaurus;

impl IconShape for Plesiosaurus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M430.754 24.207c-29.547 3.757-51.704 10.265-51.387 38.035.803 23.45 3.968 67.093 6.998 88.6l51.55 32.928c-4.532-27.155-8.18-72.275-14.013-97.952 18.65 4.352 69.214 2.71 70.668-16.34-.015-5.028-5.093-9.844-14.1-13.373.44-1.433.67-2.882.69-4.335 0-15.223-22.79-31.075-50.406-27.563zM17.998 180.177v19.598c18.428-7.807 39.37-13.515 50.625-11.177 19.357 10.804 28.276 41.26 49.621 44.574 9.766 1.067 18.657-2.046 26.057-6.563 7.4-4.516 13.71-10.403 19.742-16.093 12.062-11.38 22.784-21.05 33.16-21.752 15.499-1.048 31.418 9.43 49.006 21.53 17.588 12.102 37.078 25.89 60.785 22.858 16.72-2.138 26.78-15.126 35.518-25.486 8.738-10.36 16.093-18.056 23.94-18.937 38.77 2.911 64.976 42.82 99.073 44.494 9.219.247 19.008-2.173 28.477-5.592v-19.48c-10.693 4.166-21.546 7.252-27.996 7.08-14.444-.388-29.131-10.84-45.22-22.426-16.09-11.587-34.07-24.463-56.343-21.961-24.349.573-41.84 41.58-59.732 44.457-41.788-2.417-71.864-46.095-108.723-44.494-19.298 1.305-32.48 15.47-44.295 26.617-8.914 8.003-19.704 18.977-31.494 17.857-27.79-13.646-28.67-43.847-56.043-45.334-16.169-.119-33.213 5.01-46.158 10.23zm378.457 35.981c3.207 21.465 7.147 41.007 9.645 61.924 1.88 8.493-3.425 19.384-11.516 17.623-136.92-43.236-233.076-26.25-310.91 20.662-13.132 8.557-51.674.446-63.46 13.252-4.214 5.537 39.472 25.084 50.516 38.215 4.393 5.525 9.973 10.767 16.538 15.676 9.48-9.959 20.274-19.542 32.16-28.506l10.84 14.371c-27.02 20.38-47.729 44.12-58.422 66.197-9.557 19.73-11.18 37.148-4.153 51.448 23.287-3.968 44.34-10.724 58.932-24.74 15.852-15.228 25.82-39.425 22.955-82.64l17.96-1.19c.933 14.076.538 26.713-1.017 38.042 33.398 7.438 71.164 10.431 108.03 8.469 6.44-.343 12.844-.86 19.199-1.51 6.289-15.66 16.029-32.157 28.96-49.572l14.452 10.73c-20.287 27.32-31.24 51.334-33.344 70.547-1.888 17.245 2.495 30.596 14.274 42.174 21.491-10.474 40.981-23.441 52.08-41.646 12.015-19.709 15.706-46.036.828-86.536l16.896-6.207c4.2 11.434 7.06 22.157 8.747 32.21 62.78-43.58 57.22-87.695 50.296-145.975-18.234-11.984-33.222-21.825-50.486-33.018zm14.316 191.729a193.44 193.44 0 0 1-12.285 6.517c-1.378 23.364-5.717 41.9-18.41 58.633 5.859 4.404 12.208 7.237 19.037 8.381 10.048-25.866 19.435-49.44 11.658-73.531zM162.896 434.14c-4.115 14.565-10.57 26.416-18.86 35.921 2.636 5.058 6.058 9.397 10.294 12.963 18.517-12.208 34.243-25.877 42.482-42.984-11.598-1.495-22.947-3.468-33.916-5.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plow;

impl IconShape for Plow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.967 156.205a26.626 26.626 0 0 0-2.56.117c-2.25.212-4.42.709-6.409 1.451-7.953 2.97-14.258 8.597-19.135 14.64l14.006 11.306c3.33-4.124 7.983-7.797 11.426-9.082 3.442-1.286 4.43-1.46 7.064 1.191l.17.17 28.825 26.043-38.204 5.52-46.545-34.124-.033-.025c-4.7-3.379-9.938-4.56-14.992-4.387-5.054.174-9.921 1.702-13.88 3.745-7.92 4.084-14.375 9.91-19.014 13.398l10.818 14.387c5.584-4.199 11.452-9.214 16.445-11.79 4.989-2.572 6.936-3.019 10.108-.742l.007.004 135.887 99.62a133.89 133.89 0 0 1 18.328-8.883l-76.404-56.012 34.832-5.031 32.629 29.482-1.871-25.951-64.69-58.447c-4.763-4.594-10.924-6.583-16.808-6.6zm100.021 71.649l.87 12.07c79.953 3.681 159.65 13.59 239.109 23.238v-16.619l-138.512-16.016-101.467-2.673zm257.979 20.771v16.703c6.039.728 12.08 1.464 18.117 2.18l-.264-16.819-17.853-2.064zm-263.115 8.982l16.687 15.077c2.158-.522 4.363-1.01 6.625-1.45 5.144-1 10.553-1.748 16.191-2.193l-11.017-9.955c-9.5-.578-18.995-1.075-28.486-1.479zm95.677 6.047l.084 11.465a180.284 180.284 0 0 1 17.135 5.975l-.34-12.9-16.879-4.54zm-43.004 22.867a129.224 129.224 0 0 0-25.925 2.383c-20.865 4.057-36.923 12.781-46.168 19.323 13.403 15.281 40.108 32.678 91.25 40.98l6.37 1.033 2.821 16.864c37.751 2.657 88.103-1.563 127.848-6.067-9.85-4.022-20.471-8.35-30.817-13.166-21.23-9.88-41.839-21.444-51.025-39.92-27.734-15.548-52.776-21.225-74.354-21.43zM15.451 339.838v18.195c69.276 10.212 169.71 18.332 264.092 21.02l-9.486-17.992c-94.826-2.7-185.155-10.9-254.606-21.223zm10.535 26.076c-3.802.004-7.5.6-10.535 1.7v13.462c3.037 1.098 6.734 1.693 10.535 1.695 9.697 0 17.559-3.773 17.559-8.427.002-4.656-7.86-8.43-17.559-8.43zm375.057 11.627l-51.506 7.938 143.5 17.851v-18.064l-91.994-7.725zm-200.41 17.72c-59.701.237-141.457 9.167-185.182 14.507v18.203c49.213-5.953 151.296-17.042 208.584-14.252 74.018 3.605 199.858 29.204 269.002 44.304v-18.517c-69.953-15.292-192.637-40.09-268.125-43.766a423.767 423.767 0 0 0-16.178-.455 568.39 568.39 0 0 0-8.101-.023zm126.654 50.72c-9.697 0-17.558 3.773-17.558 8.427 0 1.603.953 3.172 2.746 4.524-2.376-.035-4.72-.08-7.164-.096-3.739-.025-7.554-.03-11.438-.014-92.071.388-222.047 12.048-278.422 17.541v18.125c61.731-5.994 222.744-20.452 311.992-17.197 44.546 1.624 118.556 12.65 165.594 20.285V479.28c-43.102-6.995-106.97-16.48-152.517-19.34 2.785-1.532 4.321-3.497 4.326-5.53 0-4.655-7.862-8.429-17.559-8.429z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plug;

impl IconShape for Plug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.957 22.023c-2.618.033-5.138.96-7.26 3.082l-67.88 67.883 22.627 22.627 67.882-67.883c5.657-5.657 2.83-14.142-2.828-19.8-3.535-3.534-8.177-5.964-12.54-5.91zm-131.71 37.023l-21.92 21.92 203.648 203.647 21.92-21.92-11.315-11.315L262.56 70.36 251.25 59.047zm-23.335 45.96l-55.86 55.863v90.508l-22.628 22.63c-11.314 11.313-11.315 33.94.092 45.347l45.164 45.162c11.314 11.314 33.94 11.314 45.254 0l22.627-22.63h90.51l55.862-55.86-181.02-181.02zm245.555 7.527c-2.62.033-5.138.96-7.26 3.082l-67.88 67.883 22.626 22.626 67.883-67.882c5.657-5.657 2.83-14.142-2.828-19.8-3.536-3.535-8.177-5.965-12.54-5.91zM148.08 349.25l-128 128 12.727 12.728 128-128-12.727-12.727z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plum;

impl IconShape for Plum {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468.42 43.814c-23.626-.183-50.634 7.015-72.03 21.014-14.627 9.57-26.804 23.032-31.953 39.388-39.093-37.02-78.599-53.712-115.762-54.787-10.025-.29-19.88.552-29.51 2.43-51.357 10.014-95.01 48.096-126.703 95.137-31.693 47.04-51.687 103.351-54.605 152.644-1.459 24.647 1.342 47.626 9.73 66.862 7.942 18.211 21.34 32.95 39.944 41.15 21.95 39.518 64.22 58.416 110.525 60.361 47.427 1.993 99.848-12.996 143.846-41.238 33.929-21.78 62.886-51.668 79.93-88.072a369.25 369.25 0 0 1-15.303-9.852c-15.22 33.817-42.063 62.051-74.352 82.777-40.929 26.273-90.33 40.21-133.365 38.4-43.034-1.807-78.88-18.62-96.912-53.495l-1.565-3.026-3.175-1.232c-15.69-6.086-26.22-17.255-33.073-32.969-6.852-15.713-9.599-36.006-8.261-58.603 2.675-45.194 21.656-99.257 51.564-143.649 29.909-44.392 70.484-78.806 115.22-87.529 8.389-1.636 16.97-2.417 25.727-2.211 29.363.692 60.709 12.578 93.391 40.559-14.741-1.561-28.234-2.156-40.53-1.858-34.786.845-60.278 8.626-79.251 20.49-30.357 18.983-42.607 47.778-50.047 70.032l17.072 5.709c7.054-21.098 17.2-44.645 42.52-60.479 22.538-14.094 58.413-22.45 117.146-14.865 4.782-7.893 10.307-15.283 15.799-22.686 6.101.478 12.176 1.212 18.203 2.282 4.053-10.43 12.36-19.25 23.606-26.608 17.82-11.66 42.333-18.23 62.035-18.078zm-95.579 79.469c-22.18 30.697-30.813 57.418-30.771 80.728.044 24.386 9.378 45.662 24.254 64.701 26.728 34.21 71 59.486 105.795 76.467 2.25-33.797 5.505-82.536-4.182-126.277-5.488-24.782-15.062-47.396-30.729-64.379-14.808-16.052-35.134-27.397-64.367-31.24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plunger;

impl IconShape for Plunger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M462.4 24.96c-2.6.1-5.1 1.03-7.1 3.08L244 239.3c12.7 4.6 24.1 16.1 28.8 28.7L483.9 56.76c10.3-10.19-6.8-31.04-20.3-31.8h-1.2zM232.2 255.2c-2.6 0-5.1 1-7.1 3.1l-27.4 27.2-6.4-6.3c-17.4-17.5-51.1-23-85.9-17.8-16.67 2.4-33.36 7.2-48.33 13.7 6.45 2.3 13.23 5.4 20.36 9.2C103.1 298 133 320.8 162.1 350c29.1 29.1 52 59 65.7 84.6 3.8 7.1 6.9 13.8 9.2 20.3 6.4-15 11.2-31.7 13.7-48.3 5.1-34.8-.3-68.4-17.9-85.9l-6.3-6.4 27.2-27.3c10.3-10.1-6.8-31-20.3-31.8zM34.68 288.4c-4.25-.1-6.56.9-7.67 2-1.46 1.5-2.76 5.1-1.56 12.6 1.21 7.5 5.09 17.7 11.25 29.4 12.58 23.3 34.5 52.3 62.56 80.4 28.14 28 57.14 50 80.44 62.6 11.7 6.1 21.9 10 29.4 11.2 7.5 1.2 11.1-.1 12.5-1.6 1.5-1.4 2.9-5.1 1.6-12.5-1.2-7.5-5.1-17.7-11.2-29.4-12.6-23.3-34.5-52.3-62.6-80.4-28.1-28.1-57.12-50-80.46-62.6-11.67-6.1-21.92-10-29.34-11.2-1.88-.3-3.51-.5-4.92-.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PocketRadio;

impl IconShape for PocketRadio {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.803 21.857l-37.354 14.008c2.38 6.19 4.488 11.654 6.453 16.8l37.221-13.956zm-54.207 20.328L90.283 143.177c.06.043.125.082.186.125 5.271 3.757 9.669 8.676 12.42 14.37L366.05 58.986c-1.967-5.15-4.087-10.64-6.455-16.8zM56.963 151.283c-9.313 0-17.586 2.775-23.063 6.678-3.208 2.286-5.373 4.765-6.623 7.322h59.371c-1.25-2.557-3.415-5.036-6.623-7.322-5.476-3.903-13.75-6.678-23.062-6.678zm-31 32v238h414v-238zm449.777 7.494l-17.8 2.654c6.305 42.28 11.67 96.59 9.667 145.75-1.72 42.205-9.466 80.212-24.55 103.393-79.995-6.833-142.276-6.026-185.596-1.707-22.159 2.209-39.357 5.295-51.805 8.885-6.224 1.795-11.252 3.683-15.373 5.935-4.121 2.252-7.992 4.583-9.896 10.223-.952 2.82-.745 6.52.552 9.234 1.298 2.715 3.21 4.472 5.116 5.807 3.81 2.669 8.092 4.072 13.54 5.34 10.899 2.536 26.491 3.884 47.727 3.851 42.472-.065 107.155-5.924 195.776-22.123l2.814-.515 2.002-2.047c26.665-27.278 35.6-74.55 37.678-125.543 2.078-50.994-3.436-106.116-9.852-149.137zm-227.777 6.506h178v98h-178zm-128 9h18v87h14v-55h18v55h14v-23h18v64h-18v-23h-14v55h-18v-55h-14v87h-18v-87h-14v55h-18v-55h-14v23h-18v-64h18v23h14v-55h18v55h14zm225.347 2.69c-28.252.014-67.387 1.462-75.2 9.08-12.679 12.358-10.21 64.468-10.21 64.468 10.136-65.752 67.341-69.735 115.397-73.049 0 0-13.035-.508-29.987-.5zm23.653 103.31l14.5 29h33.5v18h-160v-18h97.5zm-30.49 143.242c18.133.095 38.088.744 59.441 1.918-66.439 10.584-116.636 14.65-150.62 14.701-19.627.03-33.862-1.322-42.458-3.174 1.737-.634 3.575-1.281 5.808-1.925 10.81-3.118 27.19-6.133 48.602-8.268 21.411-2.135 47.886-3.415 79.227-3.252z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Podium;

impl IconShape for Podium {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M90.52 390.06h38.497v16.583H65.443V390.06l31.933-28.182c2.852-2.578 4.96-5.098 6.328-7.56 1.368-2.46 2.05-5.018 2.05-7.675 0-4.1-1.386-7.402-4.16-9.902-2.733-2.5-6.386-3.75-10.956-3.75-3.516 0-7.363.763-11.543 2.286-4.18 1.485-8.652 3.71-13.418 6.68v-19.22c5.078-1.678 10.098-2.948 15.06-3.807 4.96-.9 9.823-1.35 14.588-1.35 10.47 0 18.594 2.306 24.375 6.915 5.82 4.61 8.73 11.035 8.73 19.277 0 4.766-1.23 9.22-3.69 13.36-2.46 4.1-7.637 9.61-15.528 16.523l-18.69 16.406m349.377 32.915c5.897 1.524 10.37 4.18 13.417 7.97 3.086 3.75 4.63 8.534 4.63 14.355 0 8.672-3.322 15.273-9.962 19.804-6.64 4.493-16.328 6.74-29.063 6.74-4.492 0-9.004-.372-13.535-1.115-4.492-.704-8.945-1.778-13.36-3.223v-17.403c4.22 2.11 8.4 3.71 12.54 4.805 4.18 1.054 8.28 1.58 12.304 1.58 5.978 0 10.548-1.034 13.712-3.104 3.203-2.07 4.805-5.04 4.805-8.907 0-3.985-1.64-6.993-4.922-9.024-3.242-2.07-8.047-3.105-14.414-3.106h-9.022v-14.53h9.492c5.664 0 9.883-.88 12.656-2.638 2.773-1.796 4.16-4.51 4.16-8.144 0-3.36-1.347-5.957-4.043-7.793-2.695-1.836-6.504-2.754-11.426-2.754-3.632 0-7.304.41-11.015 1.232-3.71.82-7.403 2.03-11.074 3.632V384.83c4.453-1.25 8.867-2.186 13.242-2.812 4.375-.624 8.672-.937 12.89-.937 11.368 0 19.864 1.876 25.49 5.626 5.663 3.71 8.495 9.316 8.495 16.816 0 5.118-1.348 9.317-4.043 12.598-2.696 3.242-6.68 5.527-11.953 6.856M236.062 230.74h19.922v-56.544l-20.45 4.22v-15.352l20.333-4.22h21.445v71.895h19.922v15.585h-61.172V230.74M496 496V352H352V128H176v160H16v208z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PodiumSecond;

impl IconShape for PodiumSecond {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M90.139 122.533c-11.594 0-23 12.8-23 31s11.406 31 23 31c11.593 0 23-12.8 23-31s-11.407-31-23-31zm103.95 2.975c-19.909 29.9-44.89 49.149-71.333 57.77-7.307 11.535-18.868 19.255-32.617 19.255-13.75 0-25.311-7.72-32.618-19.256-18.893 4.527-28.056 67.85-34.212 102.391l17.382 4.664 13.928-51.893 11.854 154.094h14.666v-103h18v103h14.666L128 208c30.818-17.632 67.095-44.257 82.188-74.441l-16.098-8.051zM169 313v96H25v78h462v-30H343V313H169z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PodiumThird;

impl IconShape for PodiumThird {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M417.945 168.902c-11.593 0-23 12.8-23 31 0 18.201 11.407 31 23 31 11.594 0 23-12.799 23-31 0-18.2-11.406-31-23-31zm-103.95 2.975l-16.099 8.05c15.093 30.185 51.37 56.81 82.188 74.442l14.195 184.533h14.666v-103h18v103h14.666l11.854-154.093 13.928 51.892 17.382-4.664c-6.156-34.54-15.319-97.864-34.212-102.39-7.307 11.535-18.869 19.255-32.618 19.255-13.749 0-25.31-7.72-32.617-19.256-26.443-8.62-51.424-27.87-71.334-57.769zM169 313v96H25v78h462v-30H343V313H169z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PodiumWinner;

impl IconShape for PodiumWinner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-11.594 0-23 12.8-23 31s11.406 31 23 31 23-12.8 23-31-11.406-31-23-31zm-103.951 2.975l-16.098 8.05c15.092 30.185 51.37 56.81 82.188 74.442L232.334 295H247V192h18v103h14.666l14.195-184.533c30.818-17.632 67.096-44.257 82.188-74.442l-16.098-8.05c-19.91 29.9-44.891 49.148-71.334 57.77C281.311 97.28 269.75 105 256 105c-13.75 0-25.31-7.72-32.617-19.256-26.443-8.62-51.424-27.87-71.334-57.77zM169 313v96H25v78h462v-30H343V313H169z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Poland;

impl IconShape for Poland {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19 100.9l198.4-68.89c9.4 24.82 24.8 41.58 58.1 34.5h165.8l42.5 130.09-42.5 31.6 25.8 10.4L493 368.2l-68.5 68.4 7.4 43.4-52.3-34.5h-76l-17.2 16.7-17.4-34.1c-49.6-11.2-85-35.6-120.4-63.1l-10 28.7-24.5-34.3-59.16-28.1C31.42 248.1 24.77 174.3 19 100.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PolarStar;

impl IconShape for PolarStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.9 19.77C241.5 109.6 229.4 163 196.2 196.2c-33.2 33.2-86.6 45.3-176.43 59.7C109.6 270.3 163 282.4 196.2 315.7c33.2 33.2 45.3 86.6 59.7 176.5 14.4-89.9 26.5-143.3 59.7-176.6 33.3-33.2 86.7-45.3 176.6-59.7-89.9-14.4-143.3-26.5-176.5-59.7-33.3-33.2-45.4-86.6-59.8-176.43zM423 89c-45.8 33.1-81 56.9-112.4 70.2 5.1 9.4 11 17.4 17.8 24.2 6.8 6.8 14.8 12.7 24.3 17.9 13.4-31.4 37.2-66.6 70.3-112.3zm-333.94.06C122.2 134.8 145.9 169.9 159.2 201.2c9.4-5.1 17.4-11 24.2-17.8 6.8-6.8 12.7-14.8 17.8-24.2-31.3-13.3-66.4-37-112.14-70.14zM352.7 310.5c-9.5 5.2-17.5 11.1-24.3 17.9-6.8 6.8-12.7 14.8-17.9 24.3C342 366 377.2 389.8 423 423c-33.2-45.8-57-81-70.3-112.5zm-193.5.1C145.9 342 122.1 377.2 89 423c45.7-33.1 80.9-56.9 112.3-70.3-5.2-9.5-11.1-17.5-17.9-24.3-6.8-6.8-14.8-12.7-24.2-17.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoliceCar;

impl IconShape for PoliceCar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174 20.85L148.7 74.7l-57-46.74 26.9 66.24-60.9-22.36 46.2 49.36L39 149l96 10.1V103h85.6l15.6-82.15-48.1 54.2-14.1-54.2zm101.8.04L291.4 103H377v56.1l96-10.1-64.9-27.8 46.1-49.32-60.8 22.36L420.3 28l-57 46.74L338 20.89l-14.1 54.2-48.1-54.2zM153 121v39c-4.3.6-8.3 1.2-11.8 1.9-4.1.8-7.7 1.7-10.8 2.8-3.2 1.1-5.9 2.1-8.8 4.9l-1.5 1.5-27.18 81.6c-12.7-12.8-26.02-17.4-37.3-17.3-29.47.2-45.11 32.7-.06 36.3 3.16-2.5 6.52-4.8 10.11-6.9 12.96-7.7 28.69-13 47.43-15.7l22.4-67c.3-.2.4-.3.8-.4 1.9-.7 4.8-1.4 8.4-2.1 7.1-1.4 17-2.6 28.6-3.6 23.1-2 52.9-3 82.7-3 29.8 0 59.6 1 82.7 3 11.6 1 21.5 2.2 28.6 3.6 3.6.7 6.5 1.4 8.4 2.1.4.1.5.2.8.4l22.4 67c18.7 2.7 34.4 8 47.4 15.7 3.6 2.1 7 4.4 10.1 6.9 45.1-3.6 29.5-36.1 0-36.3-11.3-.1-24.6 4.5-37.3 17.3l-27.2-81.6-1.5-1.5c-2.9-2.8-5.6-3.8-8.8-4.9-3.1-1.1-6.7-2-10.8-2.8-3.5-.7-7.5-1.3-11.8-1.9v-39h-62v34.6c-5.9-.1-11.9-.3-18-.4V121h-46v34.2c-6.1.1-12.1.3-18 .4V121h-62zm-9 144c-30.9 0-53.18 5.8-69.17 15.2-3.35 2-6.43 4.2-9.29 6.5L178.1 343h155.8l112.6-56.3c-2.9-2.3-5.9-4.5-9.3-6.5-16-9.4-38.3-15.2-69.2-15.2H144zm-91.46 35.4c-4.14 5.7-7.47 12-10.15 18.9-12.13 31.2-9.69 74.8-2.67 119.7h99.48l27.8-41.7v-39.7L52.54 300.4zm406.96 0L345 357.6v39.7l27.8 41.7h99.5c7-44.9 9.4-88.5-2.7-119.7-2.7-6.9-6-13.2-10.1-18.9zM64 336l64 16v32H48.1L64 336zm384 0l16 48h-80v-32l64-16zm-263 25v30h142v-30H185zM64.1 407H128v18H64.1v-18zm319.9 0h64v18h-64v-18zm-203.2 2l-20 30h190.4l-20-30H180.8zM41 457v30h62v-30H41zm368 0v30h62v-30h-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoliceOfficerHead;

impl IconShape for PoliceOfficerHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c21 0 34.936 10.482 53.63 20.867 17.717 9.843 39.99 18.284 71.4 11.87 14.906 14.9 30.05 29.803 46.2 39.896 13.216 8.26 28.067 13.18 42.88 10.855-4.25 33.44-24.556 66.15-45.784 83.272-55.98-18.552-112.1-27.832-168.22-27.832-56.172 0-112.343 9.297-168.374 27.883-21.25-17.108-41.59-49.85-45.843-83.322 14.81 2.326 29.664-2.596 42.88-10.855 16.15-10.093 31.292-24.995 46.2-39.895 31.407 6.413 53.683-2.028 71.4-11.87C221.065 35.48 235 25 256 25zm.105 19.54c-19.815 0-53.17 26.778-53.17 26.778s21.22 80.334 53.17 80.334c31.952 0 53.172-80.334 53.172-80.334S275.92 44.54 256.105 44.54zm0 137.32c52.79 0 105.584 8.63 158.504 25.734 2.18 13.47-1.51 23.48-9.448 32.736-8.86 10.333-23.732 19.103-41.36 25.71-35.26 13.218-80.983 17.896-107.697 17.896-26.713 0-72.434-4.678-107.693-17.895-17.63-6.607-32.5-15.377-41.36-25.71-7.94-9.257-11.632-19.265-9.45-32.736 52.92-17.105 105.713-25.735 158.503-25.735zm173.227 57.146c9.82 2.382 26.932 7.775 30.006 16.994 8.402 25.197-16.92 63.795-36.07 88.15 5.276-22.004 8.12-45.41 8.12-69.68 0-12.058-.706-23.9-2.056-35.464zm-346.45 0a305.88 305.88 0 0 0-2.056 35.463c0 24.27 2.843 47.676 8.12 69.68-19.15-24.355-44.473-62.953-36.07-88.15 3.073-9.22 20.186-14.612 30.005-16.994zm330.03 19.172c.305 5.377.475 10.806.475 16.29 0 59.374-18.13 112.958-46.903 151.305-28.772 38.347-67.703 61.313-110.38 61.313-42.674 0-81.606-22.966-110.377-61.313-28.772-38.347-46.9-91.93-46.9-151.304 0-5.486.17-10.915.474-16.292 8.2 7.656 18.216 13.868 29.235 19.03-4.27 18.2.266 40.838 12.098 52.665 21.774 21.765 70.605 21.765 92.38 0 6.744-6.743 9.637-17.487 9.255-28.268 4.934.216 9.6.33 13.837.33 4.238 0 8.905-.114 13.84-.33-.383 10.78 2.51 21.525 9.256 28.268 21.775 21.765 70.604 21.765 92.378 0 11.832-11.827 16.368-34.462 12.098-52.662 11.02-5.162 21.038-11.376 29.236-19.032zM256.105 376.043c-23.094 36.936-69.282 41.553-92.376 41.553 23.093 18.468 92.375 18.468 92.375 0 0 18.468 69.285 18.468 92.38 0-23.095 0-69.285-4.617-92.38-41.553z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoliceTarget;

impl IconShape for PoliceTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-38.346 0-71 38.034-71 87s32.654 87 71 87 71-38.034 71-87-32.654-87-71-87zm-9 23h18v7.723c24.195 3.873 43.404 23.082 47.277 47.277H320v18h-7.723c-3.873 24.195-23.082 43.404-47.277 47.277V176h-18v-7.723c-24.195-3.873-43.404-23.082-47.277-47.277H192v-18h7.723c3.873-24.195 23.082-43.404 47.277-47.277V48zm0 26.04C232.628 77.4 221.398 88.63 218.04 103H247V74.04zm18 0V103h28.96C290.6 88.628 279.37 77.398 265 74.04zM218.04 121c3.358 14.372 14.588 25.602 28.96 28.96V121h-28.96zm46.96 0v28.96c14.372-3.358 25.602-14.588 28.96-28.96H265zm33.6 83.273C286.025 212.368 271.546 217 256 217c-15.517 0-29.97-4.615-42.527-12.682-44.338 7.713-72.368 29.064-91.49 65.834C98.098 316.09 89.592 388.232 89.1 487H135V336h18v151h206V336h18v151h45.94c-.29-91.378-5.084-163.5-27.112-211.23-11.38-24.657-26.968-42.898-49.24-55.426-13.287-7.474-29.124-12.897-47.988-16.07zM247 224h18v9.82c18.095 2.283 34.883 11.78 47.824 24.82 15.09 15.205 25.32 35.535 25.32 56.788V343h9.284v18h-9.285v27.572c0 21.286-10.364 41.52-25.493 56.65-12.978 12.977-29.716 22.443-47.65 24.874V480h-18v-9.904c-17.934-2.43-34.672-11.897-47.65-24.875-15.13-15.128-25.493-35.362-25.493-56.648V361h-9.285v-18h9.285V315.386c.103-21.11 10.452-41.294 25.543-56.458 12.95-13.01 29.654-22.562 47.6-25.014V224zm18 28.04v28.077c9.014 2.324 16.945 8.083 23.074 15.29 8.126 9.552 13.496 22.05 13.496 35.26V343h18.573v-27.572c0-15.32-7.855-31.775-20.094-44.108-9.906-9.98-22.44-17.043-35.05-19.28zm-18 .138c-12.454 2.395-24.942 9.5-34.84 19.445-12.293 12.352-20.23 28.74-20.303 43.85V343h18.573v-12.372c.055-13.134 5.496-25.54 13.613-35.058 6.133-7.19 14.007-12.964 22.957-15.36v-28.032zm18 47.23V343h18.57v-12.334c0-8.124-3.668-17.085-9.207-23.596-2.858-3.36-6.105-5.948-9.363-7.662zm-18 .194c-3.216 1.747-6.432 4.333-9.262 7.65-5.574 6.535-9.275 15.46-9.308 23.453V343H247v-43.398zM191.857 361v27.572c0 15.286 7.92 31.622 20.22 43.922 9.91 9.908 22.436 16.966 34.923 19.34v-28.027c-8.938-2.378-16.827-8.11-22.977-15.284-8.143-9.5-13.593-21.95-13.593-35.19V361h-18.573zm36.573 0v12.334c0 8.095 3.69 16.977 9.26 23.477 2.84 3.312 6.074 5.89 9.31 7.626V361h-18.57zm36.57 0v43.436c3.236-1.737 6.47-4.314 9.31-7.625 5.57-6.5 9.26-15.38 9.26-23.476V361H265zm36.57 0v12.334c0 13.238-5.45 25.69-13.593 35.19-6.15 7.174-14.04 12.905-22.977 15.283v28.027c12.487-2.374 25.014-9.432 34.922-19.34 12.3-12.3 20.22-28.636 20.22-43.922V361H301.57z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoloShirt;

impl IconShape for PoloShirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33.978c-12.67 0-25.34 2.52-38.01 7.535 1.27 3.61 3.864 7.593 8.373 12.102C232.68 59.93 242.613 66.83 256 73.847c13.386-7.018 23.32-13.916 29.637-20.232 4.51-4.51 7.103-8.492 8.373-12.102-12.67-5.016-25.34-7.535-38.01-7.535zM201.88 49.1l-16.144 8.073c1.306 5.74 4.437 13.84 9.752 21.813 6.26 9.39 15.44 18.664 27.082 25.695l18.475-18.473c-11.317-6.394-20.465-12.923-27.408-19.866-5.34-5.34-9.265-11.148-11.756-17.24zm108.24 0c-2.492 6.092-6.417 11.9-11.757 17.24-6.943 6.944-16.09 13.473-27.408 19.867l18.475 18.474c11.64-7.03 20.823-16.305 27.082-25.694 5.315-7.973 8.446-16.072 9.752-21.813L310.12 49.1zm-140.6 17.775l-36.918 9.23-71.875 71.873L112 199.252l9.637-9.637 16.738-16.738L128 467.977c76.448 13.61 193.653 13.173 256 0l-10.375-295.1L400 199.252l51.273-51.274-71.875-71.873-36.92-9.23c-2.243 7.068-5.946 14.53-10.99 22.095-8.768 13.152-21.853 26.254-39.463 35.06l-5.802 2.9L265 105.706v122.27h-18v-122.27l-21.223 21.222-5.802-2.9c-17.61-8.806-30.695-21.908-39.463-35.06-5.044-7.566-8.747-15.027-10.99-22.095zM48 160.705l-19.273 19.273L80 231.252l19.273-19.274L48 160.705zm416 0l-51.273 51.273L432 231.252l51.273-51.274L464 160.705z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Poncho;

impl IconShape for Poncho {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.3 26.22c-15.1 11.32-27.1 20.28-37.5 26.52-11.1 6.69-21.2 10.7-31.8 10.7-10.7 0-20.7-4.01-31.9-10.7-10.4-6.23-22.5-15.19-37.6-26.5-2.8.53-8 1.82-14.7 4.59-1.4.57-2.9 1.21-4.4 1.86 6.6 6.19 18 16.71 31.2 27.26 10.3 8.19 21.5 16.32 31.9 22.23 10.4 5.92 20.1 9.29 25.5 9.29 5.4 0 15-3.37 25.4-9.28 10.3-5.91 21.5-14.05 31.8-22.23 13.3-10.66 24.9-21.27 31.3-27.43-1.5-.68-3-1.32-4.5-1.9-6.7-2.67-11.8-3.91-14.7-4.41zM361.7 41c-2.8 2.83-18 17.56-37.3 33.02-8.8 7.02-18.3 14.05-27.9 20.05L256 175l-40.6-80.83c-9.6-6.06-19.2-13.11-28-20.15-18.9-15.09-33.7-29.43-37.1-32.77-2.4 1.33-4.8 2.71-7.2 4.16-20.2 12.1-40.1 28.85-46.69 42.38C85.25 110.1 76.01 130.4 68 149.5l188 140.8 188-140.8c-8.1-19.1-17.2-39.4-28.4-61.72h-.1c-7.2-14.53-27-31.1-47.1-42.98-2.2-1.32-4.5-2.58-6.7-3.8zm-119.6 66.2l13.9 27.6 13.7-27.5c-4.5 1.4-9.1 2.2-13.7 2.2s-9.3-.8-13.9-2.3zM75.11 177.3l19.77 49.3 61.52 11.6zm361.69 0l-81.2 60.8 61.5-11.5zm-380.52 1.5c-2.54 6.6-4.99 13.2-7.31 19.6l23.01 19.5zm399.42 0L440 217.9l23-19.5c-2.3-6.4-4.8-13-7.3-19.6zM42.53 216.6c-3.76 10.9-7.36 21.6-10.94 32.3 18.47 18.4 60.96 60.7 106.81 102.5 24 21.9 48.5 43.2 69.9 60 19.8 15.5 37.2 26.7 47.7 31.1 10.5-4.4 27.9-15.6 47.7-31.1 21.4-16.8 45.9-38.1 69.9-60 45.8-41.8 88.3-84.1 106.8-102.5-3.6-10.7-7.2-21.5-11-32.3L256 397.1zM106.5 247l101.6 86-26-71.7zm299 0l-75.8 14.3-26.2 72zm-199 28.6l19 52.2 19.6-23.2zm98.8.2l-38.5 28.8 19.6 23.2zM45.76 288.3V335h18v-29.2c-6.37-6.1-12.46-12.1-18-17.5zm420.44 0c-5.5 5.4-11.6 11.4-18 17.5V335h18zM256 319.7L229.4 351l26.6 22.5 26.4-22.4zm-143.4 32.5V402h18v-33.3c-1.5-1.3-2.9-2.7-4.4-4-4.6-4.2-9.1-8.3-13.6-12.5zm286.4.3c-4.4 4.1-8.8 8.2-13.2 12.2-1.6 1.5-3.2 2.9-4.8 4.4V402h18zm-219.2 59.1v40.7h18v-26.2c-.2-.2-.4-.3-.6-.5-5.6-4.4-11.5-9.1-17.4-14zm152.2.1c-5.9 4.9-11.6 9.5-17.2 13.9-.3.2-.5.4-.8.6v26.1h18zm-85 46.7v27.4h18v-27.4c-2.1.9-4.2 1.7-6.2 2.4l-2.8 1-2.8-1c-2-.7-4.1-1.5-6.2-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoolDive;

impl IconShape for PoolDive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M28.334 73.395L27.974 119h44.253l.148-45.605zm83.064.607c-7 .032-14.026.5-21.029 1.4l-.06 18.18c40.373-5.803 82.33 5.102 112.847 28.281l10.887-14.334c-27.458-20.855-62.35-32.725-98.164-33.49a172.654 172.654 0 0 0-4.48-.037zm182.721 32.02c-8.56 22.911 4.684 28.188 14.328 35.248l-7.5 51.3c1.08 7.522 1.672 14.562 2.36 21.457-7.269-4.985-14.018-9.728-18.674-13.877-.644-21.422 8.355-45.777 1.724-68.054-13.897-4.587-21.546-7.33-43.546-16.684 8.24 24.369 13.955 26.664 28.718 29.164l-6.95 60.942c9.1 18.207 32.447 49.43 50.673 65.214 18.678 43.592 31.576 56.112 49.193 62.983 3.4 14.3 6.46 29.642 11.608 44.896l.674 1.998 1.492 1.49c14.814 14.805 38.777 29.985 56.79 37.44l6.886-16.633c-14.438-5.975-37.014-20.381-49.432-32.222-3.336-10.341-5.814-21.198-8.361-32.16a29.633 29.633 0 0 1-4.725-7.946c-5.63-13.976-.36-29.567 10.701-40.59-13.457-12.178-27.926-22.877-42.35-39.601-2.485-16.536-17.426-36.454-26.36-54.069 5.127-23.106 2.262-36.998 5.825-59.966-16.51-14.444-18.797-14.39-33.074-30.33zM27.832 137l-.363 46h44.549l.15-46zm-.504 64l-.363 46H71.81l.148-46zm-.506 64l-.361 46H71.6l.151-46zm396.76 28.938a24.27 24.27 0 0 0-1.453.01c-3.57.132-7.471 1.054-11.469 2.964-12.792 6.114-18.085 18.304-15.027 25.897 3.058 7.593 14.875 11.606 27.668 5.492 12.792-6.114 18.085-18.304 15.027-25.896-1.971-4.894-7.581-8.3-14.746-8.467zM26.318 329l-.363 46h45.44l.148-46zm371.293 18.672c5.194 6.91 10.885 13.322 16.545 19.076l.545.557.635.453c17.912 12.812 26.401 17.004 43.035 23.888l6.883-16.63c-16.076-6.654-22.055-9.52-38.734-21.407a172.842 172.842 0 0 1-5.08-5.443c-8.24 2.171-16.601 2-23.829-.494zM25.814 393l-.363 46h45.735l.15-46zm228.002 45.928c-22.528.281-44.042 31.567-61.816 32.072-24.52-5.482-41.618-31.482-64-32-14.4 1.853-27.028 6.58-38.857 13.041l-.07 21.596C101.832 465.304 116.295 457.37 128 457c24.52 5.482 41.618 31.482 64 32 23.32 1.84 45.652-31.478 64-32 24.52 5.482 41.618 31.482 64 32 23.32 1.84 45.652-31.478 64-32 24.52 5.482 41.618 31.482 64 32 17.604-1.708 33.913-9.867 47-18.18v-21.53c-12.258 7.892-33.21 21.274-47 21.71-24.52-5.482-41.618-31.482-64-32-23.32-1.84-45.652 31.478-64 32-24.52-5.482-41.618-31.482-64-32a23.976 23.976 0 0 0-2.184-.072zM25.31 457l-.237 30H71.03l.098-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoolTableCorner;

impl IconShape for PoolTableCorner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v78h238V25H25zm256 0v78h.2c-5.9 12.4-9.2 26.3-9.2 41 0 52.9 43.1 96 96 96 14.7 0 28.6-3.3 41-9.2v.2h78V25H281zm87 41.02c43.2 0 78 34.78 78 77.98s-34.8 78-78 78-78-34.8-78-78 34.8-77.99 78-77.98zM25 121v30h195.3l30-30H25zm384 128v238h78V249h-78zm-18 12.7l-30 30V487h30V261.7zM252.5 265a51.5 51.5 0 0 0-51.5 51.5 51.5 51.5 0 0 0 51.5 51.5 51.5 51.5 0 0 0 51.5-51.5 51.5 51.5 0 0 0-51.5-51.5zm-68.7 111.7L160 416l43.6 24.3 20.9-41-40.7-22.6zm-33.1 54.7L117.1 487h62.7l15.6-30.6-44.7-25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoolTriangle;

impl IconShape for PoolTriangle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M330.5 37.13c-8.5.26-16.2 4.99-25.8 11.14-12 7.35-25.8 18.3-41 31.51C232.8 106.5 196.3 143 161.6 181.1c-34.7 38.1-67.74 77.7-91.39 110.9-11.97 16.3-21.43 31.2-27.79 43.8-6.32 12.4-11.02 21.9-7.61 32.7 3.41 10.7 12.62 15.9 24.93 22.4 12.5 6.6 28.78 13.2 47.86 19.8 38.3 13.2 88.1 26.6 138.5 37.7 50.1 11.1 101 19.9 141.3 24 20.1 2 37.6 2.9 51.7 2.2 14-.7 24.5-1.6 32.1-9.9 7.6-8.3 7.4-18.9 6.9-32.8-.5-14.1-3-31.7-6.8-51.5-7.7-40-21-89.9-36.5-139.1-15.6-49.2-33.2-97.6-49.9-134.8-8.3-18.39-16.4-34.16-24-45.82-7.5-11.85-13.4-20.54-24.4-22.97-2.1-.45-4.1-.63-6-.58zm2.1 18.11c0 .26 6.8 5.23 13.2 15.28 6.9 10.31 14.5 25.38 22.7 43.48 16.1 36 33.8 84 49.2 132.7 15.3 48.8 28.3 98.2 35.9 137 3.7 19.6 6 36.3 6.4 48.8.4 12.5-2.3 20.4-2 20.1.2-.3-7.3 3.2-19.8 3.8-12.3.7-29.3 0-49-2-39.4-3.9-89.7-12.6-139.3-23.5-49.7-11-99-24.3-136.4-37.3-18.64-6.5-34.35-13-45.23-18.8C57.2 369 51.84 362.6 51.94 363c.11.5.78-8 6.42-19.1 5.65-11.2 14.79-25.5 26.49-41.5 22.95-32.1 55.55-71.5 90.05-109.2 34.4-37.8 70.5-74 100.5-99.66 14.8-13.11 28.3-23.53 38.8-29.98 10.3-6.6 18.5-8.2 18.4-8.32zm-14.7 38.17c-2.8 0-5.6.46-8.4 1.35-15 4.74-23.2 20.34-18.4 35.34.6 1.8 1.3 3.5 2.2 5.1 0 .2.1.3.2.4 0 0 0 .1.1.1 1.4 2.4 3.1 4.6 5.3 6.6 11.5 10.6 29.2 9.8 39.8-1.8 4.5-4.9 7-11 7.4-17.1.2-3.4-.2-6.9-1.3-10.3-3.8-12.2-14.9-19.79-26.9-19.69zm-50.2 54.79c-7.6 0-15.3 3.1-20.9 9.3-10.5 11.6-9.8 29.3 1.8 39.9 11.6 10.6 29.3 9.7 39.8-1.9 10.6-11.5 9.9-29.2-1.7-39.8-5.4-5-12.2-7.4-19-7.5zm72.6 16.2c-2.8 0-5.6.4-8.4 1.3-15 4.8-23.1 20.5-18.4 35.5 4.6 14.5 19.8 22.8 34.3 18.7.9-.3 1.7-.5 2.5-.8 14.1-5.2 21.6-20.5 17-35-3.8-12.2-14.9-19.8-27-19.7zm-122.5 38.9c-4.1-.1-8 .7-11.5 2.3-.2 0-.3.1-.4.1-.1.1-.3.2-.5.3-.3.1-.6.3-1 .4l-.9.6c-.3.1-.5.3-.7.4-2.3 1.4-4.3 3.1-6.2 5.1-1.2 1.4-2.3 2.8-3.2 4.3-.2.2-.3.4-.4.6-1.4 2.4-2.5 5.2-3.1 8.1-1.5 6.9-.4 13.8 2.7 19.6.1.2.2.4.4.7 1.4 2.4 3.1 4.6 5.3 6.6 11.6 10.6 29.3 9.7 39.9-1.8 1.4-1.6 2.6-3.2 3.7-5 1.3-2.4 2.4-5 3-7.9 2.2-10.1-1.1-19.9-7.9-26.5l-.1-.1-.4-.4c-1.8-1.6-3.7-3-5.8-4.1l-.1-.1c-.3-.1-.5-.2-.8-.4-.3-.1-.6-.2-.8-.4-.2 0-.4-.1-.6-.2-.4-.2-.9-.4-1.4-.6-.5-.2-1.1-.3-1.6-.5-.2 0-.4-.1-.5-.1l-.9-.3c-.3 0-.6-.1-.9-.2-.3 0-.6-.1-.9-.1 0 0-.1-.1-.2-.1-1.4-.2-2.8-.3-4.2-.3zm72.7 16c-13.1-.2-24.9 8.8-27.9 22.3-2.1 9.6.8 19.2 7.2 25.7.8.8 1.6 1.5 2.4 2.3 3.3 2.7 7.3 4.7 11.8 5.7 4.3.9 8.5.8 12.5-.1 1.4-.5 2.9-1 4.3-1.4 8.3-3.4 14.8-10.7 16.9-20.1 3.4-15.3-6.1-30.3-21.5-33.7-1.9-.4-3.8-.6-5.7-.7zm72.3 16.1c-2.8.1-5.6.5-8.4 1.4-7.5 2.3-13.3 7.4-16.6 13.8-1.1 2.2-2 4.5-2.5 7-.3 1.2-.5 2.4-.6 3.6v1.2c-.2 3.2.2 6.5 1.3 9.8 1.5 4.9 4.2 9 7.7 12.2 0 .1 0 .1.1.1 1.5 1.4 3.1 2.7 4.9 3.7.1.1.2.1.3.2 2.4 1.3 4.9 2.3 7.7 2.9 15.3 3.4 30.2-6.2 33.6-21.6.9-4.2.9-8.4 0-12.3 0-.3-.1-.5-.1-.7-.1-.1-.1-.2-.1-.3-.1-.4-.3-.9-.4-1.3-3.8-12.1-14.9-19.8-26.9-19.7zm-195.6 22.8c-7.6 0-15.3 3.1-20.9 9.3-10.4 11.4-9.8 29.1 1.6 39.7l.4.4c11.6 10.4 29.2 9.4 39.6-2 10.4-11.4 9.9-28.7-1.1-39.4-.4-.3-.7-.5-1-.8-5.4-4.8-12-7.1-18.6-7.2zm73.1 16.1c-13.1-.2-24.9 8.8-27.9 22.2-2.1 9.6.8 19.1 7 25.6.9.8 1.9 1.7 2.8 2.6 3.3 2.6 7.2 4.6 11.6 5.5 4.7 1 9.3.9 13.6-.3.7-.3 1.5-.5 2.2-.7 8.8-3.2 15.7-10.7 17.9-20.5 2.1-9.7-.9-19.3-7.2-25.8-.8-.7-1.6-1.4-2.4-2.2-3.3-2.7-7.3-4.7-11.9-5.7-1.9-.4-3.8-.6-5.7-.7zm72.7 16c-2.6 0-5.1.3-7.4.9-1.1.4-2.1.7-3.1 1-8.6 3.3-15.3 10.7-17.5 20.4-2.1 9.7.9 19.3 7.3 25.9.8.6 1.5 1.3 2.2 2 3.4 2.7 7.4 4.8 12 5.8 15.3 3.3 30.2-6.3 33.6-21.6 2.1-9.6-.8-19-7-25.6-1-.8-1.9-1.6-2.7-2.5-3.3-2.7-7.3-4.6-11.7-5.6-1.9-.4-3.8-.6-5.7-.7zm72.2 16.2c-2.8 0-5.6.4-8.4 1.3-15 4.8-23.1 20.5-18.4 35.4 1.3 4.3 3.6 8 6.5 11.1l2.7 2.4c6.7 5.5 15.7 7.7 24.6 5.4 1.1-.3 2.1-.7 3.2-1 14-5.4 21.3-20.5 16.8-34.9-3.9-12.2-14.9-19.8-27-19.7zm-267.8 6.7c-13.2-.2-25 8.8-27.96 22.3-3.38 15.3 6.11 30.3 21.46 33.7 15.3 3.3 30.2-6.3 33.6-21.6 2.1-9.5-.7-18.8-6.8-25.3-.6-.5-1.2-1.1-1.8-1.6-.6-.5-1.1-1.1-1.7-1.6-3.1-2.5-6.9-4.3-11.1-5.2-1.9-.4-3.8-.6-5.7-.7zm72.7 16.1c-13.2-.2-25 8.8-27.9 22.2-3.4 15.3 6.1 30.3 21.4 33.7 15.3 3.4 30.3-6.2 33.6-21.6 2.1-9.7-.9-19.2-7.2-25.8-.8-.7-1.6-1.4-2.4-2.2-3.3-2.7-7.3-4.7-11.8-5.7-1.9-.4-3.8-.6-5.7-.6zm72.7 16c-2.6 0-5.2.3-7.6.9-.9.3-1.8.6-2.8.9-8.6 3.3-15.4 10.7-17.6 20.4-3.4 15.4 6.1 30.4 21.5 33.7 15.3 3.4 30.2-6.2 33.6-21.5 2.1-9.6-.8-19.1-7-25.6-.9-.8-1.9-1.7-2.8-2.6-3.3-2.6-7.2-4.5-11.6-5.5-1.9-.4-3.8-.6-5.7-.7zm72.7 16c-2.7 0-5.4.3-7.9 1-.7.3-1.4.5-2.1.7-8.8 3.2-15.8 10.7-17.9 20.6-3.4 15.3 6.1 30.3 21.4 33.7 15.3 3.4 30.3-6.2 33.6-21.6 2.2-9.7-.9-19.3-7.3-25.9l-2.4-2.1c-3.3-2.7-7.2-4.7-11.7-5.7-1.9-.4-3.8-.6-5.7-.7zm72.7 16.1c-2.3 0-4.6.2-6.7.7-.8.3-1.5.6-2.3.8l-2.1.6c-8.3 3.4-14.8 10.7-16.9 20.1-3.4 15.3 6.1 30.3 21.5 33.7 15.3 3.4 30.2-6.2 33.6-21.6 3.4-15.3-6.1-30.3-21.4-33.7-1.9-.4-3.8-.6-5.7-.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Popcorn;

impl IconShape for Popcorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209 19.39c-16.9 2.15-23 19.58-29.7 33.81-15.5-5.07-38.7-11.67-48.3-4-2.3 2.31-4.3 7.35-5 14.31-.6 6.95-.1 15.42 1 23.45 1.5 10.37 3.9 19.94 5.3 25.24 10.3 4.2 17.8 10.7 21.8 18.3 5.3 9.8 5 21.6-1.9 29.9l-13.8-11.6c1.5-1.8 2.3-5.3-.1-9.8-10.4-11.1-50.17-26.9-63.92-13.1-1.29 1.5-2.69 5-2.96 10.4-.26 5.3.52 12 1.79 18.3 1.65 8.5 3.64 14.8 5.09 19 108.4 15.5 151.1 21.4 208.3 18 1-4.5 2.8-11.6 5.7-19.8 4.6-12.8 10.3-27.7 23-35.4 11-5.5 22.9-3.9 33.4-1.5 2.3-6.4 6.2-13.4 10.9-16.7 12.8-7.3 28.8-2.1 41.7 1.9l-7.4 13.3c-7.5-3.8-17.1-5.5-24.2-.3-6.3 4.6-7.6 16.4-10.7 22.9-8.4-1.9-26.4-8.4-34.3-4.2-4.4 2.3-11.4 14.6-15.4 26-1.6 4.5-2.9 8.8-3.9 12.5 32.3-2.8 71-8.2 127.9-16 6.3-7 18-23.3 17-30.7-13-5.3-27.9-3-41.7-2.2 5.6-10.4 19.9-24.4 18.7-36.3-13.9-11.21-41-8.41-56.3-7.11-1.3-13.56-6.4-45.29-16.2-51.29-20.4-2.19-37.7 8.35-55.5 18.48-2.7-10.73-6.4-36.42-15.9-39.07-14.2-3.96-27.2 4.31-40.5 10.82-12.2-7.94-26.9-18.44-33.9-17.54zm173.2 39.86c1.9 6.38 3.4 13.3 4.5 19.59 10.2-.11 19.3.21 28.6 1.9-.9-7.53-2.4-17.9-8.5-22.35-8.6-3.56-16.8-1.65-24.6.86zm-174.7 4.14c15.3 6.11 20.1 24.04 22.9 37.61 11.6-5.08 26.8-9.48 37.1-3.66 14.9 10.86 16 33.96 15.9 48.86l-18-.4c-.5-10-.4-18.5-3.9-28-1.5-4.6-4.4-5.7-8.5-5.2-13.3 2.1-24.9 9.3-36.8 16.1-1.8-13.2-1.1-45.12-13.9-48.1-12.5-2.91-23.8 13.25-32.7 23.4l-13.8-11.63c11.8-12.27 33-34.25 51.7-28.98zM87.62 88.25c-.43 4.61 0 10.47.91 16.35 8.47.1 16.27 1.3 24.07 2.8-2.4-10.47-3.9-19.81-4.7-29.74-10.58-2.27-19.11-.87-20.28 10.59zM76.29 191.5L135.4 487H182l-13.9-139.1c-10.5-10-17.1-22.2-17.1-35.9 0-10.6 4-20.3 10.6-28.8l-8.1-81c-21.9-2.9-47-6.4-77.21-10.7zm359.31.7c-30.2 4.2-55.3 7.6-77.2 10.4l-8 80.6c6.6 8.4 10.6 18.2 10.6 28.8 0 13.7-6.6 25.9-17.1 35.9L330 487h46.6zm-263.7 12.3l6.4 63.5c1.7-1.2 3.5-2.3 5.3-3.4 17-9.9 39.1-16.1 63.4-17.4v-36.9c-22.6-.4-45.9-2.4-75.1-5.8zm168.1.3c-29 3.4-52.3 5.2-75 5.6v36.8c24.3 1.3 46.4 7.5 63.4 17.4 1.8 1.1 3.6 2.2 5.3 3.4zM256 265c-25.1 0-47.7 6-63.3 15.2C177 289.3 169 300.7 169 312s8 22.7 23.7 31.8C208.3 353 230.9 359 256 359c25.1 0 47.7-6 63.3-15.2C335 334.7 343 323.3 343 312s-8-22.7-23.7-31.8C303.7 271 281.1 265 256 265zm-68.4 96.6L200.2 487H247V376.8c-22.5-1.2-43-6.6-59.4-15.2zm136.7 0c-16.4 8.6-36.9 14-59.3 15.2V487h46.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PopeCrown;

impl IconShape for PopeCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 29.337v23h-23v18h23v30.71c3.042-.46 6.046-.71 9-.71 2.954 0 5.958.25 9 .71v-30.71h23v-18h-23v-23h-18zm9 89c-2.13 0-4.48.282-7 .805v309.8c4.678-.154 9.322-.154 14 0v-309.8c-2.52-.523-4.87-.805-7-.805zm-25.002 7.318c-17.49 8.458-38.558 23.73-58.012 43.12-30.294 30.198-57.61 69.585-68.416 103.308-18.06 56.354-1.17 117.767 28.424 178.756 43.848-10.937 72.82-17.792 98.004-20.583V125.655zm50.004 0v304.602c25.183 2.79 54.156 9.646 98.004 20.582 29.595-60.99 46.483-122.403 28.424-178.757-10.807-33.723-38.122-73.11-68.416-103.307-19.454-19.39-40.523-34.663-58.012-43.12zM256 446.337c-3.78 0-7.558.033-11.324.09-25.686 1.59-54.423 8.623-103.608 20.922l7.657 15.313c101.827-28.995 112.723-28.995 214.55 0l7.657-15.314c-49.185-12.3-77.922-19.333-103.608-20.923-3.766-.057-7.545-.09-11.324-.09z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PorcelainVase;

impl IconShape for PorcelainVase {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 30c-32 64-22.35 180.063 0 208 42.406 53.007 80 80 80 128 0 32-16 80-48 112v16H176v-16c-32.002-31.995-48-80-48-112 0-48 37.594-74.993 80-128 22.35-27.937 32-144 0-208 48-16 48-16 96 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Porcupinefish;

impl IconShape for Porcupinefish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M354.2 15.5l-17.3 28c6.8 2.6 13.5 5.6 20.1 8.9zm-243.1 2.8s15.5 36.8 29.4 69.6C152.4 77.3 165.4 68 178.9 60zm136.5 1.9l-14 83.3-17.7-3 7-41.1c-27.8 10-55.2 27-77.7 48.7l41.3 10-4.3 17.6-64.5-15.8 30.6 48.9-15.2 9.7-19.7-31.5c-18.48 29.6-27.75 63.4-22.1 97.7l4.46 27.2-19.73-19.4c-20.16-19.9-36.67-27.8-54.76-29.6 19.47 48.2 23.93 111 17.78 161.6 20.01-6.7 41.08-18 50.41-41.8l5.38-13.8 9.76 11.1s6.5 7.5 17.2 18.4l41.5-78.1 15.8 8.5-34.3 64.9 68.3-31 7.4 16.4-81 36.7c7.1 6.8 15 14 23.5 21.2 10.2 8.7 21.3 17.1 32.5 24.7l-.5-29 18.1-.3 1.2 77.3 40.8-70.2 15.6 9-22.9 39.4c6.9 1.9 13.5 2.9 19.4 2.6 38-1.8 86.8-17.7 129.3-41.6l-20.3-14.2 10.3-14.9 66.9 46.8-29.7-72.6 16.7-6.8 9.7 23.6c8.4-7.7 15.9-15.7 22.2-24-2.1-1.5-5.4-3.5-9.5-5.6-4.7-2.7-10-5.3-14.6-9-2.2-1.8-4.4-3.8-6.1-7.1-1.6-3.2-2.1-8.1-.6-12 2.6-6.2 7.1-9.9 12-13.5 4.8-3.8 10.2-7.2 15.4-10.5 5.1-3.3 9.9-6.6 13-9.3 3.1-2.8 3.7-4.9 3.7-4.3 3.6-49.8-22.9-106.8-63.7-151-7.2-7.8-14.9-15.2-22.9-22.1l-13 72.7-17.7-3.2 10-55.8-53.9 48.2-12-13.4 69.3-62.2c-32.3-23.4-68.4-38.3-102.5-39.2l13.5 32.6-16.7 6.8zM454 53.9s-21.9 17.3-43.8 34.5c7.4 6.3 14.4 13 21.1 20zM27.03 125.3l49.72 60.9c3.12-11.9 7.59-23.3 13.19-34.3zm463.67 5s-16.2 6.1-31.3 11.9c3.3 4.6 6.4 9.3 9.4 14zm-72.8 64c22.6.1 40.9 18.6 40.9 41.1s-18.4 40.9-40.9 40.9-41-18.5-41-41 18.4-40.9 41-41zm-111.2 6l67 21.1-55.4 37.3-10.1-14.8 24.5-16.6-31.4-9.7zm-63.7 3.1l.2 18-80.2.4 67.3 47.4-10.5 14.7-113.2-79.8zm174.9 9c-12.8-.1-23 10.1-23 23 0 12.7 10.2 22.9 23 23 1.5 0 2.9-.2 4.3-.4a16 16 0 0 1-13.1-15.8 16 16 0 0 1 16-16 16 16 0 0 1 15.6 12.5c.1-1.1.2-2.2.2-3.3 0-12.9-10.2-23.1-23-23zm-127.5 97.2l29.8 66.6 24.9-54.2 16.2 7.5-41.3 90.4L274 317zm-160.6 82l-20.1 90.1 62.1-54.5c-7.1-5.3-13.9-10.9-20.4-16.5-8.1-6.8-15.2-13.2-21.6-19.1zm279.3 31.8c-9.9 5.7-20.1 11-30.5 15.7l45.7 54.8zm-99.6 39.3c-9.2 2-18.2 3.6-26.9 4.6l23.3 29.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Portrait;

impl IconShape for Portrait {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 25v462h302V25H105zm30 30h242v402H135V55zm121 34c-23.3 0-44.6 12.5-60.7 33.9-16 21.4-26.3 51.6-26.3 85.1 0 33.5 10.3 63.7 26.3 85.1 16.1 21.4 37.4 33.9 60.7 33.9 23.3 0 44.6-12.5 60.7-33.9 16-21.4 26.3-51.6 26.3-85.1 0-33.5-10.3-63.7-26.3-85.1C300.6 101.5 279.3 89 256 89zm-64 110h128v18H192v-18zm48 48h32v18h-32v-18zm-39.7 77.2c-5.1 1.9-10 3.9-14.6 6-10.5 4.8-19.5 10-25.4 14.7-5.9 4.6-7.3 9.1-7.3 7.1v87h206v-87c0 2-1.4-2.5-7.3-7.1-5.9-4.7-14.9-9.9-25.4-14.7-4.6-2.1-9.5-4.1-14.6-6-16 13.1-35.1 20.8-55.7 20.8s-39.7-7.7-55.7-20.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Portugal;

impl IconShape for Portugal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.6 55.13l66-34.5-7.5 30.75 117.8-10.07-14 39.94 33.1-2.34c-47 52.19-45.7 119.19-60.8 178.49l-39.8-.7 40.5 57c-14.5 61.6-21 113.2-27.7 165-35.8 10.6-74.9 15.9-120.7 10.5 24.6-43 19.6-86 26.2-129l-33 .7-25.5-33.7c30.1-84.1 76-176.6 45.4-272.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PositionMarker;

impl IconShape for PositionMarker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 17.108c-75.73 0-137.122 61.392-137.122 137.122.055 23.25 6.022 46.107 11.58 56.262L256 494.892l119.982-274.244h-.063c11.27-20.324 17.188-43.18 17.202-66.418C393.122 78.5 331.73 17.108 256 17.108zm0 68.56a68.56 68.56 0 0 1 68.56 68.562A68.56 68.56 0 0 1 256 222.79a68.56 68.56 0 0 1-68.56-68.56A68.56 68.56 0 0 1 256 85.67z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PostOffice;

impl IconShape for PostOffice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 28.28L41 227.9v27.5L256 55.72 471 255.4v-27.5L256 28.28zm0 52L128.1 199h255.8L256 80.28zM119 207.5l-78 72.4V487h103V368h82v119h245V279.9l-78-72.4V345H119V207.5zm34.7 9.5c1.3.9 2.6 1.9 4 2.9 11.4 8.2 25.3 17.6 39.2 26.5 13.8 8.9 27.7 17.4 38.9 23.4 5.6 3.1 10.5 5.5 14.3 7.1 2.8 1.2 5.2 1.8 5.9 2 .7-.2 3.1-.8 5.9-2 3.8-1.6 8.7-4 14.3-7.1 11.2-6 25.1-14.5 38.9-23.4 13.9-8.9 27.8-18.3 39.2-26.5 1.4-1 2.7-2 4-2.9H153.7zM256 278.9c-.2.1-.3.1 0 .1s.2 0 0-.1zm-119-51.8v92.1l68.8-45.9c-6.1-3.7-12.4-7.6-18.7-11.7-14.1-9.1-28.2-18.7-39.8-27-3.7-2.7-7.2-5.2-10.3-7.5zm238 0c-3.1 2.3-6.6 4.8-10.3 7.5-11.6 8.3-25.7 17.9-39.8 27-6.3 4.1-12.6 8-18.7 11.7l68.8 45.9v-92.1zm-151.9 56.3L157.8 327h196.4l-65.3-43.6c-1.4.8-2.8 1.6-4.1 2.3-5.9 3.2-11.2 5.8-15.8 7.8-4.7 2-8 3.5-13 3.5s-8.3-1.5-13-3.5c-4.6-2-9.9-4.6-15.8-7.8-1.3-.7-2.7-1.5-4.1-2.3zM288 368h96v64h-96v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PostStamp;

impl IconShape for PostStamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.7 18c-.4 1.79-.9 3.57-1.6 5.3-4.1 10.64-13.7 18.25-25 19.97l-3.1 8.04c7.2 8.9 9 21 4.9 31.62-4.2 10.62-13.7 18.27-25 19.97l-3.1 8c7.1 8.9 8.9 21 4.8 31.7-4.1 10.6-13.7 18.2-25 19.9l-3.1 8.1c7.2 8.9 9 21 4.8 31.6-4.1 10.6-13.6 18.3-24.9 20l-3.2 8c7.2 8.9 9 21 4.9 31.6-4.2 10.6-13.7 18.3-24.98 20l-3.13 8c7.15 8.9 8.99 21 4.84 31.6a31.821 31.821 0 0 1-24.97 20l-3.12 8c7.15 8.9 8.98 21 4.84 31.7-1.23 3.1-2.94 6-5.03 8.6l4.2 9.9c3.36.2 6.71.9 9.92 2.2 10.62 4.1 18.28 13.7 20 24.9l8.03 3.2c8.9-7.2 21-9 31.6-4.9 10.6 4.2 18.3 13.7 20 25l8 3.1c8.9-7.1 21-9 31.6-4.8 10.6 4.1 18.3 13.7 20 25l8 3.1c8.9-7.2 21-9 31.6-4.9 9.9 3.9 17.1 12.3 19.5 22.5h19.3c6-1.8 12.5-1.8 18.5 0h21.1c.3-2.8 1-5.6 2-8.3 4.1-10.6 13.7-18.3 25-20l3.1-8c-7.2-8.9-9-21-4.9-31.6 4.2-10.6 13.7-18.3 25-20l3.1-8c-7.1-8.9-8.9-21-4.8-31.7 4.1-10.6 13.7-18.2 25-19.9l3.1-8.1c-7.2-8.9-9-21-4.8-31.6 4.1-10.6 13.6-18.3 24.9-20l3.2-8c-7.2-8.9-9-21-4.9-31.6 4.2-10.6 13.7-18.3 25-20l3.1-8c-7.1-8.9-9-21-4.8-31.6a31.66 31.66 0 0 1 24.9-20l3.2-8.1c-7.2-8.9-9-20.9-4.9-31.6 1.8-4.4 4.5-8.4 7.8-11.5l-2.9-7.1c-4.7.4-9.5-.3-14-2.1-10.6-4.1-18.3-13.65-20-24.95l-8-3.12c-8.9 7.15-21 8.98-31.6 4.84-10.6-4.14-18.3-13.68-20-24.97l-8-3.13c-8.9 7.16-21 8.99-31.6 4.85-10.6-4.15-18.3-13.68-20-24.98l-8-3.12c-8.9 7.15-21 8.98-31.6 4.84-8.9-3.45-15.7-10.63-18.6-19.46zm22.4 31.83l208.7 81.37-127.9 328-208.7-81.4zM340 118.2l-6.5 16.8 59.6 23.3 6.5-16.8zm-73.2 20.3c-31.8.5-61.3 19.3-73.2 49.9-21.9 58.1 21.6 92.8-44.2 146.3l93.7 36.5c.5-5.3 10.5-33.2 19.1-31.9 0 0 34.7 17 47.6 7.5 5.2-4.1 2.5-19.9 2.5-19.9l11-1.6-1.8-8.5 7.2-2.5-1.8-9.5 24-7.8c2.2.5-5.9-28.5-11.9-34.7 2.9-4.5 5.6-9.3 7.5-14.2 15.9-40.8-5.3-87.3-47.7-103.8-10.5-4.1-21.4-6-32-5.8zM127.3 351.3l-6.5 16.7 44.7 17.5 6.5-16.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Potato;

impl IconShape for Potato {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.215 21.637c-2.32-.012-4.623.045-6.91.17-32.634 1.785-59.5 19.06-83.037 43.379 2.66-.203 5.282-.29 7.869-.272 12.174.086 23.67 2.211 35.773 2.51-28.033 6.9-52.033 20.858-75.193 36.285-21.288 29.627-40.322 62.404-59.662 89.459-22.086 30.895-53.902 64.744-77.914 99.598.732 14.082 5.978 28.164 10.498 42.246-10.128-4.49-21.515-8-26.453-16.526-16.766 30.855-24.257 62.116-10.663 92.473 31.167 69.595 149.454 92.973 219.778 63.488 5.424-2.274 9.834-5.623 13.53-9.746-15.474-.212-25.976-9.537-37.894-16.27 12.813-1.045 32.757 4.492 47.43 1.155 9.07-19.614 12.663-45.32 24.451-63.047 6.987-10.507 15.425-20.486 24.786-30.111-15.095 2.587-30.333 2.536-48.14.218 46.165-16.967 65.593-25.21 101.278-46.933 55.884-45.05 113.382-88.332 106.217-151.762-7.97-70.553-93.85-135.937-165.744-136.314zm6.652 31.574a5.619 16.856 69.574 0 1 4.979 2.01 5.619 16.856 69.574 0 1-13.836 11.148 5.619 16.856 69.574 0 1-17.756.617 5.619 16.856 69.574 0 1 13.834-11.148 5.619 16.856 69.574 0 1 11.928-2.623 5.619 16.856 69.574 0 1 .851-.004zm36.82 17.363c54.03 22.09 96.302 101.116 73.745 147.49.822-37.224-46.562-114-73.745-147.49zm-75.648 31.768c2.745.04 5.425.272 8.02.709-42.065 23.811-82.712 49.368-113.133 87.52 7.984-46.066 63.938-88.826 105.113-88.23zm-85.664 131.93a24.458 7.659 19.293 0 1 18.674 3.771 24.458 7.659 19.293 0 1 20.056 15.289 24.458 7.659 19.293 0 1-26.005-1.146 24.458 7.659 19.293 0 1-20.057-15.291 24.458 7.659 19.293 0 1 7.332-2.624zm76.748 136.412a5.619 16.856 69.672 0 1 4.975 2.017 5.619 16.856 69.672 0 1-13.856 11.125 5.619 16.856 69.672 0 1-17.758.586 5.619 16.856 69.672 0 1 13.856-11.123 5.619 16.856 69.672 0 1 11.93-2.603 5.619 16.856 69.672 0 1 .853-.002zM73.5 377.912c7.648 24.831 39.04 43.702 66.549 68.533-32.365-5.93-76.158-14.548-66.549-68.533z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PouringPot;

impl IconShape for PouringPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.9 50.88c-7 .1-13 .66-17.4 1.65-7.2 1.55-9 3.81-9.2 4.18-.1.37-.2 3.18 4.3 8.56 4.5 5.33 12.7 12.04 23.6 18.97 8 5.07 17.4 10.3 28.1 15.49 11.6-20.48 95.1-14.59 131.1-9.62-14.4-6.21-30.2-12.22-47.1-17.69-37.6-12.2-73.2-19.36-99.5-21.11-5-.34-9.6-.47-13.9-.43zm-29 33.55l-2.2 24.37c5.7 2 11.4 4.5 16.9 7.3l8.6 4.5-27.6 44.9-5.7-.7s-15.2-1.8-31.7-1.1c-17.71 21.7-25.94 38-28.75 63.2 11.01 12.7 20.05 20.8 31.35 30.2l-5.9 66.1c-8-2.7-16.86-5.8-23.66-9.2.46 4.3.95 8.6 1.48 12.8 5 39.6 11.53 69.3 12.68 74.4 51.3 30.6 108.8 49.4 170.8 59.9 4.2-3.2 28.8-21.9 58-49.5 31.8-29.9 65.7-68.7 75-98.2 4.2-13.5 1.7-39.7-2.9-61.5-4.6-21.8-10.5-39.5-10.5-39.5l-1-2.9 10.5-29.7c-5.4-7.4-13.5-12.5-20-15.6l-5.4-.3c-28.6-1.9-65.3-9.4-104.1-22s-72.5-27.9-96.1-42.87c-7.7-4.89-14.3-9.73-19.8-14.6zm226 23.87c-5.8 0-11.7.5-17.6 1.3-17.3 2.7-33.7 9.3-46.6 19.8 8.7 1.2 19.5 2.9 31 5.5 13 2.9 26.6 6.9 38.6 12.3s22.8 12.3 28.9 22.8c9.7 16.6 24.3 38.6 36.6 50 6.2 5.6 11.5 7.8 13.1 7.7.8-.1 1.2-.1 2.3-1.2 1.2-1.2 2.9-3.8 4.4-8.4 12.7-37.3-11.3-81.7-42.2-98.4-13.6-7.4-30.9-11.4-48.5-11.4zm-279.3 10c-6.69.1-13.26.7-19.56 1.9-25.21 4.7-45.62 17.4-54.82 36.7-11.12 23.2-6.44 54.6 9.01 83 13.41 24.7 34.72 46.4 58 58l2.99-33.2c-19.48-16.4-32.82-31.6-39.43-47.4-7.05-16.8-5.68-34.4 2.95-50.6 4.75-8.9 13.49-13.6 22.51-16.4 9.02-2.9 18.95-4 28.25-4.5 13.7-.7 23.9.1 29.8.7l11.3-18.5c-15.3-6.4-31.9-9.6-47.8-9.7zM466 260.7c-.7 0-1.3.1-2 .2-11.4 1.9-17.9 19.8-14.4 39.9 3.5 20.1 15.6 34.7 27 32.7s17.8-19.9 14.3-39.9c-3.2-18.7-14-32.9-24.9-32.9zm-18 93.8c-8.7.1-15 10.7-14.1 23.6.9 12.9 8.7 23.3 17.4 23.2 8.7-.1 15-10.6 14.1-23.5-.9-13-8.7-23.4-17.4-23.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PowderBag;

impl IconShape for PowderBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.277 49.734c-2.62.041-6.815 1.224-11.93 3.514a17.207 7.023 0 0 1 9.776 6.328 17.207 7.023 0 0 1-17.207 7.024 17.207 7.023 0 0 1-11.764-1.905C209.45 73.21 196.55 84.824 184.19 98.053a320.764 320.764 0 0 0-8.486 9.465 17.383 7.023 0 0 1 2.162-.061 17.383 7.023 0 0 1 17.383 7.023 17.383 7.023 0 0 1-17.383 7.024 17.383 7.023 0 0 1-12.043-1.961c-13.947 17.804-25.844 36.769-32.949 53.668 76.83 14.609 164.951 13.553 245.846-2.998a136.123 136.123 0 0 0-3.05-7.236 17.207 6.321 0 0 1-7.648.666 17.207 6.321 0 0 1-17.207-6.32 17.207 6.321 0 0 1 17.207-6.321 17.207 6.321 0 0 1 1.67.035c-9.845-17.99-23.973-37.284-39.869-53.937-26.565-27.833-58.413-47.666-77.545-47.366zm22.887 19.846a16.68 6.145 0 0 1 16.68 6.147 16.68 6.145 0 0 1-16.68 6.144 16.68 6.145 0 0 1-16.682-6.144 16.68 6.145 0 0 1 16.682-6.147zm30.24 30.553a17.032 6.848 0 0 1 17.032 6.847 17.032 6.848 0 0 1-17.032 6.848 17.032 6.848 0 0 1-17.033-6.848 17.032 6.848 0 0 1 17.033-6.847zm-66.01 21.732a17.207 7.023 0 0 1 17.208 7.024 17.207 7.023 0 0 1-17.207 7.023 17.207 7.023 0 0 1-17.208-7.023 17.207 7.023 0 0 1 17.208-7.024zm-38.878 36.862a17.558 6.145 0 0 1 17.558 6.146 17.558 6.145 0 0 1-17.558 6.145 17.558 6.145 0 0 1-17.559-6.145 17.558 6.145 0 0 1 17.559-6.146zM415.7 179.99c-101.432 26.783-217.263 28.653-313.322 4.942-6.366 7.485-11.92 14.281-15.14 20.95-3.207 6.642-4.611 13.463-3.442 22.624 114.282 25.958 238.56 19.65 354.236-1.145 1.341-6.883.324-13.535-3.064-21.03-3.698-8.182-10.45-17.087-19.268-26.34zm12.475 67.444c-22.169 3.756-44.64 6.973-67.299 9.533 9.987 41.576 21.847 88.953 17.504 132.32l-.627 6.27-6.106 1.554c-69.25 17.638-143.772 31.434-213.847-.533l-4.45-2.03-.716-4.837c-6.678-44.986 7.134-88.257 14.287-129.727-24.576-2.363-48.964-5.914-73.014-10.812-23.499 57.882-36.37 128.892-30.6 193.193-9.877 10.265-19.446 23.452-14.283 32.338 9.089 15.64 42.849 7.49 63.166.826 92.869 21.634 200.545 19.366 289.645 1.428 18.46 6.644 59.675 19.048 69.879 1.488 4.919-8.464-3.534-20.834-12.885-30.863 10.216-69.613-9.937-139.25-30.654-200.148zm-85.36 11.443c-52.318 5.06-105.437 6.424-157.886 2.61-6.964 41.9-19.185 82.09-14.928 120.673 60.582 25.618 126.129 15.173 190.785-.94 2.266-38.082-8.411-82.252-17.97-122.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PowerGenerator;

impl IconShape for PowerGenerator {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.283 27.155l-29.615 59.229-12.412-37.23L153 71.281v20.125l33.742-16.87 19.59 58.767 34.387-68.77 47.998 80 35.308-70.613L359 91.407V71.282l-43.025-21.511-28.694 57.384zM89 70.845v46h46v-46zm288 0v46h46v-46zm-304 64v302h94v-112h178v112h94v-302h-79.973l-32 128H184.973l-32-128zm101.027 10l4.5 18h154.946l4.5-18zm8.5 34l4.5 18h137.946l4.5-18zm208.473 27c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-336 .816l-30 20v146.184h30zm136.027 6.184l4.5 18h120.946l4.5-18zm199.973 57c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm66 57v46h30v-46zm-66 7c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-206 9v46h17.438L224 345.72l34.467 68.931 9.804-9.806H327v-62zm39 43.127l-10.438 20.873H185v46h142v-30h-51.271l-22.194 22.193zm233 4.873v46h30v-46zm-390 64l-40 30h108v-30zm310 0v30h108l-40-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PowerRing;

impl IconShape for PowerRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102.6 34.33c-7.03 7-19.03 19.24-32.07 34.6 25.53 3.3 56.47 11.09 84.97 19.76 18.8 5.72 36.4 11.81 50.2 17.41 7 2.8 13 5.5 17.9 7.9 4.9 2.5 8.4 4.4 11.6 7.6l-12.6 12.8c-.1-.1-3-2.2-7.2-4.3-4.1-2.1-9.8-4.6-16.4-7.3-13.2-5.3-30.4-11.3-48.7-16.9-32.4-9.84-68.89-18.34-93.24-20.24-9.14 12.07-17.4 24.64-22.72 35.84 63.22 13.9 134.16 40.1 173.46 79.3l3.4 3.4-1 4.8s-3 15.4-3 33.8 3.8 38.8 13.5 48.5c9.7 9.8 30.2 13.6 48.6 13.6 18.4 0 33.8-3 33.8-3l4.8-1 3.4 3.4c39.2 39.3 65.4 110.1 79.3 173.4 11.2-5.3 23.7-13.6 35.8-22.7-1.9-24.4-10.3-60.8-20.2-93.1-5.6-18.4-11.6-35.6-16.9-48.8-2.7-6.6-5.2-12.3-7.3-16.4-2.1-4.2-4.2-7.1-4.3-7.2l12.8-12.6c3.2 3.2 5.1 6.7 7.6 11.6 2.4 4.9 5.1 10.9 7.9 17.9 5.6 13.8 11.7 31.4 17.4 50.2 8.6 28.4 16.4 59.4 19.7 85 15.4-13.1 27.6-25.1 34.6-32.1-12.7-64.7-26.1-151.4-62.6-212.2l-1.8-3 .7-3.4s3-15.4 3.1-33.8c0-8.3-.8-17-2.5-25 1.6 11-.2 23.4-4.4 36-7.6 22.8-23.4 47.5-45.6 69.8-22.3 22.2-47 38-69.8 45.6-22.8 7.6-45.2 7.3-59.4-6.9-14.1-14.1-14.5-36.6-6.8-59.3 7.5-22.8 23.3-47.5 45.6-69.8 22.3-22.3 46.9-38.1 69.8-45.6 12.3-4.19 24.6-5.97 35.4-4.51C371.6 95.74 363.1 95 355 95c-18.4 0-33.8 3.06-33.8 3.06l-3.5.68-2.9-1.79c-60.9-36.55-147.5-49.9-212.2-62.62zM371.9 115c-6.4-.1-13.9 1.2-22.3 4-14.2 4.7-30.3 13.7-46 26.3 5.1-3.1 10.2-5.7 15.2-7.8 7.9-3.2 15.4-5.1 22.5-5.2 7.2 0 14.5 2 19.7 7.3 1.7 1.7 3 3.5 4.1 5.5-9-3.9-19.5-1.8-26.4 5.1-9.4 9.4-9.4 24.6 0 34 5.3 5.2 12.6 7.7 20 6.8-6.8 13-17 26.6-29.9 39.4-15.9 16-33 27.8-48.6 34.3-7 2.9-13.7 4.7-20.2 5 7.6 1.5 17.4.6 29.1-3.3 19.4-6.4 42.2-20.7 62.7-41.3 20.6-20.6 34.9-43.3 41.3-62.7 6.4-19.3 4.8-33.7-2.5-40.9-4.1-4.1-10.5-6.4-18.7-6.5zM30.64 135.9c-.48 5.1.53 12.6 4.04 22.1 5.19 14.2 15.06 32.1 28.35 51.7C89.6 249 129.7 295.6 173.1 338.9c43.3 43.4 89.9 83.5 129.2 110.1 19.6 13.3 37.5 23.1 51.7 28.3 9.5 3.5 17 4.5 22.1 4-5.1-23.3-12.1-47.8-20.7-71.2-49.3-29.2-92.9-61.9-131.9-99.1-4.7-2.5-9.2-5.6-13.1-9.5a50.9 50.9 0 0 1-9.5-13.2c-37.2-38.9-69.8-82.5-99-131.7-23.36-8.7-47.92-15.7-71.26-20.7zM130 168c19.1 30.3 39.7 58.2 62 84-.2-4-.3-8-.3-11.8 0-15.7 1.7-26.8 2.6-32.2-16.1-15-38.7-28.5-64.3-40zm174 149.7c-5.4.9-16.5 2.6-32.2 2.6-3.8 0-7.8-.1-11.9-.4 25.9 22.4 53.8 43 84.1 62.1-11.5-25.5-25-48.2-40-64.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrayerBeads;

impl IconShape for PrayerBeads {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189.3 16.62c-7.8 0-14 6.16-14 14s6.2 14 14 14 14-6.16 14-14-6.2-14-14-14zm28.7 5.1c.8 2.83 1.3 5.82 1.3 8.9 0 3.11-.5 6.12-1.3 8.97 6.3.37 12.8.97 19.6 1.81-.3-1.57-.4-3.17-.4-4.81 0-4.59 1-8.95 2.8-12.91-7.6-.93-14.9-1.58-22-1.96zm53.2.87c-7.8 0-14 6.16-14 14s6.2 14 14 14 14-6.16 14-14-6.2-14-14-14zm-115.5 3.32c-10.2 2.1-19.8 4.86-28.6 8.19 3.9 4.51 6.6 10.1 7.5 16.25 7.3-2.7 15.1-4.99 23.5-6.78-1.8-3.97-2.8-8.35-2.8-12.95 0-1.6.1-3.17.4-4.71zm145.5 10.64v.1c0 6.31-1.9 12.2-5.1 17.18 4.2 1.19 8.3 2.45 12.6 3.8l.1.1h.2c1.4.39 2.8.79 4.2 1.18.3-6.31 2.5-12.16 6-17.01-1.7-.5-3.5-.99-5.3-1.48-4.3-1.37-8.5-2.63-12.7-3.84zm-196.3 4.41c-7.78 0-13.94 6.16-13.94 14s6.16 14 13.94 14c7.8 0 14-6.16 14-14s-6.2-14-14-14zm242.3 5.46c-7.8 0-14 6.16-14 14s6.2 14 14 14 14-6.16 14-14-6.2-14-14-14zm29.8 17.3c-.6 6.27-3.1 12.02-6.9 16.7 6.1 3.02 11.9 6.17 17.3 9.44 1.7-5.96 5.2-11.23 9.7-15.23-6.3-3.81-13-7.45-20.1-10.91zM73.5 67.39c-6.04 5.82-11.37 11.96-15.99 18.29 6.15 1.32 11.67 4.42 15.97 8.73 3.41-4.48 7.22-8.86 11.48-13.05-5.03-3.46-9.04-8.3-11.46-13.97zm346.7 17.22c-7.8 0-14 6.16-14 14 0 7.89 6.2 13.99 14 13.99s14-6.1 14-13.99c0-7.84-6.2-14-14-14zm-147 4.99c-7.8 0-14 6.16-14 14 0 7.9 6.2 14 14 14s14-6.1 14-14c0-7.84-6.2-14-14-14zm-32.8 5.32c-6.2 1.54-12.5 3.58-18.7 5.98 4 4.5 6.7 10.2 7.6 16.4 3.9-1.5 7.7-2.7 11.5-3.8-1-3.1-1.6-6.4-1.6-9.9 0-3 .4-5.91 1.2-8.68zm62.6 5.28c.1 1.1.2 2.3.2 3.4 0 5.3-1.3 10.3-3.6 14.7 3.3 1.2 6.7 2.4 10.1 3.8.9-6.2 3.7-11.8 7.7-16.4-4.8-2-9.7-3.8-14.4-5.5zM52.86 103c-7.84 0-14 6.2-14 14s6.16 14 14 14 14-6.2 14-14-6.16-14-14-14zm146.84 5c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm141.6 5c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm104.4 1.9c-3.1 5.2-7.7 9.5-13.1 12.3 3.6 4.3 6.8 8.6 9.8 13.1 4.7-3.8 10.5-6.3 16.8-6.9-3.9-6.4-8.4-12.6-13.5-18.5zm-279.1 14.7c-5.8 3.6-11.5 7.2-17.1 10.9 4.6 3.9 8.1 9.1 9.9 15.1 5.4-3.5 10.8-7 16.3-10.4-4.4-4.2-7.6-9.6-9.1-15.6zm205.5 6.1c-1.7 6-5.2 11.3-9.7 15.3 2.8 2.1 5.5 4.3 8.1 6.6 3.2-5.3 7.9-9.6 13.5-12.3-3.9-3.3-7.8-6.5-11.9-9.6zm-337.96 8.5c-1.08 10.2-.57 19.9 1.67 28.7 4.3-4.9 10.04-8.4 16.52-10-.61-4.3-.79-9-.48-13.9h-.99c-6.11 0-11.84-1.7-16.72-4.8zm96.56 6.5c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm333.7.5c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-64.5 8.9c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-302 13c-3.58 2-6.99 3.8-10.21 5.3 2.59 4.7 4.08 10 4.08 15.6 0 .8 0 1.6-.1 2.4.65-.3 1.3-.6 1.96-.9 4.44-2 8.97-4.4 13.67-7.1-4.5-4-7.76-9.3-9.4-15.3zM61.77 180c-7.84 0-14 6.2-14 14s6.16 14 14 14 14-6.2 14-14-6.16-14-14-14zm416.13 13.2c-4.6 2.5-9.9 4-15.5 4-.8 0-1.6 0-2.3-.1.1 6.1-.4 12.3-1.4 18.6 6.4.3 12.4 2.4 17.3 5.9 0-.3.1-.7.2-1l.1-.1v-.1c1.5-9.2 2-18.3 1.6-27.2zm-59.5 5.4c-4.7 4-10.5 6.6-16.9 7.3.9 5.6.9 11.3 0 17.4 6.3.8 12.1 3.4 16.8 7.3 2.4-11.1 2.3-21.9.1-32zM49.64 224.3c.29 4.9.67 9.7 1.14 14.5 3.97-1.8 8.36-2.8 12.96-2.8 1.65 0 3.27.1 4.86.4-.36-3.8-.67-7.6-.91-11.4-2.54.7-5.19 1-7.92 1-3.54 0-6.94-.6-10.13-1.7zm409.86 9.4c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-59.7 7.4c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zM65.74 254c-7.84 0-14 6.2-14 14s6.16 14 14 14 14-6.2 14-14-6.16-14-14-14zm301.46 10.5c-4.8 1.6-10.1 2.9-15.8 3.9 1.6 3.9 2.5 8.1 2.5 12.5 0 1.9-.2 3.7-.5 5.5 8.6-1.5 16.9-3.5 24.5-6.3-5-4-8.7-9.4-10.7-15.6zm-43.3 2.4c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm111.2 3.6c-2.7 4.5-5.6 9.1-8.6 13.8l-4.8 7.2c5.9 1.7 11.2 5.1 15.2 9.7 1.6-2.4 3.2-4.7 4.7-7.1 3.3-5.1 6.5-10.1 9.4-15.1-6.1-1.2-11.6-4.3-15.9-8.5zm-144.6 4.1c-7.5.5-15.1 1.1-22.4 1.9l-2.7.3c1.7 3.8 2.6 8.1 2.6 12.5 0 1.8-.2 3.6-.5 5.4.9-.1 1.7-.2 2.5-.3 7.1-.7 14.5-1.3 22.1-1.9-1.4-3.6-2.2-7.5-2.2-11.6 0-2.2.2-4.3.6-6.3zm-52.5.7c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zM80.65 295.1c-4.92 3.1-10.72 4.9-16.91 4.9h-.4c2.55 7.6 5.52 15 8.93 22.2 3.98-4.6 9.24-8.1 15.21-9.9-2.56-5.6-4.82-11.3-6.83-17.2zm124.65 3.2c-.2.3-.5.5-.7.8-7 8-10.3 19.1-8.8 31.5.3 2.3.7 4.6 1.2 7 4.9-3.5 10.9-5.5 17.2-5.7-.2-1.2-.4-2.3-.5-3.4-.8-6.5.1-10.8 2.1-14.4-4.9-4-8.6-9.5-10.5-15.8zm209.5 9.9c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zM98.5 329c-7.84 0-14 6.2-14 14s6.16 14 14 14c7.8 0 13.9-6.2 13.9-14s-6.1-14-13.9-14zm286.5 8.9c-5 5.4-10 10.6-15.2 15.6 5 3.4 9 8.3 11.4 14 5.7-5.5 11.3-11.2 16.7-17-5.4-2.9-9.9-7.3-12.9-12.6zm-167.9 12c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-92.1 10l-18.8 14.7c-3.1 10.1 17.2 101.1 37.8 120.8l4.5-5.4-13.5-61.8 20.5 54.8c.4-.3 3.3-2.3 3.7-2.6l-8.6-25.7 13.9 21.7c8.5-5.7 17.3-8.2 34.3-9.7l-15.9-30.8 31.1 30.2c8.2 0 17.5.5 28 1.5-23.3-28.8-84.4-98.5-117-107.7zm228.7 5.9c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-112.5 16.5c-3.4 4.9-8.2 8.8-13.8 11.1 5 5.4 10.3 9.9 15.8 13.5.4-6.4 2.6-12.3 6.1-17.1-2.7-2.2-5.4-4.6-8.1-7.5zm80.1 7.3c-5.6 2.9-11 5.3-16.4 7.1 1.5 3.6 2.3 7.6 2.3 11.8 0 2.3-.2 4.5-.7 6.6 8.5-2.4 16.8-6 25.1-10.4-4.8-3.9-8.4-9.1-10.3-15.1zm-44.1 4.9c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrayingMantis;

impl IconShape for PrayingMantis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v10.477c4.607 7.49 10.433 16.767 16.867 26.488 7.35 11.106 15.393 22.655 23.117 32.44 2.03 2.57 3.997 5.005 5.936 7.294 5.094-3.083 10.587-6.245 16.22-9.024-2.52-2.73-5.266-5.924-8.027-9.422C64.896 67.11 57.06 55.88 49.877 45.03 43.274 35.053 37.295 25.51 32.687 18H18zm134.072 0c-.72 5.552-2.36 17.603-4.765 31.28-1.528 8.688-3.463 18.042-5.537 26.505 6.146.52 12.202 1.46 18.005 2.877 2.026-8.624 3.747-17.673 5.258-26.267 3.032-17.243 4.83-31.494 5.186-34.395H152.07zm-23.24 75.62c-8.37-.06-16.72.624-24.22 2.077-4.87.945-12.558 4.244-20.33 8.254 11.135 2.173 22.183 8.018 31.09 16.956 20.132 20.2 24.47 51.285 6.216 69.477-1.168 1.163-2.388 2.233-3.654 3.213 2.607 1.546 5.244 3.074 7.904 4.574 22.375 12.618 46.216 23.606 65.316 31.783 9.422 4.034 17.47 7.29 23.813 9.81-.566-4.942-1.286-10.553-2.375-16.958-2.47-14.524-6.15-32.12-10.574-49.38-4.425-17.257-9.62-34.217-14.96-47.298-5.343-13.082-12.213-22.055-13.492-22.787l-.107-.063-.108-.064c-9.454-5.77-25.014-8.995-40.934-9.52-1.194-.04-2.39-.063-3.586-.072zm61.11.17c5.73 6.326 9.533 15.135 13.78 25.532 3.497 8.568 6.805 18.298 9.878 28.532 8.97-9.812 7.474-29.01-6.856-43.39-5.188-5.205-11.013-8.72-16.803-10.675zM74.343 121.075c-6.227.132-11.806 2.23-15.72 6.13-9.63 9.6-8.384 29.328 6.26 44.02 14.642 14.693 34.366 16.01 44 6.41 9.63-9.6 8.384-29.33-6.26-44.023-8.693-8.724-19.18-12.73-28.28-12.537zm-19.453 65.45c-11.004 5.64-23.684 13.494-36.146 22.257-.25.175-.495.358-.744.533v68.854c18.57-19.21 33.836-37.206 44.793-52.824 6.75-9.623 11.865-18.36 15.256-25.73-8.23-2.455-16.226-6.907-23.16-13.09zm356.66.818l-5.187 6.627c2.03 4.33 3.965 8.683 5.834 13.05 2.156-.268 4.25-.392 6.225-.37 2.657.03 5.104.3 7.392.79-1.22-1.995-2.424-3.93-3.584-5.725-4.22-6.53-7.95-11.413-10.68-14.37zm-24.277 8.123c-16.918 13.857-33.877 33.415-49.94 55.898 19.226-15.966 38.755-29.392 57.823-38.717-2.322-5.384-4.746-10.733-7.316-16.017l-.567-1.163zM227.926 206.62c.887 4.564 1.7 8.986 2.412 13.167.932 5.478 1.717 10.455 2.326 14.96 14.438 1.212 21.815 20.84 29.783 29.37-.062-26.028-13.06-48.863-34.52-57.498zm190.295 18.03c-3.713-.04-8.47.777-12.613 2.914l-.146.075-.146.07c-48.158 22.688-105.47 79.642-148.722 134.4-21.626 27.38-39.88 54.23-52.1 75.753-6.11 10.76-10.71 20.215-13.435 27.47-2.502 6.66-2.773 11.29-2.858 11.9 4.226 8.206 9.81 12.687 24.827 15.37 58.497-38.614 114.28-103.552 153.22-160.982 19.8-29.203 35.308-56.487 44.718-77.046 4.705-10.28 7.872-18.93 9.29-24.84.535-2.236.608-3.54.694-4.77-.853-.132-1.566-.3-2.73-.314zm13.266.557l-7.68 3.438c-3.085 64.654-21.425 126.137-30.132 173.533 2.613 2.39 6.34 5.615 11.14 8.74-5.886 12.474-11.623 19.878-18.384 26.55-7.995 7.886-17.974 14.87-30.735 26.452l12.098 13.328c11.923-10.823 21.84-17.656 31.277-26.967 11.193-11.626 24.333-31.958 27.36-45.87 1.37-6.504 2.698-15.256 3.873-25.32 2.35-20.13 4.11-45.577 4.883-70.29.772-24.716.544-48.79-.965-65.9-.683-7.745-1.702-13.802-2.734-17.693zM82.068 228.98c-1.447 2.2-2.942 4.426-4.54 6.702-1.1 1.57-2.25 3.165-3.423 4.77 22.826 31.163 50.81 72.068 99.905 153.027 7.64 7.252 15.592 14.054 23.88 20.33 4.726-7.598 9.963-15.564 15.643-23.785C145.2 300.133 110.34 259.675 82.068 228.98zm73.79 4.83c-3.635 24.868 12.083 48.43 37.283 60.13-5.282-12.958-25.407-31.827-8.67-47.272l-.4-.168c-8.614-3.688-18.207-7.965-28.21-12.69zM62.6 255.345c-4.197 5.177-8.686 10.48-13.48 15.902 27.338 73.814 65.068 146.414 123.943 190.867.364-1.013.747-2.05 1.147-3.113 1.968-5.238 4.58-11.02 7.758-17.275-61.466-103.163-93.89-151.364-119.367-186.38zm390.58 2.816c.615 15.38.566 33.084 0 51.197-.237 7.563-.573 15.17-.98 22.697 2.864 10.367 5.673 20.25 8.556 29.435 3.675.957 8.94 2.16 15.19 2.625 2.602 13.216 2.398 22.448.972 31.703-1.71 11.1-5.552 22.656-8.88 39.565l17.66 3.478c2.785-14.136 6.173-24.76 8.304-36.222v-39.25c-.727-5.09-1.784-10.093-3.238-15.22-1.827-6.39-4.738-14.75-8.4-24.197-7.32-18.897-17.648-42.225-28.507-64.44-.224-.46-.452-.912-.677-1.37zM319.05 421.782c-20.25 22.78-42.233 44.482-65.296 63.21 4.992 1.433 10.517 2.494 15.63 3.026 18.016-19.193 34.663-41.935 49.667-66.235z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Present;

impl IconShape for Present {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.518 78.38c-6.55.117-12.45 1.736-17.35 4.91-7.465 4.84-11.765 12.904-13.063 21.34-2.595 16.874 4.747 36.355 19.862 52.31C154.08 172.893 177.643 185 208 185h2.438l-9.118-18.234c-22.194-1.554-38.46-10.777-49.287-22.205-11.885-12.545-16.543-28.064-15.138-37.19.702-4.564 2.402-7.25 5.062-8.974 2.66-1.724 7.113-2.875 14.756-1.326 13.078 2.65 34.233 13.948 62.205 39.284L220.27 135h23.408c-35.31-34.8-62.215-51.278-83.39-55.57-2.715-.55-5.363-.887-7.925-1.006-.96-.045-1.91-.06-2.845-.043zm212.964 0c-.935-.016-1.885 0-2.845.044-2.562.12-5.21.455-7.924 1.006-21.176 4.292-48.082 20.77-83.39 55.57h23.406l1.352 1.354c27.972-25.336 49.127-36.633 62.205-39.284 7.643-1.55 12.096-.398 14.756 1.326 2.66 1.725 4.36 4.41 5.062 8.973 1.405 9.126-3.253 24.645-15.138 37.19-10.827 11.43-27.093 20.652-49.287 22.206L301.562 185H304c30.357 0 53.92-12.106 69.033-28.06 15.115-15.955 22.457-35.436 19.862-52.31-1.298-8.436-5.598-16.5-13.063-21.34-4.9-3.174-10.8-4.793-17.35-4.91zM227.73 153l-8.78 8.777L229.564 183h52.875l10.61-21.223-8.777-8.777h-56.54zM73 201v46h142v-46H73zm160 0v270h46V201h-46zm64 0v46h142v-46H297zm-192 64v206h110V265H105zm192 0v206h110V265H297z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pretzel;

impl IconShape for Pretzel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.28 90.005c16.1 2.682 25.418 4.934 45.862 11.656 18.57-14.474 47.956-26.908 75.748-26.14 47.97 1.604 91.01 34.895 103.698 72.094 10.918 32.01 4.29 72.454-14.532 110.358-16.682 34.096-52.988 76.062-87.875 95.46-18.8 10.23-36.618 17.343-61.39 20.86-7.537 15.89-13.888 32.806-19.816 43.902 36.3-2.454 71.64-11.743 101.282-27.87 35.382-19.252 66.99-50.606 90.443-87.303.14.016.264.027.405.042 12.194-19.643 12.988-23.107 22.043-42.573 17.01-40.85 23.166-85.462 9.192-126.434-19.178-56.227-77.212-99.728-142.825-100.862-54.15-.677-95.57 27.644-122.236 56.81zm-24.74 16.682C121.8 108.9 87.07 121.867 65.23 145.27c-24.54 26.3-40.146 63.025-45.328 100.794-5.182 37.768.08 77.63 23.783 107.632 23.524 29.778 57.79 48.086 95.225 57.47 12.147-20.055 13.965-24.698 20.045-38.67-34.498-6.97-64.44-22.213-82.313-44.835-13.958-17.667-19.21-46.14-15.13-75.887 4.083-29.75 17.517-59.727 34.425-77.848 8.587-9.204 29.154-19.31 50.7-23.445 15.104-2.44 43.587-.884 55.766 6.466 11.815 7.865 17.974 21.69 19.38 24.932 14.802 10.438 32.785 21.642 44.82 26.406-.413-20.385-4.292-39.918-13.815-57.406-8.91-16.364-22.303-27.454-37.628-34.494l.002-.002c-14.2-7.48-36.045-11.835-57.625-9.695zm-3.39 60.957c.743 10.735 3.627 21.485 9.283 31.87 12.423 22.812 32.96 39.463 56.815 52.54l-.002.006c20.21 10.896 23.6 11.366 44.373 19.584l.01.004c29.57 9.695 57.504 16.927 84.567 21.885 14.18-19.153 15.862-23.037 24.42-38.434-34.93-5.817-72.66-14.643-103.123-26.27-24.107-9.222-33.5-15.21-46.285-24.225-10.895-9.673-22.79-18.91-26.78-32.147-13.554-2.775-29.795-5.5-43.28-4.814zm302.078 96.67c-9.334 19.797-11.152 25.408-20.2 40.623 21.918 1.843 35.99 2.283 35.99 2.283 11.698.5 21.547-8.664 21.89-20.37.342-11.704-8.954-21.428-20.662-21.613 0 0-6.613-.25-17.018-.923zm-240.033 5.99c-5.348 21.46-12.844 43.655-21.297 64.732-5.088 12.688-10.427 24.798-15.71 36.2-8.94 20.01-10.283 24.81-22.512 45.296-9.815 18.414-16.83 30.11-16.83 30.11-6.24 9.934-3.132 23.053 6.902 29.132 10.033 6.08 23.1 2.76 29.017-7.37 19.563-33.868 34.868-62.688 50.352-99.25 2.783-6.35 5.547-12.967 7.764-18.485 8.118-20.244 15.652-41.69 21.464-63.343-17.052-6.69-22.696-8.36-39.15-17.023z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PreviousButton;

impl IconShape for PreviousButton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M427.6 106c15.6.1 27.7 13.8 25.7 29.3-16 124-16 117.4 0 241.4 2.5 19.8-17.4 35-35.8 27.3l-267-111.1v98.8c0 7.9-8.9 14.2-20 14.3H78.49c-11.1-.1-20-6.4-20-14.3V120.2c.1-7.8 9-14.1 20-14.2h52.01c11 .1 19.9 6.4 20 14.2v98.9l267-111.1c3.2-1.3 6.6-2 10.1-2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PriceTag;

impl IconShape for PriceTag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.297 42.269c-1.54.025-3.033.077-4.476.158-11.55.649-19.422 3.475-22.47 6.438L18.923 299.087 184.807 469.75l257.43-250.222c3.047-2.963 6.096-10.75 7.072-22.278.976-11.527.207-26.288-1.645-42.248-1.605-13.84-3.991-28.476-6.597-42.96-12.99 9.51-28.1 16.583-48.25 20.222a40 40 0 0 1-11.38 36.191 40 40 0 0 1-56.562-.802 40 40 0 0 1 .803-56.563 40 40 0 0 1 29.031-11.3 40 40 0 0 1 27.532 12.103 40 40 0 0 1 2.998 3.5c24.115-3.229 38.245-11.132 52.109-23.326-1.891-9.87-3.776-19.475-5.47-28.424-27.556-6.032-61.042-14.049-90.872-18.371-11.925-1.728-23.195-2.83-32.957-2.998-1.627-.028-3.212-.03-4.752-.004zm159.469 34.836c-3.39.175-6.773 1.444-9.342 3.283a2734.251 2734.251 0 0 1 3.7 19.365l5.326-3.707c.268.372.45.517.765 1.106 2.648 4.937 5.797 16.02 7.912 30.437 4.231 28.833 5.344 71.6 1.848 116.16-3.496 44.56-11.623 91.069-25.262 127.625-13.639 36.557-32.614 61.986-55.453 68.49-8.264 2.354-12.21.983-16.803-3.57-4.593-4.552-9.035-13.679-12.054-26.199-5.115-21.207-6.457-51.417-5.526-83.469l-18.336 17.824c-.067 25.974 1.633 50.248 6.364 69.864 3.443 14.277 8.383 26.341 16.882 34.765 8.5 8.424 21.359 11.814 34.405 8.098 31.734-9.038 52.827-40.494 67.384-79.512 14.558-39.017 22.756-86.771 26.344-132.508 3.589-45.736 2.547-89.302-1.984-120.181-2.266-15.44-5.15-27.556-9.858-36.332-2.353-4.388-5.217-8.459-10.513-10.627-1.324-.542-2.736-.832-4.174-.91-.54-.03-1.082-.03-1.625-.002zM293.1 187.796l12.549 12.906-29.38 28.563c6.195 6.952 11.437 14.253 15.71 21.908 5.1 9.1 8.755 18.47 10.96 28.12l-16.91 16.212c-.948-10.96-3.498-21.125-7.652-30.496-4.154-9.37-9.91-17.894-17.27-25.57-14.505-15.131-29.423-22.66-44.751-22.59-15.276.126-30.857 7.804-46.744 23.035-15.835 15.181-24.137 30.4-24.907 45.656-.716 15.312 6.178 30.534 20.684 45.664 5.665 5.91 11.193 10.73 16.584 14.463 5.443 3.684 10.96 6.396 16.553 8.135l31.539-30.236-26.205-27.336 13.054-12.516 42.09 43.9-50.416 48.335c-10.546-2.29-20.679-6.247-30.398-11.872-8.672-5.09-16.86-11.463-24.569-19.097l-25.826 24.635-12.424-13.026 26.303-25.088c-12.28-16.036-18.338-32.69-18.164-49.963.32-21.183 10.05-40.95 29.188-59.298 18.59-17.824 38.09-26.72 58.498-26.692.658.001 1.316.012 1.976.031 17.69.524 34.44 7.564 50.254 21.069z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrimitiveNecklace;

impl IconShape for PrimitiveNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.9 28.1c-20.7.1-41 3.02-60.1 9.42C144.3 60.96 107.5 136.6 88.83 198.9c-3.22 10.8-6.18 22.5-8.36 34.5 1.97-.1 3.92-.1 5.83 0 4.29.3 8.3 1.4 11.95 3 2.05-11.2 4.85-22.1 7.85-32.3 17.8-59.9 53.4-129.28 113.5-149.52 16.8-5.68 35.3-8.23 54.4-8.12 23.5.12 47.8 4.28 71 11.55 0 .14 0 .28-.1.42-5.1.84-11.3 1.94-17.9 3.4-17.4 3.84-37.5 9.26-50.4 20.72-12.6 11.21-20.1 29.95-25.8 46.35-5.6 16.3-8.8 30.4-8.8 30.4l17.6 4s2.9-13.2 8.3-28.5c5.3-15.3 13.7-32.6 20.7-38.81 7.3-6.49 26-13 42.3-16.6 6.1-1.34 11.8-2.38 16.7-3.16 1.8 3.09 4.4 5.76 7.3 7.86 6.1 4.48 13.9 6.9 22.4 6.9 1.3 0 2.6-.1 3.8-.18.8 2.01 1.6 4.09 2.3 6.29 3.9 11.8 5.9 26.2 4.1 31.3v.1c-2 5.8-13.2 16.4-24.3 23.8-11.1 7.4-21.4 12.4-21.4 12.4l7.8 16.2s11.3-5.4 23.6-13.6c12.2-8.2 26.2-18.3 31.3-33 4.9-14.1.3-29.6-4-42.83-.8-2.23-1.5-4.36-2.2-6.38.4-.32.9-.65 1.4-1 .5-.37 1-.76 1.5-1.16 11.5 6.88 22.2 14.54 31.5 22.77 30.1 26.6 45.8 74.7 36.3 111.4-15.6 59.6-71.4 117-134.6 143.5.6.7 1.2 1.4 1.7 2.1 2.9 4 5.1 8.7 6.3 14.1 68.1-28.5 126.7-88.7 144-155.1 11.7-44.7-6.2-98-41.7-129.44-10.3-9.13-21.9-17.55-34.4-25.1.1-.92.2-1.86.2-2.82 0-3.87-1-7.48-2.8-10.69 1.3-.34 2.6-.63 4-.87 12-2.07 27.9.19 46.5 8.96l7.6-16.28c-15.7-7.45-30.6-11.21-44.1-11.41-4.5-.1-8.9.27-13.1.99-5.8 1.01-11.3 2.86-16.3 5.45-4.6-1.84-9.6-2.8-15-2.8-7.2 0-13.9 1.74-19.5 5-27.1-9.35-55.8-14.66-83.9-14.59zM83.05 251.3c-4.72.1-10.6 1.9-17.86 7-16.24 11.3-31.61 33.7-43.15 54 13.06-3.9 27.43-7.9 40.83-12.3 10.71-3.4 20.64-7 28.09-10.6 7.45-3.6 12.14-7.7 12.64-8.8h.1c2.1-3.8.5-16.2-6.27-23.2-3.37-3.5-7.4-5.7-12.42-6-.63-.1-1.28-.1-1.95-.1zm16.16 54.1c-.14.1-.28.1-.42.2-4.93 2.4-10.43 4.6-16.25 6.7 2.03 6.3 4.66 12.4 7.99 18.1 2.99-3.3 6.43-6.3 10.17-8.8 1.3-.9 2.7-1.8 4.1-2.6-2.3-4.3-4.1-8.8-5.59-13.6zM126 330.9c-4.3.1-9.9 1.9-15.1 5.5-6.8 4.7-11.93 12.1-12.74 17.1-.35 2.3.92 7 3.94 10.9 3 3.9 7.2 6.2 9.4 6.4 1.4.1 3-.2 4.6-.8 1.1-3.1 2.1-5.9 3-8.3 3.5-8.8 8.7-15.8 14.8-20.9-.1-1.4-.3-2.7-.7-3.9-1.1-3.7-2.7-5.2-3.4-5.5-1.1-.3-2.4-.5-3.8-.5zm39.9 16.9c-5.3 0-10.6 1.1-15.2 3.4-6.1 3-11.3 8.1-14.8 17.1-5 12.6-13.3 42.2-17.2 70.6-2 14.2-2.8 28.3-1.9 39.7.2 1.9.5 3.6.8 5.3 10.3-21.4 26-42.8 40.5-62.4 6.7-9.1 13.2-17.9 18.8-25.9 0-2.8.2-5.6.6-8.3 1.6-11.3 6.3-22.3 14.4-30.1-.8-.7-1.6-1.6-2.8-2.4-4.1-3.1-10.8-5.8-17.8-6.7-1.8-.2-3.6-.3-5.4-.3zM303.4 365c-3.5 0-6.8.6-9.2 1.6-3.6 1.5-4.9 3.2-5.3 4.9.1 0 0 1.9.2 4.1.3 2.6.8 6.1 1.4 10.2 1.3 8.2 3.2 18.8 5.2 30.1 2.3 12.6 4.7 25.6 6.8 38 10.1-19.9 20-41.9 22.7-60.8 1.3-9.7-.6-15.6-3.6-19.7s-7.6-6.7-12.8-7.8c-1.3-.3-2.6-.5-3.9-.6h-1.5zm-14.5 6.5v0zm-74.4-4.7c-4-.1-7.8 1.3-9.4 2.7-4.4 3.8-8.6 12.2-9.8 20.4-1.2 8.3.6 15.6 3.9 19 2.1 2.1 7.7 3.7 14 2.9 6.4-.9 12.6-4.2 15-7.1 2.8-3.6 4.4-10.4 3.5-17.6-.9-7.1-4.2-14-7.8-17.3h-.1c-1.5-1.5-5.3-2.9-9.3-3zm56.6 9.5c-7.5.8-15.2 1.2-22.9 1.3.6 2.4 1.1 4.9 1.4 7.3.4 3.7.5 7.5.2 11.2 8-.2 16-.8 23.8-1.7-.3-2-.6-4-.9-5.8-.7-4.3-1.2-8.1-1.5-11.2 0-.4-.1-.7-.1-1.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrimitiveTorch;

impl IconShape for PrimitiveTorch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.3 19.77s-23 22.66-23 37.26c0 17.83 28.3 45.47 28.3 45.47-13.7-28.35-15.3-55.08-5.3-82.73zm148.9 5.45s3.6 25.13 1.7 37.5c-1.4 8.92-9.2 25.46-9.2 25.46s32.5-14.23 34-29.07c1.4-14.27-26.5-33.89-26.5-33.89zM360 37.91c-.1 7.08-.9 14.2-2.3 21.03-3.5 15.82-9.8 30.33-21.2 38.64-8.2 6.02-20.4 8.32-32.4 3.02-9.2-4.11-18.9-11.68-30.3-23.75-1.3 9.87-.3 21.82 6.9 34.85l12.2 22.1-23.5-9.5c-14.1-5.7-25-17.6-36.1-31.27-.5 19.87-.4 41.27 3.3 60.27 5.3 27 16.3 47.8 43.7 56.2-6.1-10.9-6.2-23.3.8-37 20.4 24.8 24.4 2.8 33.2-1.6 5.8-2.9 9.5-15.9 5.7-42.3 7.5 13.3 15.6 32 29.5 35.4 18.6 4.6 32.8-13.6 46.5-34.8 0 0-7.1 32 0 43.2 3.1 4.9 5.8 8.4 22.9 7.9-15.8 18.8-30.8 30.3-59.1 43.4 52-2.8 98-37.7 125.6-72.1-13.1 3.5-21.4 4.3-34.5 3.8l-23.1-.8 17.6-15c11.7-10.1 19.7-29.9 23.4-50.6 2.3-12.57 2.9-25.22 2.6-36.09-7.5 7.42-15.8 15.46-24.9 23.68-15.3 13.73-31.3 26.81-46.2 33.51l-9.8 4.4-2.6-10.4c-5.7-23.11-14.1-48.17-27.9-66.19zM276.3 227.3c-6.2 4.7-13.1 10.1-20.6 16.2-25.8 20.8-58.2 48.3-90.7 76.6-32.4 28.3-65 57.4-90.93 81.5-22.42 20.9-39.68 38-47.45 46.8l26.85-9.8-24.8 20c1.4 2.4 3.28 4.8 5.95 7.6 1.61 1.6 3.61 3.5 5.96 5.4l86.62-68-20.1 22.5-51.2 57.1c3.93 2.8 8.24 5.8 13.03 9C154 408.6 240.2 325 332.3 241.3c-9.2-.5-17.3-1.5-25.5-3.4l-56.6 45.3 41-50c-4.7-1.6-9.6-3.6-14.9-5.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Prism;

impl IconShape for Prism {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.6 14.53c6.3 31.6 8.8 64.1-45.8 78.2 34.3-9.8 71-8.8 78.2 45.67-.9-29.8-25.6-65.17 45.6-78.07-36.6 5.8-69.6-.1-78-45.8zM457.3 18L334.6 161.2 343 178l34.2-39.4-9.4 31.7 61.4-45.3-47.8 56.4 55.8-18.8-42.4 41.2 80.6-6.7-75.7 55.8 72 24.4-53.4 5.1 48.1 20-41.8-3.3 32.1 24.3-51-20.1 15.4 31 72.9 48.5V18zM256 43.88L153.2 249.5l-62.74 34.8-58.97 2.8c11.23 5.2 19.12 10.6 24.75 16.2l-44.61 24.8 8.74 15.8 46.07-25.6c3.99 9.5 4.36 19.1 5.55 28.4l31.21-48.8L139 278 49.44 457H462.6zm0 40.25l51.6 103.17-129 51.6zm59.7 119.37l35.7 71.5.7 1.4-158.2-24.3zm-150.6 62.4L362 296.2 433.4 439H78.56zm-16 75.9s-47.2 80.2-45.2 83.5c2.3 3.8 67.5.9 97.2-3.3-53.8-3.1-76.1-38.1-52-80.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Prisoner;

impl IconShape for Prisoner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16 18v476h32V18zm144 0v279.883c5.308-1.866 10.97-2.883 16.885-2.883 5.262 0 10.323.812 15.115 2.303V18zm160 0v279.594c5.053-1.674 10.41-2.594 16-2.594s10.947.92 16 2.594V18zm144 0v476h32V18zM256 62.074c-17.06 0-33 9.87-45.242 27.46-.26.37-.504.764-.758 1.142v138.646c.254.378.5.772.758 1.143C223 248.053 238.94 257.925 256 257.925c17.06 0 33-9.872 45.242-27.46.26-.37.504-.765.758-1.143V90.676c-.254-.378-.5-.772-.758-1.143C289 71.945 273.06 62.073 256 62.073zM256 265c-17.772 0-32.922 2.757-46 7.697v34.387c14.584 11.926 23.885 31.442 23.885 52.916 0 21.474-9.3 40.99-23.885 52.916V494h92v-81.814c-14.076-11.984-23-31.147-23-52.186 0-21.04 8.924-40.202 23-52.186V272.65c-13.078-4.91-28.23-7.65-46-7.65zm-79.115 48c-20.835 0-39 20.24-39 47s18.165 47 39 47c16.12 0 30.634-12.123 36.38-30H176v-18h39.863c-.084-4.926-.78-9.62-2-14H176v-18h28.63c-7.182-8.72-17.112-14-27.745-14zM336 313c-10.633 0-20.563 5.28-27.746 14H336v18h-36.98c-1.217 4.38-1.914 9.074-2 14H336v18h-36.38c5.746 17.877 20.26 30 36.38 30 20.835 0 39-20.24 39-47s-18.165-47-39-47zm-207.094 82.04c-6.388 34.67-7.555 70.32-7.775 98.96H142v-82.584c-5.156-4.57-9.582-10.12-13.094-16.377zm254.492 1.036c-3.618 6.187-8.152 11.644-13.398 16.11V494h20.875c-.2-28.3-1.29-63.54-7.477-97.924zM160 422.116V494h32v-71.303c-4.792 1.49-9.853 2.303-15.115 2.303-5.915 0-11.577-1.017-16.885-2.883zm160 .29V494h32v-71.594c-5.053 1.674-10.41 2.594-16 2.594s-10.947-.92-16-2.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Private;

impl IconShape for Private {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.977 147.306C285.345 194.92 349.612 272.93 406 311.866v52.592c-52.596-39.175-105.228-92.47-140.56-145.47l-9.44-14.16-9.44 14.16c-35.446 53.17-87.448 106.787-140.56 145.706v-52.89c55.382-38.943 120.38-116.82 149.977-164.498z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrivateFirstClass;

impl IconShape for PrivateFirstClass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.977 121.95C226.38 169.626 161.382 247.503 106 286.446v52.48c38 29.073 86 51.098 150 51.124 64 .027 112-22.05 150-51.124V286.51c-56.388-38.936-120.655-116.947-150.023-164.56zm.023 57.523l9.44 14.158c27.838 41.76 66.42 83.7 107.26 118.774-46.064 25.842-81.895 37.647-116.7 37.647-34.718 0-70.455-11.744-116.352-37.45 40.87-35.015 79.02-77.128 106.913-118.97l9.44-14.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Progression;

impl IconShape for Progression {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M463 20.3L315.6 75.65 368.5 109C274 228 137.3 301.3 21.8 329.2l32.72 59.6C184.3 346.5 321.7 270.2 410.2 135.4l40.3 25.4L463 20.3zm7.7 116.7l-4.8 54.8-51.3-32.4c-1.8 2.7-3.7 5.3-5.6 8V487h78V137h-16.3zM320.1 265c-12.7 11-25.8 21.4-39.1 31.2V487h78V265h-38.9zm-123.7 84c-14.4 7.6-28.8 14.6-43.4 21.2V487h78V349h-34.6zM25 393v94h78v-94h-5.68c-14.82 5.5-29.63 10.6-44.35 15.3l-7.06 2.2-9.6-17.5H25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PropellerBeanie;

impl IconShape for PropellerBeanie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.535 35.646c-23.904-.059-47.406 3.048-68.2 7.905a18.066 18.066 0 0 1 1.42 7.017c0 1.449-.182 2.827-.491 4.149 44.688 8.367 93.798 14.744 130.367 7.888 3.125-.585 4.278-1.71 4.945-2.8.667-1.091.994-2.57.342-4.842-1.305-4.543-7.388-11.923-22.3-14.918-15.011-3.015-30.6-4.36-46.083-4.399zM113.32 42.678c-20.836-.02-40.524 1.83-57.199 6.681-2.89.841-4.088 2.118-4.904 3.858-.816 1.74-1.076 4.233-.158 7.174 1.836 5.881 8.366 13.378 23.129 15.59 40.349 6.044 83.975-1.703 118.537-14.391-2.241-3.12-3.668-6.8-3.668-11.022 0-.59.032-1.17.086-1.74-21.796-3.015-44.584-5.473-66.829-6.031a372.548 372.548 0 0 0-8.994-.12zm114.586.736c-6.926 0-13.106 1.635-16.822 3.647-3.716 2.01-4.027 3.54-4.027 3.507 0-.033.31 1.495 4.027 3.506 3.716 2.011 9.896 3.647 16.822 3.647 6.927 0 13.108-1.636 16.824-3.647 3.717-2.011 4.026-3.539 4.026-3.506 0 .034-.31-1.496-4.026-3.507-3.716-2.012-9.897-3.647-16.824-3.647zm-9.351 31.617V122.8c2.157-.062 4.31-.097 6.449-.086 2.108-.086 4.194-.13 6.266-.147l.056-.271c.406.084.81.188 1.215.277 1.342-.002 2.686-.008 4.014.018V75.127c-2.792.38-5.674.594-8.649.594-3.224 0-6.345-.244-9.351-.69zm11.841 65.533l-.685.012c-50.239 59.006-48.933 142.418-21.82 222.791 34.727-7.601 70.359-12.709 102.683-14.974 18.393-1.29 35.538-1.772 50.957-1.202-.627-42.98-16.986-90.566-41.396-129.253-25.121-39.815-58.816-69.685-89.739-77.374zm-25.826 3.272c-11.678 2.616-23.135 10.158-34.12 21.934-13.789 14.779-26.309 35.889-36.282 59.384-19.687 46.382-29.235 102.435-24.336 135.903 16.432 5.315 36.595 9.462 57.326 12.533a640.07 640.07 0 0 1 23.115-6.13c-25.71-77.32-29.186-160.2 14.297-223.624zm79.668 5.195c19.03 15.395 36.418 35.998 51.121 59.301 26.274 41.64 43.908 92.361 44.186 140.106 9.116.972 17.402 2.442 24.701 4.496-1.456-42.26-13.892-94.37-40.058-135.998-19.228-30.59-45.217-55.514-79.95-67.905zm-128.586 6.266c-14.303 6.6-27.778 15.579-39.578 27.26-30.095 29.791-50.192 77.365-45.24 150.716.261 3.87 2.15 7.506 6.809 11.682 3.224 2.891 7.748 5.797 13.253 8.549-2.874-38.641 7.59-90.354 26.704-135.383 10.195-24.018 22.906-46.023 38.052-62.824zm188.08 209.885c-10.063.011-20.783.387-31.9 1.166-39.71 2.783-85.058 10.045-126.83 21 13.884 29.181 34.32 60.814 82.338 86.914l.14.076.135.08c.946.558 6.745 2.463 14.567 3.584 7.821 1.12 17.958 1.914 29.427 2.322 22.94.818 51.264.124 78.399-2.058 27.134-2.183 53.198-5.909 71.185-10.825 8.994-2.457 15.986-5.343 19.522-7.693 1.37-.91 1.727-1.416 2.053-1.803-14.925-30.08-34.237-54.162-65.21-80.252l-7.988-3.841c-11.36-5.463-35.646-8.705-65.838-8.67z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ProtectionGlasses;

impl IconShape for ProtectionGlasses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 146.572c-30.972 0-61.944 1.244-92.914 3.703H160c-.032.082-.063.165-.096.246-14.258 1.173-28.514 2.617-42.77 4.31l-1.144-.576c-.127.252-.248.504-.375.756-17.696 2.124-35.39 4.635-53.084 7.562l-5.47.907-1.652 5.29c-.28.9-.546 1.787-.82 2.68H44l-16 63.532h12.73c-3.66 34.972.71 68.132 14.764 108.82l1.28 3.712 3.593 1.584c49.352 21.772 85.914 21.772 135.266 0 22.288-9.833 32.994-28.193 40.834-42.016 3.92-6.912 7.306-12.758 10.426-16.182 3.12-3.424 5.045-4.566 9.107-4.566 4.062 0 5.988 1.142 9.107 4.566 3.12 3.424 6.506 9.27 10.426 16.182 7.84 13.823 18.546 32.183 40.834 42.016 49.352 21.772 85.914 21.772 135.266 0l4.02-1.774 1.074-4.262c10.202-40.51 13.986-73.303 11.363-108.08H484l-16-63.53h-10.732c-.182-.735-.355-1.46-.54-2.198l-1.44-5.72-5.82-.962c-64.476-10.667-128.972-16-193.468-16zm0 17.994c61.532 0 123.064 5.042 184.613 14.91 13.912 57.71 13.82 96.77-.332 154.81-44.11 18.726-71.428 18.292-116.647-1.657-16.75-7.39-24.71-20.793-32.444-34.43-3.868-6.817-7.495-13.626-12.776-19.423-5.28-5.796-13.143-10.443-22.414-10.443-9.27 0-17.133 4.647-22.414 10.443-5.28 5.797-8.908 12.606-12.775 19.424-7.733 13.637-15.694 27.04-32.443 34.43-4.22 1.86-8.285 3.552-12.222 5.075 2.756-60.648 18.325-117.63 41.37-172.47 12.83-.437 25.657-.67 38.485-.67zm-103.186 4.688C132.49 225.61 119.91 285.04 113.457 346.902c-7.824-1.118-15.866-3.12-24.453-6 1.81-59.094 13.318-115.636 38.453-169.074 8.452-.95 16.906-1.81 25.357-2.574zm-46.26 5.11C84.318 225.3 73.588 278.795 71.25 333.905c-19.358-57.964-17.74-96.353-.22-154.38 11.842-1.9 23.683-3.62 35.523-5.163z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PschentDoubleCrown;

impl IconShape for PschentDoubleCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.69 19.912c-6.093-.07-12.672 2.355-19.487 8.918-13.955 13.438-11.8 30.596.322 50.625 8.927 14.75 21.834 28.183 36.313 53.19 7.627 13.173 13.197 28.708 17.406 45.058 40.118 44.244 104.293 83.05 184.918 59.488-50.805-59.662-115.66-97.425-141.174-121.254-18.14-21.632-37.846-65.984-45.31-73.985-5.025-5.385-17.418-21.86-32.99-22.038zm267.005 7.424c-13.682-.276-24.35 5.06-30.693 12.77-8.46 10.28-10.398 22.213-8.68 31.43 2.174 11.658 10.476 20.358 19.948 25.364 9.47 5.007 21.828 6.84 31.277-.693 7.04-5.613 11.01-13.694 10.46-21.77-.54-7.898-5.75-15.27-13.443-18.845l-.15-.1c-7.648-4.752-16.94-3.626-20.758 2.516-3.816 6.14-.71 14.972 6.938 19.724 2.313 1.438 4.88 2.386 7.463 2.76-.473.535-1.03 1.082-1.73 1.64-1.77 1.412-6.29 1.684-11.645-1.146-5.355-2.83-9.825-8.245-10.664-12.75-.46-2.458.612-11.5 4.884-16.693 4.273-5.193 10.58-9.11 26.557-4.613 10.997 3.095 28.715 23.77 24.06 58.166-6.794 50.195-33.538 86.053-65.745 119.904 5.29 5.565 5.373 5.397 15.08 15.592 31.685-34.023 61.314-79.974 68.502-133.082 5.57-41.144-13.483-71.284-37.023-77.908-5.182-1.46-10.078-2.174-14.64-2.266zM65.332 35.074L45.666 45.61c48.202 163.613 119.8 312.83 216.695 446.478l38.253-37.018c-14.354-18.047-34.924-49.103-20.992-63.082 13.933-13.978 35.72-2.677 48.015 24.823l77.625-48.83c-10.245-36.823-15.168-73.81-18.133-113.94-85.243 26.127-201.94 29.903-321.795-218.966z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pterodactylus;

impl IconShape for Pterodactylus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.078 81.106a72.32 72.32 0 0 0-4.875.144c20.211 18.922 90.405 54.51 115.96 67.815.566 6.98 4.585 13.445 9.626 18.35a40.955 40.955 0 0 0 8.951 5.618 36.729 36.729 0 0 0 11.121 3.114c39.043-7.876 79.358-20.672 91.674-40.938-26.172 7.951-64.972 20.712-76.94 11.75 10.764-11.26 66.873-25.417 99.874-34.89-33.286-5.368-67.09-3.996-94.844 1.15-8.986-11.726-37.958-6.492-40.58 1.076-43.533-21.561-93.918-33.137-119.967-33.19zm-72.002 4.12a62.517 62.517 0 0 0-2.113.007C83.334 85.964 42.866 120.307 21 172.24c62.03-24.275 107.601-13.472 127.008 50.608 17.565 58.001 20.151 72.474 37.605 90.674 5.596-.823 11.045-1.271 16.336-1.319 11.296-.1 21.9 1.556 31.834 4.932 7.502 2.55 14.56 6.053 21.232 10.4 31.198-13.47 51.025-65.112 51.586-64.447.517.613-8.556 52.854-37.365 75.49.694.628 1.386 1.26 2.07 1.908 37.534-5.482 46.148-27.539 95.938-46.64 36.044-13.828 90.576 8.131 117.07 57.414 8.86-21.59 19.38-105.537-44.095-138.588-55.477 20.318-92.092 27.083-131.909 29.553-2.828-10.308 10.185-38.304 16.522-49.948a58.814 58.814 0 0 1-26.553-16.79c-13.189 17.134-43.243 50.162-56.353 48.34-40.633-18.251-60.322-49.021-60.93-100.151-15.404-26.37-36.115-38.139-57.92-38.45zm78.957 244.932a94.728 94.728 0 0 0-7.232.352c-7.85 12.626-21.201 21.432-33.524 33.387-13.017 2.469-28.692-4.616-43.332-7.98 5.554 7.889 16.231 17.695 31.723 18.233-10.327 5.87-21.318 10.866-34.403 13.102 14.893 3.369 27.772 5.36 39.61-2.998l-11.053 24.88c6.803-2.052 13.433-5.372 19.47-12.95 7.79 3.006 17.858 4.384 28.475.095-7.337 9.633-15.61 18.732-26.834 26.147 14.966-2.992 27.568-6.43 35.375-18.973l-.963 27.442c8.26-7.014 15.099-16.496 15.489-37.17 18.54-12.41 30.418-29.978 39.662-44.164-4.779-4.05-9.7-7.476-14.82-10.256-10.114 15.388-21.978 32.425-39.512 42.344l.135.238-.78-.412c-8.367 6.232-20.49 7.628-32.45 9.23 2.213-3.659 4.332-8.02 6.323-13.293l-.062-.078c12.52-11.941 32.194-23.737 41.455-46.32a82.068 82.068 0 0 0-12.752-.856z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PublicSpeaker;

impl IconShape for PublicSpeaker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 33c-20.835 0-39 20.24-39 47s18.165 47 39 47 39-20.24 39-47-18.165-47-39-47zM110.258 54.934l-16.99 8.496c14.917 22.147 32.213 47.013 49.76 68.947 19.707 24.634 39.95 45.048 52.997 51.572l4.975 2.488v39.478c27.13 3.608 46.516 4.982 67.875 4.09-.66-.49-1.316-.98-1.95-1.48-4.915-3.88-9.18-8.206-12.5-12.856-5.87-.587-10.577-4.374-13.392-8.65-3.063-4.65-4.57-10.242-4.57-16.262s1.507-11.612 4.57-16.264c3.064-4.65 8.364-8.736 14.967-8.736s11.903 4.085 14.967 8.736c3.063 4.652 4.57 10.244 4.57 16.264s-1.507 11.612-4.57 16.263c-.06.094-.13.185-.192.277 1.92 2.358 4.335 4.758 7.303 7.1 6.283 4.962 14.722 9.46 24.75 12.66 2.65-.324 5.366-.67 8.172-1.04v-39.58l4.975-2.488c13.048-6.525 33.29-26.94 52.998-51.573 17.546-21.934 34.842-46.8 49.76-68.947l-16.99-8.496C355.066 101.422 307.792 145 256 145c-51.792 0-99.067-43.578-145.742-90.066zm29.094 179.93l12.152 60.763c101.057 9.362 107.935 9.362 208.992 0l12.147-60.734c-110.08 17.448-123.22 17.163-233.29-.03zm39.244 81.335l13.35 106.8h128.11l13.348-106.8c-67.76 6.032-87.047 6.032-154.808 0zM137 441v20h238v-20H137zM16 478v18h480v-18H16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pull;

impl IconShape for Pull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93.773 44.664L68.55 57.39l37.313 81.938-12.09-94.664zm90.24 22.76L143.274 150.3l65.317-63.21-24.58-19.666zM18.16 125.832l10.63 26.8 45.698 5.903-56.328-32.703zm91.897 27.463c-3.665.025-7.122.8-10.256 2.295-17.278 8.244-21.157 36.154-8.663 62.34 6.016 12.59 15.09 23.08 25.218 29.158-10.305 83.743 29.287 137.784 91.366 163.535-6.917 35.032-33.276 60.587-61.855 84.023l93.987 2.895-9.897-9.165-42.893-7.88c33.39-22.314 45.968-38.168 56.854-71.397-5.27-10.354-18.877-24.948-25.432-35.895 19.945 2.308 49.183 5.725 53.745 10.135 3.78 9.84 21.27 31.79 27.754 59.832l6.336 20.523 49.205-46.476-2.654-10.328-39.57 26.59c.868-28.203-11.48-65.273-22.79-77.613 0 0-28.852-17.656-78.207-24.197-23.798-16.76-36.016-42.392-45.87-60.483l51.965 3.803 80.844-9.424s2.82 2.165 6.457 4.72c5.99 9.605 16.65 16.048 28.718 16.048 15.646 0 28.932-10.82 32.732-25.334H486v-18H366.857c-4.145-13.994-17.165-24.31-32.44-24.31-10.23 0-19.447 4.632-25.667 11.894-1.853-.17-3.7-.344-5.45-.605l-9.023 13.026-75.072 6.48-63.6-9c7.833-12.96 7.088-33.54-1.896-52.412-9.92-20.788-27.617-34.888-43.653-34.78zm224.36 83.394c8.846 0 15.825 6.976 15.825 15.822 0 8.845-6.98 15.822-15.824 15.822-2.576 0-4.986-.606-7.12-1.664 2.146-10.544-.162-23.4-1.073-27.73a15.89 15.89 0 0 1 8.193-2.25zM384 384l-32 112h128V384h-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PulleyHook;

impl IconShape for PulleyHook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v26.697C50.28 79.223 86.162 119.62 121.27 154.73c7.474 7.472 14.906 14.672 22.29 21.577.626-15.512 2.587-30.3 6.32-43.92-1.05-1.043-2.097-2.06-3.15-3.116C112.02 94.566 75.78 53.63 42.343 18H18zm451.656 0C436.22 53.63 399.978 94.565 365.27 129.27c-1.053 1.056-2.1 2.074-3.15 3.117 3.733 13.62 5.694 28.408 6.32 43.92 7.384-6.905 14.815-14.105 22.29-21.578C425.837 119.62 461.72 79.222 494 44.696V18h-24.344zM256 73c-37.004 0-59.39 12.048-73.865 31.926-14.475 19.878-20.815 48.9-20.815 82.76 0 32.733 12.526 74.317 31.2 106.765 18.674 32.45 43.356 54.31 63.48 54.31 20.124 0 44.806-21.86 63.48-54.31 18.674-32.447 31.2-74.03 31.2-106.762 0-33.86-6.34-62.884-20.815-82.762C315.39 85.048 293.005 73 256 73zm0 33.84c28.723 0 52.2 23.476 52.2 52.2 0 28.722-23.477 52.2-52.2 52.2-28.723 0-52.2-23.478-52.2-52.2 0-28.724 23.477-52.2 52.2-52.2zm0 18c-18.995 0-34.2 15.204-34.2 34.2 0 18.994 15.205 34.2 34.2 34.2 18.995 0 34.2-15.206 34.2-34.2 0-18.996-15.205-34.2-34.2-34.2zm0 163.8a17.28 17.28 0 0 1 17.28 17.28A17.28 17.28 0 0 1 256 323.2a17.28 17.28 0 0 1-17.28-17.28A17.28 17.28 0 0 1 256 288.64zm-21.295 73.817c-1.627 12.586 15.293 28.578 23.174 34.924 13.667 11.006 17.264 17.432 17.57 28.745-1.237 20.46-24.713 30.12-40.116 22.61-10.508-4.9-14.115-13.667-18.064-26.34-2.847-9.13-8.66-17.694-16.848-23.45-6.236-4.133-14.468-11.77-21.254-5.674-4.812 8.384 5.022 12.23 9.338 21.86.937 5.91.795 9.66.865 13.84.095 16.42 7.29 59.422 66.314 60.977 35.535.936 64.83-31.247 66.322-62.418.21-4.415 1.247-47.05-44.97-64.967-6.754 2.702-13.774 4.197-21.036 4.197-7.355 0-14.46-1.534-21.295-4.303z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pumpkin;

impl IconShape for Pumpkin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M293.5 25.08c-19.9 21.16-44 43.18-75.6 51.3 9.6 13.18 16.6 28.02 22.6 40.22 4.7-.8 9.4-1.3 14.2-1.3 1.8 0 3.6.1 5.4.2-4.6-8.7-7.1-17.98-8.3-25.81l-.7-4.73 3.5-3.23c15.3-14.1 36.1-22.27 57.8-30.82-8.1-8.47-14.2-17.16-18.9-25.83zM254.7 133.3c-27.1 0-52.6 18.2-71.9 50.1-19.3 31.9-31.7 76.9-31.7 126.7s12.4 94.8 31.7 126.7c19.3 31.9 44.8 50.1 71.9 50.1 27.1 0 52.6-18.2 71.9-50.1 19.3-31.9 31.7-76.9 31.7-126.7s-12.4-94.8-31.7-126.7c-19.3-31.9-44.8-50.1-71.9-50.1zm-98.5 12.1c-18.1 0-36.8 16-51.2 45.9-14.42 29.8-23.69 72.2-23.69 119.1 0 46.9 9.27 89.3 23.69 119.1 14.4 29.9 33.1 45.9 51.2 45.9 8.3 0 16.8-3.4 24.9-9.9-4.9-6-9.5-12.5-13.7-19.4-21.4-35.3-34.3-83.2-34.3-136s12.9-100.7 34.3-136c4.1-6.8 8.6-13.2 13.4-19-8-6.4-16.4-9.7-24.6-9.7zm205.4 2.4c-9.6 0-19.3 4.5-28.5 13.1 3.1 4.2 6.1 8.6 8.9 13.2 21.4 35.3 34.3 83.2 34.3 136s-12.9 100.7-34.3 136c-3.5 5.8-7.2 11.2-11.2 16.3 9.8 10.1 20.4 15.4 30.8 15.4 18.1 0 36.8-16 51.2-45.9 14.4-29.8 23.7-72.2 23.7-119.1 0-46.9-9.3-89.3-23.7-119.1-14.4-29.9-33.1-45.9-51.2-45.9zm-267.77.9c-17.89 0-36.02 14.8-50.05 42.4-14.02 27.6-23.07 66.8-23.07 110.2 0 43.4 9.05 82.6 23.07 110.2 14.03 27.6 32.16 42.4 50.05 42.4 1.32 0 2.63-.1 3.95-.3-3.22-5-6.23-10.5-9.01-16.3-15.96-33.1-25.46-77.7-25.46-126.9s9.5-93.8 25.46-126.9c5.76-12 12.53-22.6 20.13-31.3-5-2.3-10.06-3.5-15.07-3.5zm324.37 1.5c-3.8 0-7.6.7-11.4 2 8.5 9.1 15.9 20.6 22.2 33.7 16 33.1 25.5 77.7 25.5 126.9S445 406.6 429 439.7c-2.6 5.5-5.5 10.7-8.5 15.6 17.1-1.2 34.3-15.9 47.7-42.3 14.1-27.6 23.1-66.8 23.1-110.2 0-43.4-9-82.6-23.1-110.2-14-27.6-32.1-42.4-50-42.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PunchingBag;

impl IconShape for PunchingBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383 19.27l-88.6 88.63c5.8-2.9 12.7-5 20.6-6.7 4.4-1 9.2-1.84 14.2-2.58L383 44.73l53.8 53.89c5 .74 9.8 1.58 14.2 2.58 7.9 1.7 14.8 3.8 20.6 6.7L383 19.27zm0 93.73c-23.5 0-47.1 2-64 5.8-8.5 1.9-15.4 4.3-19.3 6.5-3.4 2-3.7 3-3.7 2.8v49.2c5.6-1.4 12.2-2.4 20-3.2 18.6-2.1 42.8-3.1 67-3.1 24.2 0 48.4 1 67 3.1 7.8.8 14.4 1.8 20 3.2v-49.2c0 .2-.3-.8-3.7-2.8-3.9-2.2-10.8-4.6-19.3-6.5-16.9-3.8-40.5-5.8-64-5.8zm0 76c-23.7 0-47.6 1-65 2.9-8.7 1-15.9 2.3-20.3 3.5-.6.2-1.2.4-1.7.5v200.2c.5.1 1.1.3 1.7.5 4.4 1.2 11.6 2.5 20.3 3.5 17.4 1.9 41.2 2.9 65 2.9 23.8 0 47.6-1 65-2.9 8.7-1 15.9-2.3 20.3-3.5.6-.2 1.2-.4 1.7-.5V195.9c-.5-.1-1.1-.3-1.7-.5-4.4-1.2-11.6-2.5-20.3-3.5-17.4-1.9-41.2-2.9-65-2.9zm-253.3 6.8C101.8 195.5 59 224 59 224v64s37.9 44.7 79.8 44.4c21.5-.1 86.5-9.5 95.5-37.7 5.8-18 5.7-46.4-9-60.7-20.1-19.6-83.5-10-83.5-10s9.7-17.5 4.1-22.7c-4.1-3.8-9.8-5.4-16.2-5.5zM24 224v64h18v-64H24zm272 190.7v49.2c0-.2.3.8 3.7 2.8 3.9 2.2 10.8 4.6 19.3 6.5 16.9 3.8 40.5 5.8 64 5.8s47.1-2 64-5.8c8.5-1.9 15.4-4.3 19.3-6.5 3.4-2 3.7-3 3.7-2.8v-49.2c-5.6 1.4-12.2 2.4-20 3.2-18.6 2.1-42.8 3.1-67 3.1-24.3 0-48.4-1-67-3.1-7.8-.8-14.4-1.8-20-3.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PurpleTentacle;

impl IconShape for PurpleTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.8 31.83c-9.2.01-17.1 4.28-25.4 12.96-4.6 4.87-9.1 11.11-13.5 18.27 18.4 2.52 34.9 4.13 44.2 3.63 8.3-.45 20.7-2.89 33.9-6.1-4.8-6.42-9.6-12.05-14.4-16.5-8.8-8.23-17.1-12.26-24.8-12.26zm179 39.08c-8.6-.15-13.8 2.83-19.2 8.94-5.3 6.12-10.1 15.66-14.5 26.55-8.8 21.9-15.7 49.1-34.7 65.3l-8.8 7.5-5.1-10.5c-10.1-20.7-21.5-46.3-33.9-69.74-4.2 3.04-8.5 5.84-12.9 8.54 3.7 5 6 10.9 6 17.4 0 11.3-6.9 20.8-16.2 27-9.3 6.2-21.3 9.6-34.4 9.6-13.1 0-25.1-3.4-34.4-9.6-9.3-6.2-16.2-15.7-16.2-27 0-5.5 1.7-10.6 4.4-15.1-5.7-2.2-11.6-4.5-17.4-6.9-10.6 25.3-20.3 53-30.7 75.7l-1.9 4-4.4 1c-6.9 1.5-19.9 8.2-33.6 18-13.6 9.9-28.38 22.7-41.04 36.2-12.67 13.5-23.24 27.7-28.72 39.6-2.74 5.9-4.16 11.2-4.34 15.2-.17 4 .63 6.5 2.45 8.8 4.29 5.3 7.53 6.4 12.26 6.4 4.73 0 11.27-2.2 18.63-6.1 14.72-7.8 31.86-21.9 49.56-30.4l16.8-8.2-4.1 18.3c-15.3 67.4-28.7 119-76.69 211.3l390.79 1.7c-21-100-28.6-134.9-66.2-235.3l-2-5.4 4-4.1c17-17.5 40.3-65.6 50.1-107.5 5-20.9 6.6-40.5 4-53.32-1.3-6.4-3.5-10.87-6.2-13.57-2.6-2.69-5.7-4.2-11.4-4.3zm-110.5.46c-21.3 6.2-45.1 12.38-62.2 13.3-19.4 1.04-52-3.9-82.1-9.19.5.2.8.39 1.3.59 15.2 7.04 31.5 13.97 46 19.02 14.5 5.01 27.5 8.01 34.5 7.91 18.3-.3 35.3-9.97 51.8-22.78 3.6-2.83 7.1-5.83 10.7-8.85zM282 115.6c-8.4 3.2-17.3 5.2-26.8 5.4-8.7.1-18.5-1.9-29.3-5.1-3.1 3-4.4 6.1-4.4 9 0 3.9 2.4 8.2 8.2 12 5.7 3.8 14.5 6.6 24.4 6.6 9.9 0 18.7-2.8 24.4-6.6 5.8-3.8 8.2-8.1 8.2-12 0-3-1.4-6.2-4.7-9.3zm-14 62c17.9 0 34.3 4.7 46.7 12.8 12.5 8.2 21.4 20.5 21.4 34.9 0 14.4-8.9 26.7-21.4 34.9-12.4 8.1-28.8 12.8-46.7 12.8-17.9 0-34.3-4.7-46.7-12.8-12.5-8.2-21.4-20.5-21.4-34.9 0-14.4 8.9-26.7 21.4-34.9 12.4-8.1 28.8-12.8 46.7-12.8zm0 18c-14.7 0-27.9 4-36.9 9.9-5.2 3.4-8.9 7.3-11 11.3 16.2-5.6 30.6-8.9 45.6-9.3 15.4-.4 31.3 2.4 50.1 9.1-2.1-3.9-5.7-7.7-10.9-11.1-9-5.9-22.2-9.9-36.9-9.9zm1.1 29.1c-15.2-.1-29.5 3.9-48 10.8 2.2 3.4 5.5 6.7 10 9.6 9 5.9 22.2 9.9 36.9 9.9s27.9-4 36.9-9.9c4.5-2.9 7.8-6.2 10-9.6-18.4-7.3-32.5-10.7-45.8-10.8zm9.6 78.5c28.4 0 54.3 7.9 73.6 21.5 19.3 13.5 32.2 33.1 32.2 55.3 0 22.2-12.9 41.8-32.2 55.3-19.3 13.6-45.2 21.5-73.6 21.5-28.4 0-54.3-7.9-73.6-21.5-19.3-13.5-32.2-33.1-32.2-55.3 0-22.2 12.9-41.8 32.2-55.3 19.3-13.6 45.2-21.5 73.6-21.5zm0 18c-25 0-47.5 7.1-63.3 18.2-13.7 9.6-22.2 21.8-24.1 34.9 29.3-24.8 59.3-36.4 89.2-36.1 28.8.3 56.8 11.3 84.2 30.1-3.3-10.8-11.1-20.8-22.7-28.9-15.8-11.1-38.3-18.2-63.3-18.2zm1.6 35c-28-.3-56.3 11.3-86.1 39.6 3.8 9.2 11.1 17.7 21.2 24.8 15.8 11.1 38.3 18.2 63.3 18.2s47.5-7.1 63.3-18.2c12-8.4 19.9-18.7 23-29.9-28.9-22.1-57.1-34.2-84.7-34.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Push;

impl IconShape for Push {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224 27.027l14.037 110.54 14.807-103.032L224 27.027zm112.71 21.127l-61.58 92.37 88.4-70.518-26.82-21.852zM125.15 69.012V98.81l77.475 41.715-77.475-71.513zM319 143.088C364.826 255.36 348.206 384 319 493h174V143.088H319zm-78.598 11.463c-.567-.006-1.14 0-1.718.02-12.517.413-26.47 6.774-37.893 17.274-15.774 14.527-23.843 34.25-20.167 49.3-45 12.35-76.594 62.683-81.64 102.18-3.968 37.166 15.322 61.415.558 85.432L40.77 447.54l-20.458 9.997L55.33 496.19h15.686l-17.27-32.17 72.906-38.573c14.698-8.6 16.065-23.74 19.28-41.092 16.147 11.876 33.577 23.202 47.56 32.48-6.36 27.685-38.544 52.854-58.512 79.356h77.827l-2.905-5.21s-39.03-6.813-43.77-7.498c-.15.01-.29.005-.407-.02-.327-.076-.082-.05.408.02 8.143-.477 65.126-51.946 63.53-64.54-13.498-23.115-34.03-44.835-54.974-66.276 1.845-25.475 2.3-52.734 40.75-75.596l110.044-4.566c-.94-22.375-4.53-59.816-10.35-66.018-9.702 7.54-10.872 30.843-11.628 48.637l-79.463-2.283c-8.445-.63-14.943-7.846-21.15-12.822 13.6 1.556 30.02-4.91 43.218-17.024 20.673-19.002 27.286-45.857 14.77-59.982-4.795-5.412-11.97-8.365-20.478-8.46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Puzzle;

impl IconShape for Puzzle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M172 18c-.7 1.85-1.5 3.8-2.1 5.9-3.5 10.93-5.1 23.89-.5 33.29.5 1.02.8 1.28 1.2 2.07 4.9-4.07 13-9.15 24.8-8.79 9.8.29 17.9 6.02 22.6 13.13 4.7 7.11 6.9 15.56 7.3 24 .4 8.43-.9 16.9-4.5 24.3-3.6 7.4-10.3 14.2-19.5 15.5-15.1 2.2-26-6.1-31.5-9.7-.9-.5-1.3-.6-1.8-.9-.3.5-.4.5-.9 1.7-.5 1-.9 8.2 1.2 17.6.8 3.4 1.7 7.1 2.9 10.9 20.6-.5 40.8 1.1 55.3 6.7 7.4 2.8 12.6 5.3 16.2 10.5 3.6 5.2 2.7 12.1 1.2 16-2.9 7.8-6.5 12.2-5.4 22.2.5 3.8 1.6 5 4 6.3 2.4 1.3 6.5 2 10.9 1.3 8.8-1.2 16.9-7.2 17.8-13.4 1.3-8.9-.6-8.7-3.9-12.8-.8-1.1-2-2.4-2.9-4.9-.9-2.6-.7-6.8.8-9.5 2.9-5.4 6.5-6.9 12.1-9.9 8.8-4.8 18.6-3.8 29.3-2.1 7.5 1.2 15.6 3.1 23.8 5.2-2.3-9.1-4.4-18.1-5.7-26.5-1.7-11.3-2.4-21.7 2.7-30.9 1.8-3.1 3.2-5.48 5-7.56 1.7-2.08 3.8-4.37 7.9-5.24 4.1-.88 8.4 1.3 10.2 3.01 1.9 1.71 2.7 3.1 3.5 4.31 1.6 2.38 2.9 4.18 4.1 4.98 1.2.9 2.1 1.6 5.8 1 2.5-.3 4.9-2 7.1-5.6 2.3-3.56 3.9-8.87 4.2-14.02.2-5.15-.8-10.02-2.6-12.92-1.7-2.89-3.2-4.14-7.1-4.36-5.2-.3-7.3.68-8.5 1.45-1.2.76-1.7 1.5-2.7 3.21-.6.85-.7 2.09-3.9 4.31-1.6 1.11-4.9 2.13-7.6 1.55-2.8-.59-4.3-1.97-5.3-2.97-3.9-3.97-4.4-6.59-7.5-13.06-7.5-15.61-6.7-32.44-4-45.3zm173.1 0c-2.6 10.87-4.4 25.98 1.1 37.49.1.13.1.17.2.3.3-.21.5-.44.8-.64 4.7-3.01 11.2-4.79 19.3-4.32 9.5.54 17.4 6.12 21.6 13.14 4.2 7.01 5.5 15.14 5 23.1-.4 7.96-2.6 15.83-6.8 22.63-4.2 6.7-11 12.6-19.8 13.8-7.6 1.1-14.5-.9-19.1-4.2-1.9-1.4-3.3-2.9-4.6-4.4-1 2.9-1.6 9.6-.3 18.6 1.5 9.8 4.6 21.8 7.8 34 0 .1 0 .2.1.2 8.7 2.3 17.2 4.3 24.8 5.5 10.2 1.6 18.6 1.5 22.6 0 2-.7 2.7-1.2 3.5-1.7 0-.1 0-.1-.1-.2-3.9-5.5-14.1-16.9-12.9-33.9.7-9.7 7.4-17.6 15.1-20.8 3.9-1.6 8-2.4 12.1-2.6 4.2-.2 8.4.1 12.6.9 8.3 1.5 16.5 4.8 23.4 9.7 6.9 4.9 12.8 11.7 14.1 20.8 2 13.8-5.3 23.4-9.3 28.2l.2.2c5.9 2.8 19.2 1.4 30.6-2.3 2.4-.7 4.7-1.6 6.9-2.4V18zm73.3 114c-3.3 0-6.2.5-8.1 1.2-3 1.3-3.8 1.9-4 5.4-.7 9.6 4.5 15.1 9.6 22.3 1.3 1.8 2.6 3.7 3.6 6.2 1.1 2.6 1.7 6.4.6 10-2.4 7.3-8.5 10.2-16.1 13-9.6 3.6-20.2 2.7-31.7.9-5.5-.9-11.2-2.1-17-3.5 1.3 5.6 2.5 11.2 3.3 16.6 1.8 11.6 2.5 22.4-1.9 32-3.1 6.9-4.1 10.8-9.8 14.5-2.8 1.8-8.1 2.1-11 .8-2.8-1.3-3.9-2.7-5-3.8-4.2-4.3-5.1-7.4-15.4-6.8-3.7.2-4.8 1.2-6.3 4.2-1.5 2.9-2.3 8-1.8 13.3.6 5.4 2.4 10.8 4.7 14.2 2.2 3.5 4 4.3 5.3 4.3 7 .1 10.8-3.3 17.4-6.7 3.3-1.8 8.8-3.9 14.6-1.6 5.7 2.3 8.7 7 11.6 12.9 4.9 10.1 7 24.3 7.7 40.1.9-.1 1.9-.3 2.8-.5 11.2-1.9 21.6-2.8 31.2.7 3.8 1.4 6.7 2.7 9.4 4.5 2.6 1.8 5.5 4.6 6.4 8.7.9 4.2-.7 7.9-2.1 10.1-1.4 2.3-2.9 3.7-4.3 5.2-5.7 5.7-10.4 9.2-9.3 17.1.4 2.8 2.2 5.4 6.5 7.9 4.2 2.6 10.5 4.5 16.8 5 6.3.5 12.5-.4 16.5-2.1 3.9-1.7 5-3.1 5.3-5.2 1.1-7.3-3-11.5-8.1-18.3-2.5-3.4-6.1-7.8-5.5-14.7.6-6.9 5.9-11.9 12.5-15.7 14.9-8.4 32.3-4.9 45.7-.6.5.2 1 .3 1.5.5V188.2c-.5.2-.9.3-1.4.5-13.1 4.2-29.5 8.3-44 1.2-2.9-1.4-5.3-2.8-7.5-4.7-2.2-2-4.3-4.8-4.9-8.4-.5-3.6.7-6.8 1.8-8.8 1.2-2 2.4-3.4 3.4-4.7 4.4-5 7.6-7.3 6.4-15.3-.3-2.4-2.4-5.7-6.7-8.8-4.3-3-10.4-5.5-16.3-6.6-2.2-.4-4.4-.6-6.4-.6zm-241.1 33h-.6l1.3 4.1c3.7 12 7.5 24.3 9.6 35.7 2 11.4 2.9 22.1-2 31.7-1.7 3.4-3.3 6-5.3 8.4-2 2.3-5.1 4.9-9.6 5.1-4.4.2-7.7-2.2-9.5-4-1.7-1.7-2.8-3.2-3.8-4.7-2.2-3-4.1-5.6-6.2-7.1-2-1.6-3.8-2.5-8.2-2-3.1.4-5.5 2.1-8 6.2-2.4 4.2-4.1 10.4-4.5 16.7-.3 6.3.8 12.6 2.7 16.7 1.9 4.1 3.7 5.5 6.1 5.8 8 1.2 12.5-2.9 19.4-7.7 3.4-2.4 7.6-5.7 14.4-5.2 6.8.5 11.9 5.8 15.4 12.1 4.9 9 3.7 18.9 1.9 29.9-1.9 10.9-5.2 23.1-8.5 35.3-.2.7-.4 1.3-.6 2 17.5-1 33.9-4 41.8-7.9.1 0 .1 0 .1-.1-2.9-4.5-4.6-10.8-4.2-18.7.4-9.6 5.8-17.5 12.5-22.1 6.7-4.6 14.6-6.5 22.4-6.8 7.8-.3 15.5 1 22.1 4.6 6.7 3.6 12.7 10.5 12.9 19.3.2 10.3-3.8 17.7-5.9 21.1 1 .8 2.4 1.8 4.6 3 1.9 1.1 8.6 1.9 17.6.4 9-1.4 20.2-4.4 31.7-7.5 4.6-1.2 9.2-2.5 13.8-3.7-.7-16.3-3.2-30.8-5.9-36.3-.8-1.8-1.4-2.5-1.9-3.1-3.8 2-12.7 8.8-25.8 8.6-8.9-.1-15.8-5.9-20.1-12.4-4.2-6.5-6.7-14.3-7.5-22.2-.8-8-.1-16.2 3.7-23.5 3.8-7.3 11.7-13.3 21.3-13.9 11.6-.6 19.7 4.2 24.6 8.1.4-.9.8-1.2 1.3-2.3 1.5-3.4 2-11.6.4-21.8-1.1-7.3-3-15.7-5.2-24.3-11.6-3-22.7-5.9-31.8-7.3-9.3-1.5-16.3-.7-17.9.1-.9.5-1.1.8-1.8 1.2 2.9 4.6 6.4 12.4 4.9 22.7-2.5 17-18.3 26.6-33.1 28.7-7.4 1-15.2.3-22-3.4-6.8-3.7-12.3-11.1-13.3-20.1-1.7-15.5 5-26.6 6.4-30.5-.7-.5-2.5-1.7-6.9-3.4-8.9-3.4-25.4-5.4-42.8-5.5zm-19.3.8c-18.8 1.5-36.2 5.5-43 9.2-1.8 1-2.6 1.7-3.2 2.3 2.6 3.9 10.7 13.3 9.5 27.2-.7 8.7-7.1 15.4-14 18.4-6.9 3.1-14.59 3.7-22.28 2.8-7.68-1-15.4-3.6-21.94-8.2-6.54-4.7-11.98-12-13.11-21.1-1-8 .83-14.9 3.96-19.7 1.16-1.8 2.43-3.2 3.67-4.4-.15-.1-.16-.1-.32-.2-9.19-4.7-22.44-3.7-33.62-.6-2.01.5-3.87 1.1-5.66 1.7v166.3c1.77.6 3.62 1.2 5.61 1.7 11.14 3.1 24.39 4.2 33.75-.5 1.85-.9 2.57-1.5 3.56-2.2-3.68-4.6-10.31-14-8.81-28 1.01-9.3 6.82-16.7 13.8-20.9 6.98-4.2 15.06-5.8 23.03-5.8 7.96 0 15.86 1.7 22.76 5.6 6.8 3.8 12.9 10.5 14.1 19.3 1.7 13-5.2 22-8.9 26.4.6.4.7.6 1.8 1.2 6.4 3.6 24.6 7.1 43.9 7.8.7-2.3 1.3-4.5 1.9-6.8 3.3-12.2 6.5-24.1 8.1-33.6 1.6-9.6.9-16.8.1-18.2-.8-1.5-1.1-1.8-1.4-2.2-.5.3-1.2.6-2.3 1.4-5.7 3.9-16.7 13-32.3 10.7-9.4-1.3-16.2-8.4-19.8-16-3.6-7.7-4.8-16.5-4.3-25.2.4-8.7 2.5-17.5 6.9-24.9 4.4-7.5 11.9-13.9 21.6-15 8.5-.9 15.9 1.7 20.9 5.5 3.6 2.6 5.9 5.5 7.8 8 1.3-3.1 1.8-10.3 0-19.8-1.7-9.8-5.3-21.6-9-33.5-.9-2.9-1.9-5.8-2.8-8.7zm-69.15 136c-5.26 0-10.41 1.2-13.69 3.2-3.28 2-4.77 3.9-5.15 7.4-1.03 9.7 2.36 11.6 6.69 17.1 1.09 1.4 2.36 3 3.34 5.6.99 2.6 1.15 6.7-.27 9.9-2.82 6.3-7.52 8.4-14.37 11.9-15.82 7.8-33.29 5.3-46.58 1.7-.28-.1-.54-.2-.82-.3V494h136.3c-2.6-11.7-3.1-26.4 4.5-39.8 3.3-5.8 4.8-9.1 9.1-12.2 2.1-1.6 6.2-2.9 9.4-2.1 3.2.7 4.8 2.2 5.8 3.1 2 1.8 2.6 2.5 3.7 3s2.6 1.1 6.6.6c1.6-.2 4.1-1.7 6.5-6 2.5-4.2 4.4-10.5 4.9-16.7.5-6.1-.5-12.1-2.2-15.6-1.7-3.5-2.9-4.6-6.4-4.8-4.6-.3-6.6.8-8.6 2.4-2 1.6-3.7 4.2-5.3 7-.9 1.3-1.6 2.7-3.1 4.5-.7.9-1.7 2-3.6 3-1.8 1.1-5 1.7-7.6 1-5.3-1.3-6.6-4.5-7.9-6.8-1.3-2.4-2.4-5-3.8-8.6-3.6-9.7-2.6-20.5-.6-32.2.7-3.8 1.5-7.8 2.4-11.8-19-.7-36.4-3.4-48.2-9.9-6-3.4-10.72-6.3-12.42-12.9-.84-3.3-.1-6.9 1-9.1 1.08-2.3 2.32-3.7 3.32-5 4.3-5.1 7.1-6.6 6.1-14.1-.3-2.1-1.5-4-5-5.9-4.72-2.1-9.73-3.3-14.05-3.3zm378.75 35.6c-4.7 0-8.9.8-12 2.5-1.7 1-2.2 1.5-2.7 1.8.3.5.5 1.1 1.3 2.2 4.1 5.4 13.8 16.1 11.5 31.6-1.3 9.3-8.5 16-16.1 19.2-7.7 3.2-16.3 4.1-25 3.4-8.6-.7-17.2-3-24.6-7.4-7.3-4.4-13.8-11.6-15-21-2.1-15.2 7.3-25.2 12.7-30.6-.5-.2-.5-.2-1.2-.5-3.9-1.4-12.1-1.5-22 .2-1.8.3-3.7.6-5.6 1-.4 21.7-3 43.6-8.9 58.7-2.9 7.5-5.4 12.9-11.4 16.1-3.1 1.6-6.8 2-9.7 1.5-2.8-.6-4.9-1.6-6.8-2.6-7.5-4-12.5-8.5-23-8.1-3.7.1-4 .7-5.2 3.5-1.1 2.8-1.6 8.2-.5 13.8 1 5.6 3.4 11.4 6.2 15.2 2.7 3.8 5.2 4.9 6.3 5 6.7.1 7.1-2.2 12.1-6.4 1.2-1.1 2.8-2.5 5.6-3.4 2.8-.9 6.8-.5 9.5.9 5.5 2.9 7.5 6.8 11 13 8.3 14.7 6.2 31.9 3.2 45.3-.1.6-.3 1.1-.4 1.7H494V343.2c-2.2-.8-4.5-1.7-6.9-2.4-6.4-2.1-13.4-3.3-19.5-3.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pylon;

impl IconShape for Pylon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 15.78l-37.4 56.07-8 1.5-.6-.13-.1.24-98.05 18.25L39 104.6V160h18v-45.3l68.7 38.3h12.4l40.3 94H96v18h23v39h18v-39h42.8l-64 208h82.5L256 314.3 313.7 473h82.5l-64.1-208H375v39h18v-39h23v-18h-82.4l40.3-94h12.4l68.7-38.3V160h18v-55.4l23.2-12.89-98.1-18.25-.1-.24-.6.13-8-1.5L352 15.78 315.2 71H196.8L160 15.78zm0 32.44L175.2 71h-30.4L160 48.22zm192 0L367.2 71h-30.4L352 48.22zM183.2 89h145.6L256 105.6 183.2 89zm-69 2.73l101.2 23.07-86.1 19.6-61.15-34.1 46.05-8.57zm283.6 0l46 8.57-61.1 34.1-86.1-19.6 101.2-23.07zM256 124.1l47.9 10.9h-95.8l47.9-10.9zM165.8 153h43.1l-15.1 28.1-28-28.1zm63.6 0h53.2l22.3 41.3-48.9 49-48.9-49 22.3-41.3zm73.7 0h43.1l-28 28.1-15.1-28.1zm-132.4 30.4l63.6 63.6h-36.4l-27.2-63.6zm170.6 0L314.1 247h-36.4l63.6-63.6zM203.4 265h51.4l-31.3 85.9-20.1-85.9zm53.8 0h51.4l-20.1 85.9-31.3-85.9zm-66.4 25.4l19.8 84.6h-45.8l26-84.6zm130.4 0l26 84.6h-45.8l19.8-84.6zM159.3 393h48.9l-22.5 62h-45.5l19.1-62zm144.5 0h48.9l19.1 62h-45.5l-22.5-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pyre;

impl IconShape for Pyre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.3 21.48c56.2 83.72-25.1 188.32-77.4 87.12 31.6 169-76.1 221.8-87.39 114.5-83.28 74.3-69.9 178.9-5.38 233.8L203.8 246.7c.6-7.2 1.4-14.3 2.1-21.5l16.3 4.5 52.1-6.7 1.1 15.2 19.2.8s21.3 28.7 21.6 28.9l100.9 174.2c62.6-56 89.7-158-6.2-203.9 45.3 70.7-9.4 106.6-64.6 32.1-44.7-84.4 89.6-116.4-85-248.82zM136.6 50.4c-74.59 37.81-17.1 70.7-16.4 108.1 51.2-45.6-4.3-62.68 16.4-108.1zm299 54.4s-30.3 32.3-21.2 46.9c12.9 20.7 21.9 30.8 4.2 59.9 44-24.6 39-45.1 25.1-63.3-6.2-8.1-12.1-21.5-8.1-43.5zM257.7 243.2l-17.6 2.3L258 490l18.4.5zm-36.1 8.2L96.42 485.1l21.68 3.7 107.2-198-2.8-39.2zm55.2 4.9l.9 12.4 118.7 213.5 16.8-11.1-124.3-214.3zm-49 67.7l-16.1 29.7-12.4 131.7 22.8 2.1 7.1-143.3zm55 12.1l4.1 54 21.9 99.9 21.2-2.7-4.4-18.1zm29 30.9l37.8 117.7 20.8-4.6-7-20.2zm-122 27.1l-20.9 38.6-17.8 48.8 22.6 3.4 11.8-44.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QaitbayCitadel;

impl IconShape for QaitbayCitadel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 80v25h-13v126h18v-71c0-5.5 1.4-10.5 4.3-14.4 3-3.9 7.8-6.5 12.7-6.5 5 0 9.7 2.7 12.7 6.6 2.9 3.9 4.3 8.8 4.3 14.3v71h18v-71c0-5.5 1.4-10.5 4.3-14.4 2.9-3.9 7.7-6.6 12.7-6.6 5 0 9.8 2.7 12.7 6.6 2.9 3.9 4.3 8.9 4.3 14.4v71h18V105h-13V80h-18v25h-21V80h-18v25h-21V80h-18zM16 112v32h9v71h78v-65.9h9V112H94v25H73v-25H55v25H34v-25H16zm384 0v32h9v71h78v-71h9v-32h-18v25h-21v-25h-18v25h-21v-25h-18zm-265 32v25h-14v64h-16v254h110v-81.6c0-17.5 4.4-31.5 11.8-41.4 7.4-9.9 18.2-15.6 29.2-15.6s21.8 5.7 29.2 15.6c7.4 9.9 11.8 23.9 11.8 41.4V487h110V233h-16v-64h-14v-25h-18v25h-24v80H177v-80h-24v-25h-18zm-94 89v254h46V233H41zm384 0v254h46V233h-46zm-290 7h18v48h-18v-48zm224 0h18v48h-18v-48zM135 359h50v50h-50v-50zm192 0h50v50h-50v-50zm-71 7.4c-5 0-10.2 2.3-14.8 8.4-4.6 6.1-8.2 16.1-8.2 30.6V432h46v-26.6c0-14.5-3.6-24.5-8.2-30.6-4.6-6.1-9.8-8.4-14.8-8.4zM153 377v14h14v-14h-14zm192 0v14h14v-14h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QuickMan;

impl IconShape for QuickMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.48 27.9C46.64 95.28 90.83 164.7 136.9 219.3c26.6 31.6 53.9 58.3 76.1 76.9 11.2 9.3 21.1 16.6 28.9 21.4 7.8 4.7 14.2 6.5 14.1 6.5-.1 0 6.3-1.8 14.1-6.5 7.8-4.8 17.7-12.1 28.9-21.4 22.2-18.6 49.5-45.3 76.1-76.9 46.1-54.6 90.3-124.02 106.4-191.4-75.5 87.7-160.6 171.8-220.1 216.4l-5.4 4-5.4-4C191.1 199.7 106 115.6 30.48 27.9zM247 86.3c-45.7 1.98-76.6 19-98.2 42.8 35.5 35.4 69.5 66.5 98.2 89.4zm18 0v132.2c28.7-22.9 62.7-54 98.2-89.4-21.6-23.8-52.5-40.82-98.2-42.8zm138 127.3c-3.3 4.2-6.7 8.4-10 12.4-.9 60.6-17.2 109.5-62.1 142.5.8 1.1 1.7 2.2 2.5 3.4 7.9 11.3 12.9 23.9 14.8 37.1 3.4-5.3 6.8-10.8 10-16.4 29.4-50.9 48.8-111.3 48.8-139.5 0-11.8-1.2-25.4-4-39.5zm-294 0c-2.8 14.2-4 27.7-4 39.5 0 28.3 19.4 88.6 48.8 139.5 3.2 5.6 6.6 11.1 10 16.4 1.9-13.2 6.9-25.8 14.8-37.1.8-1.2 1.7-2.3 2.5-3.4-44.9-33-61.2-81.9-62.1-142.5-3.3-4-6.7-8.2-10-12.4zm29.2 34.6c4.1 48 20.3 83.4 58.3 109 6 3 10.7 3.2 15.3 1.9 4.7-1.2 9.5-4.4 14.2-9 4-4 7.6-9.1 10.9-14.5-1.5-.8-2.9-1.7-4.5-2.7-4.2-2.6-8.7-5.6-13.5-9.2a14 28 0 0 1-12.9 17.4 14 28 0 0 1-14-28 14 28 0 0 1 1-10.4c-16.9-14.8-35.7-33.3-54.8-54.5zm235.6 0c-19.1 21.2-37.9 39.7-54.8 54.5a14 28 0 0 1 1 10.4 14 28 0 0 1-14 28 14 28 0 0 1-12.9-17.4c-4.8 3.6-9.3 6.6-13.5 9.2-1.6 1-3 1.9-4.5 2.7 3.3 5.4 6.9 10.5 10.9 14.5 4.7 4.6 9.5 7.8 14.2 9 4.6 1.3 9.3 1.1 15.3-1.9 38-25.6 54.2-61 58.3-109zM88.98 274.7l-4.57 2.3c-8.36 4.8-11.52 12.1-11.85 23.3-.32 11.3 3.18 25.6 8.73 39.2 5.54 13.7 13.03 26.7 19.81 36 3.4 4.7 6.7 8.4 9.1 10.6 2.5 2.2 4.6 2.1 1.8 2.1h18.8c-21.3-39.7-36.59-81.6-41.82-113.5zm334.02 0c-5.2 31.9-20.5 73.7-41.7 113.4H400c-2.8 0-.7.1 1.8-2.1 2.4-2.2 5.7-5.9 9.1-10.6 6.8-9.2 14.3-22.3 19.8-35.9 5.6-13.7 9.1-27.9 8.7-39.2-.3-11.2-3.4-18.5-11.8-23.3zm-167 67.8c-.8.2-1.7.5-2.5.7-4.1 6.9-8.9 13.7-14.7 19.5-6.2 6.3-13.6 11.5-22.3 13.8-5.9 1.6-12.3 1.7-18.8.2-1.5 1.8-3 3.7-4.3 5.6-11.1 15.9-15.1 34-10.9 52.9 6.8 8.5 13.8 16.2 20.9 22.8 17.8 16.6 35.9 26.1 52.6 26.1 16.7 0 34.8-9.5 52.6-26.1 7.1-6.6 14.1-14.3 20.9-22.8 4.2-18.9.2-37-10.9-52.9-1.3-1.9-2.8-3.8-4.3-5.6-6.5 1.5-12.9 1.4-18.8-.2-8.7-2.3-16.1-7.5-22.3-13.8-5.8-5.8-10.6-12.6-14.7-19.5-.8-.2-1.7-.5-2.5-.7zm-16 45.6h32v18h-32zm60.3 26.1l10 15c-26.4 17.4-62.3 17.6-86.3 14.2l2.6-17.8c21 3 54.1 1.6 73.7-11.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Quiver;

impl IconShape for Quiver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341.21 18.004l-3.04 6.248 6.585 13.173-9.588-7.005-8.31 17.076 5.96 13.107-9.99-4.824-3.554 7.3 17.35 29.683-33.874 69.606a416.538 416.538 0 0 0 18.326 3.477l31.722-65.19.04-.005 21.937-45.078-.04.006 8.346-17.153-16.184-7.875-8.338 17.133-17.348-29.682zM55.578 34.978c-.634.002-1.267.02-1.9.057-5.067.296-10.09 1.74-14.67 4.56-4.553 2.804-6.37 6.767-7.827 10.832-1.457 4.066-2.388 8.677-3.095 14.045-1.413 10.738-1.816 24.476-1.486 40.66.658 32.37 4.336 74.363 9.923 118.346 8.822 69.45 22.01 143.094 36.53 191.793l.054-.014c.545 1.88 1.134 3.9 1.77 5.962l.01.04c.362 1.148.725 2.282 1.087 3.398 1.698 5.15 3.677 10.255 5.957 13.908 1.857 2.973 3.763 4.76 5.17 5.465 1.405.703 2.444 1.013 5.48-.07 1.757-.626 1.752-.61 2.35-3.255.6-2.647.505-7.635-.522-13.617-1.064-6.19-2.98-13.38-5.028-20.86-13.193-46.49-26.532-118.342-35.002-185.017-5.53-43.537-9.145-85.127-9.783-116.443-.32-15.658.13-28.787 1.336-37.945.604-4.58 1.424-8.17 2.194-10.318.38-1.06.784-1.647.94-1.883 4.144-2.356 7.705-2.46 13.236-.394 5.81 2.17 13.136 7.287 20.948 14.655 15.623 14.735 33.2 37.99 51.013 61.012 17.813 23.023 35.792 45.84 54.308 60.533 5.98 4.747 12.075 8.698 18.43 11.374 2.59.674 5.962 1.44 9.43 1.905 3.61.482 7.23.544 9.443.148 1.64-.293 2.058-.586 2.116-.625 3.39-6.163 1.936-8.012-1.37-11.398-3.317-3.398-10.153-5.99-12.435-6.143l.03-.433c-4.388-1.84-9.276-4.82-14.453-8.928-15.74-12.492-33.554-34.564-51.26-57.45-17.705-22.884-35.368-46.557-52.9-63.09-8.766-8.268-17.5-14.873-26.996-18.42-4.154-1.554-8.585-2.4-13.022-2.388zm191.127 4.06L238.56 63.14l9.3 21.06-13.648-8.19-3.554 10.52 20.972 27.243-10.406 30.8c5.658 2.05 11.33 3.997 17.027 5.84l10.427-30.86.037-.01 16.05-47.495-.042.012 6.106-18.072-17.053-5.762-6.1 18.053-20.97-27.243zm162.064 11.94l-12.565 1.7-12.026 24.71 18.306-13.502 6.283-12.908zm-90.872 12.205L305.65 66.46l-16.045 47.495 12.248-3.278 16.045-47.494zm106.797 5.508l-8.807 12.15 2.262 28.574-9.654-18.375-13.225 18.24 11.938 32.24-21.738 29.987c7.335.094 14.8.016 22.416-.25l13.883-19.154.04.002 29.424-40.588-.04-.002 11.194-15.443-14.572-10.566-11.184 15.427-11.937-32.242zm-28.916 8.982l-13.41 3.433-8.103 16.65 12.564-1.7 8.95-18.383zm77.06 34.71l-4.803 6.625 12.77.366 4.702-6.487-12.67-.505zm-5.733 7.905l-23.69 32.68 12.668.507 6.422-8.857-6.08-3.598 9.475-1.087 10.926-15.072-9.72-4.573zm-238.152 38.83c-1.702 3.462-3.393 6.85-5.09 10.285 5.506 1.805 10.928 5.036 15.63 9.854 7.124 7.297 10.943 20.566 4.212 32.744-3.314 5.994-9.456 8.64-14.668 9.572-5.214.932-10.3.602-14.998-.025-6.17-.825-11.544-2.263-14.677-3.19-1.432 2.818-2.863 5.64-4.3 8.443 50.84 27.08 109.533 22.75 167.438 10.64 12.018-15.735 23.947-31.747 35.897-48.106-62.995.883-117.13-10.59-169.445-30.217zm-42.14 83.683c-25.922 49.92-52.78 98.18-83.245 146.836 2.912 10.984 6.645 23.148 8.578 34.405 1.223 7.123 1.856 13.942.338 20.64-1.518 6.7-6.486 13.604-13.86 16.234-6.776 2.417-13.994 2.012-19.59-.793-5.598-2.804-9.44-7.322-12.374-12.025-.223-.356-.433-.717-.647-1.078-2.342 3.425-4.683 6.85-7.072 10.287C73.4 482.04 98.747 494.51 121.21 493.98c90.72-76.612 159.746-152.114 224.65-235.01-53.372 9.265-109.005 10.413-159.044-16.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rabbit;

impl IconShape for Rabbit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.29 27.29c-4.165 0-4.79.695-5.593 3.058-.803 2.362-.714 8.368 4.065 17.097 8.758 16 32.356 39.726 78.675 64.582 7.15-7.48 15.604-12.92 24.57-16.713-25.48-14.076-44.05-29.58-58.892-42.158-18.93-16.04-31.326-25.867-42.826-25.867zm-66.274 54.66c-3.815.007-4.68.864-5.07 1.355-.39.49-1 1.882-.485 5.125 1.03 6.484 7.16 18.015 18 28.943 21.683 21.855 60.793 42.287 109.542 34.72 2.13-.33 4.725-.616 7.846 1.194 3.12 1.81 4.73 5.96 4.77 8.36.076 4.807-1.495 6.874-2.722 9.546-2.452 5.345-4.35 11.657-4.375 11.47v.003c1.98 15 14.374 26.28 32.396 34.63 18.023 8.353 40.75 13.004 58.875 14.737 12.552 1.2 27.23.995 40.9-1.388-1.555-2.715-2.676-5.576-3.31-8.516-1.763-8.156.105-16.39 4.093-23.327 6.392-11.12 18.112-19.685 32.36-22.83-4.64-7.837-10.434-16.323-17.024-24.592-19.92-24.992-47.433-46.955-67.978-47.384-20.465-.427-44.107 6.055-57.367 24.242-2.24 3.07-5.56 4.144-8.018 4.46-2.457.318-4.623.1-6.92-.284-4.592-.766-9.7-2.373-15.613-4.527-11.825-4.308-26.625-10.89-42.127-17.774-15.502-6.883-31.668-14.06-45.744-19.44-14.076-5.38-26.546-8.735-32.027-8.724zm224.422 61.915a16 16 0 0 1 15.533 15.994 16 16 0 0 1-32 0 16 16 0 0 1 16.467-15.995zM39.79 190.777c-.804.006-2.017.25-4.017 1.24a9 9 0 0 0-.002 0c-4.252 2.103-7.437 7.213-8.883 16.325-1.447 9.11-.696 21.27 1.888 33.53 2.585 12.263 6.954 24.683 12.116 34.634 3.023 5.827 6.386 10.568 9.53 14.133 4.966-17.297 13.943-33.833 27.697-48.44-3.153-2.038-5.968-4.422-8.365-7.046-7.05-7.717-11.604-16.873-15.648-24.877-4.045-8.003-7.82-14.854-10.64-17.605-1.408-1.376-2.22-1.714-2.99-1.84-.192-.032-.414-.057-.683-.055zm437.63 2.06c-11.655 1.13-21.29 7.89-25.342 14.936-2.183 3.797-2.794 7.368-2.105 10.555.51 2.36 1.71 4.797 4.408 7.29 11.853-4.564 21.157-11.42 26.145-20.938-.286.42.182-1.32-.504-4.184-.494-2.07-1.397-4.71-2.6-7.66zm-198.496 7.724c-2.463-.004-4.896.007-7.3.034-71.537.806-120.588 13.47-152.624 32.187-36.613 21.393-51.716 50.092-54.844 81.44-3.128 31.346 6.6 65.513 22 94.56 14.84 27.988 35.094 51.027 51.97 62.22H312.19c-.134-1.91-.67-3.555-1.502-5.188-1.637-3.21-4.918-6.56-10.032-9.687-10.228-6.256-27.12-11.045-44.812-14.438-17.693-3.392-36.175-5.596-50.625-8-7.227-1.2-13.393-2.377-18.532-4.125-2.57-.873-4.92-1.813-7.313-3.593-2.392-1.782-5.313-5.385-5.313-9.97 0-2.61 1.27-4.982 2.375-6.22 1.107-1.236 2.03-1.74 2.75-2.124 1.442-.765 2.283-.952 3.125-1.156 1.686-.408 3.238-.605 5.125-.813 3.776-.414 8.714-.75 14.72-1.187 12.01-.875 28.107-2.106 44.968-4.688 33.722-5.162 69.382-16.778 81.156-36.437 6.403-10.69 5.69-20.67-.56-31.156-6.253-10.487-18.818-20.728-35.72-27.376-33.803-13.297-84.07-12.464-132.72 22.47l-10.5-14.627c33.327-23.93 67.99-33.66 99-33.78 18.608-.072 35.892 3.33 50.782 9.187 19.854 7.81 35.666 19.93 44.594 34.906 8.93 14.976 10.196 33.537.563 49.625-17.64 29.45-58.476 39.55-93.876 44.97-5.897.902-11.315 1.47-16.844 2.092 8.423 1.25 17.318 2.606 26.22 4.313 18.544 3.556 36.893 8.25 50.842 16.78 6.975 4.267 12.99 9.656 16.657 16.845 2.058 4.04 3.204 8.593 3.37 13.375h130.66c2.072-1.76 3.435-3.254 3.844-4.063.538-1.064.46-1.178.25-2.062-.423-1.77-3.667-6.165-7.78-11.125-2.527-3.044-11.017-7.917-21.658-10.594-10.64-2.677-23.344-3.65-34.25-2.22l-2.344.283-2.218-.876c-6.667-2.715-11.864-9.652-12.25-16.313-.386-6.66 1.89-12.352 4.72-18.467 5.655-12.23 14.802-26.366 22.186-42.72 7.384-16.352 12.907-34.52 11.72-53.843-1.153-18.73-8.467-38.93-27.84-60.88-.622-.052-1.248-.1-1.86-.16h-.002c-19.505-1.864-43.524-6.62-64.08-16.146-15.233-7.06-29.065-17.167-36.415-31.074-4.692-.1-9.332-.172-13.85-.18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RabbitHead;

impl IconShape for RabbitHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.7 27.2c4.8 2.25 8.5 5.18 11.5 8.94-27.3 19.88-43.5 52.15-53.1 84.86-11.6 39.4-14.1 80.2-14.1 104.8h18c0-23.4 2.5-62.9 13.3-99.7 8.6-29.19 22.3-56.12 43.4-73.03 1.2 4.94 1.9 10.46 2.1 16.52.6 22.68-5.6 52.11-14.4 81.61-8.9 29.6-20.3 59.4-29.6 83.9-3.8 10.2-14.7 50.7-11.4 54.7 15.9 21.8 26.6 48 26.6 76v3.7l2.6 2.7c14.3 14.2 15.9 25.5 11.7 37.6-4.3 12.1-16.3 25.3-32.5 36.6-32.3 22.8-80.8 38.4-100.8 38.4s-68.5-15.6-100.8-38.4c-16.2-11.3-28.2-24.5-32.5-36.6-4.2-12.1-2.6-23.4 11.7-37.6l2.6-2.7v-3.7c0-28 10.7-54.2 26.6-76 3.3-4-7.6-44.5-11.4-54.7-9.3-24.5-20.7-54.3-29.6-83.9-8.8-29.5-15-58.89-14.4-81.59.2-6.1.9-11.6 2.1-16.5 21.1 16.9 34.8 43.8 43.4 72.99 10.8 36.8 13.3 76.3 13.3 99.7h18c0-24.6-2.5-65.4-14.1-104.8-9.6-32.7-25.8-64.99-53.1-84.89 3-3.7 6.7-6.7 11.5-8.9 3.6.9 13.2 6.1 23.4 16.9 11.2 11.9 23.7 29.4 34.5 50.1 21.7 41.39 37 95.79 27.9 145.99 12.4-3.9 26.7-5.9 40.9-5.9s28.5 2 40.9 5.9c-9.1-50.2 6.2-104.6 27.9-146 10.8-20.72 23.3-38.19 34.5-50.13 10.2-10.8 19.8-15.94 23.4-16.87zM304 308.8c-13.7 0-25 11.3-25 25s11.3 25 25 25 25-11.3 25-25-11.3-25-25-25zm-96 0c-13.7 0-25 11.3-25 25s11.3 25 25 25 25-11.3 25-25-11.3-25-25-25zm96 18c4 0 7 3 7 7s-3 7-7 7-7-3-7-7 3-7 7-7zm-96 0c4 0 7 3 7 7s-3 7-7 7-7-3-7-7 3-7 7-7zm48 34c-8.6 0-17 1-24.4 3.5-3.7 1.2-7.1 2.7-10.2 5.3-3.2 2.5-6 6.7-6.4 11.6l-.4 6 32.4 16.2v27c-.3.2-2.2.7-5.4 0-6.5-1.6-17.1-8-26.1-21.6l-15 10c11 16.6 24.4 26.2 36.9 29.1 6.3 1.5 12.3 3.4 18.6 3.4 6.3 0 12.3-1.9 18.6-3.4 12.5-2.9 25.9-12.5 36.9-29.1l-15-10c-9 13.6-19.6 20-26.1 21.6-3.2.7-5.1.2-5.4 0v-27l32.4-16.2-.4-6c-.4-4.9-3.2-9.1-6.4-11.6-3.1-2.6-6.5-4.1-10.2-5.3-7.4-2.5-15.8-3.5-24.4-3.5zm0 18c5.3 0 10.3.7 14.6 1.7l-14.6 7.2-14.6-7.2c4.3-1 9.3-1.7 14.6-1.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RaccoonHead;

impl IconShape for RaccoonHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M404.7 69.89c27.1 39.61 27.4 96.91 18.5 147.11-10.8-14.5-21.6-29.2-32.5-43.3-18.3-23.6-36.6-45.9-55.3-64 8-11.71 21.3-21.63 35.2-28.54 13-6.52 26.5-10.13 34.1-11.27zm-297.4 0c7.6 1.14 21.1 4.75 34.1 11.27 13.9 6.91 27.2 16.83 35.2 28.54-18.7 18.1-37 40.4-55.3 64-10.9 14.1-21.7 28.7-32.5 43.2-8.9-50.2-8.7-107.5 18.5-147.01zM324 162.8c15.1 0 30.1 3.3 42.8 9.7 3.2 4 6.4 8.1 9.6 12.2 38.3 49.8 76.7 107.1 116.8 143.9-12.1 4.8-24.4 11.4-36.9 19 0-14.7-5.8-30.1-14.9-44.7-13.8-22.3-35.7-44.1-60.9-62.9-20.1-15-38.3-22.1-54.2-22.8-2.3-.1-4.6-.1-6.8.1-17.5 1.2-31.3 10.5-39.9 22.4-8.6 11.9-12.7 26.3-12.2 39.6.5 10 3.8 20.1 10.8 26.9h-44.4c7-6.8 10.3-16.9 10.8-26.9.5-13.3-3.6-27.7-12.2-39.6-8.6-11.9-22.4-21.2-39.9-22.4-1.1-.1-2.2-.2-3.4-.2-1.1 0-2.3 0-3.4.1-15.9.7-34.1 7.8-54.2 22.8-25.2 18.8-47.2 40.6-61 62.9-9.1 14.6-14.9 30-14.9 44.7-12.5-7.7-24.7-14.2-36.8-19 40-36.8 78.4-94 116.8-143.9 3.2-4.1 6.4-8.2 9.6-12.2 12.7-6.4 27.7-9.7 42.8-9.7 23.5 0 46.8 7.9 61.6 22.8l6.4 6.3 6.4-6.3c14.8-14.9 38.1-22.8 61.6-22.8zm0 75.4c19.7 0 36.5 15.2 36.5 34.5s-16.8 34.5-36.5 34.5-36.5-15.2-36.5-34.5 16.8-34.5 36.5-34.5zm-136 0c19.7 0 36.5 15.2 36.5 34.5s-16.8 34.5-36.5 34.5-36.5-15.2-36.5-34.5 16.8-34.5 36.5-34.5zm136 18c-10.7 0-18.5 7.7-18.5 16.5s7.8 16.5 18.5 16.5 18.5-7.7 18.5-16.5-7.8-16.5-18.5-16.5zm-136 0c-10.7 0-18.5 7.7-18.5 16.5s7.8 16.5 18.5 16.5 18.5-7.7 18.5-16.5-7.8-16.5-18.5-16.5zm110.9 61.1c25.3 11.3 44.8 19.8 58.1 30.2 14.6 11.3 22.7 24.2 25.6 48.6-39.6 24.9-81.9 46-126.6 46-44.7 0-87-21.1-126.6-46 2.9-24.4 11-37.3 25.6-48.6 13.3-10.4 32.8-18.9 58.1-30.2.6 10.7 5.9 20.4 13.2 27.6 5.1 5.2 11.4 9.3 18.5 11.5-2.9 8.9-6.2 14.6-9.1 17.7-3.8 4.1-6.3 4.5-9.2 4.1-2.9-.3-6.3-2.3-8.8-5-2.5-2.7-3.7-6.2-3.7-7.1h-18c0 7.6 3.5 14 8.4 19.3 5 5.3 11.7 9.7 19.9 10.7s17.5-2.2 24.6-9.7c2.6-2.8 5-6.1 7.1-10 2.1 3.9 4.5 7.2 7.1 10 7.1 7.5 16.4 10.7 24.6 9.7 8.2-1 14.9-5.4 19.9-10.7 4.9-5.3 8.4-11.7 8.4-19.3h-18c0 .9-1.2 4.4-3.7 7.1-2.5 2.7-5.9 4.7-8.8 5-2.9.4-5.4 0-9.2-4.1-2.9-3.1-6.2-8.8-9.1-17.7 7.1-2.2 13.4-6.3 18.5-11.5 7.3-7.2 12.6-16.9 13.2-27.6zm-20.2 6.9c-1.4 2.8-3.3 5.6-5.7 8-5 5-11.5 8-17 8s-12-3-17-8c-2.4-2.4-4.3-5.2-5.7-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RadarCrossSection;

impl IconShape for RadarCrossSection {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.4 23 23 127.4 23 256s104.4 233 233 233 233-104.4 233-233S384.6 23 256 23zm-9 18.2v78.1c-31.1 2-59.2 14.4-81.3 33.7l-55.2-55.29C146.7 64.39 194.4 43.36 247 41.2zm18 0c52.6 2.16 100.3 23.19 136.5 56.51L346.2 153c-22-19.3-50.2-31.7-81.2-33.7V41.2zM97.71 110.5L153 165.7c-19.3 22.1-31.7 50.2-33.7 81.3H41.2c2.16-52.6 23.19-100.3 56.51-136.5zm316.59 0c33.3 36.2 54.3 83.9 56.5 136.5h-78.1c-2-31-14.4-59.2-33.7-81.2l55.3-55.3zM247 137.3v38.6l.4.6 17.6-10v-29.2c26.1 2 49.8 12.3 68.5 28.4L322 177.2l11.2 14.4 13.1-13.1c16.1 18.7 26.4 42.4 28.4 68.5h-41.6l23.8 18h17.8c-.3 4.1-.9 8.2-1.6 12.2l15.8 12c2-7.8 3.3-15.9 3.8-24.2h78.1c-2.2 52.6-23.2 100.3-56.5 136.5l-33.7-33.7-11.4 14.2 32.3 32.3c-36.2 33.3-83.9 54.3-136.5 56.5v-78.1c10.3-.7 20.3-2.5 29.8-5.3l-8.6-16.3c-6.8 1.8-13.9 3-21.2 3.6v-43.5l-.6-1.1-17.4-2.2v46.8c-17.1-1.3-33.2-6.2-47.5-14l-12.2 13.8c17.7 10.3 38 16.8 59.7 18.2v78.1c-52.6-2.2-100.3-23.2-136.5-56.5l52.1-52.1-11.3-14.3-53.59 53.6C64.39 365.3 43.36 317.6 41.2 265h74.2l36.8-18h-14.9c2-26.1 12.3-49.8 28.4-68.5l10.8 10.8 13.1-12.5-11.1-11.1c18.7-16.1 42.4-26.4 68.5-28.4zm47 33.4l-45.1 25.6-7.3 4.2-19.4-29.7-32.6 31 12.8 40.7-80.7 39.5 58.5 73.3 43.2-48.5 52.6 6.5 49.7 93.7 71.9-88.6-94.4-71.4 29.4-27.2-38.6-49.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Raddish;

impl IconShape for Raddish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.8 19.82l-18 1.8c.8 7.85 1 15.59.8 23.25-18-11.24-49.6-27.9-62-14.45-10 10.84 16.5 41.03 16.5 41.03s-28.6 7.4-29.4 19.04c-.8 12.71 29.2 24.71 29.2 24.71s-49.6 13.2-43.2 29.4c7.1 17.7 43.5 4.7 65.3-5-8.8 21.4-19 42.6-28.7 64.1 6.2 1.3 12 3 17.5 5 26.7-58.4 59-118.58 52-188.88zm95.6 6.53C360.3 74.06 325.3 145.8 296.9 215.9c5.5 3.1 10.6 6.8 15.1 10.8 4.6-11.3 9.3-22.7 14.3-34 18.1 7.4 94.9 36.6 113 7.3 12.1-19.5-35.4-59.1-35.4-59.1s66.1 19.4 73.2-4c7-23.1-57.9-43.73-57.9-43.73s65.4 5.72 64.2-16.31c-1.3-23.78-43.4-23.17-70.4-15 8-7.38 16.6-14.33 25.8-20.77l-10.4-14.74zm-210 191.05c-1.9 0-3.9 0-5.9.1-8.3.2-23 6.8-38.7 19.7-1.4 1.1-2.8 2.3-4.2 3.6 12.1 19.6 36.2 36.7 63.7 47.5 27.4 10.8 57.9 15.5 81.2 12.8 4.5-9.3 5.9-18.6 3.8-28.7-3.9-19-14.1-32.2-31.6-41.6-15.2-8.1-36.3-12.8-62.6-13.3-1.9 0-3.8-.1-5.7-.1zm-62.1 36.1c-7.9 8.2-16 17.7-23.7 28.2 0 15.4 8.8 27.8 16.8 37.7-13.6-3.7-21.5-7.8-26.9-23.2-26.64 40.8-47.28 92.9-47.81 145.4 37.61-18.5 78.81-36.1 116.41-53.8-23.9-3.2-44.3-12.9-61.8-27.2 35.4 10 62.6 14.4 98.9 8.9 4.5-2.4 9-4.7 13.3-7.1 6.7-3.7 13.1-7.5 19.2-11.3-23.2-.7-50.4-4.8-69.4-14.8 25.6 1.3 76.6-1.7 95.9-3.8 5.1-4.2 9.6-8.4 13.6-12.6-23.6.1-49.7-5.2-74.1-14.9-28.6-11.3-55-28.5-70.4-51.5zM56.66 440.6c-10.59 13.9-19.33 28.3-28.1 41.8l15.1 9.8c4.78-7.4 9.44-14.8 14.23-22h-.07l-.81-13.8c-.31-5.3-.42-10.6-.35-15.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Radiations;

impl IconShape for Radiations {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v476h79.81C152.7 427.2 183 343.2 183 256c0-87.2-30.3-171.22-85.2-238zm438.1 53.91c-1.9 0-3.8.28-5.7.8-12.4 3.32-19.6 15.81-16.3 28.19 3.3 12.3 15.8 19.6 28.2 16.2 12.3-3.3 19.5-15.8 16.2-28.12-2.8-10.44-12.1-17.2-22.4-17.07zm-37.5 7.23c-6.5 1.89-10.9 7.19-13.2 11.99-2.3 4.89-3.3 9.77-4.3 14.17s-2 8.4-3 10.6c-1 2.2-1.2 2.1-1.8 2.3-.6.2-.8.3-2.8-1.1-2-1.4-4.8-4.3-7.9-7.6-3.1-3.3-6.4-7.1-10.8-10.15-4.5-3.08-11-5.54-17.7-3.74-6.7 1.79-11.2 7.19-13.5 12.09-2.3 4.9-3.3 9.8-4.3 14.2-1 4.4-2 8.3-3 10.6-1.1 2.2-1.2 2.2-1.8 2.3-.6.2-.8.3-2.8-1.1-2-1.4-4.8-4.3-7.9-7.7-3.1-3.3-6.4-7-10.8-10.1-4.5-3.1-11-5.5-17.8-3.7-6.6 1.8-11.1 7.2-13.4 12.1-2.3 4.8-3.3 9.7-4.3 14.1s-2 8.4-3.1 10.6c-1 2.2-1.2 2.2-1.7 2.3h-.1c-.6.2-.7.3-2.7-1.1-2-1.4-4.9-4.3-7.9-7.6-3.1-3.3-6.4-7-10.9-10.1-4.4-3.1-10.9-5.6-17.6-3.8-6.7 1.8-11.2 7.2-13.5 12.1-2.3 4.9-3.3 9.8-4.3 14.2-1 4.4-2 8.3-3.1 10.5-1 2.3-1.2 2.2-1.8 2.4-.6.2-.7.3-2.7-1.1-2.1-1.4-4.9-4.3-8-7.6-3.1-3.3-6.4-7.1-10.8-10.2-1.1-.8-2.4-1.5-3.8-2.1 3 10.2 5.5 20.5 7.6 30.9 1.5 1.3 3 2.6 4.7 3.7 4.4 3.1 10.9 5.6 17.6 3.8 6.7-1.8 11.2-7.2 13.5-12.1 2.3-4.9 3.3-9.8 4.3-14.2 1-4.4 2-8.3 3.1-10.5 1-2.3 1.2-2.2 1.8-2.4.6-.2.7-.3 2.7 1.1 2 1.4 4.9 4.3 8 7.7 3.1 3.3 6.4 7 10.8 10.1 4.5 3.1 11 5.5 17.8 3.7 6.6-1.8 11.1-7.2 13.3-12.1 2.3-4.9 3.3-9.7 4.3-14.1s2-8.3 3.1-10.6c1-2.2 1.2-2.1 1.8-2.3h.1c.6-.2.7-.3 2.7 1.1 2 1.4 4.8 4.3 7.9 7.6 3.1 3.3 6.4 7 10.8 10.1 4.4 3.1 11 5.6 17.7 3.8 6.7-1.8 11.2-7.2 13.5-12.1 2.3-4.9 3.3-9.8 4.3-14.2 1-4.4 2-8.3 3-10.6 1.1-2.2 1.2-2.1 1.8-2.3.6-.2.8-.3 2.8 1.1 2 1.4 4.8 4.3 7.9 7.6 3.1 3.3 6.4 7.1 10.8 10.2 4.5 3 11 5.5 17.7 3.7 6.7-1.8 11.2-7.2 13.5-12.1 2.1-4.4 3.1-8.9 4-13-.7-1.6-1.2-3.3-1.7-5-2.4-9.05-1.5-18.27 1.9-26.36zM240 231c-7 0-12.7 4.1-16.1 8.2-3.5 4.1-5.7 8.6-7.9 12.6-2.1 4-4.1 7.5-5.6 9.4-1.6 1.9-1.8 1.8-2.4 1.8-.6 0-.8.1-2.4-1.8-1.3-1.6-2.9-4.4-4.6-7.6v2.4c0 7.8-.2 15.6-.7 23.3 2.3 1 4.9 1.7 7.7 1.7 7 0 12.7-4.1 16.1-8.2 3.5-4.1 5.7-8.6 7.9-12.6 2.1-4 4.1-7.5 5.6-9.4 1.6-1.9 1.8-1.8 2.4-1.8.6 0 .8-.1 2.4 1.8 1.5 1.9 3.5 5.4 5.6 9.4 2.2 4 4.4 8.5 7.9 12.6 3.4 4.1 9.1 8.2 16.1 8.2 7 0 12.7-4.1 16.1-8.2 3.5-4.1 5.7-8.6 7.9-12.6 2.1-4 4.1-7.5 5.6-9.4 1.6-1.9 1.8-1.8 2.4-1.8.6 0 .8-.1 2.4 1.8 1.5 1.9 3.5 5.4 5.6 9.4 2.2 4 4.4 8.5 7.9 12.6 3.4 4.1 9.1 8.2 16.1 8.2 7 0 12.7-4.1 16.1-8.2 3.5-4.1 5.7-8.6 7.9-12.6 2.1-4 4.1-7.5 5.6-9.4 1.6-1.9 1.8-1.8 2.4-1.8.6 0 .8-.1 2.4 1.8 1.5 1.9 3.5 5.4 5.6 9.4 2.2 4 4.4 8.5 7.9 12.6 3.4 4.1 9.1 8.2 16.1 8.2 7 0 12.7-4.1 16.1-8.2 3.2-3.7 5.3-7.7 7.3-11.4-.3-1.8-.4-3.6-.4-5.4 0-9.4 3.2-18 8.6-25-6.8.2-12.4 4.2-15.7 8.2-3.5 4.1-5.7 8.6-7.9 12.6-2.1 4-4.1 7.5-5.6 9.4-1.6 1.9-1.8 1.8-2.4 1.8-.6 0-.8.1-2.4-1.8-1.5-1.9-3.5-5.4-5.6-9.4-2.2-4-4.4-8.5-7.9-12.6-3.4-4.1-9.1-8.2-16.1-8.2-7 0-12.7 4.1-16.1 8.2-3.5 4.1-5.7 8.6-7.9 12.6-2.1 4-4.1 7.5-5.6 9.4-1.6 1.9-1.8 1.8-2.4 1.8-.6 0-.8.1-2.4-1.8-1.5-1.9-3.5-5.4-5.6-9.4-2.2-4-4.4-8.5-7.9-12.6-3.4-4.1-9.1-8.2-16.1-8.2-7 0-12.7 4.1-16.1 8.2-3.5 4.1-5.7 8.6-7.9 12.6-2.1 4-4.1 7.5-5.6 9.4-1.6 1.9-1.8 1.8-2.4 1.8-.6 0-.8.1-2.4-1.8-1.5-1.9-3.5-5.4-5.6-9.4-2.2-4-4.4-8.5-7.9-12.6-3.4-4.1-9.1-8.2-16.1-8.2zm224 2c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-269.2 92.4c-2 11.2-4.5 22.2-7.4 33.2.5 1.4 1 2.8 1.7 4.3 2.3 4.9 6.8 10.3 13.5 12.1 6.7 1.8 13.2-.7 17.6-3.8 4.5-3 7.8-6.8 10.8-10.1 3.1-3.3 6-6.2 8-7.6 2-1.4 2.1-1.3 2.7-1.1.6.1.8.1 1.8 2.4 1.1 2.2 2.1 6.1 3.1 10.5s2 9.3 4.3 14.2c2.3 4.9 6.8 10.3 13.5 12.1 6.7 1.8 13.3-.7 17.7-3.8 4.4-3.1 7.7-6.8 10.8-10.1 3.1-3.4 5.9-6.3 7.9-7.7 2-1.4 2.2-1.3 2.8-1.1.6.1.7.1 1.8 2.3 1 2.3 2 6.2 3 10.6 1 4.4 2 9.3 4.3 14.2 2.3 4.9 6.8 10.3 13.5 12.1 6.7 1.8 13.2-.7 17.7-3.7 4.4-3.1 7.7-6.9 10.8-10.2 3.1-3.3 5.9-6.2 7.9-7.6 2-1.4 2.2-1.3 2.8-1.1.6.2.7.1 1.8 2.3 1 2.3 2 6.2 3 10.6 1 4.4 2 9.3 4.3 14.2 2.3 4.9 6.8 10.3 13.5 12.1 6.7 1.8 13.2-.7 17.7-3.7 4-2.8 7.1-6.2 10-9.3.2-1.7.5-3.5 1-5.2 2.4-9 7.8-16.6 14.7-21.9-6.5-1.6-12.9.9-17.3 3.8-4.4 3.1-7.7 6.9-10.8 10.2-3.1 3.3-5.9 6.2-7.9 7.6-2 1.4-2.2 1.3-2.8 1.1-.6-.1-.7-.1-1.8-2.3-1-2.3-2-6.2-3-10.6-1-4.4-2-9.3-4.3-14.2-2.3-4.9-6.8-10.3-13.5-12.1-6.7-1.8-13.2.7-17.7 3.7-4.4 3.1-7.7 6.9-10.8 10.2-3.1 3.3-5.9 6.2-7.9 7.6-2 1.4-2.2 1.3-2.8 1.1-.6-.1-.7-.1-1.8-2.3-1-2.3-2-6.2-3-10.6-1-4.4-2-9.3-4.3-14.2-2.3-4.9-6.8-10.3-13.5-12.1-6.7-1.8-13.3.7-17.7 3.8-4.4 3.1-7.7 6.8-10.8 10.1-3.1 3.4-5.9 6.3-7.9 7.7-2 1.4-2.2 1.3-2.8 1.1-.6-.1-.8-.1-1.8-2.4-1.1-2.2-2.1-6.1-3.1-10.5s-2-9.3-4.3-14.2c-2.3-4.9-6.8-10.3-13.5-12.1-6.7-1.8-13.2.7-17.6 3.8-4.5 3-7.8 6.8-10.8 10.1-3.1 3.3-6 6.2-8 7.6-2 1.4-2.1 1.3-2.7 1.1-.6-.1-.8-.1-1.8-2.4-1.1-2.2-2.1-6.1-3.1-10.5s-2-9.3-4.3-14.2c-.8-1.7-1.9-3.4-3.2-5.1zm261.7 68.7c-10.3-.1-19.6 6.6-22.4 17.1-3.3 12.3 3.9 24.8 16.2 28.1 12.4 3.3 24.9-3.9 28.2-16.2 3.3-12.4-3.9-24.9-16.3-28.2-1.9-.5-3.8-.8-5.7-.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RadioTower;

impl IconShape for RadioTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.307 17.998A201.117 201.117 0 0 0 55.002 64c0 78.375 45.002 146.35 110.539 179.486-8.783-10.556-16.478-22.658-23.1-35.912-42.318-33.5-69.443-85.327-69.443-143.574 0-15.895 2.035-31.305 5.832-46.002H60.307zm66.644 0c-5.142 14.384-7.949 29.87-7.949 46.002 0 51.245 28.27 95.989 70.031 119.482-6.264-10.227-11.17-21.604-15.023-33.158C151.2 128.657 136.998 98.02 136.998 64c0-16.319 3.275-31.856 9.193-46.002h-19.24zm72.445 0C189.156 30.565 183.002 46.585 183.002 64c0 26.543 14.293 49.845 35.572 62.623-3.806-9.484-6.58-20.417-8.332-32.014-5.84-8.738-9.244-19.259-9.244-30.609 0-11.35 3.403-21.87 9.244-30.61a168.14 168.14 0 0 1 3.053-15.392h-13.899zm99.31 0a168.14 168.14 0 0 1 3.052 15.393c5.84 8.738 9.244 19.259 9.244 30.609 0 11.35-3.403 21.87-9.244 30.61-1.751 11.596-4.526 22.529-8.332 32.013 21.279-12.778 35.572-36.08 35.572-62.623 0-17.415-6.153-33.435-16.394-46.002h-13.899zm67.103 0c5.918 14.146 9.193 29.683 9.193 46.002 0 34.02-14.202 64.657-37.012 86.324-3.852 11.554-8.76 22.93-15.023 33.158C364.728 159.99 392.998 115.245 392.998 64c0-16.132-2.807-31.618-7.95-46.002h-19.24zm67.36 0A183.653 183.653 0 0 1 439.003 64c0 58.247-27.125 110.074-69.443 143.574-6.622 13.254-14.317 25.356-23.1 35.912C411.996 210.35 456.998 142.375 456.998 64c0-15.825-1.837-31.226-5.305-46.002H433.17zM256 40.998c-12.81 0-23.002 10.192-23.002 23.002 0 12.81 10.192 23.002 23.002 23.002 12.81 0 23.002-10.192 23.002-23.002 0-12.81-10.192-23.002-23.002-23.002zm-20.35 58.537L119.398 477.354l17.204 5.292 13.15-42.74L256 415.39l106.248 24.517 13.15 42.74 17.204-5.292L276.35 99.535a40.612 40.612 0 0 1-17.192 5.328l49.654 161.381L256 283.848l-52.813-17.604 49.655-161.38a40.612 40.612 0 0 1-17.192-5.329zM197.893 283.45l29.65 9.885-36.428 12.143 6.778-22.028zm116.214 0l6.778 22.028-36.428-12.143 29.65-9.885zM256 302.82l52.652 17.55L256 339.516l-52.65-19.147L256 302.82zm-73.074 29.275l46.74 16.998-58.518 21.28 11.778-38.278zm146.148 0l11.778 38.277-58.52-21.28 46.742-16.997zM256 358.666l64.354 23.402L256 396.92l-64.355-14.852L256 358.666zm-92.16 35.455l52.144 12.033-60.115 13.873 7.97-25.906zm184.318 0l7.973 25.904-60.113-13.87 52.14-12.034z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Raft;

impl IconShape for Raft {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.3 51.46l-14.8 7.37 3.5 36.79c5.1-.62 10.2-1.39 15.3-2.3zM364 92.68c-32.8 15.02-70.8 22.02-104.7 22.92-19.7.6-38-.9-53.3-4.3-9.4-2.1-17.6-4.8-24.5-8.7-19.7 55.7-24.8 118-26.7 176.4 6.4-.9 12.9-1.6 19.4-2.3L189 212l13.1 45.4 15.4-12.8 6.5 29.2c50.3-1 101.2 3.1 149.3 7.7-6.2-38.1-11-84.1-11.7-127.4L325.5 137s20.6-5.2 36.3-8.9c.3-12.2 1-24.2 2.2-35.42zM304 293.7l5.7 59.1c3.9 2.5 7.4 5.6 10.3 9.2 1.7-2.1 3.5-4 5.6-5.7l-5.9-61.5c-5.2-.4-10.4-.7-15.7-1.1zM96 364.5c-12.81 0-23 10.2-23 23s10.19 23 23 23c12.8 0 23-10.2 23-23s-10.2-23-23-23zm64 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm64 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm64 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm64 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm64 0c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-352 62c-13.18 0-29.27 4.3-42.85 8.4-1.08.3-2.11.7-3.15 1v18.8c2.59-.8 5.39-1.7 8.36-2.6 12.92-3.9 28.83-7.6 37.64-7.6 8.81 0 18.29 3.4 28.8 7.4 10.5 4 22 8.6 35.2 8.6 13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s24.7 3.7 37.6 7.6c3 .9 5.8 1.8 8.4 2.6v-18.8c-1.1-.3-2.1-.7-3.2-1-13.5-4.1-29.6-8.4-42.8-8.4-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22.02-8.6-35.2-8.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RailRoad;

impl IconShape for RailRoad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198 89L29.58 487h59.77L211.8 89H198zm102.2 0l122.4 398h59.8L314 89h-13.8zm-79.4 32l-3.1 10h76.6l-3.1-10h-70.4zm-79.9 36l-4.4 14h7.2l5.9-14h-8.7zm68.8 0l-4.3 14h101.2l-4.3-14h-92.6zm152.7 0l5.9 14h7.8l-4.4-14h-9.3zm-251.7 50l-6.1 18h16.3l7.6-18h-17.8zm83.6 0l-5.5 18h134.4l-5.5-18H194.3zm189.2 0l7.6 18h16.5l-5.9-18h-18.2zM74.88 269l-7.1 26h23.47l10.95-26H74.88zm100.32 0l-8 26h177.6l-8-26H175.2zm234.6 0l11 26h23.4l-7.1-26h-27.3zM43.03 345l-7.5 30h21.88l12.69-30H43.03zm108.87 0l-9.3 30h226.8l-9.3-30H151.9zm290 0l12.7 30h21.9l-7.5-30h-27.1zM19 441v24.8L29.49 441H19zm103.3 0l-14.2 46h295.8l-14.2-46H122.3zm360.2 0l10.5 24.8V441h-10.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Railway;

impl IconShape for Railway {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 112v39h38v-39zm102 0v39h48v-39zm112 0v39h48v-39zm112 0v39h48v-39zm112 0v39h38v-39zM18 169v30h476v-30zm0 48v78h38v-78zm102 0v78h48v-78zm112 0v78h48v-78zm112 0v78h48v-78zm112 0v78h38v-78zM18 313v30h476v-30zm0 48v39h38v-39zm102 0v39h48v-39zm112 0v39h48v-39zm112 0v39h48v-39zm112 0v39h38v-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rake;

impl IconShape for Rake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93.69 18l110.414 254.676c3.594-2.915 7.82-5.232 12.498-6.848 3.456-1.194 7.192-1.995 11.056-2.187 1.153-.057 2.32-.052 3.49.005L124.81 18zm136.28 263.625c-.486-.013-.977-.008-1.472.018-1.98.102-4.028.51-6.02 1.2-3.982 1.374-7.573 3.935-9.298 5.99-.955 1.136-1.186 1.65-1.266 1.77l21.088 44.463 5.992-.43 23.932-3.275-19.387-40.338c-2.84-5.532-5.963-7.66-9.417-8.737-1.297-.404-2.7-.62-4.154-.66zm-18.056 8.98l-.187-.394c.155.335.123.49.187.394zm246.424 34.092c-.995-.003-2.05.103-3.164.332L26.7 381.85c-9.594 1.727-7.955 25.956.226 29.802 24.032 15.5 22.984 79.762 38.904 79.762 6.29 0 2.062-75.122-7.084-84.115l21.992-3.01c22.608 17.032 21.907 78.792 37.514 78.792 6.092 0 2.32-70.452-6.232-83.07l20.42-2.795c23.036 16.58 22.23 79.1 37.933 79.1 6.15 0 2.247-71.775-6.475-83.405l21.248-2.908c21.777 17.886 21.282 78.148 36.698 78.148 5.99 0 2.442-68.09-5.805-82.375l20.847-2.85c22.166 17.488 21.57 78.462 37.076 78.462 6.037 0 2.386-69.197-6.004-82.716l22.75-3.113c21.097 18.56 20.766 77.585 36.022 77.585 5.912 0 2.53-66.302-5.488-81.762l21.207-2.903c21.477 18.188 21.058 77.9 36.404 77.9 5.954 0 2.478-67.294-5.668-82.105l21.826-2.986c20.377 19.247 20.23 76.927 35.312 76.927 5.822 0 2.63-64.344-5.127-81.06l21.588-2.954c20.726 18.918 20.49 77.25 35.658 77.25 10.89-34.01-1.78-72.33-15.298-101.994-1.355-2.71-4.495-4.75-8.807-4.763z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RamProfile;

impl IconShape for RamProfile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189.6 19.18C162 46.06 150.9 71.02 149 94.29c-1.7 21.21 4.3 41.51 14.6 60.81 11.2-2.8 23.2-2.7 34.7.9 4.5-19.1 10.5-38.6 24.3-56 14.4-18.06 36.9-33.1 72.5-43.47-22-16.95-48.1-28.2-75.9-33.63-10.2-1.99-20.1-3.23-29.6-3.72zm-25.1.41c-31.6 2.76-58.5 14.19-80.27 31.83-16.52 13.36-30.19 30.44-40.65 50.28l1.38-.2c6.28 45 31.59 70.4 75.44 83.6 7-9.9 16.1-17.9 26.3-23.4-10.8-20.9-17.6-44.1-15.6-68.86 1.9-23.76 12.1-48.51 33.4-73.25zm146.8 51.25c-40 9.69-61.5 23.99-74.6 40.36-12 15.2-17.2 32.8-21.6 52.2 7.3 4.2 12.9 9.2 17.1 14.8 4 5.4 6.6 11.2 8.6 17.1 33.4-15.7 76.2-33.2 118-30.1-7-39.3-24-70.81-47.5-94.36zM32.5 127c-4.83 13.6-8.37 28.1-10.52 43.3-4.54 32-.31 67.5 10.98 99.9 29.71 2.9 53.76-2.6 72.74-21.8-.6-5.5-.8-11.1-.7-16.7.2-11 2.5-21.4 6.4-30.7-38.71-12.9-66.7-37.3-78.9-74zm318 55.9h-2.6l-6.6.3c-2.2.2-4.3.4-6.4.6-33.3 3.8-68.3 19-96.1 32.3l-7.2 3.4c-1 .9-2.1 1.8-3.1 2.8 0 0-23-18.1-55.1-24.7-23.1-4.7-16.4 33.5 1.5 49 18.9 16.5 36.8 16.3 36.8 16.3-11 20.3-20.3 38.2-28.8 54.6 23 5.7 53.9 4.7 94.9-7.4l11.7-3.5-.2 12.2c-.4 27.5-25.9 53.7-61.9 68.3-24.5 9.9-54.6 14-86.5 7.5-18.2 29.9-39.9 60.1-74.15 99.4H355.9c-.1-10.3.2-20.8.6-31.6l10.9 5.3-8.5-29.1 15.6 4.2-17-55.4c-.8-13.2-2.5-26.1-5.6-38.5 43.9 10.3 98.5 24.3 126 17.4 8-2 21.1-27.6 17.7-43.9-5.3-25.9-40.3-36.3-58.4-52.4 0 0-12.5-29-22.7-43.2-11.7-16.3-32.7-34.1-41.7-41.5l-4.8-.8c-5.7-1-11.5-1.6-17.5-1.6zm3 40.8c20.3 3.4 43.2 9.7 39.4 38.7-24.7-1.9-48.8-3.6-39.4-38.7zM109.6 269c-19.61 15.2-43.6 20.6-69.25 19.6 14.27 31.5 35.56 58.1 62.05 72.8 18.3-11 30.4-32.9 26-56.4-8.9-10.5-15.1-22.9-18.8-36zm37.4 52.6c-1.9 19.2-11.7 36.6-25.9 48.5 23.9 9.2 46.9 11.3 67.5 8.6 8.8-15.7 8.2-28.3 2.7-41.4-17.5-2.3-32.2-7.8-44.3-15.7zm120.7 9.6c-21.2 5.2-40.3 7.6-57.2 7.4 3 11.2 3.2 23.2-.5 35.6 3.6-1.2 7.2-2.4 10.6-3.8 23.6-9.5 40.2-25.4 47.1-39.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RanchGate;

impl IconShape for RanchGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 41v46h462V41H25zm30 64v382h30V105H55zm83.2 0L103 140.2v25.6l60.8-60.8h-25.6zm60.8 0v30h18v-30h-18zm96 0v30h18v-30h-18zm53.2 0l60.8 60.8v-25.6L373.8 105h-25.6zm78.8 0v382h30V105h-30zm-258 48v30h174v-30H169zm-66 142v162l306 .1V295H103zm18 18h240.8l-60 30H121v-30zm270 5.6V343h-48.8l48.8-24.4zM121 361h144.8l-60 30H121v-30zm185.2 0H391v30H246.2l60-30zM121 409h48.8L121 433.4V409zm89.2 0H391v30.1l-240.8-.1 60-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Raspberry;

impl IconShape for Raspberry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414.2 23.8c-32.6 21.11-82.2 38.16-89.9 75.73-21-23.55-52.9-37.08-77.1-37.48-35.4-.26-71.3 10.72-104.3 31.15 61.1 4.05 88.5 13.1 139 29.1l-21.8 9.6c-13.7 6-19.7 11.9-22.4 16.9-6 18.8 4.4 33.7 2.4 51 12.5-3.2 25.1-5.1 36.1-8.6 16.4-5.3 29-13 36.9-35.5l6.7-19.2 9.7 17.8c11.8 21.7 22.5 31.7 32.1 36.4 9.6 4.6 19.1 4.4 30.4 2.8 20-2.6 34.7-6.8 52.7-1.8-7.5-18-9.1-31.6-14.4-40.8-19.2-25-63.6-33.2-88.9-38.9 3-42.14 55.8-54.89 83-73.4zm-304.5 87.7c-20.49 30.3-3.9 61.7 28.8 56.2-1.8-22 5.8-42.5 21.6-56.1-13.7-3.2-40.4-10.9-50.4-.1zM195 116c-14.8 3.3-29.7 10.6-36.1 27.8-8.2 21.7 1 44.1 19.1 50.9 11.2 4.2 33.5.4 43.4-7.3 2.7-19.9-7.4-37.3 3.7-52.1-6-10.4-18.3-21.7-30.1-19.3zM88.98 167.1c-4.5 4.4-8.3 10-10.8 16.7-8.2 21.7 1 44.1 19.1 50.9 6.22 2.4 12.92 2.6 19.42 1-1.4-19.6 4-37 16.4-50.5-18.3-.6-33.32-4.8-44.12-18.1zm228.52 17.3c-10 12.5-22.9 19.7-35.8 23.9-13.6 4.4-27.3 6.5-39 9.5 4.6 4.5 10.3 8.2 16.9 10.7 23.5 8.8 48.4-1.7 56.3-22.6 2.6-7 3.1-14.4 1.6-21.5zm-168.9 9.4c-5.3 4.6-9.7 10.8-12.5 18.2-8.1 21.8 1 44.2 19.1 51 9.5 3.5 19.9 2.2 28.9-2.9-8.6-17.9 11.1-43.5 20.7-47-22.8-.8-42.1-.2-56.2-19.3zm187.7.5c-.6 12.6-5.3 24.3-12.5 33.4 1.6 13.8 9.7 25.5 21.9 30.1 18 6.8 39.7-4 47.9-25.8 2.7-7.1 3.5-14.3 2.7-21-26.1 1.4-42.5.3-60-16.7zm77.7 14c2 23.5-7.7 45.7-25.4 58.9 6.4 10.7 16.5 18.2 27.3 19.5 18.6 2.4 34.8-13.6 34.9-37.6 0-18.2-9.2-34.1-21.8-41.8-5.1-.2-10.6.3-15 1zm-189.3 16.1c-11.3 3.9-16.4 7.8-20.5 18.4-7.8 20.6 5.1 45.6 30.6 55.3 25.5 9.6 51.7-.8 59.4-21.5 3.6-9.4 2.8-19.8-1.5-29.1-27.1 5-51.7-2.7-68-23.1zM72.98 239.9c-4.4 5.6-7.5 12.7-8.7 21-3.33 23.3 10.2 44.6 28.8 48.8 3.06.7 6.21.8 9.32.5-5.54-18.9-2.41-40.6 8.2-55.5-14.45.4-28.23-5.4-37.62-14.8zm240.12 12c2.5 17.5.4 31.4-9.4 44.5 4 10.3 12 18.2 22.3 21.1 18.6 5.2 39.3-7.4 45.5-29.8 1.2-4.1 1.8-8.3 1.8-12.6-25.2 6.5-47.9-2.1-60.2-23.2zm-185.5 11.2c-5.8 6.5-9.6 15.5-10.2 26.1-1.3 23.5 14 43.5 32.9 46 7.8 1.1 15.3-1 21.6-5.4 0-15.7 5.7-30.4 15.4-41.2-.4-3.1-1.2-6.2-2.2-9.2-23 6.5-43.7 1.7-57.5-16.3zm260.3 29c-5.3 18.8-13.5 27.5-25.5 35.3 3.5 9.2 10.4 16.6 19.5 20 18 6.8 39.7-4 47.9-25.7 2.3-6.1 3.2-12.1 3-17.9-16 3.9-33.6-2.3-44.9-11.7zm-185.1 6.3c-4.4 4.2-8 9.5-10.3 15.6-8.1 21.3 2.4 44.7 23.2 52.5 20.9 7.9 44.1-2.8 52.2-24.1 3-8.2 3.4-16.7 1.5-24.5-26 3.9-48.9-2.1-66.6-19.5zm88.5 13.4c-1.5.4-3.1.9-4.6 1.5 4.8 25.4-3.8 49-23.4 63 2.4 3.1 5.5 5.6 8.9 7.5 16.8 9.1 41 2 53.8-17.7 6.5-9.9 8.5-20.7 6.8-30.1-16.9-.5-33.7-11.9-41.5-24.2zm-226.37 1.4c-2.35 5.3-3.7 11.5-3.71 18.4 0 21.8 13.26 40.4 29.66 45.4-4.57-17.1-4.06-33.9 3.4-48.8-11.04-2-22.45-8.3-29.35-15zm48.57 18.5c-3.8 5.3-6.4 11.9-7.5 19.4-3.4 23.3 10.2 44.6 28.8 48.7 4.7 1.1 9.6 1 14.3-.3-2.8-17.3-1.1-32 7.1-45.9-16.3 0-34.3-11.3-42.7-21.9zm238.3 13.8c-2.5 20.3-11.9 36.3-27.4 47.4 2.7 4.6 6.6 8.4 11.5 11.1 16.7 9.2 40.9 2.1 53.8-17.6 4-6.3 6.3-12.8 7.1-19.1-18 1-35.6-8.3-45-21.8zm-174 9c-4.8 5-8.5 11.4-10.6 18.9-6.3 22.2 5.2 44 24.5 49.4 19.3 5.4 40.3-7.3 46.6-29.6.6-2.3 1-4.6 1.3-7-30.8 6.1-50.7-9.8-61.8-31.7zm78.6 40.5c-3.7 14.3-14.6 29.9-24.9 37.1 2.5 3.1 5.5 5.6 9 7.5 16.8 9.1 40.9 2.1 53.8-17.7 3.9-6 6.2-12.3 7-18.5-18 2.2-31.9 1.2-44.9-8.4zm-155.8 1.3c-1.04 4.9-1.26 6.7-1.42 10.1-.6 12 2.72 23.1 7.92 31 5.3 7.8 12.1 12.3 19.5 13 2.2-11.7 4.1-23 9.1-32.1-15.7-4.6-26.9-9.6-35.1-22zm217.3 17.3c-4.8 16.3-17 30.4-30.4 38.4.3.2.5.4.8.5 15.5 10.5 40.9 6 56.7-12.1 4.3-4.8 7.2-10 9-15.1-14.6-.4-25.9-3.2-36.1-11.7zm-160.5 4.9c-3.7 4.3-6.9 9.5-9.2 15.6-8.4 22.2-.3 43.7 14.9 49.4 15.2 5.7 35.4-5.2 43.7-27.3 1.9-5.2 3-10.2 3.3-15.1-21.3 3.3-41.7-6.4-52.7-22.6zm69.2 33.7c-2.2 10.7-7.6 21.4-13.7 29.2.8.9 1.8 1.8 2.8 2.5 6 4.4 14.1 5.5 23.2 3 15.8-6.1 26-14.4 32.9-28.2-17.4 2.5-32.5 2.2-45.2-6.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rat;

impl IconShape for Rat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M433.5 31.6c-8.5 0-15.1 6.58-15.1 14.81s6.6 14.81 15.1 14.81 15.1-6.58 15.1-14.81S442 31.6 433.5 31.6zM267 59.05c6.6 15.84 17.1 18.03 31.1 24.77-11.2 20.98-23.2 51.08-43.5 59.28-64.7 26.1-98.7 58.3-112.3 98.7-13.1 39-7 87.2 13.3 145.4 61.8 4.9 127.3 9.2 159.4 2.8-1.3-4.4-5.8-7.5-8.6-9-28.5-9.8-45.2-10.9-71.5-12l1.1-9.6c2.2-19.6.4-44.3-7.7-61.3-4.1-8.5-9.5-14.9-16.5-18.8-7-3.9-15.8-5.7-28.4-3.3l-3.2-17.8c13.5-2.4 29.4-.6 40.4 5.4 10.9 6.1 18.7 15.8 23.9 26.7 9.1 18.9 11.1 41.6 9.9 61.8 10 .6 18.9 1.6 26.8 2.9 19.2-30.7 37-60.4 39.5-90.7-13.8-4-32.4-10.7-34.3-24.4-2.7-19.6 3.6-45 19.3-55.5-1 27.8-4.3 43.9-2.3 49.7 5.8 10.9 30.3 15.2 40.1 17.4v.1c17.4 4.8 31.9 7 34.8 25.6 18.2-29.5-14.4-45-36.2-54.5l-.1-5.8c-.3-23.5 5.5-39.4 13.5-53.1 8-13.6 17.7-25 26.9-43.2v-.1c-9.4-1.3-19.4-.1-27.1 1.3 5.7-19.9 23.2-23.73 38.6-16.1 5.9-8.3 13.4-18.83 24.9-29.96-12.7-9.39-19.9-20.4-18.1-33.92-28-3.4-57.4-4.45-78.6 9.84l-4-3.72c-15.7-17.87-60.9-12.3-51.1 11.11zm67.9-4.17c4 7.92 14.9 12.95 29.2 13.88-8 6.49-20.7 11.42-30.3 5.24-7.3-4.71-3.7-13.07 1.1-19.12zM129.4 364.6c-14.6 3.2-38.77 7-49.63 16-8.5 7.4-15.03 19.8-16.19 31.4-1.17 11.6 1.99 21.6 12.85 28.8C120 469.7 165 466.4 205.4 454.9c40.4-11.6 75.4-32.6 119.4-22.8 8.4 2.5 15.7 6.5 14.5 15.9-.4 2.8-1.5 4.8-2.7 6.5-9.7 10.8-30.9 17.7-33.6 21.5-6.4 9.2 34.2 2.8 45-7.6 4.2-4.2 8.1-13 8.9-21.3.8-8.3-1.3-15.3-4.9-18.3-11.2-9.6-24.1-15.1-39.8-15.1-15.7-.1-34 1.7-53.5 6.5-39.1 9.6-83.6 27.5-127.4 18.6-17-3.4-27.4-6.8-33.77-14.9-3.22-4-4.39-10.6-2.48-15.4 7.45-15.2 28.15-17.8 40.95-20.5-2.4-7.2-4.6-16.4-6.6-23.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rattlesnake;

impl IconShape for Rattlesnake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436.7 27.14c-.2 0-.4.1-.7.12l-37.2 9.66c0 .1-.5.4-1 1.68-.7 1.75-1.1 4.68-.7 7.16.3 2.49 1.4 4.3 2.1 4.97.7.67 1.1 1.17 4.2.53l22.2-4.85 14-3.77c.7-.57 1.1-1.25 1.4-2.14.7-1.67.9-4.25.4-6.74-.6-2.49-2-4.71-3.1-5.7-.5-.49-.8-.75-1.1-.86h-.5zM121 41.07h-7.6c-4 .1-7.1.24-10.6.38-.5 5 1 9.03 4.9 14.29 5.5 7.21 16.8 15.91 34.5 26.1L168 96.72l-75.64 4.88c6.78 8.9 16.64 17.4 28.34 24.3 16.8 9.8 36.8 16.4 54.5 17.8l3.8.3 2.5 3c44.9 54.9 72.5 83.3 141.1 124l25.6 15.2-29.7 1.5c-62.6 3.2-98.9-1.7-186.1 8.4-17.2 2.1-28.5 7.8-33.65 13.9-4.46 5.2-5.52 10.6-2.56 18.3 4.31 1 8.81 1.9 13.51 2.8 118.6 13.4 203.6 8.8 289.3 1.1 14.8-5.7 21.4-14.4 23.8-23.1 2.7-9.6-.2-19.7-5.4-25.4-42.4-45.6-81.7-68.6-114.6-91.2-33-22.6-60.1-45.7-72.7-89.2l-.4-1.2v-1.2c-.1-15.81-5.4-26.36-14.1-34.79-8.8-8.43-21.5-14.45-36-18.36-18.9-5.15-40.5-6.6-58.6-6.68zm325.9 18.4c-.3 0-.6.1-1 .15l-42.6 11.45s-.9.44-1.9 2.87c-1 2.43-1.4 6.21-1 9.5.5 3.29 1.8 5.87 3 6.96 1.1 1.09 1.9 1.72 5.6.93l38.9-8.84c2.8-1.04 4.1-2.47 5-4.82 1-2.41 1.2-5.9.5-9.19-.7-3.29-2.4-6.23-3.9-7.64-.8-.7-1.3-1.1-1.8-1.27-.3-.11-.5-.16-.8-.15zm-238.8 2.36L207 88.86l-44.9-20.01zm251.3 37.69c-.6 0-1.1.1-1.8.2l-49.1 11.48c-.9.2-1.9.9-2.9 3.2-1.1 2.3-1.6 5.8-1.1 8.9.5 3 1.8 5.4 3.4 6.7 1.5 1.2 3.5 2.2 8.3 1.3l45.1-8.9c3.9-1.2 5.4-2.9 6.5-5.1 1-2.3 1.2-5.4.4-8.5-.7-3.1-2.6-6-4.5-7.5-1.4-1.2-2.7-1.78-4.3-1.78zm8.5 39.68c-.6 0-1.1.1-1.8.2L417 150.9c-.9.2-2 .9-3 3.2-1 2.3-1.5 5.8-1.1 8.9.5 3 1.8 5.4 3.4 6.7 1.5 1.2 3.6 2.2 8.4 1.3l45.1-8.9c3.9-1.2 5.4-2.9 6.4-5.1 1.1-2.3 1.3-5.4.5-8.5-.8-3.1-2.6-6-4.5-7.5-1.4-1.2-2.7-1.8-4.3-1.8zm-6.1 42.8l-22 4.3c8 29.1 13.1 52.4 12.7 74.6-.3 23.1-6.7 45-20.3 70.5 15.4 2.7 26.9 11.2 33.4 21.8 10-55.4 10.9-115.8-3.8-171.2zM87.21 347.3c-10 .1-16.32 2.4-20 5.2-4.91 3.6-6.53 8.3-6.26 14.4.28 6.2 3.16 13.4 7.27 18.5.55.7 1.12 1.3 1.7 1.9.44.1.88.1 1.33.2C209 410.8 331.5 409.4 445.4 393.6c2.4-1.6 4.3-3.8 5.7-6.4 2.6-4.7 3.5-10.8 2.3-16.7-2.5-11.9-11.6-23.1-34.6-22-94.5 8.9-186.9 15.3-320.33-.6-3.14-.4-6.03-.6-8.69-.6zm-28.54 57.1c-20.88 0-32.34 13-36.64 27.5-2.46 8.2-2.05 16.9.81 23.3 2.85 6.4 7.51 10.8 16.06 12.5 69 13.3 286.9 32.5 434.5-3.7 6.9-1.7 11.2-5.7 14.2-11.7 3.1-5.9 4.4-13.7 3.8-21.2-.7-7.4-3.4-14.3-6.9-18.3-3.5-4.1-6.9-5.8-12.8-4.9-122.1 19.2-254.2 22.5-403.49-2.6-3.38-.6-6.55-.9-9.53-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RawEgg;

impl IconShape for RawEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.2 81.04c-50.5-.37-102.4 7.47-147.6 15.91C125 101 97.48 106 73.59 116c-23.89 10-45.38 26-49.81 51.8-2.21 12.9 3.14 24.4 10.95 32.9 7.81 8.5 17.98 15 28.12 21.4 10.14 6.3 20.28 12.5 27.88 19 7.59 6.5 12.27 12.9 13.57 20 2.2 11.8-1.8 24.7-9.75 38.7-7.98 14-19.7 28.6-30.92 43.2-11.21 14.5-22 29-27.82 44.1-5.82 15.2-5.71 32.5 5.75 46.7 14.82 18.3 36.25 22.6 57.32 19C120 449.2 142 438.9 164.4 428s45.1-22.4 66-29c21-6.5 39.5-8 55.1-.8 4 1.8 7.2 5.8 10 12.4 2.9 6.6 5 15.3 7.3 24.1s4.7 17.7 9.3 25.5c4.6 7.8 12.8 14.7 23.5 15.1 21.3.8 40.1-7 55.8-19.5 15.7-12.6 28.5-30 39.4-49.4 21.8-38.9 36-86.5 46.4-123.3 6.1-21.9 11.6-47.9 11.5-73.2-.1-25.3-5.8-50.5-23.2-69-38-40.3-92.6-55.88-149.7-59.17-7.2-.41-14.4-.63-21.6-.69zm-.1 18.01c6.9 0 13.8.26 20.6.65 54.6 3.1 104 17.8 137.6 53.6 13.2 14 18.3 34.1 18.4 56.7.1 22.6-4.9 47.2-10.9 68.3-10.2 36.4-24.3 83-44.7 119.3-10.1 18.1-21.9 33.6-35 44.1-13 10.5-27.2 16.2-43.9 15.6-4.2-.2-5.9-1.5-8.6-6.2-2.7-4.7-5.1-12.4-7.3-21-2.3-8.5-4.5-17.9-8.3-26.6-3.7-8.7-9.4-17.2-18.9-21.7-21.3-9.8-44.9-7.2-68 .1-23.2 7.2-46.4 19.1-68.6 29.9-22.2 10.8-43.3 20.3-60.64 23.3-17.33 3-29.56.6-40.31-12.7-7.47-9.2-7.39-17.2-2.94-28.8 4.45-11.6 14.24-25.3 25.28-39.7 11.04-14.3 23.31-29.4 32.31-45.2 9-15.9 15.1-33 11.9-50.8-2.4-12.8-10.4-22.6-19.7-30.5-9.23-7.9-20.04-14.3-29.97-20.6-9.94-6.2-18.96-12.3-24.47-18.3-5.52-6-7.63-10.7-6.44-17.7 3-17.5 17.74-29.2 39.02-38.1 21.26-8.9 47.76-14 69.46-18.1 44.6-8.3 95.5-15.89 144.1-15.55zM264 154.1c-22 .2-50.8 16.2-71 38.2-20.8 22.7-31.2 49.9-22.6 69.1 10.9 24.5 48.8 39.8 88.6 40.3 39.8.6 78.6-13.8 90.9-37.7 9.2-18 1.2-45-16.9-68.2-18.2-23.2-45.7-40.9-66.9-41.7H264zm-3.6 22.2c6.1 0 12.2 1.3 18.1 4.4-40.9 20.4-64.1 46.5-79.3 76.9-13.8-28.5 23.8-81 61.2-81.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Razor;

impl IconShape for Razor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.9 38.05c-1.7 0-2.9.36-3.6.84-9.3 6.84-14.4 20.81-14.2 36.27.1 7.36 1.6 14.85 4 21.67 8.3-5.28 17.1-10.41 26.3-15.38-.2-1.2-.2-2.38-.2-3.51 0-5.38 1.4-10.15 2.6-14.5 1.2-4.34 2.3-8.28 2.7-11.14.4-2.86.1-4.1-.3-4.65-1.6-2.69-6.4-6.61-11.1-8.39-2.4-.89-4.5-1.21-6.2-1.21zm65.5 42.46c-6.4-.12-13.3 1.3-20.5 4.76h-.1C148.5 130.9 97.96 193 70.73 252.9c-27.27 59.8-31.08 117.5-33.39 154.3-2.8 44.6 18.99 63.6 40.84 66.4 21.92 2.7 44.82-10.6 47.32-43.5C133.1 330 162.2 229 291.7 139.7l-.2.1c8.9-6.5 12.3-13.7 13-21.1.6-7.4-1.9-15.4-7.1-22.13-6.4-8.46-16.3-14.89-28.3-15.95-.9-.1-1.8-.13-2.7-.15zm-30 29.09c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm0 18c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm52.4 36.3c-8.4 6.1-16.3 12.3-23.8 18.5l57.8 57.8 6.3 6.4-11.4 11.3 142.7 142.7c1.7-2.5 3.3-5 4.7-7.5 5.8-10 9.5-20 9.8-28.7.4-8.7-1.9-16.2-9.5-23.7-58.8-58.9-117.7-117.9-176.6-176.8zM305 270.7l-21.2 21.2 145.6 145.6c6.2-6.3 13.3-13.9 20.2-22.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ReceiveMoney;

impl IconShape for ReceiveMoney {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258 21.89c-.5 0-1.2 0-1.8.12-4.6.85-10.1 5.1-13.7 14.81-3.8 9.7-4.6 23.53-1.3 38.34 3.4 14.63 10.4 27.24 18.2 34.94 7.6 7.7 14.5 9.8 19.1 9 4.8-.7 10.1-5.1 13.7-14.7 3.8-9.64 4.8-23.66 1.4-38.35-3.5-14.8-10.4-27.29-18.2-34.94-6.6-6.8-12.7-9.22-17.4-9.22zM373.4 151.4c-11 .3-24.9 3.2-38.4 8.9-15.6 6.8-27.6 15.9-34.2 24.5-6.6 8.3-7.2 14.6-5.1 18.3 2.2 3.7 8.3 7.2 20 7.7 11.7.7 27.5-2.2 43-8.8 15.5-6.7 27.7-15.9 34.3-24.3 6.6-8.3 7.1-14.8 5-18.5-2.1-3.8-8.3-7.1-20-7.5-1.6-.3-3-.3-4.6-.3zm-136.3 92.9c-6.6.1-12.6.9-18 2.3-11.8 3-18.6 8.4-20.8 14.9-2.5 6.5 0 14.3 7.8 22.7 8.2 8.2 21.7 16.1 38.5 20.5 16.7 4.4 32.8 4.3 44.8 1.1 12.1-3.1 18.9-8.6 21.1-15 2.3-6.5 0-14.2-8.1-22.7-7.9-8.2-21.4-16.1-38.2-20.4-9.5-2.5-18.8-3.5-27.1-3.4zm160.7 58.1L336 331.7c4.2.2 14.7.5 14.7.5l6.6 8.7 54.7-28.5-14.2-10zm-54.5.1l-57.4 27.2c5.5.3 18.5.5 23.7.8l49.8-23.6-16.1-4.4zm92.6 10.8l-70.5 37.4 14.5 18.7 74.5-44.6-18.5-11.5zm-278.8 9.1a40.33 40.33 0 0 0-9 1c-71.5 16.5-113.7 17.9-126.2 17.9H18v107.5s11.6-1.7 30.9-1.8c37.3 0 103 6.4 167 43.8 3.4 2.1 10.7 2.9 19.8 2.9 24.3 0 61.2-5.8 69.7-9C391 452.6 494 364.5 494 364.5l-32.5-28.4s-79.8 50.9-89.9 55.8c-91.1 44.7-164.9 16.8-164.9 16.8s119.9 3 158.4-27.3l-22.6-34s-82.8-2.3-112.3-6.2c-15.4-2-48.7-18.8-73.1-18.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RedCarpet;

impl IconShape for RedCarpet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.3 50.48a16 16 0 0 0-16 16 16 16 0 0 0 7.6 13.61c-1.9 17.76-6.4 37.01-14.1 50.61-5.8 10.2-12.4 17.1-21.4 19.7a18.5 18.5 0 0 0 1.5-7.3 18.5 18.5 0 0 0-18.5-18.5 18.5 18.5 0 0 0-18.5 18.5 18.5 18.5 0 0 0 15.16 18.2l.45 1.8c1.1 24.6.61 54.4-6.85 74.8-3.84 10.6-9.23 18.2-16.5 22.6-4.64 2.8-10.34 4.6-17.77 4.5a20.57 20.57 0 0 0 3.38-11.3 20.57 20.57 0 0 0-20.57-20.6 20.57 20.57 0 0 0-20.57 20.6A20.57 20.57 0 0 0 33.68 274l53.65 192.4 3.3-.9 7.48-27.4L54.87 283c10.19-.1 19.13-2.5 26.61-7.1 11.82-7.1 19.32-18.8 24.12-31.8 2.3-6.3 4-12.9 5.2-19.8l21.8 87.2 9.6-35.3-26.8-107.6c16.4-3.2 29.1-14.8 37.1-29.1 2.4-4.2 4.4-8.7 6.2-13.3l7.7 61.4 12.4-45.4-8.1-64.54a16 16 0 0 0 4.6-11.18 16 16 0 0 0-16-16zm193.4 0a16 16 0 0 0-16 16 16 16 0 0 0 4.6 11.18l-8.1 64.54 12.4 45.4 7.7-61.4c1.8 4.6 3.8 9.1 6.2 13.3 8 14.3 20.7 25.9 37.1 29.1l-26.8 107.6 9.6 35.3 21.8-87.2c1.2 6.8 2.9 13.5 5.2 19.8 4.8 13 12.3 24.7 24.1 31.8 7.5 4.6 16.4 7 26.6 7.1l-43.2 155 7.5 27.5 3.3.9L478.3 274a20.57 20.57 0 0 0 17.1-20.3 20.57 20.57 0 0 0-20.6-20.6 20.57 20.57 0 0 0-20.6 20.6 20.57 20.57 0 0 0 3.4 11.3c-7.5.1-13.1-1.7-17.8-4.5-7.2-4.4-12.6-12-16.5-22.6-7.4-20.4-7.9-50.3-6.8-74.9l.4-1.7a18.5 18.5 0 0 0 15.2-18.2 18.5 18.5 0 0 0-18.5-18.5 18.5 18.5 0 0 0-.1 0 18.5 18.5 0 0 0-18.4 18.5 18.5 18.5 0 0 0 1.5 7.3c-9-2.6-15.6-9.5-21.4-19.7-7.7-13.6-12.2-32.85-14.1-50.61a16 16 0 0 0 7.6-13.61 16 16 0 0 0-16-16zM198.9 137l-91.1 334h296.4l-91.1-334H198.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Reed;

impl IconShape for Reed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M350.8 22.28c-2.3 13.74-4.6 27.67-6.8 41.68h.6c1.3-.1 2.7 0 4.1.1 4.5.4 8.9 1.78 12.9 3.97 2.3-14.37 4.6-28.66 7-42.75zm-171.6.32l-17.8 2.52c1.2 8.41 2.4 16.86 3.6 25.34 3.9-1.63 8-2.62 12.2-2.89 1.8-.12 3.7-.1 5.5.1-1.2-8.37-2.3-16.73-3.5-25.03zm.4 42.89h-1.2c-12.7.8-26.1 11.9-23.7 40.61l10.2 127.7c2.3 28.6 17.7 38.2 30.4 37.4 12.7-.8 26.1-12 23.8-40.5l-10.3-127.8c-2.2-27.65-16.8-37.55-29.2-37.41zm165.6 16.4c-4.5.13-9.2 2.17-13.6 7.1-5.1 5.65-9.6 15.31-10.9 29.71l-11.3 127.5c-1.3 14.5 1.4 24.8 5.4 31.2 4 6.5 9 9.3 14 9.7 4.9.5 10.4-1.4 15.4-7 5.1-5.7 9.6-15.3 10.9-29.8l11.4-127.5c1.3-14.4-1.4-24.71-5.4-31.17-4-6.46-9-9.23-14-9.68-.6-.1-1.3-.1-1.9-.1zM25.99 223.3C78.79 299.9 126.7 397.8 125 489.7h35.3c3.1-20.8 7.5-39.3 13-56.2-10.9-35.5-28.2-73.7-49.5-108.1-28.14-45.5-63.44-83.9-97.81-102.1zM419.3 270c-1.3 0-3.7.7-6.8 3.1-3.6 2.7-7.8 7.3-11.9 13-3.3 4.7-6.6 10.2-9.6 16 5-2.1 10-3.7 15-4.4 13.3-2 26.3 1 37.8 8.1 16.5 10.2 30.1 28.1 42.2 52.2-.3-15.6-3.4-31.3-9.5-45-10.4-23.3-28.3-40.3-56.7-43zm-210.9 16.3c-3.8 1.6-7.9 2.5-12 2.8-2 .1-4 .1-5.9-.1 1.8 33.1 2.7 65.9 2.3 97.9 5.5-10.6 11.5-21 18.1-31.4-.3-22.9-1.2-46-2.5-69.2zm104.5 14.1c-5.5 56.5-9.3 112.6-10.6 166.7 5.9-20.8 12.7-41.5 20.6-62.1 1.8-32.8 4.5-66.2 7.7-99.8-1.2 0-2.3 0-3.4-.1-5-.5-9.9-2.1-14.3-4.7zm88.3 16.9c-7 2.3-14.7 6.4-23 12.9-30.1 52.2-49 105.1-63.4 159.5h80.5c-12.6-57.3-5-115 5.9-172.4zm-146.7 5.6c-38.5 54.6-64.6 95.2-75.8 166H237c-13-31.1-12.1-62.8-4.3-96.6 5-21.6 12.9-44.6 21.8-69.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Refinery;

impl IconShape for Refinery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.7 21.92S347.8 45.41 344 57c-3.4 10.38-23.5 9.3-26 19.94-1.9 8.45 7.2 21.49 12.5 28.16h6.8c7.1-11.21 12.6-21.78 14-34.94 7.9 8.26 10.4 21.29 1.1 34.94h8.4c8-9.54 24.2-30.9 21.2-44.69-4.3-20.13-48.3-38.49-48.3-38.49zM104 51.07c-17.5 0-29.44 4.94-35.49 14.01C62.46 74.15 63 84.07 63 92.07v12.03h18V92.07c0-8 .54-14.08 2.49-17.01 1.95-2.93 6.01-5.99 20.51-5.99h64c10 0 23 12.46 23 24.59V215.7h18v-28.6h103.3l1.6-18H209V93.66c0-23.05-19-42.59-41-42.59zM56 121.1v18h32v-18zm280.2 2l-14.3 158h44.2l-14.3-158zM72 155.1c-10 0-19.88 3.4-27.02 9.7C37.83 171.2 33 180.3 33 194.1v296h78v-296c0-13.7-4.8-22.9-12-29.3-7.12-6.3-17-9.7-27-9.7zm307.9 78l1.6 18H408c14.5 0 23.7 3.5 29.6 9.4 5.9 6 9.4 15.5 9.4 30.4v39.9c2.8-1.1 5.8-1.7 9-1.7s6.2.6 9 1.7v-39.9c0-17.9-4.5-32.8-14.6-43-10.1-10.3-24.9-14.8-42.4-14.8zm-202.9 2v14h46v-14zm23.5 32c-29.7 0-55.8 14.7-71.5 37.3v16.7h142V303c-15.8-21.7-41.4-35.9-70.5-35.9zm88.5 32v110h110v-110zm-160 40v14h142v-14zm327 8c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm-327 24v32.6c6.6 9.5 15 17.6 24.7 23.8L131 473.1v17h37.5v-17h-17.4l18.8-37.5c9.5 3.5 19.8 5.5 30.6 5.5s21.1-2 30.6-5.5l18.8 37.5h-17.4v17h64v-17h-26.4l-22.8-45.6c9.2-5.9 17.3-13.5 23.7-22.3v-34.1zm318 6.3v31.7h18v-31.7c-2.8 1.1-5.8 1.7-9 1.7s-6.2-.6-9-1.7zm-116.3 49.7l49.6 63h41l-49.6-63zm64 0l49.6 63H479v-8.9l-43.3-54.1zm64 0l20.3 25.4v-25.4zM321 443.7v46.4h36.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ReloadGunBarrel;

impl IconShape for ReloadGunBarrel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.54 27.87l-19.1 62.25 14.35 4.4 18.93-62.3zm31.39 9.62L62.99 99.8l141.51 43.4 19.2-62.24zM240.7 86.76l-18.8 61.14c16.5 3.8 37 5.5 56.3 4.8 17.5-.6 34-3.4 45.3-7.1-7.3-9.4-19.5-21-33.5-31.3-15.6-11.4-33.5-21.4-49.3-27.54zM78.36 158c7.76 20.9 21.19 45.8 37.24 67.8 22 30.1 49.3 55 70 60.7l16 4.5-46.8 27.7c36.5 4.1 100.6 3.3 131.5-4.3-15.3-27.6-25.4-63.4-29.3-89.8l-22.6 37.6-3.7-.2c-32.4-2.2-57.3-21.9-74.3-45.7-12.9-18.1-21.6-38.8-26.6-57.6-18.6 10.3-34.4 7.6-51.44-.7zM384 190.5c-39.3 0-75.7 12.6-105.3 34 2.3 15.7 4.1 28.9 7.3 41.6.5 0 .9-.1 1.4-.1h1.8c9-.1 17.8 2.2 25.6 6.7 23.8 13.8 32 44.5 18.3 68.3-13.8 23.8-44.5 32-68.3 18.3-8.5-4.9-15-12.1-19.3-20.3-12.7 1-25.9 1.4-38.9 1.2-1.6 9.8-2.5 19.9-2.5 30.2 0 47.9 18.7 91.4 49.2 123.6h83.1c-1.4-4.6-2.2-9.5-2.2-14.6 0-27.5 22.5-50 50-50s50 22.5 50 50c0 5.1-.8 10-2.2 14.6h62v-21.7c-13.1 4.3-27.8 3.3-40.6-4.1-23.8-13.8-32-44.5-18.3-68.3 8.5-14.8 24-24.2 41-25h1.8c5.5-.1 10.9.8 16.1 2.5v-14.2c-21.9 7.1-46.7-1.8-58.7-22.5-13.7-23.8-5.5-54.5 18.3-68.3 7.3-4.2 15.5-6.4 23.9-6.6h1.7c5.1.1 10.1.9 14.8 2.4V228c-30.4-23.5-68.6-37.5-110-37.5zm0 20.9c27.5 0 50 22.5 50 50s-22.5 50-50 50-50-22.5-50-50 22.5-50 50-50zm0 18c-17.8 0-32 14.2-32 32s14.2 32 32 32 32-14.2 32-32-14.2-32-32-32zm0 16c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm93.9 38.4c-5.4.1-10.7 1.5-15.3 4.2-15.4 8.9-20.6 28.3-11.7 43.7 8.8 15.2 27.8 20.5 43.1 12v-23.5c-1.1 3.8-3.6 7.3-7.4 9.4-7.7 4.4-17.4 1.7-21.8-5.9-4.4-7.6-1.8-17.4 5.8-21.8 2.3-1.4 4.9-2.1 7.6-2.2 5.9-.2 11.4 2.9 14.3 8 .7 1.2 1.1 2.4 1.5 3.6v-23.6c-4.8-2.6-10.4-4-16.1-3.9zM384 354.4c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-95.6 20.5h1.7c17.7.2 34 9.7 42.8 25 13.7 23.8 5.5 54.5-18.3 68.3-23.8 13.7-54.5 5.5-68.3-18.3-13.7-23.8-5.5-54.5 18.3-68.3 7.2-4.2 15.4-6.5 23.8-6.7zm.4 18c-5.3.1-10.6 1.6-15.2 4.3-15.4 8.9-20.6 28.3-11.7 43.7 8.9 15.4 28.3 20.6 43.7 11.7 15.4-8.9 20.6-28.3 11.7-43.7-5.9-10.2-16.8-16.3-28.5-16zm188.1 0c-10.9.5-20.8 6.5-26.2 16-8.9 15.4-3.7 34.8 11.7 43.7 10.2 5.9 22.1 5.6 31.6.3v-24.5c-.4 1.6-1 3.1-1.8 4.5-4.4 7.6-14.2 10.2-21.8 5.8-7.6-4.4-10.3-14.1-5.9-21.8 2.7-4.7 7.7-7.7 13.1-8h1.2c2.7.1 5.3.8 7.6 2.1 4 2.3 6.7 6.1 7.6 10.3V397c-4.5-2.6-9.7-4-14.8-4.1zm-187.7 16c5.8-.1 11.3 2.9 14.2 8 4.4 7.6 1.8 17.4-5.8 21.8-7.6 4.5-17.5 1.9-21.9-5.8-4.4-7.7-1.8-17.5 5.9-21.9 2.3-1.3 4.9-2 7.6-2.1zm95 38.5c-17.8 0-32 14.2-32 32 0 5.3 1.3 10.2 3.5 14.6h22c-5.6-2.5-9.5-8.1-9.5-14.6 0-8.8 7.2-16 16-16s16 7.2 16 16c0 6.5-3.9 12.1-9.5 14.6h22c2.2-4.4 3.5-9.3 3.5-14.6 0-17.8-14.2-32-32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Remedy;

impl IconShape for Remedy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 21v62h174V21H169zm17.4 82l-2.5 5c-2.3 4.8-11.2 12.7-23.4 20.4-12.3 7.7-27.7 15.6-42.7 23.7-15.1 8-29.87 16.1-41.42 24.7C64.82 185.4 55 194.8 55 208v228c0 20.5 15.09 35 30.54 43.8C101 488.6 117 493 128 493h256c11 0 27-4.4 42.5-13.2C441.9 471 457 456.5 457 436V208c0-13.2-9.8-22.6-21.4-31.2-11.5-8.6-26.3-16.7-41.4-24.7-15-8.1-30.4-16-42.7-23.7-12.2-7.7-21.1-15.6-23.4-20.4l-2.5-5H186.4zm10.6 18h118c6.1 8.7 15.8 15.6 27 22.6 13.2 8.3 28.8 16.4 43.8 24.3 14.9 8 29.1 15.9 39.1 23.3 9.9 7.4 14.1 14 14.1 16.8H73c0-2.8 4.18-9.4 14.12-16.8 9.95-7.4 24.18-15.3 39.08-23.3 15-7.9 30.6-16 43.8-24.3 11.2-7 20.9-13.9 27-22.6zm27 151h64v48h48v64h-48v48h-64v-48h-48v-64h48v-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rempart;

impl IconShape for Rempart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 27v467h476V304h-46v64h-80v-64h-64v64h-80v-64h-64v64H80V192h48L18 27zm97 373h18v64h-18v-64zm144 0h18v64h-18v-64zm144 0h18v64h-18v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ReptileTail;

impl IconShape for ReptileTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.22 18c0 34.61 17.48 55.27 37.38 77.31-18.7 11.29-39.56 9.09-58.95 9.79 20.62 18.5 51.75 25 73.95 16.9l29.7 50.7c10.6 2.6 21.6 3 32.4 2 4.2-19.5 9.5-39.1 15.9-58.1-12.4 7.8-19.9 15.7-29.1 26.1l-31.3-33.3c20.2-16.83 27.9-47.97 18.1-70.8-6.4 20.81-17.6 34.78-31.8 44.7-10.9-30.08-36.1-51.44-56.28-65.3zm204.28 0c-14.9 15.8-28.5 37.19-40 61.86-18.9 40.54-32.3 89.44-38.6 134.44v.1c-3.4 24.6 8.4 55.2 17.8 85.7 4.8 15.2 8.9 30.5 9.3 45.6.5 15.1-3 30.4-13.4 43.4-15.7 19.7-41.7 31.6-68.5 35.4-26.9 3.9-55.1-.2-74.89-16.3-28.04-22.9-41.38-52.1-42.48-87.1-.73-23.1 3.5-48.8 11.26-78-16.22 26.3-27.61 55.5-32.16 84.3-6.97 44.1 1.58 86.6 31.21 117.8 23.53 24.8 62.86 39 104.76 41.5 41.9 2.6 86-6.5 118-25.9 52.4-32.6 59.3-64.9 56.8-99.3-2.6-34.4-17.9-70.4-9.3-104.9 10.5-42.2 57.8-91.1 105.8-140.3 23-23.61 46.3-47.2 65.9-68.67V18zm186.9 160.3c-26.3 8.1-44.6 37.2-44.5 57.9l-45.6-4.1 1.9-9.8c2.4-12.7 1.7-25.8-.6-39.2-15.9 18.3-29.5 35.8-38.8 51.2 6.5 11.9 15.1 22.9 25.8 31.4l58.3-7.9c8.3 26 37.2 43 58.1 47.6v-.9c-12.8-18.6-24.7-30.4-27.9-51.4 9.3-.3 16.9 2.9 27.9-1.3v-27.3c-11.3.4-19.4 3.1-30.1 6.3-3.1-19.7 6.6-38.3 15.5-52.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Resize;

impl IconShape for Resize {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M29 30l1 90h36V66h26V30H29zm99 0v36h72V30h-72zm108 0v36h72V30h-72zm108 0v36h72V30h-72zm102 0v78h36V30h-36zm-206 80v36h100.543l-118 118H30v218h218V289.457l118-118V272h36V110H240zm206 34v72h36v-72h-36zM30 156v72h36v-72H30zm416 96v72h36v-72h-36zm0 108v72h36v-72h-36zm-166 86v36h72v-36h-72zm108 0v36h72v-36h-72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RestingVampire;

impl IconShape for RestingVampire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.2 30L29.08 253.2 75.85 487h36.75L66.92 258.8 170.8 66h170.4l103.9 192.8L399.4 487h36.8l46.7-233.8L362.8 30H149.2zM144 144l15.4 77.2c3.5 1 7 1.9 10.5 2.8h.2c-2-10.2-3.1-20.9-3.1-32 0-8 .6-15.8 1.6-23.4L144 144zm224 0l-24.6 24.6c1 7.6 1.6 15.4 1.6 23.4 0 11.1-1.1 21.8-3.1 32h.2c3.5-.9 7-1.8 10.5-2.8L368 144zm-151 6.6c-2 0-4 .1-6 .3-8 .9-15.6 3.3-20.6 5.8-.4.2-.8.5-1.2.7-2.7 10.8-4.2 22.4-4.2 34.6 0 29.2 8.5 55.5 21.8 74 13.2 18.5 30.5 29 49.2 29 18.7 0 36-10.5 49.2-29 13.3-18.5 21.8-44.8 21.8-74 0-12.2-1.5-23.8-4.2-34.6-.4-.2-.8-.5-1.2-.7-5-2.5-12.6-4.9-20.6-5.8-2-.2-4-.3-6-.3-6-.1-12 .6-16.9 2.2-6.6 2.2-11.3 5.6-14 11.2l-8.1 16.1-8.1-16.1c-2.7-5.6-7.4-9-14-11.2-4.9-1.6-10.9-2.3-16.9-2.2zm22.6 45l12.8 12.8c-9 8.9-19.1 14.7-30.1 14.9-11 .1-21.4-5.6-30.7-15l12.8-12.6c7.2 7.3 12.8 9.6 17.7 9.6 4.8-.1 10.5-2.6 17.5-9.7zm68 0l12.8 12.8c-9 8.9-19.1 14.7-30.1 14.9-11 .1-21.4-5.6-30.7-15l12.8-12.6c7.2 7.3 12.8 9.6 17.7 9.6 4.8-.1 10.5-2.6 17.5-9.7zm-201.7 26.1c3.9 30.5 20.8 55 45.4 73 16.9 12.4 37.3 21.5 59.2 26.8l7.9-19.7c-10-6.3-18.9-15-26.3-25.4-6.9-9.6-12.5-20.7-16.7-32.9-22.8-5.1-45.9-12.4-69.5-21.8zm300.2 0c-23.6 9.4-46.7 16.7-69.5 21.8-4.2 12.2-9.8 23.3-16.7 32.9-7.4 10.4-16.3 19.1-26.3 25.4l7.9 19.7c21.9-5.3 42.3-14.4 59.2-26.8 24.6-18 41.5-42.5 45.4-73zM218 243h76v18h-11.5L272 282l-10.5-21h-11L240 282l-10.5-21H218v-18zm-96.8 49.1l-18.4 3.7c-1.7 6.2-2.6 16.2-1.8 28.6.9 15.4 3.9 34.1 7.8 53.8 7.4 37.1 18.2 77.3 26.2 108.8h31l-14.9-134 17.8-2L184 487h63v-78h-11.8l-37.3-55.9 5.9-14.7c-23.1-5.9-44.8-15.7-63.1-29.1-7-5.2-13.6-10.9-19.5-17.2zm269.6 0c-5.9 6.3-12.5 12-19.5 17.2-18.3 13.4-40 23.3-63.1 29.1l5.9 14.7-37.3 55.9H265v78h63l15.1-136 17.8 2L346 487h31c8-31.5 18.8-71.7 26.2-108.8 3.9-19.7 6.9-38.4 7.8-53.8.8-12.4-.1-22.4-1.8-28.6l-18.4-3.7zm-156.1 17.4l-16.6 41.4 26.7 40.1h22.4l26.7-40.1-16.6-41.4c-6.8 2.3-13.9 3.5-21.3 3.5s-14.5-1.2-21.3-3.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Revolver;

impl IconShape for Revolver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M481.14 125.357c-18.78 5.476-34.912 14.487-46.952 32.973h46.953v-32.973zm-188.915 50.01l-13.125.002-.116 35.74H491.47l-.343-35.74H292.225v-.003zm-29.125.002l-33.07.003-97.298.008c-16.018 27.973-16.89 57.78 1.04 94.07H262.8l.063-20.22H168.09a8 8 0 1 1 0-16h94.8v-22.68h-95.15a8 8 0 1 1 0-16h95.3l.06-19.18zm-161.377.01c-7.834 28.723-12.348 45.61-18.73 58.69-6.78 13.893-15.75 23.88-32.3 41.7C11.077 351.204 17.48 389.416 20.46 432.083c12.07 14.128 29.67 21.282 48.724 23.54 17.703 2.097 36.135-.286 50.816-4.597-.272-47.016 8.213-93.296 40.84-139.84l5.264-7.507 6.724 6.23c18.24 16.9 40.922 21.272 63.205 17.717 22.283-3.555 43.756-15.464 57.254-30.285 9.92-10.894 12.492-23.074 11.66-37.932h-26.115l-.084 26.04h-.695c-9.56 10.992-33.904 24.083-47.803 24.146-13.556.06-35.84-13.197-47.896-24.145H123.88l-2.253-4.266c-20.284-38.435-21.828-74.208-7.06-105.803h-12.844zm-74.88 2.47c7.33 23.547 19.127 43.547 34.825 60.796 2.733-3.822 4.952-7.508 6.945-11.593 2.33-4.772 4.44-10.37 6.715-17.44-.225-.142-.403-.248-.635-.394-7.68-4.854-17.46-11.227-27.117-17.58-10.508-6.916-13.477-8.943-20.734-13.79zm252.09 49.26l-.042 13.66v2.638h82.72V227.11h-82.676zM88.642 293.9c16.474 0 30 13.525 30 29.998 0 16.474-13.526 30-30 30-16.473 0-30-13.526-30-30 0-16.473 13.527-29.998 30-29.998zm0 15.998c-7.826 0-14 6.174-14 14 0 7.827 6.174 14 14 14 7.827 0 14-6.173 14-14 0-7.826-6.173-14-14-14zm-18.025 67.676a13 13 0 0 1 12.625 12.998 13 13 0 1 1-26 0 13 13 0 0 1 13.375-12.998z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RhinocerosHorn;

impl IconShape for RhinocerosHorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M450.125 32.734c-9.41 47.727-17.293 105.183-30.922 156.774-8.34 31.574-18.838 60.978-33.72 84.795-12.89 20.63-29.425 37.144-50.47 46.172 12.023 25.86 43.083 47.34 76.24 53.63 3.538-6.146 7.304-13.7 11.08-22.447 10.868-25.16 21.89-59.925 29.843-99.13 13.89-68.487 18.235-150.56-2.05-219.794zM18 38.904V494h39.537c7.66-8.97 13.41-22.46 17.453-46 36.388 0 55.403-4.45 66.643-11.002-28.225-25.493-51.414-58.844-68.455-101.207 11.647 15.058 25.708 29.464 42.047 42.96 43.04 66.73 107.412 97.86 188.41 106.137.528-.748.977-1.347 1.726-2.532 1.156-1.823 2.407-3.91 4.275-6.074 1.868-2.162 4.978-5.622 10.906-5.264 5.675.342 8.213 3.45 10.146 5.636 1.932 2.186 3.372 4.383 4.71 6.342 1.196 1.756 2.208 3.126 2.928 3.985 33.258.64 59.62-3.37 76.278-12.105 16.926-8.875 24.842-20.973 24.392-42.29-1.524-14.847-11.34-27.683-26.947-40.118-40.617-6.275-78.99-31.115-94.06-66.02-11.03-1.295-20.466-8.332-27.383-16.86-8.08-9.963-13.61-22.38-16.327-34.36-10.642-23.767-32.987-62.51-58.23-95.098-12.69-16.383-26.14-31.236-38.918-41.884-3.5-2.917-6.942-5.467-10.282-7.67l-14.9 7.45c-8.804-17.61-12.764-38.21-16.733-56.073-2.863-12.88-6.157-24.08-9.576-31.213-18.795 14.465-23.428 28.884-22.86 44.033.64 16.96 9.29 35.243 17.27 51.202l-16.1 8.05c-1.334-2.667-2.734-5.49-4.14-8.38-11.03 13.237-20.28 31.073-26.37 50.798-6.42 20.808-9.224 43.544-7.645 65.106l-18.42-20.466c.835-17.014 3.946-34.01 8.865-49.95 7.323-23.725 18.72-45.27 33.504-61.33.698-.758 1.407-1.5 2.123-2.234-3.773-9.99-6.648-20.786-7.074-32.12-.12-3.19-.005-6.415.352-9.653C64.072 65.847 42.305 48.19 18 38.904zM194.36 60.74c-3.418 7.133-6.712 18.332-9.575 31.213-1.77 7.97-3.603 16.458-5.846 24.984 3.252 2.294 6.487 4.795 9.71 7.48 6.103 5.086 12.168 10.863 18.143 17.136 5.438-12.064 9.973-24.722 10.426-36.78.568-15.15-4.065-29.568-22.86-44.033zM351.41 203.564c-5.54 15.163-11.94 31.276-21.65 45.877-7.622 11.46-17.263 21.663-29.983 27.83-1.776.86-3.612 1.625-5.5 2.302 2.51 6.778 6.125 13.518 10.307 18.674 1.25 1.54 2.508 2.906 3.772 4.11l4.384 3.51c1.328.853 2.653 1.508 3.97 1.984l3.183-.938c11.455-3.372 21.48-9.33 30.41-17.547 1.077-3.574 2.058-7.328 2.9-11.252 4.44-20.718 5.33-46.135-1.792-74.55zm-125.21 118.57c6.122.148 12.176 1.467 17.788 3.446 12.83 4.524 24.37 12.33 33.467 19.26l-10.906 14.32c-.79-.602-1.616-1.21-2.442-1.816C261.828 364.064 255.42 369 248 369c-9.282 0-17-7.718-17-17 0-3.94 1.4-7.59 3.71-10.496-8.33-2.39-15.434-2.134-21.774 2.023l-9.872-15.054c6.477-4.247 13.5-6.1 20.508-6.328.876-.03 1.753-.03 2.627-.01zm170.46 100.637c1.472.012 2.965.11 4.473.3l-2.26 17.86c-9.21-1.166-15.993 2.556-23.755 12.58l-14.23-11.02c8.79-11.354 20.693-19.265 34.308-19.7.487-.017.974-.022 1.465-.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RialtoBridge;

impl IconShape for RialtoBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 42.37L177.9 87h156.2L256 42.37zM201 105v110h14c0-27.5.2-48.8 4.3-65.2 2.2-9 5.9-16.9 12.2-22.5 6.4-5.7 15-8.3 24.5-8.3s18.1 2.6 24.5 8.3c6.3 5.6 10 13.5 12.2 22.5 4.1 16.4 4.3 37.7 4.3 65.2h14V105H201zm-18 3.8L25 166.3v14.8l158-57.5v-14.8zm146 0v14.8l158 57.5v-14.8l-158-57.5zm-146 34.1L25 200.3v74.9l17-6.2v-14.9c0-15.6.26-27.5 3.28-37.3 1.5-4.9 3.89-9.5 7.95-12.9 4.06-3.4 9.48-5 14.77-5 5.29 0 10.71 1.6 14.77 5 4.06 3.4 6.45 8 7.95 12.9 2.75 8.9 3.21 19.7 3.27 33.3l20.01-7.3V231.2c0-15.6.3-27.5 3.3-37.3 1.5-4.9 3.9-9.5 7.9-12.9 4.1-3.4 9.5-5 14.8-5 5.3 0 10.7 1.6 14.8 5 4 3.4 6.4 8 7.9 12.9 2.5 8.2 3.1 17.9 3.3 30l17-6.2v-74.8zm146 0v74.8l17 6.2c.2-12.1.8-21.8 3.3-30 1.5-4.9 3.9-9.5 7.9-12.9 4.1-3.4 9.5-5 14.8-5 5.3 0 10.7 1.6 14.8 5 4 3.4 6.4 8 7.9 12.9 3 9.8 3.3 21.7 3.3 37.3v11.6l20 7.3c.1-13.6.6-24.4 3.3-33.3 1.5-4.9 3.9-9.5 7.9-12.9 4.1-3.4 9.5-5 14.8-5 5.3 0 10.7 1.6 14.8 5 4 3.4 6.4 8 7.9 12.9 3 9.8 3.3 21.7 3.3 37.3V269l17 6.2v-74.8l-158-57.5zM193.6 233L25 294.3v28.8L190.4 263h131.2L487 323.1v-28.8L318.4 233H193.6zm0 48L25 342.3v39.8c140.4-100 321.6-100 462 0v-39.7L318.4 281H193.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RibbonMedal;

impl IconShape for RibbonMedal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.883 29.7L241.11 51.554l-23-14.06-6.202 26.224-26.63-4.193 4.308 26.604-26.21 6.317 14.165 22.93-21.794 15.86L177.61 147l-14.065 22.992 26.234 6.2-4.194 26.624 26.613-4.308 6.316 26.2 22.937-14.16 15.865 21.788 15.772-21.856 23 14.06 4.283-18.11 1.92-8.116 26.633 4.194-4.31-26.606 26.21-6.314-14.166-22.928 21.797-15.86-21.863-15.767 14.064-22.992-26.234-6.2 4.19-26.624-26.61 4.307-6.318-26.2-22.936 14.16-15.867-21.788zm-.252 51.68a49.657 49.64 0 0 1 49.657 49.64 49.657 49.64 0 0 1-49.656 49.638 49.657 49.64 0 0 1-49.655-49.638 49.657 49.64 0 0 1 49.656-49.64zm59.345 137.308l-8.082 34.164-29.96-18.315-9.747 13.504c11.734 82.04 18.1 163.835 54.654 247l16.553-66.185c10.51 13.815 27.52 26.056 49.656 33.092-31.075-77.557-42.77-158.987-54.714-240.37l-18.36-2.89zm-117.37.253l-19.76 3.2c-11.916 81.194-23.63 162.428-54.632 239.807 22.136-7.036 39.147-19.277 49.658-33.092l16.552 66.186c36.794-83.71 43.005-166.034 54.89-248.614l-8.595-11.8-29.88 18.442-8.232-34.127z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RibbonShield;

impl IconShape for RibbonShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32.19c34.6 42.07 92.8 57.46 150.1 71.71L395.7 198c-66.1-6.6-103-9.9-139.7-9.9-36.6 0-73.6 3.3-139.7 9.9l-10.5-94.1C163 89.65 221.4 74.26 256 32.19zM421.3 195.3c19.3 5.9 41.8 9.2 67.3 10.4-11.8 11.1-32.7 23.3-34.3 39.2-1.6 18.9 4.7 36.3 12.1 52.5-17.3 1-33.2-1.8-48.7-6.3 7.2-32.4 7.3-57.7 7.3-82v-6.2c-3.7-7.6-2.9-6.3-3.7-7.6zm-330.73 0l-3.5 7.7-.1 6c-.2 24.3 0 49.7 7.3 82.1-15.6 4.5-31.5 7.3-48.8 6.3 7.4-16.3 13.8-33.6 12.2-52.6-4.4-17.5-21.7-28.8-34.4-39.1 25.6-1.2 48.1-4.5 67.3-10.4zM256 206.1c38 0 77 3.7 151 11.1-.1 27.5-1.3 55.1-13.4 94.1-133.3-14.7-141.9-14.7-275.2 0-12.2-39.1-13.5-66.7-13.4-94 74-7.4 113-11.2 151-11.2zm0 111.9c32.4 0 65.1 3.4 125.3 10l-6.2 55.6c-7.3 36.1-36.6 60.3-65.3 75.6-25.9 13.7-49.1 19.5-53.8 20.6-4.7-1.1-27.9-6.9-53.8-20.6-28.7-15.4-58-39.5-65.3-75.6l-6.2-55.6c60.2-6.6 92.9-10 125.3-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ring;

impl IconShape for Ring {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.157 123c-68.66 0-137.1 18.922-182.867 55.275.234 14.35 1.818 35.624 9.332 48.23 110.634-60.336 236.436-60.336 347.07 0 7.513-12.606 9.098-33.88 9.332-48.23C392.257 141.922 323.817 123 255.157 123zm199.81 76.057c-.324 2.98-.718 6.02-1.246 9.082-2.226 12.93-6.213 26.458-15.99 35.98-14.436 18.637-40.806 30.462-72.858 38.603C332.392 290.973 293.79 295 255.157 295c-38.632 0-77.235-4.028-109.715-12.277-31.907-8.104-58.17-19.868-72.648-38.36-11.983-11.982-16.234-28.786-17.77-43.857-13.73 27.256-11.503 62.122.672 98.648C69.988 342.03 129.406 389 255.156 389c125.75 0 185.17-46.97 199.462-89.846l.1-.297.12-.287c15.134-36.712 15.61-71.983.13-99.513z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingBox;

impl IconShape for RingBox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 25c-13 0-27.1 6.78-37.6 17.36C79.8 52.95 73 67 73 80v183h16V98c0-17.5 4.5-32.24 14.6-42.36C113.8 45.52 128.5 41 146 41h220c17.5 0 32.2 4.52 42.4 14.64C418.5 65.76 423 80.5 423 98v165h16V80c0-13-6.8-27.05-17.4-37.64C411.1 31.78 397 25 384 25zm73.6 46.64l-48 49.96-5.5 6 5.1 6.3 72.6 84.7c9.7-2.4 19.8-3.6 30.2-3.6 10.4 0 20.5 1.2 30.2 3.6l72.6-84.7 5.1-6.3-5.5-6-48-49.96zM211.7 89h27.5l-20 30h-37.5zm61.1 0h27.5l30 30h-37.5zM256 96.22L271.2 119h-30.4zM179.6 137h37.6l18.8 65.8zm56.3 0h40.2L256 207.2zm58.9 0h37.6L276 202.8zM256 233c-44 0-82 25.5-99.9 62.6 4.3-.9 8.8-1.4 13.4-1.5 4.1-.1 8.3.2 12.6.8C198 270.3 225.6 254 257 254c31.2 0 58.8 16.2 74.7 40.7 3.7-.5 7.3-.7 10.8-.6 4.6.1 9.1.6 13.4 1.5C338 258.5 300 233 256 233zm1 39c-22.9 0-43.3 10.7-56.2 27.5 8.7 2.9 17.9 7.1 27.7 12.7l-9 15.6c-27.6-15.8-46.6-18-61.6-14.1-15 3.8-27.1 14.5-39.1 28.2l-13.6-11.8c8.1-9.3 17.1-18.3 27.8-25 2.6-8.4 6.2-16.5 10.5-24.1H69.1l-37.2 62h448.2l-37.2-62h-74.4c4.3 7.6 7.9 15.7 10.5 24.2 10.7 6.6 19.7 15.6 27.8 24.9l-13.6 11.8c-12-13.7-24.1-24.4-39.1-28.2-15-3.9-34-1.7-61.6 14.1l-9-15.6c10.4-5.9 20.1-10.3 29.2-13.2-12.9-16.5-33-27-55.7-27zM25 361v126h462V361zm183 46h96v18h-96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingMould;

impl IconShape for RingMould {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 49c-19.4 0-38.9 2.02-52.7 5.7-6.9 1.83-12.3 4.16-15.3 6.22-1.3.85-1.8 1.35-2.2 1.82C214.5 107.9 229.5 170.3 232.4 218c2.4-.6 4.8-1.1 7.3-1.6.4-9.1 3.1-23 5.8-23.3h.5c4.6.4 6.7 13.2 7.5 22h2.5c8.3 0 16.2 1 23.6 2.9 2.9-47.7 17.9-110.1 46.6-155.26-.4-.47-.9-.97-2.2-1.82-3-2.06-8.4-4.39-15.3-6.22-3.7-.98-7.8-1.84-12.2-2.58-4 5.05-7.1 9.07-12.3 8.96-4.3-.84-8.6-5.74-11.1-11.54-5.6-.34-11.3-.54-17.1-.54zm-21.4 11.93c2 .04 4.4.47 7.2 1.44-.7 15.86-.7 46.63-4.3 48.03-3.8-.8-6.9-30.41-10.6-45.64 1-2.1 3.4-3.91 7.7-3.83zm42 52.47c2.7.1 5.4 1.1 8.1 2.8-7.2 20.3-13.7 71.3-16.7 69.4-6.9-4.3.6-50 3.8-71 1.6-.8 3.2-1.2 4.8-1.2zM87.4 169L43 391h426l-44.4-222H304.7c-1.4 6.5-2.6 12.9-3.6 19.1 19 4.6 36.2 12 50.5 21.7 24.9 16.9 41.4 41.3 41.4 68.8s-16.5 51.9-41.4 68.8c-25 16.9-58.6 26.9-95.6 26.9-37 0-70.6-10-95.6-26.9-24.9-16.9-41.4-41.3-41.4-68.8s16.5-51.9 41.4-68.8c14.3-9.7 31.5-17.1 50.5-21.7-1-6.2-2.2-12.6-3.6-19.1H87.4zm126 37.1c-16.4 4.1-31 10.6-42.9 18.6-21.4 14.5-33.5 33.5-33.5 53.9s12.1 39.4 33.5 53.9c3.9 2.6 8.1 5.1 12.5 7.3V272h.1c-.1-.8-.1-1.5-.1-2.3 0-16 9.2-30.1 22.5-39.6 2.9-2 6-3.9 9.3-5.6-.3-5.8-.8-12-1.4-18.4zm85.2 0c-.6 6.4-1.1 12.6-1.4 18.4 3.3 1.7 6.4 3.6 9.3 5.6 13.3 9.5 22.5 23.6 22.5 39.6 0 .8 0 1.5-.1 2.3h.1v67.8c4.4-2.2 8.6-4.7 12.5-7.3C362.9 318 375 299 375 278.6s-12.1-39.4-33.5-53.9c-11.9-8-26.5-14.5-42.9-18.6zm-42.6 27c-15.9 0-30.2 4.7-40 11.7-9.8 7-15 15.7-15 24.9s5.2 17.9 15 24.9 24.1 11.7 40 11.7c15.9 0 30.2-4.7 40-11.7 9.8-7 15-15.7 15-24.9s-5.2-17.9-15-24.9-24.1-11.7-40-11.7zm-55 72.7v41.6c16.4 5.7 35.1 8.9 55 8.9s38.6-3.2 55-8.9v-41.6c-1.4 1.2-2.9 2.4-4.5 3.5-13.4 9.5-31.1 15-50.5 15s-37.1-5.5-50.5-15c-1.6-1.1-3.1-2.3-4.5-3.5zM41 409v78h430v-78H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingedTentacle;

impl IconShape for RingedTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.74 29.895a251.73 251.73 0 0 0-11.303.093c-53.378 1.643-104.013 18.474-140.382 46.653-12.662 9.81-23.608 20.916-32.436 33.254 33.13 14.515 71.337 22.87 110.99 25.816 7.403-5.973 16.122-11.471 26.12-16.346 51.927-25.319 101.117-8.77 131.064 27.342 29.947 36.112 42.4 90.967 26.84 143.834-4.584 15.572-13.097 29.694-24.578 42.67 28.772 10.854 69.68 28.496 103.25 53.443 20.903-35.115 31.794-74.838 31.695-114.633-.204-82.23-28.413-143.246-71.297-183.64C375.5 50.51 322.071 30.69 265.74 29.895zM56.967 119.098c-2.004.064-3.643.862-5.555 2.302-2.913 2.196-5.876 6.367-7.76 11.21-1.884 4.842-2.666 10.281-2.298 14.208.368 3.928 1.637 5.533 2.263 5.909 32.769 19.665 84.333 28.491 135.252 33.164 4.019-.14 11.313-6.08 15.664-15.022 2.196-4.512 3.596-9.405 3.934-13.24.132-1.495-.014-2.563-.15-3.588-49.482-2.898-97.563-13.648-138.268-34.512-.78-.198-1.53-.367-2.2-.414a8.692 8.692 0 0 0-.882-.017zm.156 60.357c-.216 4.016-.26 8.102-.127 12.256 1.276 39.749 17.484 64.817 41.74 81.06 24.257 16.244 57.303 23.066 90.955 22.346 33.653-.72 67.776-8.96 93.49-21.38 17.294-8.354 30.117-18.568 37.378-28.737-75.422 17.93-125.93 4.678-147.57-24.168-4.2-5.598-7.126-11.79-8.772-18.277-37.844-3.945-75.776-10.257-107.094-23.1zM310.057 339.08c-1.098-.026-2.202 0-3.309.072-13.281.87-26.974 8.6-35.674 18.012-5.8 6.275-8.81 13.093-8.963 16.623-.076 1.765.228 2.559.866 3.385.638.826 1.971 1.968 5.203 2.892l.146.043.145.047c64.806 20.948 100.84 44.025 142.025 75.707 2.09 1.608 5.457 1.865 11.727-.904 6.27-2.769 13.886-8.494 20.334-15.18 6.447-6.685 11.798-14.406 14.304-20.256 1.253-2.924 1.73-5.351 1.73-6.498.001-.451.006-.503.016-.552-43.056-38.139-113.24-62.861-138.916-71.711-3.101-1.07-6.34-1.603-9.634-1.68zm-48.809 57.664c-12.925 6.512-26.364 12.766-40.025 18.854C162.83 441.617 99.526 464.322 52.342 487h281.865c18.945-7.244 36.264-16.372 51.88-27.021-34.877-25.788-67.151-44.581-123.001-62.649a36.341 36.341 0 0 1-1.838-.586z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingingAlarm;

impl IconShape for RingingAlarm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-89.577 0-162 72.423-162 162s72.423 162 162 162 162-72.423 162-162S345.577 41 256 41zm151.883 9.932l-12.248 13.19c42.18 39.167 52.373 78.107 55.332 118.46l17.951-1.316c-3.13-42.694-15.447-88.002-61.035-130.334zm49.334.504l-13.16 12.279c16.636 17.828 28.995 43.23 32.785 64.402l17.719-3.172c-4.514-25.216-18.03-52.81-37.344-73.51zM256 158c27.401 0 50 22.599 50 50s-22.599 50-50 50-50-22.599-50-50 22.599-50 50-50zm0 36c-7.945 0-14 6.055-14 14s6.055 14 14 14 14-6.055 14-14-6.055-14-14-14zM61.19 219.252l-17.952 1.316c3.13 42.694 15.447 88.004 61.035 130.336l12.248-13.191c-42.18-39.168-52.373-78.108-55.332-118.461zm396.197 43.543c-13.7 0-25 11.3-25 25 0 12.561 9.5 23.097 21.638 24.764 7.8 43.445-6.374 94.946-45.025 131.992v23.86c52.635-41.742 72.756-105.706 62.557-160.083 6.52-4.534 10.83-12.074 10.83-20.533 0-13.7-11.3-25-25-25zM35.314 273.719l-17.716 3.172c4.513 25.216 18.027 52.81 37.341 73.51l13.16-12.282c-16.636-17.828-28.995-43.228-32.785-64.4zM137 337.965V407h238v-69.035C343.26 365.979 301.595 383 256 383s-87.26-17.021-119-45.035zM121 425v68h270v-68H121z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ringmaster;

impl IconShape for Ringmaster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.3 21.12c-6.1 0-31.1 2.84-31.1 9.33.1 19.44 4.1 33.14 8.9 50.7h-30.8l8 18.42c35.2 1.93 54.5 2.43 90 .1l8-18.52h-31c5.9-16.71 7.6-35.72 8.6-50.89.4-6.89-24.5-9.14-30.6-9.14zm-26.9 97.68c-.9 4.2-1.5 8.8-1.5 13.5 0 12.4 3.8 23.6 9.3 31.1 5.5 7.6 12.3 11.4 19.4 11.4 7.1 0 13.9-3.8 19.4-11.4 5.5-7.5 9.3-18.7 9.3-31.1 0-4.7-.5-9.1-1.5-13.3-18.2.5-36.3.4-54.4-.2zm176.1 2c-4 7.4-5.8 15.7-3 22.1l19.4 29.4c15.6.2 43.3-9.3 45.9-25.6 0-10.7-12.4-16.7-19.8-20.1l-24.3 11.9zm-10.6 43.3c-19.2 13-36.2 20.6-76.6 25.3v.2c1.6 7.4 2.6 15.6 3 24.4 34-10.9 59-21.6 83.3-35.2zm-184.1 17.4c-4.5.5-8.7 1.1-12.8 2.3 6.4 30.4 25.5 63.1 53.3 87.5v-20.7c-27-19-33-43.3-40.5-69.1zm18.6 0c6.6 22.7 11 38.5 30.3 52.8 14.3-13.7 17.3-31.6 22.7-51.5-7.2 6.1-16.1 10-25.8 10-10.3 0-19.7-4.4-27.2-11.3zm69.9 7.8c-5 19.8-9.4 43.2-30 60.8v21.8c8.4-8.1 14.5-14 19.2-19.9 5.9-7.4 10.1-15 14.9-29-2-11 1-24.1-4.1-33.7zm-111.9 22c-3.9 38.6-6.8 72-6.7 98.6 4.7-4.3 10.6-7.3 17.2-8.1.9-19.6 2.8-39.3 5.5-59.1-6.5-10.1-11.9-20.7-16-31.4zm31.5 52.5c-1.5 13.9-2.6 27.7-3.1 41.4 8.3 4.5 14.5 12.8 16.8 22.6 5-12.5 7.8-25.4 11.6-38.8-9.2-7.7-17.7-16.1-25.3-25.2zm82.8.4c-7.2 8.8-15.7 16.3-27.5 28 4.3 14.9 11.1 28.6 19.6 41.7 5-25 6.5-47.1 7.9-69.7zM34.63 295l-2.48 17.8 126.95 17.6c-.4-5.8-.6-11.9-.7-18.2zm162.87 24.6c-7.3 0-14 6.7-14 16.4s6.7 16.4 14 16.4 14-6.7 14-16.4-6.7-16.4-14-16.4zm67.8 8.1v87.2h22v-53.2c-8.1-10.7-15.7-22-22-34zm-18 1.6c-4.9 13.4-11.8 27.1-23.6 40.4v45.2h23.6zm-53.9 42.8l.4 34.1c4.3 3.4 8.2 5.6 11.9 7.1v-33.6zm30.3 60.8v37.2c-6.9.7-13.8 1.6-20.8 2.8l-8 18h52.4v-58zm41.6 0v58h69.6l-10-18c-12.5-1.1-25-2.2-37.6-3v-37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct River;

impl IconShape for River {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M357.676 20.387c-2.612.01-5.23.105-7.856.29-63.314 4.438-131.13 58.006-142.117 130.253L494 162.992V89.656c-8.09-7.792-16.415-15.25-24.953-22.177-34.59-28.067-72.195-47.234-111.37-47.093zM125.55 40.812C89.363 40.94 51.743 55.725 18 86.825v81.3l172.107-18.815-.363-.054c3.872-26.688 14.327-50.957 29.162-71.742-26.973-24.13-59.536-36.82-93.357-36.7zm110.263 129.514c-24.49-.258-109.87 12.136-109.602 27.078.46 25.55 104.433 51.553 94.726 53.018C122.553 265.27 67.968 265.427 35.34 295.2c-38.914 35.507 214.983 80.92 184.422 89.687-57.204 16.412-107.82 36.256-109.002 88.414-.17 7.52.8 14.385 2.705 20.7h54.945c-15.423-20.635-24.05-40.664-14.6-45.912 10.413 15.107 22.492 31.126 36.174 45.912h64.286c-19.474-9.912-51.732-29.408-50.594-49.424 1.6-28.17 66.37-47.758 69.883-47.758 0 0-48.786 26.384-49.867 49.866-.767 16.68 22.317 36.985 35.69 47.316h51.976c-16.454-12.325-26.478-24.92-20.426-31.885 15.54 11.066 33.115 22.438 51.826 31.885h106.717c-56.74-15.988-102.683-32.67-115.225-53.127-10.196-16.63 72.362-27.836 60.408-78.902-5.79-24.738-58.24-41.094-203.222-62.626-25.368-3.768 134.358-19.456 129.818-57.11-2.65-21.98-103.288-26.85-114.58-36.933-4.746-4.237 5.863-29.56 29.137-34.974zM91.425 308.056c33.376-.145 84.385 22.424 122.8 36.747l-1.79 11.67c-28.404-10.606-103.905-37.464-127.442-48.077 2.06-.22 4.207-.332 6.432-.34zm270.234 53.803c.103-.006.1.077-.015.253 3.9 12.183-21.487 44.05-61.807 42.842 14.153-7.15 59.732-43.004 61.822-43.096z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Road;

impl IconShape for Road {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.4 29.55L24.38 477.6l15.24 4.8L183.6 34.45l-15.2-4.9zm175.2 0l-15.2 4.9 144 447.95 15.2-4.8-144-448.05zM248 32l-.8 20h17.6l-.8-20h-16zm-1.4 36l-.8 20h20.4l-.8-20h-18.8zm-1.5 36l-1.3 32h24.4l-1.3-32h-21.8zm-1.9 48l-2 48h29.6l-2-48h-25.6zm-2.8 68l-2.4 60h36l-2.4-60h-31.2zm-3.3 84l-2.9 72h43.6l-2.9-72h-37.8zm-4 100l-3.1 76h52l-3.1-76h-45.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Robber;

impl IconShape for Robber {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M70.533 100.452c-22.862 27.542-36.27 64.923-37.766 96.702-.9 19.145 9.6 42.616 25.276 61.47 15.674 18.855 36.465 32.678 51.753 35.028 11.256.74 19.522-9.182 25.182-16.5 9.537-12.442 19.204-30.678 29.36-49.014 10.155-18.336 20.77-36.82 33.798-50.467 13.028-13.645 30.24-22.73 49.442-17.89 3.34 1.09 3.565 1.663 12.38 8.788 12.605 10.736 26.244 21.81 41.694 39.33l3.803 3.486 10.238-6.06c-20.92-23.726-38.623-51.403-57.006-76.168-27.153-36.58-54.84-65.76-94.205-69.893-36.138-3.317-74.585 18.428-93.95 41.19zm266.053-2.414c-3.507.063-7.26.632-11.217 1.733-7.08 1.97-14.577 5.722-21.718 11.09l60.545 12.47c-.844-8.415-4.142-15.068-9.524-19.503-4.425-3.646-10.055-5.63-16.6-5.785-.49-.01-.987-.013-1.487-.004zm12.787 33.34l-6.83 15.805 18.148 9.95zm-51.254 21.785c9.177 12.81 18.397 25.33 28.04 36.72 7.273-4.386 14.418-10.424 20.662-18a86.045 86.045 0 0 0 2.713-3.49zm-62.702 23.266c-8.527.283-15.98 4.993-24.262 13.67-29.706 32.65-56.175 92.534-24.877 134.35 11.81 14.805 71.805 33.64 129.122 34.264 38.29 26.563 62.975 62.86 93.86 94.36 18.564-26.89 34.903-54.124 70.025-78.467L459.423 361.2c-26.72 8.057-36.142 26.154-50.656 41.217-18.296-25.715-41.06-49.166-65.555-69.527-17.72-14.73-38.605-25.1-58.11-37.434 2.437-.69-6.538-19.77-7.556-21.99-29.352-7.035-49.364-22.817-62.138-39.367l14.25-11c13.5 17.492 35.288 33.754 73.69 35.933 19.65-2.818 29.578-6.955 35.335-11.704 5.626-4.64 8.615-10.964 12.895-20.618 1.095-6.312-.25-7.85-2.84-10.1-1.95-1.696-5.246-3.2-8.787-4.732l-39.023 23.104-4.886-6.094c-17.46-21.77-31.722-33.02-46.578-45.623-3.633-3.94-7.452-6.648-12.324-6.836a25 25 0 0 0-1.72 0zM109.8 312.53c-20.436 15.367-42.69 27.405-71.017 28.307l2.978 27.315 58.107-18.873c19.65 23.613 32.977 51.093 65.314 68.364 37.673-12.64 57.61-32.233 77.46-50.98-21.403-6.467-42.72-14.485-61.496-24.495l-14.232 34.423z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobberMask;

impl IconShape for RobberMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.03 16c-48.072 0-85.647 16.52-111.864 48.975C118.893 96.26 104 141.43 96.05 199.935c-6.468 2.238-11.218 6.843-13.38 11.16-2.98 5.95-2.856 11.635-2.856 11.635 0 15.21-.045 34.424 1.97 50.55 1.006 8.062 2.42 15.333 5.234 21.587 1.406 3.127 3.182 6.09 5.962 8.588 1.297 1.165 2.9 2.16 4.64 2.916 14.314 29.392 29.234 69.116 47.972 104.49 19.454 36.725 43.125 69.665 77.666 79.122 30.817 8.438 34.68 7.808 65.652-.67 34.38-9.414 58.007-42.174 77.46-78.742 18.735-35.22 33.685-74.805 48.007-104.2 1.743-.755 3.345-1.75 4.643-2.915 2.78-2.498 4.556-5.46 5.962-8.588 2.813-6.254 4.228-13.525 5.235-21.588 2.014-16.126 1.97-35.34 1.97-50.55 0 0 .124-5.674-2.84-11.62-2.15-4.312-6.885-8.916-13.33-11.163-7.94-58.497-22.69-103.664-47.9-134.963C341.967 32.52 304.377 16 256.03 16zm0 18c44.41 0 75.214 13.9 98.07 42.275 22.855 28.376 37.498 72.4 44.988 132.362l.984 7.884h7.948c4.575 0 4.39.962 5.216 2.62.827 1.66.95 3.59.95 3.59 0 15.21-.045 34.022-1.83 48.317-.893 7.147-2.327 13.185-3.79 16.437-.65 1.447-1.18 2.05-1.404 2.297h-4.738l-2.486 4.978c-15.576 31.173-30.828 72.33-49.46 107.36-18.635 35.028-40.537 62.773-66.32 69.83-31.265 8.56-25.44 9.082-56.148.673-25.933-7.1-47.874-35.002-66.512-70.186-18.638-35.185-33.853-76.488-49.435-107.676l-2.487-4.977h-4.738c-.224-.245-.754-.85-1.404-2.296-1.463-3.252-2.897-9.29-3.79-16.437-1.785-14.295-1.83-33.106-1.83-48.317 0 0 .123-1.92.952-3.576.828-1.654.658-2.633 5.277-2.633h7.947l.985-7.883c7.488-59.95 22.263-103.966 45.193-132.352C181.098 47.9 211.918 34 256.03 34zM153.603 206.018s-21.2 29.61-17.067 45c5.545 20.645 27.375 41.602 51.2 45 25.112 3.58 42.824-30 68.265-30 25.44 0 43.153 33.58 68.266 30 23.824-3.398 45.654-24.355 51.2-45 4.132-15.39-17.068-45-17.068-45-102.4 15-102.397 15-204.796 0zm61.832 135.836a17.584 17.584 0 0 0-4.274.466c-13.715 3.238-27.637 15.983-29.894 29.893C177.696 394.206 211.16 432 211.16 432c44.84-14.947 44.84-14.947 89.68 0 0 0 33.463-37.794 29.894-59.787-2.257-13.91-16.18-26.655-29.894-29.893-15.334-3.62-29.085 14.946-44.84 14.946-14.278 0-26.91-15.248-40.566-15.412z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobinHoodHat;

impl IconShape for RobinHoodHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M479.748 54.52c-3.247.052-8.496 1.107-16.535 4.175-38.124 14.552-81.353 54.73-108.15 102.532-21.36 38.1-32.264 80.38-24.58 118.46 31.922-79.072 53.33-134.06 120.095-202.58l6.28-6.447 12.894 12.563-6.28 6.445c-66.477 68.224-85.57 120.75-118.79 202.922l28.898-19.266c1.446-2.054 31.707-45.064 61.922-92.43 15.47-24.255 30.696-49.33 41.455-69.707 5.38-10.188 9.64-19.23 12.207-26.132 2.57-6.9 2.526-12.237 2.838-11.098l-.023-.088-.023-.09c-3.218-12.73-6.556-17.57-8.64-18.665-.522-.274-1.272-.48-2.297-.56-.385-.03-.808-.043-1.272-.035zM285.166 171.604c-46.497 19.48-85.4 67.53-125.963 122.62-34.715 47.15-70.717 99.035-115.605 140.862 63.072-22.56 133.71-45.586 194.03-67.822 24.73-9.118 47.717-18.105 67.66-26.823l2.444-5.7c4.238-9.888 8.137-19.27 11.91-28.44-12.014-29.86-12.136-62.28-4.413-93.86-5.04-9.554-9.87-18.16-14.44-24.98-3.872-5.773-7.586-10.252-10.65-12.913-2.297-1.993-3.82-2.65-4.974-2.943zm-152.143 127.89c-19.718 7.986-37.81 17.73-51.03 29.512-25.002 22.282-40.403 59.83-51.815 94.012 38.65-35.812 71.293-80.407 102.845-123.524zm231.08 1.78l-27.107 18.072-4.492 2.994c-.93 2.232-1.88 4.5-2.836 6.775 16.537-8.255 29.662-16.335 37.842-23.234-1.15-1.5-2.284-3.044-3.406-4.607zm15.274 18.27c-11.21 9.74-27.214 18.788-46.977 28.292-24.655 11.857-55.104 23.987-88.548 36.316-50.326 18.552-107.424 37.533-161.155 56.235 37.62-3.482 83.504-10.964 128.188-22.75 39.996-10.55 79.145-24.41 110.832-41.276 28.665-15.255 50.853-33.042 62.726-52.057-1.72-1.505-3.407-3.1-5.066-4.76z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobotAntennas;

impl IconShape for RobotAntennas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M81 21.499c-12.81 0-23 10.192-23 23.002 0 12.81 10.19 23 23 23s23.002-10.19 23.002-23S93.81 21.499 81 21.499zm350 0c-12.81 0-23.002 10.192-23.002 23.002 0 12.81 10.192 23 23.002 23 12.81 0 23-10.19 23-23s-10.19-23.002-23-23.002zM110.18 73.212a41.25 41.25 0 0 1-15.11 9.781l28.666 45.867 14.983-9.988zm291.64 0l-28.539 45.66 14.983 9.988 28.666-45.867a41.25 41.25 0 0 1-15.11-9.781zm-242.966 53.87l-36.143 24.095 6.652 19.955c9.215-12.422 23.339-21.987 39.614-28.912 1.172-.5 2.37-.973 3.568-1.448zm194.292 0l-13.69 13.69c1.197.475 2.395.949 3.567 1.448 16.275 6.925 30.399 16.49 39.614 28.912l6.652-19.955zM256 144.5c-29 0-58.021 4.939-79.977 14.281-21.898 9.319-35.908 22.38-39.164 38.364L106.28 426.5h299.442l-30.58-229.355c-3.256-15.984-17.266-29.045-39.164-38.364C314.02 149.44 285 144.501 256 144.501zm-64 58c31.373 0 57 25.627 57 57s-25.627 57-57 57-57-25.627-57-57 25.627-57 57-57zm128 0c31.373 0 57 25.627 57 57s-25.627 57-57 57-57-25.627-57-57 25.627-57 57-57zm-128.549 16.023c-22.754 0-41.547 18.366-41.547 40.977 0 22.611 18.793 40.977 41.547 40.977 22.754 0 41.549-18.366 41.549-40.977 0-22.611-18.795-40.977-41.549-40.977zm128 0c-22.754 0-41.547 18.366-41.547 40.977 0 22.611 18.793 40.977 41.547 40.977 22.754 0 41.549-18.366 41.549-40.977 0-22.611-18.795-40.977-41.549-40.977zm-128 17.998c13.198 0 23.549 10.269 23.549 22.979 0 12.71-10.35 22.978-23.549 22.978-13.198 0-23.549-10.268-23.549-22.978s10.351-22.979 23.55-22.979zm128 0c13.198 0 23.549 10.269 23.549 22.979 0 12.71-10.35 22.978-23.549 22.978-13.198 0-23.549-10.268-23.549-22.978s10.351-22.979 23.55-22.979zM208 330.501h96v18h-96zm-16 32h128v18H192zm-16 32h160v18H176zm-103 50v46h46v-46zm64 0v46h46v-46zm64 0v46h46v-46zm64 0v46h46v-46zm64 0v46h46v-46zm64 0v46h46v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobotGrab;

impl IconShape for RobotGrab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M301.4 51.96c-46.6.1-85.3 18.16-105.2 50.84-13.2 21.8-16.8 49.4-9.2 78 2 7.6 4.8 15.3 8.4 23.1 1.1-1.3 2.3-2.6 3.6-3.9 7.8-7.8 16.8-13.6 26.4-17.5-1.5-3.8-2.7-7.4-3.6-10.9-5.5-20.7-2.7-37 5.2-50.1 15.9-26.16 57.6-42.41 114.7-28.49l8.6-34.98c-16.9-4.11-33.3-6.09-48.9-6.07zM454 161.7l-35 8.6c13.9 57.1-2.3 98.8-28.5 114.7-13.1 7.9-29.4 10.7-50.1 5.2-3.5-.9-7.1-2.1-10.7-3.5-3.9 9.6-9.8 18.6-17.6 26.4-1.3 1.3-2.5 2.5-3.9 3.6 7.8 3.5 15.4 6.3 23 8.3 28.6 7.6 56.2 4 78-9.2 43.6-26.5 61.3-86.6 44.8-154.1zm-198.4 32.8c-15.9 0-31.8 6-43.9 18.2-24.3 24.3-24.2 63.4 0 87.7 24.3 24.2 63.4 24.2 87.7 0 24.3-24.3 24.2-63.4 0-87.7-12.1-12.2-28-18.2-43.8-18.2zm0 21.1c10.5 0 21 4 28.9 11.9 16 15.9 16 42.1.1 58-16 16-42.1 15.9-58 0-15.9-15.9-16-42 0-58 7.9-8 18.5-11.9 29-11.9zm0 17.9c-5.9 0-11.7 2.3-16.3 6.8-9.1 9-9.1 23.4 0 32.5 9 9 23.5 9 32.5 0 9.1-9.1 9.1-23.5 0-32.5-4.5-4.5-10.3-6.8-16.2-6.8zm-80 25.1l-54.5 54.5 43.7 43.7 34.2 34.1 54.4-54.5c-19.8-.5-39.4-8.3-54.4-23.3-15.1-15.1-22.9-34.7-23.4-54.5zM63.41 313.2l8.11 40.6 86.68 86.7 40.6 8.1-8.1-40.6-86.7-86.6zM18.1 358.5l8.13 40.7 86.57 86.6 40.7 8.1-8.1-40.6-86.59-86.7zm-.1 57.9v64.8l32.45-32.4zm45.2 45.2L30.8 494h64.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobotHelmet;

impl IconShape for RobotHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19c-13.8 0-27.9 3.02-41.5 8.48L256 79.44l41.5-51.96C283.9 22.02 269.8 19 256 19zm-59.4 16.96c-18.5 10.27-35.9 24.69-50.9 41.74-10.8 12.21-20.2 25.7-24.8 32.4l-64.8 87.1 59.1 83L95.9 348l71.6 64.2-6.9-27.3 36.1-108.2-40.7 27.1-75.98-106.3 42.28-56.3 97.4 48.7h72.7l97.4-48.7 42.3 56.3-76 106.3-40.8-27.2 1 3.2 35.2 105.1-6.9 27.3 71.5-64.2-19.4-67.8 59.2-83-64.8-87.1c-4.6-6.7-14-20.19-24.8-32.4-15-17.05-32.4-31.47-50.9-41.74L256 110.2zm15.1 256.44l-5 15h98.6l-5-15zm-11.5 34.2l-16.3 49.1h144.2l-16.4-49.1zm-17.3 68.3l12.3 49.2h121.6l12.2-49.2zm33.6 68.4L256 493l39.5-29.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobotLeg;

impl IconShape for RobotLeg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48.777 18c14.338 21.4 28.393 41.21 43.31 59.88 9.43-3.02 23.357-9.846 34.84-16.214 4.543-2.52 8.5-4.83 12.04-6.932A4205.892 4205.892 0 0 1 108.567 18h-59.79zm83.067 0a3914.434 3914.434 0 0 0 35.148 42.068c2.9 3.42 5.828 6.856 8.772 10.297 21.42-7.908 40.938-10.88 58.87-10.365 18.856.54 35.965 4.92 51.712 11.432 21.582 8.923 40.79 21.448 59.658 33.252-17.115-28.09-44.02-56.258-72.565-78.752A378.736 378.736 0 0 0 263.007 18H131.844zm18.873 50.688c-4.132 2.48-9.22 5.478-15.06 8.718-9.796 5.433-20.91 11.266-31.343 15.285a538.21 538.21 0 0 0 8.39 9.603c18.69-5.91 32.562-14.24 46.958-23.066-2.142-2.51-4.282-5.02-6.398-7.516-.867-1.022-1.685-2.004-2.547-3.022zm78.662 9.025c-12.522.162-26.026 2.374-40.99 7.3 14.893 17.17 29.87 33.99 43.715 48.772 18.88 20.16 36.01 36.673 46.74 44.6l25.796-17.8 46.137-31.833c-24.45-14.413-46.998-30.635-71.308-40.686-15.593-6.446-31.792-10.59-50.09-10.353zm-57.833 15.353c-13.41 8.25-27.365 16.918-45.416 23.63 30.06 31.05 65.594 59.703 113.327 88.865h.002l23.437-16.17.37-.257c-12.343-9.915-27.42-25.02-44.298-43.043-15.086-16.106-31.372-34.45-47.423-53.024zm192.228 48.586L263.188 211.06l113.714 18.7 8.803-36.95-21.93-51.158zm-113.037 85.6c-21.333 16.328-34.155 35.29-42.85 54.92-9.642 21.763-14.662 44.156-22.023 65.89a43.193 43.193 0 0 1 14.076-2.353c1.88 0 3.73.13 5.552.364 6.406-20.05 11.156-39.236 18.854-56.61 7.806-17.623 18.318-33.53 37.023-47.77 9.058 18.714 28.062 31.776 50.052 32.273a9007.202 9007.202 0 0 1-33.99 31.404c-19.57 17.98-39.355 35.957-54.602 49.374a920.77 920.77 0 0 1-12.72 11.012c-3.027-1.306-6.462-2.047-10.17-2.047-13.22 0-23 9.427-23 20.29s9.78 20.29 23 20.29c13.222 0 23-9.427 23-20.29 0-1.692-.235-3.35-.686-4.943a955.908 955.908 0 0 0 12.467-10.8c15.435-13.584 35.27-31.606 54.89-49.628 39.238-36.045 77.593-72.07 77.593-72.07l-.174-.183-24.6-4.047c-7.136 8.377-17.768 13.67-29.715 13.67-16.517 0-30.525-10.11-36.24-24.516l-25.737-4.232zM165.64 404.93l-22.18 30.11-57.435 12.952L68.02 487h72.972c7.86-23.49 20.24-48.863 38.91-69.646-5.724-3.014-10.634-7.276-14.26-12.424zm58.803 9.716c-6.84 4.774-15.278 7.59-24.26 7.64-18.573 17.757-31.68 41.752-40.105 64.714h121.225c2.04-7.714 1.237-14.518-1.244-21.795-2.428-7.115-6.734-14.485-11.75-22.12-10.19-.55-20.095-1.218-29.464-2.126l-5.82-.565-8.583-25.75zm65.65 29.458c2.73 4.855 5.17 9.914 7.003 15.292 2.885 8.463 4.092 17.844 2.498 27.604h107.12v-32.127c-14.087-3.435-30.96-5.867-49.138-7.326-21.59-1.733-44.84-2.498-67.482-3.443zm134.622 19.79V487h38.508l-38.508-23.105z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RockGolem;

impl IconShape for RockGolem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.7 25l-57.9 57.96L183.4 151h145.2l13.6-68.04-32.8-32.84L282.5 64l16.3-24.53L284.3 25h-56.6zM195 88.44L240 111l-4 17h-41V88.44zm122 0V128h-41l-4-17 32-16.05 13-6.51zM154 109.1l-22 11 10.6 17.1-24.1-10.4L73 149.6v16l91.8-13.1-10.8-43.4zm204 0l-10.8 43.4 91.8 13.1v-16l-81-40.5zm-152.4 60.1l-63.3 4.7-6.6 1-9.2 62.3 50.2 25.1 44.5-14.8 5.6 17-51.5 17.2-44.4-22.2 20.4 84.5 95.7 13.6V196.8l-41.4-27.6zm100.8 0L265 196.8v160.8l95.7-13.6 20.4-84.5-23.8 11.9-19.6 38.6-18.8-34.2-33.7-11.3 5.6-17 44.5 14.8 50.2-25.1-9.2-62.3-6.6-1-63.3-4.7zm-189.6 8.4l-61.32 8.7-30.04 40.1 3.64 25.5 25.38 10.4L33.09 280l6.47 45.3L103 312.7v-57.4l13.8-77.7zm278.4 0l13.8 77.6v57.4l52 10.4 13.7-13.7 11.9-82.9-30.1-40.1-28-4-4.2 17.9-9.9-19.9-19.2-2.7zM104.1 330.8L42.78 343l28 126 47.42-11.8-14.1-126.4zm303.8 0l-14.1 126.4 22.6 5.6 7.9-25.8 17.8 28.1L469.2 343l-61.3-12.2zm-256 31.4L138.1 487h80.3l37.6-75.1 37.6 75.1h30.8l11.6-23 11.5 23h26.4l-13.8-124.8L256 377.1l-41.9-6-6.1 34.4-15.3-37.5-40.8-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RocketThruster;

impl IconShape for RocketThruster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M36.078 16L16 35.55v50.247L87.684 16H36.078zm121.83 0l-97.834 95.26c8.838-.48 17.72-.946 27.207-1.367L183.71 16H157.91zm107.768 0L217.72 62.693c11.73-7.19 24.684-14.537 37.987-21.455 17.973-9.346 36.334-17.656 52.807-23.023 2.466-.804 4.865-1.53 7.234-2.215h-50.072zm105.627 0l-4.29 3.432c56.944 23.005 97.62 63.682 120.628 120.627l8.16-10.2C475.674 75.84 440.51 38.356 388.93 16h-17.63zm55.894 0C455.86 34.214 478.884 58.318 496 88.027V63.582C484.442 45.14 469.57 29.234 451.488 16h-24.29zm52.176 0A192.31 192.31 0 0 1 496 33.447V16h-16.627zM341.316 30.266c-6.124-.108-15.98 1.4-27.226 5.064-14.994 4.886-32.696 12.84-50.078 21.88a519.558 519.558 0 0 0-18.948 10.384c27.085 5.188 54.39 17.866 79.737 35.3l69.516-49.654c-14.42-8.99-30.465-16.435-48.207-22.35-1.126-.374-2.752-.588-4.794-.624zm68.713 33.87l-69.99 49.995a317.653 317.653 0 0 1 28.007 24.895 317.684 317.684 0 0 1 24.902 28.002l49.988-69.986a181.614 181.614 0 0 0-32.91-32.905zm-193.41 18.08c-19.394.162-36.698 5.932-49.39 18.626a58.492 58.492 0 0 0-6.992 8.447c7.737.345 15.336.865 22.698 1.606 8.6-7.025 20.286-10.66 34.26-10.71 9.396-.034 19.82 1.55 31.025 4.802 29.88 8.675 64.076 29.196 94.372 59.492 30.296 30.297 50.82 64.496 59.494 94.374 8.674 29.877 5.474 54.205-8.582 68.26a40.523 40.523 0 0 1-7.076 5.63 234.492 234.492 0 0 1-5.32 22.106c9.518-3 18.04-7.923 25.124-15.006 20.31-20.31 22.893-52.42 13.14-86.01-9.36-32.248-30.12-66.993-60.245-98.2l-.09-.093-.057-.056a307.882 307.882 0 0 0-3.66-3.73h-.002a308.138 308.138 0 0 0-3.726-3.66l-.06-.06c-.034-.03-.067-.06-.1-.093-31.205-30.12-65.946-50.88-98.192-60.24-12.596-3.658-24.985-5.58-36.62-5.483zM453.83 112.76l-49.652 69.515c17.437 25.354 30.1 52.67 35.285 79.762a519.383 519.383 0 0 0 10.4-18.974c9.04-17.382 16.992-35.084 21.877-50.078 4.886-14.993 5.94-27.516 4.44-32.017-5.914-17.742-13.36-33.785-22.35-48.207zm-315.766 14.306c-24.424-.103-49.52 1.074-72.78 2.217 7.69 2.09 14.93 3.963 22.872 6.343 29.69 8.9 59.69 19.512 74.75 40.217l12.465 17.137-20.988-2.93c-45.902-6.41-74.37 5.044-101.47 15.693 33.77 7.288 58.506 15.248 87.683 36.73l13.96 10.278-16.44 5.504C78.56 278.195 47.45 315.047 16 357.834v22.143c9.58-5.07 19.283-10.596 29.057-15.934 27.153-14.832 55.85-28.346 85.502-19.572l7.84 2.32-1.56 8.028c-6.803 35.01-28.027 91.445-48.008 141.182h15.455c44.07-50.768 93.33-113.807 108.994-146.596l7.16-14.984 8.644 14.178c5.784 9.484 3.667 19.766.973 31.724-2.694 11.958-7.28 25.69-12.178 39.88-6.224 18.024-12.536 36.71-16.552 52.19 12.538-12.48 25.598-29.23 36.842-46.912 16.8-26.42 29.886-55.1 33.586-72.515l5.015-23.613 11.668 21.134c12.356 22.385 10.967 52.3 6.996 84.723-2.37 19.346-5.82 39.638-8.854 59.653 14.87-22.31 32.57-48.36 48.307-77.36 24.843-45.79 43.262-96.883 34.79-143.876-2.723-15.107-13.146-34.003-28.327-52.83-21.165 6.466-42.44 20.892-62.875 40.822 17.09-29.95 23.5-49.964 37.183-65.225-24.578 10.682-57.176 29.572-91.263 62.765 19.654-25.258 40.095-64.07 53.935-91.478-20.372 15.64-51.45 31.377-71.21 43.81 9.8-15.11 30.47-43.68 36.517-66.957-10.983-4.976-21.758-8.688-31.87-10.765l-.148-.032-.15-.035c-20.223-4.873-46.176-6.523-73.404-6.64zM31.73 138.86L16 154.177V179.3l35.928-34.984c-7.012-1.842-13.946-3.663-20.2-5.455zm82.047 25.04l-8.13 7.916a179.563 179.563 0 0 1 21.603-1.504c-4.143-2.217-8.685-4.355-13.473-6.412zM52.14 223.916L16 259.106v50.244l75.926-73.928C79.87 230.577 67.19 227.2 52.14 223.916zM496 287.72L346.97 432.83c-13.02 23.235-27.113 44.683-39.44 63.172h26.163L496 337.965V287.72zm-384.45 72.075c-3.92 0-7.91.426-11.972 1.203L16 442.378V467.5l97.834-95.258c1.202-4.276 2.285-8.36 3.193-12.162a51.858 51.858 0 0 0-5.476-.285zM496 368.81L365.373 496h25.8L496 393.934V368.81zm-295.277 45.924l-27.32 26.602c-14.17 18.31-29.498 36.993-44.624 54.664h14.282l44.74-43.56c3.907-12.385 8.606-25.225 12.92-37.706z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RockingChair;

impl IconShape for RockingChair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M83.17 26.07c-11.25.51-21.18 2.68-32.21 4.71C63.09 96.45 76.78 159.4 100.2 219.5c88.3-13.2 182.1-25 259.8-34.1 2.2 8.5 10.4 14.6 22.2 14.6 13.6 0 26.4-8.3 24.7-18-2.6-14.5-17.9-19.1-29.4-17.7l-251.7 33.1C104.2 141.1 89.34 83.79 83.17 26.07zM362.9 202.9l-18.1 2.1 19.9 74.5c-61 14.2-123.1 24.6-187.1 29.5-13.8-25.5-26.5-51.3-37.8-77.4l-32.6 5c14.4 33.9 32.2 66.7 55 98.6 27.9 6.1 24 5 27.9 5.4 76.7-8.8 133-16.9 202.2-34.3-13.2-32.5-20.3-69.3-29.4-103.4zm37.4 119.9l-17.7 4.5 41.3 85c5.4-2.3 10.8-4.9 16.2-7.7zm-242 32.2l-15 76.7c5.6 1.9 11.3 3.7 17.2 5.4l15.7-80zM36.02 405.1l-8.42 16c139.9 73.9 290.2 98.2 456.8-.3l-9.2-15.4c-161.4 95.3-302.5 72-439.18-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RodOfAsclepius;

impl IconShape for RodOfAsclepius {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.7 18.92l-68.6 3.62 1.1 15.11.4-.1c5.8-1.24 11.3-1.89 16.4-2.05 15.4-.48 27.9 3.45 38.2 9 3.9 2.13 7.5 4.43 11 6.76zm-47.8 34.39c-.7 0-1.5 0-2.2.1-3.9.17-8.1.73-12.8 1.7-27.7 9.5-46.1 20.91-56.5 32.09-10.5 11.18-13.2 21.6-11.2 32 3.8 19.2 28.1 41.2 68.3 54.9v-33.3c-5-2.7-8.9-5.9-10.8-11.5-1.3-3.7-.9-7.8.2-10.9 1.1-3.2 2.8-5.7 4.8-8.4l4.5-6.1 6.8 3.5c48.1 24.4 81.6 30.6 108.3 19.5 12.8-5.3 16.4-10.3 16.8-11.9.3-1.6-.5-4.5-5.7-9-10.2-9.22-33.2-18.78-47.1-22.2l-1-.27-1-.52c-13.7-7.23-23.7-16.7-34.7-22.68-7.8-4.2-15.8-7.11-26.7-7.02zm49.8 37.19a7.916 7.878 0 0 1 7.9 7.88 7.916 7.878 0 0 1-7.9 7.92 7.916 7.878 0 0 1-7.9-7.92 7.916 7.878 0 0 1 7.9-7.88zm147.8 32.7c-12.3.3-24 3.5-33 8.4-10.5-1.4-21.4-4.2-32.7-7.7-2.7 5.6-7.6 10.2-14.6 14.3 13.9 4.6 28.1 8.7 42.4 10.9 2.7 12.8 8 25.5 17.7 37.1l13.8-11.6c-7.7-9.2-11.9-18.7-14-29 8.4-3.3 20.7-5.5 31.2-3.5l3.2-17.8c-4.7-.8-9.4-1.2-14-1.1zm-194 9.9v57.7c6.7-1.8 12.8-3.5 17.6-5 3.6-1.2 6.1-2.2 7.6-3l.3-40c-8.2-2.6-16.6-5.8-25.5-9.7zm43.4 25.8l-.2 27.4v-.3c.1 3.6-1.7 6.7-3.3 8.5-1.7 1.8-3.4 2.8-5.1 3.8-3.5 1.9-7.3 3.2-11.8 4.6-8.9 2.8-20.1 5.6-31.3 9-11.2 3.4-22.4 7.6-30.6 12.4-8.1 4.9-12.6 10-13.6 15.2-3.1 16.4-.1 25.6 7.5 34.2 5.2 6.1 13.6 11.7 24 17.2l-2.4-21.3 6.1-2.6c18.3-8.1 38.3-13.8 55.3-21.1 17.1-7.2 30.7-15.8 38.2-28.2 4.7-7.9 5.5-13.6 4.5-19-.9-5.3-4-10.7-9.1-16.4-7-7.8-17.5-15.5-28.2-23.4zm-17.1 110.9c-10.4 3.8-20.8 7.3-30.3 11.2l3.3 30.2h.1c9-2.9 17.4-5.4 22.9-7.6 2.3-1 3.7-1.8 4.6-2.4zm18.3 15.4l.3 18.2v.2c0 5.3-3.4 9.2-6.3 11.5-2.9 2.2-6 3.7-9.5 5.1-7 2.9-15.4 5.3-24.1 8.1-17.1 5.5-34 13.4-38.9 21.3-5.5 15.8-3.5 23.3 2 30 3.4 4.2 9 8 15.8 11.8l-2.2-18.7 7.3-2.1s19.9-5.9 40.2-15.8c10.2-5 20.4-10.9 27.9-17.3 7.6-6.3 12-12.8 12.8-18.1.4-2.5-.8-6.7-4-11.9-3.3-5.1-8.4-10.7-13.8-15.7-2.5-2.4-5.1-4.6-7.5-6.6zm-19.9 91.5c-9.9 4.2-17.8 6.9-23.1 8.6l.5 7 3.5 29.7-1.4-.7.1 1.2 1.2-.3c5.9-1.4 10.9-2.9 13.5-4.3 2.7-1.4 2.2-1.3 2.2-1.4l3.3-37.2zm16.6 17.6l-2.1 23.8c-.7 7.5-6.5 13-11.9 15.8-5.5 2.8-11.5 4.3-17.7 5.8-12.4 2.9-25.9 5.8-33.1 10.6-7.1 4.7-11.3 9.3-13.3 12.9-2 3.7-2.1 6.1-1.2 9.1 1.3 4 6.1 9.4 14.2 14.5-.1-4.4.4-8.5 2.2-12.6 1.9-4.3 5.8-7.8 9.8-9.7 4-1.9 8.2-2.8 13.2-3.7 11.1-1.9 27.9-5.5 41.6-12.2 13.7-6.7 23.2-15.4 24.7-28.1.2-2-.8-4.9-3.9-8.8-3-3.8-7.9-7.9-13-11.5-3.3-2.2-6.5-4.2-9.5-5.9zM266 474.8c-5.2 1.3-10 2.3-14.2 3.1l1 14.5 12.3.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RolledCloth;

impl IconShape for RolledCloth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.446 34.793c-23.17.023-45.634 12.97-54.612 36.323l-83.67 326.167c-12.673 94.537 81.04 88.742 137.957 65.396 81.422-33.396 181.723-29.213 263.244-8.26l6.45-17.218c-7.38-2.638-15.334-5.988-22.252-8.039.473-4.364.955-8.72 1.437-13.074l23.038 4.118 3.234-18.1c-8.074-1.441-16.147-2.885-24.221-4.328.615-5.403 1.238-10.799 1.87-16.189l22.134 3.278 2.693-18.186c-7.548-1.12-15.098-2.238-22.647-3.355.456-3.765.91-7.53 1.375-11.29 7.615 1.092 15.231 2.183 22.847 3.273l2.607-18.2-23.164-3.316c.46-3.593 1.29-9.988 1.76-13.577l22.781 2.55 2.045-17.57c-7.467-.834-14.935-1.671-22.402-2.508.783-5.767 1.917-11.182 2.728-16.943 7.67 1.12 15.341 2.244 23.012 3.368l2.31-17.139c-7.683-1.127-15.366-2.25-23.05-3.374.792-5.415 1.252-10.129 2.071-15.542 7.074 1.264 14.149 2.528 21.223 3.79l3.232-18.1-21.654-3.866c.736-4.676 1.473-9.35 2.23-14.026 6.978 1.673 13.955 3.347 20.932 5.022L465.276 208c-7.401-1.778-14.803-3.554-22.204-5.33a2809.25 2809.25 0 0 1 2.132-12.477c6.98 1.583 13.961 3.165 20.942 4.746l4.064-17.93c-7.271-1.65-14.543-3.298-21.815-4.946.769-4.267 1.55-8.535 2.342-12.805l20.742 5.151 4.431-17.843-21.751-5.405c.741-3.847 1.494-7.696 2.254-11.548l20.28 5.014 4.413-17.849-21.057-5.207a2444.47 2444.47 0 0 1 2.571-12.374c8.386 2.41 13.13 2.364 21.41 4.99L486 88.456c-83.808-26.776-179.25-33.22-244.192-6.453-24.337 114.036-37.305 221.4-68.032 338.64-3.407 13-14.47 21.89-27.342 28.064-27 11.608-64.033 13.778-84.63-4.91-10.971-10.34-16.174-27.036-12.467-47.579 2.303-12.762 10.883-21.986 20.834-26.378 19.749-7.074 43.492-4.25 58.893 7.95 12.463 9.302 12.318 38.283-3.882 31.82-9.639-6.17-1.964-11.851-8.615-17.378-11.6-7.428-26.42-10.872-38.972-5.57-5.564 2.455-8.887 5.737-10.166 12.822-2.94 16.29.685 24.996 6.985 30.933 18.333 13.49 45.279 10.495 64.068 1.712 10.045-4.82 16.277-11.436 17.511-16.147 30.538-116.518 43.443-224.123 68.293-339.964-11.796-28.344-35.67-41.247-58.84-41.225z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RollerSkate;

impl IconShape for RollerSkate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M111.6 97c-9.6 56.8-26.44 107.6-37.53 154.8 11.74 42.3 38.23 74.8 80.23 99.2h230.3c3.2-16.5 6.2-34.7 12.5-51.8 5-13.5 12.3-26.5 23.6-36.6-8.2-2.2-18-4.2-29.8-5.7h-.2c-33.5-4.8-59.6-8.9-80-15.4-18 3.5-33.9 4.3-48.1 1.3-15.1-3.2-28.2-11.2-38.2-23.7-19-23.9-28.2-62.8-32.8-122.1zm98.1 0c4.7 57.2 14.3 92.7 28.8 110.9 7.7 9.6 16.3 14.8 27.8 17.3 4.1.9 8.6 1.3 13.5 1.4-3.8-2.8-7.4-5.9-10.6-9.4-21.7-23.3-26.7-59.1-29.7-120.2zm231.1 173.2c-13.5 7.9-21.3 20-26.8 35.2-5.1 13.9-8 29.9-11 45.6h60v-39c0-15-2.1-25.4-11.2-34.2-2.8-2.6-6.4-5.2-11-7.6zM67.31 285c-3.74 22.6-5.34 44.5-3.19 66H122c-24-18.2-42.43-40.3-54.69-66zM65 369v14h398v-14zm23 32c-21.65 0-39 17.4-39 39s17.35 39 39 39c21.6 0 39-17.4 39-39s-17.4-39-39-39zm112 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm112 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm112 0c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zM88 424a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm112 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm112 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm112 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RollingDiceCup;

impl IconShape for RollingDiceCup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.376 28.002c-7.475.147-15.469 2.625-21.11 5.318-12.971 6.287-26.097 18.123-36.622 32.412-10.526 14.29-18.463 30.992-21.854 46.35-3.371 15.272-2.164 28.759 3.705 38.08l89.178 117.861c-.323-1.676-.62-3.362-.877-5.062-4.594-30.313.962-64.488 17.356-95.967 16.393-31.479 40.677-54.6 67.261-66.51 9.26-4.148 18.853-6.918 28.473-8.152l-110.045-60.43c-5.044-2.575-10.19-3.83-15.465-3.9zm138.156 81.95c-11.029-.138-22.48 2.414-33.81 7.49-22.66 10.15-44.375 30.513-59.059 58.708-14.684 28.196-19.4 58.59-15.484 84.428 3.916 25.839 16.127 46.774 35.404 58.152 11.198 6.61 23.703 9.352 36.658 8.504-5.197-12.722-9.295-25.665-9.841-39.318 10.304-19.968 20.802-39.936 35.695-59.905 22.946-7.223 47.124-4.533 75.035-3.39 3.722-16.605 4.335-32.99 2.08-47.863-3.916-25.839-16.127-46.774-35.404-58.153-9.638-5.689-20.244-8.516-31.273-8.654zm71.481 132.306l-67.496 3.863 18.369 61.832 66.26-3.715c-2.435-21.315-10.232-41.558-17.133-61.98zm-80.666 15.195c-7.923 9.763-14.526 20.318-17.787 32.877 1.772 19.22 4.134 38.373 14.185 56.672l18.39-30.13zm173.738 59.95c-24.604 11.259-43.699 23.436-62.822 35.609l70.945 55.69 67.86-48.368c-22.714-15.182-47.656-29.62-75.983-42.932zm-82.357 6.152l-62.108 2.92-18.431 29.722c19.703-.995 38.332.695 59.717-4.502 10.37-9.38 14.824-18.76 20.822-28.14zm14.894 48.601c-5.018 19.188-5.258 39.333-5.73 59.43 17.198 23.68 40.384 36.581 61.943 52.412l8.658-62.232zm142.354 9.223l-58.973 42.498-8.88 56.496c19.434-11.58 37.82-24.417 52.605-41.574 8.266-19.14 11.495-38.28 15.248-57.42z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RollingDices;

impl IconShape for RollingDices {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.798 35.342L28.73 114.268l95.777 29.095 111.305-87.09-97.014-20.93zm112.986 31.082l-118.047 89.96 51.07 131.102 8.534-7.455 4.23-15.708a18.338 13.102 76.863 0 1-9.08-20.45 18.338 13.102 76.863 0 1 10.997-13.727 18.338 13.102 76.863 0 1 3.62.53 18.338 13.102 76.863 0 1 3.113 1.544l7.94-29.48a9 9 0 0 1 .353-1.04 9 9 0 0 1 .058-.128 9 9 0 0 1 .32-.685 9 9 0 0 1 .09-.153 9 9 0 0 1 .37-.625 9 9 0 0 1 .534-.723 9 9 0 0 1 .066-.074 9 9 0 0 1 .54-.594 9 9 0 0 1 .65-.593 9 9 0 0 1 .004-.002 9 9 0 0 1 .46-.342 9 9 0 0 1 .266-.197 9 9 0 0 1 .502-.3 9 9 0 0 1 .27-.157 9 9 0 0 1 .44-.208 9 9 0 0 1 .38-.178 9 9 0 0 1 .437-.152 9 9 0 0 1 .41-.143 9 9 0 0 1 .404-.1 9 9 0 0 1 .47-.114 9 9 0 0 1 .51-.07 9 9 0 0 1 .37-.05 9 9 0 0 1 .01 0 9 9 0 0 1 .01-.003l33.624-2.873a18.338 13.102 76.863 0 1 10.326-9.777 18.338 13.102 76.863 0 1 3.622.53 18.338 13.102 76.863 0 1 8.527 7.327l13.043-1.113-39.442-123.783zM137.25 74.03a9.8 19.77 77.916 0 1 12.798 8.734 9.8 19.77 77.916 0 1-21.938 11.998 9.8 19.77 77.916 0 1-16.57-8.602 9.8 19.77 77.916 0 1 21.938-12 9.8 19.77 77.916 0 1 3.77-.13zm100.228 23.517a18.338 13.102 76.863 0 1 .002 0 18.338 13.102 76.863 0 1 3.62.53 18.338 13.102 76.863 0 1 12.112 21.94 18.338 13.102 76.863 0 1-14.617 13.196 18.338 13.102 76.863 0 1-12.114-21.94 18.338 13.102 76.863 0 1 10.998-13.726zM24.22 131.71l46.992 114.124 94.236 40.38-45.988-125.57-95.24-28.935zm147.886 17.43a18.338 13.102 76.863 0 1 3.622.528 18.338 13.102 76.863 0 1 12.11 21.94 18.338 13.102 76.863 0 1-14.616 13.197 18.338 13.102 76.863 0 1-12.112-21.94 18.338 13.102 76.863 0 1 10.996-13.726zm-75.123 13.016a19.454 9.134 59.254 0 1 16.955 15.078 19.454 9.134 59.254 0 1-.425 19.485A19.454 9.134 59.254 0 1 95.6 181.78a19.454 9.134 59.254 0 1 .424-19.48 19.454 9.134 59.254 0 1 .96-.144zm263.393 40.21l-112.102 9.577 113.762 79.926 113.598-16.956-115.258-72.55zM70.82 212.022A19.454 9.134 59.254 0 1 87.777 227.1a19.454 9.134 59.254 0 1-.425 19.484 19.454 9.134 59.254 0 1-17.913-14.938 19.454 9.134 59.254 0 1 .425-19.482 19.454 9.134 59.254 0 1 .96-.14zm157.378 7.813L186.66 374.023l115.616 99.454 47.147-168.47-121.225-85.17zm126.987 11.168a21.76 8.898 15.267 0 1 19.693 4.783 21.76 8.898 15.267 0 1 7.607 14.244 21.76 8.898 15.267 0 1-28.886-3.182 21.76 8.898 15.267 0 1-7.61-14.244 21.76 8.898 15.267 0 1 9.195-1.6zM487.78 291.3L366.9 309.343l-46.823 167.316 116.297-31.77L487.78 291.3zm-181.808 10.8a25.834 15.573 84.277 0 1 4.238.943 25.834 15.573 84.277 0 1 12.873 31.72 25.834 15.573 84.277 0 1-18.105 17.893 25.834 15.573 84.277 0 1-12.874-31.72 25.834 15.573 84.277 0 1 13.868-18.836zm154.086 11.636a13.237 21.96 28.62 0 1 7.673 4.13 13.237 21.96 28.62 0 1-6.176 28.435 13.237 21.96 28.62 0 1-21.287 3.878 13.237 21.96 28.62 0 1 6.175-28.434 13.237 21.96 28.62 0 1 13.616-8.008zM391.362 324.4a13.237 21.96 28.62 0 1 7.672 4.13 13.237 21.96 28.62 0 1-6.176 28.435 13.237 21.96 28.62 0 1-21.287 3.877 13.237 21.96 28.62 0 1 6.177-28.434 13.237 21.96 28.62 0 1 13.615-8.008zm-173.996 13.305a25.834 15.573 84.277 0 1 4.24.945 25.834 15.573 84.277 0 1 12.872 31.72 25.834 15.573 84.277 0 1-18.106 17.894 25.834 15.573 84.277 0 1-12.873-31.72 25.834 15.573 84.277 0 1 13.866-18.84zm212.278 60.87a13.237 21.96 28.62 0 1 7.67 4.13 13.237 21.96 28.62 0 1-6.174 28.434 13.237 21.96 28.62 0 1-21.287 3.876 13.237 21.96 28.62 0 1 6.175-28.434 13.237 21.96 28.62 0 1 13.616-8.008zm-70.332 19.488a13.237 21.96 28.62 0 1 7.67 4.132 13.237 21.96 28.62 0 1-6.174 28.434 13.237 21.96 28.62 0 1-21.287 3.874 13.237 21.96 28.62 0 1 6.176-28.434 13.237 21.96 28.62 0 1 13.616-8.007z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RomanShield;

impl IconShape for RomanShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 20c-52 0-104 4-160 12-16.432 224-16 224 0 448 112 16 208 16 320 0 16-224 16-224 0-448-56-8-108-12-160-12zm0 12l16 16h-7v151h18.184l25.234-37.854L275.27 128l32.003-32-32.002-32L297.6 41.676l-5.143-5.143h22.627V59.16l-4.758-4.758L300.727 64l32.002 32-32.003 32 30.855 30.854-25.873 38.808c44.373-18.947 68.128-73.205 53.56-131.478l-6.61-26.432 21.053 17.293c21.43 17.606 36.194 44.522 42.748 72.883 6.555 28.36 4.962 58.503-8.628 82.506-9.45 16.688-24.175 26.49-41.7 31.257-5.4 1.47-11.08 2.536-17.058 3.31H416v18h-66.926c5.978.774 11.657 1.84 17.057 3.31 17.527 4.766 32.253 14.568 41.702 31.256 13.59 24.003 15.183 54.145 8.63 82.506-6.555 28.36-21.318 55.277-42.75 72.883l-21.052 17.293 6.61-26.432c14.568-58.273-9.187-112.53-53.56-131.478l25.872 38.808L300.727 384l32.002 32-32.003 32 9.597 9.598 4.758-4.758v22.627h-22.627l5.143-5.143L275.27 448l32.003-32-32.002-32 33.148-33.146L283.184 313H265v151h7l-16 16-16-16h7V313h-18.184l-25.234 37.854L236.73 384l-32.003 32 32.002 32-22.328 22.324 5.143 5.143h-22.627V452.84l4.758 4.758 9.597-9.598-32.002-32 32.003-32-30.855-30.854 25.873-38.808c-44.373 18.947-68.128 73.205-53.56 131.478l6.61 26.432-21.053-17.293c-21.43-17.606-36.194-44.522-42.748-72.883-6.555-28.36-4.962-58.503 8.628-82.506 9.45-16.688 24.175-26.49 41.7-31.257 5.4-1.47 11.08-2.536 17.058-3.31H96v-18h66.926c-5.978-.774-11.657-1.84-17.057-3.31-17.527-4.766-32.253-14.568-41.702-31.256-13.59-24.003-15.183-54.145-8.63-82.506 6.555-28.36 21.318-55.277 42.75-72.883l21.052-17.293-6.61 26.432c-14.568 58.273 9.187 112.53 53.56 131.478l-25.872-38.808L211.273 128 179.27 96l32.003-32-9.597-9.598-4.758 4.758V36.533h22.627l-5.143 5.143L236.73 64l-32.003 32 32.002 32-33.148 33.146L228.816 199H247V48h-7l16-16zM130.822 92.42c-8.118 12.284-14.306 26.675-17.746 41.56-5.764 24.943-3.88 50.8 6.756 69.586 7.17 12.664 16.443 18.86 30.762 22.756 12.425 3.38 28.78 4.365 48.406 4.58v-16.94c-44.835-19.294-70.83-67.72-68.178-121.542zm250.356 0c2.652 53.823-23.343 102.248-68.178 121.543v16.94c19.625-.216 35.98-1.2 48.406-4.58 14.32-3.896 23.592-10.093 30.762-22.757 10.636-18.785 12.52-44.643 6.756-69.586-3.44-14.885-9.628-29.276-17.746-41.56zM217 217v26.412c4.057-12.462 13.95-22.355 26.412-26.412H217zm51.588 0c12.462 4.057 22.355 13.95 26.412 26.412V217h-26.412zM256 233c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-39 35.588V295h26.412c-12.462-4.057-22.355-13.95-26.412-26.412zm78 0c-4.057 12.462-13.95 22.355-26.412 26.412H295v-26.412zm-96 12.51c-19.625.215-35.98 1.2-48.406 4.58-14.32 3.895-23.592 10.092-30.762 22.756-10.636 18.785-12.52 44.643-6.756 69.586 3.44 14.885 9.628 29.276 17.746 41.56-2.652-53.823 23.343-102.248 68.178-121.543v-16.94zm114 0v16.94c44.835 19.294 70.83 67.72 68.178 121.542 8.118-12.284 14.306-26.675 17.746-41.56 5.764-24.943 3.88-50.8-6.756-69.586-7.17-12.664-16.443-18.86-30.762-22.756-12.425-3.38-28.78-4.365-48.406-4.58z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RomanToga;

impl IconShape for RomanToga {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.676 18.033c-1.164.028-2.346.125-3.5.125-32.842 0-59.594 33.926-59.594 75.938 0 21.274 7.08 40.465 18.094 54.28-68.132 10.568-82.852 105.422-66.655 191.563h23.563l-1.031-105.343 18.687-.186.467 47.377c38.873-41.234 72.862-84.997 104.984-128.039 5.484-8.33 5.534-10.99 9.93-15.967 6.932-12.34 11.117-27.354 11.117-43.685 0-39.387-23.416-72.038-53.408-75.936-.5-.075-.987-.11-1.5-.125a20.26 20.26 0 0 0-1.156 0l.002-.002zm56.58 134.412c-1.351.055-2.158.49-2.719 1.053-.748.751-1.266 1.937-.953 4.266.313 2.328 1.69 5.397 4.281 7.978 2.592 2.581 5.668 3.947 7.998 4.25 2.33.303 3.512-.221 4.26-.972.748-.751 1.268-1.936.955-4.264-.313-2.329-1.691-5.4-4.283-7.98-2.592-2.582-5.666-3.946-7.996-4.249a9.144 9.144 0 0 0-1.543-.082zm-15.07 22.684c-33.448 44.473-69.433 89.819-111.225 132.357l.53 53.612.314 4.78c18.93-13.416 40.206-37.142 57.326-62.673 11.38-16.972 21.161-34.666 27.996-50.322 6.835-15.656 10.527-29.574 10.527-37.156h18c0 12.564-4.671 27.499-12.031 44.357s-17.602 35.336-29.543 53.145c-20.411 30.44-45.087 59.124-70.912 73.341l.777 11.803c33.132-15.428 56.322-29.443 87.774-72.736l14.562 10.578c-34.968 48.134-63.652 64.098-101.072 81.365l.861 13.059 122.309-47.37 3.234-43.33h.032l1.011-100.566c-.624-15.32 1.939-34.818 3.192-51.342a25.74 25.74 0 0 1-2.309-.19c-6.714-.873-13.143-4.133-18.377-9.345a35.673 35.673 0 0 1-2.976-3.367zm42.277 5.47c-.222 6.175-3.853 45.72-3.068 53.997l-1.065 105.343h24.533c12.656-60.968 5.615-122.891-20.4-159.34zm-27.568 222.547l-51.094 19.79v71.035h44.312l6.782-90.825zm-69.78 27.026L196.31 449.46l2.931 44.512h46.875v-63.801z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rooster;

impl IconShape for Rooster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M419.1 21.18c-5.5 13.76-17.6 26.38-26.6 30.87l-29.9-13.97c-5.5 14.92-3.3 24.37 3.5 32.96-9.4 4.87-20.5 5.17-32.7 2.27-1.5 15.76 10.9 29.39 26.2 29.39 6-7.82 15.2-16.68 27.2-22.75 14.7-7.42 34.5-9.25 53.6 2.76 24.1-1.56 31.4-27.47 31.4-44.17-20.3 8.09-25.9 15.21-46.3 17.73 10.5-10.22 2.7-26.56-6.4-35.09zM68.76 89.2c26.79 16.4 52.74 27.7 58.64 50.1-35.13-11.3-66.12 7.7-87.19 41 27.57-9.3 45.01-15.7 74.59-12.9-26.81 11.7-54.33 25.1-52.48 47.1 19.05-11 23.5-17.7 52.68-17.6-28.21 16.9-43.69 28.1-37.58 66.5 9.55-16.1 33.08-31.6 50.28-34.4-24.8 30-29.27 48.6-18.8 78.9 8.9-13.6 18-37.1 36.1-47.2-9.2 20-5.5 49.6 3.2 63.6 9.4-17.4 16.4-35.8 35-50.2 20.4 33.1 35.7 67.3 85.7 94.6 7.8 8.4 12.4 18.4 13.2 32.4H337l17.5-32.2c52.1-20 81.4-51.1 96.5-87.5-8.3-4.5-13.4-12.4-16.9-19.9-13.3 13.2-20.8 25.8-29.7 41.4-8.7-12.5-15.5-27.6-17.1-41.3-11.7 9.7-18.7 19.6-27.4 31.7-6.7-14.4-12.2-31.2-12.4-44.9-19 6.5-24.4 14.7-37 29.2-6.3-21.3-12.7-47.2-6.6-62.6-75.9 3.8-67-92.4-98.4-118.06.6 14.46-8.2 40.16-13.1 42.06-20-46.54-89-49.79-123.64-49.8zm343.04 1.27c-6.2 0-11.8 1.88-17.4 4.65-11.3 6.58-20.6 15.78-27.2 26.88-1.8 14.9.6 29.7.1 44.5-.6 20.5-16.8 42-34.9 45.4-2.1.3-4.1.7-6.1 1-10.8 8-8.2 19.6-5.7 29.9 15.3-10.2 29.4-12.4 46.3-15.2-2.1 10.3-2.8 21.7-1.2 31.1 12.7-12.8 24-20.4 38.4-30.8-.7 13.4-1.2 28.7 1.8 40.3 11.2-15 20.9-23.3 35.1-33.5 4.4 9.1 10 25.8 15.8 30.5 2.6-8.5 4.4-17.3 5.8-26.2 1.9-13.9-3.9-27-10.4-40.3-12.9-.4-25.6-7.6-35.1-17.8-12.2-12.9-19.3-33.1-10.2-52.5l2.3-5c10.9.3 22.8.7 32.1 3.5 12.5 1.7 24.4 12 29.3 10.2-3.2-13.1-12.5-34.6-34.6-31.1 1.1-10.04-17.3-15.29-24.2-15.53zm-1.7 7.12c4.1 0 7.4 3.21 7.4 7.21s-3.3 7.2-7.4 7.2c-4.1 0-7.5-3.2-7.5-7.2s3.4-7.26 7.5-7.21zm10.4 43.31c-2.7 10.5 1.5 20.5 8.9 28.4 6.6 7 15.5 11.1 22.5 12.1-.2-16.6-1.9-26.9-5.5-31.9-6.7-7.6-17.2-8.1-25.9-8.6zM286.1 418.2l3.3 18.4c-10.3 2.4-21.2 3.7-35.9 1.8l-2.2 16.8c13.1 1.8 24.2 1.2 34.1-.4l-18.6 18.5.9 17.2 27.5-21.7 3.6 22 16.8-2.9-5.7-34.7 13.6-.8 8.5 37.2 16.6-3.7-3.7-16.1c18 8.6 36.4 10.4 51.8 12.7l-15.1-17.9c-20.3-3.1-23.1-3.9-41-17.3l-5.5-29.1h-17.2l3.2 17.3-14.4.8-3.3-18.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RopeBridge;

impl IconShape for RopeBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 73.02C440.5 103 348.1 119 256 119S71.6 103 18 73.04V93.4c10.68 5.34 22.34 10.2 34.81 14.5L25.82 241.1c-2.68-1.9-5.29-4-7.82-6.1v22.7C77.36 300.6 166.7 321 256 321c89.2 0 178.6-20.4 238-63.3v-22.8c-2.5 2.1-5.1 4.2-7.8 6.2l-27-133.2c12.5-4.3 24.1-9.15 34.8-14.49zM76.03 115.2c12.89 3.6 26.47 6.7 40.47 9.4L96.34 235.8zm359.97 0l-20.3 120.6-20.2-111.2c14-2.7 27.6-5.8 40.5-9.4zm-296.1 13.5c13.7 2 27.7 3.7 41.9 5l-21.4 117.9zm232.2 0l-20.5 122.9-21.4-117.9c14.2-1.3 28.2-3 41.9-5zm-169.6 6.6c14.1.9 28.4 1.4 42.7 1.6L224 253.7zm107 0L288 253.7l-21.2-116.8c14.3-.2 28.6-.7 42.7-1.6zM63.19 147.4l21.14 125.5c-15.27-6-29.49-13-42.34-20.9zm385.61 0L470 252c-12.8 7.9-27 14.8-42.3 20.9zm-321.2 17l21.3 127.7c-14.7-3.1-28.9-6.8-42.4-11.2zm256.8 0l21.1 116.5c-13.5 4.4-27.7 8.1-42.4 11.2zM192 178.3l22.3 123.1c-14.7-1.1-29.4-2.9-43.7-5.2zm64 0l22.5 124.2c-7.5.3-15 .5-22.5.5s-15-.2-22.5-.5zm64 0l21.4 117.9c-14.3 2.3-29 4-43.7 5.2zM64 391c-14.1 0-30.44 4.4-46 9.8V420c16.71-6 34.61-11 46-11 14.02 0 28.33 7 43.9 15 15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15s28.3 7 43.9 15c15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15 11.4 0 29.3 5 46 11v-19.2c-15.6-5.4-31.9-9.8-46-9.8-19.7 0-36.5 9-52.1 17-15.6 8-29.9 15-43.9 15s-28.3-7-43.9-15c-15.6-8-32.4-17-52.1-17-19.7 0-36.5 9-52.1 17-15.6 8-29.9 15-43.9 15s-28.3-7-43.9-15c-15.5-8-32.39-17-52.1-17zm0 42c-14.1 0-30.45 4.4-46 9.8V462c16.71-6 34.61-11 45.99-11 14 0 28.32 7 43.91 15 15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15s28.3 7 43.9 15c15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15 11.4 0 29.3 5 46 11v-19.2c-15.6-5.4-31.9-9.8-46-9.8-19.7 0-36.5 9-52.1 17-15.6 8-29.9 15-43.9 15s-28.3-7-43.9-15c-15.6-8-32.4-17-52.1-17-19.7 0-36.5 9-52.1 17-15.6 8-29.9 15-43.9 15s-28.3-7-43.9-15c-15.6-8-32.41-17-52.11-17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RopeCoil;

impl IconShape for RopeCoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.9 57.48c0 3.7.2 7.9 1.1 12.6 20.6-.3 43 .3 61.4 2.1-.4-4.3-.4-8.3.2-12.1-22.7-2.4-41.8-3.3-62.7-2.6zm-18 1c-30.5 2.3-57.8 7.8-78.9 15.2 1.5 2.6 3.5 5.7 5.6 9.2 18.1-5.9 44.5-10.2 74.3-12-.7-4.6-1-8.8-1-12.4zm98.5 4.2c-.5 3.2-.4 7.1.6 11.9 17.3 2.8 31 6.6 39.8 11.1 6.2-2.2 12.7-3.5 19-4.1-18.7-10.1-40.6-15.6-59.4-18.9zm-194.2 18c-7.4 3.7-13.5 7.6-17.9 11.4-6.8 6-9.2 11.22-9.2 15.82 2.9 14.4 16.6 21.4 28 26.7 3.6-7.3 7.9-14.2 13.3-20.3-10.4-4.1-15.9-8.9-16-13.8 0-3.42 2.6-6.82 7.6-10.12-2.1-3.4-4.1-6.6-5.8-9.7zm243.9 20.92c-3.4 5.5-13.3 10.6-28.4 14.9 2.5 8.6 3.3 17 3.6 25.4 15.8-5 33.1-11.3 45.4-21.9 5.4-5.5 10.7-12.1 8.6-19.4-9.6-2.12-19.9-1.52-29.2 1zm-203.6 13.8c-13.2 8.3-21.9 21.6-27.6 37.8.9 14.7 1.6 34.9 13 45.5 4.4-31.8 21.3-64.2 39.6-81.5-8.2-7.8-16.5-7.1-25-1.8zm157.5 5.3c-17.9 3.5-39.2 5.8-61.7 6.7-6.6 12.4-6.9 17.5-8.3 27.4 26.7-.5 51.7-3.5 73.2-8.3-.2-9-.3-17.6-3.2-25.8zm-116.2 6c-9.2 7.6-16.3 15.7-21.7 24 15.4 2.3 32.1 3.8 49.7 4.2 1.5-9.6 2.2-16.8 6.4-27.1-11.7 0-23.3-.4-34.4-1.1zm-120.36.1c-10.37 22.3 13.36 36.6 28.26 44 1.2-6.5 2.8-13.1 4.8-19.4-13-6.4-25.3-13.4-33.06-24.6zm318.16 3.9c-9.5 8.9-22 15.9-32 20.2 2.9 10 3.6 20.3 1 29.7 11.6-4.6 21-9.8 27.4-15.2 7.8-6.4 11-12.5 11.2-18.2.2-5.1-2.1-10.5-7.6-16.5zm-48.9 26.5c-19.5 6.4-42.7 11.1-68.1 13.6-8.2 7.1-8.3 18.1-7.2 27.2 24.3-1.2 46.8-4.3 66-9 10.2-11.2 13-18.5 9.3-31.8zm-279.88 7.4c-16.43 29.7 13.58 45.8 34.28 54.7.2-9.6.7-19.7 1.8-29.8-13.9-7.3-26.6-14.2-36.08-24.9zm348.98.6c-6.3 9.9-14.8 16.8-24 22.2 2.1 7.4 2.3 14.4.5 21.1 11.6-6.9 26.5-19.5 26.6-32.6 0-3.5-1-7-3.1-10.7zm-248.4 2.4c-2.8 7.2-4.7 14.4-6 21.8 5.1 1.1 10.4 2.1 15.9 3.1.4-8.7 2.7-16 7.3-22.4-5.9-.7-11.6-1.5-17.2-2.5zm39.8 4.5c-7.2 6.4-13 14.6-11.9 23 20.9 2.4 38.8 3.5 58 3.4-.6-9.6-.5-17.9 2.6-26-16.3.7-33.6.5-48.7-.4zM63.79 194.2c-5.2 10.1-1.05 22.2 4.29 29.4 1.34-4 2.89-8.8 4.97-14.3-4.05-4.7-7.22-9.7-9.26-15.1zm330.81 1.4c-21.7 8.8-47.2 14.4-67.5 17.2-6.3 6.7-3.7 16-2.4 23.4 24.5-3.9 46.3-9.7 64.1-16.8 2.8-7.6 7.3-16.4 5.8-23.8zm-255.5 3c-1.7 20.8-1.1 41.8-.9 58.8 4.9 20.2 23.5 7.1 23.5 4.4-.3-12.2-1.8-27.1-1.7-43.3-10.2-5.3-16.7-11.2-20.9-19.9zm303.2 8.4c-.9 1-1.8 1.9-2.8 2.8 1.4 10.5 1.7 22.4 1.4 32 4.7-5.6 7-11.1 7.3-16.7.3-5.8-1.5-11.8-5.9-18.1zm-264 .4c-.5 9.6-.3 19.1.2 28.3 10.6 1.8 21.9 3.3 33.6 4.3-2.1-9.6-2.2-18.6 2-26.8-12.5-1.4-24.4-3.4-35.8-5.8zm127.8 7.6c-25.5 1.7-47.4 1.9-70.7.3-9.1 6.9-6.9 18.2-3.9 26 25.4 1.1 51.8 0 75.3-2.7-1.3-8.4-2.6-15.9-.7-23.6zm-218.49 7.1c-1.93 5.7-3.42 10.6-5.27 15.4 13.3 9.2 24.56 15.3 37.86 20.8-.1-6-.2-12.6-.3-19.6-12.4-4.8-23.26-10.3-32.29-16.6zm335.09.6c-16.5 9.8-33.3 16.3-50.3 21.3-1.4 11.2-4.9 22-1.1 31.8 16.4-4 32.7-9.4 46.9-16.9 4.9-11.3 5.1-26.1 4.5-36.2zm38.3 23.7c1.3 4.8 1.8 9.9 1.7 15 6.7-3.2 13.7-3.8 20.1-1.2 0-6.3-.8-12.6-2.4-18.8-5.2-14.1-21.7-5.2-19.4 5zM53.99 234.8c-3.31 5.4-4.88 10.7-4.88 16 2.71 17.2 12 26.6 24.31 35.3-.92-10.1 1.9-20.1 7.91-27.4-10.73-7.3-20.11-14.4-27.34-23.9zm298.81 14.3c-18 4.1-37.6 7.2-58.5 8.9-7.4 7.5-7.7 18.4-4.3 27.6 22.7-.5 44-2.7 63.2-6.1-1.8-10-1.6-21.5-.4-30.4zm-173.4 5c.5 7.1-.1 15.4-4 20.9 5.1 1.1 10.4 2.2 15.8 3.2-1.1-7.9-1.2-15.3 1.5-22.1-4.5-.6-9-1.3-13.3-2zm32.7 4c-5.8 6.5-3.4 16.3-1.8 23.1 21.7 2.7 40.8 4.2 60.9 4.5-1.8-9.2-1.6-18.1 1.2-26.4-20.1.8-42.1.3-60.3-1.2zm235.3 2.6c-11.1 9.2-24.8 16.7-36 21.3-2.2 7-.4 13.4 1.2 19.6 14.3-6.1 26-13 34.7-20.2-.5-7 1.4-14.4.1-20.7zm-349.96 7c-9.27 8.4-5.52 22.6-2.7 30.7 13.96 6.6 29.76 11.9 43.16 15.6-2.4-10.8-2.3-20.6 2.9-29.3-15.8-5.2-29.9-10.3-43.36-17zm375.86 8.8c-20.1 14.4-27.9 35-44.1 52.7 2.7 7 6.2 13.1 9.2 19.4 20.3-20.6 36.1-43.9 42-68-1.9-2.2-4.5-4.7-7.1-4.1zm-80.9 12.2c-20.7 6.3-44.7 10.8-70.9 13.2-3.9 7.1-.5 16.1 1.7 22.5 27.1-3.5 51.7-9.2 72.5-16.3-1.8-6.8-3.4-12.9-3.3-19.4zm-232.9 1.2c-9 9-3.9 22-.3 29.1 17.7 3.7 37 6.4 57.4 8-2.8-9.1-3-18.6.4-26.8-20.3-2.4-39.6-5.9-57.5-10.3zm77.9 12.3c-7.9 6.9-4.9 18.4-.6 26 22.7.8 47.2.1 68.1-1.8-2.4-7.7-4-15.8-2.9-23.2-23.6.8-43.5.6-64.6-1zM51.5 359c.46 7.7 3.53 15.5 6.97 21.5 19.87-17.9 41.63-25.4 65.13-20.2.9-6.9 4.6-13.9 8.8-18.6-28.2-7.4-60.89.3-80.9 17.3zm362.8-15.1c-10.8 9.8-22.9 19-35.6 27.2 3.4 5.9 7.6 11.7 10.4 17.2 12.5-8.1 24.4-17 35.4-26.7-2.2-4.4-8.1-19.4-10.2-17.7zm-262.2 4.6c-6.4 4.7-11.1 10.2-10.8 17.5 18.5 7.5 37.1 19.4 56.3 31.2 1.3-6 3.5-14.1 6.3-19.6-16.5-10.3-33.6-21.3-51.8-29.1zM36.81 376.4c-6.69 11.2-9.67 24.8-6.04 38.5 1.92 7.2 5.61 14.2 11.05 20.8 3.15-7.2 6.85-12.5 13.04-15.9-4.23-6.3-6.36-13.8-5.46-20.8-5.67-6.8-9.89-14.7-12.59-22.6zm326.49 4.1c-19.4 11-39.4 19.7-57.8 24.9-1.8 5.3-2.4 12.2-.5 20.9 22.2-5.6 45.9-15.5 68.7-28.6-3.3-6.4-7-11.5-10.4-17.2zm-144.2 6.4c-3.1 5.6-5.1 11.7-3.4 21.2 22.4 12.8 46.1 23 71.6 21.2-1.4-7.1-1.7-13.8-1-20-22 1.6-43.9-8.6-67.2-22.4zM61.46 453c4.6 3.2 10.89 1.9 13.98-2.7 3.09-4.7 1.78-10.9-2.91-14-11.83-7.4-18.76 11.4-11.07 16.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RopeDart;

impl IconShape for RopeDart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M446.6 23.16L334.3 45.63l74.8 15 15 74.87zM400 69.8l-88.8 24.11 40.3 24.29 24.3 40.4zm-288.2 38.1c-3.6.2-7.2.9-10.9 2.2-21.56 7.9-38.26 26.2-50.55 49.5s-20.36 52-24.32 82.3c-6.35 48.8-6.55 95.5 8.65 135.7-1.48 1.1-2.91 2.4-4.26 3.7-15.91 15.9-15.91 42.1 0 58 15.91 15.9 42.08 15.9 57.99 0 13.69-13.7 15.59-35 5.67-50.9L116 366.5l-12.7-12.8-21.97 22c-8.59-5.4-18.81-7.3-28.55-5.8-13.24-36.3-14.77-80.6-8.9-125.6 3.73-28.7 11.44-55.5 22.39-76.3 10.95-20.8 24.94-35.2 40.83-40.9 9-3.3 13.8-1.7 20.3 4.8 6.6 6.5 13.1 18.9 18.7 35.2 7.4 21.8 13.2 50.1 18.5 80.1l15.5-15.6c-4.7-25.7-10.1-50.1-17-70.3-6-17.6-12.9-32.2-23-42.2-7-6.9-16.3-11.1-26.3-11.2zm218.6 18.7l-44.7 44.7 12.8 12.8 44.7-44.7-4.9-8zm-78.7 36.2l-21.2 21.3 55.2 55.2 21.2-21.3zM432.8 203c-12.7-.3-23.6 6-32.2 14.5-8.5 8.5-15.4 19.3-21.1 30.6 3.3 7.3 7 14 10.8 20.1 6.3-14.7 14.2-29.2 23-37.9 6.4-6.4 12.5-9.5 18.9-9.3 6.5.2 14.9 3.8 25.4 15.1 13.5 14.3 17.8 24.8 17.9 31.6.1 6.8-3.1 11.8-10.2 17.3-9.9 7.8-26.5 14-42 20.1 5.6 4.6 11.5 8.8 17.6 12.8 12.3-4.8 25.2-10.6 35.5-18.7 9.6-7.5 17.3-18.4 17.1-31.8-.3-13.5-7.6-27.5-22.7-43.7-12.6-13.4-25.4-20.3-38-20.7zm-203.7 5.1L140 297.2l32.5 32.6 89.2-89.2zM358 257.9c-7.6-.3-9.8 11.2-5.2 15.6 14.9 20.5 28.4 52.2 69.1 70.5 9.7-1.5 13-4.8 11.7-9.5-26.5-16.9-50.3-38.5-67.5-72.7-3.1-2.7-5.8-3.8-8.1-3.9zm-33.6 16.5c-6.5.2-8.4 9.6-5.9 13.9 21 36.7 55 69.5 84 87.1 20.1 2 16.3-10.9 9.4-15.4-25.8-15.6-58.8-47.4-77.8-80.7-3.9-3.6-7.2-5-9.7-4.9zm-34.1 13.2c-6.3.2-12.1 8.1-8.6 12.9 21 37.4 72.3 88.5 100.5 105.6 8.5 6 21.6-5.8 9.4-15.4-22.2-13.5-76.3-67-94.3-99-2.1-3-4.6-4.1-7-4.1zm-163 22.3l-21.2 21.2 32.5 32.6 21.2-21.2zm140.2 8.7c-6.3.4-10.3 7.9-3.9 16.7 19.1 37.4 50.7 66.1 86.5 91.5 13.2 8.1 21.1-5.2 10.4-14.6-34.6-24.6-63.8-51.5-80.9-85.1-3.5-5.9-7.7-8.4-11.4-8.5zm-70.6 12.2l-15.5 15.5c4.3 22.6 9.2 43.1 15.4 59.4l-.2.2c-8.5 8-15.2 17.7-16.3 29.4-1.2 11.7 3.5 24.1 13.8 36 9.6 11 20.7 16.9 31.9 17.5 11.2.5 21.6-4 30.6-10.5 15.5-10.9 28.7-27.8 39.4-42.7 5.7 5.1 11.5 10.1 17.6 15.1 11 4.6 15.3.7 11.4-13.8-33.5-27.7-60.3-56-76.1-85.1-12.8-12.6-19.5 1.3-15.8 8.6 3.2 5.8 6.7 11.5 10.5 17.2-10.8 4.7-21.9 10.1-31.8 16.6-5.7-16.6-10.4-38.9-14.9-63.4zM60.31 387.2c5.57.2 11.08 2.5 15.37 6.8 9.05 9.1 9.05 23.5 0 32.6-9.05 9-23.48 9-32.53 0-8.79-8.8-9.04-22.7-.77-31.8 1.97 3.8 4.08 7.5 6.38 11.1 6.21 9.4 23.37 3.3 17.59-8.1-2.17-3.4-4.17-6.9-6.04-10.6zm194.39 5.3c8.3 10.4 17.7 20.6 28 30.6-10.8 15.1-23.8 31.6-36.4 40.5-7.1 5-13.7 7.4-19.5 7.2-5.8-.3-11.8-2.9-19.1-11.3-8.2-9.4-10.1-16.4-9.5-22.4.5-4.6 2.7-9.2 6.7-13.9 4.9 8.1 10.8 14.4 19.1 17.4 6.1 2.1 13.1 1.8 19.6-.7 6.4-2.6 12.5-7 18.8-13.3l-12.8-12.8c-5.1 5.2-9.5 8.1-12.7 9.3-3.1 1.3-4.9 1.2-6.8.5-2.9-1.1-7-5.1-11.1-12.5 10.2-6.9 23.1-13.2 35.7-18.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ropeway;

impl IconShape for Ropeway {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 20c-21.997 0-40 18.003-40 40 0 1.224.065 2.433.174 3.629a23.696 23.696 0 0 0-19.166 1.254C239.012 50.323 224.654 40 208 40c-21.997 0-40 18.003-40 40 0 19.307 13.87 35.534 32.135 39.215L16 170.363v16.608l232-64.446V200h16v-81.918l232-64.445V37.029L338.057 80.902A39.664 39.664 0 0 0 344 60c0-21.997-18.003-40-40-40zm0 16c13.35 0 24 10.65 24 24s-10.65 24-24 24-24-10.65-24-24 10.65-24 24-24zm-96 20c13.35 0 24 10.65 24 24s-10.65 24-24 24-24-10.65-24-24 10.65-24 24-24zm48 22.176c4.513 0 8 3.487 8 8s-3.487 8-8 8-8-3.487-8-8 3.487-8 8-8zm23.396 13.289a40.238 40.238 0 0 0 6.206 4.01L276.9 97.89a23.82 23.82 0 0 0 2.496-6.426zm-39.43 12.502a24.323 24.323 0 0 0 4.17 3.025l-9.269 2.574a40.53 40.53 0 0 0 5.1-5.6zM132.957 216L104 274.184V440h304V274.145L379.047 216H132.955zM136 240h64v96h-64v-96zm88 0h64v96h-64v-96zm88 0h64v96h-64v-96zM128 360h256v16H128v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundKnob;

impl IconShape for RoundKnob {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.9 63.99l-5.8.1h-.2l-4.1.16.5 16c-11.7.51-23.2 1.96-34.4 4.27l-3.4-15.82-5 1.26h-.2l-5.4 1.32h-.2l-5.4 1.44h-.2l-1.7.51 4.6 15.52c-11.3 3.31-22.2 7.49-32.6 12.45l-6.8-14.57-.5.32h-.1l-.1.1-4.9 2.42h-.2l-4.8 2.54-.1.1h-.1l-4.7 2.64-.1.1h-.1l-1 .61 8.2 13.84c-10.2 6-19.8 12.7-28.9 20.2l-10-12.5-.3.1-.1.1-.1.1-4.1 3.5-.1.1-.1.1-3.96 3.6-.1.1-.1.1-3.94 3.7-.1.1-.1.1-.95.9L105.3 141c-8.34 8.1-16.08 16.8-23.07 26.2l-12.96-10 .12.3-.1.1-.1.1-3.18 4.3-.1.1-.1.1-3.07 4.4-.1.1-.1.1-2.97 4.5-.1.1-.1.1-.79 1.3 13.85 8.6c-6.16 9.8-11.56 20-16.13 30.7l-14.52-6.3-.39.4v.2l-2.06 5.1-.1.1v.1l-1.94 5.1v.2l-1.82 5.2v.2l-.35 1 15.04 4.9c-3.66 11-6.46 22.3-8.34 34l-15.72-2.6-.37 1.7v.2l-.78 5.6v.2l-.65 5.7v.2l-.43 4.9 15.86 1.4c-.46 5.8-.7 11.5-.7 17.4h18C57.03 187 146 98.01 256 98.01S455 187 455 297h18c0-6.5-.3-12.9-.9-19.2l16-1.4-.3-3.1v-.2l-.7-5.7v-.2l-.8-5.6v-.2l-.6-3.5-15.8 2.7c-1.9-11.6-4.8-22.9-8.5-33.8l15.1-5.3-1.6-4.5v-.1l-.1-.1-1.9-5.1-.1-.1v-.1l-2.1-5.1v-.1l-.1-.1-.9-2.1-14.7 6.5c-4.6-10.7-10.1-21-16.3-30.7l13.4-8.8-2.8-4.3-.1-.1-.1-.1-3-4.4-.1-.1-.1-.1-3.1-4.3-.1-.1-.1-.1-1.2-1.7-12.8 9.8c-7-9.2-14.8-17.9-23.2-25.9l10.9-11.7-3.6-3.4v-.1l-.1-.1-4-3.6-.1-.1-.1-.1-4.1-3.4-.1-.1-.1-.1-1.8-1.5-10.1 12.7c-9-7.3-18.6-13.9-28.7-19.6l7.9-14.06-4.2-2.35h-.1l-.1-.1-4.8-2.54h-.2l-4.9-2.42-.1-.1h-.1l-2.1-.98-6.8 14.45c-10.4-4.89-21.3-8.99-32.5-12.2l4.2-15.48-5.4-1.44h-.2l-5.4-1.32h-.2l-5.4-1.18H302.8l-1.3-.25-3 15.56c-11.3-2.24-22.8-3.6-34.6-4.02l.5-15.98-2.3-.1h-.2l-5.8-.1h-.1zM256 146c-83.5 0-151 67.5-151 151s67.5 151 151 151 151-67.5 151-151c0-56-30.3-104.8-75.5-130.8L289.6 250l-15.8-8.8 41.5-83.1c-18.2-7.8-38.2-12.1-59.3-12.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundSilo;

impl IconShape for RoundSilo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.656 28.16C42.89 96.712 27.625 185.73 46.39 263.08a232.81 232.81 0 0 1 13.507-24.022C49.238 172.145 66.094 99.583 128 41.26zm280.688 0L384 41.26c61.906 58.323 78.762 130.885 68.104 197.798a232.812 232.812 0 0 1 13.507 24.021c18.764-77.348 3.499-166.366-69.267-234.92zM194.365 69.613a4.6 4.6 0 0 0-.7.07c-27.81 5.234-50.363 30.588-67.784 62.034-11.011 19.875-19.705 41.487-26.666 60.842 31.81-28.97 71.662-49.247 115.785-57.098V115.84h82v19.611c40.735 7.25 77.826 25.102 108.313 50.598-.663-3.694-1.462-7.447-2.446-11.17-4.722-17.875-13.374-34.987-24.129-42.738-2.772-1.999-.307-1.308-4.084-.52-3.777.788-11.258 2.664-23 2.213-8.63-.331-15.5-6.455-18.683-12.572-3.184-6.118-4.443-12.57-5.756-18.467-1.313-5.897-2.68-11.238-4.152-14.068-1.474-2.831-1.291-2.812-3.409-2.893-8.092-.31-28.564 3.406-45.64 7.453-17.077 4.047-31.526 8.201-31.526 8.201l-5.697 1.639-3.756-4.586s-6.907-8.405-15.879-16.266c-4.486-3.93-9.464-7.651-13.873-9.97-3.857-2.03-7.079-2.75-8.918-2.692zM233 133.841v16h46v-16zm-18 19.912C129.075 170.309 61.465 237.919 44.908 323.84h80.362c14.075-44.798 50.578-79.744 96.298-91.617l-6.298-25.2-2.797-11.183h87.054l-9.095 36.383c45.72 11.873 82.223 46.82 96.298 91.617h80.362C450.535 237.919 382.925 170.309 297 153.753v14.088h-82zm20.527 60.088l11.5 46h17.946l11.5-46zm-9.6 35.82c-37.898 9.833-68.395 37.828-81.697 74.18H247v-46h-14.027zm60.145 0l-7.045 28.18H265v46h102.77c-13.302-36.352-43.799-64.347-81.698-74.18zM25 341.841v30h462v-30zm17.451 48a213.875 213.875 0 0 0 12.492 51.328l5.328-5.328h78.608c-8.461-13.91-14.522-29.435-17.588-46zm97.176 0a118.396 118.396 0 0 0 20.812 46h37.915l-13.143-46zm64.305 0l26.857 94h50.422l26.857-94zm122.857 0l-13.143 46h37.915a118.396 118.396 0 0 0 20.812-46zm63.92 0c-3.066 16.565-9.127 32.09-17.588 46h78.608l5.328 5.328a213.875 213.875 0 0 0 12.492-51.328zm-322.98 64l-30.002 30h174.341l-8.572-30zm240.775 0l-8.572 30h174.341l-30.002-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundStar;

impl IconShape for RoundStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 38.013c-22.458 0-66.472 110.3-84.64 123.502-18.17 13.2-136.674 20.975-143.614 42.334-6.94 21.358 84.362 97.303 91.302 118.662 6.94 21.36-22.286 136.465-4.116 149.665 18.17 13.2 118.61-50.164 141.068-50.164 22.458 0 122.9 63.365 141.068 50.164 18.17-13.2-11.056-128.306-4.116-149.665 6.94-21.36 98.242-97.304 91.302-118.663-6.94-21.36-125.444-29.134-143.613-42.335-18.168-13.2-62.182-123.502-84.64-123.502z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundStrawBale;

impl IconShape for RoundStrawBale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M327.77 39.993c-41.907 6.704-70.758 3.13-101.303 17.678h-26.88c.342.33.692.644 1.03.98 9.635 9.633 18.07 22.32 25.375 37.445l1.516-.606c33.74 15.472 48.943 42.502 61.947 70.177-18.663-17.576-35.772-38.473-56.088-52.52 12.214 31.56 20.324 71.11 22.815 114.79l.17-.567 16.855 76.555-16.45-31.533c-1.61 52.21-11.177 99.253-26.243 134.865-8.283 19.577-18.21 35.75-29.897 47.434-.338.338-.688.65-1.03.98h98.767c-22.975 6.925-50.947 9.928-74.31 16.112 38.377.768 85.118.466 119.317-16.11H352c9.276 0 18.522-4.346 27.89-13.712 9.37-9.366 18.405-23.653 26.048-41.717 14.13-33.397 23.546-79.537 24.89-130.88 6.415 7.794 11.654 17.045 16.574 27.382-3.274 40.622-11.47 77.23-23.285 106.582v41.91l-10.283-19.88c-6.3 11.585-13.36 21.478-21.217 29.333-.338.338-.688.65-1.03.98H416c9.276 0 18.522-4.344 27.89-13.71 6.75-6.748 13.325-16.063 19.333-27.492l3.603 26.3 16.076-79.992c1.674-6.65 3.187-13.577 4.543-20.718l-21.8 24.267 25.628-48.404C493.68 297.2 495 277.3 495 256.67c0-45.56-6.38-87.61-16.89-121.138 4.86 6.194 9.62 12.975 14.54 20.174-6.124-27.588-20.115-50.18-36.63-69.12-3.917-5.962-7.99-11.066-12.13-15.204-9.368-9.366-18.614-13.71-27.89-13.71h-24.412c.34.33.69.642 1.03.98 11.687 11.684 21.613 27.856 29.896 47.433C439.08 145.24 449 198.205 449 256.67c0 6.046-.112 12.028-.32 17.946-4.48-14.128-10.872-27.217-18.155-39.332-2.122-47.848-11.26-90.684-24.587-122.185-7.643-18.065-16.68-32.352-26.047-41.718-9.368-9.366-18.614-13.71-27.89-13.71h-79.742c17.065-5.663 40.283-9.433 55.513-17.68zM96 57.67c-9.276 0-18.522 4.346-27.89 13.712-9.37 9.366-18.405 23.653-26.047 41.717-4 9.455-7.62 19.942-10.79 31.27-3.858-16.566-3.208-32.146-3.96-52.232-9.42 39.392-8.33 72.102-7.225 110.445C18.086 219.788 17 237.93 17 256.67c0 56.41 9.778 107.446 25.063 143.573a193.892 193.892 0 0 0 4.83 10.535c-8.746-10.814-15.728-22.887-24.297-33.826 12.706 19.757 21.097 43.046 39.45 58.184 1.998 2.496 4.022 4.783 6.063 6.824 9.368 9.366 18.614 13.71 27.89 13.71s18.522-4.344 27.89-13.71c9.37-9.366 18.405-23.653 26.047-41.717 2.293-5.42 4.46-11.18 6.49-17.238-12.02 9.263-27.215 20.65-29.304 20.65-2.774 0 24.35-31.1 36.193-44.54 4.93-20.015 8.494-42.332 10.31-66.13a81.142 81.142 0 0 0-2.5-2.572l2.675.127a478.222 478.222 0 0 0 1.2-33.87c0-4.557-.07-9.076-.195-13.56 3.753 10.688 7.577 22.448 11.634 36.454-3.523-30.028-8.096-64.585-15.792-86.862-4.274-30.565-11.487-57.8-20.71-79.603-7.643-18.065-16.68-32.352-26.047-41.718-9.368-9.366-18.614-13.71-27.89-13.71zm39.588 0c.34.33.69.644 1.03.98 11.687 11.686 21.613 27.858 29.896 47.435C183.08 145.24 193 198.205 193 256.67c0 13.244-.514 26.2-1.494 38.782 21.076 26.906 23.5 56.24 23.867 85.28-8.803-21.494-15.322-44.94-25.9-64.92-4.258 34.785-12.206 66.028-22.96 91.445-8.282 19.577-18.208 35.75-29.896 47.434-.338.338-.688.65-1.03.98H160c9.276 0 18.522-4.344 27.89-13.71 9.37-9.366 18.405-23.653 26.048-41.717C229.22 364.116 239 313.08 239 256.67c0-26.82-2.214-52.419-6.176-75.784 4.327 5.647 8.596 11.74 12.994 18.174-3.69-16.626-10.24-31.435-18.474-44.73-3.736-15.19-8.257-29.06-13.406-41.23-7.643-18.065-16.68-32.352-26.047-41.718-9.368-9.366-18.614-13.71-27.89-13.71h-24.412zm209.258 14.485c25.247 16.81 34.262 41.267 41.437 66.02-17.208-22.52-31.504-49.7-54.783-62.508l13.346-3.512zM116.236 85.85l-7.75 26.48c2.683 1.692 5.332 4.213 7.903 7.6 24.142 31.81 33.814 122.726 23.68 195.915-11.788 85.14-44.5 119.04-70.756 82.033-11.732-16.536-21.186-45.314-27.134-80.34 6.253 13.644 14.966 26.91 20.238 29.143 3.32 8.92 7.032 16.408 11.05 22.07 21.26 29.968 47.877 2.376 57.296-65.65 7.957-57.47.328-129.188-18.295-153.724-15.28-20.13-34.28.26-40.466 49.336-4.867 38.61.462 86.45 13.025 100.836 9.26 10.603 20.707-2.47 23.68-32.287.974-9.757.7-21.466-.65-30.6-1.353-9.135-3.496-15.446-6.644-17.667-1.502-1.06-3.746-.072-5.178 2.45-1.43 2.525-1.983 4.742-2.013 9.164l-10.147-.688c.113-16.41 3.4-29.625 7.195-36.32 3.797-6.694 8.17-8.712 12.366-5.753 6.42 4.53 11.164 18.747 13.62 35.344 2.146 14.503 2.764 31.013 1.7 46.827l-.224.076c.05.49.08.976.11 1.46-.132 1.765-.278 3.522-.45 5.263-.212 2.11-.455 4.147-.712 6.15-3.856 14.255-16.13 25.742-28.278 36.12 6.435 1.698 15.85-5.43 24.272-14.98-7.548 28.537-20.868 38.327-32.12 25.44-18.357-21.02-25.846-88.2-18.99-142.6 5.43-43.08 17.81-69.57 31.36-75.785l22.308-25.31zM46.918 268.66c1.802 21.987 5.182 42.453 9.756 59.724C46.56 317.382 41.87 303.82 38.45 290.61c-.505-4.6-.972-9.248-1.36-13.982l9.828-7.97zM353.1 286.814h12.912c-9.574 23.627-30.99 45.624-55.125 62.08 15.558-20.322 36.29-39.35 42.213-62.08zm21.478 108.65l3.303 13.397c-17.2 24.983-41.794 33.616-66.655 40.405 22.785-16.856 50.186-30.726 63.353-53.803z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundTable;

impl IconShape for RoundTable {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.8 30.44c-9.5 1.2-18.1 12.3-18.1 26.8 0 8 2.7 15 6.7 19.9l4.9 5.8-7.5 1.4c-5.2 1-9 3.8-12.3 8.3-3.4 4.6-5.9 10.76-7.6 18.06-3.2 13.1-3.9 29.1-4 43.3h17.5l1.6 21.9c6.8-.3 13.8-.5 20.9-.5 7.5 0 14.8.2 21.9.6l1.5-22h16.6c0-14.3-.2-30.6-3.1-43.9-1.6-7.2-4-13.46-7.3-17.96s-7.4-7.2-13.3-8.1l-7.6-1.2 4.8-6c3.9-4.8 6.5-11.8 6.5-19.6 0-15.4-9.6-26.8-20.1-26.8zM61.9 174.4c-9.5 1.2-18.1 12.3-18.1 26.8 0 8 2.7 15 6.7 19.9l4.9 5.8-7.5 1.4c-5.2 1-9 3.8-12.3 8.3-3.4 4.6-5.9 10.8-7.6 18.1-3.2 13.1-3.9 29.1-4 43.3h17.5l4.7 64.3c12.2 2.8 25.2 2.6 36.94 0l4.3-64.3H104c0-14.3-.2-30.6-3.1-43.9-1.57-7.2-3.97-13.5-7.27-18-3.29-4.5-7.39-7.2-13.29-8.1l-7.64-1.2 4.8-6c3.94-4.8 6.54-11.8 6.54-19.6 0-15.4-9.64-26.8-20.14-26.8zm384 0c-9.5 1.2-18.1 12.3-18.1 26.8 0 8 2.7 15 6.7 19.9l4.9 5.8-7.5 1.4c-5.2 1-9 3.8-12.3 8.3-3.4 4.6-5.9 10.8-7.6 18.1-3.2 13.1-3.9 29.1-4 43.3h17.5l4.7 64.3c12.2 2.8 25.2 2.6 36.9 0l4.3-64.3H488c0-14.3-.2-30.6-3.1-43.9-1.6-7.2-4-13.5-7.3-18s-7.4-7.2-13.3-8.1l-7.6-1.2 4.8-6c3.9-4.8 6.5-11.8 6.5-19.6 0-15.4-9.6-26.8-20.1-26.8zm-190 19c-36.7 0-69.9 5.3-93.2 13.5-11.6 4.1-20.7 9-26.3 13.7-5.7 4.7-7.5 8.6-7.5 11.8 0 3.2 1.8 7.1 7.5 11.8 5.6 4.7 14.7 9.5 26.3 13.7 23.3 8.2 56.5 13.5 93.2 13.5s69.9-5.3 93.2-13.5c11.6-4.2 20.7-9 26.3-13.7 5.7-4.7 7.5-8.6 7.5-11.8 0-3.2-1.8-7.1-7.5-11.8-5.6-4.7-14.7-9.6-26.3-13.7-23.3-8.2-56.5-13.5-93.2-13.5zm-105 79.2v45.8h18v-39.8c-4.2-1.2-8.3-2.4-12.2-3.8-2-.7-3.9-1.4-5.8-2.2zm210 0c-1.9.8-3.8 1.5-5.8 2.2-3.9 1.4-8 2.6-12.2 3.8v39.8h18zm-107.1 19c-9.5 1.2-18.1 12.3-18.1 26.8 0 8 2.7 15 6.7 19.9l4.9 5.8-7.5 1.4c-5.2 1-9 3.8-12.3 8.3-3.4 4.6-5.9 10.8-7.6 18.1-3.2 13.1-3.9 29.1-4 43.3h17.5l4.7 64.3c12.2 2.8 25.2 2.6 36.9 0l4.3-64.3h16.6c0-14.3-.2-30.6-3.1-43.9-1.6-7.2-4-13.5-7.3-18s-7.4-7.2-13.3-8.1l-7.6-1.2 4.8-6c3.9-4.8 6.5-11.8 6.5-19.6 0-15.4-9.6-26.8-20.1-26.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rss;

impl IconShape for Rss {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.906 27.28v91.44a365.765 365.765 0 0 1 365.75 365.78h91.438A457.207 457.207 0 0 0 27.906 27.28zm0 154.157v88.813a214.234 214.234 0 0 1 214.22 214.25h88.843A303.063 303.063 0 0 0 27.905 181.437zM88.75 359.125a62.703 62.703 0 0 0-60.844 62.656 62.703 62.703 0 0 0 125.375 0 62.703 62.703 0 0 0-64.53-62.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RubElHizb;

impl IconShape for RubElHizb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16.97l-6.4 6.37L185.9 87H87v99l-70.03 70L87 326v99h99l70 70 70-70h99v-99l70-70-70-70V87h-99l-70-70.03zm0 25.46L300.6 87h-89.2L256 42.43zM105 105h63l-63 63v-63zm88.4 0h125.2l88.4 88.4v125.2L318.6 407H193.4L105 318.6V193.4l88.4-88.4zm150.6 0h63v63l-63-63zm-88 78c-40.2 0-73 32.8-73 73s32.8 73 73 73 73-32.8 73-73-32.8-73-73-73zm0 18c30.5 0 55 24.5 55 55s-24.5 55-55 55-55-24.5-55-55 24.5-55 55-55zm169 10.4l44.6 44.6-44.6 44.6v-89.2zm-338 0v89.2L42.43 256 87 211.4zM407 344v63h-63l63-63zm-302 0l63 63h-63v-63zm106.4 81h89.2L256 469.6 211.4 425z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RubberBoot;

impl IconShape for RubberBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48.63 25.08c-.16 19.17-.24 38.35-.28 57.54a61147.346 61147.346 0 0 1 97.25 2.47c54.3 1.41 99.9 2.6 107.9 2.8.8-22.02 1.1-43.32.6-62.82zm-.3 75.52v19.7c5.55.2 11.65.4 18.72.6 22.39.6 51.25 1.2 79.95 1.8 50.4 1.1 93.6 1.8 104.8 2 .3-6.3.7-12.6 1-18.8-8.3-.3-53.5-1.4-107.7-2.8-29.4-.8-59.16-1.6-81.85-2.1-5.98-.2-9.96-.3-14.93-.4zm.1 37.7c.16 48.8.63 97.6 1.28 146.2 25.68-6.7 54.29-9.3 76.39 5.4 18.8 12.9 29.3 32.9 46.2 52.6 17 19.7 40 39.9 83.2 54.8 41.8 14.3 102.6 23.4 193.9 20.1-1.1-3.6-2.5-7.1-4.3-10.1-3.7-6.3-8.6-11-16.1-13.6-34.5-11.9-79.8-17.1-117.2-23.8-18.8-3.3-35.5-7-48.7-12.8-6.6-2.9-12.4-6.3-17-11-4.5-4.7-7.7-11-8.2-17.9-1.4-21.3 3.9-71 8.7-130.7 1.4-17.7 2.8-36.2 4.1-54.8-11.8-.2-54.3-1-104.1-2-28.6-.6-57.52-1.3-79.98-1.9-6.74-.2-12.79-.3-18.19-.5zm39.35 158.3c-9.78-.1-21.99 1.9-37.81 6.5.69 47.8 1.52 95.3 2.41 142.6l400.52 6.4c.3-4.5.4-10.2-.1-16.8-94.3 3.5-158-5.6-203.1-21-46.2-15.9-72.7-38.7-91-60-18.3-21.3-29-40.1-42.8-49.5-7.3-5-15.8-8.2-28.12-8.2zM43.24 464.8l.79 22.1H468.8l-2.4-16.6-341.2-5.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RugbyConversion;

impl IconShape for RugbyConversion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 18v135.193c5.95-3.097 11.95-6.065 18-8.89V18h-18zm192 0v247.6l-174-.688v-60.457c-6.182 5.902-12.18 11.908-18 18V311h18v-28.088l174 .688V311h18V18h-18zm-80.1 71.914c-7.024-.18-15.588 2.472-20.54 6.463-7.925 6.386-14.468 22.533-9.155 29.127 5.313 6.594 22.48 3.634 30.406-2.752 7.926-6.386 14.47-22.533 9.158-29.127-1.993-2.473-5.653-3.602-9.868-3.71zm-54.125 57.334C168.5 198.266 48.38 324.17 25.043 471.803l17.316 3.365c15.157-100.106 61.737-149.502 92.28-179.856C120.173 337.77 79.376 405.92 78.27 482.145l21.605 4.2c4.238-108.047 78.028-244.59 204.902-339.097zM241.068 329v158h30V329h-30zm191.618 0v158h30V329h-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RuleBook;

impl IconShape for RuleBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.7 17.6c-1.2 0-2.5 0-3.7.1-33.9.8-75.52 10.7-127.22 33.7v371.4c60.7-28.8 106.62-37.1 144.12-33.1 33.5 3.5 59.7 16.6 83.6 31.2h18.3c23.9-14.6 50.1-27.7 83.6-31.2 37.5-4 83.5 4.3 144.2 33.1V51.4c-51.7-23-93.3-32.9-127.2-33.7-1.3 0-2.5-.1-3.7-.1-3.7 0-7.4.1-10.9.3-35.8 2-62.7 14.3-86 32h-18.3c-23.2-17.7-50.2-30-86-32-3.5-.2-7.1-.3-10.8-.3zm106.2 51.2c4.5 0 9.4 1.1 12.8 2.9l115.9 67.1c7.4 4.1 7.4 10.9 0 15.2l-115.9 66.9c-7.2 4.3-18.5 4.3-25.7 0L126.8 154c-7.3-4.3-7.3-11.1 0-15.2L243 71.7c3.4-1.8 7.9-2.9 12.9-2.9zm-89 62.6c-21.6-.4-33.1 15-18.2 24.3 9.6 4.8 23.7 4.4 32.7-.8 8.8-5.3 9.5-13.7 1.5-19.4-4.3-2.5-10-4-16-4.1zm178.6.1c-20.8.4-31.3 15.5-16.3 24.5 9.6 4.9 23.9 4.6 33-.7 8.9-5.3 9.5-13.9 1.2-19.6-4.2-2.4-9.9-4-15.9-4.2h-2zm-89 0c-6.6-.1-13 1.5-17.7 4.2-10.2 5.6-10.4 15.1-.6 20.9 9.9 5.8 25.8 5.6 35.1-.6 15-9 4.6-24.3-16.8-24.5zm-141 41c1.5.1 3.4.5 5.6 1.6l111.5 64.5c7.2 4.1 12.9 14.2 12.9 22.5v119.7c0 8.3-5.7 11.7-12.9 7.6L121.2 324c-7.4-4.3-13.2-14.2-13.2-22.6V181.7c0-6.2 3-9.2 7.5-9.2zm281.3 0c4.2 0 7.2 3 7.2 9.2v119.7c0 8.4-6 18.3-13 22.6l-111.5 64.4c-7.2 4.1-12.9.7-12.9-7.6V261.1c0-8.3 5.7-18.4 12.9-22.5L391 174.1c2.1-1.1 4.2-1.5 5.8-1.6zm-185 65.5h-1.1c-5.3.4-8.5 4.8-8.5 11.6-.6 10.4 7.2 24.1 16.9 29.8 9.8 5.6 17.6 1.1 17.2-9.9.2-14.2-13.3-31.1-24.5-31.5zm130.9 21.8c-11.2.1-24.8 17.2-24.7 31.4.1 10.4 7.7 14.4 17.2 8.9 9.4-5.5 17-18.3 17.1-28.8 0-6.7-3.3-11.1-8.5-11.5h-1.1zm-216.9 22.5c-5.4.3-8.7 4.7-8.7 11.6-.5 10.5 7.3 24.1 17 29.8 9.8 5.5 17.6 1 17.2-10.1 0-14.5-14.1-31.8-25.5-31.3zm17.6 125.1c-32 .3-71.83 9.8-124.63 36v42.5c60.7-28.8 106.63-37.1 144.13-33.1 18.6 2 34.9 6.9 49.8 13.3-4.7 6.1-9.3 13.3-13.9 21.7H316c-6-8.2-11.8-15.4-17.7-21.6 15-6.5 31.4-11.4 50.1-13.4 37.5-4 83.5 4.3 144.2 33.1v-42.5c-53.1-26.3-93.1-35.9-125.2-36h-3.1c-4.8.1-9.4.4-13.9.9-34 3.6-59.6 18-85.6 34.4v.3c-6.5-2-13-2.4-19.4-1-25.5-16.1-51-30.2-84.4-33.7-5.6-.6-11.5-.9-17.6-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RunningShoe;

impl IconShape for RunningShoe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.6 38.35l-17 6.17c6.2 16.99 9.1 34.17 2.3 51.32 4.5 4.76 8.9 9.46 13.3 14.06 12.5-24.41 9.2-50.15 1.4-71.55zm-25.8 71.95c-6.8 2.6-12.82 5.9-18.27 9.7 27.17 29.8 50.17 61.6 63.77 92.1 12.7 28.7 17.4 57.3 7.2 81.1l219.8 158.9c27.5-1.4 45.3-8.1 57.5-17.5 12.8-9.8 20.1-22.9 25.4-38.4-2.9-3.2-6.1-6.3-9.6-9.4-25.7 4.5-48.2-.6-66.9-12.4-19.5-12.2-34.8-31.1-47.8-53-24.5-41.3-41-94-57.7-137.5-44.5 4.5-77.1-1.7-102.7-14.2-30.6-15-50.7-38.1-70.7-59.4zm-31.92 21.5c-4.57 4.9-8.65 10.3-12.34 16.1-10.56 16.7-17.8 37-23.99 57.9l105.85 76.5c5.7-17.1 2.3-38.5-8.6-62.9-12.5-27.9-34.6-58.6-60.92-87.6zm238.92 47c-5.2 1-10.2 1.9-15.2 2.7 3.7 9.7 7.4 19.7 11.1 29.8l26 13.1c-6.9-16.1-13.7-31.5-21.9-45.6zm-285.29 42c-2.72 2.9-4.48 5.9-5.39 9-1.23 4-1.07 8.4 1.01 13.8L266 398c21.8 14 41.4 25.6 59.2 35.1zm290.29 15.3c6.9 18.3 14.2 36.4 22.3 53.1l33.2 14.7c-11.2-18.1-19.8-36.1-27.5-53.7zm36.2 78.8c11.7 19.2 25 34.7 40.3 44.3 11 6.9 22.9 10.9 36.8 11.3-14.8-12.4-27.1-25.2-37.6-38.2zm119.8 98.4c-5.9 13.3-14.2 25.8-27 35.6-11.4 8.7-26 15.2-44.7 18.6 17.5 4.9 31.2 6.5 41.6 6.1 14.9-.6 23.4-4.7 28.6-8.8 5.2-4.1 7.2-8.2 8.1-10.2 3.5-7.8 3.2-19.9-2.5-33.3-1.1-2.6-2.5-5.3-4.1-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rupee;

impl IconShape for Rupee {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 25.076L107.053 130.004l64.996 32.486L247 106.297v-81.22zm18 0v81.22l74.95 56.194 65-32.488L265 25.076zm9.277 22.307l36.63 26.437c-25.125-4.207-29.74 9.2-37.348 28.8l.717-55.237zm-37.79 3.926l-.274 33.362c-22.052 1.182-56.787 14.423-107.893 43.99L236.488 51.31zM256 122.044l-74 55.48v156.948l74 55.482 74-55.482V177.527l-74-55.482zm4.215 17.67c-37.503 33.84-60.642 164.833-63.65 199.094l-.35-151.095 64-48zM99 146.1v219.8l65-32.488V178.588L99 146.1zm314 0l-65 32.488v154.824l65 32.488V146.1zm-301.352 23.31l40.473 20.83c-46.28 38.757-30.79 122.693-41.876 162.572l1.404-183.402zm60.4 180.1l-64.995 32.486L247 486.924v-81.22l-74.95-56.194zm167.903 0L265 405.703v81.22l139.947-104.927-64.996-32.486zm-169.415 17.172c-19.594 16.282-16.745 24.365 4.477 54.412l-44.246-38.018 39.77-16.394z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RustySword;

impl IconShape for RustySword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.81 26.99c-18.98-.42-36.97 22.7-27.29 37.18 2.44 3.65 4.92 7.32 7.4 10.98l40.57 3.75 2.29-37.74c-2-2.08-4-4.14-6.01-6.24-5.24-5.47-11.14-7.8-16.96-7.93zm39.95 31.68l-1.34 21.89 25.28 2.34c-8-7.95-16-16.05-23.94-24.23zM51.07 94.44C59.03 106 67.16 117.6 75.43 129.1l1.96-32.23zm133.23.22L83.9 169.2l27.6 43 106.3-85.7zm-88.97 3.86l-2.54 41.68 49.71-37-.4-.4zM205.2 159.9l-24.5 19.7c31.4 33.7 56.2 54.3 95 88.1l-11.8 13.6C225 247.4 199.2 226 166.5 191l-28.1 22.6c25.6 32.9 52 64.9 78.4 95.1l34.2-10.9.6 49.5c29 31.1 57.9 59.4 85.7 83.5 15.7-1 29.6-2.9 41.9-5.6l.3-13.4 29.4-2.8 21.3-49.8 35.4 5.7c8.2-13.1 15.6-28.3 23.2-45.8-29.3-10-56.6-20.7-82.2-32.2l-28.8 7.1-21.5-31.5c-57.1-30.2-105.9-64.6-151.1-102.6zM80.28 197c-7.04 7-17.62 18.1-27.81 31.1-8.64 11-17.02 23.3-22.65 36-5.64 12.6-8.84 26.1-4.89 38.9 6.08 19.7 21.67 31.8 39.66 38.9 3.39 1.4 6.88 2.6 10.46 3.7 8.01-5.1 14.66-9.4 20.08-13.6-8.73-1.8-16.84-4-23.9-6.8-15.11-6-24.88-13.9-29.1-27.6-1.99-6.4-.54-15.7 4.14-26.2s12.28-21.9 20.36-32.2c8.39-10.7 17.11-20.1 23.61-26.7zm44.52 27.6l-14.5 11.6c1 2.1 1.9 4.3 2.9 6.5 11 25.1 19.9 55.8 16.4 72.8-3 14.6-17.4 25.7-34.38 38-17.04 12.3-36.75 25.7-41.88 48.9-2.78 12.5 1.91 25.3 6.19 36.1 4.29 10.8 9.05 19.4 9.05 19.4l15.74-8.8s-4.25-7.6-8.05-17.3c-3.8-9.6-6.27-21.4-5.35-25.6 3.23-14.5 17.77-25.7 34.78-38.1 17.1-12.3 36.7-25.8 41.5-49 5.3-25.7-6-57.2-17.5-83.6-1.6-3.8-3.3-7.4-4.9-10.9zM157 342.3c-4.3 5.3-8.8 10.6-13.7 16 13.9 2.2 27 4.9 38.1 8.9 16.2 5.8 27.5 13.7 33.1 26.9 3.9 8.9-1.3 30.1-9.7 48.1-8.5 17.9-18.5 32.6-18.5 32.6l14.8 10.2s10.8-15.6 19.9-35.2c9.2-19.5 18.6-43 10.1-62.9-8.2-18.9-24.9-29.9-43.6-36.7-9.6-3.5-20-5.9-30.5-7.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SBrick;

impl IconShape for SBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 141a9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5H93a9.5 9.5 0 0 0-9.5 9.5v96A9.5 9.5 0 0 0 93 371h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5h-96zm9.5 19h77v77h-77v-77zm115 0h77v77h-77v-77zm-230 115h77v77h-77v-77zm115 0h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaberAndPistol;

impl IconShape for SaberAndPistol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M61.85 19.51c-15.08-.07-30.16 2.37-45.2 7.64C77.61 52.92 136.1 109.7 193.1 176.8l60.3-40.1C192.4 67.49 127.2 19.84 61.85 19.51zM442 32.08L109.9 252.7C90 265.9 70.45 268.9 53.86 267c-12.28-1.4-22.98-5.3-31.77-9.6-4.18 11.3-3.73 21-.16 27.5 4.67 8 14.54 13.6 35.43 10.7l22.8-3.2-14.01 18.1c-27.23 35.3-43.29 105 7.58 167.4 10.57 12.7 22.97 18 36.27 18.9 13.1 1 27-3 38.2-9.9 11.2-6.8 19.3-16.3 22.2-25.1 2.9-9 1.7-16.6-7.6-25.6-14.4-13.9-29.1-29.4-37-47.8 23.3-15.2 42.8-29.4 54.1-46.8 5.9-9.2 9.3-19.8 8.8-30.9-.6-11.1-4.8-22.3-12.4-34.2 95.2-68 199.2-130 296.4-197.68zM309.6 207.9l-59.5 39.2c26.7 34.1 53.2 69 79.6 102.4-14.7 12.4-28.6 17.5-37.5 16.7l-1.6 18.6c19.7 1.7 41-9.7 61.3-30.4 21.9-22.4 44.7-28.1 65.2-24.7 20.5 3.5 38.9 16.8 49.6 34.2 10.7 17.5 13.7 38.3 4.7 58.1-9 19.9-30.8 39.7-73.1 52.7l5.4 17.8c45.8-14 72.9-36.8 84.7-62.7 11.8-25.9 7.7-53.8-5.8-75.6-13.4-21.9-36-38.5-62.4-42.9-13-2.2-26.9-1.2-40.6 3.4-22.1-36.7-45.5-73-70-106.8zm-148.1 80.2c5.7 9.3 8.1 17 8.5 23.6.3 7-1.5 13.2-5.8 19.8-7.7 11.9-23.4 24.2-44.1 38.2-.3-2.2-.5-4.4-.6-6.8-1.1-23.6 11-48.7 42-74.8zm223 65c-6.6 3-13.4 7.4-20.2 13.6 8.6 26.1 36.2 62.1 60.3 77.1 8.6-4.9 15.2-10.3 20.1-16-8.9-25.8-37.4-59.9-60.2-74.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaberToothedCatHead;

impl IconShape for SaberToothedCatHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.2 41.72c-26.2 1.32-41.5 8.87-61.3 12.62-18.1 3.45-39.15 2.35-70.36-10.96C57.5 57.27 61.3 72.51 73.9 84.95c28.3 18.75 57.9 22.75 82 18.05l3 17.8c-32.5 6.5-70.62 38.8-89.87 60.4 13.4-1.3 27.54-1.6 40.77-.9 10.8.6 20.8 1.8 29.3 4 8.5 2.1 15.7 4.4 20.9 10.9l8.9 11-13.8 3.3C93.55 224.4 49.64 252.6 27.01 282c40.71-3.3 78.99-2.9 115.19 8.7-8.1 24.6-19 49.7-31 69.9-9.7 23.7-17.62 36.3-24.8 45.2.7-.2 1.29-.2 2.02-.4 9.7-2 21.88-5.9 33.68-10.3 23.5-8.8 45.3-19.2 45.3-19.2l15.5-7.4-2.7 16.9c-4 25.3-4.3 44.1-1.8 57 2.5 12.9 7.1 19.5 13.5 23.5 6.5 3.9 16 5.5 29 4.1 10.9-1.1 24-4.3 38.7-8.9-10.7-33.2-27.9-66-25.9-109.2 1.5-33.5 16.5-70.3 54-87.6 53.2-24.4 111.4-6.9 173.5 2.1.1 0-.1 0 .1-.1.8-.6 2.6-2.2 4.4-4.8 3.6-5.1 7.7-13.4 11.1-22.9 1.3-3.6 2.5-7.3 3.6-11.1-12.3-.2-21.1 0-29.6-5.5-5.2-3.4-8.9-8.7-11.8-15.1-4.5-11.6-6.5-19.2-9.5-29.9-13.5-.4-27.6 1.1-39.9-2.4-15.8-4.5-26.6-20.3-30.5-34.7-3-11.5-4.1-21.1-17.3-34.5-50.7-33.88-95.3-67.04-147.6-63.68zM263.4 129c34.4 22 60.4 37 91.3 45.1-27 10.5-66.4 15.7-87.1 2.2-7.4-5.7-9.3-24-4.2-47.3zM82.21 142.7c-14.31 4-31.75 7.2-56.8 8.9v54.1l14.49-17.9c11.99-14.8 25.36-30.5 42.31-45.1zm372.89 35.8c10.9 6.8 21.7 12.1 31.1 19.2.4-5.2.5-10 .2-14.1-9.9-3.6-22-4.4-31.3-5.1zM48.82 202.3l-23.41 5.1v49c22.81-23 56.2-42.9 98.39-56.7-24.31-2.8-51.27-2.4-74.98 2.6zm293.08 68.1c2 8 2.9 20.4 3.4 27.9 10-7.3 17.4-18.9 23.8-27.2-9.6-.8-18.4-1-27.2-.7zm57.1 4.3c-3.4 25.3-13.5 51.7-25.1 77.7-10.5 23.5-22.2 46.5-31.9 67.2 17.1-12.8 36.8-32.8 53.8-55.6 20.2-27 36.7-57.7 43.6-82.7-14-2.3-27.4-4.6-40.4-6.6zM63.54 297.4c-13.4.1-26.59 1.2-38.13 3.1v122.2c4.11-7.5 8.65-15.5 13.77-23.8 9.04-14.5 19.36-29.1 30.47-40.6 10.12-10.4 20.99-18.8 33.55-20.3 5.6-10.5 11-22.2 15.8-35.2-15.9-3.8-35.9-5.5-55.46-5.4zM314 394.9l-47.1 31.9c2.5 7 5.1 14 7.5 21.2 14.8-17.5 28.5-35.1 39.6-53.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Saddle;

impl IconShape for Saddle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M441.65 24.393a9.077 9.077 0 0 0-1.452.08c-4.125.547-9.426 3.87-11.367 11.46-5.247 20.526-12.76 40.182-17.077 50.79.086.108.178.21.264.318 6.13 7.756 11.292 17.36 15.593 27.788.75 1.816 1.46 3.66 2.157 5.518 5.272-.53 10.743-1.793 16.45-3.975 5.046-13.438 7.054-23.478 7.08-35.225.025-12.816-2.37-28.172-6.112-51.424-.447-2.777-1.324-3.7-2.34-4.394-.763-.52-1.835-.894-3.194-.933zM56.648 30.627c-4.033.01-7.61.662-9.5 1.457-.97.408-1.215.48-1.326.486-.508 14.077 3.406 30.818 10.277 44.497 6.895 13.727 16.732 23.946 25.94 27.115 21.892 7.53 54.657 9.57 90.7-15.656-18.006-6.55-32.917-9.786-46.672-14.436-17.293-5.846-32.997-15.124-46.416-35.773-1.404-2.16-11.79-7.233-21.25-7.653-.59-.026-1.176-.038-1.753-.037zM286.503 86.06c-4.53.004-9.036.025-13.514.065-24.478.218-48.16.99-71.243 2.25l-5.096 4.39a169.545 169.545 0 0 1-8.145 6.59c68.666 4.997 135.053 6.64 210.28.03-.297-.395-.593-.807-.89-1.182-4.478-5.666-8.872-8.65-11.84-9.428-34.768-1.863-67.832-2.738-99.552-2.714zm-123.61 29.007c-9.457 4.496-18.745 7.532-27.705 9.42 6.326 8.607 13.46 17.135 21.297 24.94 20.7 20.617 45.453 35.555 71.22 35.358L422.29 169.97c-.812-14.37-4.874-32.65-11.32-48.277a135.863 135.863 0 0 0-2.258-5.142c-88.857 8.45-165.386 5.506-245.848-1.128l.03-.355zm-84.03 7.015l-24.727.656c-.194.28-.545.824-1.055 2.14-1.08 2.79-2.008 7.784-2.23 13.94-.443 12.314 1.66 29.28 6.026 46.006 4.367 16.728 11.03 33.32 18.975 45.23 7.814 11.716 16.262 18.076 24.17 18.694l10.555-.96-3.46-32.505c-14.402-1.814-26.805-12.138-26.805-26.59 0-15.955 15.114-26.88 31.347-26.88 16.234 0 31.348 10.925 31.348 26.88 0 11.39-7.71 20.214-18.027 24.33l3.525 33.135 94.957-8.633c-20.206-3.435-38.645-21.4-48.62-50.564-11.286-6.858-21.688-15.45-31.056-24.778-11.12-11.074-20.865-23.257-29.04-35.244-13.365.387-25.55-1.62-35.882-4.856zm372.52 11.656a81.027 81.027 0 0 1-16.054 4.024c3.787 14.243 5.774 28.595 5.237 40.92l-.347 7.976-31.387 2.39a476.762 476.762 0 0 1 6.043 31.077l32.873-2.988c18.517-18.74 21.183-37.714 16.378-56.412-2.415-9.398-6.998-18.61-12.746-26.987zm-339.726 46.075c-8.45 0-13.347 5.084-13.347 8.88 0 3.793 4.896 8.875 13.347 8.875 8.452 0 13.348-5.082 13.348-8.876 0-3.795-4.896-8.88-13.348-8.88zm278.887 10.627l-95.22 7.25c26.347 58.248 31.033 115.17 23.38 170.486 22.613 2.476 44.69 3.89 60.373.932 8.888-1.678 15.438-4.64 19.492-8.598 4.054-3.958 6.427-8.995 6.376-18.035-.278-49.916-2.173-100.274-14.402-152.035zm-190.56 8.082c8.255 13.282 18.5 20.036 26.857 21.33 6.08.94 11.3-.463 16.108-4.647 3.426-2.98 6.64-7.613 8.975-14.21l-23.6 1.796-.297.003c-9.715.095-19.078-1.46-28.04-4.27zm76.203.625l-5.112.388c-2.987 12.56-8.576 22.517-16.31 29.248a37.803 37.803 0 0 1-11.782 6.97l46.49-4.228c-3.662-10.72-8.076-21.508-13.286-32.378zM130.66 264.04l-17.927 1.628c4.787 61.848 3.29 124.66-6.496 188.85l17.793 2.713c10.02-65.73 11.533-130.037 6.63-193.19zm271.593 116.155l-10.367 3.98c-15.544 5.968-36.597 5.06-52.77 3.743l-12.793-1.043 3.38 12.383 8.24 30.184c-3.815 8.488-6.973 15.055-8.16 22.76-1.275 8.288.454 16.908 4.99 27.24 1.728 3.937 4.332 4.995 6.076 5.748 1.742.752 3.262 1.103 4.89 1.404 3.253.6 6.896.86 11.095.967 8.397.216 18.84-.275 29.324-1.31 10.482-1.035 20.903-2.592 29.34-4.723 4.22-1.065 7.92-2.224 11.247-3.87 3.33-1.644 7.684-3.568 8.9-10.155 2.61-14.132-6.05-25.697-13.43-34.572-5.61-6.748-11.366-12.007-13.825-14.16l-6.14-38.575zM387.83 404.11l1.8 11.306-35.613 4.56-3.614-13.24c11.506.588 24.607.396 37.428-2.627zm10.566 29.925a99.39 99.39 0 0 1 9.982 10.4c5.098 6.133 8.577 13.233 9.316 17.446-1.512.652-3.593 1.435-6.6 2.194-6.995 1.766-16.85 3.29-26.704 4.264-9.855.973-19.81 1.416-27.092 1.23-3.22-.084-5.614-.338-7.33-.597-2.53-6.463-2.982-10.203-2.393-14.03.553-3.59 2.7-8.704 5.653-15.42l45.168-5.485z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SafetyPin;

impl IconShape for SafetyPin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M453.096 68.55c-15.573-15.573-39.254-25.555-62.635-27.537-23.38-1.98-45.7 4.102-58.84 17.242l-55.593 55.592 40.055 40.054 58.762-15.03a23.294 21.14 45 0 1 1.985-26.995 23.294 21.14 45 0 1 31.42 1.52 23.294 21.14 45 0 1 1.522 31.423 23.294 21.14 45 0 1-26.998 1.988l-15.03 58.758L407.8 245.62l55.59-55.593c13.14-13.14 19.224-35.46 17.243-58.842-1.98-23.38-11.964-47.062-27.537-62.635zM208.488 21.342l-28.57 43.076-140.32 327.15c-14.33 25.316-10.752 58.19 10.77 79.71 25.838 25.84 68.048 25.84 93.887 0l15.323-15.322c3.484-9.32 5.35-20.678 4.01-33.593-.482-16.35-6.913-32.552-19.333-44.972-18.608-18.607-45.707-23.812-69.068-15.618l123.998-289.09 9.303-51.34zm150.72 205.335l-177.68 177.68c2.314 9.15 3.345 17.964 3.34 26.308L374.034 241.5l-14.824-14.823zM129.432 392.215c17.828 17.827 17.828 46.413 0 64.24-17.826 17.826-46.41 17.826-64.238 0-11.94-11.94-15.87-28.7-11.818-43.825l5.094-11.873c1.855-3.034 4.09-5.908 6.724-8.542 17.827-17.826 46.412-17.826 64.24 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sagittarius;

impl IconShape for Sagittarius {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.934 459.625l-80.013-80.08-100.315 100.12-57.517-57.516 100.25-100.252c-60.47-60.56-77.15-77.326-79.827-80.078l57.52-57.522 79.95 79.952 128.03-128.028C178.14 101.764 209.1 109.4 204.28 108.128L223.96 29.2l203.814 50.813L477.8 283.637l-79.192 19.745-26.762-107.595-126.212 126.106 80.02 80.018-57.72 57.715z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sai;

impl IconShape for Sai {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M476.953 34.873C470.795 28.715 237.497 251.72 162.997 326.2l22.628 22.628C261.473 273.082 483.11 41.03 476.953 34.873zM233.747 166.356c-.24-.24-.6-.335-1.07-.293-9.55.855-113.11 97.3-143.888 124.035-3.515 3.515-3.515 9.213 0 12.728l43.84 43.842-13.442 13.504 32.53 32.53 13.443-13.507L209 423.037c3.515 3.514 9.213 3.514 12.728 0 28.048-32.29 129.91-138.957 123.743-144.957L215.363 403.944l-107.48-107.48zm-120.442 213.39l-2.346 21.12 21.12-2.346zm14.072 37.406l-18.455 2.05-2.062 18.564zM94.63 384.844L74.666 404.9l17.955-1.996zm-4.045 36.396l-32.575 3.62 28.955 28.958zM44.82 434.232l-9.9 9.9 33.122 33.12 9.902-9.896z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sail;

impl IconShape for Sail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238 20v16.79c4.8-.32 9.6-.53 14.3-.6 7.3-.11 14.5.1 21.7.57V20zm19 33.94h-4.6c-24.3.39-48 4.63-79.2 12.5-.4 13.8-1.8 27.47-3.9 42.43 69.7-18.43 109.6-18.78 175.1-.1-2-15.74-8.3-28.86-16-44.46-25.7-6.71-48.2-10.27-71.4-10.37zm.3 58.26c-6.4.1-12.8.4-19.3 1v19c9-.7 17.7-1.1 26.3-1.1 3.3 0 6.5 0 9.7.1v-18.3c-5.6-.5-11.1-.7-16.7-.7zm6.8 36.6c-32.8.2-68.7 5.7-114.9 16.4-.8 109-25 203.2-60.32 288.3 106.22-24.2 242.42-24.3 343.72 1.3-12.6-138.6-29.3-202.7-68.1-290.9-36.4-10-67.1-15.2-100.4-15.1zM103 164.7v18h27.9c.2-6 .3-12 .4-18zm281.5 0c2.6 6.1 5.1 12.1 7.6 18H409v-18zM46 423v18h28.76c2.42-6 4.79-12 7.09-18zm401.7 0c.6 5.9 1.2 11.9 1.8 18H468v-18zm-187.4 30.6c-7.4 0-14.9.1-22.3.3v38.3h36v-38.5c-4.6 0-9.1-.1-13.7-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sailboat;

impl IconShape for Sailboat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.256 74.5v285H27.744l25.998 78H380.255l104-78h-267v-285h-18zm18 18c36.787 88.85 64.94 216 0 250h208c22-34-11.905-164.76-208-250zm-36 0c-33.046 69.333-50 200-144 250h144v-250z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaintBasilCathedral;

impl IconShape for SaintBasilCathedral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 22.81c-7.636 5.524-21.8 17.4-22.885 24.467 2.354 3.189 6.509 5.994 9.506 7.723h26.758c3.704-2.789 7.49-4.404 9.506-7.723-4.548-11.043-13.671-18-22.885-24.466zM199.027 73l-11.5 46h40.946l-11.5-46zM304 95.5c-16.026 21.362-36.332 41.846-53.34 60.555-9.89 10.88-18.644 21.146-24.672 30.187C219.961 195.283 217 203 217 208c0 2.1.177 4.112.488 6.045 45.098-28.37 81.492-70.44 97.188-105.135-3.697-4.426-7.289-8.895-10.676-13.41zm23.549 28.225c-19.266 37.932-56.702 78.784-103.026 107.134 4.64 6.573 10.415 11.207 14.297 13.85 51.58-32.122 85.075-67.773 103.881-104.494-5.012-5.389-10.115-10.892-15.152-16.49zM184.219 137l-7.928 87.21 7.197 10.798c14.228 21.341 31.924 36.144 47.512 49.674v-23.537c-10.063-6.447-32-23.84-32-53.145 0-11 5.04-21.283 12.012-31.742 5.927-8.891 13.506-17.983 21.853-27.34L231.781 137zm171.416 17.197c-18.216 32.977-47.038 64.315-87.65 92.803h31.363c37.622-26.747 59.943-50.916 68.187-79.42-4.276-4.942-7.984-9.125-11.9-13.383zM416 159.312c-5.616 7.226-11.495 13.663-17.357 19.52.883 1.39 1.744 2.78 2.543 4.168h36.427c-7.252-6.935-14.636-14.711-21.613-23.688zm-35.309 25.022c-9.618 22.973-27.145 43.002-51.459 62.666h36.293c4.093-2.312 25.475-15.387 25.475-39 0-5-2.96-12.717-8.988-21.758-.417-.625-.878-1.27-1.32-1.908zM87 198.852c-7.35 15.662-12.948 29.163-16.316 41.515-5.113 18.745-5.594 34.937-.026 54.633H87zm18 0V295h4.45c5.076-4.732 9.897-8.9 14.782-13.13 2.197-14.161 1.018-27.08-2.916-41.503-3.368-12.352-8.967-25.852-16.316-41.515zM408.32 201c.88 4.77.795 9.509.248 14h64.584c-5.438-5.327-10.16-9.445-15.427-14zm-346.054 9.043C48.463 223.324 25.822 239.658 25 256c0 23.613 21.382 36.688 25.475 39h1.615c-4.93-20.694-4.132-39.721 1.226-59.367 2.265-8.302 5.289-16.737 8.95-25.59zm67.468 0c3.661 8.853 6.685 17.288 8.95 25.59 2.67 9.79 4.206 19.429 4.466 29.195 6.809-6.576 13.539-13.79 19.786-22.01-9.535-13.514-21.75-22.732-33.202-32.775zM403.111 233c-2.678 5.38-6.028 10.04-9.53 14h92.763c.417-2.222.656-4.551.656-7 0-2.444-.381-4.733-1.12-7zM176 255.313c-15.3 19.685-32.57 33.644-46.074 45.46-7.88 6.896-14.44 13.092-18.694 18.834C106.98 325.35 105 330.25 105 336c0 23.613 21.382 36.688 25.475 39h89.144c1.898-23.248 4.381-44.682 11.381-66.104-2.715-2.604-5.702-5.301-8.926-8.123-13.504-11.816-30.773-25.775-46.074-45.46zM249 265v46h110v-46zm128 0v14h84.525c2.295-1.296 10.023-5.978 16.371-14zm0 32v19.723c2.677 3.802 3.82 8.068 5.166 13.164 1.74 6.588 3.111 14.563 4.281 23.668 2.744 25.07 4.156 47.613 4.983 69.445H455V297zM57 313v126h62v-49.855c-10.063-6.447-32-23.84-32-53.145 0-8.494 2.766-16.195 6.982-23zm188.361 16c-3.624 9.431-4.982 21.037-6.05 30h129.658c-1.956-10.184-2.672-21.785-6.201-30zm-7.845 48c-1.072 12.843-1.899 27.011-2.524 41.39-.698 16.054-1.138 31.855-1.424 46.393L259.902 377zm45.463 0L304 482.104 325.021 377zm65.119 0l26.484 88.283c-.25-14.696-.655-30.688-1.334-46.951-.6-14.36-1.405-28.51-2.473-41.332zM137 393v46h78v-46zm133.252 12.152L243.598 494h44.423zm67.496 0L319.978 494h44.424zM392.025 441c.552 19.69.777 37.785.881 53h89.56c-4.867-18.226-10.506-38.14-22.66-53zM51.803 457c-11.084 11.094-20.588 21.15-24.643 37h68.145c3.994-12.66 9.09-26.375 15.052-37zm80.488 0c-8.132 12.682-14.35 25.025-18.12 37h100.993c.105-11.106.267-23.524.576-37z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaiyanSuit;

impl IconShape for SaiyanSuit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.931 28.564c-13.906-.1-28.57 2.754-38.26 11.165v16.119l53.76-11.551-6.064-15.223a102.562 102.562 0 0 0-9.436-.51zm342.138 0c-3.21.024-6.378.205-9.436.51l-6.064 15.223 53.76 11.55V39.73c-9.69-8.411-24.354-11.265-38.26-11.165zm-319.89 32.67L46.67 74.238C-24.404 192 51.23 432.281 162.532 489.268 178.11 497.088 217.055 501 256 501s77.89-3.911 93.468-11.732C460.77 432.28 536.404 192 465.329 74.238l-60.507-13.004-24.198 21.336c-49.185 32.326-85.431 52.277-124.624 52.54-39.193-.263-75.439-20.214-124.624-52.54zm3.717 37.643c10.212-.03 19.551 2.468 26.605 8.541C166.57 136.606 211.17 151.781 256 151.781s89.43-15.175 118.499-44.363c22.573-19.433 68.55-2.247 91.635 17.143 14.037 35.439 14.597 78.629 1.04 120.873-2.572 65.985-34.061 150.899-88.585 201.261-59.617 27.468-80.443 31.803-122.589 31.803s-62.972-4.335-122.59-31.803C78.888 396.333 47.399 311.42 44.827 245.434 31.27 203.19 31.83 160 45.866 124.56c15.87-13.33 42.563-25.62 65.03-25.684zm-1.118 18.039c-17.624.364-39.736 10.531-48.683 17.848-7.609 25.236-15.94 83.165 6.324 114.369 21.799 28.136 48.201 29.473 62.518 27.888 38.977-9.7 78.091-14.953 117.3-15.65v-91.955c-45.685-1.825-90.74-17.753-121.986-49.127-4.223-2.526-9.599-3.494-15.473-3.373zm292.444 0c-5.874-.121-11.25.847-15.473 3.373-31.245 31.374-76.3 47.302-121.986 49.127v91.955c39.209.697 78.323 5.95 117.3 15.65 14.317 1.585 40.72.248 62.518-27.888 22.264-31.204 13.933-89.133 6.324-114.37-8.947-7.316-31.06-17.483-48.683-17.847zM64.603 272.309c13.089 64.16 41.062 139.284 94.236 170.507-24.48-41.23-34.747-103.186-36.098-147.43-15.984-.047-38.27-4.594-58.138-23.077zm382.794 0c-19.868 18.483-42.154 23.03-58.138 23.078-1.35 44.243-11.618 106.199-36.098 147.43 53.174-31.224 81.147-106.348 94.236-170.508zm-307.18 20.714c.192 9.793.783 19.563 1.764 29.25 47.977-6.702 81.097-10.097 114.019-10.097 32.922 0 66.042 3.395 114.019 10.097a360.573 360.573 0 0 0 1.764-29.25c-38.447-9.09-76.926-13.717-115.783-13.717s-77.337 4.627-115.783 13.717zM256 330.053c-31.924 0-64.058 3.384-111.754 10.066a334.947 334.947 0 0 0 5.962 29.856c37.43-7.258 71.616-10.897 105.792-10.897s68.362 3.64 105.792 10.897a334.94 334.94 0 0 0 5.962-29.856c-47.696-6.682-79.83-10.066-111.754-10.066zm0 46.95c-32.502 0-65.009 3.452-100.95 10.347a291.618 291.618 0 0 0 5.788 16.865c39.66 6.411 67.41 9.617 95.162 9.617 27.751 0 55.503-3.206 95.162-9.617a291.61 291.61 0 0 0 5.789-16.865c-35.942-6.895-68.449-10.346-100.951-10.346zm-86.89 46.712c4.36 9.227 9.202 18.037 14.524 26.332 28.982 7.137 50.674 10.705 72.366 10.705s43.384-3.568 72.366-10.705c5.322-8.295 10.164-17.105 14.524-26.332-34.505 5.3-60.697 7.95-86.89 7.95-26.193 0-52.385-2.65-86.89-7.95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Saloon;

impl IconShape for Saloon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 17c-62.5 0-124.8 16.55-153.6 45.36L99.72 65H72.99v62H439V65h-26.7l-2.7-2.64C380.8 33.55 318.5 17 256 17zM144 79h224v18H144zm-87.01 66v126h30v-96H169v96h46v-71c0-22 20.5-33 41-33s41 11 41 33v71h46v-96h82v96h30V145zM247 186.1c-7.8 1.9-14 6.6-14 13.9v23h14zm18 0V223h14v-23c0-7.3-6.2-12-14-13.9zM105 193v30h14v-30zm32 0v30h14v-30zm224 0v30h14v-30zm32 0v30h14v-30zm-288 48v30h14v-30zm32 0v30h14v-30zm96 0v30h14v-30zm32 0v30h14v-30zm96 0v30h14v-30zm32 0v30h14v-30zM50.11 289l-28 14H489.9l-28-14zm-27.12 32v110h18V321zm50 0v110H119v-67.3L76.23 321zm28.71 0l17.3 17.3V321zm35.3 0v17.3l17.2-17.3zm42.8 0L137 363.7V431h62v-96h114v96h62v-67.3L332.2 321zm178 0l17.2 17.3V321zm35.2 0v17.3l17.2-17.3zm42.8 0L393 363.7V431h46V321zm35.2 0v110h18V321zm-254 32v27.9c3.3-1.3 7-3 11-5 8-3.9 17-8.9 27.9-8.9 10.8-.1 19.6 4.9 27.7 8.9 4.1 2 7.9 3.8 11.4 5.1v-28zm30 34.1c-3.3 1.3-7 3-11 5-5.7 2.9-11.9 6.2-19 7.8V431h30zm18 .1V431h30v-31.1c-7.2-1.7-13.5-5-19.4-7.9-3.8-1.9-7.4-3.5-10.6-4.8zM24.99 449v46H154.4l23-46zm172.61 0l-7 14h130.8l-7-14H199zm137 0l23 46H487v-46zm-153 32l-7 14h162.8l-7-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaloonDoors;

impl IconShape for SaloonDoors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 73.098c-54.26 1.974-69.31 21.918-90.365 44.886-21.25 23.18-48.362 48.605-115.635 50.71v78.208h16v98H41v94h206V73.098zm18 0v365.804h206v-94h-16v-98h16v-78.207c-67.273-2.106-94.386-27.53-115.635-50.71C334.31 95.014 319.26 75.07 265 73.097zm-87 45.804h54v18h-54v-18zm102 0h54v18h-54v-18zm-136 32h88v18h-88v-18zm136 0h88v18h-88v-18zm-216 32h168v18H64v-18zm216 0h168v18H280v-18zm-216 32h168v18H64v-18zm216 0h168v18H280v-18zm-208 32h160v18H72v-18zm208 0h160v18H280v-18zm-255 18v62h14v-62H25zm448 0v62h14v-62h-14zm-401 14h160v18H72v-18zm208 0h160v18H280v-18zm-208 32h160v18H72v-18zm208 0h160v18H280v-18zm-208 32h160v18H64l8-18zm208 0h160l8 18H280v-18zm-216 32h168v18H64v-18zm216 0h168v18H280v-18zm-216 32h168v18H64v-18zm216 0h168v18H280v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SamaraMosque;

impl IconShape for SamaraMosque {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269 54.7l-28 4.87v34.12l28-5.7V54.7zm16.5 48.3L225 115.4v33.1l60.5-15.1V103zm25.5 42.5L201 173v31.1l110-18.4v-40.2zm32 53.1l-174 29v46.2l174-21.7v-53.5zm32 67.6l-238 29.7v59l238-23.8v-64.9zm32 79.7l-302 30.2V439h302v-93.1zM41 457v30h78v-30H41zm96 0v30h110v-30H137zm128 0v30h110v-30H265zm128 0v30h78v-30h-78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SamuraiHelmet;

impl IconShape for SamuraiHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.1 32.57l50 25c-2.2 8.68-9.2 22.47-20.1 37.29C372.7 113 354.4 133.3 335.6 152c-18.7 18.8-38.1 36.2-53.5 48.7-7.7 6.2-14.5 11.3-19.6 14.6-2.5 1.6-4.6 2.9-6 3.6-.3.1-.3.1-.5.1s-.2 0-.5-.1c-1.4-.7-3.5-2-6-3.6-5.1-3.3-11.9-8.4-19.6-14.6-15.4-12.5-34.8-29.9-53.5-48.7-18.8-18.7-37.1-39-50.4-57.13-10.9-14.83-17.9-28.62-20.1-37.3l50-25c14.6 29.73 29.3 62.14 44.2 90.03 16.2 30.5 31.6 55.7 51.9 65.9l4 2 4-2c20.3-10.2 35.7-35.4 51.9-65.9 14.9-27.89 29.6-60.31 44.2-90.03zM256 141.4c7.9 0 15.5.7 22.7 1.9-8.2 12.2-16 21.5-22.7 26.5-6.7-5-14.5-14.3-22.7-26.5 7.2-1.2 14.8-1.9 22.7-1.9zm83.1 32.5c23.3 22.7 35.9 54.6 35.9 86.5v.6c-33-12-75.9-17.6-119-17.6-43.1 0-86 5.6-119 17.6v-.6c0-31.9 12.6-63.8 35.9-86.5 16.2 15.6 32.2 29.8 45.7 40.7 8 6.5 15.1 11.9 21 15.7 2.9 2 5.5 3.5 8 4.7 2.5 1.2 4.4 2.4 8.4 2.4s5.9-1.2 8.4-2.4 5.1-2.7 8-4.7c5.9-3.8 13-9.2 21-15.7 13.5-10.9 29.5-25.1 45.7-40.7zm64.3 38.3c20.6 20 31.5 26.2 63.8 37.3-12.6 24.9-25.9 47.1-57 61.2l-17.3-52c-.1-5.7-.5-11.4-1.3-17.1zm-294.8 0l11.8 29.4c-.8 5.7-1.2 11.4-1.3 17.1l-17.3 52c-31.11-14.1-44.41-36.3-57.01-61.2 32.3-11.1 43.2-17.3 63.81-37.3zM265 261.5c45.1.9 89.3 8.7 117.2 22.2l28.4 85-43.3-19.8c-3.9-23.6-6.3-46.3-6.3-58.5v-14.6l-13 6.5c-27.9 14-55.5 21.6-83 23zm-18 0v43.8c-27.5-1.4-55.1-9-83-23l-13-6.5v14.6c0 12.2-2.4 34.9-6.3 58.5l-43.3 19.8 28.4-85c27.9-13.5 72.1-21.3 117.2-22.2zm96.6 42.8c1.3 18.6 4.8 43.5 9.6 67.6 3 15.4 6.6 30.2 10.5 42.4 3.9 12.3 7.3 21.8 13.9 28.5l2.7 2.6h3.7c14.1 0 38.9 1.2 52.7 9.6-1.8 1.4-4.8 3.2-8.7 4.9-9.4 4-23.9 7.7-41.5 10.6-35.2 5.9-82.9 8.9-130.5 8.9-47.6 0-95.3-3-130.5-8.9-17.6-2.9-32.11-6.6-41.51-10.6-3.9-1.7-6.9-3.5-8.7-4.9 13.7-8.4 38.61-9.6 52.71-9.6h3.7l2.7-2.6c6.6-6.7 10-16.2 13.9-28.5 3.9-12.2 7.5-27 10.5-42.4 4.8-24.1 8.3-49 9.6-67.6 58 25.3 117.2 25.3 175.2 0zm-202.8 66.2c-2.9 14.1-6.2 27.6-9.6 38.4-2.9 9.1-6.1 15.3-8.1 18.5-11.2-.1-27.71 0-43.01 5.1l13.5-40.4zm230.4 0l47.2 21.6 13.5 40.4c-15.3-5.1-31.8-5.2-43-5.1-2-3.2-5.2-9.4-8.1-18.5-3.4-10.8-6.7-24.3-9.6-38.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SamusHelmet;

impl IconShape for SamusHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265 41.08c65 2.2 111.7 28.07 142.8 57.38 16.3 15.34 28.3 31.64 36.1 45.74 7.5 13.8 10.8 25.8 11 31.1l-31 139.7-95.4 79.4-30.6 76.5h-83.8l-30.6-76.5L88.1 315l-31-139.7c.2-5.3 3.5-17.3 11-31.1 7.8-14.1 19.8-30.4 36.1-45.74C135.3 69.15 182 43.28 247 41.08V166.9h-26.7l-31.4 31.4L85.1 181l18.7 112.2 97 64.7 17.4 39.2 75.7-.4 17.3-38.8 97-64.7 16.7-99.8 2-12.4-103.8 17.3-31.4-31.4H265zM467.3 202.6L487 242v95.3L442.3 315zm-422.6 0l25 112.4L25 337.3V242zm388.5 128l44.9 22.4-155 103.3 20.4-50.9zm-354.4 0l89.7 74.8 20.4 50.9L33.9 353z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SandCastle;

impl IconShape for SandCastle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265 30.563v66.874L331.873 64 265 30.562zm-18 58.55c-21.999.542-43.607 3.059-61.74 7.371a12.642 21.07 76.697 0 1 4.097 5.422 12.642 21.07 76.697 0 1-17.595 17.153 12.642 21.07 76.697 0 1-23.414-7.455 12.642 21.07 76.697 0 1-.065-.374c-1.235.86-2.404 1.728-3.426 2.604C139.197 118.686 137 123 137 128s2.197 9.314 7.857 14.166 14.7 9.532 25.989 13.295C193.423 162.987 224.75 167 256 167c31.25 0 62.577-4.013 85.154-11.54 11.289-3.762 20.328-8.442 25.989-13.294C372.803 137.314 375 133 375 128s-2.197-9.314-7.857-14.166-14.7-9.532-25.989-13.295c-8.382-2.794-17.983-5.093-28.326-6.89L265 117.561V128h-18V89.113zm-115.613 65.135l-22.934 103.197a21.07 12.642 10.04 0 1 1.195-.025 21.07 12.642 10.04 0 1 5.631.53 21.07 12.642 10.04 0 1 18.543 16.122 21.07 12.642 10.04 0 1-22.95 8.774 21.07 12.642 10.04 0 1-7.56-2.266l-28.96 130.322a21.07 12.642 18.4 0 1 1.582-.015 21.07 12.642 18.4 0 1 9.504 1.71 21.07 12.642 18.4 0 1 16.001 18.647 21.07 12.642 18.4 0 1-23.984 5.346 21.07 12.642 18.4 0 1-5.281-2.262c1.218 4.319 3.639 8.37 7.244 12.518 7.599 8.744 21.108 17.054 38.768 23.736 22.028 8.335 50.276 14.214 80.835 17.459.092-16.515.797-40.42 6.249-62.225 3.2-12.799 8-25.02 16.101-34.62C229.471 381.593 241.5 375 256 375c14.5 0 26.528 6.594 34.629 16.195 3.072 3.641 5.667 7.66 7.883 11.944a21.07 12.642 0 0 1 21.049 12.642 21.07 12.642 0 0 1-12.479 11.531c5.118 21.398 5.807 44.59 5.897 60.729 30.559-3.245 58.807-9.124 80.835-17.459 1.5-.567 2.957-1.15 4.395-1.74a12.642 21.07 68.16 0 1-4.576-4.625 12.642 21.07 68.16 0 1 14.855-19.574 12.642 21.07 68.16 0 1 11.864-2.375 12.642 21.07 68.16 0 1 11.779 5.072c.148-.165.308-.33.451-.494 7.599-8.744 10.002-17.04 6.764-28.373l-.073-.258-41.218-185.483a12.642 21.07 79.96 0 1-6.057 1.653 12.642 21.07 79.96 0 1-22.951-8.774 12.642 21.07 79.96 0 1 18.543-16.123 12.642 21.07 79.96 0 1 5.187-.506l-12.164-54.734a49.617 49.617 0 0 1-1.756 1.586c-8.34 7.148-19.3 12.468-32.011 16.705C321.423 181.013 288.75 185 256 185c-5.695 0-11.386-.13-17.04-.373a21.07 12.642 0 0 1-20.446 9.654 21.07 12.642 0 0 1-21.069-12.642 21.07 12.642 0 0 1 .104-1.252c-11.605-1.965-22.548-4.566-32.395-7.848-12.711-4.237-23.672-9.557-32.011-16.705a49.617 49.617 0 0 1-1.756-1.586zm217.396 157.697a21.07 12.642 0 0 1 21.07 12.643 21.07 12.642 0 0 1-21.07 12.642 21.07 12.642 0 0 1-21.07-12.642 21.07 12.642 0 0 1 21.07-12.643z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SandSnake;

impl IconShape for SandSnake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M31.7 83.93C9.492 194.9 191.1 121 195.3 136.6c2.4 8.9-156.4 35.9-163.56 95.4-16.49 137 321.16.7 323.76 8.9 5.5 17.8-218.6 46.4-149.8 157.7 39.7 64.2 114.8 32 164.1 33.4 26.3 42.4 66.5 60.5 96 48 27.7-11.7 14.8-45.6 1.5-76.5l-14.2 15.7 7.7-28.7c-40.3-63.2-182.5-6.2-188.3-19.9-10.2-24.1 216.2-41.5 180.2-158.7-29-94.2-332.7 21.2-332.9 6.1-.2-20.9 188.1-50.4 167.4-94.9-34.3-73.82-210.22 40.8-224.95-33.59C57 63.05 140.3 42.6 132.3 35.24 106.4 11.35 37.92 52.9 31.7 83.93zM387.8 390.8l35.9 33.6-43.5-12.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sandal;

impl IconShape for Sandal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M31.93 17.5c14.09 36.4 23.83 78.53 28.84 122.8C102.6 126.7 140 108.6 177.7 85c1.5-22.21 4-44.45 7.6-66.72zm171.47.87c-3 18.12-5.2 36.25-6.7 54.37 8.1-5.47 16.4-11.22 24.7-17.22 2.2-14.63 4.9-27.27 7.8-37.02zm19.9 57.78C168.5 114.7 116.2 142.5 54.47 161c-2.32 10-4.96 19.8-4.01 29.4C109.5 173 159.2 144.9 215 104.5c6-9.05 8.3-18.4 8.3-28.35zm-8.2 50.45c-7 4.9-14 9.7-20.9 14.2.2 15.7.7 31.4 1.7 47.1 6.7-5.3 13.1-10.8 19.3-16.6-.6-15.2-.6-30.2-.1-44.7zm-38.7 25.7c-36.2 22.5-72 40.1-111.75 52.7.14 16.2-.36 32.5-1.49 48.6 47.14-14.2 84.34-31.6 115.54-53.1-1.2-16-2-32.1-2.3-48.2zm48.9 34c-42.5 38.7-95.5 67.5-169.98 88.3-5.68 9.4-8.78 19.3-8.04 29.4 60.82-25 122.42-42.3 173.02-86.9 3.7-11.6 5.6-21.3 5-30.8zm-3.4 53c-6.4 5.1-13 9.9-19.8 14.4 3 23.4 6.7 46.9 11 70.3 9.6-7 18-14.8 25.2-23.5-7.3-18.6-12.6-39.4-16.4-61.2zm-36.5 24.8c-42.4 24.6-87.81 38.7-130.87 56.4-5.06 17.2-3.29 28.5 1.53 45.1 57.64-1.1 105.34-11.4 140.74-31.2-4.3-23.4-8.2-46.8-11.4-70.3zm68.9 45c-37.9 48.4-105.4 71.8-192.04 74.3 3.19 8 6.9 16.1 10.9 24C147 397.2 238.8 386.2 286.7 332c-7.7-11.2-20.6-18.4-32.4-22.9zm42.4 38.8c-10.8 11.7-23.5 21.6-37.6 29.8-17.4 27-39.6 51.4-63.8 74.8l49.1.4c33-32.5 54.5-57.3 69.5-90.5-4.9-6.1-10.4-11.1-17.2-14.5zM38.74 370.4c-8.8 23.5-15.25 59-4.74 80.7l43.7.4c-15.34-23.7-30.81-52.5-38.96-81.1zm287.56 8c-13.9 27.3-32.2 49.7-56.7 74.8l66.5.6c13.2-14.8 34.5-31.5 38.9-50.3zm-101.1 15.5c-46 17.4-97.5 25.1-142.86 30.4 5.6 9.8 11.44 19.1 17.09 27.4l70.07.6c20.3-19 39.4-38.2 55.7-58.4zM394.1 410c-10.9 17.1-19.6 30.6-33 44l36 .3c7.2-13.8 13-26.6 12.7-37.7-3.8-4-9.3-6.4-15.7-6.6zm33.5 14.4c-1.2 10.6-5.4 20.6-10.1 30.1l65.7.6c-14.3-22.5-35.8-32.4-55.6-30.7zM30.68 469c-9.13 10.2-3.51 13.2 5.81 18.5H479.7c6.3-3.6 10.5-8.1 8.5-14.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sandstorm;

impl IconShape for Sandstorm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426.8 31.54c-3 2.57-2.1 8.5 2 13.2 4.1 4.72 9.8 6.42 12.8 3.8 3-2.57 2.1-8.5-2-13.2-3.3-3.08-8.9-7.1-12.8-3.8zm-48.5 8.8c-8.9-.1-17.9 1.1-26.7 3.6-23.5 6.5-45.3 23.5-53.1 51.7 33.1-28.8 66-53.2 110.9-28.9 8 5 15 12.2 20.8 21-3-1.82-8.1-.43-12.1 3.3-4.5 4.25-6 9.96-3.3 12.86 2.7 2.9 8.6 1.8 13.1-2.5 3.3-3.06 5.1-7.04 4.6-10.16 11 18.26 17.2 42.16 17.1 66.36 0 10.8-1.2 21.5-3.6 31.6-3-1.9-8.1-.5-12.1 3.2-4.5 4.2-6.1 10-3.4 12.9 2.2 2.3 6.5 2 10.6-.6-7.3 18.8-19.4 34.3-36.4 43.2-104.5 52.7-249.3 54.4-381.41 31.9 10.4 14.3 11 29-1.9 44 27 4.6 54.7 7.8 82.61 9.7-41.01 9.2-73.41 20.6-88.01 32.3 18.2 10.1 28.8 23.7 20.3 45.7 28.4-4.5 71.21-20.1 119.51-35.2 1.7 3 6.6 4.5 11.8 3.6 6.1-1.1 10.4-5.1 9.8-8.9-.1-.4-.2-.7-.3-1.1 33.5-9.8 68.9-18.6 103.5-22.6-.9 3.1.5 7.3 3.5 10.7 4.1 4.7 9.8 6.4 12.8 3.8 3.3-6.3-.1-12.3-4.7-15.7 46.5-3.9 90.8 1.5 126.4 25.2 19.2 12.9 12.3 56.9-7.9 65.1-40.9 9-45.3-6.7-68.4-20.2 5 18.3 16.8 31.1 30.8 37.1 9.2 3.9 19.1 5.1 28.9 3.8-.9 1-1.4 2.1-1.5 3.3-.2 3.9 4.6 7.4 10.7 7.8 6.2.4 11.4-2.4 11.7-6.3.2-3.4-3.4-6.6-8.7-7.6 1.1-.4 2.1-.8 3.2-1.2 46.9-16 63-98.7 6.6-123.8-23-9.4-54.7-14.6-90.4-16.5 30.2-8.3 58.7-18.9 84.7-32.1 52.4-25.2 54.5-96.3 55.1-124.6 0-17.1-3.4-34-9.7-49.4 3.9.7 7.1-.4 8.3-2.8 1.7-3.5-1.2-8.57-6.6-11.46-3.2-1.72-6.7-2.35-9.5-1.7-9.4-16.2-22.1-30-37.1-39.3-13.7-6.8-27.8-10.8-40.5-11.1zm-92.5 12c-4.5 4.26-6 10.04-3.3 12.9 2.7 2.88 8.6 1.76 13.1-2.5s6-10.04 3.3-12.9c-4.1-3.37-10.1-.21-13.1 2.5zm82.7 26c-5.7 2.34-9.2 7.17-7.7 10.8 1.5 3.66 7.3 4.73 13.1 2.4 1-.39 1.9-.86 2.8-1.4-1.9 4.64-1.2 9.06 1.5 10.76 3.3 2.1 8.7-.6 11.9-5.86 3.2-5.32 3.1-11.27-.3-13.3-2.1-1.27-5.1-.74-7.9 1.4.1-.85 0-1.66-.3-2.4-3.1-4.61-8.8-4.08-13.1-2.4zm-143.9 13.8c-4.5 4.25-6 9.96-3.3 12.86 2.2 2.2 6.4 2 10.5-.6.4 3.9 5.5 6.7 11.6 6.4 6.2-.3 11.1-3.7 10.9-7.6-.2-3.92-5.4-6.85-11.6-6.56-1.6.1-3.2.39-4.7.9 1.5-3.15 1.3-6.12-.3-7.9-4.1-3.37-10.1-.21-13.1 2.5zm25.2 21.26c-4.5 4.3-6 10-3.3 12.9 2.7 2.8 8.5 1.7 13-2.5s6.1-10 3.4-12.9c-4.1-3.4-10.1-.2-13.1 2.5zm42.4-3c-5.9 1.9-9.8 6.4-8.6 10.2 1.2 3.7 7 5.2 12.9 3.3 5.9-1.9 9.8-6.4 8.6-10.2-3-4.7-8.4-4.7-12.9-3.3zm135.6 15.4c-3.9 0-7.1 5-7.1 11.2 0 6.2 3.2 11.3 7.1 11.3 3.9 0 7.1-5 7.1-11.2 0-6.2-3.2-11.3-7.1-11.3zm-222.6 10.1c-4.5 4.2-6.1 10-3.4 12.9 2.7 2.9 8.6 1.8 13.1-2.5s6-10 3.3-12.9c-4.1-3.4-10.1-.2-13 2.5zm116.5.9c-10.5 0-21.2 3.9-29.1 12-8.5 8.7-13.4 21.9-12.5 38.1 14.6-22.3 39.5-47.2 59.8-23.9 4.2 5 6.8 12.3 5.1 23.5-1.8 11.5-12.6 23-32.2 32.9-52.2 22.7-116 23.9-177.9 16.1 4-3.1 7.7-10.8 4.8-14.1-2.7-2.9-8.6-1.8-13.1 2.5-3.1 2.9-4.9 6.7-4.6 9.8-36.81-5.4-72.51-13.6-104.31-22.2 14 19.2 4.9 31.4-1.4 44.4 97.11 13.4 222.31 33.5 308.21-8.7 16.2-8.1 27.4-24.4 33.5-40.4 2.9 2.2 8.3.9 12.5-3 4.5-4.3 6-10 3.3-12.9-2.4-2.5-7.2-2-11.5 1.2.2-1 .4-1.9.5-2.8.6-14-1.6-28.4-9.1-37.9-7.7-9.1-18.8-14-29.9-14.6zm162.9.4c-3.9.5-6.4 5.9-5.7 12 .4 3.2 1.6 6.2 3.4 8.2-3.5 3.3-6.8 10.3-4 13.5 2.7 2.8 8.5 1.7 13-2.5s6.1-10 3.4-12.9c-.6-.6-1.3-1-2.2-1.3.6-2 .8-4.4.5-6.7-1.6-5.2-3.6-10-8.4-10.3zm-75.8 17.5c-4.5 4.2-6.1 10-3.4 12.9 2.7 2.9 8.6 1.8 13.1-2.5 4.5-4.2 6.1-10 3.4-12.9-4.1-3.4-10.1-.2-13.1 2.5zm-177.6 2.4c-1.4 3.6 1.9 8.4 7.6 10.8 5.7 2.4 11.7 1.4 13.2-2.2s-1.9-8.5-7.7-10.9c-4.2-1.7-11.2-2-13.1 2.3zm-5.7 37.4c-4.5 4.2-6 9.9-3.4 12.8 2.7 2.9 8.5 1.9 13.1-2.4 4.5-4.3 6-10 3.3-12.9-4.1-3.4-10.1-.2-13 2.5zm-46.4 20.9c-6.1.8-10.7 4.6-10.2 8.5.5 3.9 5.9 6.4 12.1 5.6 6.1-.8 10.7-4.6 10.2-8.5-2.6-5.2-7.6-5.9-12.1-5.6zm292.2 10.2c-4.5 4.3-6 10-3.3 12.9 2.7 2.9 8.6 1.8 13.1-2.5s6-10 3.3-12.9c-4.1-3.4-10.1-.2-13.1 2.5zm-65.6-4.1c-3.5.1-7.1 3.9-8.5 9.2-1.6 6 .2 11.7 4 12.7s8.2-3.1 9.8-9.1c.4-5.4.3-12.6-5.3-12.8zm45.4 54.6c-4.5 4.3-6 10-3.3 12.9 1.1 1.2 2.8 1.8 4.8 1.6-1 1.8-1.6 3.9-1.8 6.1-.6 6.2 2 11.5 5.9 11.9 3.9.5 7.6-4.2 8.3-10.4.6-5.2-1.2-10-4.3-11.5l.2-.2c4.5-4.3 6-10 3.3-12.9-4.1-3.4-10.1-.2-13.1 2.5zm-10 45.2c-2.2 3.3.2 8.7 5.3 12.2s11.1 3.7 13.3.4c2.2-3.3-.2-8.7-5.3-12.2-3.8-2.3-10.4-4.5-13.3-.4zM369 357.2c-3.5 1.8-4.1 7.7-1.3 13.2 2.8 5.6 8 8.7 11.5 6.9 3.5-1.8 4-7.8 1.2-13.3-2.9-4.2-6.6-8.4-11.4-6.8zm104.7 8.1c-3.7 1.3-5 7.1-3 12.9 2 5.9 6.8 9.7 10.5 8.4 3.8-1.3 5.1-7.2 3-13.1-2.4-4.4-5.7-9.5-10.5-8.2zM233 369.7c-5.5 2.9-8.5 8.1-6.7 11.6 1.9 3.5 7.8 3.9 13.3 1 5.5-2.9 8.5-8.1 6.6-11.6-3.6-4.2-9-3.2-13.2-1zm88.7 23.9c-2.2 3.2.1 8.7 5.2 12.2 5.2 3.6 11.2 3.8 13.4.5 2.2-3.3-.2-8.7-5.3-12.2-3.8-2.3-10.4-4.6-13.3-.5zm-181.1-1.7c-5.9-.1-10.7 2.7-10.9 6.4-.2 3.9 4.6 7.4 10.8 7.8 6.2.4 11.4-2.4 11.7-6.3-1.3-5.5-7.7-7.9-11.6-7.9zm138.4 8.8c-4.5 4.3-6 10-3.3 12.9 2.7 2.9 8.6 1.8 13.1-2.5.8-.8 1.6-1.6 2.2-2.5.4 3.2 3.4 6.6 7.6 8.5 5.6 2.6 11.5 1.9 13.2-1.7 1.6-3.6-1.6-8.6-7.2-11.2-4.2-2-8.7-2.1-11.4-.4.5-2.3.1-4.3-1.1-5.6-4.1-3.2-10.1-.2-13.1 2.5zm-168.5 7.8c-3.7.2-7 4.8-7.4 10.7-.5 6.2 2.4 11.5 6.3 11.8 3.9.3 7.4-4.5 7.9-10.7-.6-5.5-1.9-11.3-6.8-11.8zm277.4 14.6c-4.5 4.2-6.1 10-3.4 12.9 2.7 2.9 8.6 1.8 13.1-2.5s6-10 3.3-12.9c-4.1-3.4-10.1-.2-13 2.5zm-62 15.2c-4.5 4.3-6 10-3.3 12.9 2.7 2.9 8.6 1.8 13.1-2.5s6-10 3.3-12.9c-4.1-3.4-10.1-.2-13.1 2.5zm116.4 8.3c-4.5 4.3-6 10-3.3 12.9 2.7 2.9 8.6 1.8 13.1-2.5s6-10 3.3-12.9c-4.1-3.4-10.1-.2-13.1 2.5zm-90 23.6c-1.3 3.7 2.3 8.4 8.2 10.5 5.8 2.1 11.7.8 13-2.9 1.3-3.7-2.3-8.4-8.2-10.5-4.2-1.5-11.4-1.2-13 2.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sandwich;

impl IconShape for Sandwich {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M441.6 47.65c-5.8 0-12.1.65-18.9 1.92-20.9 3.87-46.1 13.56-73.2 27.53-5.7 2.93-11.5 6.04-17.3 9.33 11.4 3.5 22.9 7.26 32.7 11.65 8.8 3.82 16.4 8.12 21.9 14.42 5.5 6.4 7.7 16.7 3.5 25.3-2.8 5.7-7.4 7-11.4 8.1-4.1 1-8.6 1.5-13.7 1.7-10.3.5-23.3-.2-37.5-1.6-23.2-2.2-49.6-6.2-71.3-10.5-13.6 9.8-27.2 20.1-40.7 30.8 11.3 3.6 21.9 8.3 31.1 13.6 10.4 6 18.9 12.5 24.5 19.9 2.8 3.8 5 7.9 5.5 12.8.5 5-1.4 10.6-5.1 14.3-8.1 8.3-19.4 8.6-32.3 8.4-12.8-.1-27.7-2.1-42.5-4.7-16.5-3-32.3-6.6-44.7-9.8-16.3 14.9-31.6 29.9-45.8 44.5 9.6 3.7 20 8.5 29.3 13.6 8 4.4 15.1 8.9 20.4 14 2.7 2.5 5 5.1 6.6 8.7 1.6 3.6 2 9-.4 13.2v.1c-2.7 4.5-6.5 6.2-10.2 7.6-3.6 1.4-7.7 2.4-12.3 3.1-9.2 1.5-20.2 2.2-31.8 2.4-19.55.3-39.81-.9-53.58-3.1-3.33 4.4-6.47 8.6-9.37 12.8-14.01 20.1-22.6 37.6-24.54 48.7-.97 5.6-.34 9.1.81 11.2 1.14 2.1 2.91 3.7 7.74 5 9.18 2.3 24.81.5 44.11-6.3s42.23-18 67.03-32.5c49.6-29 106.6-70.7 159.1-114.6 52.5-43.9 100.5-90 132.2-127.6 15.8-18.8 27.6-35.45 33.6-47.93 3-6.25 4.5-11.42 4.8-14.71.2-2.78-.1-3.68-.7-4.36-6.5-4.27-14.9-6.64-25.1-6.92h-2.5zM311.1 98.83c-11.2 6.87-22.6 14.27-34.1 22.07 17.1 3 35.8 5.6 52.5 7.2 13.7 1.3 26.1 1.9 34.9 1.5 4.4-.2 7.9-.6 9.8-1.1.6-.2.5-.2.7-.3.5-1.5.1-1.9-1.7-3.9-2.3-2.7-8-6.4-15.6-9.8-12.6-5.6-30.1-10.7-46.5-15.67zm159.3 1.47c-6.8 10.1-15.3 21.2-25.2 32.9-10.8 12.8-23.3 26.4-37.1 40.6 9.1.4 19.1-.4 29.3-2.9 18.2-4.5 33.5-13.3 43.1-23 9.5-9.8 13-19.7 10.9-28.2-2-8.2-9.1-15.2-21-19.4zm-272.1 80.2c-7 5.8-13.9 11.6-20.7 17.5-3.1 2.7-6.2 5.4-9.3 8.2 9.8 2.3 20.8 4.7 31.8 6.7 14.2 2.5 28.4 4.3 39.6 4.4 11.1.2 18.8-2.7 19.2-3-.1-.4-.5-1.7-2-3.7-3-4.1-10-9.9-19.1-15-11.1-6.4-25.4-12-39.5-15.1zm193.6 9.4c-19.9 19.5-42 39.7-65.2 59.6 5.3.8 10.9 1.3 16.7 1.3 18.8 0 35.7-4.9 47.3-12.1 11.6-7.2 17.3-16 17.3-24.8 0-8.5-5.3-16.9-16.1-24zm87.6.7c-2.5 2.5-5.1 5.1-8 7.5-60.4 51.1-133.4 117.2-206.9 169.2-72.4 51.3-145.3 89.7-209.52 84.4 6.98 5.1 14.36 8.2 21.77 10.1 18.94 5 38.55 1.5 49.75-1.7 80.8-23.3 166.8-80.4 233.1-134.6 33.1-27.1 61.3-53.4 81.5-74.3 10.1-10.4 18.2-19.4 23.9-26.4 5.7-6.9 8.9-13.2 8.7-12.3 2.3-7.8 4.2-15.1 5.7-21.9zm-170.1 73.5c-22.9 19.2-46.6 37.9-70.3 55.4 5.4.7 11 1.1 16.8 1.1 20.2 0 38.4-4.7 50.8-11.7 12.4-7 18.3-15.4 18.3-23.2 0-7.2-5-14.9-15.6-21.6zM92.8 279.7c-9.06 9.8-17.47 19.3-25.14 28.6 11.51 1.1 26.35 1.8 40.14 1.7 11-.2 21.4-.9 29.1-2.1 3-.5 5.2-1.2 7-1.7-.1-.2 0-.1-.1-.2-3.3-3.2-9.5-7.4-16.8-11.4-10.7-5.9-23.9-11.5-34.2-14.9zm120.7 58.2c-22 15.4-43.6 29.4-64.2 41.4-6.3 3.7-12.4 7.1-18.5 10.4 8.1 1.8 17.1 2.8 26.4 2.8 20.2 0 38.4-4.7 50.8-11.7 12.4-7 18.3-15.4 18.3-23.2 0-6.5-4.2-13.5-12.8-19.7zm-109.9 65.4c-8.54 3.9-16.71 7.3-24.48 10-19.44 6.8-36.52 10.2-51.14 7.4 1 1 2.09 1.9 3.29 2.8 7.44 5.6 18.33 9.3 30.54 9.3s23.1-3.7 30.54-9.3c7.42-5.5 11.25-12.3 11.25-19.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SantaHat;

impl IconShape for SantaHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M69.74 20.72c-3.15 10.72 1.76 22.4 4.88 33.09-11.63-2.31-23.04-7.52-34.08-4.61-11.93 3.87 24.98 22.96 27.56 24.5-7.8 7.69-16.56 13.37-21.19 22.81 11.48 3.69 26.31.72 36.45-1.18 3.19 8.27 10.8 29.87 20.14 26.27 11.7-4.6 15.8-23.88 19.1-34.52 9.3-1.7 27.2.97 27.4-7.43.2-10.49-13.3-18.5-19.9-24.98 3.9-7.84 19.3-24.86 11.7-29.93-13.7-4.28-27.8 7.76-38.9 16.42-6.44-8.91-28.9-28.2-33.16-20.44zm89.56 75.13c-7.2 5.05-15.2 7.25-23.4 8.45-2.2 6.1-4.8 10.6-7.4 15.7 28.4 92.3 44.2 178 8.1 286.1 15.4.6 29.2 4.8 43.2 10.6 13.4-9.5 31.2-21.9 46-24.8 23.1-1.9 42.9 2.9 64.2 9.1 13.2-12.1 33.3-25.7 49.1-27.2 16.3.1 30.4 4.4 44.7 8.8 6.4-3.3 10.2-9.5 15-14.2-58.4-122.2-125.4-213.6-239.5-272.55zM417.6 377.6c-11 6.3-17.8 17.1-24 27-15.7-4.3-36.9-13.7-53-12.9-18.9 4.1-33.6 17.2-45.6 29.8-10.5-3.3-20.6-6.2-29-8.2-13.1-3-29.1-5.1-37-3.6-18.1 5.6-33.1 17.2-46.7 27.9-14.3-6.2-28.5-12.5-43.5-13.5-5.1-.2-8.7.7-10.2 1.7-8.6 5.9-19.7 20.9-24.2 34.8C101 471 101 484 110 488.8c14.5 2.3 27.8-6 38.9-13.1 11.2 5.5 30.9 17.7 43.1 17.4 17.3-4.6 32.9-13.7 47.1-22.2 9.3 8.7 26.7 22.5 39.3 21.7 17.9-5.2 29.1-21.5 37.7-35.6 17 5.8 53.5 14.1 67.5 3.9 9.8-7.6 2.9-19.9.2-28.5 12.7 4.7 26.8 9.2 37.9 10.8 19.1.6 37.8 2 19.6-18.3l-12.7-13.2c13.6-1.5 33-3.4 42.6-9.5 4.9-3 2-8.5-.4-11.1-2.7-2.9-7.8-6.1-14-8.5-13.2-3.8-26.3-7-39.2-5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sarcophagus;

impl IconShape for Sarcophagus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352.439 16c-13.706 0-27.648 4.42-37.556 14.329-14.902 14.901-46.253 44.313-49.274 79.17-5.46 3.315-9.656 5.903-13.948 9.3 1.678 5.632 3.362 11.99 5.059 19.002 9.216-5.835 17.617-13.17 26.212-17.48v-5.445c0-25.453 28.748-56.425 44.411-72.088 5.755-5.755 15.306-9.167 25.096-9.167 9.79 0 19.342 3.412 25.097 9.167 15.664 15.663 44.41 46.635 44.41 72.088v5.445c8.544 6.418 31.008 14.725 31.327 25.882 0 29.858-7.758 88.926-15.595 151.625-7.652 61.215-15.305 126.061-15.665 173.746-22.479 5.784-48.236 6.435-69.574 6.499-23.344-.391-68.57 1.299-69.604-8.33-5.46 2.258-11.332 4.516-17.434 6.73 1.22 6.768 7.17 10.262 12.594 12.137 24.122 6.556 51.81 7.042 74.444 7.084 26.263.188 63.506 2.71 81.83-10.745 2.361-1.764 5.298-5.163 5.298-9.813 0-46.011 7.77-112.511 15.597-175.12 7.826-62.61 15.73-121.018 15.73-153.813-3.675-18.088-17.12-28.442-31.625-36.704-3.021-34.857-34.37-64.269-49.272-79.17C380.09 20.42 366.144 16 352.44 16zM112.362 41.727l7.39 23.382 30.1-9.514c-11.566-7.066-24.638-14.923-37.49-13.868zM95.56 47.038c-12.856 7.763-17.49 20.987-22.71 32.897l30.102-9.514zm256.88 13.995c-2.667 0-5.285.426-7.803 1.223l35.952 20.142c-5.211-12.91-16.197-21.365-28.15-21.365zM168.38 68.218l-19.376 6.126c8.938 6.506 16.965 15.835 21.583 23.98l20.197-6.385c-5.016-8.596-13.24-16.622-22.404-23.721zm160.727 5.54c-4.918 6.642-7.996 15.462-7.996 25.454 0 2.356.181 4.64.507 6.853h61.64c.09-.609.168-1.223.234-1.843zm-205.212 9.82c-2.478-.079-4.9.252-7.233.99-7.468 2.36-13.278 8.658-16.53 18.283-3.252 9.625-3.512 22.258.526 35.03 4.037 12.773 11.51 22.963 19.703 28.97 8.194 6.007 16.567 7.821 24.035 5.46 7.467-2.36 13.28-8.66 16.531-18.284 3.252-9.625 3.51-22.256-.527-35.029-4.038-12.773-11.509-22.964-19.702-28.971-5.633-4.13-11.352-6.277-16.803-6.45zM84.32 94.791l-19.376 6.124c-3.419 11.076-5.536 22.37-4.7 32.287l20.195-6.385c-.46-11.578.273-22.475 3.881-32.026zm112.78 13.63l-19.62 6.203c4.795 15.788 4.672 31.636.142 45.042a54.25 54.25 0 0 1-4.745 10.348c10.363-4.754 34.617-15.45 35.73-25.187zm18.88 1.266l9.43 29.828c2.287 7.235-.577 14.536-4.78 19.912-1.217 1.557-2.581 3.04-4.053 4.478 6.337 23.68 4.684 48.605-1.245 68.52 18.99-.005 29.922 25.186 34.107 36.048l14.097-4.457c-11.004-59.96-21.062-115.988-29.78-143.566-3.803-5.86-11.54-8.72-17.776-10.763zm112.419 13.998c5.866 8.49 14.654 13.706 24.04 13.706 9.385 0 18.174-5.216 24.04-13.706zm-244.23 20.435l-19.617 6.2 11.506 36.406c10.671 6.133 31.671 2.456 43.717.072a54.252 54.252 0 0 1-9.831-5.738c-11.413-8.367-20.623-21.267-25.775-36.94zm296.2.946c-7.84 6.236-17.413 9.946-27.93 9.946-10.508 0-20.073-3.704-27.908-9.93-7.64 1.01-15.603 2.389-24.176 4.171l53.809 26.39 69.474-20.84c-.081-.43-.16-.865-.247-1.274-16.137-3.916-30.072-6.75-43.023-8.463zm-99.817 14.103c-1.249 9.685-1.344 22.962-.151 38.604l48.93-14.68zm-230.723 3.04c-4.06 5.287-10.291 12.253-8.362 19.023 8.721 27.578 32.692 79.208 58.15 134.599l132.973-42.033c-2.804-8.008-7.015-20.034-15.633-23.807l-76.992 24.339-3.24-1.683c-21.19-11.01-45.052-35.246-56.208-65.728-2.035-.33-4.01-.76-5.904-1.335-6.53-1.983-13.07-6.314-15.356-13.549zm375.446 10.5l-143.173 42.952c1.523 13.669 3.612 28.539 5.997 44.063l134.424-41.87c.768-6.696 1.418-13.144 1.899-19.235.757-9.608 1.03-18.333.853-25.91zm-224.215 2.718c-32.213 17.073-66.152 29.32-101.239 32 9.847 21.179 27.692 39.259 42.086 47.807l52.333-16.54c6.81-15.292 10.928-40.345 6.82-63.267zm219.03 61.645L290.87 277.319c2.35 14.567 4.865 29.51 7.36 44.505l115.175-40.83c2.382-14.72 4.865-30.724 6.683-43.921zm-153.328 44.405l-159.75 50.495a6141.77 6141.77 0 0 1 6.551 14.36l156.09-49.34a6136.956 6136.956 0 0 1-2.891-15.515zm143.38 19.37l-26.4 9.359 21.655 19.227a25654.83 25654.83 0 0 1 4.746-28.587zm-137.185 13.58l-37.767 11.94 40.257 127.347c8.896-3.99 17.86-7.17 25.875-12.998.459-.339.379-.327.694-.604-10.606-34.457-20.192-79.526-29.059-125.685zm91.818 2.501l-63.63 22.557c2.571 15.774 5.003 31.406 7.103 46.549l90.615-38.836zM218.39 331.677l-42.939 13.574 40.58 128.376c14.928-4.09 29.296-8.646 42.939-13.573zm-59.742 18.885L120.882 362.5c19.274 42.87 37.332 85.26 48.457 119.553.418.045.346.082.916.095 10.343-.335 19.264-2.117 28.648-4.235zm240.874 15.524l-77.007 33.004 32.512 25.742 39.097-19.549c1.514-12.638 3.356-25.78 5.398-39.197zm-86.69 47.815c4.931 18.596 4.823 18.121 7.482 28.289l17.313-8.658zm79.084 12.191l-59.996 29.996c6.13 1.524 13.32 2.406 20.52 2.406 10.769 0 21.578-1.937 28.728-5.115 11.92-4.327 9.946-17.216 10.748-27.287z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sasquatch;

impl IconShape for Sasquatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M295.4 23.11c-13-.12-31.5 7.46-46 16.61 5.7-1.09 11.7-2.58 17.7-3.99-20.7 15.94-15.9 37.95-35.7 52.53-32.2-2.67-50.5 8.75-72.1 23.44 11.3-2.4 24.8-5.2 32.5-.8-10 3.7-36.1 14.7-45.5 22.7 6.9-1 23.5-3.8 28.3-3.6-28.5 17.5-38.2 45.4-54.2 72-.7-3.9-4.8-15.9-7-20.6-5.3 19.8-4.4 39.5-15.08 57.1-11.37 14.4-29.01 21.7-56.59 17.4 4.98 14.4 5.24 28.8 60.07 22.3l93.7-83.8c-8.4 35-30.7 78.7-22 113.1-2.3 9.3-6.1 18.7-11.4 27.6 6.6-2.7 12.9-6.4 17.5-10.8 5.6 13 12.9 25.3 17.3 38.8-31.1 17.7-64.4 22.8-90.9 42.6 8.1-1.5 16.6-3.5 23.8-3.5-12.3 11.4-20.8 25.9-34.99 52.7l105.49 27.9s1.4-19.9-4.6-27.2c-9.3-11.5-42-18.2-42-18.2 12.5-16.8 30.6-21 55.1-31-.5 5.2-5.6 11.6-9 17.6 20.9-5.9 32.8-7.8 42-26l24.2-68.1c65.2 19.6 66.4 108.1 46.7 150l124.1 9s6.8-23.6-.5-30.8c-16-16-67.7-1-67.7-1l6.6-36.3c2.9 1 7.1 1.8 14 2.6-10.8-14.4-16.8-19.1-19.8-36.1 6.4 5.1 13.9 8.4 24.2 7.7-23.1-24.9-30-40-35.3-70.1l-58.4-84.1 9.5-37.3c23.9 14.9 40.7 31.3 63 41.4-7.1-9.7-9-10.9-8.6-17.9 19 6.8 38.4 24.3 58 18.2 23.8-7.5 30.2-4.3 48 13.2-.3-19.9 5.8-18.6-18.1-37.6-11.9-9.2-33.9-19.9-55.4-30.4-10.9-9.6-18.7-19.4-23-32.3.1 7.6-1.2 14.6 1.3 21.6-11.5-5.9-21.7-11.5-28.6-16.6-13.1-9.7-10.1-27.8-14.4-47.3 1.6-10.7 3-19.18 5.3-29.04 5.2 4.71 5.9 10.01 9.4 20.24 3.9-16.95-1.1-33.3-4.2-47.92 1.9-32.41-24.8-35.72-46.7-35.97zm2.9 24.12c14.3 5.84 21.5 8.24 33.3 9.13L320.3 113c-12.1-8-20.4-12.2-38.1-10.7 9.7-17.76 13.8-37.17 16.1-55.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SatelliteCommunication;

impl IconShape for SatelliteCommunication {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189.1 18l14.5 14.47 14.1-14.11-.4-.36zm54.3 0l-.3.31 21.3 21.26 17-16.99-4.6-4.58zm-73.8 6.01l-11.7 11.67 14.2 28.28 18.7-18.72zm60.8 7.06l-14.1 14.11 21.2 21.25 14.1-14.1zm-26.9 26.89l-18.7 18.73 28.3 14.16 11.7-11.66zM163.2 72.8L147 89l12.8 12.8L176 85.52zm-50.1 7.77L80.61 113.1l58.79 58.8h32.5v-32.6zm101.7 52.03c-1.4 19.6-11.8 39.7-27.2 55-15.3 15.4-35.4 25.8-55 27.2l3.5 17.8c24.1-2.3 46.8-14.8 64.3-32.2 17.4-17.5 29.9-40.2 32.2-64.3zm47.5 9.5c-6.4 63.8-56.4 113.7-120.2 120.2l3.5 17.7c70.6-8 126.4-63.8 134.4-134.4zM89.03 147l-16.22 16.2L85.54 176l16.26-16.3zM340 157.6c-7.4 37.9-28.2 78.8-58.7 112.3-32.2 35.5-74.9 62.6-123.6 70.6l3.5 17.7c53.1-8.9 99.1-38.4 133.5-76.1 32.5-35.9 55-79.2 63-121zm-304.21.3l-11.66 11.7 21.23 21.2 18.71-18.7zM434 176.4C422.9 231.5 393.8 285 353.7 329l16 9.2c40.7-45.7 70.5-100.7 82-158.3zm-357.2 8.4l-18.73 18.7 21.22 21.3 11.66-11.7zM18 189v28.2l.46.5 14.13-14.1zm27.3 27.3l-14.11 14.1 21.26 21.2 14.09-14.1zm-26.88 26.8l-.42.4v33.2l4.7 4.7 16.99-17zm418.38 95.4l-98.3 98.3c11.4 6.5 30.5 12.6 49.5 14.8 24.1 2.6 47.8-1.7 54.8-8.8 7.1-7 11.4-30.7 8.8-54.8-2.2-19-8.3-38.1-14.8-49.5zm-92.4 5.9l22.3 38.8 16.5-16.5zm-15.4 9.2c-44 40.2-97.5 69.3-152.6 80.4l3.5 17.7c57.6-11.5 112.6-41.3 158.3-82zM469.4 425c-1.8 12.1-6.1 22.8-13.8 30.6-7.8 7.7-18.5 12-30.6 13.8V487h62v-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SauropodHead;

impl IconShape for SauropodHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.2 49.24c-32.7 1.11-56.9 22.79-80.3 43.25C103 121.5 57.02 171.6 17.59 222.3V494H140.7c-14.2-28-29.8-57.7-23.6-93.3 7-40 41-83.3 127.8-137.9-18-10.6-33.6-26.3-35.5-42l18-1.6c1.1 11.5 10.4 20.3 23.9 26.6 13.2 6.2 29.8 8 40 9.2 46.1 5.4 125.3 21.4 154-39.3-36.9 7.6-101 13.5-189.7-8.8l4.4-17.4c110.3 27.6 179 10.5 204.6 2.6 6.7-4.7 11.1-9 13.5-12.7 3.2-5 3.5-8.3 2.3-12.5C444 124.1 371 106.8 324.7 99.44l-4-.63c-16.3-22.49-32.9-49.69-61.5-49.57zm.3 18.33c.9 0 1.9.1 2.8.16-1 1.77-1.5 3.75-1.5 5.77 0 6.78 5.5 12.27 12.3 12.25 2.9 0 5.8-1.04 8-2.95.1.82.2 1.64.2 2.46 0 9.75-9.8 17.64-21.8 17.64s-21.8-7.89-21.8-17.64c0-9.77 9.8-17.69 21.8-17.69zm156.4 72.83c20.7 5.8 29.6 18.1 36.3 28.3l-15 9.8c-6.7-10.2-9.8-16.1-26.1-20.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sausage;

impl IconShape for Sausage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415.5 20.2c-8.2 0-17 1.12-25.1 3.28 2.5 11.27 4.2 22.1 4.5 33.29 7 1.62 13.6 4.29 19.7 7.79 1.8 1.03 3.5 2.13 5.2 3.28 10.7-4.95 23-8.62 35.8-11.94 10.9-2.85 22-5.3 32.5-7.54-2.9-1.64-6-3.39-8.6-4.76-9.7-5.02-17.9-7.99-32.6-4.92l-12.3 2.58 2.3-18.36c-5.9-1.81-13.4-2.7-21.4-2.7zm-35.7 52.73c-5.5 0-11.2 1-17.1 3.14-15.5 5.72-32.8 20.21-48.9 49.23-5.8 10.4-11.2 20.3-16.4 29.6h.6c6.2-.1 11.9.7 17.3 2.5 10.9 3.6 19.7 10.6 28.5 19.3l-12.6 12.8c-8-7.9-14.6-12.7-21.5-15-6.2-2.1-13.2-2.4-23.1 0-27.5 50.1-46.4 84.5-64.9 110.1 14 11.9 33.2 16.8 57.8 16.3l.4 18c-26.9.5-51.1-5.1-69.2-20.1-20.8 25.1-43.4 40.8-77.5 56.4 11.7 11.2 30.4 19.7 54.6 25.6l-4.2 17.4c-29-7-53-17.7-67.9-35.3-.2.1-.3.1-.5.2-30.64 12.7-43.76 26.9-47.39 38.8-3.63 11.8.83 23.6 11.55 35 10.73 11.3 27.54 20.9 44.84 25.6 17.3 4.8 34.8 4.4 47.3-1.8 80.8-40.1 127.6-80.6 164.1-129.5 36.6-49 62.7-106.9 100.4-181.4 5.1-10 4.5-23.4-1.2-36.6-5.7-13.21-16.3-25.68-29.1-33.01-8-4.59-16.7-7.26-25.9-7.26zM68.25 451.2c-10.4 9.9-26.58 13.3-43.45 16.6-.29 0-.59.1-.88.1 8.39 1.8 16.27 3.8 22.47 6.2 9 3.5 15.21 10.7 20.57 17.7 3.54-9.7 7.82-18.6 14.79-29.4-4.89-3.4-9.43-7.1-13.5-11.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SausagesRibbon;

impl IconShape for SausagesRibbon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.6 39.43c-1.8 0-3.6 0-5.3.1-9.4.2-18.1.91-25.8 1.76-17.1 1.9-27.2 15.5-29 27.65-.8 6.08.5 11.25 3.3 14.66s7.3 6.03 16.6 5.73c41.1-1.43 75.1 3.02 113.5 19.97 8.7 3.8 13.5 3.1 16.3 1.5 2.8-1.5 5.1-4.9 6.1-10.5 1.8-11.34-3.6-29.27-16.5-39.27-21.9-17.03-52.4-21.58-79.2-21.6zM190.9 56.89c-3.3-.1-6.7.54-10.2 2.01-39.3 16.86-71.8 38.08-94.03 66.6-10.99 14.2-9.18 31.1-2.87 40.2 3.15 4.6 6.92 6.9 10.76 7.2 3.83.2 8.84-1.2 15.34-8.2 23.3-25.4 49.8-53.8 94.8-68.57 8.8-2.86 11.6-6.65 12.7-10.55 1.2-3.91.3-9.17-2.9-14.37-4.7-7.79-13.7-14.12-23.6-14.32zM425 117.7c-2.4 0-4.6.3-6.6.8-5.4 1.4-8.7 3.9-10.3 7.1-1.6 3.1-2.2 7.7 1.2 15.6h.1c14.6 33.7 29.8 62 34.4 100.5v.1c1 8.1 4 11.7 7.9 14 4 2.2 9.7 2.9 15.8 1.5 12.1-2.8 23-12.7 22-25.8-2.9-37.3-6.9-69.5-32.8-99.4-8-9.3-19.5-13.8-29.3-14.3-.8 0-1.6-.1-2.4-.1zM67.79 186.9c-11.92.1-25.33 5.9-30.2 16.9-16.13 36.4-15.75 71.6-13.42 108.4 1.02 16.2 12.91 24.4 24.72 25.3 5.91.5 11.41-1 15.35-4.2 3.94-3.2 6.88-8 7.23-16.8 1.44-36.6-6.24-70.4 13.3-109.6 3.8-7.6 2.87-10.8 1-13.5-1.88-2.7-6.54-5.4-12.99-6.2-1.21-.2-2.45-.3-3.72-.3zm383.01 89.3c-3.3.2-8.2 2.2-14.2 9.3h-.1c-11.4 13.5-19.8 28.1-30.6 42.1-10.7 14.1-24.2 27.4-44.9 36.6h-.1c-7.9 3.6-10.4 7.5-11.2 11.2-.8 3.7.3 8.3 3.5 12.7 6.4 8.9 19.5 15 32.2 8.6h.1v-.1c35.6-17.7 62.3-39.5 77.5-75 7-16.4 3.5-33-2.7-40.4-3.1-3.7-6.1-5.1-9.5-5zM39.49 354.1C35.1 363.6 29.48 374 22.45 384c18.89-6.7 14.92-9.5 57.03-8.8-9.3-6.8-14.49-13.7-17.7-21-4.68 1.3-9.57 1.7-14.37 1.3-2.65-.2-5.31-.7-7.92-1.4zm280.91 32.2c-2.4 0-5.6.6-9.7 2.2-40.6 15.4-80.5 33.1-126.7 30-9.4-.6-13.9 1.9-16.4 5.1-2.6 3.1-3.7 8-2.6 13.9 2.4 12 14 26.1 34.4 27.7 36 2.9 78.7-3.1 108.6-26.9 16.6-13.3 23.2-31.3 22.3-41.7-.5-5.1-2.2-7.7-4.6-9.1-1.2-.7-2.9-1.2-5.3-1.2zm-191 27.9c-21.2 23.8-16 37.5-5.3 58.4 9.6-6.6 19.5-12.1 28.9-16.8-2.7-4.7-4.6-9.7-5.6-14.7-.9-4.6-1.1-9.4-.3-14-5.9-2.9-11.7-7-17.7-12.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Save;

impl IconShape for Save {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 48c-8.726 0-16 7.274-16 16v384c0 8.726 7.274 16 16 16h215v-16H64V64h63.375v97.53c0 3.924 3.443 7.095 7.72 7.095h169.81c4.277 0 7.72-3.17 7.72-7.094V64h69.22c.428.318.8.548 1.467 1.094 2.05 1.675 4.962 4.264 8.375 7.406 6.827 6.283 15.65 14.837 24.313 23.5 8.663 8.663 17.217 17.486 23.5 24.313 3.142 3.413 5.73 6.324 7.406 8.374.546.668.776 1.04 1.094 1.47V330.25l16 16V128c0-2.68-.657-3.402-1.03-4.156-.375-.754-.725-1.294-1.095-1.844-.74-1.1-1.575-2.19-2.594-3.438-2.036-2.492-4.768-5.55-8.03-9.093-6.524-7.09-15.155-16-23.938-24.782-8.782-8.783-17.692-17.414-24.78-23.938-3.545-3.262-6.6-5.994-9.094-8.03-1.247-1.02-2.337-1.855-3.438-2.595-.55-.37-1.09-.72-1.844-1.094-.754-.373-1.477-1.03-4.156-1.03H64zm87.72 16h48.56c4.277 0 7.72 4.425 7.72 9.938v70.124c0 5.513-3.443 9.938-7.72 9.938h-48.56c-4.277 0-7.72-4.425-7.72-9.938V73.938c0-5.512 3.443-9.937 7.72-9.937zM114 212c-4.432 0-8 3.568-8 8v184c0 4.432 3.568 8 8 8h165v-28h-76.72l15.345-15.375 128-128L352 234.28l6.375 6.345L406 288.25V220c0-4.432-3.568-8-8-8H114zm238 47.75L245.75 366H297v128h110V366h51.25L352 259.75zM448 384v64h-23v16h23c8.726 0 16-7.274 16-16v-64h-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaveArrow;

impl IconShape for SaveArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224 30v256h-64l96 128 96-128h-64V30h-64zM32 434v48h448v-48H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SawedOffShotgun;

impl IconShape for SawedOffShotgun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M472.133 19.812L162.52 197.03l21.996 34.133L483.97 38.183l-11.837-18.37zm-71.897 93.748l-117.627 75.8 16.35 10.41c45.98-32.88 82.61-61.844 100.483-82.544l.793-3.666zm-134.283 86.535l-100.125 64.523 20.48 12.13c34.023-22.565 66.99-44.805 96.788-65.74l-17.143-10.913zm-118.826 6.277l-6.227 4.012c-6.594 19.98-1.4 36.31 7.81 43.852l20.677-13.323-22.26-34.54zm-23.71 42.045c-5.512 5.532-12.928 13.198-22.288 23.64-17.225 19.212-36.353 43.545-43.47 60.405-18.543 43.928-15.34 97.99-18 147.736 2.41 7.08 5.408 9.92 8.197 11.137 2.96 1.292 6.896 1.194 11.74-.824 9.393-3.91 19.696-15.595 22.262-25.282-.174-2.232-.92-12.117-1.237-25.643-.356-15.14-.246-33.002 2.63-46.297 5.15-23.82 13.395-49.19 30.268-69.05 10.193-11.993 27.132-22.48 41.92-30.848 4.68-2.65 8.665-4.724 12.415-6.65-19.88-12.29-36.656-17.7-44.437-38.323zm-57.75 37.793l-37.638 9.64L43.6 320.01c5.432-11.014 13.33-22.587 22.064-33.8zm125.86 8.82l-1.154.532s-6.765 3.116-16.096 8.043c-.25 10.99-5.59 19.736-12.617 25.5-5.492 4.505-12.02 6.843-17.803 6.695-4.355-.112-8.346-1.367-12.013-4.55-1.8 1.62-3.36 3.18-4.606 4.644-2.444 2.876-4.69 5.96-6.77 9.197 6.78 5.595 14.91 8.5 22.928 8.704 10.763.276 21.213-3.827 29.68-10.773 12.754-10.462 20.973-28.17 18.45-47.99z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Saxophone;

impl IconShape for Saxophone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.21 26.775c-18.385 2.518-37.75 18.106-48.784 28.028l15.607 18.527c17.103-12.17 32.453-18.857 36.975-5.98 43.955 125.186 102.805 440.16 214.205 416.636 90.158-25.674 42.966-127.593 56.11-188.435 2.508-10.346 8.965-23.229 21.237-22.842 11.477.362 6.472-5.97 2.8-7.682-35.743-19.406-80.315-25.59-117.909-38.12-11.833-3.945-8.18 4.162-5.371 10.28 4.217 9.188 2.88 41.07 5.293 54.526a32.625 32.625 0 0 1 15.105-3.707c18.12 0 33 14.881 33 33 0 6.41-1.87 12.412-5.08 17.496 10.623 5.506 17.947 16.611 17.947 29.318 0 18.12-14.88 33-33 33-1.186 0-2.358-.067-3.513-.191-.511 4.767-2.01 8.147-4.81 9.693-10.326 3.204-45.397-73.375-83.014-161.382-6.54 3.924-12.608 5.998-19.31 5.212 17.077 46.103 35.722 91.756 58.396 136.98l-16.09 8.067c-45.888-91.528-75.273-184.003-107.725-277.195l16.998-5.92c2.355 6.764 4.67 13.496 6.996 20.24a27.134 27.134 0 0 1 10.82-5.945c-14.584-34.816-28.005-66.631-38.576-90.332-5.286-7.657-17.624-13.574-28.306-13.272zM89.522 67.424C77.28 80.24 66.187 94.324 58.33 106.93l7.474 8.806c8.001-5.403 22.698-19.026 37.948-31.418zm135.737 79.97c-5.1 0-9.041 3.942-9.041 9.042s3.941 9.04 9.04 9.04c5.1 0 9.042-3.94 9.042-9.04s-3.942-9.041-9.041-9.041zm12.707 34.122c-5.1 0-9.041 3.941-9.041 9.04 0 5.1 3.941 9.042 9.04 9.042 5.1 0 9.04-3.942 9.04-9.041 0-5.1-3.94-9.041-9.04-9.041zm13.904 36.752c-5.1 0-9.041 3.94-9.041 9.039 0 5.1 3.941 9.04 9.04 9.04 5.1 0 9.042-3.94 9.042-9.04s-3.942-9.04-9.041-9.04zm94.61 87.738c-8.392 0-15 6.609-15 15 0 8.39 6.608 15 15 15 8.39 0 15-6.61 15-15 0-8.391-6.61-15-15-15zm12.866 46.814c-8.39 0-15 6.61-15 15 0 8.391 6.61 15 15 15 8.391 0 15-6.609 15-15 0-8.39-6.609-15-15-15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scabbard;

impl IconShape for Scabbard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M392.314 18l-1.804 3.047 34.314 19.746L438.318 18h-46.004zm-72.472 7.053l-90.764 6.107c-.025.044.034-.05-.033.05-.312.47-.87 1.754-1.17 3.688-.599 3.869-.124 10.028 1.447 15.846 1.572 5.818 4.26 11.373 6.721 14.406 1.23 1.517 2.357 2.341 2.857 2.586.215.105.234.126.239.137-.003-.006-.013-.012 0-.016l54.14-14.691 3.606-.978 43.193 24.84c-.077-.43-.164-.839-.238-1.274-2.015-11.823-4.154-25.87 3.172-37.377l-23.17-13.324zm68.451 15.486c-2.358.036-6.943.17-13.035 1.063-8.016 1.174-15.984 4.908-16.654 5.832-1.92 2.642-2.85 14.555-1.02 25.295 1.346 7.897 2.995 13.603 3.969 16.787l18.726 10.775c3.244-.772 8.968-2.229 16.42-5.045 10.166-3.842 19.951-10.654 21.256-13.63.466-1.065-.338-9.85-3.375-17.384-2.313-5.739-4.524-9.786-5.68-11.836L388.293 40.54zm45.352 49.959c-6.221 12.111-19.39 17.356-30.582 21.586-.422.16-.827.294-1.245.447l39.123 22.5 15.625 57.85c.005.02-.005.02-.015.017.01-.002.045.008.252.147.465.31 1.737.867 3.662 1.166 3.849.598 9.988.123 15.789-1.451 5.8-1.574 11.341-4.267 14.367-6.733 2.498-2.035 2.653-2.611 2.637-2.894l-40.559-81.676-19.054-10.959zm-101.272 2.865l-4.213 7.362 59.283 34.091 4.215-7.36-59.285-34.093zm-45.637 4.305a1159.065 1159.065 0 0 1-16.609 37.088c27.13 21.326 63.604 41.152 118.629 56.592 5.978-8.235 11.986-16.451 18.078-24.616L286.736 97.668zm-34.45 43.635c-5.711 13.017-11.546 25.71-17.487 38.258l80.84 45.515.687.596c4.966 4.304 7.488 10.682 7.317 16.373-.171 5.69-2.413 10.636-5.461 14.701-3.049 4.065-6.978 7.37-11.748 9.412-4.771 2.043-10.91 2.748-16.532.022l-.15-.073-77.25-41.074a3405.36 3405.36 0 0 1-17.451 34.026c44.635 22.453 85.583 37.753 135.49 33.507 34.188-25.158 50.136-49.097 63.738-83.257-67.262-17.572-110.72-41.82-141.994-68.006zm-185.587 6.224l-9.375 100.944 23.594 2.937 11.703-100.783-25.922-3.098zM25 156.34v77.685c5.198.69 10.393 1.354 15.588 2l7.117-76.636A1516.858 1516.858 0 0 1 25 156.339zm84.186 9.685l-8.885 76.512c27.023 2.547 54.002 4.547 80.945 6.086 13.284-25.617 25.926-50.51 38.012-76.035-36.49-1.213-73.158-3.274-110.072-6.563zm323.222 6.45c-2.538.056-5.074.117-7.613.171a2096.694 2096.694 0 0 0-17.43 23.577c.362.088.711.18 1.074.267l9.829 2.381-3.504 9.484c-5.916 16.016-12.369 30.428-20.405 43.8 30.904-.578 61.781-1.55 92.641-2.83v-41.11a74.053 74.053 0 0 1-6.033 1.916c-7.735 2.099-15.74 3.036-23.264 1.867-3.762-.584-7.48-1.703-10.892-3.98-3.412-2.278-6.427-6.015-7.623-10.444l-6.78-25.1zm-205.412 23.35c-2.13 4.377-4.277 8.747-6.437 13.107l77.209 41.05c-.021-.009.26.194 1.582-.373 1.33-.57 3.177-1.99 4.431-3.662s1.84-3.473 1.87-4.441c.023-.793-.085-1.153-.74-1.815l-77.915-43.867zm-34.863 83.937c-42.725 71.744-88.78 141.281-131.973 212.162 37.074 5.758 79.858 3.48 123.48-39.047 44.044-42.937 81.985-90.652 118.145-139.945-39.42-2.366-74.388-15.794-109.652-33.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SchoolBag;

impl IconShape for SchoolBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M143.6 25.42c-8.4.08-18.2.34-26.2 1.95-4.9.98-8.9 2.5-10.8 3.86-1.2.8-1.6 1.22-1.8 1.67l23.6 59.19c0-.04.1-.09.1-.13 5.1-7.32 11.6-13.41 20.6-13.41h21l-26.5-53.13zm224.8 0l-26.5 53.13h21c9.1 0 15.5 6.22 20.6 13.65l23.7-59.3c-.2-.45-.6-.87-1.8-1.67-1.9-1.36-5.9-2.88-10.8-3.86-8-1.61-17.8-1.85-26.2-1.95zM256 38.47c-31.2 0-62.5 16.36-62.5 49.08h18c0-41.42 89-41.42 89 0h18c0-32.72-31.3-49.08-62.5-49.08zM149.1 96.55s-2.3.61-5.8 5.75c-3.6 5-7.7 13.5-11.6 24.5-7.8 22-15.3 54.1-21.7 91.7-12.59 74.7-20.87 171.7-20.98 259.7 1.34.9 4.46 2.4 8.78 3.7 8.7 2.7 22.1 5.2 38.3 7.2 32.4 3.9 76.2 5.9 119.9 5.9s87.5-2 119.9-5.9c16.2-2 29.6-4.5 38.3-7.2 4.3-1.3 7.4-2.8 8.8-3.7-.1-85.1-8.4-182-21-257.5-6.4-38-13.9-70.6-21.7-93.1-4-11.2-8-19.9-11.6-25.2-3.6-5.23-6-5.85-5.8-5.85H149.1zM256 119c23.1 0 46.2 4.1 65.2 12.8 19.1 8.7 34.7 22.6 39.5 42l.1.1 31.3 136.3H119.9l31.3-136.3.1-.1c4.8-19.4 20.4-33.3 39.5-42 19-8.7 42.1-12.8 65.2-12.8zm0 18c-20.9 0-41.8 3.9-57.8 11.2-15.9 7.3-26.3 17.4-29.5 29.9l-26.2 114.1h227l-26.2-114.1c-3.2-12.5-13.6-22.6-29.5-29.9-16-7.3-36.9-11.2-57.8-11.2zm-64 46h128v18h-87v26.6h-18V201h-23v-18zm-69.8 153.8h18c0 34.9 4.6 60.5 12.4 76.2 7.9 15.6 17.3 21.7 32.1 21.7h142.6c14.8 0 24.2-6.1 32.1-21.7 7.8-15.7 12.4-41.3 12.4-76.2h18c0 36.4-4.4 64.3-14.4 84.2-10 20-27.3 31.7-48.1 31.7H184.7c-20.8 0-38.1-11.7-48.1-31.7-10-19.9-14.4-47.8-14.4-84.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SchoolOfFish;

impl IconShape for SchoolOfFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M465.3 25C442.9 33.05 427 39.94 427 39.94l-3 1.3-55-15.99c4.1 11 5.6 21.33 5.3 30.91C390.2 65.4 401 72.59 401 72.59l2 1.31 24.7-9.15 3 1.11s21.3 7.63 49.4 15.3c2.3-.34 4.6-.63 6.9-.9V25h-21.7zm-198.9 8.32c-.9 0-1.7.01-2.6.04-24 .53-57.6 8.98-85.8 18.19-32.2 10.53-57.8 21.64-57.8 21.64l-3 1.3L62.25 58.5c3.94 10.71 5.5 20.77 5.3 30.14 3.43-.28 6.8-.45 10.09-.5v.01c4.01-.06 7.91.07 11.66.4 17.4 1.56 37.3 8.9 56.3 17.75 9.9 3.1 22.4 6.8 36.2 10.4 32.1 8.4 71.1 15.5 94.6 12.4 2.7-.4 5.6-1 8.7-1.7-1.8-4.6-4.2-9.4-7.4-14.6l-12-19.8 61 17.8c7.6-3.8 15-7.8 22-11.76 12.6-7.21 23.1-13.81 30.8-18.78-7.9-4.9-18.7-11.37-32-18.47-24.4-13.14-54.8-26.45-74-28.16-2.3-.2-4.6-.31-7.1-.31zm33.9 20.56a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-80.7 2.85l2.6 17.82c-11.8 1.65-14.5 5.16-14.5 5.38-.1.11-.2.22.2 1.35.5 1.12 1.6 2.96 3.6 4.83 3.8 3.74 10.4 7.52 17 9.19s12.8 1.28 17.3-1.23l8.8 15.63c-9.7 5.5-20.8 5.5-30.5 3.1-9.8-2.5-18.7-7.4-25.2-13.82-3.3-3.2-6-6.8-7.7-11.09-1.7-4.29-2.2-9.58-.3-14.46 3.8-9.77 14.1-14.65 28.7-16.7zM487 98.61c-21.5 2.79-46.9 9.59-69 16.79-32.2 10.5-57.8 21.7-57.8 21.7l-3 1.2-54.9-15.9c5 13.8 6.2 26.5 4.6 38-1.1 8.6-3.5 16.4-6.4 23.8l60.4-22.4 3 1.1s25.7 9.3 57.9 17.6c20.9 5.5 44.6 10.4 65.2 12.3v-16.1c-7.6 2.1-15.6 1.7-22.9-.1-9.8-2.5-18.7-7.4-25.2-13.8-3.3-3.2-6-6.8-7.7-11.1-1.7-4.2-2.2-9.5-.3-14.4 3.8-9.8 14.1-14.7 28.7-16.7l2.6 17.8c-11.8 1.7-14.5 5.2-14.5 5.4-.1.1-.2.2.2 1.3.5 1.1 1.6 3 3.6 4.8 3.8 3.8 10.4 7.5 17 9.2 6.6 1.7 12.8 1.3 17.3-1.2l1.2 2.1V98.61zM78.02 106.2c-15.13.3-34.05 3.8-53.02 8.6v16.5c2.74-.7 5.69-1.3 8.85-1.7l2.5 17.8c-5.65.8-9.18 2.1-11.35 3.1v7.7c.21.3.43.5.66.7 3.83 3.8 10.41 7.5 17.01 9.2 6.6 1.7 12.85 1.3 17.3-1.2l8.86 15.6c-9.7 5.5-20.78 5.5-30.56 3.1-4.69-1.2-9.16-3-13.27-5.2v12.9l24.2 7.1c11.12 1.5 21.69 2.4 30.86 2.2 9.94-4 26.44-10.4 46.74-17 8.1-2.6 16.6-5.3 25.2-7.7 3.7-2 7.4-4 10.9-6 12.6-7.3 23.1-13.8 30.8-18.8-7.9-4.9-18.7-11.4-32-18.5-24.4-13.1-54.8-26.4-74-28.1-2.26-.2-4.64-.3-7.14-.3h-2.54zm36.48 20.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm103.7 57.8c-24 .5-57.6 9-85.8 18.2-32.2 10.5-57.81 21.7-57.81 21.7l-2.99 1.3L25 212v55.8l50.25-18.7 3.1 1.1s25.65 9.3 57.85 17.6c32.1 8.4 71.1 15.5 94.6 12.4 18.9-2.5 48.5-16.5 72.3-30 12.6-7.3 23.1-13.9 30.8-18.8-7.9-4.9-18.7-11.4-32-18.5-24.4-13.2-54.8-26.4-74-28.1-2.2-.2-4.6-.3-7.1-.3h-2.6zm36.5 20.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-80.7 2.9l2.6 17.8c-11.8 1.7-14.5 5.2-14.5 5.4-.1.1-.2.2.2 1.3.5 1.1 1.6 3 3.6 4.8 3.8 3.8 10.4 7.5 17 9.2 6.6 1.7 12.8 1.3 17.3-1.2l8.8 15.6c-9.7 5.5-20.7 5.5-30.5 3.1-9.8-2.5-18.7-7.4-25.2-13.8-3.3-3.2-6-6.8-7.7-11.1-1.7-4.2-2.2-9.5-.3-14.4 3.8-9.8 14.1-14.7 28.7-16.7zm252.5 23.9c5 13.8 6.2 26.6 4.6 38.1-1.1 8.6-3.5 16.4-6.4 23.8l60.4-22.4 1.9.7v-26.5c-1 .4-2.6 1.1-2.6 1.1l-3 1.3-54.9-16.1zM25 278.8v93.7c18.91-3.7 46.09-16.7 68.25-29.3 12.65-7.3 23.15-13.9 30.85-18.8-7.9-4.9-18.7-11.4-31.97-18.5-21.7-11.7-48.04-23.4-67.13-27.1zm321.9 8.9c-24 .5-57.6 9-85.8 18.2-32.2 10.5-57.8 21.7-57.8 21.7l-3 1.3-54.9-16.1c5 13.8 6.2 26.6 4.6 38.1-1.1 8.6-3.5 16.4-6.4 23.8l60.4-22.4 3 1.1s25.7 9.3 57.9 17.6c32.1 8.4 71.1 15.5 94.6 12.4 18.9-2.5 48.5-16.5 72.3-30 12.6-7.3 23.1-13.9 30.8-18.8-7.9-4.9-18.7-11.4-32-18.5-24.4-13.1-54.8-26.4-74-28.1-2.3-.2-4.6-.3-7.1-.3h-2.6zM44.9 298a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm338.5 10.2a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-80.7 2.9l2.6 17.8c-11.8 1.7-14.5 5.2-14.5 5.4-.1.1-.2.2.2 1.3.5 1.1 1.6 3 3.6 4.8 3.8 3.8 10.4 7.5 17 9.2 6.6 1.7 12.8 1.3 17.3-1.2l8.8 15.6c-9.7 5.5-20.7 5.5-30.5 3.1-9.8-2.5-18.7-7.4-25.2-13.8-3.3-3.2-6-6.8-7.7-11.1-1.7-4.2-2.2-9.5-.3-14.4 3.8-9.8 14.1-14.7 28.7-16.7zm121.7 83.1c-24 .5-57.6 9-85.8 18.2-32.2 10.5-57.8 21.7-57.8 21.7l-3 1.3-54.9-16.1c4.1 11.3 5.6 22 5.2 31.8 11.3 6.2 21.4 12.2 28.8 16.8l24.6-9.1 3 1.1s25.7 9.3 57.9 17.6c14 3.7 29.3 7.1 44 9.5h63.4c11.3-3.3 24.3-8.9 37.2-15.3V412c-19.2-8.9-39-16.3-52.9-17.5-2.3-.2-4.6-.3-7.1-.3h-2.6zm36.5 20.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-80.7 2.9l2.6 17.8c-11.8 1.7-14.5 5.2-14.5 5.4-.1.1-.2.2.2 1.3.5 1.1 1.6 3 3.6 4.8 3.8 3.8 10.4 7.5 17 9.2 6.6 1.7 12.8 1.3 17.3-1.2l8.8 15.6c-9.7 5.5-20.7 5.5-30.5 3.1-9.8-2.5-18.7-7.4-25.2-13.8-3.3-3.2-6-6.8-7.7-11.1-1.7-4.2-2.2-9.5-.3-14.4 3.8-9.8 14.1-14.7 28.7-16.7zM132.8 437c-24 .5-57.6 9-85.81 18.2-7.82 2.5-15.22 5.1-21.99 7.6V487h33.95c-.52-3.2-.34-6.6.92-9.9 3.79-9.8 14.16-14.7 28.78-16.7l2.5 17.8c-11.73 1.7-14.39 5.2-14.49 5.4-.04.1-.19.2.26 1.3.22.5.62 1.3 1.2 2.1H243.6c1.7-1.1 3.4-2.1 4.9-3.1-7.9-4.9-18.7-11.4-32-18.5-24.4-13.2-54.8-26.4-74-28.1-2.3-.2-4.6-.3-7.1-.3h-2.6zm36.5 20.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scooter;

impl IconShape for Scooter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M289.053 71.09v48c3.275-1.64 6.196-3.276 8.8-4.913 1.292 3.432 2.803 7.44 4.485 11.81 1.477 3.838 2.963 7.615 4.365 11.106.077-.028.134-.05.21-.076 5.91-2.124 11.554-4.132 16.76-5.97-1.42-3.52-2.98-7.487-4.536-11.527-3.76-9.768-7.19-19.033-7.25-19.193 4.254-9.746-3.342-19.492-22.834-29.238zm48.1 74.31c-.478.164-.704.234-1.21.41-6.24 2.166-14.595 5.144-22.94 8.144-12.248 4.404-18.836 6.817-24.478 8.875l3.116 7.415 23.872-1.36 2.888 3.956s2.826 3.867 5.8 7.813c.576.763 1.056 1.364 1.62 2.102l17.43-11.207c-.847-3.666-1.662-7.195-3.352-14.445-.987-4.236-1.906-8.147-2.746-11.704zm18.947 41.876l-21.477 13.217c10.812 18.74 17.32 44.9 19.55 70.266 1.29 14.664 1.04 28.976-1.314 41.45-2.354 12.474-6.606 23.566-15.56 30.59-11.608 9.103-26.544 10.157-39.794 9.012-13.25-1.146-25.115-4.668-32.416-7.838l-.404-.176-.385-.215c-13.903-7.73-21.992-19.64-23.84-32.703-1.476-10.424.446-21.186 3.972-32.35-17.137-6.45-32.922-11.605-47.455-15.633 9.577 15.4 13.588 30.462 12.388 44.577-1.278 15.037-8.492 28.213-19.394 38.742l19.655 30.812c11.346.78 70.357 4.55 99.31-.193 18.44-3.02 36.853-6.05 48.288-15.71 27.358-23.12 37.953-65.914 54.562-102.366-10.913-25.742-33.193-48.06-55.685-71.484zm-243.99 29.768c-14.488-.025-28.696 1.55-42.542 6.166l-.05.016-.05.017c.807-.26-.4.233-1.304 2.133-.903 1.9-1.474 4.718-1.268 7.09.207 2.372.967 4.117 2.362 5.433 1.13 1.066 2.948 2.15 6.412 2.59 12.274-4.322 26.653-6.956 43.39-7.294 34.893-.704 80.16 8.193 139.977 31.565l4.494 1.757c2.697-1.175 5.505-2.836 8.267-5.172.492-8.402-2.215-21.206-7.424-30.477-2.882-5.13-6.388-9.08-9.4-11.02-3.013-1.938-4.913-2.304-7.946-1.245l-.093.033-.094.03c-29.847 9.69-60.57 5.377-90.504 1.81-14.967-1.784-29.735-3.407-44.225-3.432zm350.247 20.898l-25.316 8.86 22.327 17.03c8.538-1.48 11.162-5.398 11.65-10.106.477-4.594-2.13-10.88-8.66-15.784zm-337.185 13.233c-1.96-.027-3.875-.02-5.75.017-31.49.636-51.13 9.713-64.41 21.873-22.254 20.378-26.62 49.78-29.565 69.498l141.213-.628-.113-.18c15.02-9.44 23.675-21.596 24.883-35.805 1.153-13.562-4.553-30.352-22.086-49.662-16.665-3.32-31.352-4.937-44.172-5.113zm304.154 12.373c-9.262 19.81-16.53 44.263-27.717 67.006 7.087-3.09 14.557-5.947 22.156-8.645 20.93-7.43 42.144-12.868 58.236-15.827-.866-1.83-2-3.91-3.832-6.28-4.864-6.297-12.513-13.565-21.004-19.988-8.49-6.423-17.872-12.06-26.008-15.53-.62-.264-1.23-.506-1.832-.737zm24.444 67.71c-7.872 2.233-16.023 4.788-23.983 7.614-21.857 7.76-42.454 18.317-51.5 26.928l-.48.52c-1.812 5.548-2.807 11.456-2.807 17.59 0 31.375 25.626 57 57 57s57-25.625 57-57c0-23.67-14.592-44.064-35.23-52.653zM432 344.91c6.054 0 11.772 1.36 16.87 3.79-2.832 4.102-5.784 8.515-9.147 11.455-2.438-.804-5.033-1.244-7.723-1.244-2.69 0-5.285.44-7.723 1.245-3.363-2.94-6.315-7.353-9.146-11.455 5.098-2.43 10.816-3.79 16.87-3.79zm-28.09 11.88c3.022 3.955 6.308 8.122 8.076 12.227-3.123 4.17-4.983 9.327-4.986 14.88-3.858 2.24-8.938 3.66-13.668 5.075-.212-1.657-.332-3.344-.332-5.06 0-10.576 4.15-20.12 10.91-27.122zm56.18 0c6.76 7.003 10.91 16.546 10.91 27.12 0 1.718-.12 3.405-.332 5.062-4.73-1.414-9.81-2.836-13.668-5.075-.003-5.553-1.863-10.71-4.986-14.88 1.768-4.105 5.054-8.272 8.076-12.227zm-282.75 3.098l-120.13.535c.602.766 1.243 1.506 1.938 2.213 4.273 4.342 10.76 8.062 22.282 10.26 28.497.083 57.83-1.004 83.244-3.672 6.005-.63 11.747-1.376 17.213-2.207l-4.547-7.13zm-140.78.627l-8.636.037c-3.16 7.066-4.924 14.88-4.924 23.094 0 31.373 25.626 57 57 57 29.4 0 53.754-22.504 56.7-51.153-18.35 1.05-37.503 1.48-56.282 1.41l-.795-.002-.783-.14c-9.573-1.745-17.434-4.687-23.778-8.595-.03.487-.062.973-.062 1.467-3.858 2.238-8.938 3.66-13.668 5.074-.212-1.656-.332-3.344-.332-5.06 0-4.284.69-8.394 1.95-12.24-2.703-3.464-4.755-7.154-6.39-10.89zM432 376.91c3.973 0 7 3.03 7 7 0 3.974-3.027 7-7 7s-7-3.026-7-7c0-3.97 3.027-7 7-7zM59.568 397.957c3.14 4.448 7.68 7.85 12.96 9.53.894 4.375.662 9.634.548 14.542-12.025-2.128-22.088-9.702-27.58-20.12 4.663-1.636 9.62-3.478 14.072-3.952zm40.864 0c4.453.474 9.41 2.316 14.072 3.953-5.492 10.416-15.555 17.99-27.58 20.118-.114-4.908-.346-10.167.55-14.543 5.277-1.678 9.82-5.08 12.958-9.53zm311.136.266c3.14 4.448 7.68 7.85 12.96 9.53.894 4.375.662 9.633.548 14.542-12.025-2.13-22.088-9.702-27.58-20.12 4.663-1.636 9.62-3.478 14.072-3.952zm40.864 0c4.453.474 9.41 2.316 14.072 3.953-5.492 10.417-15.555 17.99-27.58 20.12-.114-4.91-.346-10.168.55-14.544 5.277-1.677 9.82-5.08 12.958-9.528z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scorpio;

impl IconShape for Scorpio {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.366 466.713c-13.312 0-25.02-1.402-35.324-3.99-14.15-5.02-26.633-10.96-41.876-31.902-1.445-1.97-2.812-4.034-4.086-6.137l-.86-1.436c-14.137-24.323-17.38-56.392-19.015-86.38l-.215-7.95V98.292c0-7.428-.946-15.08-4.172-21.978-2.494-4.202-5.793-4.516-8.357-3.24-3.298 1.644-7.4 6.822-8.06 17.2.947 72.702-1.59 176.022-2.636 246.594H169.86V98.296c0-7.428-.938-15.08-4.168-21.978-2.585-4.35-6.043-4.595-8.805-3-3.535 2.048-7.703 8.117-7.703 19.808.61 79.303-1.5 164.812-2.684 243.74H68.6V98.3c0-21.373-8.852-39.73-36.375-39.837l-8.42-.033C41.222 38.587 58.55 30.06 86.564 30.06c18.047 0 34.916 7.15 46.576 19.317l1.894-1.712 2.215-1.905c16.768-12.93 35.994-15.695 50.566-15.695 18.022 0 34.86 7.127 46.52 19.256l1.824-1.65 2.215-1.906c16.783-12.93 35.996-15.694 50.58-15.694 33.037 0 61.923 23.91 62.555 58.412.163 8.843.25 19.037.267 30.172 0 62.654-2.787 237.685-.714 250.206l1.002 5.544c.52 2.576 1.07 5.028 1.673 7.38 9.78 37.704 23.914 46.357 49.574 45.798 11.458-1.032 21.664-5.28 29.604-9.802l-16.503-29.712 72.843 2.37-29.02 77.574c-.22-.87-6.215-11.94-13.716-25.587-6.774 8.882-25.53 24.288-74.154 24.288z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScoutShip;

impl IconShape for ScoutShip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.2 28.18C137.2 69.46 103.8 127.8 83.44 189c-20.38 61.1-28.39 125.3-44.11 180.3l17.3 5c16.28-57 24.27-120.8 43.87-179.7 19.7-58.8 50.3-112.44 112.3-151.15zm105.6 0l-9.6 15.27c62 38.71 92.6 92.35 112.3 151.15 19.6 58.9 27.6 122.7 43.8 179.7l17.4-5c-15.8-55-23.8-119.2-44.2-180.3-20.3-61.2-53.7-119.54-119.7-160.82zM189 81.28c-19.3 16.09-39.5 43.92-54.9 76.42-14.5 30.6-24.8 65.3-28 98 19.6-13.4 38.3-15.9 54.7-10.4 11.9 4 22.3 11.1 32 19.5-5.7-20.8-11.1-40.8-15.5-58.6-6.1-24.5-10.3-44.4-10.3-58.4v-3.7l2.6-2.7c8.6-8.6 21.9-22.5 38.3-33.6-7-7.7-13.2-16.32-18.9-26.52zm134 0c-5.7 10.19-11.9 18.82-18.9 26.52 16.4 11.1 29.7 25 38.3 33.6l2.6 2.7v3.7c0 14-4.2 33.9-10.3 58.4-4.4 17.8-9.8 37.8-15.5 58.6 9.7-8.4 20.1-15.5 32-19.5 16.4-5.5 35.1-3 54.7 10.4-3.2-32.7-13.5-67.4-28-98-15.4-32.5-35.6-60.33-54.9-76.42zm-67 27.52c-24.7 0-54.1 26.2-70.7 42.6.6 10.8 4.1 28.8 9.4 50.5 6 24 14 52.5 22 81.5 14.7 53.5 29.6 107.8 31.8 143.4h15c2.2-35.6 17.1-89.9 31.8-143.4 8-29 16-57.5 22-81.5 5.3-21.7 8.8-39.7 9.4-50.5-16.6-16.4-46-42.6-70.7-42.6zm0 23c32 0 48 32 48 32l-16 32c-32-16-32-16-64 0l-16-32s16-32 48-32zm-9 96h18v80h-18zm-104.7 32.3c-2.4.1-4.8.3-7.3.9v30.8h18v-30.2c-3.5-.9-7-1.5-10.7-1.5zm227.4 0c-3.7 0-7.2.6-10.7 1.5v30.2h18V261c-2.5-.6-4.9-.8-7.3-.9zM247 444.8v39h18v-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Screw;

impl IconShape for Screw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M315.7 23.86c-.6.01-1.3.02-1.9.04v.01c-10.1.35-17.3 3.1-21.6 7.41-2 1.99-3.1 5.56-1.4 13.22 1.6 7.65 6.2 18.08 13.1 29.63 13.9 23.1 36.8 50.93 62.2 76.23 25.3 25.3 53.1 48.3 76.2 62.1 11.5 7 22 11.6 29.6 13.2 7.7 1.7 11.2.6 13.2-1.4 4.3-4.3 7.1-11.5 7.4-21.6.4-10.2-1.8-23-6.3-36.7-3.4-10.1-8-20.7-13.8-31.2-8.2-7.6-16.9-14.5-26.1-20.6 3.5 22.7.3 45.6-6.2 65.1-1.3-26.8-8.9-54.9-21.7-81.24-26.3-12.83-54.5-20.37-81.2-21.68 19.5-6.5 42.3-9.71 65.1-6.31-6.2-9.11-13-17.8-20.5-25.93-10.6-5.8-21.3-10.49-31.4-13.87-12.8-4.28-24.8-6.44-34.7-6.41zm-10.1 84.84c-11.2 11.7-23.4 24.5-36 38.1 15.3 10.4 37.9 23.1 61.7 33.9 23.2 10.6 48.2 19.5 68.9 24.3-15.7-12.3-31.7-26.7-46.9-41.9-17.6-17.7-34.1-36.4-47.7-54.4zm-48.5 51.6c-6.1 6.7-12.4 13.5-18.6 20.4-1.8 2-3.7 4-5.5 6 15.2 10.1 36.9 22.2 59.7 32.6 27 12.3 56.1 22.4 78.4 26.3 5.6-5.2 11-10.3 16.3-15.3 2.7-2.5 5.5-5.1 8.1-7.6-22.6-5.2-47.7-14.8-71.7-25.6-25.9-11.8-49.8-24.9-66.7-36.8zm-36.5 40.1c-7.8 8.7-15.7 17.6-23.6 26.6 15.1 9.8 35.7 21.1 57.2 30.9 25.8 11.7 53.6 21.5 75.5 25.8 8.5-7.8 16.9-15.4 25.1-22.9-22.1-5.3-46.4-14.6-69.5-25.1-24.8-11.4-47.9-23.8-64.7-35.3zm-35.7 40.5c-7.7 8.9-15.4 17.9-23 26.8 14.7 9.3 33.8 19.6 53.7 28.7 24.3 11.1 50.4 20.5 71.7 25.1 8.7-7.7 17.3-15.3 25.8-22.9-21.2-5.4-44.3-14.3-66.4-24.3-23.5-10.7-45.3-22.4-61.8-33.4zm-34.8 40.9C142.5 291 135 300 127.7 309c14 8.5 31.3 17.8 49.3 26 22.5 10.2 46.5 19 66.8 23.9 8.9-7.5 17.8-15.1 26.6-22.8-20-5.5-41.6-13.9-62.2-23.3-21.8-9.9-42.1-20.7-58.1-31zm-33.9 41.6c-7.4 9.4-14.6 18.6-21.39 27.6 12.89 7.6 27.99 15.5 43.69 22.6 20.2 9.2 41.5 17.1 60.4 22.2 9.1-7.3 18.4-14.9 27.8-22.6-18.6-5.5-38.2-13.2-57.1-21.8-19.7-9-38.2-18.7-53.4-28zm-32.34 42.3c-7.16 9.8-13.84 19.2-19.95 28.3 11.07 6.2 23.36 12.4 36.01 18.2C117.1 420 135.2 427 151.8 432c9.6-7 19.5-14.5 29.5-22.3-16.5-5.3-33.6-12.2-50.2-19.7-17.1-7.8-33.32-16.1-47.24-24.3zm-29.98 43.5c-6.72 10.6-12.45 20.5-17.03 29.5 7.84 4.1 16.09 8.2 24.5 12 13.06 6 26.65 11.4 39.75 15.9 10.1-6.2 21-13.4 32.4-21.4-13.6-4.8-27.5-10.5-41.03-16.6-13.67-6.2-26.77-12.8-38.59-19.4zm-24.49 46.1c-5.85 15.3-6.59 26.7-.68 32.6 8.16 8.2 26.69 3.6 51.78-9.5-8.91-3.5-17.83-7.3-26.59-11.3-8.45-3.8-16.66-7.8-24.51-11.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScrollQuill;

impl IconShape for ScrollQuill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M311.9 47.95c-17.6 0-34.6.7-50.7 2.43L244.6 93.5l-4.9-40.04c-2.5.46-5 .94-7.5 1.47-9.1 1.94-15.1 7.22-20.3 14.87-5.2 7.65-8.9 17.5-12.1 26.6C191 121.5 184 148 178.4 175c6 5.1 12 10.3 17.9 15.4l30.7-17.6 33.8 26.1 51.9-19.7 61 24.5-6.8 16.7-54.4-21.8-54.7 20.7-32.2-24.9-14.9 8.5c19.6 17.3 38.6 34.4 56.5 51.2l14-6.4 33.9 16.1 31.2-13.1 24.2 23.3-12.4 13-15.8-15.1-27.6 11.7-33-15.8c6.9 6.7 13.6 13.2 20.1 19.7l1.7 1.8 19.5 76.3-7.8-5.7-53 .4-38.1-17.8-42.4 14.6-5.8-17 49.2-17 41.1 19.2 24.7-.2-70.7-51.7c-19.7 4.6-39.4 2.8-58.1-3.7-4.2 44.4-5.9 85.7-7 118.7-.4 10.7 2.7 23 7.5 32.5 4.9 9.5 11.7 15.4 15 16.1 5.2 1.2 19 3.2 37.7 5.1l12.4-39 19.1 41.7c16.7 1.2 35 2 53.5 2.2 28.2.3 57.1-.9 82-4.7 15.8-2.3 29.6-6 40.7-10.4-11.8-5.1-21.6-10.6-29.1-16.6-11.1-8.9-18.2-19.3-17.3-30.9v.2c5.4-96.4 10.8-188.8 30.3-286l.1-.4.1-.4c5.3-17.9 17.9-39.86 36.1-55.83-13.9-2.06-28.6-4-43.7-5.66l-22.3 25.3-2.2-27.7c-19-1.64-38.4-2.71-57.4-2.92h-5.7zm148.5 20.44c-4.7 3.69-9.2 8.03-13.3 12.73 12.1 8.18 21.4 23.38 21.8 36.98.3 7.8-1.9 14.9-7.7 21.4-5.8 6.4-15.6 12.4-31.6 15.8l3.8 17.6c18.6-4 32.3-11.5 41.2-21.4 9-9.9 12.7-22.2 12.3-34-.6-19.3-11.1-37.59-26.5-49.11zM25.44 71.91c-.24 1.61-.38 3.43-.38 5.62.1 7.69 2.03 18.17 5.83 30.17 3.41 10.7 8.27 22.5 14.35 34.8 10.63-5.3 20.59-11 28.41-18.1-4.42 12.5-10.15 24.7-18.6 36.5 4.14 7.2 8.63 14.4 13.45 21.5 10.64-5.3 20.72-13 29.52-26.1-3.3 16-8.47 30.6-18.27 41.8 6.53 8.5 13.5 16.8 20.75 24.5 8.7-9.3 15.6-21 20.7-34.9 3.8 18.5 2.6 35.3-5.7 49.4 8 7.2 16.3 13.7 24.8 19.1 6.1-14 8.9-30.6 8.5-49.7 9.2 23.7 11.3 42.9 9.6 59.5 20.2 9.2 40.8 12 61.3 6.1l4.2-1.3 69.3 50.6-5.9-22.8c-73-72.8-175.4-156.7-261.86-226.69zM312.8 123.9l33.2 13.8 31.3-9.9 5.4 17.2-37.5 11.9-33.6-14-28.8 8.1-4.8-17.4zm107.3 236.2c-.7 0-1.3.1-2 .1-3.5.1-7.2.5-11.1 1.3l3.4 17.6c12.2-2.3 20-.4 24.5 2.5 4.4 2.9 6.3 6.8 6.4 12.5.1 9.3-7 23-23.3 32.5 5.4 2.9 11.9 5.9 19.3 8.7 14.4-11.6 22.1-26.8 22-41.4-.1-10.7-5.2-21.2-14.6-27.4-6.7-4.3-15-6.5-24.6-6.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScubaMask;

impl IconShape for ScubaMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M467.2 27.34l-18 .64s.8 21.35.5 54.68h17.9c.4-33.74-.4-55.32-.4-55.32zm-265 49.37c-42.8 0-85.6 7.73-124.36 23.15-5.54 2.64-12.24 10.64-17.68 23.34-5.46 12.7-9.75 29.5-12.45 48-5.29 36.1-4.38 78.5 2.83 108.7.12-.3 3.94 3.1 12.03 5.7 8.61 2.8 20.86 5.2 35.3 7.2 14.03 1.9 30.03 3.3 47.13 4.3 2-7.5 4.3-15.4 6.6-23.3-12.6-.6-24.5-1.4-35.1-2.5-12.1-1.2-22.44-2.7-30.61-4.6-4.08-1-7.6-2.1-10.74-3.4-3.14-1.4-6.23-2.9-8.7-7l-.58-.9-.32-1.1c-6.65-21.9-4.54-52.1 1.98-79.3 3.27-13.6 7.71-26.3 13.32-36.8 5.62-10.5 12.2-19.1 22.15-22.9l.1-.1h.2c29.9-9.9 64.4-14.8 98.9-14.8s69 4.9 98.8 14.8l.3.1.3.1c9.5 3.9 15.4 12.4 20.8 22.8 5.5 10.4 10 23.1 13.4 36.6 6.9 27.2 9.7 57.4 3 79.5l-.3 1.1-.6.9c-2.5 4.1-5.5 5.6-8.7 7-3.1 1.3-6.7 2.4-10.7 3.4-8.2 1.9-18.6 3.4-30.6 4.6-11.2 1.1-23.8 2-37.2 2.6 2.5 7.8 5 15.6 7.4 23l.1.3c17.5-1 34-2.5 48.3-4.4 14.4-2 26.7-4.4 35.3-7.2 8.1-2.5 11.9-6 12-5.7 7.2-30.1 7.2-72.5 1.5-108.8-2.9-18.5-7.3-35.4-12.7-48.2-5.2-12.6-11.8-20.7-16.3-23.04-38.7-15.44-81.4-23.15-124.1-23.15zm247.2 23.99c-.8 41.4-3.3 95.7-10.1 149.9-7 55.5-18.5 110.9-36.6 151.4-9 20.3-19.7 36.8-31.7 47.8-12.1 11.1-25.1 16.9-40.8 16.9-46 0-75.7-15.1-94.4-30-9.1-7.3-15.4-14.4-19.5-19.7 3.1-1.6 5.9-3.6 8.6-5.8 6.4-5.2 12.1-11.7 16.9-18 9.7-12.7 16.4-25.3 16.4-25.3l-16-8.4s-6 11.4-14.7 22.7c-4.3 5.7-9.2 11.2-13.9 15-4.7 3.8-8.9 5.5-11.4 5.5s-6.7-1.7-11.4-5.5-9.6-9.3-13.9-15c-8.7-11.3-14.7-22.7-14.7-22.7l-16 8.4s6.7 12.6 16.4 25.3c4.8 6.3 10.5 12.8 16.9 18 5 4.1 10.7 7.6 17.2 8.9 4.1 6.4 13 18.7 27.9 30.6 21.3 17.1 55.6 34 105.6 34 20.3 0 38.3-8.2 52.9-21.6 14.7-13.5 26.4-32 36.1-53.7 19.4-43.5 30.9-100.1 37.9-156.6 6.9-55.2 9.4-110.2 10.3-152.1zm-247.2 17.9c-32.7 0-65.4 4.5-92.9 13.6-2.9 1.1-8 6-12.58 14.5s-8.7 20.1-11.68 32.5c-5.7 23.8-6.94 51.1-2.84 67.5.12 0 .1 0 .23.1 1.53.7 4.2 1.5 7.61 2.3 6.81 1.7 16.66 3.1 28.26 4.3 11.4 1.1 24.6 2 38.6 2.6 3.6-11.7 7.4-23.2 11.3-33.5 4.2-11.3 8.6-21.2 13.4-28.8 2.4-3.8 4.8-7.1 7.9-9.9 3.1-2.7 7.1-5.1 12.1-5.1s9.1 2.5 12.1 5.2c3 2.8 5.4 6.1 7.6 10 4.6 7.6 8.7 17.5 12.8 28.7 3.7 10.3 7.4 21.8 11.1 33.5 14.9-.6 28.9-1.5 40.9-2.7 11.6-1.2 21.4-2.6 28.2-4.3 3.4-.8 6.1-1.6 7.6-2.3.2-.1.1-.1.2-.1 4-16.3 2.3-43.6-3.7-67.4-3.2-12.5-7.4-24.1-11.9-32.7-4.4-8.5-9.6-13.6-11.6-14.5-27.4-9-60.1-13.5-92.7-13.5zm-.7 78.6v.1c-1.1.9-2.8 3-4.6 5.9-3.7 5.9-7.8 15-11.9 25.7-7.4 19.6-14.7 44.5-20.9 67l37.5 25L239 296c-7.4-22.7-14.7-47.6-21.9-67.2-3.9-10.8-7.8-19.9-11.2-25.8-1.7-2.8-3.4-4.9-4.4-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScubaTanks;

impl IconShape for ScubaTanks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245 29v26h22V29h-22zM105 62.563v30.874l14-7V69.564l-14-7zm302 0l-14 7v16.874l14 7V62.564zM137 69v18h90V69h-90zm148 0v18h90V69h-90zm-40 4v14h22V73h-22zm114 26.416v20.176c14.247 8.412 24.376 19.263 32.05 31.947 13.556 22.404 19.038 51.316 21.991 82.326 2.953 31.01 3.422 63.895 8.324 94.211 2.322 14.36 5.68 28.27 10.928 41.06 4.237-4.39 9.665-7.622 15.746-9.15-4.048-10.489-6.864-22.163-8.904-34.783-4.598-28.43-5.13-61.05-8.176-93.045-3.047-31.994-8.565-63.586-24.51-89.937-10.598-17.516-26-32.356-47.449-42.805zM128.922 105c-6.642 5.152-12.31 11.225-17.026 18-15.783 22.68-21.907 51.968-25.406 80.758-3.499 28.79-4.261 57.394-7.527 77.955-1.633 10.28-4.005 18.474-6.746 23.185-2.741 4.712-4.482 5.932-8.604 6.11-5.089.219-8.12-.96-10.912-3.225-2.792-2.266-5.358-6.06-7.369-11.437-4.021-10.754-5.363-27.23-4.809-43.99.772-23.314 4.797-46.823 7.2-59.143 3.026-.782 5.619-2.307 7.789-3.879 3.577-2.59 6.449-5.698 8.924-8.719 4.949-6.041 8.32-12.072 8.32-12.072l-15.674-8.85s-2.819 4.933-6.572 9.514c-1.877 2.29-3.984 4.411-5.555 5.549-.605.438-.917.555-1.203.681-.235-.193-.486-.373-.938-.937-1.192-1.491-2.645-4.064-3.832-6.742-2.373-5.356-3.763-10.803-3.763-10.803l-17.463 4.361s1.632 6.654 4.77 13.735c1.568 3.54 3.493 7.268 6.234 10.693a32.14 32.14 0 0 0 1.69 1.934c-2.456 12.196-7.052 37.955-7.917 64.082-.594 17.958.391 36.053 5.94 50.89 2.774 7.419 6.803 14.173 12.886 19.11 6.084 4.936 14.21 7.612 23.028 7.232 10.16-.437 18.631-6.864 23.388-15.04 4.757-8.178 7.17-18.114 8.965-29.415 3.59-22.601 4.258-50.96 7.617-78.607 3.36-27.648 9.525-54.272 22.315-72.649 6.733-9.674 15.051-17.384 26.328-22.318V105h-24.078zM171 105v30.818c4.292-.54 8.646-.818 13-.818 4.354 0 8.708.278 13 .818V105h-26zm144 0v30.818c4.292-.54 8.646-.818 13-.818 4.354 0 8.708.278 13 .818V105h-26zm-131 48c-27.5 0-55 13-55 39v23h110v-23c0-26-27.5-39-55-39zm144 0c-27.5 0-55 13-55 39v23h110v-23c0-26-27.5-39-55-39zm-199 80v30h254v-30H129zm0 48v62h110v-62H129zm144 0v62h110v-62H273zm-144 80v30h254v-30H129zm327 16c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm-327 32v78h110v-78H129zm144 0v78h110v-78H273z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaCliff;

impl IconShape for SeaCliff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494.2 76.94L316.5 91.73l1.4 17.97 177.7-14.82-1.4-17.94zm.8 36.86L324.2 128l11.3 34 43.5 7.5-37.6 10.1 27.5 82.6.2 3 38 31.1 57.1 16.5-69 .2-24.3-20.7 4.4 66.6 30.2 19.5-28.7 3.1 7.6 113.5H495V237.2l-44.2 13.2-45-8.4 38.4-7.5 50.8-25.2v-95.5zM245.4 255.2c-2.9 0-5.5.8-7.5 2.5-6.4 5.4 1.8 19.1 8.9 23.6 7.7 4.7 25 6.1 26.9-2.7 2.4-11-15.8-23.8-28.3-23.4zm34.8 18.4c14.2 23.5 33.4 45.7 39 71.3-20.6-14.3-53.4-15.5-85.4-17.6 23.7 20.6 50.2 35.6 78.5 47.1-20.3-5.3-39.7-11.9-64.5-11.5 14.6 23.4 35.8 47.1 64.3 62.1-1.9 1.4-3.8 2.9-5.6 4.3-10 7.8-18.4 13.7-26.5 13.7-7.9 0-16.4-6-26.4-14S232 411 216 411s-27.6 10-37.6 18-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14-10.1-8-21.7-18-37.6-18-15.95 0-32.12 9-45.66 17.3C28.8 436.7 18.39 445 18.39 445l11.22 14s9.66-7.7 22.16-15.3C64.26 436 80.1 429 88 429c7.87 0 16.3 6 26.4 14 10 8 21.6 18 37.6 18s27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18c15.8 0 27.5-9.6 37.6-17.5 10.1-8 18.7-14.2 26.8-14.5 4.5-.2 10.9 1 17.8 3.1l-7.9-117.9c-18.4-14.9-45.8-27.9-74.1-40.6zm-70 41.7c-4.5 0-8.7 1.7-10.1 5.3-1.9 5.2 5.4 11.1 10.1 11.7 5 .8 13.9-3.4 12.7-9.3-1-5-7-7.8-12.7-7.7zM192 338.2c-6.3-.1-13.8 3.9-13.5 9.3.3 4.9 8.8 7 13.1 5.8 4.6-1.1 10.7-7.7 7.4-12.1-1.5-2-4.2-2.9-7-3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaStar;

impl IconShape for SeaStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.7 54.14c-4.3 37.07-1 72.66-4 108.46-1.3 13.4-3.8 32-13.7 39.6-13.1 7.7-29.4 6.3-42.7 5.6-39.6-1.8-75.56-10.6-114.48-10-18-.5-22.91 5.7-7.3 17.4 34.41 26.1 81.58 43 111.18 68.2 5.2 4.5 9.4 8.9 11.4 15.1 2.3 6.9.8 13.2-1.4 20.2-2.2 7.1-5.6 14.8-9.8 23.3-18.4 38.2-41.9 69.6-58.07 108-2.22 6.6-5.48 13-5.34 20 0-.2 1.75.4 6.14-.7 50.47-20.4 92.47-52.1 136.87-78.4 13.9-7 28.8-18.4 43.5-18.6 14.5 1.4 26.1 11.8 35.6 20.2 27.4 23.8 47.4 50.9 75.7 72.7 5.2 4 9.8 6.6 12.8 7.6 2.9 1.1 3 .6 2.9.7.1-.1.9-.7 1.1-4.2.3-3.5-.2-9-1.6-15.5-8.8-34.9-23.3-66-33.9-99-4.9-15.8-9-28.4-5.2-40.3 3.7-11.2 13.4-19.4 25.4-29.4 25.6-21.8 53.1-37.4 76.3-60.8 16.4-17.3 11.8-19.3-7.9-20.9-35.6-1.3-69.1 4.7-103.3 5.4-16.4.4-29.6.9-39.9-6.6-11.2-9.9-17.4-24.3-22.9-36.6-17.2-37-28.3-73.36-47.7-108.26-7.7-13.57-16.4-24.74-19.7-3.2zM256 200.1c5 0 8 2.7 10 4.8 12.1 13.8 15.4 34.2 23.2 47.4 1.9.6 4 .8 5.6.8 15.9.2 27-1.4 41.2-.1 2.8 1.1 6.6 3.6 8.1 8 1.3 4.1.1 8-1.2 10.6-8 13.5-24.3 20.2-33 29.7.2 1.1.3 3.2 1 5.3 3.3 14.4 11.6 28.7 11.6 40-.3 3-1.4 7.2-5.2 10-3.9 2.8-8.8 2.4-11.7 1.4-15.5-6.4-22.6-21.7-35.1-30.1-.2.1-.4.1-.7.2-19.7 8.3-33.3 24.6-52.1 29.1-3 .7-7.1 1.6-11.7-1.7-4.4-3.2-5-8.6-4.7-11.8 4-19.1 17.4-31.4 22.8-47.4-12.5-11.6-30.6-15-39.1-25.9-1.8-2.5-3.6-6.9-2.1-11.5 1.6-4.8 5.8-7.1 8.8-8.1 17.9-4.2 33.4.7 49.5 2 1.1-12.5-1.5-33.7 4.2-45.8 1.5-2.9 5.6-6.9 10.6-6.9zm4.2 30.8c-.3 6.7-.1 14.1-.6 20.2-.4 6.4-2.5 13.5-6.8 16.7-3.4 2.5-6.2 2.7-8.9 2.9-10.5.5-22-1.1-31.5-2.3 5.8 3.5 12.5 6.9 17.8 10.2 5 3.2 10.3 7.5 11.9 12.2 1.4 4.5.4 7.3-.4 10-3.2 9.2-8.7 18-13.2 25.8-1.5 2.8-3.1 5.5-4.4 8 3.6-2 7.5-4.3 11.6-6.9 9.3-5.6 17.4-11.6 26.6-16 2.5-1.1 4.6-2.3 8.6-2.3 4.2 0 6.6 1.5 8.9 3 7 4.8 13.2 11.4 18.7 17.1.8.9 1.6 1.6 2.4 2.3-2.4-6.6-5.2-13.7-7.2-19.8-1.6-5.2-3.9-9.1-1.5-16.2 2.1-6.5 5.8-8.7 9.8-12 6.4-5.3 12.6-9.5 18.6-14.4-13.2.2-32.9 4.6-41.5-1.6-3-2.1-4.1-4.1-5.4-6.4-5.6-10.3-9.2-20.8-13.5-30.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaTurtle;

impl IconShape for SeaTurtle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M426.7 63.83c-7.2 2.78-14.2 9.16-20 16.46 4.6 19.6-4.6 40.81-11.9 56.01 19.4-.6 53 6.3 68.4-2.3 18.4-10.3 35-46.21 29.8-63.71-18.8-4.75-50.3-11.83-66.3-6.46zm-149.3 8.56l-1.7 12.6c12.3 2.9 23.4 7.4 33.7 14.5 1.6-11.2 4.5-21 12.3-27.3-14.7-1-30.1-.9-44.3.2zm193.3 2c-14.1 8-27.9 13.7-34.4 22.4-6.4-5.6-10.5-12-8.6-20.9 14.1-6.1 29.2-4.7 43-1.5zm-211.7 0c-10.8 1.4-21.5 3.4-32.2 6.1 10.8.1 21.9.5 31.1 1.5zm73.2 12.6c-8.3 17.01-3.1 28.61 3.6 41.91 8.8-15 16.5-31.01 23-47.71-9-1.8-20.6-.5-26.6 5.8zm46.1-6.2C320 240.2 158.9 331.4 17.99 320.7c1.2 36.6 60.44 21.1 81.95 17.1 52.16-10 119.46-33 167.66-74.6 38.7-33.3 74.3-72.9 98.2-111.2 7.4-16.4 28.9-46.9 24-65.71-1.6-4.5-7.1-4.5-11.5-5.5zM196.5 100.2c10.7 5.9 19.9 13.2 28.7 20.2 3.4-7.3 8.6-14.6 16.3-21.61-14.7-.6-31.5.2-45 1.41zm71.6 1.5c-18.5 10.6-25.5 20.2-28.4 30.3 10.1 10 21.1 23.9 30.1 36.2-.9-23.7 19.8-44.1 36.8-48-11.1-10.4-22.9-15.3-38.5-18.5zm-101.4 6c-1.4 12.8-2.8 25.7-1 37.8 10.6-10.5 25.8-16.5 38.8-18.2-11.7-8.8-23.3-16.3-37.8-19.6zm-19.2 10.2c-12.2 14.5-22.7 31.6-31.8 48.2 9.3-4.3 20.3-7.4 34.3-8.1-3.9-13.8-3.6-27.5-2.5-40.1zm149.1 25.8c-12.9 11.8-8.6 31.4-5.3 45.4 14.9-16.1 28.4-33.8 40.1-52.8-11.6.2-25.9.5-34.8 7.4zM170 169.1c-.5 18.3 4.5 40.3 10.7 57.8 15.4-33 41.5-50.3 74.8-47.6-8.6-11.6-18.8-24.5-27.4-33.4-24.6-2-45.5 1.2-58.1 23.2zM105.7 147c-11.18 10.3-21.2 21.1-30.11 32.2 3.78.4 7.55 1.5 11.2 3.2 5.57-10.9 11.85-23.1 18.91-35.4zm46.3 28.7c-28 .5-38.8 11.2-53.36 24.2-4.87 20.5-6.6 40.8-5.13 60.5 17.69-22.5 44.29-35.3 70.19-27.3-6.1-17-11.1-37.6-11.7-57.4zm66.6 30.1c-14.6 10.3-24.4 29.2-27.5 50.8l-1.4 9.4c31.7-16.1 61.5-37.2 87.9-62.9-20.4-8-41.7-9.3-59 2.7zm-159.71-3.6c-10.67 16.4-19.12 33.3-25.53 50.3 17.8-4.6 33.58 5.5 42.99 17.6-2.72-23.2-1.33-47.1 4.01-70.9-7.6-4.3-15.53-1.3-21.47 3zm296.71-3.3c-8.8 11.7-18.2 23.1-28.1 34 7 17.3 6.1 37.5-1.5 52.8-9.4 18.9-25 33.7-36.9 60.8-5 11.9-11.3 62.5 3.6 63.3 47.2-27.1 100.3-90.1 103-142.4-6.6-28.1-22.3-48.5-40.1-68.5zM129 252.8c-14.3 7.1-27.7 22.9-34.72 45.7 29.92-5.4 59.92-15.2 88.62-29.1-16.5-17.2-33.7-26.7-53.9-16.6zm-87.41 16.1c-17.44 4.2-19.14 18.7-21.5 33.8 17.13 1.3 34.63.9 52.24-1-3.9-14.8-15.21-32.7-30.74-32.8zM144 345.5c-9.6 2.8-19 5.3-28.2 7.4-8 14.4-20.49 34.1-22.38 50.8.74 17 5.02 31.9 10.58 46.4 46.3-32.7 51.8-65.4 40-104.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaUrchin;

impl IconShape for SeaUrchin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "m351.251 13.588-63.7 142.933c-4.476-.89-8.995-1.672-13.597-2.224L217.29 36.766l-8.268 121.093c-4.17.984-8.25 2.163-12.283 3.438L118.96 45.227l-16.168 7.351L140.14 191.17c-14.08 11.23-26.113 24.531-35.461 39.422L26.24 199.656l-9.418 14.977 68.633 63.572c-1.828 8.984-2.826 18.238-2.826 27.717 0 2.308.08 4.598.191 6.88L38.388 347.69l51.787 3.561c3.874 11.322 9.212 22.036 15.726 32.041l-54.05 97.783 13.726 11.194 79.46-67.956c21.822 16.096 48.066 27.38 76.816 32.042l23.726 42.058 15.766-39.867c31.399-1.63 60.574-11.018 85.17-26.191l125.013 50.318 9.826-14.61-83.279-86.019c3.785-5.892 7.19-12.008 10.065-18.385l52.078-1.365-41.287-34.824c1.095-7.04 1.699-14.225 1.699-21.547 0-8.113-.706-16.068-2.045-23.828l76.592-127.309-111.578 55.645c-11.308-12.776-24.843-23.837-40.024-32.772l24.79-159.021zm-11.09 69.103-32.28 207.053 17.788 2.774 14.914-95.674c37.697 24.622 62.047 64.427 62.047 109.078 0 22.655-6.277 44.063-17.371 62.88l-38.781-40.056-12.932 12.522 105.428 108.896-134.266-54.041-6.72 16.7 27.24 10.962c-17.047 8.508-36.144 14.149-56.538 16.182l7.524-19.024-16.738-6.619-16.76 42.38-31.541-55.915-15.678 8.846 14.72 26.094c-18.897-4.809-36.244-12.797-51.288-23.295l35.693-30.526-11.7-13.68-91.276 78.061 59.73-108.057-15.754-8.707-19.658 35.563c-9.793-17.905-15.334-37.976-15.334-59.166 0-4.377.289-8.692.758-12.963L122.3 312.33l12.23-13.205-70.332-65.148 90.324 35.625 6.606-16.747-39.461-15.562c6.564-9.908 14.515-18.991 23.607-27.068l6.202 23.013 17.38-4.683L134.36 100.54l75.782 113.088 14.953-10.02-17.852-26.638c14.024-3.857 28.885-6.05 44.387-6.05 9.735 0 19.24.823 28.44 2.388l-30.815 69.144 16.441 7.328zm-109.547 23.16 22.713 47.11c-.568-.005-1.128-.04-1.697-.04-8.26 0-16.382.565-24.338 1.608zm217.264 92.635-35.77 59.455c-4.274-11.718-10.057-22.8-17.158-33.058zM184.005 277.24l35.82 86.406 16.627-6.892-21.21-51.164 61.314 18.709 5.254-17.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Seagull;

impl IconShape for Seagull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377 67.5c-29.1.42-59.1 23.22-68.2 91.7-1.7 12.6-8.4 24.8-18.2 36.5 7.1-3 14.1-4.8 21-4.8 5 0 9.8.9 14.5 2.9 19.1 8.4 30.9 19.7 36.4 32.5s4.3 26.1.7 37.6c-3.6 11.4-9.6 21.4-15.1 28.9-5.4 7.6-9.6 12.1-12.2 14.4-33.6 30.6-94.9 37.4-148.2 38.7-43.3 1.7-86.3-3-129.12-8.2 0 0-31.13 10-41.99 14.5 51.99 15.9 96.11 11 139.61 4.3 52 17.3 165.8 31.6 241.1-37.2 37.6-30.9 36.2-86.1 17.5-152.2l25.9-53C438 91.95 408 67.04 377 67.5zm24.9 33c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm57.6 14.6L442.7 145c6.2-.1 12.3-.4 16.9-1.1 13.7-3 22-8.5 35.8-8.3-6.7-11.4-19.1-17.8-35.9-20.5zm-148.6 93.6c-4.5.2-9.8 1.7-16.5 5-11.2 5.4-25.3 15.4-42.9 28.3-30.5 22.4-71.6 53.3-129.6 84.3 17.4 1.1 40.4 2.1 65.4 1.6 51.8-1.2 110.5-10.4 136.5-34.1h.1c-.1.1 4.9-5 9.6-11.5 4.7-6.5 9.8-15.1 12.5-23.8 2.8-8.8 3.3-17.3 0-25.1-3.4-7.9-10.8-16-27.1-23-1.6-.8-3.3-1.2-5-1.5-1-.1-2-.2-3-.2zm-2 173c-6.1 1.5-12.1 2.7-18 3.6v38.1c-5.8-.1-11.8 0-18 .5v-36.8c-6.1.4-12.1.5-18 .4V426c-4.3.7-8.6 1.5-13 2.5v16h104c-8-10.1-21-16.4-37-19.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Seahorse;

impl IconShape for Seahorse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.004 19.164c-9.648 1.39-19.07 2.235-23.43 4.054-2.557 1.067-2.826 1.534-3.11 2.4-.282.863-.543 3.853 1.932 9.88l3.643 8.873-9.085 3.073c-28.644 9.69-47.62 38.362-48.017 63.627-.696 44.055 39.936 82.666 61.355 119.49 6.824 11.732 4.738 25.54-.455 39.22-5.193 13.676-13.8 28.374-23.465 44.36-19.33 31.972-42.898 68.978-52.547 106.822-6.672 26.167 3.367 43.43 19.096 55.682 15.73 12.253 38.023 17.54 50.17 15.902 19.262-2.595 32.47-15.11 39.91-30.416 7.44-15.305 7.876-33.077 3.17-42.47-3.16-6.31-9.583-11.794-16.926-15.014-7.343-3.22-15.397-3.924-20.447-2.48-16.272 4.65-21.495 15.99-22.44 28.195-.404 5.208.382 10.223 1.61 14.37 2.89-4.933 6.16-9.945 9.764-14.31 3.488-4.22 7.043-8.04 12.565-10.255 2.76-1.107 6.33-1.676 9.868-.705 3.537.972 6.495 3.364 8.492 6.053 3.54 4.77 4.53 10.117 4.555 15.86.024 5.746-1.222 11.948-4.322 17.796-6.202 11.696-21.378 20.488-41.666 16.45-17.63-3.51-30.796-14.66-35.545-29.497-4.75-14.838-1.416-32.257 9.16-48.82 22.857-35.8 62.226-57.237 93.674-80.788 15.724-11.776 29.463-23.952 38.73-37.89 9.267-13.94 14.37-29.483 13.02-49.9-1.37-20.728-15.83-40.585-36.8-58.366-20.97-17.783-47.835-33.06-71.06-44.968l-.004-.002-.006-.002c-3.178-1.635-5.58-4.987-6.383-7.943-.8-2.957-.547-5.49-.054-7.727.984-4.473 3.063-8.143 5.878-11.404 2.815-3.262 6.48-7.02 13.35-6.627 3.434.196 7.09 2.23 9.175 4.803 1.98 2.443 2.96 5.102 3.602 7.96.035-.044.51.51 2.578 1.336 2.998 1.2 8.278 2.27 14.746 2.65 12.935.754 30.663-1 47.942-5.302 18.94-4.715 38.375-.027 54.477 4.852 3.38 1.024 5.777 1.828 8.823 2.826-.08-.308-.25-.606-.32-.914-2.138-9.455-.64-18.675 1.34-26.57.6-2.397 1.268-4.403 1.925-6.547-12.96 4.157-28.064 6.265-42.94 4.624-18.95-2.09-38.058-11.507-47.237-30.97-10.787-2.446-18.605-8.153-24.193-14.274-5.4-5.917-9.345-11.812-14.103-16.996zm11.46 37.718c7.955 0 14.403 6.28 14.403 14.03 0 7.748-6.448 14.03-14.402 14.03-7.954 0-14.402-6.282-14.402-14.03 0-7.75 6.448-14.03 14.402-14.03zm-46.49 86.364c45.517 40.05 69.796 73.63 73.883 104.927 2.044 15.65-1.495 30.552-9.78 43.48-8.286 12.926-20.992 23.986-37.276 33.895l-9.357-15.377c14.73-8.96 25.218-18.464 31.48-28.23 6.26-9.768 8.62-19.69 7.085-31.435-3.068-23.488-23.848-54.964-67.924-93.746zm-101.453 19.77c11.56 35.447 39.336 66.16 72.933 93.74 1.728-6.023 3.852-12.013 7.01-17.6 3.29-5.82 7.986-11.18 13.998-15.04-10.137-14.124-22.746-29.812-33.214-47.34a53.774 53.774 0 0 1-2.85-.09c-8.232-.495-18.54-2.312-29.166-4.85-10.046-2.398-20.136-5.463-28.71-8.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SecretBook;

impl IconShape for SecretBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M101.1 24.88L135.5 157l88.1 4.8-3-17.2-1.9-11.2 123.3 7.4 4.9 27.8 75.9 4.2-32.5-124.62-289.2-23.3zm-18.82 1.6c-30.5 11.9-55.7 53.1-49.8 75.32l3.3 11.8c.6-1.8 1.3-3.5 2.1-5.3 9.9-23.72 26.5-46.82 50.3-58.92l-5.9-22.9zm10.8 41.6c-16.7 10-29.9 28.1-38 47.42-5.2 12.5-8 25.6-8.7 36.5l17.46 63.5c12.8-21.2 30.19-42.3 53.96-52.4L93.08 68.08zM240.3 152.8l20.2 117.4 87 4.3L326.8 158l-86.5-5.2zm46.8 21.2a25.29 20.33 24.87 0 1 2.4 0 25.29 20.33 24.87 0 1 27.2 22.4 25.29 20.33 24.87 0 1-13.2 19.2l20.8 37.5-48.7-2.2 10.9-36.1a25.29 20.33 24.87 0 1-18.5-20.6 25.29 20.33 24.87 0 1 19.1-20.2zm-146.8 1.3l15 57.6 81.2 3.4-9.8-56.2-86.4-4.8zm-17.9 5.6c-21.8 10.6-39.52 36.3-51.73 59.4l12.46 45.3c10.27-15.7 23.97-32.8 53.57-49.9l-14.3-54.8zm227.8 5.9l9.7 54.7 81.7 3.5-14.1-53.9-77.3-4.3zM160 251.1l31.2 119.6 289.2 23.2-34-130.6-83.3-3.5 6 33.9-123.8-6.3-5.7-32.9-79.6-3.4zm-18.6 2.7c-32 19.4-39.7 35.9-51.79 55.4l21.49 78.1c.3-.5.6-1.1.9-1.6 10.6-19.3 27.8-37.7 51.1-48.5l-21.7-83.4zM168 355.7c-17.7 9.1-31.2 23.7-39.6 39-4.5 8.1-7.3 16.3-8.7 23.7l11.7 42.4 1.6.2c-3.8-27.6 11.4-60.5 41.3-81.1l-6.3-24.2zm26.3 34c-32.6 17.3-46.5 52.4-41.8 72.9l289.8 24.5c-5.3-7.8-8.7-17.9-8.6-28.5l-22.4-9 46.3-7.3-13.5-12.8c5.6-7 13.7-13.1 24.9-17.7l-274.7-22.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SecretDoor;

impl IconShape for SecretDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225.134 37.867l3.771 17.598c11.024-1.968 22.743-3.02 33.1-2.486a485.577 485.577 0 0 0 1.467-17.938c-12.817-.293-26.905.58-38.338 2.826zm57.02-.681l-2.77 17.783c10.998 2.103 22.317 5.312 31.799 9.513a485.513 485.513 0 0 0 7.783-16.226c-12.217-5.255-25.14-9.101-36.813-11.07zm-75.272 5.586c-12.608 4.229-24.804 9.981-34.817 16.296l9.793 15.1c9.6-5.765 20.174-10.92 30.041-14.111-1.594-5.892-3.403-12.125-5.017-17.285zm129.492 13.8l-10.033 14.942c9.075 6.56 17.974 14.255 24.787 22.074a485.505 485.505 0 0 0 13.918-11.41c-8.846-9.93-18.929-18.882-28.672-25.606zM156.558 71.488c-9.127 9.673-17.171 20.493-23.026 30.782l15.754 8.703c5.75-9.61 12.645-19.141 19.844-26.606a485.614 485.614 0 0 0-12.572-12.879zm219.795 27.143l-15.643 8.898c5.198 9.918 9.731 20.775 12.344 30.81 5.974-1.25 12.3-2.693 17.545-4.005-3.49-12.833-8.523-25.34-14.246-35.703zm-250.516 21.625c-3.667 12.605-6.046 25.205-6.711 37.851l17.984.682c.822-10.971 2.71-22.746 5.75-32.69a485.658 485.658 0 0 0-17.023-5.843zm266.8 33.322l-17.96 1.145c.6 11.646.324 23.322.324 35.416h18c-.156-12.022.357-25.143-.363-36.56zm-273.636 22.865v35.998h18v-35.998zm256 31.694v35.996h18v-35.996zm-256 22.302v35.997h18v-35.997zm256 31.692v35.996h18v-35.996zm-256 22.303v35.996h18v-35.996zm185 14.58v18h48v-18zm71 17.111v35.996h18v-35.996zm-256 22.303v35.996h18v-35.996zm256 31.693v35.996h18v-35.996zm-256 22.3v35.997h18v-35.996zm256 31.694v35.996h18v-35.996zm-256 22.301c-.021 10.262-.068 20.336 0 30.598 12.952-.334 25.972 0 38.928 0v-18H137v-12.598zm56.926 12.598v18h35.996v-18zm53.994 0v18h35.996v-18zm53.994 0v18h35.996v-18zm53.994 0v18h35.996v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SecurityGate;

impl IconShape for SecurityGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 25v462h46V71h31.3c-9-3.83-15.3-12.74-15.3-23s6.3-19.17 15.3-23H41zm96.7 0c9 3.83 15.3 12.74 15.3 23s-6.3 19.17-15.3 23h36.4c-4.5-6.57-7.1-14.49-7.1-23s2.6-16.43 7.1-23h-36.4zm70.3 0c-12.8 0-23 10.19-23 23s10.2 23 23 23 23-10.19 23-23-10.2-23-23-23zm33.9 0c4.5 6.57 7.1 14.49 7.1 23s-2.6 16.43-7.1 23h36.4c-9-3.83-15.3-12.74-15.3-23s6.3-19.17 15.3-23h-36.4zm55.8 0c9 3.83 15.3 12.74 15.3 23s-6.3 19.17-15.3 23H329v416h46V25h-77.3zm173.9 32.64l-32 32 12.8 12.76 32-32.04-12.8-12.72zM393 121v46h38.9c5.1 0 5.1-1.2 6-3 1-1.9 1.1-4 1.1-4v-32s-.1-2.1-1.1-4c-.9-1.8-.9-3-5.9-3h-39zm69 14v18h32v-18h-32zm-257.8 13.3c-17 2.2-32.5 22.1-32.5 48 0 14.2 5.1 26.8 12.3 35.4l8.5 10.3-13.3 2.5c-9.3 1.8-16.1 6.9-22 14.9-5.9 8-10.3 19.3-13.5 32.3-5.8 23.3-7 52.1-7.2 77.4h31.4l8.5 114.9c21.8 4.8 44.9 4.5 65.9 0l7.5-114.9h29.7c0-25.6-.4-54.7-5.5-78.4-2.9-12.9-7.2-24.2-13.1-32.1-6-8.1-13.3-13-23.8-14.7l-13.6-2 8.8-10.8c6.6-8.6 11.2-21 11.2-34.8 0-27.5-17.1-48-35.8-48h-3.5zm248.2 37.3l-12.8 12.8 32 32 12.8-12.8-32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Seedling;

impl IconShape for Seedling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383.9 23.46c-13.4 2.23-26.3 3-36.9 5.31-14.8 3.18-24.2 7.59-29.8 22.41-1.4 3.88-1 6 .4 8.61 1.4 2.62 4.5 5.52 8.5 7.8 4 2.29 8.8 3.93 12.9 4.62 4 .69 7.5 0 7.5 0h.1c17.9-8.16 30.2-27.83 37.3-48.75zm-72.7 55.78c-3.4 20.1-13.5 38.56-25.2 56.26-.4 2.2-.9 4.3-1.5 6.4-2.7 9.3-7.5 18.2-14.3 25.8l.1.1c7.7-5.9 15.5-9.5 23.2-11.3 14.3-20.2 28.8-42.7 34.4-68.52-3.7-1.19-7.3-2.76-10.8-4.75-2-1.17-4-2.5-5.9-3.99zm-85.7 8.61c-11.9-.1-25.5 2.26-40.4 6-23.5 5.89-49 14.75-73.5 19.95 18.2 16.8 32.3 34.5 47.2 46.4 18.9 15 37.8 22.4 73.6 11.2 18.3-5.7 30.6-19.7 34.8-34.5 4.3-14.8 1.1-29.8-12.3-40.42-7.6-6.01-17.6-8.53-29.4-8.63zm81.2 84.35c-8.7-.1-17.4 3-27.8 11.8-23.6 19.9-12.7 40.7-2.2 45.4h.1c2.4 1.1 8.6 1.5 16.5-.2 8-1.7 17.6-5.3 27.5-10.1 14.5-7 29.4-16.7 40.9-26.4-13.2-5-25.1-12.2-36.4-16.3-5.9-2.2-11.4-3.8-16.9-4.1-.6 0-1.2-.1-1.7-.1zM244.6 237c-48 .5-91.3 4.6-122.7 10.6-16.9 3.2-30.51 7.1-39.1 11-4.3 1.9-7.31 3.9-8.75 5.3-.52.5-.62.6-.76.8.14.2.24.3.76.8 1.44 1.4 4.45 3.4 8.75 5.3 8.59 3.9 22.2 7.8 39.1 11 33.9 6.5 81.5 10.6 134.1 10.6 52.6 0 100.2-4.1 134.1-10.6 16.9-3.2 30.5-7.1 39.1-11 4.3-1.9 7.3-3.9 8.8-5.3.5-.5.6-.6.7-.8-.1-.2-.2-.3-.7-.8-1.5-1.4-4.5-3.4-8.8-5.3-8.6-3.9-22.2-7.8-39.1-11-19.3-3.7-43.1-6.6-69.7-8.5-8 3.4-15.8 6.1-23.3 7.7-9.9 2.1-19.2 2.8-27.7-1-2.2-1-4.3-2.2-6.2-3.6.9 8.8 2 17.6 3.2 26.5l-17.8 2.6c-1.7-11.4-3.1-22.7-4-34.3zM80.33 289.3l7.89 39.4c10.2 8.7 32.98 17.4 61.98 23 30.7 5.8 68.3 8.8 105.8 8.8s75.1-3 105.8-8.8c29-5.6 51.8-14.3 62-23l7.9-39.4c-10.2 3.9-23.1 7.3-38.2 10.2-35.6 6.8-84 10.9-137.5 10.9s-101.9-4.1-137.5-10.9c-15.1-2.9-27.98-6.3-38.17-10.2zm44.57 75.2l11.7 93.4c6.5 8.1 21.9 16.5 42.7 21.9 22 5.7 49.3 8.7 76.7 8.7 27.4 0 54.7-3 76.7-8.7 20.8-5.4 36.2-13.8 42.7-21.9l11.7-93.4c-6.9 1.8-14.2 3.3-21.9 4.8-32.3 6.2-70.7 9.2-109.2 9.2s-76.9-3-109.2-9.2c-7.7-1.4-15-3-21.9-4.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SellCard;

impl IconShape for SellCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 32l-80 96h48v80h64v-80h48l-80-96zm224 0v80h-48l80 96 80-96h-48V32h-64zm80.096 204.904c-5.28.12-10.212 2.417-16.94 9.596l-6.562 6.969-6.813-6.72c-7.387-7.28-13.216-9.29-19.125-9.03-5.908.26-12.855 3.365-20.625 9.654l-6.219 5.031-5.906-5.375c-8.9-8.052-16.485-10.437-23.75-10.062-5.288.274-10.775 2.266-16.25 5.75l40.969 73.687c15.454 9.452 47.033 13.009 68.75 2.065l39.594-73.346c-7.51-3.062-14.26-6.2-20.094-7.404-2.112-.437-4.073-.758-5.97-.815-.355-.01-.71-.008-1.06 0zM88 240c-40 0-40 0-40 40v160.055C48 480 48 480 88 480h80c40 0 40 0 40-40V280c0-40 0-40-40-40H88zm254.125 93.094v.002C324.09 345.838 309.609 367.813 304 400c-5.435 31.196 3.127 52.264 18.281 66.623 15.155 14.36 37.902 21.738 61 21.438 23.1-.3 46.136-8.31 61.625-22.936 15.49-14.627 24.251-35.425 19.283-65.188-5.137-30.757-18.401-52.147-35.191-65.093-28.482 15.056-64.093 11.856-86.873-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sergeant;

impl IconShape for Sergeant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.978 39.21C226.38 86.89 161.383 164.77 106 203.713V256.6c53.113-38.92 105.113-92.538 140.56-145.71L256 96.735l9.44 14.157c35.333 53 87.963 106.298 140.56 145.473V203.77C349.61 164.835 285.346 86.825 255.978 39.21zm0 108.406C226.38 195.293 161.383 273.174 106 312.116v52.89C159.113 326.09 211.113 272.47 246.56 219.3l9.44-14.16 9.44 14.16c35.333 53 87.963 106.298 140.56 145.473v-52.597c-56.39-38.937-120.654-116.944-150.022-164.557zm0 107.782C226.38 303.075 161.383 380.956 106 419.898v52.89c53.113-38.918 105.113-92.536 140.56-145.707l9.44-14.16 9.44 14.16c35.333 53 87.963 106.298 140.56 145.473v-52.597c-56.39-38.938-120.654-116.945-150.022-164.558z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ServerRack;

impl IconShape for ServerRack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 25v78h430V25H41zm254 23h18v32h-18V48zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zM64 55h48v18H64V55zm80 0h48v18h-48V55zm80 0h48v18h-48V55zm-119 66v30h302v-30H105zm-64 48v78h430v-78H41zm254 23h18v32h-18v-32zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-352 7h48v18H64v-18zm80 0h48v18h-48v-18zm80 0h48v18h-48v-18zm-119 66v30h302v-30H105zm-64 48v78h430v-78H41zm254 23h18v32h-18v-32zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-352 7h48v18H64v-18zm80 0h48v18h-48v-18zm80 0h48v18h-48v-18zm13 66v30h38v-30h-38zM25 457v30h130.2l20-30H25zm171.8 0l-20 30h158.4l-20-30H196.8zm140 0l20 30H487v-30H336.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sesame;

impl IconShape for Sesame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.4 25.12c-30.5.3-61.8 19.64-76.4 47.46 39.5 30.52 98.8 5.06 118.5-33.01-12.5-10.18-27.2-14.59-42.1-14.45zm89.1 33.98c-30.6 38.5-7.1 96.9 34.5 118.2 30.1-40 3.8-99-34.5-118.2zm119.8 10.65c-20.4 44.55 16.2 95.65 61.8 106.35 19.6-46-20-96.89-61.8-106.35zM86.29 71.19C38.12 80.72 18.2 140.3 36.19 183.5c48.72-11 66.91-72.9 50.1-112.31zM186.6 171.4c-42.3 0-76.5 42.7-77 85.1 49.2 9 90.3-40.9 90.3-83.7-4.5-1-9-1.4-13.3-1.4zm114.6 24.8c-30.6 38.5-7.1 96.9 34.5 118.2 30.1-40 3.8-99-34.5-118.2zM458 248.9c-49.9 2.1-79 59.8-69.5 101.6 49.1-.8 79.4-55.9 69.5-101.6zm-318.8 65.8c-39.4 29.3-31.8 91.7 3 123 39.3-30.9 29.1-94.7-3-123zM265.3 325c-24.8-.2-50.2 9.9-65.8 26.5 28.2 40.3 90.8 34.5 123.1.7-13.9-18.9-35.4-27.1-57.3-27.2zM53.46 365.7c-29.71 39-5.16 96.9 36.9 117.4 29.24-40.6 1.8-99-36.9-117.4zm362.74 24.2c-45.4-.3-78.8 47.9-75 92.3 49.9 4.3 86-49.3 81.8-91.9-2.3-.3-4.5-.4-6.8-.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SettingsKnobs;

impl IconShape for SettingsKnobs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87 32v71h18V32H87zm160 0v345h18V32h-18zm160 0v167h18V32h-18zM50 121c-5.14 0-9 3.9-9 9v28c0 5.1 3.86 9 9 9h92c5.1 0 9-3.9 9-9v-28c0-5.1-3.9-9-9-9H50zm37 64v295h18V185H87zm283 32c-5.1 0-9 3.9-9 9v28c0 5.1 3.9 9 9 9h92c5.1 0 9-3.9 9-9v-28c0-5.1-3.9-9-9-9h-92zm37 64v199h18V281h-18zM210 395c-5.1 0-9 3.9-9 9v28c0 5.1 3.9 9 9 9h92c5.1 0 9-3.9 9-9v-28c0-5.1-3.9-9-9-9h-92zm37 64v21h18v-21h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SevenPointedStar;

impl IconShape for SevenPointedStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.017l-69.427 102.007-123.038-9.32L100 232.584l-84 90.384 114.898 44.987 18.292 122.028L256 428.2l106.81 61.783 18.292-122.028L496 322.968l-84-90.385 36.465-117.88-123.038 9.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SewingString;

impl IconShape for SewingString {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153.9 51.5c-34.6 0-65.87 4.45-87.79 11.3-10.96 3.43-19.55 7.51-24.76 11.37-5.22 3.85-6.41 6.7-6.41 8.33s1.19 4.48 6.41 8.33c5.21 3.86 13.8 7.94 24.76 11.37 21.92 6.8 53.19 11.3 87.79 11.3 34.6 0 65.9-4.5 87.8-11.3 11-3.43 19.6-7.51 24.8-11.37 5.2-3.85 6.4-6.7 6.4-8.33s-1.2-4.48-6.4-8.33c-5.2-3.86-13.8-7.94-24.8-11.37-21.9-6.85-53.2-11.3-87.8-11.3zM388 70.48c-2.5 0-5 0-7.5.16-20.2 1.15-42.3 7.56-63.1 15.43-12.5 4.72-24.5 9.98-35.3 15.03-1.5 1.5-3.2 2.9-4.9 4.2-5.1 3.7-11.2 7-18.3 9.9v17.9c13.5-7.4 38.1-20.1 64.8-30.2 19.9-7.5 40.8-13.32 57.8-14.29 17-.98 28.9 2.5 35.4 11.69 6 8.5 5 14.1-.7 23.4-5.6 9.3-16.8 20.2-29.5 31.6-12.6 11.3-26.5 23.2-37.4 36.4-10.9 13.2-19.2 28.2-18.2 45.2 1.5 24.8 21.4 48.3 39.9 67.4 18.4 19 36.5 32.9 36.5 32.9l11-14.2s-17.2-13.3-34.6-31.2c-17.4-18-33.9-41.4-34.8-56v-.1c-.7-10.3 4.6-21.1 14.1-32.5 9.5-11.5 22.8-23 35.6-34.6 12.8-11.5 25.1-22.8 32.9-35.6 7.7-12.8 9.7-29.2-.2-43.11-9.8-13.91-26.1-19.1-43.5-19.41zM153.9 74.5a48 8 0 0 1 48 8 48 8 0 0 1-48 8 48 8 0 0 1-48-8 48 8 0 0 1 48-8zm-87 46.7v10.6c58.3 14 116 13 174 6.9v-17.5c-23.6 6.5-53.9 10.3-87 10.3-33.2 0-63.38-3.8-87-10.3zm0 29.1v24.4c62.9 2.9 119.7-3.4 174-13.9v-4.1c-57.1 6-115 7-174-6.4zm174 28.7c-54 10.3-111.1 16.5-174 13.8v18.7c64 1.5 123.2-2.5 174-15.9zm0 35.3c-52 12.9-111.1 16.6-174 15.2v3.2c61.5 8.4 120.8 13.8 174 10.8zm-174 36.5v8.9c53.3 17 112.9 17.8 174 16.9v-15.1c-54.1 2.9-113.2-2.3-174-10.7zm0 27.7v31.8c52.7 3.4 102.8-3.5 152.2-15.5-52 .4-103.9-1.7-152.2-16.3zm174 29.4c-55.7 14.7-113.1 24.3-174 20.5v16c57.6.2 114.8-1 174-14.2zm221.7 19a20.5 40.99 51.48 0 0-32.8 14.1 20.5 40.99 51.48 0 0-.2.1l-.6.6a20.5 40.99 51.48 0 0-8.9 8.5L265.9 497.5l176.3-115.9a20.5 40.99 51.48 0 0 13.1-8.5 20.5 40.99 51.48 0 0 19.3-41.5 20.5 40.99 51.48 0 0-12-4.7zM452.5 342a10.25 20.5 51.48 0 1 .1 0 10.25 20.5 51.48 0 1 6 2.3 10.25 20.5 51.48 0 1-9.7 20.8 10.25 20.5 51.48 0 1-22.4 4.8 10.25 20.5 51.48 0 1 9.6-20.8 10.25 20.5 51.48 0 1 16.4-7.1zm-211.6 6.6c-59.9 12.8-117.3 14-173.99 13.8 0 0 .41.9 3.71 2.8 3.91 2.2 10.75 4.6 19.24 6.5 16.94 3.8 40.54 5.8 64.04 5.8 23.5 0 47.1-2 64-5.8 8.5-1.9 15.4-4.3 19.3-6.5 3.4-2 3.7-3 3.7-2.8zM49.17 365.5c-3.1 1.6-5.74 3.1-7.82 4.7-5.22 3.8-6.41 6.7-6.41 8.3 0 1.6 1.19 4.5 6.41 8.3 5.21 3.9 13.8 8 24.76 11.4 21.92 6.8 53.19 11.3 87.79 11.3 34.6 0 65.9-4.5 87.8-11.3 11-3.4 19.6-7.5 24.8-11.4 5.2-3.8 6.4-6.7 6.4-8.3 0-1.6-1.2-4.5-6.4-8.3-2.1-1.6-4.7-3.2-7.9-4.7-1.2 6.9-6.7 12-12.5 15.3-6.6 3.8-14.7 6.4-24.3 8.5-19 4.2-43.4 6.2-67.9 6.2-24.5 0-48.9-2-67.95-6.2-9.51-2.1-17.68-4.7-24.26-8.5-5.79-3.2-11.27-8.4-12.52-15.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sextant;

impl IconShape for Sextant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.348 69.037l17.33 4.867-6.016 21.416c4.62 5.93 7.39 13.372 7.39 21.47-.006 12.142-6.268 23.15-16.13 29.464h-45.147l1.434-4.848a35 35 0 0 1-10.16-24.615c0-17.235 12.463-31.55 28.866-34.452l-12.203 43.447 17.328 4.867 13.12-46.71 4.188-14.905zm26.048 76.078c14.414 11.826 33.446 30.675 48.047 40.774l-10.357 36.874 15.502 4.353c.257 1.342.64 2.682 1.195 4.014l68.957 90.68c7.848-6.045 12.38-.656 16.213 3.946a277.93 277.93 0 0 0 35.293-36.963l25.715 25.115c-57.415 70.63-144.954 115.828-242.91 115.828-14.104 0-27.986-.958-41.6-2.773 2.97-10.225 5.942-20.45 8.913-30.674a26.98 26.98 0 0 0 1.903-4.247 280.762 280.762 0 0 0 30.785 1.693c59.417 0 114.406-18.63 159.466-50.377l-31.246-41.09c-27.794 19.263-60.113 32.44-95.024 37.605a26.818 26.818 0 0 1-25.87 19.88 26.818 26.818 0 0 1-25.35-18.155c-3.626-.288-7.228-.662-10.805-1.12 1.67-5.84 3.352-11.68 5.036-17.52 2.008.23 4.024.433 6.05.604a26.817 26.817 0 0 1 3.17-6.046l-4.13-12.147c6.6-22.71 13.282-45.413 19.966-68.116h10.04l6.99 71.25a26.818 26.818 0 0 1 13.433 13.408c31.438-4.814 60.538-16.667 85.65-33.902l-80.82-106.278V152.27a53.75 53.75 0 0 0 5.79-7.155zm-132.066 3.14v78h-17.725v-78h17.725zm60.275 7v64H171.33v-64h42.275zm-96 0v64h-30v-64h30zm144 9v46h-30v-46h30zm94.25 1.19l17.327 4.867-17.305 61.616-17.33-4.867 8.312-29.593 1.507-5.367 7.487-26.655zm-286.25 5.81v32h-43v-32h43zm158.034 66l-37.312 127.388 8.14 15.27-18.33 63.05-62.273-20.6 20.455-62.324 17.303-7.13 34.225-115.656h37.79zm-64.802 7L129.43 290.52c7.644 5.007 15.65 9.503 23.953 13.482a9751.523 9751.523 0 0 0-5.123 17.428 225.38 225.38 0 0 1-29.32-16.38l-30.206 41.83a276.462 276.462 0 0 0 31.21 18.112c-4.116 11.318-7.75 22.83-11.378 34.344-30.56-14.602-58.404-34-82.527-57.244l22.86-27.674a277.37 277.37 0 0 0 18.405 16.53c2.902-3.237 8.592-5.312 12.445-2.37l60.887-84.324h22.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShakingHands;

impl IconShape for ShakingHands {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 61.363l-82.58 77.934 78.994 132.96 3.586-4.458V61.362zM18 62.5v225.893c4.48.582 9.863.903 15.295.96 11.87.125 21.654-.65 27.15-1.144L113.1 154.974 18 62.5zm389.154 104.86l-7.04 4.556c-.15.097-5.362 3.336-6.893 4.29l-10.605 6.42.15.09c-4.914 3.057-6.28 3.917-11.857 7.38-2.83 1.757-2.9 1.798-5.584 3.465-20.29-10.907-42.306-19.29-67.998-25.882-32.312 9.762-66.542 23.888-100.722 37.142 14.19 17.087 29.96 22.651 45.845 22.85 18.42.23 37.25-7.78 50.218-16.754l7.4-5.12 7.426 10.73 115.453 83.33 45.112-29.987-60.906-102.51zM126.477 170.1L81.11 284.887 97.76 297.69l30.795-34.905 2.467-2.795 3.72-.232c1.5-.094 2.98-.138 4.44-.13 10.212.066 19.342 2.716 26.19 8.76 5.072 4.472 8.444 10.426 10.4 17.32l2.28-.142c11.995-.75 22.802 1.725 30.63 8.63 7.827 6.907 11.63 17.323 12.38 29.32l.07 1.08c6.44 1.216 12.205 3.752 16.893 7.888 7.828 6.906 11.63 17.32 12.38 29.317l.197 3.12c.642.202 1.275.424 1.9.658l2.033-2.853 5.47-7.678 2.813-3.95 7.33 5.223 59.428 42.336c6.464-1.594 10.317-4.075 12.46-7.086 2.147-3.012 3.233-7.47 2.624-14.107l-71.258-51.03-7.318-5.24 5.19-7.246 6.67-9.365 7.33 5.223 80.335 57.226c6.464-1.593 10.32-4.074 12.463-7.085 2.144-3.01 3.23-7.457 2.625-14.082l-92.398-65.55-7.34-5.21 10.414-14.68 7.343 5.208 92.414 65.565c6.47-1.594 10.327-4.075 12.473-7.088 2.148-3.015 3.233-7.476 2.62-14.125l-110.44-79.71c-14.655 8.688-33.402 15.648-53.557 15.396-23.587-.295-48.817-11.566-67.377-40.05a9 9 0 0 1 4.343-13.327c13.014-4.945 26.163-10.17 39.343-15.354l-92.056-6.834zm12.902 107.62l-47.564 53.91c.927 6.746 3.04 10.942 5.887 13.454 2.847 2.512 7.275 4.085 14.084 4.164l47.563-53.908c-.927-6.747-3.04-10.945-5.887-13.457-2.847-2.512-7.274-4.084-14.084-4.162zm43.308 25.81l-53.713 60.88c.926 6.747 3.04 10.945 5.886 13.457 2.85 2.51 7.275 4.083 14.085 4.16l53.713-60.878c-.926-6.748-3.04-10.944-5.887-13.457-2.846-2.512-7.273-4.085-14.083-4.164zm29.34 38.286l-47.56 53.91c.927 6.746 3.04 10.943 5.887 13.456 2.848 2.512 7.275 4.083 14.084 4.162L232 359.44c-.927-6.75-3.04-10.947-5.887-13.46-2.847-2.512-7.274-4.083-14.084-4.162zm24.702 39.137l-38.794 44.28c.925 6.76 3.038 10.962 5.888 13.476 2.845 2.51 7.267 4.082 14.067 4.163l38.796-44.28c-.926-6.758-3.04-10.96-5.89-13.476-2.844-2.51-7.266-4.08-14.066-4.162zm35.342 4.79c1.694 4.62 2.673 9.74 3.014 15.192l.232 3.704-8.277 9.448 26.724 19.037c6.464-1.594 10.316-4.075 12.46-7.086 2.145-3.01 3.233-7.464 2.628-14.093l-36.78-26.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShamblingMound;

impl IconShape for ShamblingMound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M125.5 24.44l-15.2 9.64c4.7 7.36 4.1 9.89 2.6 12.91-8.4 11.18-22.25 15.83-32.31 23.89-6.38 5.2-12.53 13.64-10.92 23.76 2.17 13.46 12.66 22.56 23.15 29.76 12.38-.5 25.48.6 36.18.6l.2-.4c-11-5.5-39.08-21.1-41.75-32.85C97.5 75.04 120.3 71.43 128.9 55.13c4.3-8.5 3.4-19.93-3.4-30.69zm92.8.3c-1.8 17.62-4.3 32.04-7.1 44.98l28.3 17.12-33.5 5.31c-3.3 12.75-5.7 22.95-8.4 34.55-10.5 5-22.1 9.4-32.2 12 12.6 6.5 25.2 14.8 30.5 28.1 3.6 8.8 2.1 17.9-.9 25.7-2.9 7.7-7.3 14.8-11.2 21.4-3.9 6.6-7.2 12.7-8.5 17.3.4 23 31.4 26.9 47.4 22.7 1.1-6.6 5.6-13 9.8-17.2-7.4-2.6-14.7-6.3-20.1-12.9-5.9-7.2-7.8-18.4-3.2-29.1 3.7-6.6 11.1-10.7 17.6-11.7 11.5-.9 22.3 1.4 32.8 4.3.8-6.9 2.2-14 4.9-20.3 2.1-4.9 5.5-9.9 10.4-12.9l-11-10.8-17.5 16.5-17.6-17.5-16.8 13 7.3-44.6 14.1 14.7 10.2-15.1 9.1 21.1 18.2-26.5 7.7 47.4c2.7-1 5.3-1.3 7.9-1.3 8.1.5 14.9 5.5 19.3 11.3 5 7.3 8.5 15.4 10.7 22.7 1.4-.8 2.7-1.5 4.1-2.3 6.3-3.3 12.8-6.4 19.5-8-23.2-6.9-27.4-26-28.1-48.7-9.4-.8-16.4-.6-25.6-.4-2-11.2-3.6-23.2-4.8-33.07l-33.8-5.33 30.8-18.68c-1.9-13.34-4.4-26.41-8.9-39.3-14.4 3.78-33 3.98-51.4-4.48zm165.1 22.69s-37.8 20.36-34.6 36.93c1 5.29 5.3 10.28 10.7 13.98-2.5 6.06-3.5 12.06-3.9 18.16 5.9 1.8 11.6 3.8 17.2 5.9-.8-6.3-1.2-12.6-.6-18.8 5.2 1.1 10.3.6 14.1-1.9 15-10.11-2.9-54.27-2.9-54.27zm-53.2 81.07c2.2 14.8 2.2 27.2 17.4 29.4 14.6 3.3 29.9-2.2 42.2 1.2-2.1-4.2-4.2-8.5-6.1-12.8-17.3-7.4-34.3-14.1-53.5-17.8zm-226.1 13.9c-6.18 13.7-12.41 27.3-18.42 40.9-3.84-3-8.01-5.6-12.87-7.5 1.19-6.5.56-13.1-2.54-17.5-3.33-4.7-10.35-6.3-18.12-6.3-14.84-.1-32.45 5.5-32.45 5.5s19.21 43.5 36.96 39.9c4.45-1 8.29-4.3 11.18-8.8 3.97 3.1 7.5 6.8 10.82 10.8-9.36 22-17.81 44-24.12 66.5 21.79 2 39.71 9.7 55.46 19.4 8-32.7 15.2-60.4 30.3-84.9l29.1 2.4c4.3-8.4 13.5-19.9 9.9-29.2-13.1-16.5-29.9-23.6-49.1-30.5-9.2 0-17.7-.5-26.1-.7zm177 31.7c-1.4 3.3-2.6 8.2-3.3 13.4 3.5-1.1 7.2-1.7 11-1.7 3.3 0 6.4.4 9.4 1.2-1.9-5.5-4.3-10.6-6.7-13.8-5-6.6-8.2-4.2-10.4.9zm78.4 2.4c2.5 1.5 4.8 3.8 6.3 6.5 5.2 9.2 2.5 20-2.7 27.5-.8 1.1-1.6 2.3-2.5 3.3l40.2 68.1c1.7-8.8 3.5-20.4 4.7-33 2.4-26.1.2-55.5-9.3-67.2-9.6-8.6-24.9-5.6-36.7-5.2zm-13.4 15.3c-4.2.7-10.7 3.4-16.9 6.8-1.8 1-3.6 2-5.2 3 5.9 2.6 11.3 5.4 15.5 7.9 3.7-3.2 6.9-6.4 8.8-9.2 3.2-5.6 4.2-9.7-2.2-8.5zm-120.3 10c-4.2 3.5-1.8 7.8.5 10.6 2.3 2.7 7.6 5.9 14 8 3.9 1.2 8.1 2.2 11.9 2.9.1-6.5 1.6-13.3 4.2-18.2-7.9-2.2-25-6.2-30.6-3.3zm63 2c-10.5 0-18.6 8-18.6 17.8s8.1 17.8 18.6 17.8c10.5 0 18.6-8 18.6-17.8s-8.1-17.8-18.6-17.8zm135.7 9.9c.8 12.3 0 25-1.1 36.9-1.3 13.6-3.3 26-5.1 35.3 16.2-8.2 28.3-19.6 37.2-33.9-10.8-12.5-21.2-25.2-31-38.3zm-97.8 9.3c-3.3 6.4-4.3 13.9-8 19.1 3.4 3.1 7.5 6.5 12.3 10 5.3 3.8 10.9 7 14.8 8.3 7.2 3.3 9.8-7.3 8.6-11.6-1-3.9-4.8-9-10-13.6-6.1-5.4-12.6-9.3-17.7-12.2zM258 240.8c-6.3 4-14.7 7.6-17.4 15.1-1.1 6.1 5.7 14.7 12.2 13.2 8-3.6 12.7-10 16.8-17.1-4.7-2.8-8.6-6.6-11.6-11.2zm46.8 13c-4.7 2.2-10 3.5-15.5 3.6 1.7 10.3 4.1 29.9 11.4 35 8.7.7 9.9-33.4 4.1-38.6zm-136.2 4.9c-3.4 16.9-6.8 34-10.4 51 10.9 7.3 22.5 16.2 30.5 25 6.9 7.7 12.5 16.4 13.5 26.7.8 8.9-3.4 16.6-8.5 22.1s-11.1 9.8-16.7 13.9-10.7 7.9-13.6 11.2c-2.9 3.4-3.5 5.1-3 7.6 1.9 3.8 8.6 5.1 12.6 6.4 4.4 1.3 9.3 2.7 14.2 5.2 4.9 2.4 10.1 6.4 12.6 12.9v.1c6.9-48 12.3-90.5 27.5-128.5l51.8-1.4c3.9 14.9 7.9 30.8 11.3 43.7 9.1 13 18.4 25.9 30.7 35.2 6 4.4 11.2 6.3 14.9 6.1 5-10.9 8-25.1 19.8-27.9 5.2-1.1 10.3-1 15.3.1-4.3-10.6-8.4-21.1-12.4-31.7-8.4 3.9-18 7.5-28.3 4.7-12.6-3.4-21-13.3-27.7-24.2-1.3-2.2-2.6-4.4-3.8-6.7-7.5-.8-12.9-6.1-16.5-11.7-4-7.5-6.6-15.3-8.2-22.6-4.6 4.8-10.2 9.1-17.4 10.8-13.5.3-24.3-5.2-30.3-15.2-7.6 2-14.9 2.9-21.8 2.6-14.1-.6-26.4-6.2-36.1-15.4zm301.7 3.6c-3.4 5.4-7.2 10.4-11.5 15.1l10.9 3.7 4.8 30.4 17.8-2.8-6.6-41.2zm-145.8 7.2c-.1 8-.8 16.2-3.4 23.7-1.2 3.6-2.8 7-5.4 10 4.5 7.7 11.1 18.1 19.3 20.5 1.9.5 9.9-1.2 17.2-4.2-5.5-14.7-11-29.2-16.6-43.8-3.9-1.7-7.6-3.8-11.1-6.2zm-277.31 14l-23.9 46.8 16.04 8.2 26.85-52.6c-5.92-1.4-12.22-2.2-18.99-2.4zm25.07 3.9l-14.89 39.2-6.19 35.3 17.72 3.2 5.91-33.7L89.03 294c-5.33-2.6-10.88-4.8-16.77-6.6zm372.14 3.3c-4.7 3.6-9.7 6.8-15 9.8l29.2 48.9 15.4-9.2zm-349.93 6.2l2.64 39.7-14.34 18.6 14.26 11 18.47-24-2.2-33.1c-6.2-4.5-13-9-18.83-12.2zm324.03 8.9c-6.4 2.7-11.3 4.3-17.6 6.3l1.3 18.5 22.3 17.1 11-14.2-15.9-12.3zm-264.4 22.9c-3 14-6.1 27.9-9.4 41.9-14 22.5-35.4 46.8-53.15 56.4-9.69 5.3-17.05 6.2-22.71 3.4-5.67-2.8-12.14-10.9-16.34-29.5l-17.56 4c4.82 21.4 13.3 35.4 25.9 41.6 12.6 6.3 26.8 3.2 39.36-3.7 11.6-6.4 22.9-16.1 33.2-27.3-5.7 21.3-11.9 42.6-18.8 64 18.1 11.4 40.3 7.7 63 2.5 5-13.4 7.7-28.9 5.4-34.9-.4-.9-1.2-1.9-3.9-3.3-2.7-1.3-6.8-2.6-11.4-4-4.5-1.4-9.4-2.8-14.2-5.6-4.7-2.9-9.6-8-10.9-14.8-1.5-8.9 2.4-16.9 7.2-22.6 4.9-5.6 11-9.9 16.6-14 5.6-4.1 10.8-8 14-11.4 3.2-3.5 4.1-5.7 3.8-8.3v-.1c-.4-4.2-3.5-10.2-8.9-16.3-5.5-6.1-13-12.3-20.6-17.6-.2-.1-.4-.3-.6-.4zm202 65.6c-2.9 9.2-8.7 18.5-17.9 19.6-10.4 1-19.7-3.6-27.8-9.6-3-2.3-6-4.8-8.8-7.4 8.1 28.7 17.4 56.9 30.1 84.2 39.8 9.8 69.2 6.5 98 2.5-12.4-19-23.1-38.3-32.8-57.7 6.3-1.1 12.5-2.7 18.6-6 4.2 5 9.6 8.7 15 9.1 16.7 1.4 33-38.3 33-38.3s-17.9-5.1-33.4-5c-9.3 0-17.8 1.9-20.9 7.9-2.2 4-2 9.2-.4 14.2-6.5 1.4-13.2 1.6-19.9 1.4-2.6-5.5-5.1-11.1-7.5-16.6-14.3-9.3-20.2-13.7-25.3 1.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShamblingZombie;

impl IconShape for ShamblingZombie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M63.648 18.836l-21.906 5.22 4.174 17.508 21.904-5.22-4.172-17.508zm55.41 9.576c-10.812.018-19.293 3.666-24.505 10.344-5.56 7.123-6.867 17.012-3.494 28.383 3.372 11.37 11.602 23.646 23.973 33.288 12.372 9.64 26.29 14.625 38.15 15.125 11.856.5 21.136-3.178 26.696-10.3 5.56-7.124 6.866-17.012 3.493-28.382a50.804 50.804 0 0 0-1.172-3.434c-8.79 6.754-14.632 18.57-22.014 13.644-2.02-1.347 4.205-17.284 13.49-28.98a75.225 75.225 0 0 0-9.41-10.39l-25.328 12.17-13.696-12.644c2.028-1.745 18.215-4.463 31.54-5.603-11.69-8.362-24.503-12.712-35.532-13.176a50.13 50.13 0 0 0-2.193-.045zm135.215 11.375l-21.128 7.79 6.226 16.888 21.13-7.79-6.227-16.888zm52.932 22.277l-13.496 11.91 14.897 16.883 13.498-11.908-14.9-16.886zm-265.8 24.73L25.81 95.788l11.25 19.506 15.592-8.992-11.25-19.505zm155.54 25.33a41.26 41.26 0 0 1-2.867 4.192c-9.75 12.493-25.473 17.895-41.658 17.213-5.973-.252-12.08-1.295-18.166-3.096-.692 8.702-.662 17.523-.018 26.373l7.3-3.37.5 16.885 12.91 2.485-7.448 14.898 17.38 15.395-16.388 6.457 8.444 9.435-6.967 6.45c10.697 28.977 25.217 55.522 39.002 75.956 16.78 24.877 33.407 70.446 34.106 98.352l-37.594 95.297 113.575 1.187.793-20.564-7.577-1.32-12.673 12.322-10.43-8.94h-8.94l-1.312-9.193-21.28-3.708 28.37-63.31c1.334-37.238-10.187-63.18-18.72-100.418 17.34 11.887 34.13 23.517 50.22 35.474 3.39-3.158 7.75-5.67 14.87-6.342 4.78 7.99 5.047 14.693 4.413 21.137 25.186 20.06 48.29 41.65 68.536 67.356l55.403-96.488-16.375-9.064-45.36 43.074c-25.322-34.38-62.046-59.99-101.895-88.56-3.014-9.555-7.292-18.512-12.196-27.055-3.357 4.796-7.873 9.123-11.627 12.125-7.314 5.85-20.288 2.142-23.34-3.973-3.05-6.116 11.094-9.658 7.946-15.395-3.148-5.738-17.153 3.158-21.852-1.987-4.697-5.145-6.025-13.1 0-19.865 3.768-4.228 12.42-6.017 20.75-5.955a54.94 54.94 0 0 1 4.968.266c-8.813-12.567-16.915-24.728-21.516-37.208 29.466 3.21 58.927 6.432 86.832 17.442 5.666 15.217 1.188 30.435-4.916 45.652 4.516.913 9.738 1.007 14.41-5.498 12.134-16.9 20.338-37.936 14.387-58.414-1.382-4.756-40.025-14.216-77.795-22.226 27.81-3.497 57.99-5.808 89.506-7.452 14.352 4.97 21.266 19.44 21.828 40.266 15.58-7.543 19.9-15.453 20.506-26.77.937-17.48-12.432-32.673-21.85-35.517-3.76-1.24-137.436.263-166.195-4.005zM427.02 136.34l-17.315 14.394 11.508 13.842 17.314-14.396-11.506-13.84zm-343.145 4.61l-5.457 17.154 21.46 6.828 5.456-17.155-21.46-6.826zm318.168 123.564l-16.05 15.793 12.622 12.832 16.053-15.794-12.625-12.832zm-258.078 29.894l-5.455 17.153 21.46 6.827 5.454-17.153-21.46-6.826z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shamrock;

impl IconShape for Shamrock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.3 23.6c-1.3 0-2.7.1-4 .11-21.2 1.03-40.7 8.51-49.7 18.54-11.2 12.51-16.6 46.14-3.2 82.45 12.4 33.6 39.5 69.4 88.1 94.3 13.5-37.3 17.4-100.3 16.6-148.56l18-.28c.7 46.64-1.9 105.94-15.2 147.94 34.2-16.5 64.8-32.9 86.4-54.7 24.7-24.9 38.9-56.5 35.9-107.03-.2-3.85-3-8.72-9.4-13.57-6.3-4.85-15.9-9.24-27-11.93-22.1-5.37-50.1-3.97-72.2 8.76l-5.2 2.97-4.7-3.59c-12.9-9.73-31.7-14.93-50.4-15.39h-4zM89.18 161.3c-2.71 0-5.42.1-8.14.3-20.35 1.6-44.06 16.8-52.99 39.1s-5.33 52.4 32.32 88.2l3.13 3-.36 4.3c-3.69 43.4.54 71.8 8.13 88.8 7.59 17.1 17.53 23.3 29.03 25.3 11.4 1.9 25-1.3 36.8-6.9 11.8-5.5 21.8-13.6 25.2-18v-.1c35-44.4 51.2-90.1 70-136.8-80.2 46.4-112.6 41.3-142.88 45.7l-2.58-17.8c35.26-5.1 60.76 2.2 145.56-48.9-44.9-31.9-91.1-65.2-140.52-66.2zM394 218.6c-3.8.1-7.7.4-11.7.8-27.2 2.8-56.1 12.8-84.2 19.5 36 45.6 60.9 84 103.5 112.4l-10 15c-44.6-29.8-70.5-68.5-104.2-111.6-6.4 32.2-11.2 64.7-9.3 93.9 2.2 35 13.4 64.8 42.4 86.7 16.8 12.7 30.4 18 41 18.8 10.6.8 18.8-2.4 26.7-8.9 15.6-13 27.6-40.5 36.4-67.7l1.2-3.6 3.5-1.7c40.1-19.4 55-41.5 58.1-62.1 3.1-20.7-6.1-41.6-19.4-57.6-21.9-26.4-45.5-34.1-71.5-33.9zm-138.4 17.6c-40.8 91.8-22.5 168.6-3 252.2l17.6-4c-19.5-83.8-36.6-154.2 1.8-240.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Share;

impl IconShape for Share {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384 64a64 64 0 0 0-64 64 64 64 0 0 0 1.1 11.3l-146.3 73.2A64 64 0 0 0 128 192a64 64 0 0 0-64 64 64 64 0 0 0 64 64 64 64 0 0 0 46.8-20.5L321 372.7a64 64 0 0 0-1 11.3 64 64 0 0 0 64 64 64 64 0 0 0 64-64 64 64 0 0 0-64-64 64 64 0 0 0-46.8 20.5L191 267.4a64 64 0 0 0 1-11.4 64 64 0 0 0-1.1-11.4l146.3-73.1A64 64 0 0 0 384 192a64 64 0 0 0 64-64 64 64 0 0 0-64-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharkBite;

impl IconShape for SharkBite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.5 52.06C203.4 97.42 156.6 131.5 99.8 161.6c11.9 6.1 25.1 9.4 37 11 9.3 1.2 17.8 1.3 23.9 1.1 3.1-.1 5.6-.2 7.3-.4.9-.1 1.6-.2 2-.2.4-.1 1.4-.5-.5.2l5.6 17c-2.1.8-1.9.5-2.6.6-.8.1-1.6.2-2.7.3-2.2.2-5 .4-8.5.5-2.5.1-5.2.1-8.2.1.4 1.7.6 3.4.6 5.3 0 14.2-12.9 24.5-27 24.5s-26.99-10.3-26.99-24.5c0-5.2 1.79-9.9 4.69-13.8-8.05-3-16.06-6.9-23.56-12.1-19.96 9.9-41.1 19.4-63.59 28.8v149.7c11.13 28.4 29.91 50.9 74.31 62.6l-4.6 17.4c-33.24-8.8-55.03-24.7-69.71-43.9V413c9.54 15.5 20.05 27.7 39.76 33.6l-5.1 17.2c-14.8-4.3-25.86-12-34.66-21.2v49.1H236.2c14.1-4.2 21.8-9.7 28.6-16.2 4.2-4 8-8.5 12.4-13.1-44.8-19.7-80.7-31.4-110.1-50.8-32.2-21.2-55.8-52.6-72.94-111.6l-1.3-4.5 2.9-3.6C133.8 244.1 221.1 201.8 287.5 170c-2.3-42.7-14.8-82.1-44-117.94zm-13.3 34.75l18 .68c-.6 17.11-5.3 36.21-23.9 52.01l-11.6-13.8c14.6-12.4 16.9-23.9 17.5-38.89zm267.6 21.69c-7.2 3.7-16.7 8.9-26.7 15.2-20.8 12.9-43.1 30.9-49.8 44.8-7.8 16.3-7.7 49-4.4 76.7 3.4 27.6 9 50.4 9 50.4l1.5 6.1-5.1 3.5c-25.4 17.5-41 35.4-58.1 51.6l-2.2 2-21.2 2.6c1.1 19.8-6.7 37-13 52.8l11.9 2.4c12.9-11.1 22.5-22.7 26.7-34.8l1.4-4 4-1.5c33-12.3 61.4-32.4 85.7-58.4 11-20.9 4.1-45.8 3-73.8l-.1-3.7 37.4-40.7v-91.2zm-371.1 82.1c-5.7 0-9 3.6-9 6.5s3.3 6.5 9 6.5 9-3.6 9-6.5-3.3-6.5-9-6.5zm155.1 3.6c-9.8 4.4-19.6 8.8-29.4 13.1-4.8 2.4-9.5 4.9-14.3 7.4l3.1.5c15.6 2.7 25.6 9.6 33.9 16.3 4.3-13.1 7.3-25.5 6.7-37.3zm114.6 15.7c-9.5 23.4-17.1 47-23 62l-1.4 3.6-3.6 1.4c-24.2 10-52 19-99.1 6.8-6.6 17.4-20.8 29.1-32.5 40.2l7.7 6.5c5.2-2.2 11-4.8 16.7-7.9 7.4-4 13.8-9.1 15.6-11.8l3.3-5.1 5.9 1.2c50 9.4 80.7 3 109.9-14.5 3.2-1.9 6.3-3.9 9.5-6.1-1.8-8.7-4.3-22-6.3-38.9-1.5-12-2.6-24.8-2.7-37.4zm-168.8 10.3c-11.5 6.2-23 12.5-34.1 19l2.1.5c15.2 3.6 25.7 9.7 34.2 16.1 1.3-3.4 2.6-6.7 3.4-9.6 1.6-6.4 1.9-11.3-1.5-18l-4.1-8zm-44.1 25c-11.2 6.8-21.8 13.7-31.6 20.6l6.7.9c10.8 1.3 18.8 6 24.4 11.2.7.7 1.2 1.4 1.9 2 1.9-9.9 2.2-19.7-.1-29.3l-1.3-5.4zm-35.8 23.7c-10.1 7.3-19.1 14.7-26.6 22.1 9.1 4 17.8 9 25.8 15.3 2.8-10 2.8-19.5 1.7-29.7l-.9-7.7zm37.2 90.2c-10.3 4.9-22.3 9.6-35.6 13.5 8.3 9.6 17.5 17.2 27.7 24 1.5 1 3 1.9 4.5 2.8l2-10.1c.8-4.4 1.9-13 1.9-21.1.1-3.2-.2-6.3-.5-9.1zm47.1 21c-11.3 8.3-23.3 15-36.9 19.5l-8.6 2.8c9.7 5.5 20.4 10.5 32.2 15.6l4.1-10.8c3.5-9.2 6.8-16.6 8.4-22.8.4-1.5.6-2.9.8-4.3zm41.4 20.7c-13.5 8.4-27.3 14.3-39.5 18.2l-7.4 2.4c9.7 4 20.2 8.3 31.3 12.9l3.6-8.7c3.6-8.5 9.2-15.8 12-24.8zm36.8 23.7c-14.4 6.8-29 11.9-39.1 13.5l-3.2.5c8 3.4 16.3 7 25.1 11 2.7-.2 4.5-1.1 6.5-2.8 2.4-2.1 4.8-5.8 6.8-10.6 1.5-3.5 2.7-7.5 3.9-11.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharkFin;

impl IconShape for SharkFin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M349.603 42.768c-31.36-1.053-234.946 205.685-280.595 309.828 26.998-7.923 58.257-15.23 82.4-13.004 22.594 2.083 40.82 15.274 57.844 26.603 17.023 11.33 32.575 20.703 48.654 20.416 16.378-.29 32.196-11.74 49.502-24.862 17.306-13.122 36.175-27.944 60.272-27.812 6.093.033 12.397.946 18.79 2.505-56.174-100.224-21.42-289.766-36.062-293.598-.255-.04-.523-.065-.805-.074zm21.586 312.37c-24.097-.13-42.966 14.69-60.272 27.813-17.306 13.123-33.124 24.573-49.502 24.864-16.08.287-31.63-9.086-48.654-20.416-17.023-11.33-35.25-24.52-57.844-26.603-25.39-2.34-58.66 5.86-86.557 14.234-27.895 8.372-50.07 17.28-50.07 17.28l6.706 16.702s21.492-8.624 48.54-16.743c27.047-8.12 60-15.37 79.73-13.55 16.277 1.5 32.278 12.186 49.523 23.663 17.244 11.476 36 23.838 58.946 23.43 24.043-.43 42.793-15.428 60.057-28.518 17.264-13.09 32.97-24.245 49.3-24.156 17.393.094 46.024 13.347 68.952 27.23 22.928 13.882 40.662 27.745 40.662 27.745l11.09-14.176s-18.476-14.464-42.43-28.967c-23.954-14.504-52.877-29.696-78.178-29.834zm1.91 41.12c-24.097-.132-42.966 14.69-60.272 27.812-17.306 13.122-33.124 24.572-49.502 24.864-16.08.286-31.63-9.087-48.654-20.416-17.023-11.33-35.25-24.52-57.844-26.604-25.39-2.34-58.66 5.86-86.557 14.234-27.895 8.374-50.07 17.28-50.07 17.28l6.708 16.703s21.49-8.623 48.537-16.74c27.048-8.12 60.002-15.37 79.73-13.552 16.28 1.5 32.28 12.187 49.524 23.664 17.244 11.477 36 23.84 58.946 23.43 24.044-.43 42.795-15.427 60.06-28.518 17.263-13.09 32.966-24.245 49.296-24.156 17.394.095 46.025 13.348 68.953 27.23 22.928 13.883 40.662 27.748 40.662 27.748l11.092-14.177s-18.476-14.464-42.43-28.968c-23.955-14.504-52.88-29.696-78.18-29.834z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpAxe;

impl IconShape for SharpAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M284.736 29.215c-2.334-.015-4.68.001-7.035.049-32.975.664-67.786 7.496-98.318 21.232-34.895 15.698-64.057 40.163-79.979 74.672-15 32.512-18.36 74.591-2.508 128.285a201.433 201.433 0 0 1 13.502-5.59c-9.866-43.961-5.617-80.245 8.301-109.01 15.464-31.958 42.464-54.15 72.95-68.302 30.484-14.153 64.583-20.494 95.738-20.95 1.947-.028 3.882-.035 5.804-.019 22.847.186 43.814 3.494 60.614 9.836 7.12-3.36 13.61-6.894 18.914-10.852-20.447-11.111-49.38-18.154-81.016-19.212a257.951 257.951 0 0 0-6.967-.14zm8.293 38.373c-1.78-.019-3.574-.015-5.379.012-28.88.421-60.75 6.43-88.421 19.277-27.671 12.847-51.013 32.303-64.327 59.818-11.852 24.495-16.052 55.773-7.242 95.895 12.372-2.904 23.747-3.494 33.565-1.195 9.93 2.325 18.916 9.147 21.732 19.312.306 1.106.52 2.235.701 3.373l102.203-102.203c-11.857-18.99-15.828-34.784-12.218-48.416 4.005-15.125 16.44-24.638 30.048-31.797 7.436-3.912 15.487-7.412 23.547-10.8-10.343-1.974-21.956-3.15-34.209-3.276zm83.057 68.326l-48.508 9.701-34.242 34.242h38.807v38.805l34.242-34.242zm87.348 3.367c-3.956 5.301-7.489 11.788-10.848 18.905 6.876 18.213 10.179 41.335 9.812 66.427-.455 31.155-6.796 65.254-20.949 95.739-14.153 30.485-36.344 57.485-68.303 72.949-28.764 13.918-65.048 18.167-109.01 8.3a201.436 201.436 0 0 1-5.59 13.503c53.695 15.852 95.774 12.492 128.286-2.508 34.51-15.922 58.974-45.084 74.672-79.979 15.698-34.894 22.379-75.376 21.142-112.32-1.058-31.637-8.1-60.569-19.212-81.016zm-22.297 45.48c-3.39 8.06-6.89 16.112-10.801 23.548-7.159 13.608-16.672 26.043-31.797 30.048-13.632 3.61-29.425-.361-48.416-12.218L247.92 328.342c1.138.181 2.267.395 3.373.701 10.165 2.816 16.987 11.802 19.312 21.732 2.3 9.818 1.709 21.193-1.195 33.565 40.122 8.81 71.4 4.61 95.895-7.242 27.515-13.314 46.971-36.656 59.818-64.327 12.847-27.67 18.856-59.542 19.277-88.421.208-14.228-1.004-27.742-3.263-39.588zm-160.528 13.096v33.534h33.534v-33.534zm-18 12.727l-34.244 34.244-9.699 48.506 48.506-9.7 34.244-34.243h-38.807zm-57.19 57.19l-37.034 37.035 38.806 38.806 37.036-37.035-48.508 9.701zm-49.76 49.761l-25.925 25.922 38.809 38.809 25.922-25.924zm-38.651 38.65L16 457.194V496h38.807l101.007-101.008z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpHalberd;

impl IconShape for SharpHalberd {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M355.414 37.057l-72.865 34.96 38.507 38.506zM76.804 60.02c5.94 22.94 6.843 41.02 6.973 57.7 12.274 1.806 26.093 6.842 40.993 12.573 12.252 4.712 24.655 9.693 36.613 14.305-4.61-11.958-9.59-24.364-14.303-36.616-5.73-14.9-10.768-28.72-12.574-40.992-16.682-.13-34.76-1.03-57.7-6.97zm201.712 33.417l-47.207 47.21c9.54 4.895 19.098 9.503 28.655 13.767l39.764-39.764zM175.178 130.02c3.663 9.255 7.183 18.426 10.054 27.04l5.692 17.077-17.078-5.692c-8.615-2.87-17.786-6.39-27.04-10.054 20.598 34.496 39.182 70 52.467 105.872 19.01 51.326 26.685 103.905 12.985 153.963 108.61-34.56 188.19-114.144 222.752-222.754-50.058 13.7-102.637 6.028-153.963-12.982-35.87-13.285-71.374-31.87-105.87-52.467zm316.55 39.392c-11.713 7.82-23.67 14.096-35.81 18.998-35.135 124.333-126.39 215.586-250.723 250.72-4.902 12.14-11.177 24.1-18.996 35.813 69.376-15.54 138.225-56.89 193.433-112.097 55.208-55.21 96.555-124.057 112.096-193.434zm-334.296 45.11l-47.207 47.207 21.213 21.213L171.2 243.18c-4.263-9.557-8.873-19.116-13.768-28.66zm-59.936 59.935l-12.213 12.215h24.428zm-30.21 30.213L51.34 320.613h42.426l15.943-15.943zM51.34 338.61l12.213 12.214L75.77 338.61zm-21.73 3.73L18 353.953v42.428l32.828-32.827z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShatteredHeart;

impl IconShape for ShatteredHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 16c-22.1 4.7-42.55 16.45-58.12 35.68l80.32 75.42L112 16zm31.9 20.77c-.9 0-1.7.1-2.6.1l26.6 132.83 88.8 40.4 10.3-75.4c-17.2-63.6-70.1-97.97-120.7-97.93h-2.4zm226.7 41.18c-24 .1-49.2 7.75-72.6 24.35l-13.7 99.9 62.3 28.3 134-53.6c-6.5-60.1-55.1-99.25-110-98.95zM55.11 89.9c-5.99 10.5-10.78 22.6-14.01 36.4-14.83 63.3 15.59 125.4 51.48 181.8l56.62-129.8-94.09-88.4zM176.9 193.6L265 407.5c27.1-13.4 57.2-27.4 85.8-43.5l-22.6-101.7-151.3-68.7zm293.9 18.2l-124.4 49.7 20.7 92.9c47.5-28.8 88.1-64.5 99.7-114 2.3-9.9 3.6-19.4 4-28.6zm-314.9 16.1l-55.5 127.2c36.3 54.6 73.7 103.2 73.7 141.5 10.9-18.8 37.8-35.2 70.9-52.2l-89.1-216.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shears;

impl IconShape for Shears {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.85 31.59c-1.43 2.7-2.79 5.88-3.87 9.77-2.55 9.22-3.8 21.14-3.66 33.46.29 24.64 6.87 51.38 14.38 61.68l.1.2.1.1c28.5 42.7 64 81.1 99.2 120.3 1.6-5.7 4.1-11.1 7.3-16l-79-96.9-5.5-35.2 96.7 118.8c3.9-3.1 8.1-5.7 12.7-7.6-49.6-58.5-99.9-126.31-138.45-188.61zm322.35 0c-38.6 62.3-88.9 130.11-138.5 188.61 4.6 1.9 8.8 4.5 12.7 7.6L388.1 109l-2.9 18.9-2.6 16.3-79 96.9c3.2 4.9 5.7 10.2 7.3 16 35.2-39.2 70.7-77.6 99.2-120.3l.1-.1.1-.2c7.5-10.3 14.1-37.04 14.4-61.68.1-12.32-1.1-24.24-3.7-33.46-1.1-3.89-2.4-7.07-3.8-9.77zM256 233.4c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39c0-9.2-3.2-17.7-8.5-24.4-7.2-8.9-18.1-14.6-30.5-14.6zm0 14c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm0 18c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm-51.8 30.7c-13.8 9-27.1 18-38 27.5l23 16.9c5.6-6.7 12.7-12.5 20-17.9 3.2-2.4 6.4-4.8 9.6-7.1-6.2-5.3-11.2-11.9-14.6-19.4zm103.6 0c-3.4 7.5-8.4 14.1-14.6 19.4 3.2 2.3 6.4 4.7 9.6 7.1 7.3 5.4 14.4 11.2 20 17.9l23-16.8c-10.9-9.5-24.2-18.6-38-27.6zm-174.5 25.7l-23.5 21.6 74.3 54.9 14-29-64.8-47.5zm245.4 0l-64.8 47.5 14 29 74.3-54.9-23.5-21.6zM114.2 369L53 452.3c-14.01 19.4 32.48 48.7 44.28 32.2l60.12-83.6-43.2-31.9zm283.6 0l-43.2 31.9 60.1 83.6c11.8 16.5 58.3-12.8 44.3-32.2L397.8 369z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sheep;

impl IconShape for Sheep {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M392.8 107.5c9.3 5.3 25.8 9.3 40 9.2 7.7-.1 14.6-1.2 19.5-3.2 5-1.8 6.9-4.9 8.9-8.8-9.2-6.08-22.1-12.27-31.8-12.87-14.9.53-28.8 8.13-36.6 15.67zm-253 20.2c-1.7 5.5-7.9 8.1-13 5.4-26.5-14.5-50.46-6.9-67.71 8.7-35.93 32.6-45.13 87.3-32.47 145.7 7.31 33.6 18.99 53 41.29 62.8 0 .1.1.1.15.1 2.22 1 4.21 1.9 6.09 2.8l4.61-22c1.02-4.9 5.8-8 10.66-7s7.98 5.8 6.96 10.7l-23.5 112c4.79 7.2 16.4 1.2 21.3-1.2l38.12-106.5c10.8-9.4 21.2-19 28.7-29.2 6.6-9.1 10.4-18.4 10.6-23.5.2-5 4.4-8.9 9.4-8.7 5 .2 9 4.6 8.6 9.6-.6 11.2-6.2 22.4-14 33.2-7.3 10-16.7 19.6-27.2 27.2l-3.3 8.9c6.9 8.7 13.4 13.8 19.6 16.8 8.8 4.1 17.7 4.6 28.5 3.3 16.4-1.9 34.6-12.9 43.5-37.2 2.8-7.7 13.6-8 16.8-.5 7.7 21.2 36.1 32.6 55.1 24l-3.9-23.3c-.8-4.9 2.5-9.6 7.4-10.4 4.9-.9 9.6 2.5 10.4 7.4l17.6 105.9c9.2 6.3 14.5 2.4 19.9-4.4l-13.8-114.4c-.7-5.3 3.3-10 8.6-10.2 4.8-.2 8.8 3.3 9.3 8l4.3 35.7c5.1-1.2 9.1-2.5 12.4-5 4.3-3.2 8.5-8.7 12.1-21.5 1.7-6 9-8.5 14.1-4.7 13.6 8.3 27.4-1.8 35.6-12.2 12.9-16.5 14.7-42.4 13.2-69.2-2.1.3-4.2.5-6.3.6-8.8.5-17.9-.9-25.7-4.4-12.4-7-22-18.4-28.2-28.9-3.9-6.8-7.3-13.7-10.5-20-5.4 9.9-11 23.1-19.2 25-12.5 2.1-23.9-3.7-29.8-12.7-5.9-8.9-7.4-20.2-4.8-31.1 2.7-11.7 9.8-38.3 22.6-56.1 2.2-2.9 4.5-5.3 6.8-7.4-7.5-3.1-16.2-3.8-22.9-3.8-5.8 0-13.5 1.8-19.7 5-6.2 3.3-10.7 7.8-12.2 11.8-3.2 8.5-15.5 7.5-17.3-1.3-3.8-22.78-53.9-17.8-65.6 2-3.8 7-14.1 5.9-16.5-1.7-8.1-22.61-62.7-21.3-66.7 5.9zm345-1.5c1.7 16.4 3.5 32.2 4.2 45.6 1.8 6.5 6 18.9 8.7 7.3.9-4.1.8-11-.4-18.6-.1-7.1-14.5-47.3-12.5-34.3zm-112.7-2.5c-11.9 15-19.2 37.4-23.3 53.7-.6 5.8-.6 12.6 2.3 17.1 2.3 3.4 4.8 5.2 9.4 5 5.8-9.4 12.1-19.8 15.6-28.2-1.2-7.9-2.8-19.9-3.6-31.4-.4-5.8-.6-11.2-.4-16.2zm94.4 2.4c-2.4 1.6-4.8 3.1-7.5 4.1-7.8 3.2-16.8 4.4-26 4.5-14.8.1-30.2-2.7-42.9-8.4 0 3.6.1 7.7.4 12.3.9 12.6 3 27.2 4 33.5 10.5 16.6 19.9 44.4 36.8 52.5 5.8 2 11.9 3.1 17.2 2.9 6-.4 10.6-2.6 11.5-3.7 3.5-8 5.9-15.2 7.3-22.3 2.1-10.9 3.4-23.3 3.6-31.6.3-6.4-.6-13.3-1.1-18.7-1.4 4.1-5.7 6.6-10 5.9-4.3-.7-7.5-4.4-7.5-8.8 0-5.1 4.2-9.2 9.3-9 3 0 5.8 1.7 7.4 4.3-.9-6.1-1.4-12-2.5-17.5zm-58.3 16.5c4.9.2 8.7 4.2 8.7 9 0 5-4 9-9 9-4.9 0-9-4-9-9s4.2-9.1 9.3-9zm47.5 48.3c3.7-.1 6.5 1.9 6.5 6.2 0 7.8-5.8 15-12.7 19l-1-23.1c2.5-1.4 5-2.1 7.2-2.1zm-24.1 2c1.8-.1 3.9.4 5.8 1.3l3.8 22.5c-6-3.7-15.4-3.6-16.5-16.1-.5-5.2 2.8-7.7 6.9-7.7zm-30.9 164.2c-3.7 5.1-7.6 9.1-12.6 12.1l16.6 62c7.6 1.5 15.9 1 19.2-5.1zm-241.2 33.7l1.5 46.8c7.9 7.9 12.9 4.8 19.7-3l-3.7-39.5c-6.3-.9-12.6-2.2-17.5-4.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SherlockHolmes;

impl IconShape for SherlockHolmes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185.418 36.882s-24.67 5.747-35.756 15.557c-38.586 34.149-51.256 67.652-53.746 105.53l-43.97 47.023c96.221-17.906 207.672-21.92 340.581-20.912-21.002-14.144-41.37-25.753-59.322-36.814-14.473-35.496-33.701-76.597-65.934-95.373-14.145-8.24-29.144-14.024-43.962-16.83-10.736-20.307-35.4-11.819-37.89 1.82zM104.977 214.8c20.328 40.62 56.635 79.575 89.761 103.012 18.256 12.63 36.742 21.653 51.035 24.144 11.946 2.242 23.46-1.416 28.825-10.672l.002-.004v-.002c8.103-14.299 14.714-28.724 20.359-43.197 15.776 1.737 33.408 2.541 38.04-1.178 7.31-5.871-8.751-56.088-16.056-69.443 3.057-6.22 3.057-12.795 3.057-17.58-39.436-2.194-150.638 6.423-215.023 14.92zm342.142 6.07c-13.335.302-24.897 9.857-33.428 22.668-9.413 14.137-16.138 33.34-18.798 55.055-2.66 21.714-.771 41.971 4.95 57.963 4.29 11.99 11.133 22.318 20.655 27.515l-10.77 108.676 17.913 1.775 10.615-107.13c12.015-1.592 22.443-10.62 30.299-22.418 9.413-14.137 16.136-33.339 18.797-55.053 2.66-21.714.77-41.974-4.952-57.965-5.721-15.991-15.983-29.026-31.087-30.877a29.036 29.036 0 0 0-4.194-.209zm2.004 18.076c5.494.673 11.846 6.541 16.33 19.075 4.485 12.533 6.397 30.421 4.033 49.71-2.363 19.29-8.538 36.186-15.916 47.266-7.377 11.08-14.955 15.242-20.449 14.568-5.494-.673-11.844-6.54-16.328-19.074-4.485-12.533-6.396-30.42-4.033-49.709 2.363-19.289 8.536-36.187 15.914-47.267 5.011-6.164 12.69-15.168 20.449-14.569zM99.172 242.53c-6.243 8.543-13.975 17.27-23.111 25.744-12.11 11.231-26.664 21.827-43.198 30.211 37.101 7.524 77.514 23.385 115.21 42.594 42.326 21.57 80.776 47.18 106.775 71.145l2.314-24.686c-11.388-12.634-23.526-23.83-35.869-34.252-12.152-5.001-24.557-12.203-36.797-20.672-36.371-25.164-70.878-60.916-85.324-90.084zm344.582 11.276c.036 21.503 3.015 45.534 9.771 64.632 6.729-19.745 7.02-55.246-9.771-64.632zm-137.598 54.43a353.014 353.014 0 0 1-7.74 16.574c7.33 5.423 11.536 10.592 13.904 15.505 3.119 6.47 3.49 13.077 2.176 21.295-2.24 14.002-10.213 31.472-14.32 52.23-9.049 12.67-1.565 56.042 18.265 60.938 44.677 11.03 69.71-35.7 59.614-46.716-9.817-10.713-37.598-19.736-57.92-19.952 4.048-14.733 9.79-28.985 12.136-43.656 1.666-10.412 1.325-21.456-3.736-31.955-4.255-8.827-11.576-16.856-22.379-24.264zm-272.875 8.81C28.53 324.342 23.344 332.53 18 341.459V494h255.152c-2.921-14.12-5.609-28.7-8.763-42.629-.65-5.674-5.269-9.093-9.059-13.314-21.957-24.459-66.328-55.92-115.432-80.942-35.16-17.917-72.94-32.625-106.617-40.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldBash;

impl IconShape for ShieldBash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.663 63.02L90.792 80.26l154.193 19.273c5.063-13.339 12.952-24.341 22.541-31.828a52.072 52.072 0 0 1 7.137-4.683zm19.832 12.803c-5.092.166-10.492 2.296-15.879 6.502-7.835 6.118-15.009 16.575-18.83 29.688-3.821 13.112-3.477 26.099-.289 35.927 3.188 9.829 8.73 16.071 15.633 18.395 6.903 2.324 14.766.596 22.601-5.522 7.835-6.117 15.01-16.574 18.83-29.687 3.822-13.113 3.48-26.1.292-35.928-3.189-9.828-8.73-16.07-15.633-18.394a19.017 19.017 0 0 0-6.725-.98zm166.85 9.485c-24.113 13.949-46.193 20.298-87.233 17.252L340.48 228.452c-.675 2.682-.318 6 1.922 10.87 2.243 4.876 6.355 10.89 11.836 17.607 9.99 12.242 24.527 27.16 39.573 44.238 14.56-5.5 28.23-12.828 38.972-20.19 11.841-8.113 20.234-16.95 21.965-19.939l42.027-118.22c-16.748-14.613-29.471-33.974-35.43-57.51zm-288.07 51.261L23.652 158.331l89.309 12.988 2.158-5.052zm286.265 2.325l16.941 6.078-39.123 109.037-37.212 19.181-8.247-15.998 30.913-15.933zm-259.842 4.394l-70.586 36.043-29.222 68.422 19.218 8.809 24.905-57.764 59.299-22.973-14.702 75.955-.963 1.477c-32.725 50.18-71.654 93.41-118.464 134.28L42.722 432.98l17.021 7.245 31.875-43.989 1.38-.906c45.476-29.872 75.93-62.333 112.255-94.492l4.533-4.012 5.426 2.686c23.365 11.571 42.934 24.117 62.107 37.705l8.924 6.324-69.006 65.643 24.649 39.794 17.67-10.308-20.078-28.477 8.224-5.004c29.884-18.186 49.986-39.43 71.938-66.039-23.653-35.6-42.006-49.433-71.592-71.267l9.908-7.227c34.703-25.312 38.132-54.476 41.61-79.449-9.203 4.441-19.498 5.772-29.473 2.414-13.488-4.54-22.924-16.472-27.465-30.473-.17-.522-.321-1.054-.479-1.584zm116.62 45.04c-1.355 7.027-3.324 14.17-6.092 21.349l14.056 9.666 5.938-22.223zm-174.243 97.476l-126.85 17.953 99.67 14.105a598.987 598.987 0 0 0 27.18-32.058zm91.781 82.73l-95.892 21.432 59.406 13.277z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldImpact;

impl IconShape for ShieldImpact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193.7 19.2l40.1 107.9-7.1-107.9h-33zm99.3 0l2.3 100.4 22.6-100.4H293zm159.1 0L306.3 170.5l36.2 11.4L492.6 26.15V19.2h-40.5zm40.5 111c-58.4 39.6-125.8 86.4-125.8 86.4l125.8-15.9v-70.5zm-372.8 3c-19.8 51.9-56.72 98-101.44 141.3C61.35 342.9 110.5 402 156.6 440.7c23.7 19.9 46.6 34.4 66.9 42.1 20.3 7.8 37.6 8.7 51.5 3.1 10.1-4.1 17.7-16.3 22.1-37.1 4.5-20.8 5.3-48.9 3.7-80.3-1.7-33-6.1-69.5-11.4-105.8l-16.4 17 .4 20.4-83.6 39.8 6 24.3 53.1 8.4-2.8 17.8-45.7-7.2 5.5 22.5-17.4 4.2-13.2-54-52.9 10.4-3.4-17.6 35.6-7 6.1-13.9-44-31.8-40.59-20 7.96-16.2 30.53 15 7.1-30.3 17.6 4.2-8.5 35.3 37.2 26.8 34.3-79.3 20.5-.4 52.9-54.9-.3-2.1c-45.9-7.9-99.5-15.4-155.6-40.9zM292.3 185l-13 13.5 36.2 11.4 13-13.5-36.2-11.4zm-27 28l-17 17.7 14.8-.3 9-.2.4 24.2 29-30-36.2-11.4zm227.3 27.6c-65.3 10.2-149.5 23.7-149.5 23.7l149.5 20.9v-44.6zm-238.1 8l-40.2.7-32.2 74.4 73.1-34.8-.7-40.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldOpposition;

impl IconShape for ShieldOpposition {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.8 19.35l-70.9 67.77 65.2 24.58-28.2 64 79-82.78-67.4-23.2 22.3-50.37zm89.5 79.4C340.7 139.3 315.3 177.3 272 204c1.1 146.1 38.2 287.1 87.8 287.4 61.7.7 133.7-142.8 133.4-286.3-78.7-28.2-113.8-64.7-130.9-106.35zm-212.6.1C132.6 140.5 97.5 177 18.76 205.2c-.31 143.4 71.75 286.9 133.44 286.3 49.6-.4 86.7-141.4 87.8-287.5-43.3-26.6-68.7-64.6-90.3-105.15zm209.9 39.65l8.3 11.7c19 26.7 55.4 51.4 99.3 66.6l5.8 2 .3 6c2.3 44.7-11.5 104.2-31.7 153.8-10.1 24.7-21.8 47-34.5 63.6-12.6 16.6-26.3 28.8-42.7 29.1-8.9.2-16.6-4.6-22.5-11-6-6.4-11-14.8-15.5-24.7-9-19.8-16.2-45.9-21.9-73.5-11.4-55.3-16.6-115.7-13.5-143.9l.4-4.4 3.8-2.3c27.4-16.7 40.7-29.8 57.5-60.4l6.9-12.6zm-207.2.1l6.9 12.6c16.8 30.6 30.1 43.7 57.5 60.3l3.8 2.3.4 4.4c3.1 28.2-2.1 88.6-13.5 143.9-5.7 27.6-12.9 53.7-21.9 73.6-4.5 9.9-9.5 18.3-15.5 24.7-5.9 6.4-13.6 11.2-22.5 11-16.4-.3-30.1-12.4-42.7-29.1-12.67-16.6-24.37-38.8-34.47-63.6-20.2-49.6-33.99-109.1-31.7-153.8l.31-6 5.73-2c43.92-15.2 80.33-39.9 99.33-66.6l8.3-11.7zm209.4 32.7c-14.8 23.7-30.3 38.5-53.2 53-1.6 25.3 3 83 13.5 134.1 5.5 26.9 12.6 52 20.7 69.8 4 8.7 8.3 15.7 12.2 19.9 3.9 4 6.7 5.2 9 5.2 6.7 0 17.7-7.2 28.8-21.9 11.2-14.8 22.4-35.8 32.1-59.6 18.5-45.4 31.1-100.5 30.4-140.3-38.6-14.3-71.7-35.2-93.5-60.2zm-211.6.1c-21.8 25-54.9 45.9-93.52 60.2-.67 39.8 11.95 95 30.42 140.3 9.7 23.8 20.9 44.9 32.1 59.6 11.1 14.6 22.1 21.8 28.8 21.9 2.3 0 5.1-1.1 9-5.3 3.9-4.1 8.2-11.1 12.2-19.9 8.1-17.7 15.2-42.9 20.7-69.7 10.5-51.1 15.1-108.9 13.5-134.2-22.9-14.5-38.4-29.2-53.2-52.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShintoShrine;

impl IconShape for ShintoShrine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 43.637v13.447c166.014 44.44 287.965 45.322 452.29 2.586l4.93-14.79C317.103 87.802 190.876 87.396 25 43.636zm7.965 34.168l20.83 41.66c169.675 15.31 234.248 15.327 403.537.074l13.19-39.575c-156.893 39.28-279.4 38.56-437.557-2.16zM247.027 137l-11.5 46h40.946l-11.5-46h-17.946zM89 140.623V361H48v-41h16l-24-16-24 16h16v41h-7v14h7v71.14h-7v14h7V496h16v-35.86h41V487h46v-26.86h41V496h16v-35.86h7v-14h-7V375h7v-14h-7v-41h16l-24-16-24 16h16v41h-41V144.207c-14.517-1.026-29.803-2.226-46-3.584zm334 0c-16.197 1.358-31.483 2.558-46 3.584V361h-41v-41h16l-24-16-24 16h16v41h-7v14h7v71.14h-7v14h7V496h16v-35.86h41V487h46v-26.86h41V496h16v-35.86h7v-14h-7V375h7v-14h-7v-41h16l-24-16-24 16h16v41h-41V140.623zM44.486 185l10 30H71v-30H44.486zM153 185v30h206v-30h-63.473l4 16h-87.054l4-16H153zm288 0v30h16.514l10-30H441zM48 375h41v71.14H48V375zm87 0h41v71.14h-41V375zm201 0h41v71.14h-41V375zm87 0h41v71.14h-41V375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShintoShrineMirror;

impl IconShape for ShintoShrineMirror {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c65.828 0 119 53.172 119 119 0 17.118-3.603 33.376-10.082 48.07-4.014 2.842-8.05 5.713-12.107 8.576C318.946 224.551 283.5 247 256 247s-62.946-22.45-96.81-46.354c-4.058-2.863-8.094-5.734-12.108-8.576C140.603 177.376 137 161.118 137 144c0-65.828 53.172-119 119-119zm187.365 144.578c.927 2.362 1.76 5.694 1.889 9.945.21 6.952-1.11 15.58-3.793 23.631-2.684 8.052-6.753 15.523-11.334 20.502C425.546 228.636 421 231 416 231h-5.563l-2.488 4.975c-8 16-11.726 23.076-16.312 27.662-4.586 4.586-11.662 8.312-27.662 16.312l-16.1 8.051 16.1 8.05s7.393 3.725 14.625 9.15c2.43 1.822 4.649 3.817 6.632 5.8h-54.96l32.001 32H149.727l32.002-32h-54.961c1.983-1.983 4.201-3.978 6.632-5.8 7.232-5.425 14.625-9.15 14.625-9.15l16.1-8.05-16.1-8.05c-16-8-23.076-11.727-27.662-16.313-4.586-4.586-8.312-11.662-16.312-27.662L101.562 231H96c-5 0-9.546-2.364-14.127-7.344-4.581-4.98-8.65-12.45-11.334-20.502-2.684-8.051-4.004-16.679-3.793-23.63.129-4.253.962-7.584 1.889-9.946 8.603 1.304 19.639 5.853 32.04 13.172 14.682 8.664 31.068 20.556 48.136 32.604C182.946 239.449 219.5 265 256 265s73.054-25.55 107.19-49.646c17.067-12.048 33.453-23.94 48.134-32.604 12.402-7.32 23.438-11.868 32.041-13.172zM317.816 279.27c-64 16-59.632 16-123.632 0l-4.368 17.46c64 16 68.368 16 132.368 0zM391 357v16H121v-16zm-16 34v16H137v-16zm80 34v62h-70.453c-127.153-15.893-129.941-15.893-257.094 0H57v-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShipBow;

impl IconShape for ShipBow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 24.99v30.02h56.69L111.3 137l-86.3-.1V183l122.2-.1C127.7 129 106.7 71.9 89.7 25zM25 201v247.8c.78-.5 1.52-1 2.32-1.5C40.85 439 56.99 430 72.92 430c15.98 0 27.58 10 37.68 18 10.1 8 18.5 14 26.4 14 7.9 0 16.4-6 26.4-14s21.6-17.9 37.5-17.9c16 0 27.6 9.9 37.7 17.8 10 8 18.5 14.1 26.4 14.1 1.1 0 2.2-.2 3.4-.4 8.8-7.1 19.7-17.6 31.1-30.4 19.9-22.3 42.2-51.5 63.1-82.2 20.7-30.8 40.1-63 54.1-91.2 11.3-22.7 18.7-43 21.2-56.8zm167 30h159.9l.1 18-159.9.1zm72.9 50v23h23l.1 18-23.1.1v58.3l.6-.3c4.5-2.8 9.4-6.9 14.1-11.4 4.5-4.6 8.6-9.6 11.4-14.1 2.7-4.5 3.9-8.5 3.9-9.5l18-.1c-.1 7.1-2.9 13.1-6.6 19.1-3.7 6-8.6 11.9-14 17.4-5.5 5.3-11.4 10.2-17.4 13.9-6 3.7-11.9 6.6-18.9 6.6-7.1 0-13-2.9-19-6.6-6.1-3.7-12-8.6-17.4-14-5.5-5.5-10.3-11.4-14.1-17.4-3.7-6-6.6-11.9-6.6-18.9l18-.1c0 1 1.2 5 3.9 9.5 2.8 4.6 6.9 9.5 11.5 14.2 4.6 4.5 9.6 8.6 14.2 11.4.1.1.3.2.4.3v-58.3h-23v-18h23v-23zm189.9 166.9c-7.1.2-14.7 5.6-24 13.3-10.1 8.2-21.6 18.8-37.8 18.7-16 0-27.6-9.9-37.7-17.8-10-8-18.5-14.1-26.3-14.1-8 0-16.4 6-26.4 14s-21.7 18-37.6 18c-15.9 0-27.6-10-37.7-17.9-10-8-18.5-14-26.3-14-8 0-16.4 6-26.4 14-10 7.9-21.6 17.9-37.5 17.9-16 0-27.7-10-37.71-18-10.06-8-18.53-14-26.46-14-7.9 0-23.71 7-36.19 14.6-9.17 5.7-15.32 10.2-18.74 12.8v18.7l475.9 1.4v-19.4c-2.1-2.6-6.4-7.2-12.8-13-8.7-7.8-20.1-14.7-24.9-15.1-.4 0-.9-.1-1.4-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShipWheel;

impl IconShape for ShipWheel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 15.99c-8.8 0-16 14.33-16 32 0 8.47 1.7 16.59 4.7 22.57-4.7.21-9 1.16-13.7 2.43v15.85c17.1-2.42 34.1-2.31 50 0V72.99c-4.5-1.35-9.4-2.11-13.7-2.43 3-5.98 4.7-14.1 4.7-22.57 0-17.67-7.2-32-16-32zM86.23 86.28c-6.25 6.25-1.19 21.42 11.3 33.92 6.07 6 12.97 10.6 19.37 12.7-3.2 3.5-5.6 7.2-8 11.4l11.3 11.2c9.9-13.4 21.9-25.4 35.3-35.3l-11.2-11.3c-4.2 2.2-8 5.2-11.4 8-2.1-6.4-6.7-13.3-12.7-19.3-8-6.21-24.55-20.4-33.97-11.32zm305.57 11.3c-6 6.02-10.6 12.92-12.7 19.32-3.5-3.2-7.2-5.6-11.4-8l-11.2 11.3c13.4 9.9 25.4 21.9 35.3 35.3l11.3-11.2c-2.2-4.2-5.2-8-8-11.4 6.3-2.2 13.2-6.7 19.2-12.7 12.5-12.5 17.6-27.69 11.3-33.93-9.9-7.87-28 5.62-33.8 11.31zm-142.3 7.52c-36.8 1.6-70.2 16.3-95.6 39.6-3.3 3.1-6.6 6.3-9.2 9.2-23.3 25.4-38 58.8-39.6 95.7 0 4.5-.2 9.1.1 13 1.5 36.8 16.2 70.2 39.5 95.6 3.1 3.2 6.4 6.5 9.2 9.2 25.4 23.2 58.8 37.9 95.6 39.5h.2c4.1.2 8.7 0 12.8 0 36.8-1.6 70.2-16.3 95.6-39.6 3.3-3.1 6.6-6.3 9.2-9.2 23.3-25.4 38-58.8 39.6-95.6v-.2c.2-4.2 0-8.7 0-12.8-1.6-36.8-16.3-70.2-39.6-95.6-3.1-3.3-6.3-6.6-9.2-9.2-25.4-23.3-58.8-38-95.6-39.6-4.5-.2-9.1 0-13 0zm6.5 10.7c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm6.9 28.4c25.7 1.6 49.1 11.8 67.3 27.9 3.4 3.1 6.7 6.3 9.7 9.7 16.1 18.2 26.3 41.6 27.9 67.4.4 4.6 0 9.2 0 13.7-1.6 25.7-11.8 49.1-27.9 67.3-3.1 3.4-6.3 6.7-9.7 9.7-18.2 16.1-41.6 26.3-67.4 27.9-4.6.1-9.2.4-13.7 0-25.7-1.6-49.1-11.8-67.2-27.9h-.1c-3.4-3-6.6-6.3-9.6-9.7-16.1-18.1-26.4-41.5-28-67.3-.1-4.6-.4-9.1 0-13.6.5-25.8 13.3-50.5 27.9-67.5 3.1-3.4 6.3-6.7 9.7-9.7 18.2-16.1 41.6-26.3 67.4-27.9 4.6-.4 9.2 0 13.7 0zm-94.8 12.6c3.1 3.1 3.1 8.2 0 11.3-3.1 3.1-8.2 3.1-11.3 0-3.1-3.1-3.1-8.2 0-11.3 3.5-2.9 8.2-2.9 11.3 0zm187.1 0c3.1 3.1 3.1 8.2 0 11.3-3.1 3.1-8.2 3.1-11.3 0-3.1-3.1-3.1-8.2 0-11.3 3.5-2.9 8.2-2.9 11.3 0zM240 163.3v8.7c2.5 3.2 4.4 5.5 7.8 6.8-.7 12.4-1.6 25.1-2.8 37.7 7.4-1.9 15.2-2 22.1.1-1.2-12.7-2.2-25.4-2.9-37.9 7.9-2.1 7.8-8.6 7.8-15.4-11-1.7-21.8-1.6-32 0zm-38.3 15.8c-8.7 6.2-16.4 13.9-22.6 22.6l6.2 6.2c4 .5 7 .8 10.3-.7 8.3 9.3 16.6 18.9 24.7 28.7 3.7-6.5 9.1-11.9 15.7-15.6-9.9-8.1-19.5-16.4-28.8-24.7 1.8-3.1 1.3-6.7.7-10.3zm108.6 0l-6.2 6.2c-.7 4-.8 6.9.6 10.3-9.2 8.3-18.9 16.6-28.7 24.7 6.5 3.7 11.9 9.1 15.6 15.7 8.1-9.9 16.5-19.5 24.7-28.8 3.2 1.7 6.7 1.3 10.3.7l6.2-6.2c-6.2-8.7-13.8-16.4-22.5-22.6zM423.1 231c2.5 17.1 2.3 34.1 0 50H439c1.5-4.5 2-9.4 2.3-13.7 6 3 14.2 4.7 22.7 4.7 17.7 0 32-7.2 32-16s-14.3-16-32-16c-8.5 0-16.7 1.7-22.7 4.7-.1-4.7-1-9-2.3-13.7zm-350.07.1c-1.35 4.5-2.11 9.2-2.4 13.6-6.02-3-14.15-4.6-22.6-4.6-17.67 0-32 7.2-32 16s14.33 16 32 16c8.48 0 16.61-1.7 22.6-4.7.15 4.7 1.12 9 2.4 13.7h15.8c-2.38-17.1-2.5-34.1 0-50zM256 233c-12.9 0-23 10.2-23 23s10.1 23 23 23c12.8 0 23-10.2 23-23s-10.2-23-23-23zm84 7c-3.2 2.5-5.5 4.4-6.8 7.8-12.4-.7-25.1-1.6-37.7-2.8 1.9 7.5 1.9 15.2 0 22.1 12.6-1.2 25.2-2.2 37.7-2.9 1 3.5 3.8 5.7 6.8 7.8h8.7c1.7-11 1.6-21.8 0-32zm-176.7.1c-1.7 10.9-1.5 21.8 0 32h8.7c3.1-2.5 5.6-4.3 6.7-7.8 12.5.6 25.1 1.6 37.8 2.8-2-7.5-2-15.2-.1-22.1-12.6 1.2-25.3 2.1-37.7 2.8-.9-3.5-3.8-5.7-6.7-7.7zm224.9 7.9c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm-264.4.1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm167.9 28c-3.7 6.5-9.1 11.9-15.7 15.6 9.9 8.1 19.5 16.4 28.8 24.7-1.8 3.1-1.3 6.7-.7 10.3l6.2 6.2c8.7-6.2 16.4-13.9 22.6-22.6l-6.2-6.2c-4-.5-7-.8-10.3.7-8.3-9.3-16.6-18.9-24.7-28.7zm-71.4 0c-8.1 9.8-16.4 19.4-24.7 28.7-3.1-1.8-6.7-1.3-10.2-.7l-6.3 6.2c6.2 8.8 13.9 16.5 22.7 22.6l6.2-6.2c.5-4 .8-7-.7-10.3 9.3-8.3 18.9-16.6 28.7-24.7-6.5-3.7-12-9.1-15.7-15.6zm24.6 19.3c1.2 12.7 2.2 25.4 2.9 37.9-3.5.8-5.8 3.8-7.8 6.7v8.7c11 1.7 21.8 1.6 32 0V340c-2.5-3.2-4.4-5.5-7.8-6.8.7-12.4 1.6-25.1 2.8-37.7-7.7 1.3-15.8 1.7-22.1-.1zm-76.7 48.5c3.1 3.1 3.1 8.2 0 11.3-3.1 3.1-8.2 3.1-11.3 0-3.1-3.1-3.1-8.2 0-11.3 3.5-3 8.2-3 11.3 0zm187 0c3.1 3.1 3.1 8.2 0 11.3-3.1 3.1-8.2 3.1-11.3 0-3.1-3.1-3.1-8.2 0-11.3 3.5-3 8.3-3 11.3 0zm36.6 12.6c-9.9 13.4-21.9 25.4-35.3 35.3l11.2 11.3c4.2-2.2 8-5.2 11.4-8 2.1 6.4 6.7 13.3 12.7 19.3 12.5 12.5 27.6 17.5 33.9 11.3 6.2-6.3 1.2-21.4-11.3-33.9-6-6-12.9-10.6-19.3-12.7 3.2-3.5 5.6-7.2 8-11.4zm-271.6 0L109 367.7c2.3 4.1 5.1 8.2 8 11.4-6.4 2.1-13.3 6.7-19.37 12.7-12.47 12.5-17.52 27.6-11.3 33.9 6.24 6.3 21.47 1.2 33.97-11.3 6-6 10.6-12.9 12.7-19.3 3.5 3.2 7.2 5.6 11.4 8l11.2-11.2c-13.5-10-25.4-21.9-35.4-35.4zM256 380.2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm-25 43V439c4.5 1.4 9.4 2.1 13.7 2.4-3 6-4.7 14.1-4.7 22.6 0 17.7 7.2 32 16 32s16-14.3 16-32c0-8.5-1.7-16.6-4.7-22.6 4.7-.2 9-1.1 13.7-2.4v-15.9c-17.1 2.5-34.1 2.4-50 .1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShipWreck;

impl IconShape for ShipWreck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.371 87.72l-14.676 26.54-40.927-24.873L20.07 120.15l42.192 25.641-14.575 26.357 15.752 8.71 46.684-84.426zM112 128c-12.406 17.74-28.85 57.069-31.646 80.46-1.51 12.633.156 22.758 2.863 26.73 1.353 1.985 2.479 2.81 4.902 3.314 2.424.504 6.516.344 12.47-1.736l12.307-4.301-.341 13.033c-.303 11.499 4.752 25.295 12.767 38.895 2.02-17.074 8.016-34.148 14.38-51.221-3.64 27.491-2.424 52.21 2.58 74.762 5.335 6.22 11.051 12.027 16.863 17.103 12.204 10.66 24.815 18.15 32.767 20.356 3.976 1.103 6.375.725 6.908.488.533-.237.76.118 1.239-2.805 1.542-9.415.807-30.268 1.867-55.385 1.003-23.768 5.305-54.726 14.319-83.528C197.233 181.141 160.156 136.151 112 128zm118.8 88.178c-5.788 19.743-8.61 39.331-10.005 57.353l9.666 17.95-10.805 4.714c-.187 7.113-.234 13.586-.285 19.766l19.652-8.576.092.17 33.059-14.541-.043-.08 93.627-40.862-7.201-16.498-94.989 41.457zm178.991 48.681c-44.479 57.958-86.364 118.263-184.195 170.905 1.367 1.082 2.706 2.157 4.013 3.199C239.647 446.963 248.1 453 256 453c7.9 0 16.353-6.037 26.39-14.037 10.038-8 21.66-17.963 37.61-17.963s27.572 9.963 37.61 17.963C367.646 446.963 376.1 453 384 453c1.082 0 2.174-.124 3.28-.34a748.512 748.512 0 0 0 4.878-22.088l-18.887-31.648 18.26-13.344-16.855-15.451 29.488-17.693c3.11-29.2 4.82-58.325 5.627-87.577zm17.697 9.9c-1.878 54.857-7.063 109.735-19.025 165.718.642-.505 1.273-.992 1.928-1.514 8.532-6.8 18.212-15.017 30.72-17.328l7.094-4.451c.06-4.398.102-8.788.115-13.163l-13.947-2.99s6.643-16.46 13.211-32.105c-1.693-33.026-6.783-64.837-20.096-94.166zm-146.754 34.153l-33.058 14.541 30.902 57.39a407.377 407.377 0 0 0 28.238-23.491zM139.338 331.25l-15.188 6.629 7.2 16.498 22.902-9.996a189.539 189.539 0 0 1-6.947-5.783 212.624 212.624 0 0 1-7.967-7.348zm-44.631 49.92c-2.589.006-5.186.17-7.824.549-3.313.677-6.773 1.252-9.541 3.2 1.69 2.914 4.871 5.5 7.146 7.085 6.59 4.538 17.22 9.18 29.512 12.04 12.292 2.863 23.877 3.394 31.793 2.233 3.313-.677 6.771-1.253 9.539-3.2-1.694-2.913-4.87-5.5-7.144-7.085-6.59-4.538-17.218-9.177-29.51-12.039-8.513-1.382-16.205-2.8-23.971-2.783zm60.625 21.906c.13.305.063.281.121.03.059-.252.128-.244-.121-.03zm-86.457-.457c-2.918 6.024-5.2 12.191-6.947 18.436A43.474 43.474 0 0 1 64 421c15.95 0 27.572 9.963 37.61 17.963C111.646 446.963 120.1 453 128 453c6.132 0 12.607-3.657 19.887-9.025 1.978-6.92 3.63-13.802 4.754-20.66a60.452 60.452 0 0 1-4.235.77c-10.999 1.614-24.335.786-38.488-2.509-14.153-3.295-26.483-8.443-35.639-14.748a55.04 55.04 0 0 1-5.404-4.209zM64 439c-13.413 0-26.972 6.374-39 13.35v21.064c.916-.582 1.815-1.16 2.768-1.746C40.264 463.988 56.099 457 64 457c7.9 0 16.353 6.037 26.39 14.037 10.038 8 21.66 17.963 37.61 17.963s27.572-9.963 37.61-17.963C175.646 463.037 184.1 457 192 457c7.9 0 16.353 6.037 26.39 14.037 10.038 8 21.66 17.963 37.61 17.963s27.572-9.963 37.61-17.963C303.646 463.037 312.1 457 320 457c7.9 0 16.354 6.037 26.39 14.037 10.038 8 21.66 17.963 37.61 17.963s27.572-9.963 37.61-17.963C431.646 463.037 440.1 457 448 457c7.9 0 23.736 6.989 36.232 14.668.953.585 1.852 1.164 2.768 1.746V452.35c-12.028-6.976-25.587-13.35-39-13.35-15.95 0-27.572 9.963-37.61 17.963C400.354 464.963 391.9 471 384 471c-7.9 0-16.353-6.037-26.39-14.037-10.038-8-21.66-17.963-37.61-17.963s-27.572 9.963-37.61 17.963C272.354 464.963 263.9 471 256 471c-7.9 0-16.353-6.037-26.39-14.037-10.038-8-21.66-17.963-37.61-17.963s-27.572 9.963-37.61 17.963C144.354 464.963 135.9 471 128 471c-7.9 0-16.353-6.037-26.39-14.037C91.571 448.963 79.95 439 64 439z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShirtButton;

impl IconShape for ShirtButton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.4 31.96a224 224 0 0 0-62.1 8.96A224 224 0 0 0 40.97 318.7 224 224 0 0 0 318.7 471 224 224 0 0 0 471 193.2 224 224 0 0 0 256 31.96a224 224 0 0 0-.6 0zm-.6 38.97c80.5-.56 155.1 52.07 178.8 133.27 28.6 98-27.8 200.8-125.8 229.4-98 28.5-200.8-27.8-229.39-125.8C49.82 209.7 106.2 106.9 204.2 78.36c16.8-4.91 33.8-7.32 50.6-7.43zm.1 17.98c-15.1.11-30.5 2.29-45.7 6.73C120.6 121.5 69.84 214.1 95.69 302.7 121.5 391.3 214.1 442.1 302.8 416.3c88.6-25.9 139.4-118.5 113.5-207.1-21.4-73.4-88.5-120.83-161.4-120.29zm45 62.69c10.7.2 20.5 7.3 23.6 18 3.9 13.1-3.8 27.2-17 31-13.1 3.8-27.1-3.9-31-17-3.8-13.2 3.9-27.2 17-31 2.5-.7 5-1 7.4-1zm-.2 18c-.7 0-1.4.1-2.1.3-3.9 1.1-5.9 4.8-4.8 8.7 1.1 3.8 4.8 5.8 8.7 4.7 3.8-1.1 5.9-4.8 4.7-8.7-.9-3.1-3.5-5-6.5-5zm-124.5 17.9h1.9c10.6.2 20.4 7.3 23.5 17.9 3.9 13.2-3.8 27.2-17 31-13.1 3.9-27.1-3.8-31-17-3.8-13.1 3.9-27.1 17-31 1.9-.5 3.7-.8 5.6-.9zm1.6 17.9c-.7 0-1.4.1-2.1.3-3.9 1.1-5.9 4.9-4.8 8.7 1.1 3.8 4.9 5.9 8.7 4.8 3.8-1.2 5.9-4.9 4.8-8.7-.9-3.1-3.6-5.1-6.6-5.1zm159 69.1c10.6.2 20.5 7.3 23.6 18 3.8 13.1-3.9 27.1-17 31-13.2 3.8-27.2-3.9-31-17-3.9-13.2 3.8-27.2 17-31 2.4-.7 4.9-1.1 7.4-1zm-.8 18c-.6 0-1.1.1-1.6.3-3.8 1.1-5.9 4.8-4.8 8.6 1.2 3.9 4.9 5.9 8.7 4.8 3.9-1.1 5.9-4.8 4.8-8.7-.9-3.1-3.6-5-6.6-5h-.5zm-122.1 17.8c10.6.3 20.5 7.3 23.6 18 3.8 13.2-3.9 27.2-17 31-13.2 3.9-27.2-3.8-31-17-3.8-13.1 3.8-27.1 17-31 2.5-.7 4.9-1 7.4-1zm-.2 18c-.7 0-1.5.1-2.2.3-3.8 1.1-5.9 4.8-4.7 8.7 1.1 3.8 4.8 5.9 8.6 4.7 3.9-1.1 5.9-4.8 4.8-8.6-.9-3.2-3.5-5.1-6.5-5.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoebillStork;

impl IconShape for ShoebillStork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.2 20.58c7 15.26 13.6 30.55 23.4 44.54-20.6-8.23-35.9-14.73-35.7-14.85 4.6 10.02 9 20.04 14.3 29.71-11.4-2.3-18.9-3.92-18.8-4.01 14.7 19.74 28.1 39.73 58.5 52.13-6.9 12.7-12.7 27-16.9 42.7-14.3 53.1 20 96.6 44.3 138.6 30.4 6.7 63.2 20.2 94.4 37.4-.5-.9-1.1-1.8-1.6-2.7-11.7-20.6-12-43.6-9.4-65.8 2.4-21.3 7.4-42.4 9-61.6-24.1-34.6-60.5-89.4-90.4-40.4-28.9 46.9 15.1 90.2 48 116.3l-11 14.2s-15.9-12.1-32-28.8c-16.2-16.7-33.7-37.2-34.5-59.7-.6-16.7 4.6-35.5 14-51.3 22.3-31.5 48.8-40.7 78.1-16.2 10.4 8.8 19.8 20.3 27.8 31.7 3.2 4.6 6.1 9.1 8.8 13.5-1.3-3.5-2-7.3-2-11.2 0-13.3 8.1-24.9 19.6-30.1-15.6-9.7-23.6-22.3-24.1-39.1l18-.4c-.1 12.5 7.9 19.4 16.5 24.8 7.2 4.5 16.8 10.1 24.6 19.9 6.9 6.1 11.4 15 11.4 24.9 0 10.6-5.1 20.2-13.1 26.2 22.2-3.3 40.3-8.9 54.5-23.7.2-29.1-5.6-49.7-34.2-69.9-28.6-20.16-78.1-48.66-117.8-50.31-41.1-11.55-124.2-46.22-123.7-46.51zM322.5 169.8c-8.4 0-15 6.6-15 15s6.6 15 15 15c1 0 2-.1 2.9-.3-5-.6-8.8-4.9-8.8-9.9 0-5.5 4.5-10.7 10-10 6.3.8 9.9 5.4 10 10.4.6-1.6.9-3.4.9-5.2 0-8.4-6.6-15-15-15zm69.6 45.4c-21.7 13.6-51.8 17.2-81.5 12.7 20.5 81.7 65.9 153.7 134.1 209.1-.3 13.6-5.4 26.7-8.4 39.9 16.8-12.5 33.9-25.6 44.1-44.7-35.9-73-74.4-129.6-88.3-217zm-95.2 31c-2 11.6-4 23.1-5.3 34.1-2.4 20.7-1.8 39.2 7.1 55 21.7 38.2 57.3 64.9 99.9 84.3-48.6-49.2-83-108.3-101.7-173.4zm-127.1 79.2c-67.5-.2-101.01 28.7-153.16 56.5v111H181.5l14.9-52.5c-26.6 8.8-49.9 21.5-73.6 37.8l-13.2 9.1-.9-16c-.8-15 4.1-32.7 14.7-48.8-39.8 3.1-66.55 13.2-103.37 24l20.57-23.3c17.84-20.3 38.28-48.4 83.6-63l5.6 17.2c-26 8.3-41.99 20.8-55.07 34.4 32.27-8 54.27-8.1 84.17-3.1-12.7 12.6-24.9 28.2-29.7 44 24.1-14.9 49.1-26.8 78.1-34.4l15.3-4-11.3 39.6c20.6-10.7 46.6-20.6 68.3-25.8l4.2 17.6c-26.8 6.3-64.7 22.6-82.2 34.7l-18 12.5H372c6.8-20.2 10.5-33.9 9.5-50.7-54.8-52.8-128.4-101.5-200.3-116.4-3.9-.2-7.7-.3-11.4-.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shop;

impl IconShape for Shop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.18 21c-23.242 0-46.577 3.01-63.186 8.54-8.304 2.763-14.868 6.196-18.808 9.558-3.94 3.36-5.167 5.956-5.186 8.96L168.943 57H41v14h430V57H342.967l.033-9.033c.01-3.002-1.17-5.55-5.057-8.895-3.887-3.344-10.407-6.773-18.677-9.535C302.724 24.014 279.42 21 256.18 21zM38.277 89l-10.443 94h80.9l20.243-86.36L122.81 183h81.07l17.114-86.68-3.096 86.68h75.75l-4.634-86.518L307.694 183h81.497l-6.167-86.36L403.266 183h80.9l-10.443-94H38.277zM25.834 201l-.51 4.588C39.822 226.445 52.968 235 64 235c11.32 0 24.852-8.89 39.8-30.96l.714-3.04h-78.68zm95.687 0l-.32 4.498C135.753 226.495 148.935 235 160 235c11.293 0 24.788-8.85 39.693-30.803l.63-3.197h-78.802zm95.736 0l-.156 4.352C231.69 226.455 244.908 235 256 235c11.08 0 24.28-8.525 38.85-29.576l-.237-4.424h-77.357zm94.324 0l.674 3.12c15 22.192 28.503 31.044 39.773 31.013 11.03-.03 24.212-8.62 38.772-29.637l-.32-4.496h-78.9zm95.906 0l.713 3.04C423.147 226.11 436.68 235 448 235c11.032 0 24.178-8.555 38.676-29.412l-.51-4.588h-78.68zM112 223.31C97.313 242.11 81.492 253 64 253c-13.972 0-26.884-6.906-39-19.264V487h318V279h114v208h30V233.736C474.884 246.094 461.972 253 448 253c-17.49 0-33.31-10.888-47.996-29.684-14.664 18.808-30.432 29.77-47.926 29.817-17.508.048-33.352-10.87-48.092-29.807C289.303 242.116 273.486 253 256 253c-17.492 0-33.313-10.89-48-29.69-14.687 18.8-30.508 29.69-48 29.69s-33.313-10.89-48-29.69zM55 279h258v178H55V279zm18 18v142h222V297H73zm288 0v71.064l78 .573V297h-78zM88 312h128c-108.235 8-116.31 24-128 113.11V312zm273 74.066v13.998l78 .573v-14.002l-78-.57zm0 32V487h78v-68.365l-78-.57z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoppingBag;

impl IconShape for ShoppingBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-35 0-62 17.92-79.3 41.71-11.9 16.38-19.6 35.49-23.2 54.29H172c3.4-15.2 9.9-30.77 19.3-43.71C206 55.08 227 41 256 41s50 14.08 64.7 34.29c9.4 12.94 15.9 28.51 19.3 43.71h18.5c-3.6-18.8-11.3-37.91-23.2-54.29C318 40.92 291 23 256 23zM88.25 137L57.81 487H454.2l-30.4-350H88.25zM160 160a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm192 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoppingCart;

impl IconShape for ShoppingCart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.45 63.043l-4.364 17.463 8.73 2.18L90.44 97.846l29.402 44.1 62.44 187.32-36.845 73.693h17.827c-2.086 4.238-3.264 8.99-3.264 14 0 17.567 14.433 32 32 32s32-14.433 32-32c0-5.01-1.178-9.762-3.264-14h102.528c-2.086 4.238-3.264 8.99-3.264 14 0 17.567 14.433 32 32 32s32-14.433 32-32c0-5.01-1.178-9.762-3.264-14H393v-18H174.562l23-46h192.924l70-210h-327.67L101.56 82.07 34.183 65.227l-8.733-2.184zm115.038 83.914H231v46h-75.178l-15.334-46zm108.512 0h78v46h-78v-46zm96 0h90.512l-15.334 46H345v-46zm-183.18 64H231v46h-53.846l-15.334-46zm87.18 0h78v46h-78v-46zm96 0h69.18l-15.334 46H345v-46zm-161.846 64H231v46h-32.514l-15.332-46zm65.846 0h78v46h-78v-46zm96 0h47.846l-15.332 46H345v-46zm-153 128c7.84 0 14 6.16 14 14s-6.16 14-14 14-14-6.16-14-14 6.16-14 14-14zm160 0c7.84 0 14 6.16 14 14s-6.16 14-14 14-14-6.16-14-14 6.16-14 14-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shorts;

impl IconShape for Shorts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M101.535 52.88c-3.966 15.398-4.738 29.582-.7 42.608h105.714v-42.61H101.534zm123.014 0v42.608h62.69v-42.61h-22.345v20.204h-18V52.88H224.55zm80.69 0v42.608h104.305c2.18-14.494 1.95-28.615-.05-42.61H305.24zm-204.6 60.608c-15.2 37.77-29.954 77.85-42.458 118.317 22.223 9.172 45.87 13.042 70.375 16.257l10.66 1.4-18.424 58.022-3.23.106c-8.268 28.267-14.914 57.303-16.743 89.803l-.445 7.914-7.906.558c-26.8 1.89-48.538-5.78-67.872-15.736-1.048 11.952-1.65 23.698-1.723 35.165 8.597 14.946 29.86 24.225 57.986 28.92 27.165 4.534 59.24 4.878 87.995 4.906 20.865-61.546 58.897-156.786 78.987-197.026l4.025-8.065c-2.232-.81-7.816-2.92-14.082-5.977-8.07-3.94-17.42-8.583-23.02-17.596-9.29-14.95-10.207-35.844-10.136-53.8.07-17.954 1.99-32.905 1.99-32.905l1.144-8.926 17.853 2.283-1.142 8.927s-1.78 13.98-1.846 30.692c-.067 16.71 2.447 36.223 7.42 44.227 1.286 2.067 8.678 7.525 15.63 10.918 6.95 3.393 13.134 5.52 13.134 5.52l8.514 2.92-5.805 16.925 2.424 4.854c20.09 40.24 58.122 135.48 78.987 197.027 28.755-.027 60.83-.37 87.994-4.905 28.124-4.694 49.388-13.972 57.986-28.916-.074-11.415-.69-23.123-1.756-35.046-19.273 9.895-40.94 17.493-67.627 15.61l-7.905-.557-.445-7.914c-1.83-32.5-8.475-61.536-16.744-89.803l-3.23-.106-15.17-47.775-3.253-10.25 10.66-1.398c24.326-3.19 47.807-7.03 69.89-16.058-12.582-40.713-27.318-80.93-42.214-118.516H100.64zm-57.85 131.07c-4.104 8.318-6.67 16.978-7.235 26.544 18.53 9.355 41.86 18.283 72.02 18.537l8.027-25.286c-24.327-3.487-48.99-8.4-72.81-19.797zm426.42 0c-23.822 11.396-48.485 16.31-72.812 19.796l8.03 25.285c30.157-.255 53.488-9.183 72.017-18.538-.566-9.566-3.13-18.226-7.236-26.545zM36.616 291.694c-6.152 24.697-10.976 50.186-14.61 76.39 19.114 10.99 37.874 19.79 61.52 19.954 2.367-29.072 8.276-55.42 15.428-80.556-24.862-1.463-45.573-8.246-62.338-15.79zm438.766 0c-16.765 7.543-37.476 14.326-62.338 15.79 7.152 25.136 13.06 51.483 15.428 80.554 23.646-.165 42.406-8.964 61.52-19.956-3.634-26.203-8.458-51.692-14.61-76.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShotgunRounds;

impl IconShape for ShotgunRounds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.223 42.74c-8.67.003-17.32.527-25.252 1.49l22.995 7.374 26.06-7.204-14.904 8.266 29.183.938-31.168 1.953 7.627 4.894c12.12-1.384 25.08-4.335 39.133-9.216-2.915-1.435-6.917-2.873-11.635-4.064-11.368-2.87-26.75-4.434-42.037-4.43zm-25.452 1.512c-5.98.732-11.56 1.705-16.362 2.932-4.785 1.222-8.804 2.705-11.63 4.156 3.057 1.185 6.148 2.28 9.277 3.285l32.324-1.734zm-18.176 10.543c7.56 2.397 15.358 4.233 23.506 5.353l8.462-4.365zm40.732 2.166l-13.195 3.68c8.334.888 17.042 1.022 26.23.247zm61.553 11.56c-46.084 15.603-83.883 12.33-116.5.343v265.383c35.69 13.848 74.13 13.286 116.5-1.504.03-87.962.005-180.644 0-264.22zm26.42 162.384c-.07 0-.143.003-.214.002.998 1.19 1.976 2.432 2.94 3.723 7.82 10.48 14.66 24.324 19.845 38.66 2.266 6.26 4.196 12.576 5.693 18.76l3.472-17.605-.037.202c.346-1.993.785-3.923 1.283-5.81-2.916-10.882-7.918-20.998-13.995-27.82-5.77-6.48-11.836-9.965-18.984-10.113zm97.268 5.592c-24.834.066-43.015 13.465-47.84 41.23l-.017.102-3.814 21.336c15.8-9.586 32.307-15.674 50.56-15.127 20.85.625 43.688 7 61.058 18.172l-3.38-25.292-.01-.11c-5.358-29.38-29.49-40.086-56.556-40.312zm-105.69 13.7v83.113l19.768-6.546-.017-.086c.516-.107.265.336.983-1.34.72-1.676 1.386-5.31 1.27-10.024-.233-9.425-3.236-22.905-7.938-35.902-3.877-10.72-8.928-21.185-14.068-29.215zM159.38 266.26c-26.83 5.996-54.302 12.135-74.978 16.775-3.493.784-5.36 1.21-8.54 1.924 2.44 1.747 4.765 3.663 6.945 5.737 12.8 12.178 21.682 29.216 26.61 47.237 4.93 18.02 5.93 37.097 1.563 53.85-.805 3.094-1.827 6.122-3.058 9.044l51.46-17.035zM44.138 292.244c-.22.004-.448.026-.67.033l-.766.174c-2.258.52-4.354 1.064-3.49.818l-.187.052-.187.045c-3.245.778-5.52 2.43-7.758 5.71-2.238 3.282-4.103 8.264-5.115 14.433-2.024 12.338-.608 29.12 3.922 45.05 4.53 15.926 12.184 31.026 21.205 40.588 8.128 8.617 16.29 12.72 25.928 11.456 8.42-4.317 13.658-12.273 16.546-23.356 3.324-12.754 2.71-29.15-1.505-44.564-4.218-15.415-12.014-29.77-21.658-38.946-7.835-7.454-16.33-11.65-26.265-11.492zm371.504 9.742c-21.177-.128-41.18 6.894-55.216 22.91l-3.385 17.155c15.41-16.114 37.094-26.187 61.087-26.187 26.287 0 49.818 12.072 65.348 30.957l-2.55-19.078C465 312.387 441.15 302.724 417.92 302.027c-.76-.022-1.52-.036-2.277-.04zM38.997 315.023L57.7 343.928l13.663-21.848-6.69 29.15 27.198 15.944-24.782-4.742 10.422 27.355-17.703-26.1-12.787 20.225 5.455-27.603-25.204-14.65 24.07 5.488zm379.13 16.614c-38.096 0-68.81 30.715-68.81 68.812 0 38.096 30.714 68.81 68.81 68.81 38.098 0 68.813-30.714 68.813-68.81 0-38.098-30.716-68.813-68.813-68.813zM293.88 351.71c-40.93 13.13-80.13 14.003-116.5 1.66v40.038c35.69 14.074 74.128 13.705 116.5-.928zm124.247 24.265c13.517 0 24.475 10.957 24.475 24.474 0 13.516-10.958 24.474-24.475 24.474-13.517 0-24.475-10.958-24.475-24.475 0-13.518 10.958-24.475 24.475-24.475zm-121.23 34.488c-42.767 14.164-83.67 15-121.467 1.433l-3.157 13.618c38.888 19.18 84.998 18.925 128.79-.21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoulderArmor;

impl IconShape for ShoulderArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 56.643l-16 64-98.568 14.082L256 175.365l162.568-40.64L320 120.643l-16-64-27.268 18.18-12.002 48.003h-17.46l-12.002-48.004zm-138.621 90.62L16 200.644l48 64 25.77-25.77 26.619-79.857zm373.242 0l-47.01 11.753 26.62 79.857L448 264.643l48-64zm-308.717 16.132l-20.123 60.369 13.81 55.246L247 345.348V191.67zm244.192 0L265 191.67v153.678l119.408-66.338 13.81-55.246zM144 308.715v56.314l103 30.627v-29.719zm224 0l-103 57.223v29.718l103-30.627zm-224 75.54v56.388l103 14.714V414.88zm224 0L265 414.88v40.478l103-14.714z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoulderBag;

impl IconShape for ShoulderBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.75c14.4 0 27.4 5.89 38.2 15.27 10.8 9.38 19.7 22.17 27.5 37.08C337.2 101 348 139.6 355.8 178c11.6 56.7 16.5 113 18.3 138.8H356c-1.8-25.8-6.7-80.5-17.8-135.2-7.7-37.6-18.4-75.1-32.5-102.2-7.1-13.59-15-24.55-23.3-31.79-8.4-7.25-16.8-10.86-26.4-10.86-9.6 0-18 3.61-26.4 10.86-8.3 7.24-16.2 18.2-23.3 31.79-14.1 27.1-24.8 64.6-32.5 102.2-11.1 54.7-16 109.4-17.8 135.2h-18.1c1.8-25.8 6.7-82.1 18.3-138.8 7.8-38.4 18.6-77 34.1-106.9 7.8-14.91 16.7-27.7 27.5-37.08 10.8-9.38 23.8-15.27 38.2-15.27zM374.9 334.8c0 11.3-.1 22-.3 32.1-80.2 18.9-159.1 18.1-237.2-.1-.2-10.2-.3-20.7-.3-32zm-1 50.6c-2.1 38.4-8.7 68.1-29.1 94.9v.1l-.1.1c.1-.1-2.7 2.1-7.8 4-5.2 1.8-12.4 3.5-20.8 4.8-16.8 2.6-38.5 4-60.1 4s-43.3-1.4-60.1-4c-8.4-1.3-15.6-3-20.8-4.8-5.1-1.9-7.9-4.1-7.8-4l-.1-.1v-.1c-20.4-26.8-27-56.7-29.1-94.9 77.6 17.4 156.3 18.2 235.8 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shower;

impl IconShape for Shower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.42 18l21.598 37.41 39.837-23-8.32-14.41H54.42zm70.435 29.998l-39.837 23 8 13.857 39.837-23-8-13.857zm97.01 3.805c-1.94.005-3.882.069-5.824.185-32.718 1.964-66.393 20.955-94.105 36.955-27.713 16-60.995 35.669-79.055 63.022-17.151 25.977-22.485 58.618 3.46 107.639L307.53 108.807c-27.637-44.044-56.554-57.083-85.664-57.004zm94.84 72.492l-261.539 151 8 13.855 261.54-151-8-13.855zm19.385 28.066l-17.934 10.356L494 265.68v-20.858l-157.91-92.46zm-58.182 33.592l-16.039 9.26L494 438.95V412.85L277.908 185.953zm67.455 17.113l-11.345 13.973 107.533 87.307 11.345-13.975-107.533-87.305zm-124.99 16.104l-15.588 9.002 84.194 148.133 15.648-8.895-84.254-148.24zm-28.586 34.238l-16.24 7.762L286.83 494h19.953L191.787 253.408zm96.533 5.916l-14.463 10.715L439.801 494h22.404L288.32 259.324zm-162.103 14.21l-16.1 9.294L168.836 494h18.682l-61.301-220.467zM90.28 294.278l-16.562 9.563 12.416 68.678 17.713-3.202L90.28 294.28zm91.194 27.746l-16.875 6.266L226.133 494h19.199l-63.857-171.975zm140.93 80.065l-15.52 9.119L355.535 494h20.877l-54.008-91.91zm-210.96 11.683l-17.81 2.61L105.015 494h18.192l-11.762-80.227z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shrimp;

impl IconShape for Shrimp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M376.4 19.14c-24.4-.17-55.5 6.54-89 13.02-33.4 6.48-68.9 12.8-100.2 12.56-31.2-.24-57.4-6.91-74.6-24.83L99.67 32.35C128 59.39 166 63.49 200.2 62.49c-8.4 1.48-17.2 2.59-26.1 3.21-36.7 2.54-75.23-2.61-92.58-13.15l-9.34 15.38C96.57 82.72 136.4 86.36 175.3 83.65c38.6-2.68 75.7-11.02 94.7-29.9 7.1-1.28 14.1-2.59 20.9-3.92 33.6-6.51 64.5-12.84 85.3-12.69 10.5.1 18 1.91 21.9 4.57 2.3 1.53 3.9 3.15 4.8 5.78h18.3c-1.7-8.79-6.3-16.19-13-20.74-8.8-5.86-19.6-7.52-31.8-7.61zm51.7 46.1c-44.9-.24-134 8.46-209.4 29.2 1.1-.11 2.2-.17 3.3-.17 18.1 0 33 14.93 33 33.03s-14.9 33-33 33-33-14.9-33-33c0-13 7.7-24.3 18.7-29.71-27.9 8.31-53.4 18.31-73.4 30.21 51.7 27.3 77.4 63 99.9 97.3 73.4-20.4 119.8-42.8 174.9-95.9-24.1 5.9-35.3 6.5-56.2 5.7 28.1-10.5 97-43.23 118.7-55.9-29.4 2.28-74.5 12.38-100.9 18.44 14.9-13.43 51.3-28.42 64.4-32.08-2.2-.1-4.5-.1-7-.12zM222 112.3c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-120.5 20.2c-17.58 26.8-31.42 52.3-41.44 76.2 25.1 34.2 57.14 63.2 115.54 80.3 10-17.5 24.4-35.6 43-54.6-25.3-38.9-51.8-75.5-117.1-101.9zm-48.93 96c-12.03 35.4-15.18 67.4-9.37 96.1 32.35 23.5 59.1 38.1 115.5 25.9-1-14.5 1.9-29.6 8.7-45.3-54.9-16.7-89.29-44.9-114.83-76.7zM231 247.2c-4.5 4.6-8.7 9.1-12.6 13.6 31.6 17.7 54.7 38.7 77.8 70.8l14.6-10.6c-23.4-32.4-48-55.2-79.8-73.8zm-28.3 32.9c-3.8 5.2-7.2 10.3-10.1 15.3 8.6 3.6 21.7 10.7 33.8 19 15 10.4 28.9 23.4 33.6 32.6l16-8.4c-7.7-14.6-23.2-27.7-39.3-38.9-11.9-8.3-23.8-15.1-34-19.6zm-20.1 35.5c-2.5 6.2-4.1 12.2-5.1 17.9 4.7 1 12.9 4 20.8 9.1 10.7 7.1 21.5 17.3 27 26.1l15.2-9.6c-7.6-12-19.7-23.2-32.3-31.5-8.6-5.6-17-10.4-25.6-12zM52 352.1c15.4 34.5 46.57 64.6 95.2 89.5 11.6-1 20.9-2.1 28.7-5.9 6.9-3.4 13.3-9 19.9-20.9-16.9-13.7-28.4-29.2-33.8-46.7-49.2 10.4-81.56.9-110-16zm370.1 72.6c-10.4-.1-43.1 4.2-75.8 11-23.5 5-47.6 11.5-64.9 18 11.7-3.1 25.8-4.3 41.3-4.7 6.1-.2 12.5-.2 18.9-.1 19.2.4 39.2 2.2 57 4.8 12.3 1.9 23.4 3.9 32.9 6.5 6.9-8.3 12.4-18.2 12.9-24.1.5-10.9-16.7-11.3-22.3-11.4zm-211.7.7c-9.7 14.2-19.1 24.7-34.1 29.5 21.2 8.8 44.9 16.8 71.4 24 8.3-7.3 16-17.2 14.3-27.7-19.8-7.8-37.1-16.3-51.6-25.8zm63.3 50.9l-9.2 8.3c13.3 4 34.8 9 59.2 8.2 36.3-1.3 84.3 2.2 114.8-10.5-48.8-12.3-126.4-27.6-164.8-6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shrug;

impl IconShape for Shrug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29c-11.642 0-22.985 7.432-32.006 21.607C214.974 64.783 209 85.247 209 108s5.973 43.217 14.994 57.393C233.014 179.568 244.358 187 256 187s22.985-7.432 32.006-21.607C297.026 151.217 303 130.753 303 108s-5.973-43.217-14.994-57.393C278.986 36.432 267.642 29 256 29zm-80 131c-32 0-48 144-48 144 0-16-16-64-32-96-16 0-76.002 16-76 26v22l60-16s32 128 48 128 48-112 48-112l16 234h128l16-234s32 112 48 112 48-128 48-128l60 16v-22c.027-10-60-26-76-26-16 32-32 80-32 96 0 0-16-144-48-144 0 0-10.902.02-25.727 1.74-2.092 4.725-4.453 9.187-7.082 13.317C291.945 192.73 275.287 205 256 205c-19.286 0-35.944-12.27-47.19-29.943-2.63-4.13-4.99-8.592-7.083-13.317C186.902 160.02 176 160 176 160z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shuttlecock;

impl IconShape for Shuttlecock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.577c-29.75 0-50.618 10.68-64.973 28.623-12.914 16.144-20.364 38.79-21.74 65.377h173.426c-1.376-26.586-8.826-49.233-21.74-65.377C306.618 36.257 285.75 25.577 256 25.577zm-87 112v14h174v-14H169zm12.443 32l-4.802 30H176v3.994l-12.357 77.167c1.428-.63 3.16-1.226 5.207-1.283.305-.01.616-.005.935.012.85.045 1.748.188 2.694.46 3.733 1.07 5.666 3.31 7.077 5.24.48.654.894 1.32 1.287 1.993l3.455-21.583h23.69l-.94 14.123c.77-.11 1.58-.17 2.448-.154.41.007.832.028 1.266.066 6.942.61 10.032 4.716 13.134 8.764.19.248.377.51.565.766l1.568-23.565h21.327v16.658c2.24-1.575 4.94-2.658 8.643-2.658 4.105 0 6.98 1.33 9.357 3.188v-17.188h22.065l1.726 21.443c2.796-3.567 5.923-6.866 12.088-7.408 2.057-.18 3.828.007 5.41.44l-1.166-14.475h23.25l3.41 20.04c.103-.15.194-.303.303-.452 1.41-1.928 3.344-4.17 7.078-5.24.947-.27 1.845-.414 2.695-.46.32-.016.63-.02.935-.01 2.137.06 3.942.705 5.405 1.364.392.176.757.372 1.125.566L336 200.966v-1.39h-.236l-5.104-30H312.4l5.104 30h-17.336l-2.414-30h-18.06l2.415 30h-16.753v-30h-18v30h-16.933l1.998-30h-18.04l-2 30H194.87l4.804-30h-18.23zm10.543 48h19.2l-2 30h-22.004l4.804-30zm37.24 0h18.13v30H227.23l1.997-30zm36.13 0h18.203l2.413 30h-20.616v-30zm36.26 0h18.95l5.104 30h-21.64l-2.413-30zm-92.542 81.246c-.26.187-.317.13-.615.403-2.248 2.058-5.392 5.725-8.773 10.486-6.76 9.522-14.636 23.43-21.718 39.035-14.166 31.21-24.75 69.83-20.933 93.586 1.633 10.164 4.142 16.383 9.713 22.98 5.046 5.977 13.334 12.386 25.902 20.348 7.703-3.16 13.956-6.07 19.063-8.903-6.09-7.457-9.938-16.05-12.442-25.98-7.73-30.66 1.108-71.263 13.133-105.434 2.81-7.982 5.82-15.557 8.914-22.56-1.638-4.26-3.286-8.186-4.902-11.6-2.498-5.278-4.953-9.437-6.807-11.856-.245-.322-.31-.274-.536-.504zm93.852 0c-.226.23-.29.182-.537.504-1.855 2.42-4.31 6.578-6.808 11.856-1.616 3.414-3.264 7.34-4.902 11.6 3.093 7.003 6.105 14.578 8.914 22.56 12.025 34.17 20.863 74.775 13.133 105.435-2.504 9.93-6.35 18.522-12.442 25.98 5.107 2.83 11.36 5.743 19.063 8.903 12.568-7.96 20.856-14.37 25.902-20.347 5.57-6.597 8.08-12.816 9.713-22.98 3.817-23.757-6.767-62.376-20.932-93.586-7.08-15.605-14.957-29.513-21.717-39.035-3.38-4.76-6.525-8.428-8.772-10.486-.297-.274-.353-.216-.614-.403zm-135.95 1.635c-1.903 1.823-4.114 4.144-6.685 7.29-7.01 8.585-15.662 21.378-23.95 35.925-16.576 29.093-31.543 65.874-32.223 89.785-.508 17.885 2.766 27.703 19.418 46.533 10.897-3.552 18.163-7.016 23.65-11.34-4.07-7.05-6.53-14.81-7.92-23.462-5.017-31.22 7.342-70.893 22.313-103.88 3.214-7.082 6.57-13.796 9.96-20.047-.554-3.766-1.154-7.28-1.798-10.41-.892-4.343-1.857-7.72-2.765-10.392zm178.05 0c-.91 2.672-1.874 6.05-2.766 10.39-.644 3.132-1.244 6.646-1.797 10.413 3.39 6.252 6.745 12.966 9.96 20.048 14.97 32.987 27.33 72.66 22.313 103.88-1.39 8.653-3.85 16.412-7.922 23.46 5.488 4.326 12.754 7.79 23.65 11.343 16.653-18.83 19.927-28.647 19.42-46.532-.68-23.91-15.648-60.692-32.224-89.785-8.288-14.547-16.94-27.34-23.95-35.924-2.572-3.148-4.783-5.47-6.685-7.292zm-96.97 9.328c-.153.258-.3.483-.454.746-5.9 10.077-12.528 24.62-18.217 40.785-11.378 32.33-18.54 71.73-12.658 95.06 2.516 9.983 5.562 15.958 11.69 22.042 5.55 5.51 14.366 11.172 27.583 18.003 13.217-6.83 22.034-12.493 27.584-18.004 6.127-6.085 9.173-12.06 11.69-22.042 5.882-23.332-1.28-62.73-12.66-95.06-5.688-16.166-12.315-30.71-18.216-40.786-.154-.263-.3-.488-.455-.746L256 465.108l-7.943-155.322z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sickle;

impl IconShape for Sickle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.563 25.156c353.16 276.87 16.918 408.895-87.875 293.25l-40.75 37.125 50.812 50.345c217.562 181.363 524.73-252.058 77.813-380.72zM110.75 364.28c-5.525 1.065-8.975 2.957-11.313 5.25-1.956 1.922-3.248 4.556-4.25 7.564l55.188 52.844c5.468-1.008 9.264-2.796 11.28-4.688 1.997-1.872 3.095-3.864 3.095-7.53l-54-53.44zm-24.72 30.314L30.407 445.28C13.67 472.28 45.1 506.478 81.5 489.94l51.53-50.282-47-45.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SiegeTower;

impl IconShape for SiegeTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137 41v78h190V41h-30v48h-18V73h-14v16h-18V41h-30v48h-18V73h-14v16h-18V41h-30zm208 19.273v25.454L394.273 135H329v18H457v-18H419.727L345 60.273zM173.977 137l20.91 46h79.445l29.272-46H173.977zm-10.268 20.912L159.147 183h15.965l-11.404-25.088zm147.29.996L295.668 183H311v-24.092zM155.875 201l-8.363 46h56.693l-20.91-46h-27.42zm47.193 0l20.91 46h9.626l29.273-46h-59.81zm81.145 0l-29.272 46H311v-46h-26.787zM144.24 265l-8.365 46h57.002l23.578-37.05-4.068-8.95H144.24zm99.246 0l-6.607 10.383L253.067 311H311v-46h-67.514zm-18.14 28.508L214.216 311h19.08l-7.95-17.492zM132.604 329l-8.364 46h27.908l29.274-46h-48.818zm70.156 0l-29.274 46h88.9l-20.907-46h-38.72zm58.49 0l20.908 46H311v-46h-49.75zm-140.283 64l-6.28 34.553c1.007.52 1.993 1.08 2.952 1.68L140.694 393h-19.728zm41.066 0l-31.34 49.248C134.68 448.565 137 456.025 137 464c0 2.386-.218 4.722-.615 7h23.392c-.396-2.278-.615-4.614-.615-7 0-22.537 18.463-41 41-41s41 18.463 41 41c0 2.386-.218 4.722-.615 7h23.068c-.397-2.278-.615-4.614-.615-7 0-16.127 9.456-30.165 23.092-36.848L270.568 393H162.033zm128.31 0l13.636 30h.02c2.386 0 4.722.218 7 .615V393h-20.658zM96 441c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm104.162 0c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zM304 441c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Silenced;

impl IconShape for Silenced {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.313c-44.404 0-85.098 25.434-115.248 68.124C110.6 130.127 91.594 189.847 91.594 256c0 66.152 19.005 125.87 49.156 168.563 30.15 42.69 70.845 68.125 115.25 68.125 44.402 0 85.068-25.435 115.22-68.125 30.15-42.69 49.186-102.41 49.186-168.563 0-66.152-19.038-125.87-49.19-168.563-30.15-42.69-70.812-68.124-115.214-68.124H256zm-68.047 196.324c21.997.077 43.584 9.43 57.484 32.738C232.475 258.385 219.33 266.34 206 272c1.927-3.868 3-8.23 3-12.844 0-15.93-12.914-28.844-28.846-28.844s-28.84 12.914-28.84 28.844c0 9.317 4.425 17.6 11.28 22.875-.938.036-1.874.058-2.81.068-.937.01-1.874.007-2.815-.006h-.003c-15.953-.208-32.166-3.813-48.717-11.217 5.244-29.73 43.042-55.366 79.703-55.238zm136.094 0c36.66-.128 74.46 25.51 79.703 55.238-16.55 7.404-32.764 11.01-48.717 11.217h-.002c-.94.013-1.877.016-2.813.006-.937-.01-1.873-.032-2.81-.067 6.854-5.273 11.28-13.557 11.28-22.874 0-15.93-12.91-28.844-28.84-28.844-15.933 0-28.847 12.913-28.847 28.844 0 4.615 1.073 8.976 3 12.844-13.33-5.66-26.474-13.614-39.438-23.625 13.9-23.31 35.488-32.66 57.485-32.738zm-113.174 83.96c8.826-.03 18.155 3.6 25.693 11.14L256 330.17l19.434-19.434c7.538-7.538 16.867-11.168 25.693-11.14.588.002 1.175.02 1.758.054 9.33.55 17.723 4.835 23.974 11.086 6.25 6.252 10.536 14.644 11.085 23.975.55 9.332-3.045 19.41-11.086 27.45l-19.434 19.436 19.433 19.433c8.04 8.04 11.634 18.12 11.085 27.45-.55 9.332-4.834 17.724-11.086 23.975-6.252 6.25-14.644 10.537-23.975 11.086-9.33.55-19.41-3.044-27.45-11.085L256 433.02l-19.434 19.435c-8.04 8.04-18.12 11.635-27.45 11.086-9.332-.548-17.724-4.834-23.975-11.085-6.25-6.25-10.536-14.643-11.085-23.975-.55-9.33 3.045-19.41 11.086-27.45l19.434-19.434-19.433-19.436c-8.04-8.04-11.634-18.118-11.085-27.45.55-9.33 4.834-17.722 11.086-23.974 6.252-6.25 14.644-10.537 23.975-11.086.583-.034 1.17-.052 1.758-.054zm.943 18c-.55-.018-1.097-.01-1.644.022-4.374.256-8.882 2.42-12.305 5.843s-5.586 7.93-5.844 12.305c-.257 4.374.986 8.807 5.844 13.666l90.295 90.293c4.86 4.858 9.292 6.103 13.666 5.845 4.374-.257 8.882-2.422 12.305-5.845 3.423-3.423 5.586-7.93 5.844-12.303.257-4.374-.986-8.808-5.844-13.666l-90.295-90.295c-4.25-4.25-8.176-5.733-12.022-5.865zm88.368 0c-3.846.133-7.77 1.615-12.022 5.866l-19.435 19.435 25.97 25.97 19.436-19.434c4.858-4.86 6.1-9.292 5.844-13.666-.258-4.375-2.42-8.882-5.844-12.305-3.423-3.423-7.93-5.587-12.305-5.844-.547-.033-1.095-.04-1.644-.022zm-82.88 76.725l-19.437 19.436c-4.858 4.858-6.1 9.292-5.844 13.666.258 4.374 2.42 8.88 5.844 12.303 3.423 3.423 7.93 5.588 12.305 5.845 4.374.258 8.807-.987 13.666-5.845l19.433-19.434-25.967-25.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Silex;

impl IconShape for Silex {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407 38.31c-83.1 16.32-65.1 11.63-142.4 3.2-35.3 39.72-55.2 46.16-79.6 55.38-15.2 34.21-32.3 77.31-83.8 98.41-9.05 73.1-34.15 127.5-74.58 163.6 19.12 30.9 20.69 63.5 19.64 96.1 46.79-6.3 71.54 9.6 102.94 18.7 48.2-52.3 112.9-88.8 196.2-107.9 41.1-92.5 127.9-82.1 140-94-23.8-43.7-7.2-94.5-19.8-136.9-3.9-13.1-11.9-25-20.9-36.61-29.3 12.91-43.8 26.91-52 42.51-8.5 15.9-10.3 35-11.7 57.8 8.4-1.2 16.6-1.5 24.1-1.1 9 .5 17.3 2.1 24.1 4.2l-5.2 17.2c-21.3-6.5-64.1-6.7-95.8 26.2l-13-12.6c14.7-15.1 31.2-24.4 47.5-29.6 1.5-25.4 2.7-48.9 14-70.5 9.9-18.7 27.1-34.81 56.4-48.58-11.6-14.56-22.6-29.18-26.1-45.51zm-89.9 48.84l17.2 5.04c-18.7 64.01-56 104.51-104.1 129.11 2.6 24.6 1.8 46-1.7 64.3 11.5-4.3 22.9-6.3 34-6.4 5.9 0 11.7.5 17.5 1.4 22.8 3.8 44.3 14.1 65.1 25.2l-8.4 15.8c-20.4-10.8-40.3-20.1-59.7-23.2-18.1-3-35.7-1.1-54.9 10.2-8.1 21.8-20.8 38.2-36.6 50-10.1 7.6-21.3 13.4-33 17.7-18.7 16-28.2 41.3-26.9 62.8l-18 1c-1.1-18.6 3.8-38.5 14.4-55.6-17.8 3.2-35.75 4.2-52.54 4.3l-.12-18c36.76-.2 77.36-5.5 105.36-26.6 26.3-19.7 43.7-53.1 38.2-115-13.9 5.8-28.5 10.4-43.8 14.1l-4.2-17.4c73.1-17.7 127.7-55.4 152.2-138.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SilverBullet;

impl IconShape for SilverBullet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.8 18.05c-4.7 38.56-4.7 38.56-38.4 57.92 38.6 4.73 38.6 4.73 58 38.43 4.7-38.58 4.7-38.58 38.4-57.95-38.6-4.73-38.6-4.73-58-38.4zm206.3 20.59c-3.8 1.14-9 3.12-15.2 6.04-14.1 6.57-32.6 17.05-51.9 29-38.5 23.86-80.5 54.32-96.1 70.42l-.8.8-42 24.4c3.6 2.2 7 4.6 10.5 7.3 12.8 9.9 25.3 22.6 32 28.9l-12.2 13.2c-7.5-7-19.4-19.1-30.8-27.9-5.6-4.3-11.2-7.8-15-9.3-2.2-.8-3.3-1-3.8-1l-.8.5L60.57 366.2c3.35.5 6.73 1.4 10.09 2.5 14.85 4.9 30.54 14.9 44.84 29.2 14.2 14.2 24.2 29.9 29.2 44.7.6 1.9 1.2 3.8 1.6 5.8l183.3-183.3 36-58.6.7-.8c17.8-17.7 48.1-60.4 71.6-99.3 11.8-19.41 22-38.06 28.3-52.18 2.9-6.4 4.8-11.71 5.9-15.58zM438 153.2c4.1 31.3 4.1 31.3-18.4 53.5 31.4-4.2 31.4-4.2 53.5 18.2-4.2-31.2-4.2-31.2 18.1-53.4-31.1 4.1-31.1 4.1-53.2-18.3zM85.47 185.4c-16.43 30.2-16.43 30.2-50.41 35.3 30.18 16.5 30.18 16.5 35.3 50.4C86.79 241 86.79 241 120.7 235.8c-30.14-16.5-30.14-16.5-35.23-50.4zm333.03 55.2c-25.1 52-25.1 52-81.9 63.1 52.1 25.1 52.1 25.1 63.2 81.9 25.1-52.1 25.1-52.1 81.8-63.1-52-25.2-52-25.2-63.1-81.9zM52.38 383.5c-4.41 0-7.54 1.2-9.37 3-3.25 3.3-4.52 10.6-.78 22 3.82 11.3 12.45 25.2 24.89 37.7 12.45 12.4 26.31 21 37.68 24.8 11.4 3.8 18.7 2.5 22-.7 3.2-3.3 4.5-10.6.8-22-3.9-11.3-12.5-25.2-25-37.6-12.42-12.5-26.28-21.1-37.6-24.9-4.98-1.7-9.19-2.3-12.62-2.3zm166.12 28.4c3 25.2 3 25.2-15.4 42.9 25.3-3.1 25.3-3.1 43 15.3-3-25.3-3-25.3 15.2-42.9-25.2 3-25.2 3-42.8-15.3zM69.32 421a20.66 7.804 45 0 1 16.83 10.1 20.66 7.804 45 0 1 9.09 20.1 20.66 7.804 45 0 1-20.13-9.1 20.66 7.804 45 0 1-9.09-20.1 20.66 7.804 45 0 1 3.3-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sinagot;

impl IconShape for Sinagot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.3 41.08c4.5 117.22-11 230.92-33.94 343.02 48.74 1.5 94.14-1.7 140.64-9 4.3-16.6 8.2-35.8 11.5-56.5-2.3-54.1-12.5-109.7-19.3-168.5zm69.6 15.03l.1 35.03L205.1 111l-.2-54.89zM264 123.6c4.5 93.3-5.8 198.4-25.1 265l116.2-12.5c3.3-60.6.3-114.4-6.3-174.3zm54.4 2.5v23.2l18 16.6v-39.8zm154.2 262.2c-53.5 11.2-87.7 15.4-136.2 22.4v-14.5l-18 1.9v15c-36.4 4.4-74.2 6.9-112.5 8.2l-.1-25.3c-6 .8-12 1.5-18 2.2l.1 23.6c-54.7 1.4-110.49.5-164.98-.3 14.72 13.6 24.36 31.5 46.67 43.8 101.81 9.9 200.41 4.6 299.21 0l22.4-46 97.9-17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SinkingShip;

impl IconShape for SinkingShip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.816 85.93L269.3 100.465l28.06 27.111 8.694-16.3zm-21.175 29.267l-42.282 58.436 37.246 35.984 34.946-65.525zM153.455 137.9l-46.816 29.192L306.46 360.15c4.08-1.929 8.605-3.15 13.539-3.15 3.881 0 7.508.76 10.867 2.02l-1.55-1.499 12.503-12.945L354.682 357l-10.268 10.63c4.31 3.924 8.02 8.35 11.486 12.745l11.077-11.465 12.859 12.426-12.508 12.945c3.62 4.436 8.724 9.265 13.916 10.43l10.908-11.293 5.016 4.846c3.702-3.574 7.58-8.457 11.63-13.664zm-98.623 4.168c-4.078 8.773-3.407 19.566-.8 32.7 3.406 17.167 10.435 36.207 10.222 54.75-.075 6.474-1.264 12.54-2.803 18.23l116.563 112.615C182.208 358.31 186.885 357 192 357c9.367 0 17.28 4.373 23.41 9.713 6.13 5.34 11.027 11.762 15.694 17.762 4.666 6 9.103 11.577 13.306 15.238 4.203 3.66 7.623 5.287 11.59 5.287 3.967 0 7.387-1.627 11.59-5.287s8.64-9.238 13.306-15.238c3.429-4.408 6.985-9.042 11.06-13.309zm106.947 28.569l12.862 12.425-12.508 12.946-12.862-12.426zm208.06 2.263l-10.517 14.536 28.059 27.109 8.693-16.299zM187.5 195.486l12.86 12.424-12.504 12.945-12.86-12.423zm161.165 6.682l-42.283 58.436 37.246 35.982 34.945-65.524zM213.22 220.334l12.861 12.424-12.504 12.945-12.861-12.424zm25.722 24.85l12.86 12.423-12.508 12.946-12.86-12.424zm221.084 15.191l-10.517 14.537 28.06 27.11 8.694-16.301zM55.56 267.084a66.9 66.9 0 0 0-.627 2.52c-2.532 11.232-2.865 18.802 7.882 29.185l89.479 86.453c.203-.26.4-.506.603-.767 3.338-4.292 6.802-8.794 10.743-12.967zm209.103 2.947l12.86 12.424-12.508 12.945-12.86-12.423zm174.188 19.612l-42.145 58.246 23.654 22.855a68.962 68.962 0 0 1 4.23-4.031C430.72 361.373 438.634 357 448 357c.082 0 .162.005.244.006l20.516-38.469zm-148.467 5.236l12.86 12.426-12.509 12.945-12.859-12.426zm25.72 24.85l12.86 12.423-12.508 12.946-12.86-12.424zM64 375c-19.807 5.72-33.274 18.147-46 31.898v30.579l.01-.006C31.525 428.62 47.7 419 64 419s27.881 10.654 37.842 19.154C111.802 446.654 120.144 453 128 453c7.856 0 16.197-6.346 26.158-14.846C164.12 429.654 175.7 419 192 419c16.3 0 27.881 10.654 37.842 19.154C239.802 446.654 248.144 453 256 453c7.856 0 16.197-6.346 26.158-14.846C292.12 429.654 303.7 419 320 419c16.3 0 27.881 10.654 37.842 19.154C367.802 446.654 376.144 453 384 453c7.856 0 16.197-6.346 26.158-14.846C420.12 429.654 431.7 419 448 419c16.3 0 32.475 9.62 45.99 18.47l.01.007v-30.578c-9.969-10.693-33.06-31.31-46-31.899-3.967 0-7.387 1.627-11.59 5.287C419.78 396.286 407.425 422.591 384 423c-27.151-1.916-36.8-28.488-52.41-42.713-4.203-3.66-7.623-5.287-11.59-5.287-3.967 0-7.387 1.627-11.59 5.287C291.78 396.286 279.425 422.591 256 423c-27.151-1.916-36.8-28.488-52.41-42.713-4.203-3.66-7.623-5.287-11.59-5.287-3.967 0-7.387 1.627-11.59 5.287C163.78 396.286 151.425 422.591 128 423c-27.151-1.916-36.8-28.488-52.41-42.713C71.387 376.627 67.967 375 64 375zm0 62c-18.195 3.791-32.267 12.364-46 22.385V494h476v-34.615c-11.752-8.054-32.671-21.938-46-22.385-24.766 6.02-41.304 33.45-64 34-23.532 2.01-46.008-36.297-64-34-25.282 3.227-41.304 33.45-64 34-23.532 2.01-46.008-36.297-64-34-25.282 3.227-41.304 33.45-64 34-23.532 2.01-45.87-33.455-64-34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SittingDog;

impl IconShape for SittingDog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.6 16.18l16.7 120.02 73.8 20.5c37.3-11.2 78.5-18.2 102.3-43.6 9.7-10.3 17.2-24.78 9.1-37.92l-75.3 2.22-14.6-31.79h-74.7c-7.7-11.71-22.8-20.46-37.3-29.43zm5.7 145.22c-46.9 19.8-110.1 146.3-111.8 276.5-34.02-58.1-24.9-122.6-2.9-202.6C55.31 287 4.732 448.4 133.1 486.9H346s-6.3-21.5-14.1-28.9c-12.7-12-48.2-20.2-48.2-20.2 27.8-39.2 33.5-71.7 38.6-103.9 4.5 59.8 40.7 126.8 57.4 153h76.5s4.6-15.9.2-21.5c-10.9-13.8-51.3-11.9-51.3-11.9-31.1-107.2-46.3-260.2-90-273.2-21.7-6.5-54.3-14.1-77.8-18.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Skateboard;

impl IconShape for Skateboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M390.5 16h-2.2c-9.6.3-18 3.69-25.1 10.87l-30.3 30.31c3.8 4.41 7.1 9.12 9.4 13.97 1.6 3.37 2.7 6.85 2.9 10.8.2 3.96-1 8.8-4.4 12.16l-16.2 16.19 77 77.1 16.2-16.2c3.3-3.4 8.2-4.6 12.2-4.4 3.9.2 7.4 1.3 10.8 2.9 4.8 2.3 9.6 5.6 13.9 9.4l30.3-30.3c11.5-11.5 13.3-26.1 8.4-43.8-5.1-17.58-17.6-36.95-33.5-52.89-16-15.93-35.3-28.44-52.9-33.46-5.9-1.65-11.2-2.57-16.5-2.65zm-92.4 37.16l-54.5 54.54c0 .6.3 2.1 1.1 4.1 1.7 4 5.5 9.7 10 14.3 4.4 4.8 9.7 8.8 13.5 10.4 1.8.9 3.3 1.1 3.8 1.1h.1l55.2-55.22c-.1-.58-.3-1.79-1.2-3.56-1.8-3.9-5.8-9.33-10.5-13.99-4.6-4.66-10.1-8.68-14-10.52-1.7-.84-2.9-1.05-3.5-1.15zm14 69.74l-15.3 15.3 15 29.9-4.7 4.6c-3.5 3.5-5.7 9.6-5.7 16.1 0 6.4 2.2 12.5 5.7 16h.1v.1c3.5 3.5 9.6 5.7 16 5.7 6.5 0 12.6-2.2 16.1-5.7l4.6-4.7 29.9 15 15.2-15.4zm-65.3 20.5L143.3 246.8c3.9 4.5 7.3 9.1 9.5 14.2 1.5 3.5 2.7 7.3 2.6 11.5-.2 3.7-1.5 7.7-4.1 11l13.9 6.9c6.9-4.6 15.3-6.9 23.5-6.9 10.4 0 21 3.3 28.7 11.1 7.8 7.7 11 18.3 11 28.7 0 8.2-2.2 16.4-6.8 23.4l6.9 13.9c3.3-2.5 7.4-3.5 10.7-3.4 4 .1 7.6 1.1 11 2.6 5.1 2.1 10.1 5.3 14.8 9.1L368.8 265c-3.7-4.6-6.9-9.7-9.1-14.7-1.5-3.5-2.5-7.1-2.6-11-.1-3.4.9-7.4 3.4-10.7l-13.8-7c-6.9 4.7-15.2 6.9-23.5 6.9-10.4 0-21-3.3-28.7-11-7.7-7.7-11-18.3-11-28.7 0-8.3 2.2-16.6 6.9-23.5l-7-13.9c-3.2 2.6-7.2 3.9-10.9 4.1-4.2.1-8-1.1-11.6-2.6-5-2.3-9.7-5.7-14.1-9.5zm182.8 41.3l-54.5 54.6c0 .6.2 2.1 1.1 3.9 1.6 4.1 5.5 9.8 10 14.4 4.4 4.8 9.8 8.7 13.5 10.4 1.9.8 3.3 1.1 3.8 1h.2l55.1-55.1c-.1-.6-.3-1.8-1.2-3.5-1.8-3.9-5.8-9.4-10.5-14-4.7-4.7-10.1-8.7-14-10.5-1.8-.9-2.9-1.1-3.5-1.2zM403.7 269l-.1.1c0 .1.3 0 .1-.1zm-296.1-25.5l-54.43 54.6c.1.6.31 1.8 1.15 3.6 1.85 3.9 5.86 9.3 10.53 14 4.65 4.6 10.08 8.7 13.99 10.5 1.76.9 2.98 1.1 3.55 1.2l55.21-55.2v-.1c0-.5-.2-2-1.1-3.9-1.7-3.8-5.7-9-10.4-13.5-4.7-4.4-10.3-8.3-14.4-10-2-.9-3.5-1.1-4.1-1.2zm30.6 53.3l-15.4 15.3 77 77 15.4-15.3-15-29.9 4.6-4.5c3.5-3.5 5.8-9.8 5.8-16.1 0-6.4-2.3-12.6-5.8-16h-.1v-.1c-3.4-3.5-9.6-5.9-16-5.9s-12.6 2.4-16.1 5.9l-4.5 4.6zm-28 28l-16.04 16c-3.35 3.3-8.2 4.6-12.15 4.5-3.96-.2-7.43-1.4-10.8-3-4.87-2.3-9.57-5.5-13.99-9.4L26.9 363.2c-11.48 11.5-13.27 26.2-8.23 43.8 5.02 17.7 17.52 37 33.45 52.9 15.95 16 35.32 28.5 52.88 33.5 17.6 5 32.3 3.2 43.8-8.3l30.3-30.3c-3.9-4.4-7.1-9.1-9.4-14-1.6-3.4-2.8-6.8-3-10.8-.2-4 1.1-8.8 4.5-12.2l16-16zm129 50.3l-54.6 54.5c.1.6.3 1.8 1.2 3.6 1.8 3.8 5.9 9.3 10.5 14 4.7 4.6 10.1 8.7 14 10.5 1.8.8 3 1 3.6 1.1l55.1-55v-.2c0-.5-.2-1.9-1-3.8-1.7-3.8-5.7-9.1-10.4-13.6-4.7-4.4-10.3-8.3-14.4-10-1.9-.9-3.4-1.1-4-1.1zm29.8 28.7c0 .2.1-.1 0-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkeletalHand;

impl IconShape for SkeletalHand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237.5 34.83c-.8 16.4.4 18.5 1.3 32.3 9.3-2.57 19.1-2.28 27.8-.2 1.2-14.6.4-25.7-1.8-32.6-8.8-14.67-21.3-19.44-27.3.5zM136 59.23c-.1 11.8.6 16.4 1.5 23.1 10.1-3.67 19.5-4.81 29-3.4-.3-9.2-1.4-16.3-3.2-21.2-8.9-14.06-21.5-18.62-27.3 1.5zm231.2 1.8c-3.9 12.7-4.2 16.7-5.5 25 9.7-.17 20.3 3.07 27.8 7.2 3.3-11 4.7-19.9 4.3-26.1-3.2-16.59-16-22.53-26.6-6.1zM237 87.53c4 16.67 9.1 35.37.9 56.07 10.2-4 20.8-4.4 30.5-1.5-4.7-18.2-4.8-36.5-1.1-55.87-10-3.21-21.4-3.31-30.3 1.3zm-97.5 14.27c13.2 12.8-.5 56.2 5 60.1 10.1-5.3 21-6.9 31.6-4.6-7.1-18.8-8.9-38.2-6.4-58.97-9.8-2.72-21.8-1.84-30.2 3.47zm-93.7 11.6c1.7 10.7 3 15.3 4.7 20.9 8.7-5 18.7-7.1 28.49-6.7-1.73-8.9-3.99-15.6-6.49-20.1-9.56-15.42-25.07-10.78-26.7 5.9zm309.6-8.3c-.7 16.8-.7 35.8-13.2 53.2.4 0 .8-.1 1.2-.1 10-.2 19.9 2.7 27.8 7.6.2-18.6 5-36.3 13.7-53.9-9.7-5.2-19.2-9.3-29.5-6.8zM54.5 153.9c6.8 14.6 15 30.6 12.9 50.4 8.74-4.9 18.49-6.6 27.95-5.7-7.67-16.1-11.2-33.3-11.5-52.2-9.6-.8-22.27 1.9-29.35 7.5zm183 11.4c5.1 27.4 12.2 55.7 4.1 86.8 12.2-4.8 26.2-1.3 35.9 5.6-7.1-30.3-7.9-60.4-3.7-93.2-12.2-7.8-26.6-8.6-36.3.8zm-91.6 19c13.4 34.9 14 64.5 15.9 93.9 11.5-9.8 22.2-13.1 35.7-9.1-10.7-28.7-15.4-58.1-15.7-90.8-12.5-6.2-27.5-5-35.9 6zm188.3-5.5c6.3 33.2-18.4 68.1-18.6 91.2 11.2-1.4 22.6 3.9 29.9 11.1 2.1-.3 4-.9 5.7-1.6-.9-31.9 5.4-61.3 18.1-92.1-9.9-9.5-22.8-14.6-35.1-8.6zM70.7 224.9c13.1 24.3 25.3 56 25.96 72.6 7.74-7.3 17.84-10.6 27.64-10.1.4 0 .7.1 1 .1-13.4-21.4-21.4-44.1-25.77-69.8-10.05-2.7-22.37-1-28.83 7.2zM439 241.8c-1.5 6.2-2.2 10.3-2.8 13.8 11.1 1.1 20.4 5.1 28.2 11.7 1.7-8.8 2.2-15.8 1.5-20.9-2.9-18.2-16.7-23.2-26.9-4.6zm-202.1 36.9c2.2 24.1 5.2 48.1 5.3 72.6 9-1.2 18-1.4 26.4-.9.2-23 2-46.6 5.3-71.4-13.8-14.3-26.4-15.4-37-.3zm191.5-4.4c-5.7 19.1-10.7 39.4-22.5 57.7 10 5.6 17.3 12.6 21.7 21.9 7.3-22.2 18.3-42.8 33-63.2-7.3-11.6-19.2-19.6-32.2-16.4zm-259.8 25.8c5.8 24.6 12.4 48.9 16.2 74.3 7.8-6.2 17-11.4 24.8-14.6-2.5-21-4-42.6-4.4-65.5-16.1-13.1-28.7-11.4-36.6 5.8zm135.5-5.6c-3.5 20.2-6.3 40.6-10.9 60.7 9 3.1 17.1 7.4 24.3 12.6 5.9-21 13.3-41.9 22.2-63.5-9.8-17.7-21.7-21.9-35.6-9.8zm-201.3 29c13.1 24.9 27.3 49.4 37.3 76.7 7.4-6.4 14.5-11.2 22.7-15-10.1-23.7-18.5-48.6-25.7-75.5-17-8.2-30.3-4.6-34.3 13.8zm291.8 23.4c-22.3 28.3-46.1 40.1-71.8 49.6 9.7 8 17.3 18.4 23 28.9 19.4-20.5 41.9-35.8 69-48.5-.6-13.5-8.2-26.4-20.2-30zm-133.1 21.4c-18.6.1-39 5.1-53.5 12.4 8.7 2.7 16.3 7.8 22.7 14.2 2.9-.1 5.9.1 8.8.6 29.4-13.7 57.9-18.8 82.4.3-20.5-18.3-35.8-27.5-60.4-27.5zm-96.8 36.1c-11.2 6.4-20.5 16.1-24.5 25.8-.9 17.4 5 31.6 13.5 46.3 4.6 5.8 18.3 9.7 33.5 1.1-5.2-13.8-10.3-32.2-6.6-43.7 7.2-15.2 16.1-25.7 29-32.9-14.3-8.2-32-3.8-44.9 3.4zm94.2 1.7c3.2 3.2 6.1 6.8 8.6 10.6 6.6 9.9 11.1 21.5 13.6 32.3 1.7 11.5.5 22.1-1.8 32.2-1 9.3 38.5 14.4 58.8 1.5.8-12 2.1-25.8-2.6-37.5-8.1-18.8-22.7-39-41.2-43.4-11.6-2.7-25.5.3-35.4 4.3zm-26.2 6.8c-6.7.4-13.7 3.2-18.3 6.2-18.6 14.3-19.8 25.3-13 45.3 7.7 26.9 58 25.2 61.1 9.3 3.6-17.7-.9-33.2-10-47.1-5.6-6.9-11.2-13.7-19.8-13.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkiBoot;

impl IconShape for SkiBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.858 21.243c-2.266 5.14-4.88 11.152-7.495 17.225-.424.987-.719 1.682-1.136 2.654 46.94 34.112 113.516 50.012 189.967 31.479a58.65 58.65 0 0 0-5.06-16.354C280.513 78.775 208.7 64.95 163.859 21.243zm-15.873 36.813c-1.232 2.896-2.511 5.91-2.551 6.004-3.166 8.379-2.27 14.281.851 20.21 3.13 5.944 9.129 11.698 16.39 16.512 14.525 9.628 34.312 15.364 38.513 16.145 11.832 2.2 23.552-2.345 37.228-8.117 10.718-4.524 22.59-9.782 35.947-10.53-48.762-1.385-92.039-16.292-126.378-40.224zm197.084 33.06c-21.6 4.903-42.56 7.224-62.645 7.268 1.104.098 2.218.231 3.342.402 14.74 1.215 23.143 22.597 31.51 25.428 1.667.456 3.728.61 8.658-2.317 9.744-5.783 16.819-17.286 19.135-30.78zm-210.65 7.965c-9.534 42.265-19.942 87.684-33.573 131.168-2.694 32.854.654 51.908 7.814 69.914 7.2 18.105 18.928 35.706 32.784 63.297 8.276 1.96 15.813 2.913 21.76 2.334 17.577-1.71 45.076-17.907 66.765-34.223a457.655 457.655 0 0 0 24.576-19.883c-32.383-.46-66.65-.952-96.588-1.382l-2.553-2.436c-12.872-12.28-22.589-30.64-21.38-48.896l.556-8.407c51.317 1.353 96.286 3.537 147.098 5.623 1.27-3.863 2.541-7.733 3.822-11.716-32.477-5.825-99.194-17.967-120.746-23.217-8.324-2.916-10.934-13.993-13.56-21.211-3.383-9.38-6.832-21.22-8.01-32.611l-1.262-12.182 160.578 32.6c4.287-15.582 8.19-31.118 11.328-45.965-17.573-2.413-18.902-21.77-30.765-25.307-12.529-3.023-23.891 3.006-37.647 8.813-13.755 5.806-29.428 12.592-47.52 9.228-7.993-1.486-27.476-7.11-45.165-18.836-6.807-4.512-13.312-9.953-18.313-16.705zm28.944 78.89c2.415 9.378 5.192 18.272 9.094 26.514 3.796.878 8.866 1.949 14.541 3.112l-5.01-25.844zm37.711 7.657l4.99 25.756c8.862 1.72 18.273 3.506 27.788 5.285l-3.64-25.125zm47.877 9.72l3.59 24.776c21.283 3.916 40.362 7.355 45.945 8.352l5.301-21.995zm-95.953 73.612c2.005 8.02 6.763 16.976 12.565 23.453l14.355.207-8.277-22.912c-6.256-.254-12.935-.521-18.643-.748zm38.067 1.539l8.091 22.397 26.284.376-6.69-21.646c-10.024-.41-18.41-.75-27.685-1.127zm46.767 1.91l6.531 21.133c11.842.17 23.304.334 34.856.494 2.596-6.773 5.107-14.164 6.96-19.646-6.932-.285-27.953-1.146-48.347-1.98zm-153.81 5.654c-6.882 17.355-14.478 34.028-22.979 49.622 6.786 4.136 17.907 10.699 34.1 18.539a286.764 286.764 0 0 0 21.94 9.515c-9.973-18.394-18.721-32.76-25.15-48.924-3.522-8.858-6.213-18.193-7.911-28.752zm189.857 40.541c-7.021 6.339-18.977 16.733-33.09 27.35-22.663 17.05-50.295 35.267-75.842 37.754-7.658.745-15.77.08-24.046-1.543-1.906 17.734-6.522 35.6-13.463 51.832 107.342 6.767 202.84 9.795 316.681 7.19-.116-8.066-.651-15.593-1.51-18.514-5.25-17.87-21.36-32.542-43.396-45.567l-23.299 43.057-77.383 11.693 54.01-77.529a2107.793 2107.793 0 0 0-14.336-6.076l-42.234 57.17-82.879 3.516 13.182-15.657s17.811-21.153 35.98-42.578a6752.13 6752.13 0 0 1 22.45-26.351 321.521 321.521 0 0 1-10.825-5.747zm35.184 5.088c-8.128 9.295-16.62 19.29-23.987 27.952l27.686.753 14.012-18.966zM66.207 351.464c-5.182 27.578-6.555 52.46-4.94 78.04a7708.424 7708.424 0 0 0 46.952 3.257c7.989-16.699 13.315-36.352 15.049-55.319-12.399-4.083-24.706-9.564-35.969-15.017-7.757-3.756-14.864-7.521-21.092-10.961zm307.353 3.87l-13.023 19.005 15.752 7.31 10.25-18.25zM270.154 369.24a16253.728 16253.728 0 0 0-16.878 19.975l33.332-1.414 13.115-17.754zm79.936 20.096l-12.865 18.469 27.129-4.1 3.351-6.195zM55.358 447.083c-3.282 12.566-4.922 33.798-1.606 43.674h110.576c2.708-27.614 210.034-16.532 211.514 0h83.203c1.473-6.923 1.7-26.288-1.723-31.906-144.743 3.794-259.438-1.395-401.964-11.768z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Skier;

impl IconShape for Skier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.5 35.48l-17.6 3.42s1.3 6.81 1.6 14.68c.1 1.81.1 3.65-.1 5.44l-12.5-8.79L114 44.7l13.5 20.27 13.6 9.57c-2.6.95-5.6 1.85-8.7 2.37-7.4 1.26-14 1.38-14 1.38l.4 18s7.7-.12 16.6-1.63c7.4-1.25 16-2.69 22.8-8.19l50.6 35.43c4.1-4.6 8.4-8.9 12.9-12.9l-54-37.88c1.5-6.23 1.1-12.64.8-18.41-.4-9.35-2-17.23-2-17.23zm267.1 7.87c-5.8 0-12.1 1.02-18.5 3.27-11.3 4-20.3 11-25.6 18.37-5.3 7.5-6.9 14.73-5 21.04 1.9 6.31 7.2 11.14 15.6 13.78 8.3 2.59 19.4 2.49 30.8-1.53 11.3-3.99 20.3-11 25.6-18.37 5.3-7.5 6.9-14.72 5-21.04-2-6.31-7.2-11.14-15.6-13.78-3.6-1.13-7.8-1.74-12.3-1.74zm-98.1 41.94c-2.9 0-5.8.11-9 .33-16.5 1.16-36.2 5.23-55 13.25-12.3 5.23-24.3 12.03-35 20.83l54.2 37.9c9-4.5 19.8-7.8 32.9-9.2l9.7-1.1 1.7 62.8 75.8 48.3 7.5-14.7-57.8-46.8.6-5c2.4-20.4 7.4-45.5 8.7-66.2.7-10.4.4-19.7-1.1-26.12-1.5-6.43-3.7-9.23-6.5-10.56-3.9-1.78-12.7-3.46-23.8-3.7h-2.9zM223.1 132.4c-15.4 17.1-26.6 39.9-29.7 70.1-.9 7.7.9 13.7 5 19.7s10.8 12 19.3 17.6c17 11.3 41.1 21.4 63.7 33l9.2 4.7-44.6 63.7 66.1 40.6c3.9-3.8 7.2-6.2 8.4-7.7.9-1.1.9-1.3 1-2.2.1-.8-.2-2.7-1.3-5.9l-25.9-36 4.5-5.3c15.7-19 24-34.3 33-50.9-15.5-26.5-39.2-45.6-73.3-66l-7-4.1 3.4-7.4c4.6-9.9 10.8-19.6 19.9-27.7zm85.2 37.2c-7.7 2.3-13.8 5.3-18.7 9l27.9 18.9c-.5-7.5-1.2-14.9-1.4-22.4zM44.16 248.2l-8.86 15.6 368.5 208.3.6.3c27 10.7 54.9-5.1 72.3-16.9l-10-15c-15.9 10.8-38.7 21.6-55.4 15.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Skills;

impl IconShape for Skills {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.1 25v.1c-25 3.2-47.1 32-47.1 68.8 0 20.4 7.1 38.4 17.5 50.9L99.7 157 84 159.9c-13.7 2.6-23.8 9.9-32.2 21.5-8.5 11.5-14.9 27.5-19.4 45.8-8.2 33.6-9.9 74.7-10.1 110.5h44l11.9 158.4h96.3L185 337.7h41.9c0-36.2-.3-77.8-7.8-111.7-4-18.5-10.2-34.4-18.7-45.9-8.6-11.4-19.2-18.7-34.5-21l-16-2.5L160 144c10-12.5 16.7-30.2 16.7-50.1 0-39.2-24.8-68.8-52.4-68.8-2.9 0-4.7-.1-5.2-.1zM440 33c-17.2 0-31 13.77-31 31s13.8 31 31 31 31-13.77 31-31-13.8-31-31-31zM311 55v48H208v18h103v158h-55v18h55v110H208v18h103v32h80.8c-.5-2.9-.8-5.9-.8-9 0-3.1.3-6.1.8-9H329V297h62.8c-.5-2.9-.8-5.9-.8-9 0-3.1.3-6.1.8-9H329V73h62.8c-.5-2.92-.8-5.93-.8-9 0-3.07.3-6.08.8-9H311zm129 202c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm0 160c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkimmerHat;

impl IconShape for SkimmerHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189 80.54c-3.2 5.57-3.7 12.82-.8 22.46 2.9 9.6 9.4 21.3 19 33.4 19.4 24.3 51.3 50.8 90.7 73 39.4 22.1 78.6 35.6 109.5 39.5 15.3 1.9 28.6 1.5 38.3-1.1 9.8-2.5 15.7-6.7 18.9-12.3 3.1-5.6 3.6-12.8.7-22.5-2.9-9.6-9.4-21.2-19-33.3-19.4-24.3-51.3-50.9-90.7-73-39.4-22.18-78.6-35.61-109.4-39.54-17.2-1.94-47.6-3.07-57.2 13.38zm-18.3 26.56-25.6 36.5c-2.6 17.2 8.7 39.9 30.8 63.2 22.6 23.9 55.3 47.7 90.2 67.2 34.8 19.5 71.9 34.6 102.6 41.5 18.8 3.1 46.2 9.2 61.6-3.7l21.4-47c-15.4 4.3-33.3 3.6-46.7 1.9-33.9-4.3-74.9-18.5-115.9-41.6-41.1-23.1-74.6-50.7-95.9-77.5-9.1-13.2-18.7-26.7-22.5-40.5zm-59.8 8.3c-42.85-.1-73.64 12.4-86.43 35.1-14.594 25.9-5.48 65 25.56 108 31 43 82.97 88.4 148.07 125 65.1 36.6 131 57.5 183.8 61.6 52.8 4.2 91-8.3 105.6-34.3 14.6-26 5.5-65-25.6-108-1.5-2.2-3.2-4.3-4.8-6.4l-30.5 67.1c-7.7 12.9-19.4 22.3-32.1 25.8-14.4 3.8-31.3 3.4-50 .4-37.3-6.2-81.6-23.4-122.8-46.1-41.3-22.8-79.4-51-103.8-80.1-12.3-14.6-21.14-29.4-24.8-44.6-3.67-15.1-1.52-30.9 8-44.1l40.4-57.4c-10.2-1.3-21-2-30.6-2zm18.2 50.9c-11.2 15-22.3 30.6-18.5 48.4 2.7 11.2 10 24 21 37.2 12.6 15 29.9 30.2 49.7 44.7 4.8-11.2 12.3-24.1 25.3-39.4-16.5-12-31.4-24.9-43.8-38-16.2-17.1-28.6-35-33.7-52.9zm92.2 101.3c-14.1 16.3-20.7 28.6-24.9 39.5 10.2 6.8 20.9 13.4 31.9 19.5 3.9-9.7 9.6-20.7 23.9-39.8-10.6-6.1-20.9-12.5-30.9-19.2zm46.9 28c-15.9 20.8-20.3 29.7-23.9 39.6 35.7 18.3 72.9 31.7 103.1 36.7 20.6 2.7 53.9 5.2 62.7-15.7l9.2-20.2c-18.3 3.2-39.2.5-54.6-2.9-29.8-6.8-63.7-20.2-96.5-37.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkippingRope;

impl IconShape for SkippingRope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M120.6 26.13h-1.5c-1.9.15-3.6.75-5.1 1.6-3.1 1.71-5.7 4.9-7 8.67-1.3 3.77-1.2 7.87.1 11.14 1.4 3.26 3.8 6.04 9.2 7.93h.1L207 87.29c5.3 1.87 8.9 1.18 12-.54 3-1.73 5.6-4.95 6.9-8.75 1.4-3.8 1.4-7.94 0-11.21-1.3-3.27-3.7-6.03-9.1-7.92L126 27.27c-2-.71-3.8-1.06-5.4-1.14zM41.51 65.61h-1.1c-.98.1-1.97.22-2.94.46-3.88.96-7.31 3.22-9.32 6.14-2 2.91-3.02 6.42-1.64 11.99l23 93.3c1.36 5.5 3.89 8.1 7 9.8 3.12 1.6 7.21 2 11.09 1.1 3.89-1 7.33-3.3 9.34-6.2 2.02-2.9 3.04-6.4 1.68-12L55.6 77.06c-1.37-5.57-3.9-8.2-7.03-9.85-2.05-1.08-4.52-1.62-7.06-1.6zm203.39 7.45c-.1 3.72-.8 7.39-2 10.86-.8 2.24-1.8 4.42-3 6.48 21.6 6.58 51.4 16.5 82.3 29.5 59.7 25.2 122.3 62.9 137.7 104.1 11.5 30.9 10.7 73.4-1.3 110.6-11.9 37.2-34.6 68.4-64.3 79.9-10.4 4-22.6 6-35.8 6.6 8.8-21.3 11.2-46.4 8.3-70.9-4.3-36.5-20-72.3-47.1-91.9-23.8-17.2-60.8-21.5-93.9-15.9-16.6 2.8-32.3 8.2-44.9 16.9-12.5 8.6-22.1 21-24.4 36.4-3.6 24.7 5.4 48.1 21.2 67.8 15.9 19.7 38.6 36.3 64.2 49.1 26.4 13.1 55.8 22.2 84.2 25.7-24.5 24.1-65 32.8-106.9 28.5-42.7-4.3-86.1-22.2-112.4-47.3-27.19-25.9-36.34-88.4-36.32-144.4 0-26.3 1.72-51 3.53-69.8-.69.2-1.39.4-2.09.6-5.2 1.3-10.73 1.5-16.07.3-1.77 18.9-3.36 43-3.37 68.8 0 57.7 6.43 123.8 41.87 157.5C124.6 461.3 171 480 217.4 484.7c46.4 4.8 93.5-4.5 123.3-35.5 2.8-2.9 5.4-6.1 7.8-9.5 18.7.2 36.6-2.4 52.2-8.4 36.9-14.2 62-50.5 75.1-91.2 13-40.7 14.3-86.3.9-122.3-19.3-52.1-86.3-88.7-147.5-114.5-31.8-13.4-62.3-23.54-84.3-30.24zm6.3 185.24c22.7 0 44.9 5.2 57.9 14.6 21.1 15.3 36 46.8 39.8 79.5 2.9 24.7-.5 49.7-10.1 68.4-29.1-2-61.1-10.5-88.9-24.4-23.8-11.8-44.5-27.2-58.1-44.2-13.7-16.9-20.2-35-17.5-53.9 1.4-9.7 7.2-17.6 16.8-24.2 9.7-6.6 23.1-11.5 37.7-13.9 7.3-1.3 14.9-1.9 22.4-1.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Skirt;

impl IconShape for Skirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M103 28.31c-4.17 13.68-5.04 26.09-.1 41.09 56.8-3.6 104-5.31 144.4-5.72 67-.67 115.9 2.19 161.7 5.66 4.1-13.38 1.8-25.38-1.1-40.78-68.3 4.02-186.6 1.87-304.9-.25zm168.7 53.25c-7.8 0-15.9 0-24.3.1-23.1.24-48.5.94-76.5 2.14-22.1 45.3-23.9 88.7-30.2 135.5-7.8-43.5-2.9-94.2-.7-134.03-11.8.64-24.1 1.34-36.9 2.16C57.03 219.3 23.88 348.2 25.81 469.9c15.81 3.4 30.97 6.1 45.56 8.2-1.53-21.7 3.82-65.1 20.27-92.1-5.28 29.8-.87 64.1 3.09 94.9 18.07 1.8 35.17 2.6 51.57 2.8 1.2-76.4-.6-125.2 24.7-203.7.3 77.6 6 147.6 23.6 202.1 26.9-1.9 52.3-5.2 77.2-8.8 28.7-4.2 56.7-8.6 85.4-11.3.8-47.6-9.4-120.3-7.4-193.6 25.1 63.6 39.6 125.7 44.7 191.3 28.9-.8 59.1 1 91.7 7.1 1.7-75.4-25-261.8-74.3-373.19 3.1 61.59 7 121.69-1.2 158.59-13.4-54.9-23.6-106-41.5-167.53-29-1.74-60.3-3-97.5-3.11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Skis;

impl IconShape for Skis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102 20.58c-.8 0-1.5.18-2.3.5-1.62.66-2.55 1.51-3.62 3.58-1.08 2.08-1.97 5.41-2.3 9.63-.67 8.43.85 20.08 3.39 31.48C102.3 88.56 111 110.3 111 110.3l33.8 83.7 12.7-29.9 30 12.7-33.8-83.67s-8.9-21.76-21.1-41.68c-6.1-9.96-13.1-19.39-19.4-24.99-3.2-2.8-6.2-4.58-8.4-5.32-1.1-.38-2-.56-2.8-.56zm153.8.1c-.8 0-1.7.18-2.8.56-2.2.74-5.2 2.52-8.3 5.32-6.4 5.6-13.4 15.02-19.5 24.98-12.2 19.92-21.1 41.67-21.1 41.67l-15.5 38.44 22.3 55.2 2.5 6.2 33.5-82.6s8.7-21.74 13.8-44.55c2.5-11.4 4-23.06 3.4-31.49-.4-4.22-1.3-7.56-2.3-9.64-1.1-2.08-2-2.93-3.7-3.59-.8-.32-1.5-.5-2.3-.5zm97.1 159.77v46h26v-46zm86 0v46h26v-46zm-271.8 7.3l-12.8 30 8.5 20.9 12.7-30 30 12.7-8.4-20.9zm18 44.5l-12.7 29.9 7.2 17.9 42.7-17.3-7.2-17.8zm-40.7 8.8l-8.9 21.8 21.2 8.6zm212.5 3.4v206h-23v18h23v23h18v-23h23v-18h-23v-206zm86 0v206h-23v18h23v23h18v-23h23v-18h-23v-206zm-213.9 35l-42.6 17.3 11.2 27.8 42.7-17.3-5.2-12.9zm-100.1.1l-11.3 27.8 42.6 17.3 9-22.2-2.4-6-.7-1.8zm118.1 44.4l-42.6 17.2 59.2 146.6 42.6-17.3zm-136.2.05L51.59 470.4l42.64 17.3 59.27-146.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullStaff;

impl IconShape for SkullStaff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.516 25.71C180.128 26.863-4.977 170.06 93.084 346.96l37.771-37.77 3.333-3.333C83.773 134.282 237.561 38.977 324.773 29.287c-8.483-2.313-17.749-3.481-27.568-3.576a136.22 136.22 0 0 0-2.69 0zm9.365 68.081c-26.796-.226-53.08 9.468-72.885 29.273-22.421 22.478-24.678 64.162-4.935 83.905l-69.098 49.357 98.71 98.711 49.358-69.098c19.743 19.743 61.425 17.532 83.905-4.935C429.823 240.116 427.614 171.614 384 128c-22.488-22.488-51.594-33.969-80.12-34.209zm-42.744 39.766c12.123.02 26.301 10.85 31.554 21.59 7.372 15.071 3.104 38.718-9.87 49.355-10.18 8.344-30.862 9.943-39.485 0-15.244-17.577-10.738-58.3 9.871-69.098 2.444-1.28 5.132-1.852 7.93-1.847zm221.576 53.67c-9.69 87.21-104.995 241-276.57 190.585l-41.104 41.104c193.631 107.335 346.882-124.591 317.674-231.69zm-143.565 28.486c6.331-.098 12.525 1.062 17.706 3.596 13.218 6.465 26.571 26.45 19.742 39.484-10.798 20.61-51.521 25.115-69.098 9.871-9.943-8.623-8.344-29.306 0-39.484 6.98-8.515 19.564-13.28 31.65-13.467zm-43.988 1.127l-19.744 39.486-19.742-19.742zm-85.334 13.379l12.727 12.728-3.506 3.506 16.885 16.887 3.507-3.508 12.729 12.729-3.508 3.507 16.887 16.885 3.506-3.506 12.728 12.727-29.613 29.613-12.729-12.726 13.38-13.38-16.887-16.886-13.38 13.379-12.726-12.727 13.38-13.379-16.888-16.886-13.379 13.379-12.726-12.729zm-42.994 68.449l-16.885 16.885 46.5 46.5 16.885-16.887zm-29.611 29.613L18 447.502v33.771l136.105-136.105zm29.611 29.614L30.727 494H64.5l119.219-119.219z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slalom;

impl IconShape for Slalom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40.433 19.397l-17.363 4.73s7.978 29.369 22.262 60.55c7.142 15.59 15.853 31.71 26.293 45.164s22.689 24.61 37.822 28.62c18.588 4.928 36.192-.763 51.455-10.515 15.263-9.751 29.06-23.55 42.606-37.013 13.545-13.464 26.836-26.6 39.814-35.125 12.978-8.526 24.843-12.391 37.727-9.5 13.93 3.126 30.643 14.555 41.847 28.783 11.205 14.228 16.5 30.413 12.705 42.79-5.282 17.23-17.227 25.816-35.802 31.466-18.575 5.65-43.111 7.098-68.739 8.144-25.627 1.046-52.35 1.745-76.285 7.045-23.935 5.3-45.775 15.637-58.642 36.43-11.074 17.893-15.214 41.44-12.961 63.974 2.252 22.535 11.032 44.575 28.709 57.594 25.637 18.882 55.878 19.622 85.879 11.82 30-7.801 60.776-23.747 91.306-39.554 30.53-15.808 60.81-31.487 88.477-39.248 27.667-7.761 51.799-7.838 73.215 5.992 8.277 5.345 15.214 16.533 18.28 29.088 3.068 12.555 2.147 26.07-2.466 35.015-10.482 20.328-27.518 30.639-50.3 36.92-22.783 6.282-50.832 7.784-79.932 9.621-29.101 1.838-59.292 4.037-86.92 12.817-20.012 6.36-38.767 16.431-54.059 32.22l5.73-29.232-17.662-3.463-13.695 69.858 69.75-14.227-3.596-17.635-25.767 5.256c12.508-12.301 27.62-20.181 44.75-25.625 24.802-7.882 53.658-10.178 82.601-12.006 28.944-1.827 57.938-3.163 83.582-10.234 25.644-7.07 48.42-20.626 61.514-46.021 7.32-14.198 7.869-31.515 3.955-47.536-3.913-16.02-12.406-31.155-26.002-39.935-26.738-17.267-57.447-16.729-87.84-8.203-30.392 8.525-61.392 24.805-91.89 40.595-30.499 15.791-60.501 31.083-87.56 38.12-27.06 7.036-50.161 6.216-70.679-8.895-11.955-8.805-19.575-25.912-21.472-44.89-1.897-18.98 2.064-39.313 10.357-52.714 9.503-15.356 25.784-23.581 47.229-28.33 21.444-4.748 47.357-5.583 73.127-6.634 25.77-1.052 51.393-2.263 73.242-8.909 21.85-6.645 40.595-19.994 47.773-43.408 6.28-20.482-2.25-42.029-15.773-59.2-13.523-17.173-32.442-30.81-52.047-35.21-18.75-4.208-36.277 1.985-51.549 12.018-15.272 10.033-29.091 23.958-42.619 37.404-13.528 13.446-26.768 26.408-39.607 34.611-12.84 8.204-24.406 11.663-37.157 8.283-9.184-2.434-19.092-10.501-28.213-22.255-9.12-11.754-17.37-26.83-24.148-41.627-13.558-29.597-21.262-57.784-21.262-57.784zm87.319 18.366a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm144 48a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm112.96 85.568a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zM165.82 239.694a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm249.107 51.891a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zM85.711 363.831a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zm225.045 64.772a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SleepingBag;

impl IconShape for SleepingBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55.84 17.06L16.18 33.44l3.8 9.19 24.59-10.16L31.9 73.56l3.04 7.36 41.11-16.98-3.79-9.2L46.22 65.5l12.66-41.09-3.04-7.35zM256 25c-29 0-63.3 15-87.6 39.36-24.4 24.37-38.9 57.14-31.6 93.84l.1.2 4.8 30.2c.5.2 1.1.5 1.6.8 12.4 5.8 24.7 10.5 36.9 14.3 2.9-7.2 6.3-13.5 10.2-18.8 7.6-10.4 16.4-16.8 28.5-19.1l17.1-3.2-11-13.4c-9.3-11.2-15.7-27.6-15.7-45.9 0-33.38 19.9-59.12 41.9-62.04l4.4.1c24.2 0 46.5 26.31 46.5 61.94 0 17.8-6 34-14.9 45.2l-11.1 13.8 17.5 2.7c13.6 2.2 23 8.5 30.6 18.8 3.9 5.2 7.2 11.5 10.1 18.6 12-3.8 24-8.5 36.1-13.9l4.7-30.1.1-.2c7.3-36.7-7.2-69.47-31.6-93.84C319.3 40 285 25 256 25zm192.4 27.57l-4.4 8.89 23.8 11.89-39.3 17.4-3.6 7.12 39.8 19.83 4.4-8.9-25.2-12.54 39.3-17.41 3.6-7.12-38.4-19.16zm-1.8 89.23l-39 5.1 1.1 9 24.3-3.1-21.1 33.3.9 7.3 40.5-5.2-1.2-9.1-25.6 3.3 21-33.3-.9-7.3zm-306.3 66.9L184.8 446c3.3 13.1 12.2 23.1 25 30.1 3.5 1.9 7.2 3.6 11.1 5-15.6-62.6-26.3-130.8-33.1-191.3l17.8-2c7.2 62.9 18.6 134.3 35.1 198.1 5 .7 10.2 1.1 15.3 1.1 16.7 0 33.3-3.8 46.2-10.9 12.8-7 21.7-17 25-30.1l38-203c-3.3 5.5-7 11-11.1 16.4-16 21-39.4 40.2-79.3 53.2l-5.7 1.8-3.9-4.5c-17.2-20-46.8-45.4-74.8-66.7-18.5-14.1-36.9-26.5-50.1-34.5zm-80.62 1.6l-1.87 8.9 23.88 5-30.8 24.6-1.49 7.2 39.92 8.3 1.86-8.9-25.27-5.3 30.78-24.6 1.49-7.1-38.5-8.1zm302.72 1c-53.4 21.2-108.1 27.5-163.7 15.6.8.7 1.6 1.3 2.5 1.9 26.8 20.4 54.3 43.9 73.3 64.7 33.5-11.7 51.8-27.3 65.3-45 8.8-11.5 15.5-24.2 22.6-37.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SleevelessJacket;

impl IconShape for SleevelessJacket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M183.52 49.373c-9.33.395-19.07 1.434-29.088 3.092 7.844 36.25 25.637 68.946 60.568 97.474v-10.5c-8.845-10.246-15.845-25.51-21.54-42.594-5.177-15.534-8.795-32.223-9.94-47.473zm144.96 0c-1.145 15.25-4.763 31.94-9.94 47.473-5.695 17.083-12.695 32.348-21.54 42.593v10.5c34.93-28.53 52.724-61.226 60.568-97.475-10.02-1.658-19.758-2.697-29.088-3.092zm-126.812 2.18c.785 7.343 2.232 15.31 4.178 23.283C223.196 84.07 239.442 89 256 89c16.558 0 32.804-4.93 50.154-14.164 1.946-7.972 3.393-15.94 4.178-23.283C289.306 64.913 272.4 71 256 71s-33.306-6.087-54.332-19.447zm-64.883 4.408C105.988 63.033 73.35 75.5 42.313 92.67 72.472 215.975 87.862 380.764 74.175 491H215V172.633C169.732 139.81 146.24 99.52 136.785 55.96zm238.43 0C365.76 99.52 342.268 139.81 297 172.634V491h140.824c-13.687-110.236 1.703-275.025 31.863-398.33-31.037-17.17-63.675-29.638-94.472-36.71zM194.057 208.25l1.945 128.16-4.887 2.574c-27.018 14.238-57.635 14.82-87.963 6.477l-6.51-1.788-1.82-119.875-.13-8.514zm123.886 0l90.87 6.432 8.494.6-1.95 128.39-6.51 1.79c-30.327 8.34-60.944 7.76-87.962-6.478l-4.887-2.574zm-153.78 20.16l-38.032 2.692 20.364 17.67zm183.673 0l17.67 20.363 20.363-17.67zM176.56 241.59l-28.27 32.576-35.165-30.518 1.307 86.012c22.786 5.198 44.148 4.27 63.398-4.355zm158.88 0l-1.27 83.715c19.25 8.625 40.612 9.553 63.398 4.355l1.307-86.012-35.166 30.518zM233 473v18h46v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SleevelessTop;

impl IconShape for SleevelessTop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320 32l32 16c0 32 16 48 32 96 0 0 16 32.7 16 48 0 48-16 96-32 144s32 96 48 160H96c16-64 64-112 48-160s-32-96-32-144c0-16 16-48 16-48 16-48 32-64 32-96l32-16c0 64 32 144 64 144s64-80 64-144z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlicedMushroom;

impl IconShape for SlicedMushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.6 24.12c-17.8.08-37.6 2.86-59.4 8.64C81.16 49.71 49.62 88.08 34.29 129.2c-15.33 41-13.41 85.2-7.88 109.7 5.51 24.5 22.95 34.8 42 38.3 9.53 1.7 19.28 1.3 27.03-.4 7.76-1.6 13.26-5.1 14.46-6.7 9.6-12.2 10.1-18.6 7.4-25.6-2.7-7-10.9-15.4-22.13-25.1h-.1l-.1-.1c-5.31-4.7-7.02-13.3-4.49-19 2.52-5.7 6.95-9.1 11.72-11.6 4.9-2.5 10.3-4 16.2-3.4 5.9.6 12.8 4.2 15.9 10.8 30 63.8 28.5 132 35 196.6.1 1.6.3 2.1 2.9 3.5s7.6 2.7 13.9 3.1c12.6.8 30.5-1.7 47.5-6.8 17-5 33.5-12.5 43.6-20.5 5.1-4 8.6-8 10.1-11.2 1.6-3.3 1.7-5.3.5-8.3-12.7-30.6-23.6-62.3-32.3-94.9 0-.1.1-.3.1-.5h.1c.1-.5.1-.4-.6-1.1-7.5-28.2-13.4-57.2-17.4-86.7v-.1c-1.1-7.9 1.8-15.6 6.7-20.1 5-4.6 11.2-6.5 17.2-6.6 6-.2 12.2 1.4 17.1 6 4.9 4.6 7.1 12.8 4.9 20.2v.1c-5.2 17.7-6.2 29.3-4.8 35.5 1.5 6.3 4 8.7 11.5 11.7 3.1 1.2 8 1 14.2-1.8 6.3-2.8 13.3-8 19.5-14.5 12.2-13 20.2-31 17.8-43.4-10.1-51.9-31.2-90.01-63-111.51-19.9-13.44-44.4-20.8-74.2-20.67zM353.2 126.9c2.4 8.3 4.5 17 6.2 26 4.2 21.5-7.3 43.3-22.4 59.2-7.5 7.9-16 14.4-25.1 18.5-9 4.1-19 5.9-28.2 2.2-8.4-3.4-15.7-9.2-19.7-17.2 2.4 11.4 5.1 22.7 8 34 .8 1.7 1.3 3.6 1.5 5.6 8.4 31 18.8 61.2 30.9 90.5 3.2 7.6 2.4 16-.8 22.9-3.3 6.8-8.8 12.5-15.3 17.6-13 10.2-31 18.1-49.6 23.6-12.9 3.8-26.1 6.4-38.2 7.3-4.8 7.8-9.5 15.5-14 23.2v.1c-.8 1.3-.9 1.7.4 4.4 1.3 2.8 4.7 6.8 9.7 10.9 10 8.2 26.3 16.7 43.4 22.8 17 6.1 35.1 9.8 48.2 9.4 6.6-.1 11.8-1.4 15-3 3.2-1.7 4.4-3.2 5.1-6.3v-.1c14.4-60.8 35.9-121 66.5-178.1 3.8-7.1 10.8-11.6 17.5-12.4 6.7-.7 12.9 1.5 17.8 4.9 5 3.5 9.2 8.4 10.5 15 1.4 6.5-1.6 14.6-7.8 19.3v.1h-.1c-14.8 11.2-22.4 20-24.8 25.8-2.5 5.9-1.8 9.3 2.7 16.2 1.8 2.9 6.1 5.7 13 7.1 6.8 1.5 15.7 1.5 24.6-.1 17.8-3.2 35-13 40.2-24.3 22.3-48.1 27.3-91.3 13.6-127.7-13.6-36.4-46.3-67.2-103.4-89.3h-.1c-8.7-3.4-17.1-6.1-25.3-8.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlicedSausage;

impl IconShape for SlicedSausage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M350.9 36.23c-9.1-.16-17.4 1.45-24.8 5.14a26.67 16.72 24.5 0 1 13.9 3.49 26.67 16.72 24.5 0 1 17.1 26.25 26.67 16.72 24.5 0 1-30.7 4.09 26.67 16.72 24.5 0 1-17.9-19.52c-12.4 15.21-14.9 33.61-10.6 54.52.4 2 .8 3.9 1.4 5.8a13.4 19.63 89.15 0 1 15.9-6.1 13.4 19.63 89.15 0 1 19.6 13 13.4 19.63 89.15 0 1-19.2 13.5 13.4 19.63 89.15 0 1-9.8-1.7c6.4 14.5 15.5 30.5 26.4 43.9-2.1-7.2-1.9-15.1 1.7-22.5 4.6-9.7 13.3-14.9 22.7-16.5 9.7-1.5 20.9.1 30.4 5.1 9.5 4.9 16.8 13.6 20.9 22.2 4.1 8.5 4.9 18.7.4 27.5-4.6 8.8-13.4 14-22.7 15.5-7.8 1.3-16.8.4-25.6-2.8 15.8 12.3 31.3 22 46 27.8 5.4 2.1 10.7 3.7 15.7 4.8a21.22 13.13 50.2 0 1-4.6-4.6 21.22 13.13 50.2 0 1-3.4-24.4 21.22 13.13 50.2 0 1 6.4-2 21.22 13.13 50.2 0 1 17 9.8 21.22 13.13 50.2 0 1 5.4 21.9c7.4-1.2 14.1-4.3 19.9-9.4 25-20.7 31.3-44.2 27.5-69.1-3.8-26.2-19.2-52.3-40.8-74.18C438 75.87 425.2 65.37 412 56.98a17.25 13.66 50.2 0 1-4.2 8.76 17.25 13.66 50.2 0 1-21.2-4.4 17.25 13.66 50.2 0 1-3.2-18.64c-1.7-.62-3.4-1.22-5.1-1.77-9.9-2.98-19.2-4.55-27.4-4.7zm-71.7 43.71C221.9 121.3 157.5 170.9 113.9 220.6c-26.36 29.4-45.25 60.7-52.08 88.9-6.77 28.2-2.29 56.1 19.63 82.8C107.7 424 134.4 435 163.6 434c30.2-.9 62.2-14.9 95.1-36.4 56.1-35.8 113.9-92.8 166.4-137.9-8.5-1-17.1-4.7-25.6-8-26.6-10.4-54.1-30.4-75.5-54.8s-38-54.5-43.8-83.1c-2.3-11.2-2.7-22.76-1-33.86zm92.1 5.44a12.07 16.45 1 0 1 11.9 16.72 12.07 16.45 1 0 1-12.4 15.9 12.07 16.45 1 0 1-12.9-16.4 12.07 16.45 1 0 1 13.4-16.22zm52.9 7.28a22.28 14.46 80.6 0 1 16.3 19.64 22.28 14.46 80.6 0 1-10.5 24.1 22.28 14.46 80.6 0 1-17.8-19.4 22.28 14.46 80.6 0 1 10.6-24.22 22.28 14.46 80.6 0 1 1.4-.12zM446.8 138c1.9 0 3.8.3 5.6.7 7.3 1.6 14.3 5.9 20.7 12.3 5.5 7.8 8.5 15.3 8.7 22.8.4 7.5-2.2 15.4-8.7 20.6-7.4 5.2-15.6 6.3-22.9 4.6-7.4-1.6-14.2-5.9-19.5-12.3-5.3-6.4-8.3-13.9-8.6-21.4-.4-7.5 2.3-16.8 8.5-22 4.6-3.8 10.5-5.5 16.2-5.3zm-1.2 19.3c-1.5.1-2.6.6-3.5 1.3-1.3 1.1-2.2 2.8-2 6 .1 3 1.5 7.1 4.4 10.6 3 3.5 6.7 5.6 9.7 6.3 3 .7 4.9.1 6.2-1 1.3-1 2.2-2.8 2.1-6-.1-3-1.5-7-4.5-10.6-2.9-3.5-6.6-5.6-9.6-6.3-.8-.2-1.5-.3-2.1-.3h-.7zm-82 1.1c-1.4 0-2.7.1-4 .3-5 .9-8.1 3.1-9.7 6.1-1.6 3.1-1.6 6.9.6 11.5s6.7 9.4 12.9 12.6c7.4 3.2 14.2 4.1 19.2 3.3 5-.9 8.1-3.1 9.7-6.1 1.6-3 1.6-6.9-.6-11.4-2.2-4.6-6.7-9.4-12.9-12.7-4.7-2.4-10.4-3.5-15.2-3.6zm-302.59 237c-11.8 4.7-25 7.7-39.9 8.2 24.27 19.7 48.06 41.7 65.4 72.2 1.87-13.4 5.59-28.9 12.55-43-11.34-7.4-21.87-17-31.81-29.1-2.21-2.7-4.28-5.5-6.24-8.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slime;

impl IconShape for Slime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.614 30.044c-41.094.11-65.414 10.652-81.03 26.75-16.656 17.17-24.139 42.145-28.03 71.115-3.893 28.97-4.132 61.396-7.866 92.127-3.734 30.73-10.966 60.248-30.557 82.406-15.817 17.892-42.361 25.805-62.95 35.092-10.296 4.643-19.02 9.523-23.905 14.351-4.885 4.829-6.475 8.28-4.984 15.149 1.096 5.052 1.608 4.95 5.66 5.863.26.059.576.099.865.147.557 5.33.8 11.75-.547 15.793-2.607 7.825-15.762 11.07-15.469 19.314.375 10.517 11.005 24.543 21.44 23.178 9.19-1.203 13.373-15.322 12.992-24.582-.206-4.997-6.993-7.761-8.076-12.643-1.234-5.558.271-14.423 1.748-20.937 2.398-.154 4.955-.365 7.662-.627 17.928-1.738 42.524-4.773 62.908 10.922l.188.144.18.154c8.02 6.876 11.601 15.838 13.708 23.77 2.107 7.931 3.122 15.205 5.084 20.517 1.963 5.313 4.028 8.479 9.606 11.131 5.527 2.63 15.524 4.371 32.275 2.875 6.943-1.197 23.278-9.063 40.928-16.4 17.776-7.39 37.824-14.455 57.451-11.662 22.195 3.158 36.671 21.628 50.092 35.969 6.71 7.17 13.151 13.532 19.105 17.296 5.955 3.765 10.752 5.103 16.756 3.752 3.784-.85 6.019-2.717 8.604-6.716 2.585-4 4.872-10.023 7.088-16.815 4.43-13.584 8.153-30.887 22.523-41.054 15.43-10.919 35.04-9.373 51.36-9.366 2.497.001 4.914-.024 7.236-.088 1.676 6.563 3.632 16.245 2.43 22.186-1.07 5.28-8.3 8.397-8.44 13.781-.322 12.39 5.349 32.649 17.742 32.672 12.318.023 18.463-20.109 17.758-32.406-.326-5.692-7.844-8.637-9.877-13.963-2.372-6.216-3.17-17.085-3.437-24.25 3.643-1.11 5.647-2.575 6.986-4.809 1.073-1.79 1.352-3.25.978-5.77-.373-2.519-1.69-5.98-4.097-9.984-4.815-8.008-13.776-17.92-24.324-28.353-21.097-20.867-48.347-43.68-62.825-67.358-4.863-7.952-8.993-16.588-12.576-25.705-7.318-.474-14.554-.62-21.726-.51-.277 9.449-.298 27.428 3.062 37.31 3.313 9.743 17.026 11.318 17.207 25.634.193 15.237-6.193 39.866-21.422 40.383-15.972.541-25.213-24.753-25.283-40.735-.06-13.684 12.29-14.826 14.397-23.879 1.635-7.029.603-17.906-.751-26.676-1.116-5.49-5.266-11.503-12.227-10.64-33.643 3.153-66.13 10.934-98.915 17.518 3.746-21.205 11.727-47.904 35.3-65.721a73.974 73.974 0 0 1 4.52-3.154c-.304 5.65-.976 11.957-2.492 16.06-1.742 4.717-9.088 7.325-8.68 12.336.611 7.504 8.295 16.512 15.815 16.13 8.506-.434 16.796-11.492 15.943-19.966-.404-4.016-7.606-4.097-9.29-7.765-2.548-5.546-1.784-15.554-.835-22.373 21.352-9.2 44.721-6.84 64.479.29 8.004 2.89 13.774 7.568 18.152 13.231-4.283-18.421-7.608-37.494-11.049-56.047-4.684 11.104-23.122 12.455-42.303 4.672 15.512-9.746 25.996-23.802 35.4-38.783-5.935-25.782-13.52-48.61-24.792-64.387-11.33-15.859-25.448-25.085-48.428-25.775a258.397 258.397 0 0 0-8.445-.12zm-41.33 90.005c.635-.009 1.278.256 1.91.832 17.36 15.839 31.196 35.58 54.338 41.11-10.236 9.53-31.876 14.4-57.028 1.125-10.858-17.297-5.365-42.982.78-43.067zm41.023 318.409c-16.932.1-38.307 8.538-36.385 22.369 3.127 22.496 55.236 28.997 67.424 9.832 6.62-10.41-8.522-27.451-20.367-30.903-3.094-.901-6.764-1.321-10.672-1.298z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sling;

impl IconShape for Sling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218.5 26.8c-36 0-72.6 10.05-102.1 28.19C74.64 80.64 47.03 121.2 51.13 172.7l8.99 27.7c15.81-42.6 41.98-79.2 75.78-103.77 36.9-26.89 83.1-39.11 132.7-29.05l-10.2-36.32c-10.7-2.43-21.6-3.89-32.7-4.32-2.4-.1-4.8-.14-7.2-.14zm61 13.02l8.5 30.04 18-.54-3.4-20.93zm42.4 15.33l3.6 22.18c5.8 3.54 9.5 6.78 11.3 9.29 3 4.11 2.8 5.61.6 9.81-4.4 8.47-23.5 22.27-46.9 35.67-23.4 13.4-50.8 27.4-72.4 42.9-10.9 7.8-20.3 15.9-27.2 25-6.8 9.1-11.1 19.7-9.8 31 7 62.8 61.8 105.2 113.1 132.1 30.7 16 60.6 26.7 79.7 32.7 2.8 2.7 11.9 11.2 23.8 19.8 14.2 10.2 31.5 21.5 49.5 19 10.5-1.4 21.4-6.8 30.2-14.4 4.4-3.8 8.2-8.3 10.7-13.7 2.4-5.4 3.3-12.1.8-18.4-4.6-11.7-16.3-17.3-27.9-19.4-5.9-1-12-1.3-18.3-1.2-6.2.2-12.6.7-18.8 1.6-20.1 2.6-38.2 7.7-44.6 9.6-18.4-5.8-47.3-16.1-76.7-31.6-49-25.7-97.7-64.8-103.7-118.1-.6-5.7 1.4-11.5 6.4-18.2 5.1-6.8 13.3-14 23.2-21.1 20-14.3 47-28.3 70.9-42 23.9-13.6 45-25.8 54-43 4.5-8.57 4.3-19.91-2-28.61-5.9-8.13-15.4-14.58-29.5-20.94zm85.4 97.05c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-71 39c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm-296.64 4.5l-12.79 34.8L43.4 245l6.89-16.6zm392.64 27.5c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zM22.84 251c-1.26 8.4-1.56 18-.8 28.4 1.56 21.2 8.28 45.3 24.43 65.1 45.87 56.3 82.33 75.5 121.73 82.2 35.9 6 73.2 2.5 125.2 10.4 3.7 4.9 9.2 12 15.9 19.3 11.9 13 26.5 27.5 44.7 28.7 10.6.6 22.4-2.5 32.5-8.2 5-2.9 9.7-6.4 13.2-11.2 3.4-4.8 5.6-11.3 4.5-18-2.2-12.4-12.5-20.1-23.5-24.5-11-4.3-23.9-6.2-36.4-7.1-6.2-.4-12.4-.6-18.1-.6-17.3 0-30.7 1.5-30.7 1.5l-8.8.9c-49.1-6.4-84.7-3.8-115.5-9-35.8-6-66.5-21.5-110.78-75.8C47.28 317 41.35 296.5 39.99 278c-.31-4.2-.33-8.2-.17-12.1zM443.1 385.6h4c3.9 0 7.5.3 10.7.9 8.6 1.5 12.7 4.2 14.3 8.2.5 1.3.6 2.3-.4 4.4-1 2.1-3.1 4.9-6.1 7.5-6 5.2-15.3 9.4-20.8 10.2-7.4 1-23.6-6.5-36.6-15.8-4-2.9-7.5-5.8-10.8-8.5 8.1-2 18.3-4.2 28.9-5.6 5.7-.7 11.4-1.2 16.8-1.3zm-116.8 47.9c5.3 0 11 .2 16.8.6 11.4.8 22.9 2.7 31 5.9 8 3.1 11.6 6.6 12.3 10.9.3 1.3.1 2.3-1.3 4.2-1.4 1.9-4 4.2-7.5 6.1-6.9 4-16.9 6.3-22.4 5.9-7.4-.5-21.8-11.1-32.6-22.8-3.4-3.7-6.3-7.2-8.9-10.5 3.8-.1 7.9-.3 12.6-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slingshot;

impl IconShape for Slingshot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.54 15.78c-2.838.003-5.676.125-8.5.365-22.6 1.92-44.724 11.21-61.347 26.587-16.32 15.096-27.204 36.473-26.69 61.45 3.875-.13 9.014-.284 14.847-.397 1.073-.02 2.088-.027 3.146-.043-.402-19.627 7.798-35.656 20.92-47.795 13.38-12.377 32-20.283 50.647-21.867 18.517-1.573 36.767 2.965 50.646 14.524 5.373-3.043 11.074-4.81 16.602-5.51 1.072-.136 2.135-.228 3.192-.297-2.48-2.79-5.112-5.37-7.89-7.715-15.842-13.365-35.714-19.31-55.575-19.3zm68.077 44.282c-2.986.057-5.93.6-8.842 1.477-1.104.257-2.187.577-3.25.972.026.04.05.082.075.12-3.47 1.38-6.817 3.335-9.692 6.35-3.5 3.673-6.077 9.9-4.693 15.998l.094.413.045.144c11.863-10.083 27.67-14.763 42.444-14.64.3.002.596.024.895.03l-.068-.868-.592-1.374c-2.704-6.274-8.677-8.048-13.11-8.49-1.107-.11-2.21-.154-3.308-.133zM277.66 81.3c-6.248.09-12.4.574-18.474 1.378l-.582.54 4.716 17.102c4.68-.57 9.39-.928 14.133-1.015 1.6-.03 3.207-.03 4.817 0 36.413.658 76.09 16.07 122.072 59.433l15.937-9.623c-49.936-48.12-95.313-67.04-137.684-67.806-1.652-.03-3.297-.035-4.936-.01zm-52.29 10.595c-6.7 2.283-12.923 5.844-17.354 10.447l2.01 10.578c4.8-7.386 9.9-14.41 15.345-21.025zm18.597 5.953c-4.65 5.218-9.075 10.81-13.297 16.738 5.564-1.297 11.307-1.985 17.088-2.13-.102-.656-.203-1.312-.3-1.958l-3.49-12.65zM190.2 105c-10.62 5.178-21.06 10.89-31.368 16.828l14.736 8.645-.23-.047c.64.353 1.372.707 1.754 1.027.528.443.905.83 1.213 1.19 5.797-3.22 11.592-6.312 17.392-9.227L190.2 105zM80.692 121.756c-1.61.018-2.815-.007-4.496.025-8.207.16-14.15.39-16.605.478-2.228 1.913-6.242 5.488-11.158 11.178-6.63 7.67-12.168 17.598-12.092 23.324.095 7.15 3.73 19.28 9.736 30.228 6.007 10.948 14.408 20.872 21.87 25.426.002 0 2.58.932 6.513 1.07 3.934.138 9.176-.22 15.04-1.04 11.728-1.64 25.992-5.075 39.117-9.215 8.666-2.735 16.262-5.755 22.9-8.71-17.423-3.064-34.79-11.906-48.413-23.3-9.947-8.318-17.986-18.11-21.704-29.304-2.12-6.388-2.42-13.417-.707-20.16zm170.13 8.596c-13.804-.118-26.667 3.534-35.956 11.37.29 1.234.584 2.44.873 3.696 7.614 33.128 13.767 73.212 9.864 97.246-5.603 34.496-31.537 84.64-56.23 125.106-14.89 24.398-29.136 45.285-38.177 58.144 10.07-.018 20.817 2.73 31.086 7.26 11.084 4.89 21.573 11.887 29.23 20.914 1.466 1.73 2.83 3.565 4.06 5.488 1.36-3.347 2.576-6.353 4.36-10.703 5.542-13.528 13.064-31.452 21.98-50.63 17.835-38.352 41.727-81.852 64.653-103.98 25.013-24.14 74.933-49.443 118.108-67.835 6.416-2.733 12.653-5.304 18.676-7.735-4.533-14.565-13.66-26.322-24.893-37.757-.622.35-1.232.7-1.86 1.052-35.47 19.846-79.24 38.213-106.96 35.963-3.385-.274-8.838-3.985-12.028-8.44-11.913-16.64-21.224-49.812-26.786-79.158zM144.48 134.28c-.125.142-.195.26-.324.406-3.408 3.85-7.99 8.477-12.875 13.076-4.585 4.317-9.376 8.534-13.716 11.965 14.612 11.06 34.845 18.494 49.54 17.9.08-3.49-.12-7.653-.57-11.81-.688-6.327-1.887-12.74-3.016-17.247-.44-1.752-.807-2.837-1.13-3.79l-17.908-10.5zm322.356 5.2c-2.163.02-4.4.502-6.305 1.614l-.428.252-.4.297s-2.87 2.124-7.9 5.642c14.61 14.434 22.734 32.15 28.22 50.262l4.314-1.457-.045.012c3.98-1.237 7.185-4.906 8.28-7.91 1.197-3.282 1.194-6.115.98-8.954-.425-5.676-2.144-11.535-4.497-17.277-2.354-5.742-5.26-11.186-9.092-15.605-1.915-2.21-4.043-4.27-7.263-5.73-1.61-.73-3.7-1.168-5.86-1.146zm-37.348 25.102l-13.875 8.377c5.383 5.814 10.47 12.035 14.83 18.9 1.41-8.554 1.554-17.292-.955-27.278zm19.405 7.455c1.144 12.08-.52 22.994-2.93 33.05l15.717-5.33c-3.235-10.06-7.23-19.383-12.787-27.72zM130.95 443.914c-.444 0-.878.012-1.3.03-6.752.316-9.117 1.857-10.17 4.693l-2.212 5.965c.133 4.11 1.153 8.13 2.834 11.68 3.7 7.818 10.09 14.155 17.732 18.603 7.642 4.448 16.732 7.043 26.115 5.9 7.178-.874 14.383-4.265 20.183-10.12.164-4.882-1.947-9.743-6.35-14.935-5.278-6.223-13.748-12.11-22.765-16.087-8.454-3.73-17.418-5.75-24.07-5.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slipknot;

impl IconShape for Slipknot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237 23v113.1l38 5.6V23h-38zm-34.5 126.2c-.3.2-.7.8-1.3 2C200 154 199 159 199 164c0 5 1 10 2.2 12.8.6 1.3 1.2 2 1.4 2.2h.1l106.8 15.8c.3-.2.7-.8 1.3-2C312 190 313 185 313 180c0-5-1-10-2.2-12.8-.6-1.3-1.2-2-1.4-2.2h-.1l-106.8-15.8zm0 48c-.3.2-.7.8-1.3 2C200 202 199 207 199 212c0 5 1 10 2.2 12.8.6 1.3 1.2 2 1.4 2.2h.1l106.8 15.8c.3-.2.7-.8 1.3-2C312 238 313 233 313 228c0-5-1-10-2.2-12.8-.6-1.3-1.2-2-1.4-2.2h-.1l-106.8-15.8zm3.1 48.4c-5.2 6.5-10.5 13.3-15.9 20.6-26.3 35.8-54.3 79.4-47.5 122.6 4.2 26.7 19.5 51.4 39.8 70.4 20.2 19 46.1 32.8 74 32.8s53.8-13.8 74-32.8c20.3-19 35.6-43.7 39.8-70.4 6.8-43.2-21.2-86.8-47.5-122.6-1.7-2.4-3.4-4.6-5.1-6.9-2.2 1.1-4.7 1.7-7.2 1.7h-.7l-42.2-6.3c7.7 8.9 16.6 19.7 26.2 32.8 24.3 33.2 44.3 74.6 40.9 95.7-2.6 16.2-13.6 35.5-28.8 49.8-15.2 14.2-33.9 23-49.4 23s-34.2-8.8-49.4-23c-15.2-14.3-26.2-33.6-28.8-49.8-3.4-21.1 16.6-62.5 40.9-95.7 10.6-14.5 20.4-26.3 28.7-35.7l-41.8-6.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slippers;

impl IconShape for Slippers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.6 34.34c-1.2-.01-2.3.01-3.4.06-15.4.7-29.3 7.72-42.28 20.01-14.83 14.04-27.93 35.01-38.34 59.49-20.17 47.5-30.15 108-28.08 155.8 73.62 43.9 144.9 33.2 202.8 11.7 2.8-50.2-.5-110.8-13.9-159.2-7-25.15-16.7-46.93-28.9-62.24C166.3 44.65 152 35.78 134 34.5c-1.2-.1-2.3-.15-3.4-.16zm250.8.01c-1.1.01-2.3.06-3.4.14-18 1.28-32.3 10.15-44.5 25.46-12.3 15.31-21.9 37.1-28.9 62.25-13.4 48.4-16.7 109-14 159.2 58 21.5 129.2 32.2 202.8-11.7 2.1-47.8-7.9-108.3-28-155.8-10.4-24.48-23.5-45.45-38.3-59.49-13-12.29-26.9-19.31-42.3-20.01v-.01c-1.1-.04-2.2-.06-3.4-.04zM43.29 302.1c-.82 53.7 5.15 110.3 27.53 148.3C86.63 477.3 119 493 146.5 492.2c13.8-.4 26-4.7 35-12.9 8.9-8.2 15.1-20.6 15.8-39.3 1.3-35.3-6.8-73.1-9.7-111.6-.5-5.9-.7-11.7-.8-17.6-43.5 10.1-92.88 11.4-143.51-8.7zm425.41 0c-50.7 20.2-100 18.8-143.5 8.7-.1 5.8-.4 11.7-.9 17.5-2.9 38.6-10.9 76.4-9.6 111.7.7 18.7 6.9 31.1 15.8 39.3 8.9 8.2 21.2 12.5 34.9 12.9 27.6.8 59.9-14.9 75.7-41.8 22.5-38 28.3-94.6 27.6-148.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlumberingSanctuary;

impl IconShape for SlumberingSanctuary {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.7 25.61L79.29 51.07 202 173.9v312.5h36V158.9zm302.6 0L274 158.9v327.5h36V173.9L432.7 51.07zM66.75 89.66L41.29 115.1 132 205.9v222.5h36V190.9zm378.55 0L344 190.9v237.5h36V205.9l90.7-90.8zM42.75 169.7l-25.46 25.4 42.73 42.8v116.5h36V222.9zm426.55 0L416 222.9v131.5h36V237.9l42.7-42.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Smart;

impl IconShape for Smart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.3 19.95c-41 0-74.1 32.7-74.1 73.27 0 22.98 8 33.78 16.8 47.78 5.9 9.3 12 20.1 15.5 35.6h83c3.5-15.9 9.6-26.8 15.5-36.2 8.9-14.1 16.8-24.7 16.8-47.18 0-40.57-32.8-73.27-73.5-73.27zm-142.1 7.7L81 35.4l81.2 40.25-48-48zm283.6 0l-48 48L431 35.4l-33.2-7.75zM210.5 79.2l45.5 22.7 45.5-22.7-20.8 83-17.4-4.4 11.2-45-18.5 9.3-18.5-9.3 11.2 45-17.4 4.4-20.8-83zM64 96.03v32.07l96-16.1-96-15.97zm384 0L352 112l96 16V96.03zM334.2 144.3l39.9 63.3 24.1-15.3-64-48zm-156.4.1l-64 48 24.1 15.3 39.9-63.3zM216 191v16h80v-16h-80zm34.4 28.3c-13.7 0-26.9.5-35.7 1-68.2 10.7-82.9 105.4-66.7 191.6h23.6l-1-105.4 18.6-.2c-1.4 63.7 1.6 126.6 5.5 189.7h51.4V390.3h18.7V496h50.4c4.5-65 5.9-131.5 6.5-189.7l18.7.2-1.1 105.4h24.6c18.3-88.5-4.8-178.9-67.1-190.6-9.4-1.4-24.9-2-40.6-2h-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Smartphone;

impl IconShape for Smartphone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 32c-16 0-32 16-32 32v384c0 16 16 32 32 32h192c16 0 32-16 32-32V64c0-16-16-32-32-32H160zm21.68 23h96v18h-96V55zM304 55h32v18h-32V55zM154 96h204v320H154V96zm70 342h63.984c16 0 16 16 16 16v6H208v-6s0-16 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmokingPipe;

impl IconShape for SmokingPipe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M483.66 146.386l-162.2 75.44c6.805 5.068 11.616 12.53 13.86 21.566 31.302-30.166 133.963-65.006 148.34-65.006 9.932-32 0-32 0-32zM46.193 219.384c-14.496 43.792-22.06 69.925-22.262 86.385-.21 17.282 5.624 25.782 22.095 42.252 13.328 13.328 28.604 18.273 48.182 17.518 19.53-.754 43.06-7.833 69.69-19.338 61.88-30.948 127.09-66.444 154.712-91.86.012-9.254-2.38-14.29-7.306-17.646-29.185 15.145-57.58 31.062-125.656 46.467l-10.986 2.486v-11.264c0-16-.098-27.592-1.826-36.235-1.504-7.515-4.044-12.927-9.2-18.766H46.193z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmokingVolcano;

impl IconShape for SmokingVolcano {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.617 18C18.6 55.817 39.13 114.441 82.812 150.084c20.272 13.078 45.532 20.176 90.76 10.582-28.04 20.036-55.985 22.522-81.12 13.705-1.643 40.508 11.725 74.172 44.724 92.262l6.955 1.222c21.812 3.834 40.577 6.554 57.064 8.432 43.104-1.027 100.974-15.253 107.075-46.26 5.206 17.254-9.413 35.895-30.461 49.03 26.736-1.788 45.89-6.535 70.962-9.475 22.66-4.201 45.749-6.556 58.325-33.943-23.624-1.572-66.964-39.445-58.032-67.244 10.233 24.752 34.786 46.375 67.489 50.714 32.703 4.34 61.938 2.762 74.445-21.978-36.742-7.347-83.678-30.66-83.576-58.164 16.688 23.709 57.832 37.588 86.578 41.625v-80.367c-17.403-2.517-37.61-11.616-61.531-29.284-28.723 10.61-70.17 1.176-89.559-29.08 14.67 9.377 77.616 31.436 119.41-5.072-2.133 13.262-9.706 23.112-20.197 29.512C457.929 79.04 478.128 83.145 494 83.523V18H88.773c22.714 38.433 60.376 43.69 115.748 20.205-24.984 30.51-67.748 36.77-92.095 26.365C90.848 55.35 76.912 36.484 68.246 18H22.617zm226.037 67.768c-5.42 16.917-20.469 33.547-37.633 42.332 24.37 28.568 86.318 17.27 125.743-10.262-5.5 12.47-35.01 35.827-65.514 39.754-26.159 3.367-55.237-2.426-74.432-24.31-25.83 5.454-53.32-9.415-63.224-37.438 13.345 8.887 35.848 29.588 62.52 21.334 15.613-5.072 39.086-16.757 52.54-31.41zm-100.34 201.021C121.427 356.821 61.605 426.55 13.25 494H494v-24.408c-18.259-18.204-37.237-36.465-55.416-54.854-40.17-40.634-76.623-81.875-91.643-126.703-7.676.987-15.006 2.15-22.4 3.317 10.79 34.39 34.149 70.833 49.826 97.377l-15.5 9.154c-15.667-26.527-40.826-64.792-52.338-103.836-6.255.86-12.756 1.639-19.756 2.242 1.656 18.171 7.979 36.85 17.04 55.934l-16.262 7.718c-9.69-20.41-16.917-41.23-18.754-62.57-9.018.304-18.917.282-29.969-.178-3.288 26.44-10.26 52.782-20.441 79.002l-16.78-6.513c9.565-24.633 16.081-49.149 19.223-73.569-8.416-.65-17.48-1.547-27.248-2.717-9.62 41.042-41.908 95.648-64.287 118.19l-12.774-12.682c17.29-17.414 49.743-72.746 59.051-107.87a1030.786 1030.786 0 0 1-27.258-4.245z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnailEyes;

impl IconShape for SnailEyes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80 40.998A38.867 38.867 0 0 0 40.998 80c0 1.848.136 3.662.38 5.44C45.395 76.946 54.065 71.001 64 71.001 77.7 71.002 88.998 82.3 88.998 96c0 9.936-5.945 18.606-14.437 22.621 1.777.245 3.591.38 5.439.38A38.867 38.867 0 0 0 119.002 80 38.867 38.867 0 0 0 80 40.998zm352 0A38.867 38.867 0 0 0 392.998 80c0 1.848.136 3.662.38 5.44 4.016-8.493 12.686-14.438 22.622-14.438 13.7 0 24.998 11.298 24.998 24.998 0 9.936-5.945 18.606-14.437 22.621 1.777.245 3.591.38 5.439.38A38.867 38.867 0 0 0 471.002 80 38.867 38.867 0 0 0 432 40.998zm-321.275 86.943a56.724 56.724 0 0 1-16.59 7.274c21.12 67.375 42.902 135.878 93.302 204.107-26.003 28.733-63.381 55.814-96.1 79.922-18.982 13.987-36.346 26.921-48.56 37.938-6.106 5.508-10.91 10.557-13.908 14.675-1.791 2.461-2.676 4.326-3.217 5.807 2.415 1.166 6.945 2.683 12.979 4.063 12.369 2.827 30.885 5.33 53.166 7.31 44.56 3.961 104.403 5.965 164.203 5.965s119.642-2.004 164.203-5.965c22.28-1.98 40.797-4.483 53.166-7.31 6.034-1.38 10.564-2.897 12.979-4.063-.541-1.48-1.426-3.346-3.217-5.807-2.998-4.118-7.802-9.167-13.908-14.675-12.214-11.017-29.578-23.95-48.56-37.938-32.719-24.108-70.097-51.189-96.1-79.922 50.4-68.229 72.182-136.732 93.302-204.107a56.724 56.724 0 0 1-16.59-7.274c-21.681 69.07-42.994 136.918-93.986 204.44-45.172 10.928-57.406 10.928-102.578 0-50.992-67.522-72.305-135.37-93.986-204.44zM199.002 384h17.996c0 20.5-15.2 34.988-32.228 45.63-17.03 10.644-37.281 18.687-52.745 26.419l-8.05-16.098c16.536-8.268 36.284-16.225 51.255-25.582 14.972-9.357 23.772-18.869 23.772-30.369zm96 0h17.996c0 11.5 8.8 21.012 23.772 30.37 14.97 9.356 34.719 17.313 51.255 25.581l-8.05 16.098c-15.464-7.732-35.716-15.775-52.745-26.418-17.028-10.643-32.228-25.131-32.228-45.631z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeEgg;

impl IconShape for SnakeEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.6 30.99c-9.2.18-26.9 12.56-44.3 34.92-17.41 22.37-35.08 53.29-49.28 86.19-14.19 32.9-24.95 67.8-29 97.8-4.05 30-.85 54.6 9.23 67.4 20.69 26.4 67.25 47.2 114.55 48.1 47.3.9 94.5-16.8 120.8-64.6 4.3-7.8 6.1-22.5 4.9-40.8-3-.5-5.9-1-8.9-1.5-24.4-3.8-48.2-5.9-59.6-6.8l-7.8 27.2 19.1 19.6-12.8 12.6-19-19.5-57 9.7-3-17.8 55.3-9.4 9.6-33c-.1-7.2 1.2-13.7 3.5-19.4l-34.1-21.5-62.2 31.4-8.1-16 38.6-19.5-17.7-39 16.4-7.4 17.4 38.3 16.6-8.4 37.8 23.7 55.7-29.7c-3.5-9.6-7.2-19.2-11.3-28.7-13.5-31.2-30.3-60.66-47.5-81.66-17.3-21.01-34.8-32.51-47.9-32.25zm91.7 172.21c-9.5 5.5-17.7 10.5-22.8 15.9-4 4.3-6.6 8.6-7.6 14.8 10.1.8 32 2.5 59.5 6.8 17.4 2.8 35 6.3 49.4 11.2 7.2 2.4 13.6 5.2 19 8.6 5.3 3.5 10.1 7.9 11.9 14.6 4.1 15.3-1.6 29.3-10.9 39.1-9.3 9.9-21.8 17.2-34.3 24.4-12.4 7.3-24.7 14.4-33.4 22.1-8.7 7.8-13.5 15.2-13.6 25-.2 18.5 7.1 32.5 20.1 45.3 13 12.7 31.9 23.5 52.9 33.1 42.2 19.3 84.6 19.9 110.4 12.5 12.9-3.7 21.2-9.7 23.6-13.7 1.2-2 1.4-3.1 1-4.7-.4-1.7-1.8-4.2-5.5-7.4-5.7-4.9-18.1-15.3-32.4-23.2-14.3-7.9-29.8-12.6-41.2-9.3-25.8 7.6-48.3 4.3-62.8-4-7.3-4.2-13.1-9.7-14.9-17.6-1.8-7.9 2.8-16.7 10.2-21.2 39.3-23.8 63-41.5 75.2-57.3 12.3-15.9 14.5-29.6 10.9-51-2.4-14.9-12.6-26.3-28.2-35.6-15.7-9.2-36.6-15.8-57.2-20.1-37.8-7.8-73.2-8.2-79.3-8.3zm156.4 227a10.48 9.984 0 0 1 10.5 10 10.48 9.984 0 0 1-10.5 10 10.48 9.984 0 0 1-10.5-10 10.48 9.984 0 0 1 10.5-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeJar;

impl IconShape for SnakeJar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.9 35.5c-1.6-.01-3.1-.01-4.7.02-43.7.6-99.6 12.79-143.5 34.77-25 12.56-46.1 28.28-59.2 46.11-13.1 17.7-18.54 37.1-13.4 59.8 3.5 15 13.9 26.9 29.8 36.8 15.9 10 36.9 17.3 58.9 22.4 44.2 10.1 93 11.1 113.9 9.4l19-1.5-10.9 15.6c-17.1 24.5-51.7 37.4-86.1 48-4.6 1.4-9.2 2.8-13.8 4.1h125.7c5.4-3.1 23.9-14.2 43.7-29.8 11.6-9.1 22.9-19.3 30.4-28.9 7.6-9.6 10.7-18.1 9.7-23.5-2.8-15.9-12.9-24.9-29.9-31.4s-40.5-9-65.2-9.6c-24.7-.5-50.7.8-73.6 1.3-22.9.6-42.2.7-56.3-4.2-9.2-3.2-16.3-8.2-19.5-15.7-3.3-7.4-1.5-15.7 2.2-22.3 7.5-13.4 22.5-25 40.7-35.4 18.3-10.5 39.7-19.28 60.1-23.86 20.4-4.58 39.9-5.6 54.8 3.22 27 16.04 51.4 30.74 72.6 38.14 17.2 6.1 31.3 7.6 44.3 2.5-6.4-8.6-18.2-23.9-36.5-43.03-24.9-25.86-57.2-50.94-79.9-52.5-4.3-.26-8.7-.44-13.3-.47zm28.6 17.93c4.7.08 10.3 2.45 15.9 6.99 13.9 11.24 13.5 18.32 8.2 32.7-7.2-11.47-19.8-22.21-37.1-28.25 2.1-7.82 6.9-11.53 13-11.44zM137 329v30h238v-30H137zm27.5 48l-42.7 57 13.2 53h242l13.2-53-42.7-57h-183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeSpiral;

impl IconShape for SnakeSpiral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.8 19.67c-64.3-.19-138.9 17.46-171.47 52.48C3.05 162.8-13.47 361.6 79.41 443.4 177 529.4 397.5 496.9 465.4 386c43-70.3-8.8-190.8-78.8-234.4-71.3-44.5-202.8-36.3-250 33.2-35.7 52.7-10.6 157.3 46.6 185.3 56.8 27.8 159.6-14.8 173.7-76.5 7.2-31.6-32.1-64.9-63.3-74-29.7-8.6-82.5-3.2-88.7 27.1-5.7 27.6 39.2 55.4 64.7 54.6 18.2-.6-47.6-29.8-36.4-45.7 17.8-25.3 86.4-1 87.7 29.8 1.9 43.6-81.1 72.6-120 52.7-40.5-20.8-55.4-96.9-28.4-133.5 34.8-47.2 125.6-47.2 175.1-15.9 49.6 31.4 90.4 114.8 60.7 165.4-49.6 84.5-216.1 110-290.3 46-71.77-61.9-61.6-214.7 2.8-284.2C182 49.64 361.7 63.14 390.5 92.21c17.8 26.79 47.6 58.69 90.7 38.19-26.9-7.5-43.3-20.9-50.5-38.65 16.9 6.49 48-.54 64.7-6.46-13.3-16.22-54.6-65.61-92.9-42.93 0 0-66-22.45-143.7-22.69zM423.3 51.8c9.5 8.19 25.9 20.75 40.9 29.42 0 0-34.9.97-43.2-11.39-3.4-5.03-7-9.46 2.3-18.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeTongue;

impl IconShape for SnakeTongue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.9 23.76C198 24.02 80.84 87.55 46.35 177 15.2 257.8 97.86 306.6 127.1 389.3c21.1 59.7-96.61 98.2-96.61 98.2H231.5s34.3-42.2 32.8-94.4c-2.8-99.1-134.7-126.8-127-198.8 6.8-64.2 164.6-128.97 213-86.3 24 21.2 16 85.5 16 85.5-24 3-34.5 8.2-48.7 17.9 21.1 51.8 17.3 105.3 19.8 158.4 19.5 13.9 43.4 16.1 69.5 12.9 19.3-50 44.7-95.4 74.6-137.5-5.1-14-12.3-22.6-29.9-35.3 0 0 18.2-97.6-24.9-140.43-32-31.89-77.3-45.83-125.8-45.71zm53.6 198.84l23.9 58.3s-27-6.9-32.2-17.6c-6.1-12.8 8.3-40.7 8.3-40.7zm93.6 15.2s4.2 31.1-5.8 41.1c-8.5 8.4-36.2 5.9-36.2 5.9zm-99 100.3l16.1 23.3-16.4-3.2zm58 10.1l-6.3 19.1-16.6-2.3zm-47.4 49.7l-6.1 35.1-36.7 34.7 12.4 13 29-27.4 13.6 34.9 16.8-6.6-17.5-45 6.3-35.9c-6-.8-11.9-1.7-17.8-2.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SniffingDog;

impl IconShape for SniffingDog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v34.924C30.373 40.596 43.205 29.082 56.232 18H18zm66.443 0C61.258 37.103 38.673 56.716 18 79.066v93.604c35.238-62.356 85.948-121.868 169.047-154.234L186.71 18H84.442zm96.07 22.428C97.444 77.27 50.832 143.66 18 210.878v64.858c11.154.898 21.737 2.696 31.846 5.455-4.82-7.28-8.926-14.836-11.254-22.258-3.256-10.382-2.62-22.698-1.78-33.282.842-10.583 2.317-19.17 2.317-19.17l17.74 3.04s-1.342 7.86-2.114 17.558c-.772 9.7-.545 21.504 1.012 26.467 2.876 9.17 13.302 24.353 23.015 36.187a327.014 327.014 0 0 0 4.016 4.79c7.474 4.124 14.704 8.94 21.745 14.48 33.96 26.73 63.706 69.267 99.367 130.902 16.65 6.505 40.976 9.85 64.414 10.405a36.37 36.37 0 0 1-2.592-4.486c-4.572-9.458-4.285-22.07 3.704-31.392 7.562-8.826 17.962-18.636 30.61-24.358 5.532-2.503 11.77-4.057 18.153-4.12.076-.002.15.005.226.005l-18.238-62.606c-3.994-9.02-4.22-18.422-2.325-26.89 1.95-8.702 5.86-16.646 10.035-24.292 8.34-15.268 17.522-29.612 18.94-42.438 2.55-26.62-12.78-47.528-24.22-74.013l-1.08-2.5.49-2.683c7.444-40.794 33.434-74.835 60.376-109.16-49.54-4.95-111.124 15.353-158.06 29.514l-7.61 2.297-3.218-7.27c-4.085-9.22-8.42-17.702-13.002-25.49zm119.674 282.926c.112.25.215.503.333.753l-.49-1.293.158.54zm79.655-258.51a163.5 163.5 0 0 0-13.22.51c-21.75 28.594-40.064 56.13-46.23 85.808.794 1.755 1.635 3.52 2.495 5.293 24.865-33.377 53.62-65.993 96.406-87.627-14.438-2.722-27.53-3.96-39.45-3.984zm-156.03 130.77l17.323 4.886c-2.18 7.726.64 20.587 8.457 32.105 7.816 11.52 20.036 21.37 33.588 24.864l-4.494 17.428c-18.755-4.836-34.023-17.498-43.99-32.185-9.965-14.687-15.22-31.725-10.885-47.098zM353.845 295.67l-4.797 84.873 21.817-62.324-17.02-22.55zm72.394 29.07l-51.172 66.15s78.346-26.13 82.184-27.158c3.838-1.028-31.012-38.992-31.012-38.992zm38.672 77.076l-74.24 14.653 76.183 6.735-1.943-21.39zm-143.662.543c6.196 36.786-13.185 38.92-33.77 42.212 8.924 2.434 37.68 6.205 45.69-6.953 6.452-10.598-5.676-27.313-11.92-35.26zm54.396 42.716l39.526 25.824 44.13-15.67-83.656-10.154zM18 471v18h476v-18H18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnitchQuidditchBall;

impl IconShape for SnitchQuidditchBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.242 23.746c-13.35-.267-12.03 91.912-5.71 103.036 3.875 6.82 6.193-10.662 21.022-12.25-5.408 5.15-24.323 30.74-14.425 41.378.693.746 18.478-18.13 18.038-10.916-17.332 22.232-16.615 33.91-8.778 35.762 2.585 4.382 3.88-6.777 14.79-8.992-11.88 13.923-7.974 27.244-1.858 32.416 11.887 21.494 28.463 32.738 36.217 52.19 13.508.56 26.468 3.272 38.548 7.804 2.59-77.788-20.786-159.03-94.13-238.262-1.347-1.456-2.585-2.143-3.716-2.166zm-299.674 76.58c-27.68-1.464 25.308 99.44 40.84 104.735 9.028 3.08-7.155-25.09 6.764-35.74-.692 7.248 2.923 52.275 21.6 54.8 1.24.17 1.708-42.154 6.706-36.167-.207 28.2 11.986 53.525 21.037 50.21 5.823 1.895-.887-26.21 8.106-34.624-1.13 18.285 12.288 44.93 22.157 45.296 28.437 10.01 58.3 20.302 86.95 30.89 4.418 1.633 1.103-6.725 6.993-11.077 1.065 9.216 12.585 18.437 15.76 19.665 8.133 3.143 16.087 6.314 23.824 9.51 4.007-4.462 8.334-8.627 12.936-12.475-77.025-62.935-170.466-124.18-259.66-152.713l5.318-17.197c105.32 40.04 191.08 91.35 269.48 159.052 4.134-2.522 8.417-4.82 12.846-6.86C251.984 193 158.57 120.55 30.947 100.473c-.48-.075-.94-.124-1.38-.147zm353.736 173.928c-59.2 0-107 47.8-107 107 0 30.278 12.507 57.568 32.643 77.012-1.39-9.04-1.943-18.47-1.482-27.602.496-9.845 2.167-19.324 5.795-27.623 3.627-8.298 9.596-15.734 18.402-19.245 4.164-1.66 8.393-2.45 12.584-2.533 12.574-.25 24.82 5.854 34.05 13.86 4.155 3.603 7.78 7.693 10.635 12.17 13.152 2.84 32.05.043 47.142-7.358 8.528-4.182 15.805-9.692 20.443-15.553 3.14-3.967 5.095-7.92 5.832-12.028.002-6.434 2.07-13.402 5.414-18.625 3.494-5.067 8.81-9.072 15.296-11.326-15.515-39.925-54.265-68.146-99.752-68.146zm104.83 85.397c-2.66 1.017-4.328 2.514-5.552 4.29-5.126 9.37.64 20.764 7.402 25.672.212-2.758.32-5.545.32-8.358 0-7.403-.748-14.628-2.17-21.603zm-17.525 35.926c-5.46 6.89-12.557 12.62-20.515 17.254 5.16 16.898 5.142 34.56 2.59 49.948 16.427-13.986 28.557-32.856 34.162-54.395-6.705-2.99-12.178-7.494-16.238-12.807zM344.74 399.44c-7.465-.31-12.7 5.704-14.988 10.81-2.373 5.43-3.89 13.007-4.31 21.32-.736 14.576 1.93 31.45 6.114 43.403 15.327 8.463 32.96 13.28 51.746 13.28 16.913 0 32.893-3.905 47.096-10.858 4.933-14.36 8.046-37.204 3.096-56.84-12.46 4.56-25.81 6.867-38.375 5.912.007 3.665-.704 7.363-2.39 10.885-5.05 10.552-16.13 15.3-27.65 15.064-11.52-.236-24.38-8.765-27.412-24.353l17.668-3.438c1.726 8.877 5.15 9.694 10.113 9.795 4.96.102 10.558-3.82 11.046-4.84.96-2.005 1.02-4.714-.61-8.617-1.634-3.902-5.017-8.458-9.382-12.244-6.55-5.68-14.805-9.178-21.762-9.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snowboard;

impl IconShape for Snowboard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M390.1 18.73h-1.2l42.8 178.05c4.4-3.8 8.9-7.7 13.6-11.6L405.9 20.89c-5.3-1.36-10.6-2.12-15.8-2.16zm-18.8 3.52c-6.6 2.7-12.7 7.03-17.9 13.26C228.9 182.7 182.7 228.8 35.53 353.4-27.91 407 105 539.9 158.6 476.5 264.5 351.4 313.7 299.2 416.4 210l-8-33.3-64 30.3-38.7 18.4-8.2 3.9-20.7 9.8-7.8-16.2 21.2-10.1c-5.1-13.4-7.3-27.6-5.3-41.2 2.5-16.4 11.8-31.8 28.6-40.7h.2l.1-.1c6.5-3.1 13.1-4.7 19.5-4.9.7 0 1.3 0 2-.1 10.1 0 19.8 2.9 28.2 8 11.9 7.1 21.7 18 28.9 30.5l11.7-5.5zm55.1 6.71L460.7 172c5.2-4.4 10.3-8.8 15.8-13.4 41.4-35-.9-103.72-50.1-129.64zM334.3 143.6c-4 .2-8.2 1.3-12.6 3.4-11.7 6.3-17.2 15.5-18.9 27.3-1.4 9.3.1 20.1 3.8 30.8l35.6-16.9 33.8-16.1c-5.9-9.7-13.6-18-21.8-22.9-6.1-3.7-12.2-5.7-18.6-5.6zM219.5 272.3l16.2 7.8-9.8 20.7-27.4 57.8-31.4 66.1-16.2-7.8 10-21.2c-12.5-7.2-23.4-17-30.5-28.9-8.6-14.4-11.2-32.4-3-49.6v-.2l.1-.2c8.9-16.8 24.4-26.1 40.7-28.6 3.1-.4 6.2-.7 9.4-.7h3.1c9.6.3 19.4 2.5 28.8 6zm-41.8 33.3c-2.3 0-4.6.1-6.8.5-11.7 1.7-21 7.2-27.3 18.9-5.5 11.8-3.9 22.2 2.2 32.5 5 8.2 13.2 15.9 22.9 21.8l16.5-34.7 16.5-34.7c-7.3-2.6-14.6-4.1-21.6-4.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Soap;

impl IconShape for Soap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248 15c-18.1 0-33 14.88-33 33 0 18.12 14.9 33 33 33s33-14.88 33-33c0-18.12-14.9-33-33-33zm0 18c8.4 0 15 6.61 15 15s-6.6 15-15 15-15-6.61-15-15 6.6-15 15-15zM64 73c-18.12 0-33 14.88-33 33 0 18.1 14.88 33 33 33 18.12 0 33-14.9 33-33 0-18.12-14.88-33-33-33zm0 18c8.39 0 15 6.61 15 15 0 8.4-6.61 15-15 15s-15-6.6-15-15c0-8.39 6.61-15 15-15zm155.9 39.7c-22.5 0-41 18.5-41 41s18.5 41 41 41 41-18.5 41-41-18.5-41-41-41zm0 18c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zM112 162a16 16 0 0 0-16 16 16 16 0 0 0 16 16 16 16 0 0 0 16-16 16 16 0 0 0-16-16zm223 61.4c-5 .2-10.6 2.4-20 7.1l-98.1 49.1c.1.8.1 1.6.1 2.4 0 27-22 49-49 49-11.9 0-22.7-4.2-31.2-11.3l-23.4 11.7c-8.2 4.8-14.26 8.3-18.01 12.9-3.78 4.7-6.39 11-6.39 24.4v43.1c0 10.4.59 14.7 1.18 15.7.6 1.1 3 3 11.52 7.4l78.7 39.4.3.1c16.3 9.7 36.8 8.8 56.7-1.2l199.3-98.9c9.5-5.3 13.6-9.1 15.6-12.7 2-3.7 2.7-8.7 2.7-18.1v-38.6c0-12.7.2-19.8-.8-22.4-.9-2.7-2.5-4.6-12.3-9.4v-.1l-84.8-42.4-.1-.1c-10.9-5.7-16.9-7.3-22-7.1zM168 251c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm246.8 34.5l7.8 16.2-154 73.8h-.1c-17 7.8-30.3 14.9-45.3 17.6-14.9 2.6-30.8-.4-49.6-11l.4.3-43.5-21.4 8-16.2 43.7 21.5.2.2c16.6 9.3 26.8 10.7 37.8 8.8 10.9-1.9 23.3-8.2 40.8-16.2l153.8-73.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoccerBall;

impl IconShape for SoccerBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.03 33.813c-1.834-.007-3.664-.007-5.5.03-6.73.14-13.462.605-20.155 1.344.333.166.544.32.47.438L204.78 75.063l73.907 49.437-.125.188 70.625.28L371 79.282 342.844 52c-15.866-6.796-32.493-11.776-49.47-14.78-12.65-2.24-25.497-3.36-38.343-3.407zM190.907 88.25l-73.656 36.78-13.813 98.407 51.344 33.657 94.345-43.438 14.875-76.5-73.094-48.906zm196.344.344l-21.25 44.5 36.75 72.72 62.063 38.905 11.312-21.282c.225.143.45.403.656.75-.77-4.954-1.71-9.893-2.81-14.782-6.446-28.59-18.59-55.962-35.5-79.97-9.07-12.872-19.526-24.778-31.095-35.5l-20.125-5.342zm-302.656 23c-6.906 8.045-13.257 16.56-18.938 25.5-15.676 24.664-26.44 52.494-31.437 81.312C31.783 232.446 30.714 246.73 31 261l20.25 5.094 33.03-40.5L98.75 122.53l-14.156-10.936zm312.719 112.844l-55.813 44.75-3.47 101.093 39.626 21.126 77.188-49.594 4.406-78.75-.094.157-61.844-38.783zm-140.844 6.406l-94.033 43.312-1.218 76.625 89.155 57.376 68.938-36.437 3.437-101.75-66.28-39.126zm-224.22 49.75c.91 8.436 2.29 16.816 4.156 25.094 6.445 28.59 18.62 55.96 35.532 79.968 3.873 5.5 8.02 10.805 12.374 15.938l-9.374-48.156.124-.032-27.03-68.844-15.782-3.968zm117.188 84.844l-51.532 8.156 10.125 52.094c8.577 7.49 17.707 14.332 27.314 20.437 14.612 9.287 30.332 16.88 46.687 22.594l62.626-13.69-4.344-31.124-90.875-58.47zm302.437.5l-64.22 41.25-42 47.375 4.408 6.156c12.027-5.545 23.57-12.144 34.406-19.72 23.97-16.76 44.604-38.304 60.28-62.97 2.51-3.947 4.87-7.99 7.125-12.092zm-122.78 97.656l-79.94 9.625-25.968 5.655c26.993 4 54.717 3.044 81.313-2.813 9.412-2.072 18.684-4.79 27.75-8.062l-3.156-4.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoccerField;

impl IconShape for SoccerField {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23 119v274h466V119H23zm18 18h206v79.016c-18.25 4.135-32 20.537-32 39.984 0 19.447 13.75 35.85 32 39.984V375H41v-62h64V199H41v-62zm224 0h206v62h-64v114h64v62H265v-79.016c18.25-4.135 32-20.537 32-39.984 0-19.447-13.75-35.85-32-39.984V137zM41 217h46v78H41v-78zm384 0h46v78h-46v-78zm-178 17.793v42.414c-8.27-3.467-14-11.6-14-21.207 0-9.606 5.73-17.74 14-21.207zm18 0c8.27 3.467 14 11.6 14 21.207 0 9.606-5.73 17.74-14 21.207v-42.414z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoccerKick;

impl IconShape for SoccerKick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.2 49.04c-15.7.1-32.3 13.83-38 35.81-6.5 25.15 4.7 47.85 22.1 52.35 17.4 4.5 38.2-9.9 44.7-35 6.5-25.16-4.6-47.82-22.1-52.33-2.2-.56-4.4-.84-6.7-.83zM89.04 68.3L77.5 87.31c32.4 15.99 63.1 33.49 96.4 46.49 9.5-3.8 18.8-7.8 28-12-40.2-15.4-76.7-33.69-112.86-53.5zm148.06 56.1c-47.8 25.4-97.9 41.6-153.64 61.1l8.08 16.4c51.96-16.1 111.26-32.9 161.16-56-6.9-5.5-12.1-12.9-15.6-21.5zm30.3 34.8c-22.5 10.8-46.8 20.2-71.4 28.7-20.3 45.6-27.7 94.9-36.8 140.1l-2.1 10.5-101.02-39.4-16.03 25.4 130.25 60.7c1-1.4 1.7-2.5 2.9-4.5 3.9-6.7 9.2-16.6 15.2-28.6 11.9-23.8 26.7-55.9 40.4-88.1 13.8-32.1 26.4-64.4 33.9-88.4 1.9-6.1 3.5-11.6 4.7-16.4zm-31.9 134.6c-5.5 12.5-11.1 24.8-16.5 36.3 25 37.4 57 79 94.9 109.2l23.3-17.6c-35.8-39.7-72.9-84.3-101.7-127.9zM423.9 367a48 48 0 0 0-48 48 48 48 0 0 0 48 48 48 48 0 0 0 48-48 48 48 0 0 0-48-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Socks;

impl IconShape for Socks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.2 16.893C224.44 24.26 171.857 43.68 136.946 65.035c3.8 8.306 8.407 17.42 13.432 27.094C189.16 70.017 228.422 53.125 268.48 47c-2.21-10.24-4.314-20.333-6.28-30.11zM416.07 51.48c-35.454 2.655-84.684 14.047-121.297 29.254 2.423 9.876 4.976 19.798 7.664 29.698 39.012-15.99 77.884-27.015 116.325-28.313-.99-10.43-1.89-20.7-2.692-30.64zM272.363 64.62c-37.478 5.536-75.403 21.64-113.63 43.466 4.894 9.308 9.967 18.98 15.003 28.957 32.71-20 67.733-34.88 105.922-41.744-2.575-10.3-5-20.55-7.295-30.68zm148.184 35.452c-36.39 1.043-74.34 11.746-113.21 27.82 3.05 10.518 6.258 20.95 9.64 31.194 33.967-15.28 69.54-25.432 107.203-27.69-1.345-10.53-2.545-20.995-3.633-31.324zm-136.38 12.707c-36.684 6.385-70.422 20.706-102.444 40.478 4.957 10.35 9.712 20.89 13.976 31.482 9.576 23.79 16.735 47.905 17.97 71.184 1.235 23.28-3.732 46.012-18.518 65.03l-.966 1.24-131.74 83.224c9.964 10.47 18.985 21.712 25.09 34.678 5.108 10.843 7.963 22.96 7.517 36.148 56.28-34.196 117.182-51.425 172.748-65.375-5.743-21.75-4.908-45.733 6.67-68.417 12.582-24.648 37.38-47.164 77.774-64.592C322 234.44 300.37 173.68 284.168 112.78zm142.435 36.51c-36.186 1.968-70.482 11.744-103.75 26.89 13.987 39.112 30.647 74.503 50.53 100.17l.81 1.05.478 1.24c12.348 32.218 11.574 63.886-2.037 89.65-13.61 25.763-39.733 45.007-75.4 53.823-33.52 8.287-69.062 16.94-104.42 29.07 3.793 11.366 5.203 23.733 3.21 36.772 59.913-27.332 122.42-37.265 179.24-44.578-3.143-22.274.51-45.99 14.676-67.154 15.394-22.997 42.67-42.437 84.835-54.99-24.922-46.678-39.25-109.56-48.173-171.944zm-65.8 144.48c-38.52 16.32-59.918 36.532-70.298 56.867-9.478 18.57-10.162 37.743-5.234 55.898 2.53-.625 5.142-1.278 7.644-1.896 31.793-7.86 52.878-24.08 63.803-44.76 9.797-18.544 11.65-41.176 4.086-66.11zm120.6 44.27c-40.175 11.672-63.804 29.224-76.506 48.196-11.598 17.325-14.534 36.285-11.777 54.895 2.587-.322 5.257-.664 7.816-.984 32.496-4.062 55.344-17.688 68.627-36.937 11.91-17.263 16.415-39.52 11.84-65.17zm-433.94 77.77c-18.744 16.462-21.867 37.685-15.995 53.004 3.222 8.408 9.072 14.922 16.988 18.375 7.027 3.065 15.973 3.84 27.076.46 3.522-15.47 1.346-27.95-4.276-39.886-5.218-11.08-13.74-21.58-23.793-31.955zm128.405 41.483c-13.968 5.28-27.85 11.188-41.512 17.914 2.453 7.772 7.258 14.14 14.104 18.145 6.616 3.87 15.408 5.693 26.83 3.644 5.26-14.784 4.634-27.32.577-39.703z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sofa;

impl IconShape for Sofa {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 73c-13.75 0-24.214 4.87-33.047 13.271-8.832 8.402-15.755 20.6-20.414 34.575-5.887 17.661-7.953 38.064-6.887 56.111a57.246 57.246 0 0 1 2.461-.187c8.38-.405 16.317 1.094 23.494 4.234 14.355 6.28 25.436 18.27 34.057 32.28 15.104 24.543 23.187 55.746 24.96 80.585 114.097-14.223 124.655-14.223 238.753 0 1.772-24.84 9.855-56.042 24.959-80.586 8.62-14.009 19.702-25.999 34.057-32.28 7.875-3.444 16.67-4.898 25.955-4.046 1.066-18.047-1-38.45-6.887-56.111-4.659-13.976-11.582-26.173-20.414-34.575C424.214 77.87 413.75 73 400 73zM56.969 194.502c-.686-.008-1.38.006-2.082.04-5.621.284-11.8 1.978-18.862 5.509-23.413 11.707-26.349 65.687 14.82 79.41l4.505 1.502L86.79 391h338.42l31.44-110.037 4.504-1.502c41.17-13.723 38.234-67.703 14.82-79.41-14.121-7.061-24.722-6.775-34.367-2.555-9.645 4.22-18.564 13.23-25.943 25.22C400.906 246.7 393 282 393 304v10.195l-10.117-1.265c-128-16-125.766-16-253.766 0L119 314.195V304c0-22-7.906-57.3-22.664-81.283-7.38-11.991-16.298-21.001-25.943-25.22-4.22-1.847-8.624-2.94-13.424-2.995zM83.727 409l-23.272 23.271c11.994 3.239 33.75 3.763 42.545-1.666 3.272-4.695 6.903-14.536 10.438-21.605zm314.836 0c1.494 6.017 6.952 19.12 10.437 21.605 13.2 5.463 29.904 5.774 42.545 1.666L428.273 409z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SolarSystem;

impl IconShape for SolarSystem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M125.764 18c-4.02 8.272-12.89 14.838-21.764 14.838 12 0 24 12 24 24 0-12 12-24 24-24-8.874 0-17.743-6.566-21.764-14.838zM416 32c0 8-8 16-16 16 8 0 16 8 16 16 0-8 8-16 16-16-8 0-16-8-16-16zm-72 40c0 12-12 24-24 24 12 0 24 12 24 24 0-12 12-24 24-24-12 0-24-12-24-24zM18 106.068v316.23c94.01-4 200.183-5.655 302.393-33.824 42.877-10.915 76.61-23.748 100.337-38.332 23.73-14.583 38.647-31.723 38.647-51.642-.09-8.624-3.61-17.682-8.012-24.502-3.336-4.935-7.64-9.66-12.78-14.174 1.484-3.638 2.307-7.627 2.307-11.824 0-17.228-13.772-31-31-31-17.227 0-31 13.772-31 31 0 17.227 13.773 31 31 31 6.414 0 12.346-1.91 17.27-5.196 7.304 6.808 13.886 15.314 14.215 24.696 0 10.556-8.86 23.27-30.072 36.306-21.212 13.037-53.58 25.59-95.354 36.225C224 393.99 112.045 402.37 29.4 404.14c24.183-4.757 46.276-15.274 64.803-30.066 26.898-1.776 50.93-3.913 76.447-7.078-2.67-6.236-3.957-11.75-3.527-17.71-18.175 2.115-36.955 4.04-52.676 5.3C137.233 328.146 151 293.706 151 256c0-77.41-58.01-141.054-133-149.932zm133.584 75.24c3.01 6.086 5.663 12.38 7.934 18.854 58.29 5.684 111.76 14.434 156.433 25.807 16.794 4.274 32.037 8.863 45.677 13.665 1.057-6.08 3.232-11.79 6.324-16.893-14.32-5.045-30.173-9.79-47.557-14.217-48.34-12.306-106.08-21.52-168.81-27.218zm12.926 35.917c1.43 6.073 2.528 12.27 3.28 18.576 26.678 3.332 51.106 7.403 72.524 12.104 30.658 6.73 55.29 14.78 71.508 23.196 8.11 4.207 14.065 8.524 17.606 12.322 3.54 3.798 4.572 6.636 4.572 9.078 0 2.442-1.03 5.28-4.572 9.078-3.54 3.798-9.497 8.115-17.606 12.322-16.217 8.416-40.85 16.467-71.508 23.196-3.503.773-6.587 1.408-9.93 2.086 2.285 6.26 3.146 11.893 2.216 17.916 3.81-.756 7.903-1.615 11.574-2.42 31.594-6.934 57.34-15.15 75.937-24.8 9.3-4.826 16.86-9.993 22.484-16.025 5.623-6.03 9.406-13.37 9.406-21.353 0-7.982-3.783-15.322-9.406-21.354-5.624-6.03-13.184-11.198-22.483-16.023-18.596-9.65-44.342-17.867-75.936-24.8-23.563-5.172-50.365-9.59-79.664-13.098zM200 337c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm56 95c0 8-8 16-16 16 8 0 16 8 16 16 0-8 8-16 16-16-8 0-16-8-16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SolarTime;

impl IconShape for SolarTime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.37l-35.4 97.23c11.3-3 23.2-4.6 35.4-4.6s24.1 1.6 35.4 4.6zm162.5 67.22l-94 43.81c20.8 12 38.1 29.3 50.1 50.1zm-324.88 0l43.78 93.81c12.1-20.7 29.3-38 50.1-50zM247 137.3c-58.6 4.4-105.3 51.1-109.7 109.7H176v18h-38.7c4.4 58.6 51.1 105.3 109.7 109.7V336h18v38.7c58.6-4.4 105.3-51.1 109.7-109.7H336v-18h38.7c-4.4-58.6-51.1-105.3-109.7-109.7V176h-18zm54.5 25.9l15.4 9.2-49.9 82.7 37.2 44.1-13.8 11.6-45.4-53.9zm-177.9 57.4L26.38 256l97.22 35.3c-3-11.2-4.6-23.1-4.6-35.3 0-12.2 1.6-24.1 4.6-35.4zm264.8.1c3 11.2 4.6 23.1 4.6 35.3 0 12.2-1.6 24.1-4.6 35.4l97.2-35.4zm-13.8 103.8c-12 20.8-29.3 38.1-50.1 50.1l94 43.9zm-237.1.2l-43.8 93.8 93.8-43.9c-20.7-12-38-29.2-50-49.9zm83.1 63.7l35.4 97.2 35.3-97.2c-11.2 3-23.1 4.6-35.3 4.6-12.2 0-24.1-1.6-35.4-4.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SolidLeaf;

impl IconShape for SolidLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M461.596 17.701C271.149 128.454-109.411-4.192 66.276 350.885c3.065 5.77 6.619 11.164 10.529 16.293-29.888 33.096-51.12 70.802-57.117 114.554 5.26 3.375 14.588 7.464 26.88 9.916 13.06 2.605 29.481 3.516 47.916 1.711-11.483-36.045-7.774-70.234 5.836-101.043 5.5 6.543 10.283 10.23 14.782 13.012C581.497 693.816 499.604 120.792 461.596 17.701z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sombrero;

impl IconShape for Sombrero {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 97c-7.5 0-16.28 6.144-25.512 19.992-2.506 3.76-4.983 8.018-7.422 12.678 4.796 1.746 9.125 4.077 13.098 6.152C243.984 139.908 250.51 143 256 143c5.51 0 12.03-3.075 19.844-7.145 3.98-2.072 8.31-4.4 13.107-6.152-2.443-4.673-4.926-8.943-7.438-12.71C272.28 103.142 263.5 97 256 97zm-40.695 49.168c-1.748 4.1-3.466 8.395-5.15 12.848 10.323.362 18.754 5.016 26.01 8.806C243.984 171.908 250.508 175 256 175c5.51 0 12.03-3.075 19.844-7.145 7.26-3.78 15.686-8.428 26.004-8.83-1.68-4.444-3.394-8.733-5.14-12.826-3.757 1.2-7.907 3.2-12.548 5.618-7.755 4.04-16.804 9.182-28.16 9.182-11.374 0-20.42-5.176-28.17-9.225-4.64-2.423-8.78-4.418-12.525-5.607zm-7.018 30.828c-1.15.037-2.794.353-4.723.867-14.73 45.123-26.11 100.996-33.892 146.918C197.62 328.896 226.806 331 256 331c29.194 0 58.382-2.105 86.328-6.22-7.786-45.95-19.177-101.865-33.92-147.003-1.875-.467-3.48-.75-4.64-.78-5.443-.14-11.853 2.782-19.608 6.82-7.755 4.04-16.804 9.183-28.16 9.183-11.374 0-20.42-5.176-28.17-9.225-7.75-4.048-14.134-6.95-19.543-6.78zm-38.394 55.065c-30.435 5.178-57.67 12.973-80.02 22.66-20.718 8.976-37.194 19.58-48.195 30.712 6.3 3.458 12.935 6.733 19.884 9.81 36.414-16.12 70.022-28.162 102.245-36.146 1.912-8.998 3.946-18.04 6.086-27.035zm172.214 0c2.14 8.996 4.174 18.038 6.086 27.036 32.223 7.984 65.83 20.026 102.245 36.146 6.95-3.077 13.583-6.352 19.884-9.81-11-11.133-27.477-21.736-48.195-30.713-22.35-9.687-49.585-17.482-80.02-22.66zm-182.252 46.315c-23.618 6.458-48.228 15.2-74.527 26.227 20.54 7.208 43.003 12.976 66.584 17.263 2.334-13.787 4.972-28.437 7.943-43.49zm192.29 0c2.97 15.053 5.61 29.703 7.943 43.49 23.58-4.287 46.043-10.055 66.584-17.263-26.3-11.026-50.91-19.768-74.527-26.227zM30.533 299.89c-2.496 4.48-4.14 8.977-4.945 13.503l7.9-11.852c-.99-.544-1.977-1.094-2.955-1.65zm450.934 0c-.978.556-1.964 1.106-2.955 1.65l7.9 11.853c-.804-4.526-2.45-9.024-4.945-13.502zM57 313.024v17.252l8.996-13.494c-3.043-1.214-6.038-2.47-8.996-3.757zm398 0c-2.958 1.287-5.953 2.543-8.996 3.758L455 330.276v-17.252zM39 325.725l-8.975 13.46c2.23 4.2 5.218 8.382 8.975 12.55v-26.01zm434 0v26.01c3.757-4.168 6.744-8.35 8.975-12.55L473 325.726zm-381.02.283l8.9 44.488 26.292-35.057c-12.094-2.723-23.852-5.868-35.192-9.432zm328.04 0c-11.34 3.564-23.098 6.71-35.192 9.43l26.293 35.058 8.9-44.488zm-344.584 9.064l-19.948 29.92-2.83-.857c8.87 6.755 19.77 13.173 32.387 18.982l-9.61-48.045zm361.128 0l-9.61 48.045c12.617-5.81 23.517-12.227 32.388-18.982l-2.83.857-19.948-29.92zm-275.572 6.785l32.768 65.536 46.867-58.582c-26.987-.63-53.81-2.925-79.635-6.953zm190.016 0c-25.824 4.028-52.648 6.322-79.635 6.954l46.867 58.583 32.768-65.536zM142.46 345.05l-35.26 47.012c19.772 6.996 42.413 12.664 67.075 16.616L142.46 345.05zm227.08 0l-31.815 63.628c24.662-3.952 47.303-9.62 67.074-16.616l-35.26-47.01zM256 358.407l-43.852 54.815C226.35 414.383 241.008 415 256 415c14.992 0 29.65-.618 43.852-1.78L256 358.407z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SonicShoes;

impl IconShape for SonicShoes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.7 87.02c-11.8-.1-22.3 1.69-30.3 4.68-9.9 3.72-14.7 8.7-15.6 12.9 5.2 3.9 9.5 8.5 12.3 13.9-.3-1.1-.4-2.2-.3-3.3 1.4-10 20.5-15.63 42.8-12.6 22.2 3.1 39.1 13.6 37.8 23.6-.4 3.3-2.8 6.3-7 8.6 3.5-.8 6.7-1.7 9.5-2.8 10.6-4 15.3-9.4 15.8-13.8s-2.8-10.7-12.3-17c-9.4-6.26-23.9-11.53-40.5-13.43-4.1-.48-8.2-.72-12.2-.75zM152 107.5c-15.3 0-29.1 3.6-38.4 8.7-9.2 5.1-13 10.8-13 15.6 0 4.8 3.8 10.5 13 15.6 1.7.9 3.5 1.8 5.4 2.6-5-3.1-7.7-6.9-7.7-10.7 0-10.1 18.2-18.3 40.7-18.3 22.5 0 40.7 8.2 40.7 18.3 0 3.8-2.6 7.6-7.6 10.7 1.9-.8 3.7-1.7 5.3-2.6 9.2-5.1 13-10.8 13-15.6 0-4.8-3.8-10.5-13-15.6-9.3-5.1-23.1-8.7-38.4-8.7zm66.8 36.2c-1 2.2-2.3 4.4-3.9 6.4-1 9.2-2.5 17.8-3.4 26.1 15.9 10.6 37.2 14.5 56.5 13.4 10.8-.7 20.8-2.9 28.3-5.8 3.9-1.6 7-3.4 9.2-5.1-21.6 3.3-42.9-4.7-56.4-10.8-.1 0-.2-.1-.2-.1.1 0 .1.1.2.1 3.1.7 38-3.7 54.3-7.7-.2-3.4-.2-6.7 0-10-13.4 4.3-29.7 5.6-47.1 3.6-13.9-1.5-26.7-5.1-37.5-10.1zm-114.1 19.4c.5 4.9.8 10.1.9 15.3 11.3 5.2 25.6 8.5 39.5 12.2-12.9.4-23.9 2.3-40.1-.2-.3 2.9-.7 5.9-1.3 8.8 31.8 12.4 61.4 9.9 90.4 2.6-2.5-12.9-1.5-24.9.1-36.1-11.9 5.4-26.4 8.4-42.2 8.4-18 0-34.4-3.9-47.1-10.9-.1 0-.1-.1-.2-.1zM355 186.2c-1.7 0-3.1.1-4.2.3-26.9 10-49.9 23.7-65.4 42.4-14.2 17.1-22.5 38.5-21.9 66.7 12.2.6 25.7 3.5 37.4 9.2 4.3-32 16.3-56.1 33.1-73.9 15-16 33.5-26.7 53-34.5-3.5-1.9-7.1-3.8-11-5.3-7.6-3.1-15.6-4.7-21-4.9zm-143.5 11c.9 5.9 3.9 12.2 4.7 17.2 3.1 9.9 6.7 20 10.3 30.1 4.6 2.2 8.1 4 12.3 6.3 4 6.9 6.8 15 8.2 21.8 3.4-21.7 12-40.1 24.5-55.2 3.3-4 6.9-7.8 10.7-11.3-4.2.7-8.6 1.2-13.2 1.5-18.6 1.1-39.4-1.5-57.5-10.4zm182 15.9c-17.6 7-33.7 16.6-46.4 30.1-13.6 14.4-23.7 33.3-27.9 60 33.2 9.5 65.7 17 92.7 22 17.8 3.3 39.6 6.4 55.4 4.7 7.8-.8 13.9-2.8 17.3-5.4 3.4-2.5 4.9-5 4.8-11.3-.6-20.8-10.8-39.2-28.4-56.2-17-16.5-40.8-31.1-67.5-43.9zm-292.9 4.3c-3.34 3.5-6.61 7-9.82 10.7 11.32-2 23.92-3 37.02-3.1h5.8c-10.8-1.1-21.8-3.5-33-7.6zm98.3 1.8c-15.3 3.8-31.4 6.6-48.1 6.7 18 1.5 36.4 4.8 53.6 10.2-1.9-5.6-3.7-11.3-5.5-16.9zM127.8 243c-16.9.1-32.65 1.9-44.96 5.3-12.3 3.4-20.84 8.6-24.1 12.9l-.35.5-.4.4c-4.75 4.9-8.52 11.8-11.31 19 23.17-11.3 54.22-16.3 86.22-15.3 34.6 1 70.3 9.4 97.4 28-.5-11-1-21.1-5-29.7-27.1-14.1-64.6-21.1-97.5-21.1zm-2.8 40.6c-36.77.3-71.32 10.4-86.55 24.3-4.71 9.6-8.93 19.3-12.59 28.9-8.01 20.9-.94 38.5 16.01 54.2 16.95 15.7 44.06 27.7 72.33 32.1 28.3 4.4 57.6 1.2 79.2-11.1 21.6-12.4 36.4-33.1 37.6-68.2.3-9.5-.6-19.2-2.4-28.9-23.5-19.9-60.2-30.1-96.2-31.2-2.5-.1-4.9-.1-7.4-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Soul;

impl IconShape for Soul {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.932c-18.969 0-36.639 20.557-36.639 48.636 0 28.08 17.67 48.639 36.639 48.639s36.639-20.56 36.639-48.639c0-28.079-17.67-48.636-36.639-48.636zM112 96s-96.965 62.813-86.373 112c4.048 18.799 41.31 39.417 46.246 58.002C84.117 312.107 16 352.297 16 400c0 11.926 32 96 32 96h96s-56.606-68.165-64-96c-10.71-40.318 45.454-95.328 38.748-136.502-3.637-22.333-60.928-38.58-65.207-60.799C45.86 162.815 112 96 112 96zm288 0s66.14 66.815 58.459 106.7c-4.279 22.218-61.57 38.465-65.207 60.798C386.546 304.672 442.71 359.682 432 400c-7.394 27.835-64 96-64 96h96s32-84.074 32-96c0-47.703-68.117-87.893-55.873-133.998 4.936-18.585 42.198-39.203 46.246-58.002C496.965 158.813 400 96 400 96zm-176.305 34.914c-7.531.938-14.474 2.207-20.377 3.781-6.898 1.84-12.352 4.169-15.353 6.227-3.001 2.058-2.887 2.84-2.965 3.078l-21.922 67.225 71.442-62.866c3.617-3.872 7.91-5.767 12.35-6.154-8.625-1.654-16.465-5.619-23.175-11.29zm64.61 0c-6.71 5.673-14.55 9.637-23.174 11.291 4.438.387 8.732 2.282 12.35 6.154l71.44 62.866L327 144c-.077-.238.036-1.02-2.965-3.078s-8.455-4.387-15.353-6.227c-5.903-1.574-12.846-2.843-20.377-3.78zM248.9 160.168c-.775.02-1.214.472-1.693 1.002l-96.047 84.516c.035.363.12 1.072.676 2.29 1.273 2.793 4.4 6.867 8.143 10.182 3.743 3.315 8.164 5.924 11.09 6.85 1.36.43 2.201.438 2.51.42l84.482-95.395c2.32-2.62-5.414-10.054-9.16-9.865zm27.532 11.242c-.438 3.648-1.972 7.254-4.897 10.557l-3.514 3.967 70.4 79.494c.309.018 1.15.01 2.51-.42 2.926-.926 7.347-3.535 11.09-6.85 3.744-3.315 6.87-7.39 8.143-10.181.556-1.219.64-1.928.676-2.291zM256 199.508l-69.328 78.283C185.42 279.205 185 285.147 185 288c0 29.279 12.608 45.893 26.4 59.764 6.897 6.935 14.093 12.911 20.112 19.302 6.018 6.392 11.51 13.895 11.49 23.58-.028 14.149-8.246 24.081-14.522 33.522-6.275 9.44-11.48 18.393-11.48 31.959 0 4.379 2.635 8.86 9.313 13.918 6.677 5.058 16.85 9.835 28.226 13.648 11.237 3.767 23.68 6.63 35.23 8.612-4.423-3.207-8.762-6.284-13.123-9.66-7.37-5.707-14.087-11.304-18.853-17.329-2.383-3.012-4.468-6.146-5.307-10.48-.838-4.334.892-10.302 4.518-13.545 11.397-10.194 26.32-13.929 37.21-19.365 5.446-2.718 9.754-5.65 12.481-8.934C309.422 409.71 311 406.17 311 400c0-15.156-6.774-23.149-12.645-32.934-2.935-4.892-6.078-10.847-5.195-18.252.883-7.404 5.71-13.8 13.268-19.843 6.642-5.311 11.513-8.68 14.781-13.67C324.477 310.31 327 302.933 327 288c-.446-2.88-.42-8.795-1.672-10.209z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoulVessel;

impl IconShape for SoulVessel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32A224 224 0 0 0 32 256a224 224 0 0 0 224 224 224 224 0 0 0 224-224A224 224 0 0 0 256 32zM132.1 282.8c25.2.4 47 17.3 58.2 27.6 49.3 45.3 16.4 87.4-2.7 96.6-33.9 16.5-68.9 9.7-86.8-16.1-36.65-52.9-17.55-89.4 1.6-100.3 9.3-5.3 18.4-7.5 27.2-7.8h2.5zm247.8 0h2.5c8.8.3 17.9 2.5 27.2 7.8 19.2 10.9 38.3 47.4 1.6 100.3-17.9 25.8-52.9 32.6-86.8 16.1-19.1-9.2-52-51.3-2.7-96.6 11.2-10.3 33-27.2 58.2-27.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoundOff;

impl IconShape for SoundOff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M210.652 145.922c-35.467.215-70.267 6.618-89.252 14.863-14.085 43.136-16.33 127.919-6.736 180.518-8.452-4.265-18.339-6.543-28.447-6.555-28.719 0-52 17.909-52 40s23.281 40 52 40 52.002-17.909 52.002-40c-6.166-49.187-13.74-115.12-8.225-165.437 37.756-7.722 77.49-17.422 114.688-10.715-4.152 38.294-3.03 82.424 3.377 117.552-8.452-4.265-18.335-6.543-28.444-6.554-28.719 0-52 17.908-52 40 0 22.091 23.281 40 52 40s52-17.909 52-40c-4.618-72.485-18.78-132.767.33-196.436-18.492-5.267-40.012-7.365-61.293-7.236zm5.457 15.635c11.697-.073 23.313.706 34.174 2.558-1.185 5.199-2.232 10.67-3.156 16.336-37.913-5.64-78.578 1.385-114.332 9.656a227.233 227.233 0 0 1 3.277-14.884c19.722-7.718 50.145-13.48 80.037-13.666zm116.62 17.714L307.27 204.73 358.543 256l-51.272 51.271 25.458 25.458L384 281.457l51.271 51.272 25.458-25.458L409.457 256l51.272-51.271-25.458-25.458L384 230.543l-51.271-51.272z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoundOn;

impl IconShape for SoundOn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.782 80c128 64 128 288 0 352 192-64 192-288 0-352zm-48 16c64 50.843 64 270.217 0 321.06 128-50.843 128-270.217 0-321.06zm-75.13 49.922c-35.468.215-70.268 6.618-89.253 14.863-14.084 43.136-16.33 127.919-6.736 180.518-8.452-4.265-18.337-6.543-28.445-6.555-28.719 0-52 17.909-52 40s23.281 40 52 40 52-17.909 52-40c-6.166-49.187-13.74-115.12-8.225-165.437 37.756-7.722 77.49-17.422 114.688-10.715-4.152 38.294-3.029 82.424 3.379 117.552-8.452-4.265-18.337-6.543-28.446-6.554-28.719 0-52 17.908-52 40 0 22.091 23.281 40 52 40 28.72 0 52-17.909 52-40-4.618-72.485-18.78-132.767.33-196.436-18.491-5.267-40.012-7.365-61.293-7.236zm5.456 15.635c11.697-.073 23.313.706 34.174 2.558-1.185 5.199-2.232 10.67-3.156 16.336-37.913-5.64-78.578 1.385-114.332 9.656a227.233 227.233 0 0 1 3.277-14.884c19.722-7.718 50.145-13.48 80.037-13.666z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SouthAfrica;

impl IconShape for SouthAfrica {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M393.5 71.28c-48 17.92-81.8 59.82-115.2 102.52l-19.5 4.9c-38.6-18.8-50.1.5-64.3 16.1l-51 12.7c10.4-36.8-12.2-45-27.4-59.7l-6.3 118c-39.92 13.8-64.7-5.2-95.27-11.6l69.88 186.5 231.09-23.2c84.2-40.7 119.5-99.3 167.9-153.1l14.1-52-17.6-2.1c-12.3 3.1-40 20.5-40.7-1.6-.7-22.1 11.9-33.4 35.3-29.3l-16.4-94.08c-12.7-12.87-40.5-11.7-64.6-14.04zM371.7 258.8c21.1-.4 26.3 17.3 28.1 28.8-8.1 15.4-54 61.8-71.3 6.6 7.5-20.1 21.4-34.9 43.2-35.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SouthAfricaFlag;

impl IconShape for SouthAfricaFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v104.324L222.445 256 18 389.676V494h55.553l273.765-179H494V197H347.318L73.553 18zm88.447 0l246.235 161H494V18zm246.235 315L106.447 494H494V333z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SouthAmerica;

impl IconShape for SouthAmerica {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.152 21c50.525 10.105 97.448 23.812 135.04 46.849L316.7 108.38l104.572 41.342c-4.774 32.838-38.956 77.93-59.987 117.542l-47.017 20.671c.2 18.24-25.396 43.977-40.531 61l-23.914-7.498 10.944 19.658c-9.25 18.14-27.763 23.432-44.99 33.844l-12.565 68.498 19.455 18.645L207.265 491l-37.695-22.292c-1.518-77.714 1.599-155.383 3.648-233.058-38.693-13.55-56.957-53.469-81.874-85.116-2.114-2.685.268-41.208 22.292-56.34l5.434-35.19C133.412 43.898 135.746 37.722 158.152 21z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SouthKorea;

impl IconShape for SouthKorea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.9 15.71c62.9 88.09 126.3 176.09 88.5 279.39l15.9-2.6-27.5 96.5c-76.2 46-157.1 73.3-241.8 85.4-9.6-43.1-21.2-85.9 3.6-133.1l24.5-44.1c-30-32.3-32.5-63.1-45.4-94.4 23-6.4 32.4-20.4 60.8 3.8L139.2 109c11.3-22.61 29.5-51.07 56.2-61.48 33.2-12.94 71.3 1.24 105.5-31.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpaceNeedle;

impl IconShape for SpaceNeedle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 32v87h18V32zm-40.4 105l14.5 29-68 17h205.8l-68-17 14.5-29zm-73 64l-7 14h258.8l-7-14zm-55.88 32l21 14H413.3l21-14H77.72zm63.58 32l8.8 22h211.8l8.8-22zM124 305v18h50.3l36.6 171h18.4l-36.6-171H240v171h32V323h47.3l-36.6 171h18.4l36.6-171H388v-18H124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpaceShuttle;

impl IconShape for SpaceShuttle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.162c-.445.165-1.342.498-2.506 1.24-2.093 1.334-4.922 3.615-8.002 6.58-6.16 5.932-13.396 14.576-20.12 24.18a178.467 178.467 0 0 0-3.69 5.516c11.783-2.326 23.053-3.5 34.318-3.5 11.265 0 22.535 1.174 34.318 3.5a178.467 178.467 0 0 0-3.69-5.516c-6.724-9.604-13.96-18.248-20.12-24.18-3.08-2.965-5.91-5.246-8.002-6.58a12.408 12.408 0 0 0-2.506-1.24zm0 51.662c-14.685 0-29.38 2.38-46.22 7.114C204.42 95.194 201 105.57 201 112v159.64c5.106-17.267 9.62-38.235 14-64.404V192c0-11 4.557-23.42 11.283-34.63 3.363-5.606 7.31-10.793 12.072-14.92C243.118 138.32 249 135 256 135s12.882 3.322 17.645 7.45c4.762 4.127 8.71 9.314 12.072 14.92C292.443 168.58 297 181 297 192v15.236c4.38 26.17 8.894 47.137 14 64.403V112c0-6.43-3.42-16.806-8.78-28.063-16.84-4.734-31.535-7.113-46.22-7.113zm-88 52.56c-6.513 11.517-15 29.352-15 46.616v39h30v-39c0-17.264-8.487-35.1-15-46.615zm176 0c-6.513 11.517-15 29.352-15 46.616v39h30v-39c0-17.264-8.487-35.1-15-46.615zM256 153c-1 0-3.118.678-5.855 3.05-2.738 2.373-5.79 6.186-8.428 10.58C236.443 175.42 233 187 233 192v163.78l-2.697 2.644c-10.61 10.408-12.83 36.14-13.15 52.77 6.674 3.535 17.826 6.417 29.847 7.42V368h18v50.613c12.023-1.004 23.178-3.885 29.852-7.422-.308-16.586-2.46-42.072-13.215-52.827L279 355.73V192c0-5-3.443-16.58-8.717-25.37-2.637-4.394-5.69-8.207-8.428-10.58C259.118 153.68 257 153 256 153zm-16 30h32v18h-32v-18zm-87 50v116.316c12.42-10.644 21.995-21.32 30-34.69V233h-30zm176 0v81.627c8.005 13.368 17.58 24.045 30 34.69V233h-30zm-114 53.975c-3.513 10.4-7.342 19.745-11.697 28.175-9.305 18.01-20.907 32.004-35.457 45.032l38.675 1.933c2.16-4.848 4.922-9.458 8.48-13.584v-61.555zm82 0v61.6c3.515 4.13 6.253 8.725 8.4 13.544l38.754-1.938c-14.55-13.028-26.152-27.023-35.457-45.032-4.355-8.43-8.184-17.775-11.697-28.175zm197 16.04c-13.547 5.65-19.025 19.56-26.95 41.83 0 0-45.814.42-53.376 17.557-8.08 18.31 24.582 54.784 24.582 54.784s-27.132-8.726-37.926-2.108c-11.983 7.348-17.012 38.586-17.012 38.586-3.533-.847-6.9-1.547-10.14-2.133L362.666 420h10.668l-5.992-10.957-53.514 2.676-.816 1.503c-.005.914-.012 1.954-.012 2.777v4h7l-10.666 32 21.332-16 5.004 15.008c-14.785 3.136-25.546 10.693-35.9 20.533L288 448h16l-12.803-15.607C280.517 435.733 268.283 437 256 437c-12.312 0-24.576-1.272-35.273-4.63L208 448h16l-12.89 25.78c-12.137-5.026-25.02-10.03-37.602-14.305L181.334 436l21.332 16L192 420h7v-4c0-.807-.008-1.832-.014-2.73l-.85-1.553-53.52-2.676-5.95 10.96h10.668l-9.955 29.86c-3.99-.816-7.803-1.45-11.38-1.86-31.566-3.623-39.72 4.634-57.932 12.416 0 0 16.664-96.575-16.69-118.38-4.128-2.7-9.283-3.783-14.993-3.73-6.33.056-13.342 1.526-20.385 3.733V494h237l1 2 16-32 23.488 11.744c-5.562 5.625-11.157 11.82-17.355 18.256H494V303.014zM147.02 377.16c-5.396 4.877-6.897 9.625-6.817 11.555.046 1.094.238 1.25.508 1.49.27.242 1.017.793 3.29.793h.225l55.195 2.76c.316-4.473.846-9.163 1.732-13.89l-54.132-2.708zm217.96 0l-54.187 2.71c.896 4.73 1.437 9.418 1.762 13.89l55.22-2.762H368c2.273 0 3.02-.55 3.29-.793.27-.24.46-.396.507-1.49.08-1.93-1.42-6.678-6.817-11.555zM160 436l7.12 21.365c-9.11-2.933-17.94-5.404-26.075-7.148L160 436zm192 0l20.547 15.41c-9.475-1.674-17.715-2.228-25.057-1.88L352 436zm-112 28l14.545 29.09c-9.876-4.675-23.293-10.83-38.356-17.186L240 464z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spaceship;

impl IconShape for Spaceship {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265 34l47.898 35.924 61.563 123.123-8.057 32.23-24.943-4.158 3.16-10.533 2.842-9.473L256 182.823l-91.463 18.29 6.002 20.006-24.943 4.156-8.057-32.228L199.1 69.926 247 34v56h-39l-16 32 64 38 64-38-16-32h-39zm188.313 169.258l30.3 10.101-13.478 29.205-30.016-5.001zm-394.626 0l13.194 34.304-30.016 5.002-13.478-29.205zM256 205.32l53.8 58.692L281.306 359h-50.61L202.2 264.012zm25.254.909l43.283 8.658-8.715 29.052zm-50.508.002l-34.568 37.709-8.715-29.053zm105.5 32.267L482.5 262.873 429.799 368.28 329.98 259.385zm-160.492 0l6.266 20.887L82.2 368.279 29.5 262.873zm148.205 40.96l72.201 78.765-84.556-37.582zm-135.918 0l12.355 41.183-84.556 37.582zm118.348 58.564l28.646 12.732L312.973 439H265v-62h29.695zm-100.778 0L217.305 377H247v62h-47.973l-22.062-88.246zM387.6 374.115l18.105 8.047-9.984 21.635-16.387-8.193zm-263.2 0l8.266 21.489-16.387 8.193-9.984-21.635zM311 457v30h-30v-30zm-80 0v30h-30v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spain;

impl IconShape for Spain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.596 82.69c-35.235-.159-63.219 3.749-79.754 13.432l22.717 61.192 72.273 16c-30.57 62.613-31.05 127.647-40.273 192l64 64c42.477-17.102 81.95-22.872 128-23.945 10.226-18.087 18.296-38.667 46.611-44.924-1.617-30.208 15.277-36.212 32.686-52.81-4.287-31.292-.694-49.583 20.918-88.274l84.212-58.535-9.13-25.68c-114.8-25.068-252.215-52.047-342.26-52.455zm369.408 156.983c-9.503-.388-11.76 5.157-10.271 11.533 6.318 5.616 13.497 7.355 21.136 7.024 1.07-6.96-.788-13.039-6.338-18.012-1.663-.312-3.17-.49-4.527-.545zm-33.486 11.07c-9.603.076-18.698 8.776-27.637 20.13 2.107 1.053 28.094 18.962 28.094 18.962l15.1-31.254c-5.36-5.55-10.528-7.877-15.557-7.837zm-47.625 38.303c-8.017.003-15.008 1.902-15.83 15.188l10.183 7.373 9.131-22.475a82.611 82.611 0 0 0-3.484-.086z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SparkPlug;

impl IconShape for SparkPlug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468.8 38.21l-18.9 18.88h-22.6l-13.7 13.65 32.6 32.66 13.6-13.78V66.99l18.9-18.88zm-71.1 42.08c-2.3.42-5.3.91-8.5 1.69-6.8 1.63-14.5 5.09-15.9 6.44-1.3 1.34-4.8 9.05-6.4 15.98-1.6 6.7-2.4 12.6-2.4 12.6l-.7 7.2-7.2.7s-5.8.8-12.6 2.4c-6.9 1.6-14.6 5-15.9 6.4-1.4 1.3-4.8 9.1-6.5 15.9-1.5 6.8-2.3 12.7-2.3 12.7l-.9 8h-8.2s-7.1-.1-14.2 1.2c-2.3.4-4.5.9-6.4 1.5l54.3 54.3c.6-1.8 1.2-4 1.6-6.3 1.2-7.2 1.2-14.4 1.2-14.4l-.1-8.1 8-.9s5.9-.8 12.7-2.3c6.9-1.6 14.6-5.1 15.8-6.4 1.5-1.4 4.9-9.1 6.6-16 1.4-6.7 2.3-12.6 2.3-12.6l.8-7.2 7.1-.7s5.9-.8 12.7-2.4c6.8-1.6 14.5-5.1 15.9-6.4 1.2-1.3 4.8-9.1 6.4-15.9.8-3.2 1.3-6.2 1.7-8.5zM276.4 185.3l-21.2 21.2 55.2 55.2 21.2-21.2zm-52.8 30.2L210 229.2l4.9 4.9 72.8 72.8 13.7-13.6v-15.1l-39.2-39.3-23.5-23.4zm-60.3 37.7l-32.5 32.5 100.4 100.4 32.5-32.5zm45.3 0l-9.9 9.9 55 55.2 9.9-9.9zm-96.4 59.4l-11 14.1L203 405.9l11.1-14.1zm-22.6 22.6l-11.03 14.2 101.83 79.2 11-14.3zm-22.56 22.7L55.94 372l101.86 79.2 11-14.2zm-22.7 22.6l-11.03 14.1 101.89 79.2 11-14.1zm15.35 49.1l-14.15 28.3 13.44 13.4 28.28-14.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sparkles;

impl IconShape for Sparkles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237.4 20.73c-6.1 42.1-26.8 64.2-63.9 64 31.6 4.5 63.8 8 63.9 64.07-.6-46.1 24.5-63.07 64.1-64.07-38-1.5-64.9-16.3-64.1-64zm127.8 11.58c-9.1 14.25-20.8 21.29-38.9 10.28 14.9 11.79 18.6 24.76 10.2 38.97 8.9-11.18 17.5-22.73 39-10.27-17.8-10.06-18.8-23.57-10.3-38.98zM59.68 41.69c-2.7 18.8-12 28.6-28.5 28.5 14.1 2 28.4 3.6 28.5 28.52-.3-20.5 10.9-28.12 28.5-28.52-16.9-.7-28.9-7.3-28.5-28.5zM431 66.28c-2.7 18.8-12 28.6-28.5 28.5 14.1 2 28.4 3.6 28.5 28.52-.3-20.5 10.9-28.12 28.5-28.52-16.9-.7-28.9-7.3-28.5-28.5zM120.3 116.4c-15.8 53.7-47.76 48-79.35 43.4C76.6 170 90.3 197.1 84.28 239.2c12.66-46 42.62-52.6 79.42-43.4-37.6-12.1-56.9-35.4-43.4-79.4zm187 5c-8.8 61.6-39.3 94-93.6 93.7 46.2 6.5 93.6 11.7 93.6 93.7-.8-67.3 35.9-92.2 93.8-93.7-55.5-2.2-94.9-23.9-93.8-93.7zm136.8 38.3c-13.1 21.6-29.5 28.8-49.7 20.1 16.3 9.7 33 19.1 20.1 49.6 10.3-25.2 27.9-28.7 49.7-20-20.3-9.7-31.6-23.9-20.1-49.7zM50.7 243.2c9.16 16.7 7.63 30.1-5.61 40 12.46-6.9 24.85-14.3 39.91 5.6-12.57-16.2-8.2-29 5.61-40-13.92 9.7-27.47 11.6-39.91-5.6zm137.2.3c11.4 26.8-.5 41.3-21.7 50.9 22.7-8.5 40.8-4.5 50.9 21.7-12.7-31.8 4.8-41.2 21.7-50.9-21 8.5-37.8.9-50.9-21.7zm228 12.6c-26.6 64.7-68.7 91.7-127.8 76.4 48.6 19.8 98.8 38.5 76.4 127.9 17.5-73.7 64.4-90.7 127.9-76.5-59.9-17.5-96.9-52-76.5-127.8zM99.94 295.5c15.66 57.8.86 98.1-47.32 118.5 43.46-11.8 87.38-25.2 118.68 47.4-26.4-59.3-3.4-95.4 47.3-118.8-50 19.2-93.1 15-118.66-47.1zm169.36 61c-21.8 20.6-43 23.6-63.2 7.3 15.5 16.3 31.6 32.4 7.2 63.3 19.8-25.6 41.2-24.1 63.3-7.3-20.2-17.4-28.6-37.5-7.3-63.3zM443.2 404c-2.7 18.8-12 28.6-28.5 28.5 14.1 2 28.4 3.6 28.5 28.5-.3-20.5 10.9-28.1 28.5-28.5-16.9-.7-28.9-7.3-28.5-28.5zm-169.7 36c-2.7 18.8-12 28.6-28.5 28.5 14.1 2 28.4 3.6 28.5 28.5-.3-20.5 10.9-28.1 28.5-28.5-16.9-.7-28.9-7.3-28.5-28.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpartanHelmet;

impl IconShape for SpartanHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.714 20.358c-8.79.075-17.448.82-25.89 2.308-46.55 8.208-89.423 26.157-121.225 52.065-31.803 25.908-52.572 59.39-56.316 100.053l-.004.04-.004.04c-8.45 83.885 39.397 152.37 65.604 181.553 5.21 5.804 7.064 13.574 6.533 20.862-.53 7.288-3.04 14.494-6.598 21.838-7.114 14.688-18.703 30.06-31.03 44.457-13.957 16.303-27.375 29.703-37.75 39.627 7.203-1.214 14.764-4.37 22.67-9.368 14.66-9.265 29.554-24.475 42.097-41.298 12.543-16.824 22.807-35.28 28.802-50.586 2.998-7.654 4.912-14.54 5.614-19.72.7-5.178-.177-8.39-.354-8.687-15.34-25.73-31.257-52.027-40.687-79.112-9.43-27.085-12.2-55.565-.073-83.35 25.223-57.79 78.02-85.085 130.772-89.605 52.61-4.508 105.963 12.396 136.545 44.71l23.292 22.474 69.254-41.47c-20.34-26.314-55.49-55.33-96.24-76.257-33.546-17.226-70.702-28.978-106.18-30.428-2.957-.12-5.902-.17-8.832-.144zM372.42 146.184l-.058-.057.31.313c-.083-.087-.17-.17-.25-.256zM244.814 118.95c-2.468.102-4.935.245-7.4.457-3.562.305-7.11.73-10.64 1.255l9.628 45.077c5.76-1.637 11.657-2.823 17.646-3.564l-9.233-43.226zm43.85 3.658c-4.866 12.845-7.33 25.916-6.978 39.04 6.034.48 12.086 1.335 18.12 2.557-.868-12.19 1.306-24.43 6.362-36.98-5.66-1.82-11.515-3.363-17.504-4.617zm-106.672 11.79c-6.112 3.028-12 6.54-17.612 10.532 17.55 8.862 29.7 22.763 34.715 39.594 4.936-3.84 10.145-7.183 15.564-10.063-6.122-16.257-17.577-30.086-32.666-40.063zm88.136 44.796c-1.156-.002-2.308.014-3.457.047-2.675.076-5.328.242-7.952.502-41.993 4.176-77.31 30.258-87.475 90.07-2.198 12.94 4.293 42.822 12.246 67.66 7.952 24.836 16.634 45.517 16.634 45.517l.504 1.198.143 1.295c1.96 17.7-9.11 34.967-21.212 52.26-8.036 11.486-16.43 22.104-23.97 31.72 24-1.35 45.963-11.985 67.177-30.947-.124-.5-.17-.71-.313-1.297-.866-3.594-1.955-8.697-1.687-14.68.446-9.983 5.674-21.958 18.818-31.868-24.577-35.02-28.898-78.757-24.06-115.027l.886-6.65 6.626-1.05c58.715-9.29 97.246-28.81 139.34-54.593-27.566-21.88-61.198-34.115-92.25-34.158zm120.197 37.84c-48.424 30.517-91.56 55.67-157.556 67.35-3.253 33.408 2.427 71.84 25.226 100.798 12.607.61 23.264 6.977 29.904 16.184 6.747 9.353 9.946 21.162 10.83 33.628 23.288 21.426 62.97 39.024 97.764 56.655-3.17-39.444-.296-76.34-14.538-114.11l-62.842-25.3-.062-.027c-14.313-6.018-23.332-13.792-26.512-24.03-3.18-10.236-.874-19.966 1.188-31.064l2.2-11.852 10.74 5.476c23.407 11.94 51.394 20.52 77.548 20.065l6.582-.116 2.103 6.238c10.593 31.436 12.912 56.612 15.752 82.203l7.787 3.113c4.126-29.38 1.912-68.686-3.862-104.425-5.463-33.817-14.72-65.03-22.252-80.788zM223.397 441.148c-.01.444.094.455.01.04-.002-.008-.01-.033-.01-.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Speaker;

impl IconShape for Speaker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.5 96l-96 96h-96v128h96l96 96V96zm51.46 27.668l-4.66 17.387c52.066 13.95 88.2 61.04 88.2 114.945 0 53.904-36.134 100.994-88.2 114.945l4.66 17.387C386.81 372.295 428.5 317.962 428.5 256c0-61.963-41.69-116.295-101.54-132.332zm-12.425 46.365l-4.658 17.387C340.96 195.748 362.5 223.822 362.5 256s-21.54 60.252-52.623 68.58l4.658 17.387C353.402 331.552 380.5 296.237 380.5 256c0-40.238-27.098-75.552-65.965-85.967zm-12.424 46.363l-4.657 17.387C307.55 236.49 314.5 245.547 314.5 256s-6.95 19.51-17.047 22.217l4.658 17.387c17.884-4.792 30.39-21.09 30.39-39.604 0-18.513-12.506-34.812-30.39-39.604z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpeakerOff;

impl IconShape for SpeakerOff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.5 96l-96 96h-96v128h96l96 96V96zm50.863 89.637l-12.726 12.726L371.273 256l-57.636 57.637 12.726 12.726L384 268.727l57.637 57.636 12.726-12.726L396.727 256l57.636-57.637-12.726-12.726L384 243.273l-57.637-57.636z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpearFeather;

impl IconShape for SpearFeather {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M286.902 26.102l32.344 66.677 175.3-51.64zm-14.435 11.484l-20.68 47.81 19.86 67.42 43.472 29.08c-.916-8.018-1.956-17.097-3.118-27.02-1.375-11.736-2.797-23.634-3.967-32.884-.585-4.625-1.108-8.594-1.523-11.508-.25-1.746-.57-3.376-.713-4.183zm227.162 20.82l-175.03 51.56c.39 2.816.802 5.893 1.293 9.768 1.182 9.354 2.61 21.283 3.988 33.047 1.323 11.293 2.573 22.202 3.544 30.734zM225.25 96.36c-6.24.025-13.473.972-20.428 3.02-11.938 3.518-22.76 10.203-27.66 15.81l13.1 44.476c2.87 11.482 2.604 10.575 2.87 11.482 2.818 9.697 6.008 22.917 8.913 36.233 2.86 13.107 5.446 26.318 7.22 36.552-13.247 9.09-24.188 23.53-26.744 38.123.69 5.675 1.35 11.72 2.006 17.922h30.673v3.634c-9.414 2.836-19.547 7.026-29.11 11.52.913 9.088 1.844 18.49 2.823 28.048l26.287.71v1.38c-9.125 3-17.414 6.747-24.935 10.707 2.117 19.663 4.532 39.527 7.668 57.978.634 3.734 1.31 7.38 2.005 10.977h15.263v3.644c-4.406 1.325-8.954 2.92-13.55 4.74 3.035 14.105 6.587 26.78 10.76 36.87 5.163 12.488 11.142 20.07 16.792 23.388 5.82-3.26 11.65-10.323 16.813-22.328 2.033-4.728 3.926-10.103 5.69-16.01-6.104-3.028-12.2-5.475-17.487-6.53v-.577h19.48c2.62-9.95 4.923-21.155 6.923-33.305 1.375-8.353 2.614-17.154 3.75-26.297-8.626-4.698-17.73-8.72-24.926-9.625-1.62 20.566-3.478 40.367-5.275 57.89-.163-45.778-.49-128.767-5.73-171.644l.718-10.312c-.437-3.55-1.145-8.11-2.062-13.436-1.834-10.648-4.504-24.285-7.463-37.853-2.683-12.3-5.59-24.478-8.362-34.4 4.334-.454 8.886-1.308 13.33-2.618 11.94-3.517 22.76-10.2 27.66-15.81L236.64 97.672c-2.99-.86-6.915-1.33-11.388-1.313zm-64.04 28.378l-11.007 3.242 23.973 40.776zm-28.802 8.485l-12.9 3.798 24.03 40.878 12.897-3.8zm-30.64 9.142l12.966 44.018 11.006-3.242zm-17.3 4.98L18 166.924v47.954l79.47-23.41zm157.483 86.643c-.412.002-.814.022-1.223.03 1.646 8.285 2.425 18.16 2.887 29.61.697 17.265.347 37.753-.62 59.405-.814 18.193-2.077 37.166-3.534 55.674h26.076c1.538-13.55 2.874-27.78 4.103-42.377-10.106-1.324-20.122-1.633-26.58.727l27.33-9.99c1.933-24.034 3.634-48.887 5.45-73.48-.03-4.927-1.356-7.864-3.6-10.444-2.273-2.612-5.852-4.834-10.472-6.413-4.618-1.578-10.173-2.406-15.696-2.658-1.38-.063-2.76-.09-4.12-.084zm-26.75 211.17v2.03l-.207-.022c.067-.628.14-1.37.207-2.008z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spearfishing;

impl IconShape for Spearfishing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M268.3 23.93c4 6.96 8.8 14.91 14.7 23.43 14.9 21.48 35.6 43.06 53 47.01l11.5 2.6-5.6 10.43c-14.8 27.9-35.5 50-58.8 68.6 5 6.5 10.7 13.8 17.6 22.6l-14.2 11c-27.7-35.4-39.2-49.9-51.1-79.7-6.3 12.9-10.7 23.4-12.8 33.3-.8 3.8-1.3 7.6-1.5 11.5l68.4 66.1.7 1.1c7.2 13 1.8 27.8-7.3 37-4.6 4.7-10.5 8.2-17.3 9.4-6.9 1.1-14.7-.7-21-5.8l-.2-.2-52.4-50c-44.9 24.1-86 46-106.29 75.5-16.39 30.2-22.24 56.7-19.27 79 .13 1 .28 2 .45 2.9 23.01-2.4 48.21-20.6 68.61-42.9l13.2 12.2c-21.1 23-47.5 44.2-76.67 48.3 5.83 13.5 15.72 25.4 29.87 35.8v.1c18.6 13.6 46.2 10.2 76.4-3 30.1-13.1 61.3-35.5 83.6-54.8 37.2-32.1 69.8-89.3 91.2-144.3 10.8-27.5 18.8-54.4 23.5-77.3 4.8-22.9 6-42 4.1-52l-2-11.2 11.4.6c23.1 1.2 47.6-20.55 65.8-44.65 8.5-11.35 15.4-22.62 20.5-31.57-9.9 2.43-22.3 5.57-35.9 9.38-14.5 4.08-29.8 8.74-42.8 13.48-13 4.74-24 9.87-28.6 13.34l-5.2 3.94-5.4-3.8c-15.6-11.05-43.7-22.33-67.3-30.3-8.9-2.99-16-5.05-22.9-7.09zM46.89 31.5c-1.52 3.45-3.37 6.82-6.02 9.92-3.31 3.86-7.65 7.01-12.91 9.32L256.1 268.6c2.5 2 4.3 2.3 6.6 1.9 2.2-.4 5-1.9 7.4-4.2 4.4-4.5 6.1-11 4.5-14.9zM369.4 249c-6.5 16.6-14 33.4-22.3 49.8l12.2 12.7c13.1-2.1 27.2-5.7 40.5-10.7 14.6-5.5 28.3-12.5 38.5-19.8 2.8-2 5.3-4 7.4-6.1-8.1-.1-16.6-1.6-24.9-3.9l-18.3 7.1c0 .1 0 .2-.1.1l.1-.1c.3-1.1-3-14.3-3-14.3l-24.9 18.6 3.4-27.5c-.8-.6-4.6-3.2-8.6-5.9zm-226.9 24.4c42.3 14.3 88.8 45 109.6 103.4l-17 6c-18.6-52.2-59.7-79.3-98.4-92.4zm195.7 42c-4.3 7.8-8.9 15.5-13.6 22.9l47.2 47.2c5.6-1.3 10.4-2.7 12.7-4.6 2.7-2.2 4.3-5 3.6-13.2zm-160.3 48.1l16.4 7.4-8.6 19.4 22.7 1.5-1.2 18-29.4-1.9-9.5 21.4-16.4-7.4 6.8-15.3-17.9-1.2 1.2-18 24.5 1.6zM452.8 374l-23.5 36.7-25.4-27.3c-1.8 4.7-4.4 8.6-7.9 11.4-3.1 2.5-6.4 4.3-9.8 5.6l24.6 25.6-35 18.4c33.7 21.4 78.8 38.5 108.2 43.7-1.9-35.5-15.1-74.1-31.2-114.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpeedBoat;

impl IconShape for SpeedBoat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.936 170.44c34.704 30.84 60.676 41.057 64.574 66.86-44.922-28.557-74.454-35.404-120.55-24.94 34.698 15.008 61.532 39.41 61.128 67.585C122.04 252.54 81.49 244.095 33.49 259.37c47.32 15.773 60.156 31.302 45.78 65.935l19.033 7.142-3.033 8.084c38.96-3.31 88.642-9.652 139.994-17.178L200.8 277.4 190 263h84.492l71.46 42.875c2.615-.438 5.27-.877 7.86-1.314-64.466-85.384-102.083-116.213-195.876-134.12zM226 281l33.918 45.223 66.492-11.082L269.508 281H226zm243.992 21.143c-45.566 8.635-116.498 21.22-190.61 32.75-69.577 10.823-139.832 20.412-191.093 24.244l-8.9 23.722L116.815 439H352c26 0 61.605-29.436 88.896-64.525 13.646-17.545 25.395-36.16 33.604-52.096l.234-.468c-77.016 62.68-213.816 84.28-355.404 84.28v-18c144.212 0 281.44-25.07 350.662-86.05zM18 306.088v41.48a79.124 79.124 0 0 1 3.49-6.144c7.413-11.725 18.567-21.03 33.217-23.717-13.384-4.862-25.65-8.858-36.707-11.62zm38.297 29.822c-8.354 2-14.408 6.934-19.592 15.133-5.605 8.866-9.643 21.322-12.275 35.016-4.567 23.75-5.04 49.47-5.996 68.94h8.09l23.85-46.05 24.753-65.973-18.83-7.067zM71.6 403.623l-4.748 12.654L55.084 439h40.1L71.6 403.623zM45.762 457l-8.287 16H18v21h476v-37H45.762z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Speedometer;

impl IconShape for Speedometer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpellBook;

impl IconShape for SpellBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319.61 20.654c13.145 33.114 13.144 33.115-5.46 63.5 33.114-13.145 33.116-13.146 63.5 5.457-13.145-33.114-13.146-33.113 5.457-63.498-33.114 13.146-33.113 13.145-63.498-5.459zM113.024 38.021c-11.808 21.04-11.808 21.04-35.724 24.217 21.04 11.809 21.04 11.808 24.217 35.725 11.808-21.04 11.808-21.04 35.724-24.217-21.04-11.808-21.04-11.808-24.217-35.725zm76.55 56.184c-.952 50.588-.95 50.588-41.991 80.18 50.587.95 50.588.95 80.18 41.99.95-50.588.95-50.588 41.99-80.18-50.588-.95-50.588-.95-80.18-41.99zm191.177 55.885c-.046 24.127-.048 24.125-19.377 38.564 24.127.047 24.127.046 38.566 19.375.047-24.126.046-24.125 19.375-38.564-24.126-.047-24.125-.046-38.564-19.375zm-184.086 83.88c-1.191.024-2.36.07-3.492.134-18.591 1.064-41.868 8.416-77.445 22.556L76.012 433.582c78.487-20.734 132.97-21.909 170.99-4.615V247.71c-18.076-8.813-31.79-13.399-46.707-13.737a91.166 91.166 0 0 0-3.629-.002zm122.686 11.42c-2.916-.026-5.81.011-8.514.098-12.81.417-27.638 2.215-45.84 4.522V427.145c43.565-7.825 106.85-4.2 171.244 7.566l-39.78-177.197c-35.904-8.37-56.589-11.91-77.11-12.123zm2.289 16.95c18.889.204 36.852 2.768 53.707 5.02l4.437 16.523c-23.78-3.75-65.966-4.906-92.467-.98l-.636-17.805c11.959-2.154 23.625-2.88 34.959-2.758zm-250.483 4.658l-10.617 46.004h24.094l10.326-46.004H71.158zm345.881 0l39.742 177.031 2.239 9.973 22.591-.152-40.855-186.852h-23.717zm-78.857 57.82c16.993.026 33.67.791 49.146 2.223l3.524 17.174c-32.645-3.08-72.58-2.889-102.995 0l-.709-17.174c16.733-1.533 34.04-2.248 51.034-2.223zm-281.793 6.18l-6.924 30.004h24.394l6.735-30.004H56.389zm274.418 27.244c4.656.021 9.487.085 14.716.203l2.555 17.498c-19.97-.471-47.115.56-59.728 1.05l-.7-17.985c16.803-.493 29.189-.828 43.157-.766zm41.476.447c8.268.042 16.697.334 24.121.069l2.58 17.74c-8.653-.312-24.87-.83-32.064-.502l-2.807-17.234a257.25 257.25 0 0 1 8.17-.073zm-326.97 20.309l-17.985 77.928 25.035-.17 17.455-77.758H45.313zm303.164 11.848c19.608-.01 38.66.774 56.449 2.572l2.996 20.787c-34.305-4.244-85.755-7.697-119.1-3.244l-.14-17.922c20.02-1.379 40.186-2.183 59.795-2.193zm-166.606 44.05c-30.112.09-67.916 6.25-115.408 19.76l-7.22 2.053 187.759-1.27v-6.347c-16.236-9.206-37.42-14.278-65.13-14.196zm134.41 6.174c-19.63.067-37.112 1.439-51.283 4.182v10.064l177.594-1.203c-44.322-8.634-89.137-13.17-126.31-13.043zM26 475v18h460v-18H26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpermWhale;

impl IconShape for SpermWhale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M388.81 85.863c-10.106.254-17.64 6.364-22.757 14.442-6.165-4.3-13.264-7.895-21.207-10.39-6.427-2.02-26.645 4.732-45.768 18.536 16.392 6.376 11.844 6.948 16.82 19.672-19.66-1.988-28.31-2.94-30.048-17.138-.314-1.5-.81-2.916-1.467-4.254-15.234 3.722-22.6 8.77-41.026 11.262-4.858 1.226 9.583-18.77 28.99-22.52-17.26-9.138-46.225-9.985-60.945-6.962-38.524 7.91-42.33 52.6-23.88 65.316 3.717-9.353 14.566-12.168 29.5-11.238-6.366 11.284-9.915 22.665-2.81 34.414 12.574-8.952 22.625-20.764 41.436-21.068 9.623 2.09 11.337 1.27 17.832-4.88l15.178 108 14.834-3.673-17.642-88.91s26.496 16.27 32.306 11.938c5.81-4.33 4.52-17.324 2.108-25.986 8.803-10.564 32.432 10.386 50.568 20.367 4.478 2.463 8.11 2.078 11.05.108 5.887 9.216 28.117 16.154 29.333 8.32-7.037-6.56-5.26-19.9-21.938-19.044 3.03-7.668 4.03-16.074 4.03-16.074.157-5.07-.863-10.5-2.957-15.952 4.736 4.108 12.537 8.33 17.173 11.89 13.703-7.19 31.292.545 35.612-7.997-12.8-13.524-33.406-21.83-50.864-15.343-3.113 1.157-4.855 2.447-5.567 3.826-2.825-4.944-6.51-9.768-10.996-14.203 3.144.37 7.633-.016 14.79-1.902 9.453-4.466 11.325-11 10.534-18.26-4.425-1.688-8.496-2.388-12.22-2.295zm-222.017 27.145c-12.067.374-20 12.273-24.922 24.664 8.988 1.977 24.257 1.042 30.202-7.024 4.057-5.503 4.395-16.866-2.81-17.558a19.48 19.48 0 0 0-2.47-.082zm5.135 30.133c-1.324-.01-3.125.28-5.475.854-9.398 2.297-10.538 15.336-11.94 24.58 5.744-4.33 14.544-9.105 18.26-16.855 2.788-5.814 3.125-8.546-.845-8.58zm-22.887 73.38c-11.094.18-46.64 9.46-55.977 17.11-2.352 1.925-6.47 11.213-8.688 11.042-3.068-.237-5.27-10.055-5.27-10.055-22.123-12.38-60.006-10.56-59.652-8.71.858 4.478 4.636 49.63 63.166 65.92 9.884 67.545 64.372 95.08 134.497 98.36-19.497 13.367-75.48 18.697-67.775 30.55 12.604 10.522 83.862 4.593 124.504-8.34 14.09-4.484 28.865-8.31 44.047-11.637 43.23 10.56 111.83 23.66 151.36 10.984 13.348-4.28 7.064-20.362 1.054-18.262-14.39 5.03-63.573 1.735-91.79-3.49 34.826-5.05 69.914-8.652 102.325-12.45 9.162-20.386 12.522-54.712 11.545-79.774-1.878-48.145-32-52.028-101.092-44.247-104.013 11.715-145.852 43.226-218.777 61.837-11.118 2.838-47.684-4.157-63.373-29.783 36.728-17.253 50.916-61.758 43.005-68.545-.44-.378-1.524-.536-3.11-.51zm220.81 141.173c-1.616 4.194-4.184 8.546-11.72 9.526-7.538.978-11.46-3.26-13.696-8.824 8.47 1.463 16.944 1.146 25.416-.703z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiderBot;

impl IconShape for SpiderBot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.398c-7.868 0-14.99 3.637-20.34 8.782s-9.4 11.752-12.855 19.24c-6.91 14.975-11.39 33.74-14.6 52.39-6.418 37.3-7.402 74.217-7.402 74.217l-.145 5.24 55.344 27.67 55.34-27.67-.145-5.24s-.984-36.916-7.402-74.216c-3.21-18.65-7.69-37.415-14.6-52.39-3.454-7.488-7.505-14.095-12.855-19.24-5.35-5.145-12.472-8.782-20.34-8.782zm0 18c2.683 0 4.917.923 7.863 3.756 2.946 2.833 6.132 7.62 8.987 13.807 5.71 12.377 10.14 30.084 13.207 47.903 5.386 31.304 6.567 58.97 6.838 66.194L256 195.86l-36.895-19.803c.27-7.224 1.452-34.89 6.838-66.194 3.066-17.82 7.497-35.526 13.207-47.902 2.855-6.187 6.04-10.973 8.987-13.806 2.946-2.833 5.18-3.756 7.863-3.756zm-76.477 88.393l-10.54 37.64 10.908 5.453 4.303-1.434c.554-9.283 1.37-19.92 2.565-31.28zm152.954 0l-7.235 10.38a698.637 698.637 0 0 1 2.565 31.28l4.302 1.433 10.906-5.453zM70.8 158.995L21.386 480.176l81.047-208.41-14.973-44.92 17.08-5.692 14.476 43.432 25.144 6.867 4.492-62.914zm370.4 0L363.35 208.54l4.52 63.28 25.095-7.17 14.498-43.496 17.08 5.692-14.976 44.922 81.05 208.408zM168.02 190.072L146.308 494h13.842l62.332-194.79-20.845-20.847 12.726-12.726 14.29 14.29 16.425-51.325zm175.964 0l-77.06 38.53 16.424 51.326 14.29-14.29 12.727 12.725-20.845 20.846L351.85 494h13.84zM256 253.532l-22.174 69.288L256 326.852l22.172-4.032zm-138.55 29.286l-6.845 17.598 31.082 5.65 1.165-16.31zm277.136.09l-25.408 7.26 1.135 15.898 31.082-5.65zm-267.938 38.72L95.705 432.145l42.81-81.654 1.88-26.36zm258.704 0l-13.748 2.5 1.882 26.362 42.81 81.654zm-140.66 21.464L256 427.896l11.307-84.804L256 345.148z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiderEye;

impl IconShape for SpiderEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.9c-.1 0 0 0 0 .1 0 0 .1-.1 0-.1zm0 .1c-.4.25-4.2 1.69-8.2 5.37-4.6 4.11-9.8 10.21-14.5 16.81-4.7 6.6-9 13.75-11.9 19.92-2.5 5.19-3.7 9.4-4.1 11.41l12.3 24.44h52.8l12.3-24.44c-.4-2.01-1.6-6.22-4.1-11.41-2.9-6.17-7.2-13.32-11.9-19.92-4.7-6.6-9.9-12.7-14.5-16.81-4-3.68-7.8-5.12-8.2-5.37zM40.22 30.25l-16.44 7.3L89.74 186l67.16 11.2c2-5.6 4.5-11.3 7.2-17.1l-61.8-10.3zm431.58 0L409.7 169.8l-61.8 10.3c2.7 5.8 5.2 11.5 7.2 17.1l67.2-11.2 65.9-148.45zm-304.2.31l-34.7 86.74 47.8 31.9c3.2-5.4 6.5-10.4 9.8-15.1l-35.4-23.6 29.3-73.26zm176.8 0l-16.8 6.68 29.3 73.26-35.4 23.6c3.3 4.7 6.6 9.7 9.8 15.1l47.8-31.9zM224 122.9c1.7 0 .3-.1-1.8 1.6-2.1 1.6-4.9 4.5-8.1 8.2-6.2 7.4-13.5 18.1-20.3 29.7-10.4 17.8-19.3 38.6-23 52.6 3.7-3.5 7.8-6.8 12.3-9.8 19.2-12.8 44.8-20.3 72.9-20.3 28.1 0 53.7 7.5 72.9 20.3 4.5 3 8.6 6.3 12.3 9.8-3.7-14-12.6-34.8-23-52.6-6.8-11.6-14.1-22.3-20.3-29.7-3.2-3.7-6-6.6-8.1-8.2-2.1-1.7-3.5-1.6-1.8-1.6zm12.6 81.4c-17 2.5-32.1 8.2-43.5 15.8-15.6 10.4-24.1 23.8-24.1 37.8 0 14 8.5 27.4 24.1 37.8 11.4 7.6 26.5 13.3 43.5 15.8-21.9-8-37.6-29-37.6-53.6s15.7-45.6 37.6-53.6zm38.8 0c21.9 8 37.6 29 37.6 53.6s-15.7 45.6-37.6 53.6c17-2.5 32.1-8.2 43.5-15.8 15.6-10.4 24.1-23.8 24.1-37.8 0-14-8.5-27.4-24.1-37.8-11.4-7.6-26.5-13.3-43.5-15.8zm-15.7 14.8c12.4 4.7 21.3 16.8 21.3 30.8 0 18.1-14.9 33-33 33-14 0-26.1-8.9-30.8-21.3 1.8 19.9 18.5 35.3 38.8 35.3 21.6 0 39-17.4 39-39 0-20.3-15.4-37-35.3-38.8zm-108.6 35.8l-45.8 11.4-81.7 212.4 16.8 6.4 78.3-203.6 34.5-8.6c-1.4-4.8-2.2-9.8-2.2-15 0-1 0-2 .1-3zm209.8 0c.1 1 .1 2 .1 3 0 5.2-.8 10.2-2.2 15l34.5 8.6 78.3 203.6 16.8-6.4-81.7-212.4zm-177.3 56c5.8 20.9 13 42.1 20.8 61.7 9.8 24.6 20.7 46.7 30.7 62.2 5 7.7 9.8 13.8 13.8 17.5 3.9 3.8 6.8 4.6 7.1 4.6.3 0 3.2-.8 7.1-4.6 4-3.7 8.8-9.8 13.8-17.5 10-15.5 20.9-37.6 30.7-62.2 7.8-19.6 15-40.8 20.8-61.7-19.1 12.6-44.5 20-72.4 20-27.9 0-53.3-7.4-72.4-20zm-15.1 13.4L136 348.6l-32.7 131.1 17.4 4.4L152 359.2l22.2-16.7c-2-6-3.9-12.1-5.7-18.2zm175 0c-1.8 6.1-3.7 12.2-5.7 18.2l22.2 16.7 31.3 124.9 17.4-4.4L376 348.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiderMask;

impl IconShape for SpiderMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24c-96 0-160 80-160 160 0 192 80 304 160 304s160-112 160-304c0-80-64-160-160-160zM128 168c7.8 32 35 91.9 96 128l-48 48c-67.7-41.1-64-144-48-176zm256 0c16 32 19.7 134.9-48 176l-48-48c61-36.1 88.2-96 96-128z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedDragonHead;

impl IconShape for SpikedDragonHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M188.8 20.38c-5.3 26.85 4.6 55.74 34.1 86.52 11.2-7.29 31.6-10.94 50-8.16-46-22.31-66.5-47.13-84.1-78.36zM29.19 26.62C43.56 73.08 81.09 128.8 129.6 168.3 93.51 166 49.93 153.1 18.76 143c24.96 35.2 64.17 52.9 103.34 66.3C97.13 227 66.99 245 18.66 248c54.64 19.2 107.54 8.9 131.34.7-17.9 34.9-100.72 66.2-122.31 77 53.26 4.2 121.71-11 167.01-32.9 10 24.6-1.6 53.2-10.1 77.8-1.9 4.5-3.8 8.9-5.7 13.3 5.1-3.5 10.1-7 14.9-10.6 23.6-16.2 47.8-31.9 59.5-58.8 26.1 31.2 62.7 62.1 107 85.4 17.4 22.1 28.3 49 34.2 73.8 8.3-19.1 13.8-40.2 9.7-60.3 24.5-3.6 35.6-29.7 35.5-54.4-12.6 6.2-15.1 6.3-31.2 8.2 0-10.1.6-12.5-3-28.7-10.3 8.4-21 11.2-30.8 11.8 2.1-7.6 3-19.5 3.7-27.3-13 7.1-19.2 9.7-30.1 10.8-.4-10.9-.1-20-4.1-30.4-29.6 19-48.6 1.5-68-21.3 19.8-17 96.4-21.8 95.1 7.1 14-7.3 18.8-11.2 23.6-15.9 9.1 8.5 13.4 20.9 15.1 31.4 9.3-9.4 10.3-10.5 17.1-23.8 5.7 10.1 8.8 17 10.7 30.6 8.5-6.2 15.4-13.1 19.8-21.4 7.5 15.5 8.3 16 12.4 33 17.8-13.1 21.8-31.2 22.8-47.6 2-33-.3-108.2-31-142.9 1.7 36.3-13.1 70-33.8 80.7-12.6 4.9-96.5-74.6-137.6-93.3-23.5-10.2-48.1 7.1-67.8 9.3C147 106.2 83.57 70.94 29.19 26.62zM296.1 152.8c13.3 20.9 32.2 36.9 60.1 55-19.4 2.9-65.8-6.7-77.7-24-5.5-7.9 7.1-21.3 17.6-31zM180.6 319.1c-14.4 6.2-29.2 10.9-43.8 14.3-2.4 3.6-4.6 7.1-6.7 10.5 14.8 5.3 31.5 7 44.1 2.8 3.3-9.8 5.5-19.3 6.4-27.6zm-68 19.1l-10.2 1.5c-31.81 36.6-61.9 103.2-48.24 151.9h36.13c-11.12-37.7-16.53-87.1 22.31-153.4zm8.5 21.5c-5.9 11.4-10.4 22.1-13.8 32.1 12.9 6.7 29.1 8.9 44.8 8.2 4.6-10.5 9.8-21.8 14.6-33.3-15.4 1.8-31.4-1.4-45.6-7zm111.4 6.6c-12 10.5-25.2 20.3-38.9 29.6 7 34 33.4 63.4 73.9 95.7h83.3c-57.2-31.8-94.6-73.3-118.3-125.3zm-130 43.2c-2.5 11.8-3.3 22.7-3 32.9 37.3 14.2 62.5 13.5 97.5 4.1-7.2-10.3-13-21-16.9-32.3-32.7 9.4-55.4 5.7-77.6-4.7zm106.6 52.4c-38.1 10.9-68.8 13.2-107.5.3 1.8 10.4 4.5 20.1 7.5 29.4h130.1c-11.3-9.8-21.4-19.6-30.1-29.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedShield;

impl IconShape for SpikedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "m270.4 22.37-4.1 126.43-.1.4c-3.5 25.3 7.1 34.5 17.4 37.1 5.2 1.2 10.5.4 14.2-1.8 3.4-2.1 5.7-5 6.3-10.1L270.4 22.37zM421 40.09l-45.5 38.48 25.1 28.73L421 40.09zM164.5 73.95l-39.3 44.95 20.9 11.5 29.8-32.85 2.7-2.95H250l.7-20.65h-86.2zm135.8 0 4.5 20.65h28.7l92.4 102-19.5 37.6 17 17 28.8-57.4L347.5 73.95h-47.2zM67.73 108 151 208.9c25.1 28.1 44.1-30.6 37.5-34.8L67.73 108zm118.87 4.6-24.3 26.7 35.3 19.3.2.1c38.2 23.1-22.3 104.8-60.3 62.2l-.1-.1-23.3-28.3-6.3 6.9 40 77.3 2.6-6.8.2-.4.2-.5c5.7-11.3 17-16.9 28.1-17.2 1.6-.1 3.2 0 4.8.2 12.5 1.3 24.8 7.8 34.7 17.3 9.9 9.5 17.5 22.3 18.6 36.9 1.2 14.6-4.9 30.5-19.5 43.9l-.3.2-22.3 17.1 17.7 34.2h61.5l-21.8-67.4-.3-1-.1-1c-2.3-26.4 18.7-38.4 39.8-38.7 21.1-.3 42.2 11.3 40.1 32v-.2l-1.3 16.2 27.7-53.4c-13.9-5.7-22.9-14.6-26.1-24.9-3.6-11.2-.3-22.5 5.7-31.3 6.1-8.7 15-15.4 25.3-18.1 2.6-.7 5.3-1.1 8-1.1 7.7-.1 15.6 2.4 21.8 8.2l11.2-21.5-78.6-86.8h-16.7l13.5 60.8-.1 1.3c-.8 11.2-7 20.3-15.2 25.2-8.2 5-18.2 6.2-27.7 3.8-18.9-4.7-35-25.1-31-56.1l1.1-35h-62.8zm61.7 35v.1l.1-.9c0 .3-.1.5-.1.8zM88.25 161.2 59.7 193.8l68 135.9 11.6-30.4-53.21-102.7 16.41-18.2-14.25-17.2zm283.25 69.3c-1.2.1-2.5.3-3.8.7-5.5 1.4-11.5 5.7-15.1 11-3.7 5.3-4.9 10.8-3.4 15.6 1.5 4.7 6 10.2 18.3 14.6l66.4 14.6-52.3-52v-.1l-.1-.1c-2.8-2.9-5.6-4.2-8.7-4.3h-1.3zM178 269.7h-1.2c-4.4.4-7.4 2.5-9.8 7.3l-47.7 125.6 86.2-66c11.3-10.4 14.3-19.9 13.6-29-.8-9.1-5.9-18.3-13.2-25.3-7.3-7.1-16.8-11.7-24.1-12.4-1.3-.1-2.6-.2-3.8-.2zm-96.65 7.6-54.2 25.2 74.25 14.9-20.05-40.1zm294.75 15.4L327 387.6l-5.2 67.1L400 298l-23.9-5.3zm-89.3 17.9c-9.7 0-17.9 4.8-16.9 19.3l35 108.4 8.9-114.5v-.1c.6-5-14.4-13.1-27-13.1zm97.5 59.4-17.7 35.4 45.9 33.5-28.2-68.9zm-204 8.6L160 394.2l37.9 75.8h98.3l-16.3-50.4h-78.3l-21.3-41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedShoulderArmor;

impl IconShape for SpikedShoulderArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.1 16.79L187.2 175.8c-1.2 10.9 2.5 15.7 9.8 19.9 7.3 4.1 19 5.8 30.6 4.6 11.6-1.3 23-5.5 29.5-10.7 6.5-5.3 8.5-9.2 5.8-16.3zm126.1 51.75C388 122.1 422.4 190.3 434.9 250.6c6.7 32.3 7.2 62.3 1.3 87.1-5.8 24.7-18.4 44.7-38.3 54-11.8 5.4-31.1 7.4-58.2 8.7-27.1 1.2-61 .8-97.1-1.7-66.2-4.6-139.8-16.2-192.9-39.4 1.12 8.5 2.79 17.1 5.03 25.9 1.37 5.3 7.05 12 17.99 18.4 10.94 6.4 26.53 12.4 44.98 17.5 37 10.1 85.7 16.8 134.3 19.5 48.7 2.7 97.5 1.4 134.8-3.7 18.7-2.6 34.5-6.2 45.6-10.5 11.1-4.3 16.5-9.5 17.4-12 40.1-110.3 25.1-198-6.7-257.7-16-29.9-36.2-52.8-55.8-67.81-19.4-12.6-36.1-22.79-58.1-20.35zm-23 3.87C289 76.16 270 82.1 250.4 90.1l29.3 76.8c5.3 14.2-1 28.4-11.4 36.7-10.3 8.3-24.4 13-38.8 14.6-14.4 1.5-29.3 0-41.4-6.9-12.1-6.8-20.6-20.5-18.9-37.3l4.3-43c-12.5 8.5-24.6 17.7-36.1 27.6-12.9 11.1-24.9 23.2-35.7 36l70.8 69.5c8.2 8.7-1.3 34.1-6.3 41.3-7.4 10.1-18 18-29.9 22.5-11.8 4.5-25.2 5.7-37.55 1.4-12.48-4.2-23.61-14.1-30.19-29.3l-.21-.5L59 267.8c-7.78 22.1-11.81 45.8-11 71.1 49.45 24 126.9 37.1 195.9 42 35.4 2.4 68.7 2.8 95 1.6 26.3-1.2 46.6-4.8 51.4-7.1 13.5-6.2 23.4-20.5 28.4-41.8 5-21.3 4.8-49-1.4-79.2-7.1-34.3-22.1-71.8-45.1-107.4l-16.4 180.9-.1.4c-1.3 7.2-5.2 13.5-10.4 17.6-5.2 4.2-11.5 6.3-18 7.2-13 1.8-27.3-1.2-40.6-6.8s-25.6-13.9-33.6-24.7c-8-10.8-10.9-25.9-2.9-38.9l.4-.7 119.9-137.4c-17-25.8-38.4-50.57-64.3-72.19zM48.16 167.2l37.09 125.9c4.87 11.1 11.6 16.6 19.15 19.2 7.8 2.6 16.9 2 25.5-1.3 8.7-3.2 16.6-9.2 21.7-16.2 4.5-6.3 6.6-13.1 5.9-20.2zm301.44 28.6l-84.2 96.7c-3.9 6.6-2.8 11.6 2.2 18.4 5.1 7 15.1 14.2 26.1 18.8 10.9 4.6 22.9 6.7 31.2 5.6 4.1-.6 7.2-1.9 9.2-3.5 2-1.5 3.2-3.4 3.9-6.7zm-299.22 214c-4.96.9-7.63 2.9-9.5 5.4-2.17 3-3.29 7.5-2.79 12.8 1.01 10.7 8.87 23.3 20.25 27.9 127.96 51.8 279.26 42.6 397.56 27.5 13.5-1.6 22-55.6-1-48.7-4.8 3.7-9.3 6-16 8.6-13.2 5.1-30.1 8.8-49.6 11.5-39 5.4-88.6 6.6-138.2 3.8-49.7-2.7-99.2-9.4-138.2-20.1-19.39-5.3-36.21-11.6-49.31-19.3-4.9-2.9-9.37-6-13.21-9.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedTrunk;

impl IconShape for SpikedTrunk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 5c-7.364 0-12.91 4.272-16.564 8.512s-6.05 8.94-7.75 13.045c-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-5.095 12.299-5.095 26.587 0 38.886.279.675.584 1.369.904 2.07l20.137-1.204c-1.633-2.036-3.305-5.078-4.413-7.752-3.07-7.41-3.07-17.703 0-25.114 2.044-3.784 3.577-8.6 7.686-10.443 3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-1.034 2.494-2.559 5.318-4.084 7.34l21.021-1.258c4.77-12.116 4.676-26.049-.309-38.082-1.636-3.95-3.927-8.446-7.351-12.557 3.424-4.111 5.715-8.607 7.351-12.557 5.095-12.299 5.095-26.587 0-38.886-1.636-3.95-3.927-8.446-7.351-12.557 3.424-4.111 5.715-8.607 7.351-12.557 5.095-12.299 5.095-26.587 0-38.886-1.636-3.95-3.927-8.446-7.351-12.557 3.424-4.111 5.715-8.607 7.351-12.557 5.095-12.299 5.095-26.587 0-38.886-1.7-4.106-4.096-8.805-7.75-13.045C76.911 9.272 71.364 5 64 5zm384 0c-7.364 0-12.91 4.272-16.564 8.512s-6.05 8.94-7.75 13.045c-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-5.095 12.299-5.095 26.587 0 38.886 1.636 3.95 3.927 8.446 7.351 12.557-3.424 4.111-5.715 8.607-7.351 12.557-4.96 11.971-5.076 25.822-.381 37.894l19.06.58c1.128-2.194-1.264-4.593-2.05-6.474-3.07-7.41-3.07-17.703 0-25.114 2.043-3.784 3.576-8.6 7.685-10.443 3.549 1.891 5.993 6.417 7.686 10.443l.052.141 20.227-47.559c.619-7.966-.588-16.076-3.65-23.468-1.637-3.95-3.928-8.446-7.352-12.557 3.424-4.111 5.715-8.607 7.351-12.557 5.095-12.299 5.095-26.587 0-38.886-1.636-3.95-3.927-8.446-7.351-12.557 3.424-4.111 5.715-8.607 7.351-12.557 5.095-12.299 5.095-26.587 0-38.886-1.7-4.106-4.096-8.805-7.75-13.045C460.911 9.272 455.364 5 448 5zM64 23c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114C69.642 62.34 68.109 67.157 64 69c-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114C58.358 29.66 59.891 24.843 64 23zm384 0c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-2.044 3.784-3.577 8.6-7.686 10.443-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114 2.044-3.784 3.577-8.6 7.686-10.443zM64 87c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-2.044 3.784-3.577 8.6-7.686 10.443-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114C58.358 93.66 59.891 88.843 64 87zm384 0c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-2.044 3.784-3.577 8.6-7.686 10.443-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114 2.044-3.784 3.577-8.6 7.686-10.443zM64 151c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-2.044 3.784-3.577 8.6-7.686 10.443-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114 2.044-3.784 3.577-8.6 7.686-10.443zm384 0c3.549 1.891 5.993 6.417 7.686 10.443 3.07 7.41 3.07 17.703 0 25.114-2.044 3.784-3.577 8.6-7.686 10.443-3.549-1.891-5.993-6.417-7.686-10.443-3.07-7.41-3.07-17.703 0-25.114 2.044-3.784 3.577-8.6 7.686-10.443zm-119.9 65.027l-12.506 58.514c1 12.537 31.82 10.714 31.771-1.168zm-117.323 3.157l-4.564 30.658 19.01.578zm265.069 5.113l-27.727 65.197c5.03 5.346 21.027 7.626 22.666 2.133zm-92.358 4.07l-2.742 26.787 17.367.53zM113.34 247.365l-12.865 40.598c5.605 5.822 19.259 3.149 23.845-.902zm90.469 20.41l-65.07 3.895c.815 4.403 2.992 8.609 3.5 13.064.94 8.292-4.441 15.445-10.259 19.022-5.817 3.577-12.538 5.168-19.324 5.474-6.785.307-13.683-.62-19.828-4.168-6.144-3.548-11.202-11.5-10.183-19.9.697-3.502 2.024-6.909 3.105-10.32l-72.236 4.324 2.187 62.879 24.926-1.205c-6.656-17.909 7.218-35.962 22.922-38.774 14.963.366 23.105 4.552 31.84 13.918l-2.916 22.35 51.115-2.47c-.988-2.855-2.817-5.929-2.938-8.753-.402-9.553 4.387-17.886 10.784-23.39 6.396-5.504 14.422-8.809 22.73-10 8.428-1.145 18.243.476 24.717 4.16 7.612 4.45 13.393 13.01 14.353 23.568.118 3.717-1.04 7.473-1.716 11.131l26.156-1.266c-6.193-5.641-10.112-17.753-9.604-24.171l17.698-38.09zm79.326 2.416c2.411 19.252 13.366 43.67-1.635 59.004 32.798 3.04 65.627 7.18 98.392 10.912l-1.863-18.638c.298-19.186 23.504-26.377 34.229-26.055 14.381.737 28.106 9.39 30.011 24.754l.291 2.344-9.707 23.629 62.975 7.173-1.129-76.681-4.726-.145c-.796 13.624-1.156 28.466-14.825 34.393-18.535 4.397-44.877-2.379-45.46-22.14.21-4.865 3.221-9.476 5.117-13.932l-69.372-2.112c1.35 35.875-67.767 38.633-67.931 1.362-.086-1.165.276-2.286.517-3.414zm-18.182.29l-19.125 41.156c.316 6.082 7.491 8.084 12.098 8.242 6.558.03 13.176-3.363 13.459-9.207zm-101.78 46.882c-2.9 2.496-4.256 4.963-4.452 7.848l24.49 61.55 11.93-64.622c-.65-4.873-2.465-7.036-5.344-8.72-8.999-3.648-19.459-2.046-26.623 3.944zm232.97 4.348l5.341 53.416 22.286-54.24c-6.582-10.394-23.33-9.702-27.627.824zm-340.034 6.103l12.477 54.49 7.777-59.628c-8.89-4.658-16.771-2.661-20.254 5.138zm256.436 22.737l-4.377 57.61 30.67-54.614z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedWall;

impl IconShape for SpikedWall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 41v446h46V41H25zm416 0v446h46V41h-46zM89 76.49v39.01L147.5 96 89 76.49zm334 0L364.5 96l58.5 19.5V76.49zM251.8 125.7c-17.9 2.4-34.1 23.3-34.1 50.4 0 14.9 5.2 28.2 12.8 37.3l9 10.9-13.9 2.6c-9.9 1.9-17 7.1-23.2 15.5-6.2 8.5-10.9 20.3-14.2 33.9-6.1 24.6-7.4 54.7-7.6 81.3h32.8l9 120.4c22.8 5.2 47.1 5 69.1 0l8-120.4h31.1c0-26.9-.4-57.4-5.8-82.3-3-13.6-7.5-25.4-13.7-33.8-6.3-8.4-13.8-13.5-24.9-15.2L272 224l9-11.2c7.3-9.1 12.1-22.2 12.1-36.7 0-28.9-18.1-50.3-37.7-50.3l-3.6-.1zM89 140.5v39l58.5-19.5L89 140.5zm334 0L364.5 160l58.5 19.5v-39zm-334 64v39l58.5-19.5L89 204.5zm334 0L364.5 224l58.5 19.5v-39zm-334 64v39l58.5-19.5L89 268.5zm334 0L364.5 288l58.5 19.5v-39zm-334 64v39l58.5-19.5L89 332.5zm334 0L364.5 352l58.5 19.5v-39zm-334 64v39l58.5-19.5L89 396.5zm334 0L364.5 416l58.5 19.5v-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikyPit;

impl IconShape for SpikyPit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.365 46.973L65.95 137.566l8.753 40.844c14.597 4.118 35.126-.73 35.707-14.564zm68.254 0l-14.936 71.14 17.515 61.64c11.382-.696 22.047-5.993 22.464-15.907zm68.253 0l-15.244 71.14 30.16 58.762c5.76-2.613 9.873-6.952 10.128-13.03zm68.254 0l-25.045 116.873c.255 6.077 4.368 10.416 10.13 13.03l30.16-58.763zm68.254 0l-25.044 116.873c.417 9.914 11.082 15.21 22.465 15.906l17.516-61.64zm68.255 0L401.59 163.846c.58 13.835 21.11 18.682 35.707 14.564l8.752-40.844zM18 51.12V179.81c4.793-.103 9.544-1.012 13.547-2.736l6.723-31.37zm476 0l-20.27 94.585 6.723 31.37c4.003 1.725 8.754 2.634 13.547 2.738zM52.982 162.956L30.84 266.293l13.69 63.902c17.79 3.014 39.45-3.694 39.974-20.136zm81.207 0l-16.75 75.156 23.156 92.375c13.14-1.656 24.732-8.457 25.115-20.427zm81.206 0l-16.105 75.156 36.41 88.205c6.49-3.46 10.982-8.88 11.218-16.257zm81.208 0L265.082 310.06c.236 7.38 4.728 12.798 11.217 16.258l36.41-88.205zm81.207 0L346.29 310.06c.382 11.97 11.975 18.772 25.114 20.428l23.155-92.375zm81.208 0L427.496 310.06c.524 16.44 22.185 23.15 39.973 20.135l13.69-63.902zM112 282.957L73.08 464.582c.88 35.177 76.96 35.177 77.84 0zm96 0l-38.92 181.625c.88 35.177 76.96 35.177 77.84 0zm96 0l-38.92 181.625c.88 35.177 76.96 35.177 77.84 0zm96 0l-38.92 181.625c.88 35.177 76.96 35.177 77.84 0zM18 292.29v198.642c18.55-.59 36.495-9.37 36.92-26.35zm476 0l-36.92 172.292c.425 16.98 18.37 25.76 36.92 26.35z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikyWing;

impl IconShape for SpikyWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.49 289.3C105.4 130.1 284.9 17.56 491.1 30.3c-91.5 46.11-179.2 101.3-240.3 155 41.4-8.7 113-24.8 172.7-7.9-83.7 29.6-180.7 64.2-208.6 95.7 51.9-6.5 122-7.3 161.5 17.7-75.3 5.2-174 18.7-188.5 36.3 41.9.8 109.3 36.9 130 60.4-67.6-11.8-106-17-153.5-7.1 58.3 8.9 85.6 49.7 102.6 75.3-51.5-19.6-88.3-30.3-111.9-31 23 23 32.4 43.5 45.1 70.8C107.4 463.2-2.716 330.4 19.49 289.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralHilt;

impl IconShape for SpiralHilt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.04 25c-6.221 6.962-12.451 16.697-15.5 25.846-2.886 8.656-2.848 15.342.044 20.154h86.832c2.892-4.812 2.93-11.498.045-20.154-3.05-9.15-9.28-18.884-15.5-25.846zm-15.724 64c-4.559 5.939-7.316 14.298-7.316 23s2.757 17.061 7.316 23h87.368c4.559-5.939 7.316-14.298 7.316-23s-2.757-17.061-7.316-23zm0 64c-4.559 5.939-7.316 14.298-7.316 23s2.757 17.061 7.316 23h87.368c4.559-5.939 7.316-14.298 7.316-23s-2.757-17.061-7.316-23zm.418 64c-1.57 3.04-3.605 8.253-4.908 14.766C205.985 240.974 205 252.5 205 264c0 4.617.165 9.23.475 13.705 23.303 12.918 41.918 25.346 50.525 31.299 8.55-5.914 27.179-18.357 50.525-31.299.31-4.474.475-9.088.475-13.705 0-11.5-.985-23.026-2.826-32.234-1.303-6.513-3.339-11.726-4.908-14.766zM87 256.186c-8.69.146-17.198 1.7-24.654 5.695-16.372 9.026-29.472 29.862-35.09 53.101-5.618 23.24-3.576 48.243 6.387 64.266 8.633 13.885 27.756 23.805 48.968 27.729 21.213 3.923 44.058 1.625 57.364-5.028C152.62 395.626 155 385.58 155 375c0-10.03-2.98-18.574-3.299-19.463-7.82-15.598-15.576-29.109-23.79-36.726-8.303-7.699-15.693-10.484-29.208-6.227-8.45 3.679-21.41 11.758-20.18 22.11C82.8 348.981 97.358 358.741 112 359v18c-10.42 0-21.517-3.805-31.205-10.4-9.688-6.596-18.194-16.447-20.08-29.293 3.61-41.77 53.194-54.473 79.433-31.696 11.026 10.224 18.885 24.484 26.543 39.672L256 385.437l89.309-40.154c7.658-15.188 15.517-29.448 26.543-39.672 26.239-22.777 75.823-10.074 79.433 31.696-1.886 12.846-10.392 22.697-20.08 29.293C421.517 373.195 410.42 377 400 377v-18c14.642-.258 29.2-10.018 33.477-24.307 1.23-10.35-11.73-18.43-20.18-22.109-13.515-4.257-20.905-1.472-29.207 6.227-8.215 7.617-15.972 21.128-23.791 36.726-.32.89-3.299 9.433-3.299 19.463 0 10.58 2.38 20.626 15.025 26.95 13.306 6.652 36.151 8.95 57.364 5.027 21.212-3.924 40.335-13.844 48.968-27.729 9.963-16.023 12.005-41.026 6.387-64.266-5.618-23.24-18.718-44.075-35.09-53.101-7.456-3.995-15.964-5.55-24.654-5.695-8.69-.146-17.561 1.116-25.746 2.755-20.272 4.367-42.582 13.385-63.113 23.532-34.63 17.113-62.762 36.325-80.141 42.209-17.38-5.884-45.511-25.096-80.14-42.21-20.532-10.146-42.842-19.164-63.114-23.53-8.185-1.64-17.056-2.902-25.746-2.756zm114 126.377V494h28v-64.357l14.523-25.819zm110 0l-42.523 21.261L283 429.643V494h28zm-55 35.794l-9 16V494h18v-59.643z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralLollipop;

impl IconShape for SpiralLollipop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M327 34c-83.5 0-151 67.5-151 151s67.5 151 151 151c21.2 0 41.3-4.3 59.6-12.2 33.9-24.3 56.5-65.1 58.9-109 3.9-70.8-46.3-136.23-112.8-140.29-59.1-3.46-113.6 45.29-116.4 109.69-2.6 56.4 37.7 108.4 90.7 110.7 45.9 2 87.9-36.2 89.2-86.1 1-41.9-29.4-80.5-69-81.1-32.2-.4-61.9 27-61.7 62.4.2 27.4 20.8 52.8 46.8 51.8 18.9-.9 36.2-17.7 34.5-38.2-.6-6.7-3.6-13.4-8.1-17.9-4.5-4.3-9.6-6.5-15.6-5.3-2.5.6-6.3 3.1-8 5.5-2.3 3.5 12.4 8.9 12.1 13-.4 4.3-3 8.9-6.8 11.2-3.9 2-7.5 1.4-10.2.6-5.3-1.6-9-4.1-11.9-10.4-3.9-9.1-1.7-19.1 3.1-25.8 4.5-6.5 11.1-10.7 18.4-12.4 11.7-2.4 22.9 2.3 30.6 9.8 7.7 7.7 12.8 18.5 13.8 29.8 2.6 32.3-23.2 57.5-51.1 58.5-36.6 1.7-64.5-32.7-64.9-70.2-.4-46.5 37.7-81.7 79.2-81.1 50 .6 87.5 48.4 86.2 100.4-1.7 60.7-52.3 106.4-107.1 104.2-63.2-2.7-110.6-63.8-107.5-130.2 3-70.7 58.6-124.53 122-127.58 4.1-.2 8.5-.2 12.8 0 76.4 4.67 133.5 79.18 129 160.28-1.1 20.6-6.1 40.5-14.4 58.7C467 249.7 478 218.7 478 185c0-83.5-67.5-151-151-151zM192.8 287.6L44.73 448l-.13.2c-6.94 6.9-9.79 13.2-10.45 17.9-.66 4.6.57 7.5 2.45 9.3 1.88 1.9 4.74 3.2 9.37 2.5 4.61-.7 10.95-3.5 17.88-10.4L213.3 310c-7.5-6.9-14.3-14.3-20.5-22.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SplitArrows;

impl IconShape for SplitArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.3 38.88L25.22 73.93l74.73 87.97 12.75-44.5c44.9 15 73.8 35.5 91.6 58.3 20.6 26.2 27.5 56.2 25.7 88.9-3.6 65.4-45.7 139.7-83.8 185.5l27.6 23c31.7-37.9 65.6-91.6 82.2-149.5 16.6 57.9 50.5 111.6 82.2 149.5l27.6-23C327.7 404.3 285.6 330 282 264.6c-1.8-32.7 5.1-62.7 25.7-88.9 17.8-22.8 46.7-43.3 91.5-58.3l12.8 44.5 74.8-87.97-110.1-35.05 12.6 43.94c-50.8 16.8-86.7 40.98-110 70.68-10.3 13.2-17.9 27.2-23.3 41.9-5.4-14.7-13-28.7-23.3-41.9-23.3-29.7-59.2-53.88-110-70.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpockHand;

impl IconShape for SpockHand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M232.5 29.58c-10.4-.17-20.2 6.63-19.4 21.22l40 176.3-17.4 4c-12.9-51.9-25.1-109.6-36.8-162.88-4.4-18.3-43.7-16.02-38.3 11.98 16.3 83.5 28.3 166.2 43.2 247.4-10-24.7-38.9-39.5-58.2-53-24.8-17.3-58.3-22.1-76.62 2.3-8.64 9.3 48.42 28.9 77.02 78.5 15.3 44.6 47.2 62.6 77.6 80.9l7.3 59H371l1.2-44.8s17.6-18.6 19.8-31.4c8.4-48.3 3.3-148.1 3.3-148.1 13-45.5 34.2-95.9 47.2-146.7 9.2-36-26.7-46.63-33-30.87L356 241l-16.8-6 55.9-154.18c6-33.18-27.2-39.22-40.7-11.86-24.9 54.94-47.2 147.24-56.9 146.14-8.4-.9-31.1-98.7-43.1-167.32-2.1-11.74-12.2-18.04-21.9-18.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpookyHouse;

impl IconShape for SpookyHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M189.1 20.24l-68.5 87.56h137zm225.3 2.64C399.6 58.25 364 63.27 333 65.62c-6.3 36.48-25.7 40.18-57 55.48l39.2-2-7.2 50c12-29.6 19.9-60 39-88.42l13.6-3.41-4.6 59.83 24.3-64.75c98.2-7.42-6.7 91.25-35.7 125.95l29.3-17.9 11 41.1c-.5-38.8 25-95.4 57.1-113.6 31.9 24.8 13.5 69.4 10 99.3l12.8-20 25.1 36.2c-15.4-37.6-19.3-67-12.2-105.3-25.1-19.63-47.7-39.88-62.3-62.28l5.6-9.09 54.9 26.42-45.5-41.82 5.2-8.45zM134.1 125.8V225l45.4 45.4-12.8 12.8-73.77-73.8-70.81 67.4h15.96v215H141.1v-94H71.35l48.05-48H52.08v-82h82.02v48h150.1l34.8-46h-97.9v-17h23v-127zm14 14h82v98h-82v-89zm18 18v14h14v-14zm32 0v14h14v-14zm-32 32v30h14v-30zm32 0v30h14v-30zm64 32v30h70.5l16.5-21.9 64.9 85.9h75.9l-65.5-94zm87 37.9l-72.8 96.5-14.4-10.8 8.8-11.6H134.1v14h90.7l32 32h51.6c-2.8-5.8-4.3-12.2-4.3-19 0-24.7 20.3-45 45-45s45 20.3 45 45c0 6.8-1.5 13.2-4.3 19h78.1l.2.3v-46.3h-40.6l8.8 11.6-14.4 10.8zM70.08 285.8v14h14v-14zm32.02 0v14h14v-14zm-32.02 32v14h14v-14zm32.02 0v14h14v-14zm238 17.5c-7.7 2.7-13.8 8.8-16.5 16.5h16.5zm18 0v16.5h16.5c-2.7-7.7-8.8-13.8-16.5-16.5zm-229.3 30.5l-14 14h116.6l-14-14zm194.8 4c2.7 7.7 8.8 13.8 16.5 16.5v-16.5zm34.5 0v16.5c7.7-2.7 13.8-8.8 16.5-16.5zm-153 28v94h103v-46h-11.3l-38.4-48zm76.3 0l24 30h172.9l-20-30zm-229.32 14h66.02v66H52.08v-57zm105.02 0v18h32v-18zm-87.02 18v30h30.02v-30zm256.02 16v46h35v-46zm53 0v46h36v-46zm54 0v46h35v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SportMedal;

impl IconShape for SportMedal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M338.8 31.81c-5 19.51-9.9 38.69-14.9 57.64-45.3 7.27-90.5 7.28-135.8 0-5-18.95-9.9-38.13-14.9-57.64 54.9 22.58 110.7 22.58 165.6 0zm17.3 4.59l34.4 45.95c-14 96.25-40 204.15-77.5 302.95-10.7-12.4-25.2-21.3-41.8-24.7 28.3-111.3 56.6-212.3 84.9-324.2zm-200.2 0c28.3 111.9 56.6 212.9 84.9 324.2-16.6 3.4-31.1 12.3-41.8 24.7-37.5-98.8-63.5-206.7-77.5-302.95zM256 377c31.6 0 57 25.4 57 57s-25.4 57-57 57-57-25.4-57-57 25.4-57 57-57z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spring;

impl IconShape for Spring {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.4 26.52c-.7 0-1.7.14-2.9.44-3.4.82-8 3.38-11.7 6.89-3.8 3.51-6.7 7.92-7.9 11.34-1.1 3.41-.8 4.92.5 6.57 27.4 33.77 52.6 72.04 71.9 105.74 19.3 33.8 32.7 62.2 36.6 79.9.4 1.8.7 2 .7 1.9 1.2 0 5.7-1.7 9.9-5.2 4.3-3.5 8.6-8.6 11.1-13.3 2.6-4.7 3.1-8.8 2.6-10.4-15.1-55.3-42.6-116.41-107.9-182.57-.7-.67-1.3-1.09-2.2-1.24-.2 0-.4-.1-.7-.1zm53.2 30.97c11 13.92 20.6 27.66 28.9 41.17 13 7.24 28.5 16.34 43.9 26.04 15.2 9.4 29.4 18.9 40.9 27.4l-1.8-28.2c-16.4-16.3-45-33.55-74.1-48.31-13.1-6.65-25.8-12.61-37.8-18.1zM247.1 105.8c-.7 0-1.7.1-2.9.4-3.4.8-7.9 3.4-11.7 6.9-3.7 3.5-6.6 7.9-7.7 11.3-1.1 3.3-.9 4.8.5 6.5 27.4 33.8 52.6 72 71.9 105.7 19.3 33.8 32.6 62.3 36.6 79.8v.1c.4 1.8.7 2 .7 1.9 1.1 0 5.6-1.7 9.9-5.2 4.3-3.5 8.5-8.6 11.1-13.3 2.5-4.7 3-8.9 2.6-10.4-15.3-55.2-42.8-116.2-108.1-182.4-.7-.7-1.3-1.1-2.2-1.2-.2-.1-.4-.1-.7-.1zm53.1 30.9c11.1 14 20.7 27.8 29.1 41.3 13 7.3 28.5 16.4 43.9 26 3.5 2.2 7 4.4 10.4 6.6-5.8-12.7-13.6-27.7-22.7-43.7-7.4-4.2-15-8.2-22.7-12.1-13.2-6.6-25.9-12.6-38-18.1zm-126.5 57.1c-.7 0-1.7.1-2.9.4-3.4.8-8 3.4-11.7 6.9-3.8 3.5-6.7 7.9-7.9 11.3-1.1 3.4-.8 4.9.5 6.5 27.4 33.7 52.6 71.9 71.9 105.7 19.3 33.8 32.7 62.2 36.6 79.9.4 1.8.7 2 .7 1.9 1.1 0 5.7-1.7 9.9-5.2 4.3-3.5 8.6-8.6 11.1-13.3 2.6-4.8 3.1-8.9 2.6-10.5-15.2-55.1-42.6-116.1-107.9-182.4-.7-.6-1.3-1-2.2-1.2h-.7zm53.1 30.9c11.1 13.9 20.6 27.7 29 41.2 13 7.3 28.5 16.4 43.9 26 2.7 1.7 5.4 3.4 8 5-5.2-11.9-12.5-26.6-21.3-42.5-7.1-4-14.4-7.9-21.8-11.6-13.1-6.7-25.8-12.6-37.8-18.1zM94.5 272.9c-.77 0-1.71.2-2.97.5-3.34.8-7.91 3.3-11.67 6.8s-6.68 7.9-7.79 11.3c-1.1 3.4-.86 4.9.48 6.5 27.43 33.8 52.65 72 71.95 105.7 19.3 33.8 32.7 62.2 36.6 79.8v.1c.4 1.8.7 2 .7 1.9 1.2 0 5.7-1.7 9.9-5.2 4.3-3.5 8.6-8.6 11.1-13.3 2.6-4.7 3.1-8.8 2.6-10.4-15.3-55.1-42.7-116.1-108.02-182.4-.7-.6-1.3-1.1-2.17-1.2-.22-.1-.46-.1-.71-.1zm53.1 30.9c11.1 14 20.7 27.8 29 41.3 13 7.3 28.5 16.4 43.9 26 3.5 2.2 7 4.4 10.4 6.6-5.8-12.7-13.5-27.7-22.6-43.7-7.4-4.1-15.1-8.2-22.8-12.1-13.1-6.6-25.8-12.6-37.9-18.1zM18.72 353c.34 2.1 1.03 4.8 2.88 8.4 5.75 11.3 20.09 27.8 46.74 42.6 23.89 13.3 46.86 28.4 85.06 56.4-6-13.5-14.4-30.1-24.5-47.7l-.3-.6C92.89 388 46.1 366 18.72 353z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spy;

impl IconShape for Spy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218 19c-1 0-2.76.52-5.502 3.107-2.742 2.589-6.006 7.021-9.191 12.76-6.37 11.478-12.527 28.033-17.666 45.653-4.33 14.844-7.91 30.457-10.616 44.601 54.351 24.019 107.599 24.019 161.95 0-2.706-14.144-6.286-29.757-10.616-44.601-5.139-17.62-11.295-34.175-17.666-45.653-3.185-5.739-6.45-10.171-9.191-12.76C296.76 19.52 295 19 294 19c-6.5 0-9.092 1.375-10.822 2.85-1.73 1.474-3.02 3.81-4.358 7.34-1.338 3.53-2.397 8.024-5.55 12.783C270.116 46.73 263.367 51 256 51c-7.433 0-14.24-4.195-17.455-8.988-3.214-4.794-4.26-9.335-5.576-12.881-1.316-3.546-2.575-5.867-4.254-7.315C227.035 20.37 224.5 19 218 19zm-46.111 124.334c-1.41 9.278-2.296 17.16-2.57 22.602 6.61 5.087 17.736 10.007 31.742 13.302C217.18 183.031 236.6 185 256 185s38.82-1.969 54.94-5.762c14.005-3.295 25.13-8.215 31.742-13.302-.275-5.443-1.161-13.324-2.57-22.602-55.757 23.332-112.467 23.332-168.223 0zM151.945 155.1c-19.206 3.36-36.706 7.385-51.918 11.63-19.879 5.548-35.905 11.489-46.545 16.57-5.32 2.542-9.312 4.915-11.494 6.57-.37.28-.247.306-.445.546.333.677.82 1.456 1.73 2.479 1.973 2.216 5.564 4.992 10.627 7.744 10.127 5.504 25.944 10.958 45.725 15.506C139.187 225.24 194.703 231 256 231s116.813-5.76 156.375-14.855c19.78-4.548 35.598-10.002 45.725-15.506 5.063-2.752 8.653-5.528 10.627-7.744.91-1.023 1.397-1.802 1.73-2.479-.198-.24-.075-.266-.445-.547-2.182-1.654-6.174-4.027-11.494-6.568-10.64-5.082-26.666-11.023-46.545-16.57-15.212-4.246-32.712-8.272-51.918-11.631.608 5.787.945 10.866.945 14.9v3.729l-2.637 2.634c-10.121 10.122-25.422 16.191-43.302 20.399C297.18 200.969 276.6 203 256 203s-41.18-2.031-59.06-6.238c-17.881-4.208-33.182-10.277-43.303-20.399L151 173.73V170c0-4.034.337-9.113.945-14.9zm1.094 88.205C154.558 308.17 200.64 359 256 359c55.36 0 101.442-50.83 102.96-115.695a748.452 748.452 0 0 1-19.284 2.013c-1.33 5.252-6.884 25.248-15.676 30.682-13.61 8.412-34.006 7.756-48 0-7.986-4.426-14.865-19.196-18.064-27.012-.648.002-1.287.012-1.936.012-.65 0-1.288-.01-1.936-.012-3.2 7.816-10.078 22.586-18.064 27.012-13.994 7.756-34.39 8.412-48 0-8.792-5.434-14.346-25.43-15.676-30.682a748.452 748.452 0 0 1-19.285-2.013zM137.4 267.209c-47.432 13.23-77.243 32.253-113.546 61.082 42.575 4.442 67.486 21.318 101.265 48.719l16.928 13.732-21.686 2.211c-13.663 1.393-28.446 8.622-39.3 17.3-5.925 4.738-10.178 10.06-12.957 14.356 44.68 5.864 73.463 10.086 98.011 20.147 18.603 7.624 34.81 18.89 53.737 35.781l5.304-23.576c-1.838-9.734-4.134-19.884-6.879-30.3-5.12-7.23-9.698-14.866-13.136-22.007C201.612 397.326 199 391 199 384c0-3.283.936-6.396 2.428-9.133a480.414 480.414 0 0 0-6.942-16.863c-29.083-19.498-50.217-52.359-57.086-90.795zm237.2 0c-6.87 38.436-28.003 71.297-57.086 90.795a480.521 480.521 0 0 0-6.942 16.861c1.493 2.737 2.428 5.851 2.428 9.135 0 7-2.612 13.326-6.14 20.654-3.44 7.142-8.019 14.78-13.14 22.01-2.778 10.547-5.099 20.82-6.949 30.666l5.14 23.42c19.03-17.01 35.293-28.338 53.974-35.994 24.548-10.06 53.33-14.283 98.011-20.147-2.78-4.297-7.032-9.618-12.957-14.355-10.854-8.679-25.637-15.908-39.3-17.3l-21.686-2.212 16.928-13.732c33.779-27.4 58.69-44.277 101.265-48.719-36.303-28.829-66.114-47.851-113.546-61.082zM256 377c-8 0-19.592.098-28.234 1.826-4.321.864-7.8 2.222-9.393 3.324-1.592 1.103-1.373.85-1.373 1.85s1.388 6.674 4.36 12.846c2.971 6.172 7.247 13.32 11.964 19.924 4.717 6.604 9.925 12.699 14.465 16.806 4.075 3.687 7.842 5.121 8.211 5.377.37-.256 4.136-1.69 8.21-5.377 4.54-4.107 9.749-10.202 14.466-16.806 4.717-6.605 8.993-13.752 11.965-19.924C293.612 390.674 295 385 295 384s.22-.747-1.373-1.85c-1.593-1.102-5.072-2.46-9.393-3.324C275.592 377.098 264 377 256 377zm0 61.953c-.042.03-.051.047 0 .047s.042-.018 0-.047zm-11.648 14.701L235.047 495h41.56l-9.058-41.285C264.162 455.71 260.449 457 256 457c-4.492 0-8.235-1.316-11.648-3.346z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Square;

impl IconShape for Square {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.05 23.05V488.9H488.9V23.05zm17.9 17.9H471.1V471.1H40.95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Squirrel;

impl IconShape for Squirrel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.135 23.568c-61.993.106-133.212 38.319-173.762 85.328 0 0 94.532-8.388 109.732 35.477 24.55 70.846-103.768 62.832-105.619 173.623-1.394 83.471 89.36 169.758 176.1 169.812 4.214 1.405 181.953 0 181.953 0 19.783-.28 20.606-22.551-48.812-36.637 145.592-147.853-86.742-159.073-85.456-45.779-17.956-18.803.577-99.816 97.692-95.832 32.91 23.48 51.817 27.373 88.56 19.284 6.982-1.537 12.05-25.665-5.462-27.064l-31.78-2.54c-28.106-25.677-34.818-36.477-6.67-57.463 68.87 18.058 77.047 12.076 77.016-13.33-.03-24.855-9.527-90.633-65.832-93.815-7.701-10.311 9.79-42.042-3.953-42.957-19.014-1.266-50.482 28.417-46.266 43.787-18.335 7.755-38.728 31.156-59.15 59.614-69.316 25.43-119.49 142.639-120.15 170.632-.579-182.435 153.242-180.594 140.216-244.77-14.07-69.324-66.992-97.458-118.357-97.37zM432.807 169.97c7.164 0 12.972 5.808 12.972 12.973 0 7.164-5.808 12.972-12.972 12.972-7.165 0-12.973-5.808-12.973-12.972 0-7.165 5.808-12.973 12.973-12.973z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SriLanka;

impl IconShape for SriLanka {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.737 20.081c-2.019.404-45.235 14.136-45.235 14.136l85.22 27.06s-37.965-41.6-39.985-41.196zm23.281 41.64c-14.49-.219-26.62 2.57-39.84 6.018l-17.77 63.004c-4.761 33.46-10.786 66.5-28.273 95.719 10.939 80.264 13.738 164.088 40.389 237.478 31.632 35.377 68.531 36.233 109.855 8.078 87.857-9.33 112.196-73.646 111.47-147.011L326.266 183.65l-93.7-119.548c-7.886-1.562-14.961-2.282-21.548-2.381z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StabbedNote;

impl IconShape for StabbedNote {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M453.295 17.117c-.546 7.232 1.619 15.478 5.957 22.612 4.338 7.133 10.666 12.847 17.338 15.69 9.655-11.206-5.483-37.974-20.092-38.624-1.09-.07-2.254.137-3.203.322zm-111.547 8.38L329.492 49.61l61.018 100.326 25.627-2.127 13.676-21.777-9.063-14.9-27.34 16.628-37.931-62.371L350.8 57.7l27.34-16.628-9.346-15.368zm93.977 1.62l-60.194 36.61 23.905 39.303 60.193-36.61c-6.345-4.604-11.676-10.635-15.754-17.34-4.078-6.704-6.981-14.21-8.15-21.963zm-125.01 19.711l-161.647 2.62c10.403 24.036 7.492 47.197-4.388 65.648-18.658-14.237-44.341-15.374-63.407-17.717-14.06 123.827-6.22 225.967-6.271 342.149-.004 9.469-1.157 23.12 4.826 32.947 1.887 3.1 4.37 5.928 8.129 8.342 17.708-6.206 41.405-12.44 54.87-22.274-6.951-.825-14.755.952-21.138.955-8.458-.04-19.144-6.11-24.748-19.496-2.919-6.973-6.636-18.193-.181-29.072 2.838-4.785 9.383-10.302 14.26-10.328 94.651.504 191.392-.32 279.568.154-5.523-76.851-10.013-154.096-5.53-232.308l-4.146.343-14.842-24.404-66.867 40.668 6.781 10.598-15.162 9.699-59.097-92.371 15.16-9.7L255 115.966l68.46-41.637-11.95-19.65-2.606-4.285zm-180.17 4.383c-15.366 8.213-29.102 17.702-40.99 28.707 16.167 1.495 33.74 3.063 48.64 9.95 3.139-13.836-3.247-26.896-7.65-38.657zm202.268 38.494l-66.645 40.534 7.275 11.962 33.325-20.265 9.351 15.377-33.322 20.267 7.277 11.963 66.643-40.533zM201.41 136.278l.445 17.992c-30.522.253-58.62 2.029-90.013 2.11V138.38a35163.72 35163.72 0 0 0 89.568-2.103zm144.983 78.98l.24 17.996-234.346 3.143-.242-17.996zm.078 40.684l.408 17.992-123.654 2.81-.41-17.994zm-235.178 3.097h90.602v17.998h-90.602zm234.795 33.237l.406 17.992-62.158 1.406-.406-17.994zm-83.686 1.455l.338 17.996-150.3 2.808-.337-17.994zm85.946 52.806l.402 17.995-125.647 2.808-.402-17.992zm-196.323 70.79c10.05 9.261 17.925 22.065 15.078 36.718-2.074 10.682-10.422 17.606-19.814 23.106s-20.775 9.866-32.512 13.914a1395.68 1395.68 0 0 1-12.238 4.154l301.387-7.672c7.772-.45 14.658-5.66 19.734-13.406 5.082-7.754 7.477-17.817 6.895-23.236-.583-5.419-4.857-14.677-10.973-21.48-6.116-6.805-13.547-10.824-19.025-10.618l-.198.008zm-39.785 2.787c-1.07 1.802-.466 8.714 1.303 12.939 3.72 8.887 6.028 8.437 8.232 8.447 8.877 2.102 17.347.269 25.85-1.025-2.053-4.123-5.283-8.704-10.283-12.113-4.12-2.809-20.675-15.634-25.102-8.248z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stable;

impl IconShape for Stable {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.1 62.18L24.41 117.3l-.11 30.6 314.1-56.18zM231 129.2l-30 5.4V295h30zM71 157.8l-30 5.4V295h30zM312.5 186c-8.6 6.1-7 24.1 3.5 40.1-21.6 7.5-45.6 17.2-67 25.6V295h16v90.9c41.3-20.8 74.4-52.7 106.8-89 4.6 22.8 33.9 25.9 51.1 28.7 0 0 .9 13.3 7 18.6 9.2 7.8 24.1 13.4 34.6 7.4 9.7-5.6 9.2-25.7 9.1-29.3-.2-7.5-7.3-13.1-13.9-16-18-35-57.4-90.7-90.8-93.1-4.6-.3-11.2.7-19 2.5-13.7-9.2-32.1-23.7-37.4-29.7zM183 272.5c-39.6 2.4-69.5 2.6-94 3V295h94zM25 313v46h222v-46H25zm0 64v46h222v-46zm0 64v46h222v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stack;

impl IconShape for Stack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18.365L50.14 136 256 253.635 461.86 136 256 18.365zm-154 168L50.14 216 256 333.635 461.86 216 410 186.365l-154 88-154-88zm0 80L50.14 296 256 413.635 461.86 296 410 266.365l-154 88-154-88zm0 80L50.14 376 256 493.635 461.86 376 410 346.365l-154 88-154-88z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stairs;

impl IconShape for Stairs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64 448v-64h64v-64h64v-64h64v-64h64v-64h64V64h64v384z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StairsCake;

impl IconShape for StairsCake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153 73v27.3c12-6.92 25.5-13.3 39-13.3 16 0 27.6 9.96 37.6 18 10 8 18.5 14 26.4 14 7.9 0 16.4-6 26.4-14 10-8.04 21.6-18 37.6-18 13.5 0 27 6.38 39 13.3V73H153zm39 32c-7.9 0-23.8 7-36.2 14.7-1 .6-1.9 1.2-2.8 1.7V183h206v-61.6c-.9-.5-1.8-1.1-2.8-1.7C343.8 112 327.9 105 320 105c-7.9 0-16.4 6-26.4 14S272 137 256 137s-27.6-10-37.6-18-18.5-14-26.4-14zM89 201v27.3c12-6.9 25.6-13.3 39-13.3 16 0 27.6 10 37.6 18s18.5 14 26.4 14c7.9 0 16.4-6 26.4-14s21.6-18 37.6-18 27.6 10 37.6 18 18.5 14 26.4 14c7.9 0 16.4-6 26.4-14s21.6-18 37.6-18c13.5 0 27 6.4 39 13.3V201H89zm39 32c-7.9 0-23.8 7-36.25 14.7-.95.6-1.84 1.1-2.75 1.7V311h38.3l.5-1.3.5 1.3h127.4l.3-.7.3.7h127.4l.5-1.3.5 1.3H423v-61.6c-.9-.5-1.8-1.1-2.8-1.7C407.8 240 391.9 233 384 233c-7.9 0-16.4 6-26.4 14S336 265 320 265s-27.6-10-37.6-18-18.5-14-26.4-14c-7.9 0-16.4 6-26.4 14S208 265 192 265s-27.6-10-37.6-18-18.5-14-26.4-14zm-87 96v6.7c.02.5.95 18.4 5.12 36.7 2.12 9.3 5.12 18.5 8.74 24.9 3.62 6.5 7.2 9.3 10.46 9.8 4.6.7 10.17-1.7 16.71-8 6.54-6.3 13.19-15.8 18.87-25.7 11.2-19.7 18.6-40.4 18.6-40.4l1.4-4H41zm94 0l1.4 3.8s7.3 19.5 18.6 38.6c5.6 9.6 12.2 19.1 18.9 25.7 6.7 6.6 13.1 9.9 18.1 9.9 5 0 11.4-3.3 18.1-9.9 6.7-6.6 13.3-16.1 18.9-25.7 11.3-19.1 18.6-38.6 18.6-38.6l1.4-3.8H135zm128 0l1.4 3.8s7.3 19.5 18.6 38.6c5.6 9.6 12.2 19.1 18.9 25.7 6.7 6.6 13.1 9.9 18.1 9.9 5 0 11.4-3.3 18.1-9.9 6.7-6.6 13.3-16.1 18.9-25.7 11.3-19.1 18.6-38.6 18.6-38.6l1.4-3.8H263zm128.1 0l1.4 4s7.4 20.7 18.6 40.4c5.7 9.9 12.3 19.4 18.9 25.7 6.5 6.3 12.1 8.7 16.7 8 3.2-.5 6.8-3.3 10.4-9.8 3.7-6.4 6.7-15.6 8.8-24.9 4.2-18.5 5.1-36.8 5.1-36.8V329h-79.9zM256 358.5c-3.1 6.7-6.8 14.2-11.5 22.1-6.1 10.4-13.3 20.9-21.8 29.3-8.5 8.4-18.7 15.1-30.7 15.1s-22.2-6.7-30.7-15.1c-8.5-8.4-15.7-18.9-21.8-29.3-4.6-7.7-8.2-15-11.3-21.6-3.2 7.1-7 15.1-11.7 23.3-6.1 10.8-13.4 21.5-22.02 29.8s-19.5 14.6-31.8 12.8c-9.7-1.4-16.7-8-21.68-15.8V487h430v-77.9c-4.9 7.8-11.9 14.4-21.7 15.8-12.3 1.8-23.2-4.5-31.8-12.8-8.6-8.3-15.9-19-22-29.8-4.7-8.2-8.5-16.2-11.7-23.3-3.1 6.6-6.7 13.9-11.3 21.6-6.1 10.4-13.3 20.9-21.8 29.3-8.5 8.4-18.7 15.1-30.7 15.1s-22.2-6.7-30.7-15.1c-8.5-8.4-15.7-18.9-21.8-29.3-4.7-7.9-8.4-15.4-11.5-22.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StairsGoal;

impl IconShape for StairsGoal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M439 32v165h18V32h-18zm-18 12.99L327.6 80l93.4 35V44.99zM165.9 103c-5 0-10.2 2.3-15.3 7-6.2 5.8-11.5 15.1-13.8 26.3-2.3 11.3-1 22 2.5 29.7 3.5 7.8 8.6 12.3 14.6 13.5 6 1.3 12.4-.9 18.7-6.6 6.1-5.8 11.5-15.1 13.8-26.4 2.2-11.3.9-22-2.5-29.7-3.5-7.8-8.6-12.2-14.6-13.5-1.1-.2-2.3-.3-3.4-.3zm-38.4 78.5c-3.4 1.2-6.9 2.5-10.7 4.1-24.85 15.7-42.2 31.2-59.84 55.7-11.19 15.5-11.74 42-12.58 61.5l20.8 9.2c.87-27.8.36-39.3 13.27-55.3 9.83-12.2 19.33-25 37.55-28.9 1.6 28.9-2.6 73.7-14 119.6 20.5 2.8 37.6-.7 57-6.3 50.7-25.3 74.1-3.8 109.3 45.7l20.5-32.1c-24.6-28.9-48.5-75.1-117.2-57.3 5-27.3 5.6-45.4 8.6-72.6.6-12 .8-23.9 1.1-35.7-8.9 6.8-19.9 10.4-31 8.1-9.5-2-17.3-7.9-22.8-15.7zm144.2 7.3c-18.2 17.8-22.2 31-50.2 38.4l-22.5-24c-.4 12.8-.8 25.9-1.9 39.2 9.5 8.7 19.2 15.7 22.7 14.6 31.3-9.4 40.3-20.3 61.4-41.9l-9.5-26.3zM409 215v96h-96v96h-96v78.1c102.3.2 167.8 1.1 270 1.8V215h-78zM140.7 363.9c-13.6 2.5-27.8 3.3-43.44.9-10.89 37.5-26.76 74.3-48.51 102.5l38.63 15.3c27.02-37.9 36.82-70.6 53.32-118.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StakeHammer;

impl IconShape for StakeHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.268 19.918c-10.28.078-20.632 4.474-20.96 13.115-.023 12.594 10.636 14.963 20.954 14.824 9.236.413 22.5-4.293 20.496-15.117.015-8.65-10.2-12.9-20.49-12.822zm206.502 6.58L345.46 45.34l-37.456 9.61 26.19 22.443 6.318 22.382 33.783-9.103 44.168 8.685 40.63-15.732-5.312-14.355 25.42-9.66-28.114-13.124-6.17-19.697-42.19 7.25L361.77 26.5zM193.752 35.81c1.195 21.554-22.075 29.942-38.3 30.045-16.423.105-39.028-7.878-39.15-29.91-6.35.916-13.206 1.983-20.894 3.235 4.393 4.827 8.22 10.667 11.422 17.105 8.723 17.536 13.724 40.668 13.68 66.14-.044 25.474-5.123 48.604-13.906 66.138-3.223 6.43-7.066 12.268-11.47 17.09 18.354 6.3 94.374 11.717 147.807-3.594 7.364-2.153 16.48-6.777 23.693-21.175 7.213-14.398 12.038-35.29 12.078-58.436.04-23.147-4.713-44.038-11.876-58.438-7.163-14.4-16.02-20.17-23.62-21.18-17.46-3.04-32.922-4.648-49.462-7.02zM67.79 43.57c-7.24 0-15.85 6.49-22.995 20.75-7.144 14.26-11.957 35.05-11.996 58.096-.04 23.045 4.7 43.84 11.796 58.102 7.094 14.26 15.683 20.75 22.922 20.752 7.238 0 15.852-6.487 22.996-20.747 7.143-14.258 11.956-35.05 11.996-58.096.015-8.744-.58-17.176-1.89-25.026-.472-2.84-20.153 12.424-20.153 12.424S97.97 84.32 97.34 82.04c-1.83-6.617-4.077-12.59-6.627-17.716C83.618 50.062 75.028 43.57 67.79 43.568zm380.507 62.68l-27.887 11.836-15.238-2.996.314 194.21 43.106-21.566-.295-181.484zm-73.365 2.895l-31.21 8.408.57 163.632 43.19 26.552-.316-196.185-12.234-2.407zM133.972 229.12l-.41 239.19c-.015 7.678 2.53 12.29 6.24 15.596 3.707 3.308 9.004 5.164 14.432 5.164 5.428 0 10.74-1.854 14.47-5.168 3.728-3.314 6.293-7.938 6.306-15.615l.408-239.074c-14.494 1.255-26.855 1.226-41.447-.092zm214.624 75.837l46.375 187.098-7.41-137.502-.04-25.668-38.924-23.928zm96.166 4.82l-39.242 19.63.04 25.116-10.525 137.56 49.727-182.306z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StakesFence;

impl IconShape for StakesFence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M334.7 21.05L300.2 154.7l30.5 12.5L363 155zM220.2 72.41L180.1 179.1l34.3 33.3 33.5-31zM55.57 101.6L47.9 224.4l36.52 23.7 25.38-38.7zm413.63 10.5l-41.8 65.8 19.8 34.5 27.3-7zm-171.4 61l-6.3 145 66.3-1.5 6.4-142.8-33.7 12.8zM177 201.2l-5 119.6 73.8-1.7 3.3-114.3-35.1 32.4zm244.3 2.2l-19.9 112.2 53.8-1.3 17.8-89.9-34.6 8.8zm-305.8 30.1l-25.87 39.4-41.04-26.7 10.08 77.2 71.93-1.6zm362.9 98.3L33.8 342l-3.78 44.2L482 384.1l-1.1-15.9-32.5-10.4s18.7-3.4 31.4-5.6zm-40.7 70.6l-51.7.2-3.2 18.1 51.6-1.6zm-83.7.3l-66.1.3-.9 20.9 66.2-2.2zm-110.5.5l-75 .3-1 24.3 75.4-2.5zm-98.9.4l-75.43.3 3.51 27 76.12-2.5zm345.3 31.6L22.07 450.5l.24 25.9 29 14.6 432.49-1.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stalactites;

impl IconShape for Stalactites {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v109.8l41.97 274L109.4 79.5l31.5 161.9 19.5-78 27.8 161.2 55.4-272.9 54 172.4 14.2-35.2 60.8 289.4 59.2-320.1 24.9 57.3c-2.9 6-7.1 14-5.4 21.1 1.1 4.8 4.7 11.2 9.6 11.1 4.7-.1 7.7-6.5 8.5-11.1 1.4-7.6-3.6-16.2-6.8-22.1l31.4-74.8V18zm170.1 329.2s-10.4 17.8-8.5 27c1 4.8 4.7 11.2 9.6 11.1 4.7-.1 7.8-6.5 8.5-11.1 1.5-9.4-9.6-27-9.6-27z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stamper;

impl IconShape for Stamper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.1 34.05c-17.9 0-35.6 4.64-48 12.91-12.4 8.28-19.7 19.1-19.7 35.1 0 6.15 4.6 32.04 12 61.34 7.3 29.2 17.1 63.6 26.8 92.7l4.9 14.7h-94.2c-16 0-33.3 8.2-46.35 21.3-10.06 10-17.27 22.7-20.06 35.2H440.6c-2.8-12.5-10-25.2-20.1-35.2-13-13.1-30.3-21.3-46.3-21.3H280l4.9-14.7c9.7-29.1 19.5-63.5 26.8-92.7 7.4-29.3 12-55.19 12-61.34 0-16-7.3-26.83-19.7-35.1-12.4-8.27-30.1-12.91-47.9-12.91zM89.87 329.6v36.7H422.2v-36.7zM41 432v46h430v-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarAltar;

impl IconShape for StarAltar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.61l-97.8 36.67L256 86.72l97.8-24.44L256 25.61zM136.1 75.3L105.9 407h300.2L375.9 75.3l-119.9 30-119.9-30zM256 128l30 72.7 78.3 6-59.8 51L323 334l-67-41.2-66.9 41.3 18.4-76.5-59.8-50.9 78.4-6L256 128zM70.09 425l-24.8 62H237.3l-49.6-62H70.09zm140.61 0l45.3 56.6 45.3-56.6h-90.6zm113.6 0l-49.6 62h192l-24.8-62H324.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarFlag;

impl IconShape for StarFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 37C171.8 37 87.37 48.66 41 69.77V306.1C93.09 284.8 174.3 275 256 275c81.7 0 162.9 9.8 215 31.1V69.77C424.6 48.66 340.2 37 256 37zm.1 13.1l35.3 69.2 76.7 12.2-54.9 55 12.2 76.7-69.3-35.2-69.2 35.2 12-76.7-54.8-55 76.7-12.2 35.3-69.2zm-97.9 133.1l3.6 17.6-80.03 16-3.54-17.6 79.97-16zm195.6 0l80 16-3.6 17.6-80-16 3.6-17.6zM73 314.3c-6.35 1.8-12.38 3.7-18 5.8V480h18V314.3zm366 0V480h18V320.1c-5.6-2.1-11.7-4-18-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarFormation;

impl IconShape for StarFormation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M143.627 36.361c-2.18 0-16.495 38.303-18.258 39.584-1.763 1.281-42.615 3.06-43.289 5.133-.673 2.073 31.33 27.523 32.004 29.596.674 2.073-10.26 41.475-8.496 42.756 1.763 1.28 35.86-21.291 38.039-21.291 2.18 0 36.276 22.572 38.039 21.29 1.763-1.28-9.17-40.682-8.496-42.755.673-2.073 32.677-27.523 32.004-29.596-.674-2.073-41.526-3.852-43.29-5.133-1.763-1.28-16.077-39.584-18.257-39.584zm224.746 0c-2.18 0-16.494 38.303-18.258 39.584-1.763 1.281-42.615 3.06-43.289 5.133-.673 2.073 31.33 27.523 32.004 29.596.674 2.073-10.26 41.475-8.496 42.756 1.763 1.28 35.86-21.291 38.039-21.291 2.18 0 36.276 22.572 38.04 21.29 1.762-1.28-9.17-40.682-8.497-42.755.674-2.073 32.677-27.523 32.004-29.596-.674-2.073-41.526-3.852-43.29-5.133-1.762-1.28-16.077-39.584-18.257-39.584zM256 39.883c-7.12 0-53.884 125.123-59.645 129.308-5.76 4.185-139.211 9.996-141.412 16.768-2.2 6.772 102.349 89.912 104.55 96.684 2.2 6.771-33.513 135.486-27.753 139.671C137.5 426.5 248.88 352.76 256 352.76c7.12 0 118.5 73.74 124.26 69.554 5.76-4.185-29.952-132.9-27.752-139.671 2.2-6.772 106.749-89.912 104.549-96.684-2.2-6.772-135.652-12.583-141.412-16.768-5.76-4.185-52.525-129.308-59.645-129.308zM77.973 243.102c-2.18 0-16.495 38.302-18.258 39.584-1.763 1.28-42.616 3.06-43.29 5.132-.673 2.073 31.333 27.523 32.007 29.596.673 2.073-10.26 41.475-8.496 42.756 1.763 1.281 35.857-21.291 38.037-21.291 2.18 0 36.275 22.572 38.039 21.29 1.763-1.28-9.17-40.682-8.496-42.755.673-2.073 32.679-27.523 32.005-29.596-.673-2.073-41.525-3.851-43.289-5.132-1.763-1.282-16.08-39.584-18.26-39.584zm356.054 0c-2.18 0-16.496 38.302-18.26 39.584-1.763 1.28-42.615 3.06-43.288 5.132-.674 2.073 31.332 27.523 32.005 29.596.674 2.073-10.26 41.475-8.496 42.756 1.764 1.281 35.86-21.291 38.04-21.291 2.179 0 36.273 22.572 38.036 21.29 1.764-1.28-9.17-40.682-8.496-42.755.674-2.073 32.68-27.523 32.006-29.596-.673-2.073-41.526-3.851-43.289-5.132-1.763-1.282-16.078-39.584-18.258-39.584zM256 369.932c-2.18 0-16.494 38.302-18.258 39.584-1.763 1.28-42.615 3.06-43.289 5.132-.673 2.073 31.33 27.525 32.004 29.598.674 2.073-10.26 41.475-8.496 42.756 1.763 1.281 35.86-21.293 38.039-21.293 2.18 0 36.276 22.574 38.04 21.293 1.762-1.281-9.17-40.683-8.497-42.756.673-2.073 32.677-27.525 32.004-29.598-.674-2.072-41.526-3.851-43.29-5.132-1.763-1.282-16.077-39.584-18.257-39.584z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarGate;

impl IconShape for StarGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.563 25l23 46h20.875l23-46h-66.875zm-9.584 21.084a181.717 181.717 0 0 0-38.395 13.951l7.213 30.192a151.903 151.903 0 0 1 45.039-16.43l-13.857-27.713zm86.04 0l-13.855 27.713a151.903 151.903 0 0 1 45.043 16.432l7.211-30.192a181.716 181.716 0 0 0-38.398-13.953zm59.293 3.965l-11.95 50.021 15.992 13.418 47.187-20.455-51.228-42.984zm-204.61.035L102.47 93.07l47.187 20.453 15.992-13.418-11.949-50.021zm135.573 51.71l-52.263 84.911-77.059-44.828 44.723 81.209-65.537 28.932 69.595 8.767-46.107 49.54 83.685-23.093 40.836 44.71 3.768-57.436 53.227 17.664-25.758-40.068 63.472-12.266-74.347-27.846 48.672-50.334-64.664 15.7-2.243-75.561zm114.047 13.554l-28.504 12.355a153.013 153.013 0 0 1 24.034 41.498l24.91-18.474a182.596 182.596 0 0 0-20.44-35.38zm-294.66.023a182.593 182.593 0 0 0-20.432 35.371l24.91 18.477a153.012 153.012 0 0 1 24.024-41.492l-28.502-12.356zm337.54 41.123l-41.307 30.639 3.625 20.556 49.293 14.665-11.612-65.86zm-380.358.053l-11.612 65.86 49.295-14.663 3.625-20.558-41.308-30.64zm343.123 70.057c-.277 16.504-3.174 32.38-8.299 47.226l30.937 1.858a182.796 182.796 0 0 0 7.03-40.26l-29.668-8.824zm-305.932.068l-29.666 8.822a182.79 182.79 0 0 0 7.041 40.244l30.94-1.857c-5.129-14.84-8.03-30.71-8.315-47.21zm290.735 64.777l-10.438 18.078 28.336 42.918 33.437-57.916-51.335-3.08zm-275.456.047l-51.337 3.082 33.437 57.916 28.338-42.92-10.438-18.078zm253.178 32.77a154.22 154.22 0 0 1-27 24.488l14.692 26.445a183.642 183.642 0 0 0 29.425-25.01l-17.117-25.923zm-230.92.074l-17.115 25.922a183.623 183.623 0 0 0 29.357 24.94l14.692-26.446a154.223 154.223 0 0 1-26.934-24.416zM181.295 361l-70 126h26.855l56-126h-12.855zm32.555 0l-56 126h196.3l-56-126h-84.3zm104 0l56 126h26.855l-70-126H317.85z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarKey;

impl IconShape for StarKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.4 40.33l-93 60.37L64.03 58.34 92.67 165.4l-71.89 84.3 110.62 5.8 58.1 94.5 32.4-84.6 208.7 206.8 25.4-25.4-.1-.1 32.6-32.5-25.4-25.4-32.6 32.5-18.4-18.4 21.2-21.2-25.4-25.4-21.2 21.2-17-17 55.1-55.2-25.4-25.4-55.1 55.2-95.2-93.4 87.8-21.1-86.1-69.8 8.6-110.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarMedal;

impl IconShape for StarMedal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 27.7v46h430v-46zm32 64v112.5l62 20.7V91.7zm80 0v139.2l79.3 26.4c-10.4 7.5-17.3 19.7-17.3 33.4 0 21 16.1 38.5 36.5 40.7l-22.3 43.7-58.2 9.3 41.6 41.7-9.1 58.2 52.5-26.7 52.5 26.7-9.1-58.2 41.6-41.7-58.2-9.3-22.3-43.7c20.4-2.2 36.5-19.7 36.5-40.7 0-13.7-6.9-25.9-17.3-33.4l79.3-26.4V91.7h-94v159c-2.9-.6-5.9-1-9-1-3.1 0-6.1.4-9 1v-159zm224 0v133.2l62-20.7V91.7zm-121 176c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarStruck;

impl IconShape for StarStruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.1 19.16c-48.8 0-93.2 25.72-125.9 68.45C97.47 130.3 76.87 189.9 76.87 256c0 66 20.6 125.6 53.33 168.4 32.7 42.7 77.1 68.4 125.9 68.4 48.7 0 93.1-25.7 125.8-68.4 32.7-42.8 53.2-102.4 53.2-168.4 0-66.1-20.5-125.7-53.2-168.39-32.8-42.73-77.1-68.45-125.8-68.45zM149.6 162.2l36 42.7L240 192l-29.5 47.4 29.1 47.7-54.3-13.4-36.3 42.4-4.1-55.7-51.51-21.5 51.71-21 4.5-55.7zm212.7 0l4.5 55.7 51.8 21-51.6 21.5-4 55.7-36.4-42.4-54.2 13.4 29.1-47.7L272 192l54.3 12.9 36-42.7zm-104.8 187c34.5 0 69 7.5 99.3 22.5l6.5 3.2-1.5 7.1s-3.8 17.9-18.8 35.1c-15 17.2-42 34.1-85.5 34.1s-70.4-16.9-85.4-34.1C157 399.9 153.3 382 153.3 382l-1.5-7.1 6.5-3.2c2.8-1.4 5.6-2.6 8.5-3.9v-.4h.8c27.9-12.1 58.9-18.2 89.9-18.2zM185 403.4c.3.5.7 1 1.1 1.4 12 13.7 32.6 27.7 71.4 27.7 38.9 0 59.5-14 71.4-27.7.4-.4.7-.9 1.2-1.4H185z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Starfighter;

impl IconShape for Starfighter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.627 28.995C148.28 58.81 115.299 96.145 87.199 133.61 54.425 177.31 29.385 221.68 25.59 249.331l105.706 26.426c2.423-83.416 27.743-164.682 45.332-246.762zm158.746 0c19.444 82.462 39.362 163.183 45.332 246.762L486.41 249.33c-3.795-27.652-28.835-72.022-61.61-115.72-28.099-37.466-61.08-74.8-89.427-104.616zM55 80.21v67.19a858.533 858.533 0 0 1 17.8-24.59l.2-.262V80.21zm384 0v42.338l.2.262A858.535 858.535 0 0 1 457 147.4V80.21zm-192 32v52.648c5.93-4.323 12.122-3.717 18 0V112.21zm9 68.65c-9.092 6.936-16.603 16.958-22.553 25.674-4.776 7.036-9.08 14.404-12.068 20.695-2.887 6.078-4.215 11.405-4.307 12.674l14.553 87.307h48.75l14.553-87.307c-.092-1.27-1.42-6.596-4.307-12.674-2.989-6.291-7.292-13.66-12.068-20.695-7.091-9.554-13.257-18.898-22.553-25.674zm-10 31.35h20l14 36h-48zm-94.043 26.912l-13.855 193.973L180.09 412.1l-14.213-63.96 45.889-30.591-8.15-48.91zm208.086 0l-51.656 29.518-8.153 48.91 45.89 30.592-14.214 63.959 41.988 20.994zM39.057 271.251c19.713 24.978 40.743 50.236 58.359 75.86 9.945 14.464 18.821 29.098 25.643 43.954l6.935-97.08zm433.886 0l-90.937 22.734 6.935 97.08c6.822-14.856 15.698-29.49 25.643-43.955 17.616-25.623 38.646-50.88 58.36-75.859zm-257.933 65.77l-28.887 19.257 18.43 82.932H231v-48h16v-46h-30.625zm81.98 0l-1.365 8.189H265v46h16v48h26.447l18.43-82.932zM208.553 457.21l5.732 25.795L231 474.647V457.21zm72.447 0v17.437l16.715 8.358 5.732-25.795z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarsStack;

impl IconShape for StarsStack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.65 38.984l-49.697 100.702-111.13 16.146 80.413 78.385-18.982 110.68 99.396-52.256 99.397 52.256-18.983-110.68 80.413-78.384-111.127-16.146-49.7-100.702zM112 308.826l-26.674 54.05-59.646 8.665 43.16 42.073-10.188 59.403L112 444.97l53.348 28.046-10.188-59.403 43.16-42.072-59.646-8.665L112 308.825zm288 0l-26.674 54.05-59.646 8.665 43.16 42.073-10.188 59.403L400 444.97l53.348 28.046-10.188-59.403 43.16-42.072-59.646-8.665L400 308.825z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Steak;

impl IconShape for Steak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.818 43.27c-.957.003-1.917.014-2.88.035-46.15.993-96.56 23.687-128.614 54.82-41.965 40.758-91.926 108.163-118.896 173.047-13.486 32.442-21.17 64.22-19.93 91.305 1.24 27.085 10.723 49.188 32.54 65.546 15.71 11.78 28.638 10.986 44.814 2.72 16.175-8.268 34.067-25.324 52.433-45.405 36.732-40.162 74.766-92.452 121.008-107.932 61.794-20.685 98.278-34.43 120.926-46.785 22.646-12.353 31.392-22.466 40.74-39.08 7.302-12.974 8.365-26.067 5.03-39.882-3.334-13.814-11.388-28.167-22.45-41.62-22.127-26.903-56.253-49.946-83.706-60.003-12.75-4.67-26.652-6.79-41.016-6.764zm3.418 24.26c21.21-.103 42.145 4.338 58.493 16.677 47.554 35.895 86.454 58.96 54.377 111.88-32.076 52.923-177.004 58.17-217.56 20.06-1.663-10.596-12.613-91.45 10.176-121.653 12.52-10.007 54.02-26.77 94.513-26.965zm-119.87 43.66c-1.058 1.99-7.086 83.113-10.403 98.937-19.397 9.728-71.78 21.074-73.92 6.977 3.618-16.654 37.1-71.993 84.324-105.915zm278.095 26.248c1.196 3.294 2.213 6.627 3.026 9.996 4.2 17.4 2.736 35.916-6.84 52.933-10.34 18.374-23.007 32.528-47.808 46.057-24.8 13.53-61.8 27.285-123.832 48.05-36.878 12.346-75.83 61.892-113.438 103.012-18.804 20.56-37.417 39.008-57.525 49.285-5.895 3.014-12.05 5.204-18.322 6.418 3.03 1.73 6.143 3.338 9.165 4.728 8.116 3.734 16.547 5.668 17.197 5.686 14.037-.65 29.08-8.326 44.816-21.024 15.82-12.764 32.063-30.284 48.493-48.676 32.86-36.784 65.744-77.523 104.444-90.478 61.817-20.694 98.67-34.278 121.465-46.543 22.794-12.264 31.4-22.235 40.044-39.028 9.733-18.912 10.244-32.256 4.506-46.28-4.33-10.583-12.968-21.73-25.39-34.135zm-314.546 95.466c33.96-.19 69.09 16.75 104.688 36.092-71.258 37.318-141.89 180.326-187.133 133.99-18.206-20.105-19.433-119.77 30.147-153.564 17.043-11.616 34.51-16.418 52.297-16.518zm-36.463 73.213c-5.436.103-10.92 1.77-14.74 4.787-12.34 9.753-21.72 34.145-11.206 45.844 10.057 11.19 35.46 5.816 44.728-6.012 8.262-10.544 5.69-31.088-4.32-40.02-3.632-3.24-9.023-4.7-14.46-4.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StealthBomber;

impl IconShape for StealthBomber {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32L20 400l60 64 52.1-75.9L176 432l50.5-50.5L256 448l29.5-66.5L336 432l43.9-43.9L432 464l60-64L256 32zm-9 47v78l-39-13 39-65zm18 0l39 65-39 13V79z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Steam;

impl IconShape for Steam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.15 23.207c-80.605-.39-127.583 43.189-129.207 77.09 33.444-3.521 82.187-2.553 87.068 38.68-23.032-21.249-54.896-21.775-84.396-17.952-130.23 16.878-73.97 200.73 30.488 163.58 8.433 18.916 15.168 69.646 53.36 72.938 37 3.19 36.031 26.349 41.771 70.064 4.752 36.193 60.779 56.268 87.462 61.189 0 0-46.53-79.949-12.347-115.482 88.652-121.077-27.22-185.252-97.254-165.072-47.65 13.73-35.887 42.675-4.389 73.926-45.518-16.55-49.993-37.885-48.692-59.605 2.103-35.092 68.267-61.61 111.12-52.377 108.005 23.27 133.107 102.151 63.987 199.353 70.597 27.995 161.623-6.968 162.912-64.653.804-35.98-21.452-65.04-51.446-74.652-27.22-7.232-38.96 5.289-48.2 23.711-2.666-20.154 17.639-54.573 43.47-37.295C443.959 106.856 404.186 24.068 226.15 23.207z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteamBlast;

impl IconShape for SteamBlast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.58 17.8L216.7 252.2 48.34 98.32 202 273.6c34.3 41 88.4 34.7 114.6 74-25.5-16.6-80-3.6-44.7 21.1-28.5 4.6-22.8 33.6-5.4 42.9 7.9-14.5 25.5-18.8 44.2-18.3-18.7 3.8-36.2 19.6-35.2 39.6 1.1 18.9 29.5 33.4 55.2 19.4 8 19.6 25 33.2 42 39.5 16 5.9 38.3 4.3 56.9-3.2-2.8-11.7 5.7-22.4 19.7-27.2-7.9 10.2-10.9 18.8-10.1 26.9 1.4 1.6 3.1 3 4.9 4.1 13.5 8.2 33.1.6 43.7-16.9 10-16.5 8.5-36.1-3.3-45.2 23.3-56.9 8.7-130.5-44-128.6 4.5-16 2.8-30.5-7.9-39.8-18.5-16.1-54.1-16.1-66.7 7.8-13.4-10.5-33-6.8-42.8 3.7-10.5 16.8-5.8 32.1 7.2 44.1-15.6-8.4-44.4-52.5-44.4-71.1 11 8.7 24.9 10.2 34.1 2.9 11.1-8.9 10.8-27.6-.6-41.7-3.4-4.2-7.6-7.7-12.1-10.1.5-4.3-.2-8.9-2-13.2-5.9-9.7-15.7-20.3-25.4-14.4-12.6 7.6-12 23.1-5.4 33-3.5 5.4-4.6 12.2-3.4 19.2-7.3-10.7-11.3-15.7-24.4-29.5L109.4 48.67 210.3 186.9zm217.52 92.4c-2.9.1-5.3 1.4-6.8 3.7-4 6.3-.4 18.5 7.9 27.2 8.4 8.7 18.4 10.6 22.4 4.3 4.1-6.3.6-18.5-7.8-27.2-5-5.2-10.8-8.2-15.7-8zm138.8 173.7c7 13.7 18.5 23.8 38.8 28.9-23.6-2.3-34.5-5.6-54.8 2 12.5-9.2 17.5-17.3 16-30.9zm-217.8 25.5c-15.5 1.4-20.3 16.2-10.9 32.9 9.4 16.6 29.6 28.9 45 27.5 8.5-.8 14.2-5.7 15.5-13.4 4.1 1.9 8.1 2.8 11.6 2.5 9.1-.9 12-9.5 6.5-19.3s-17.4-17.1-26.5-16.3c-2 .2-3.8.8-5.3 1.8-10.7-8.3-23.5-16.9-35.9-15.7zm289.2 20.2c-5.6 26.4 3.9 46.2 24.1 53.8-30.1 4.1-44-31-24.1-53.8zm-41.5 12.3c-22.7 8.9-23.7 37.3-5.3 48.4-16.1.1-24.3-10.5-24.8-21.7-15.1-7.7-38-4.8-47.2 10.1-.9-23.8 32.2-30.2 48.2-19.3 8-12.6 16.9-18.4 29.1-17.5zm-60.7 59.7c-2.5 19.6 5.5 33.5 20.7 37.8-12.5 2.7-17.7-.1-24.6-9.6-7.4 8.7-16.1 9-27.3 3.9 24.2-2 21.3-18.2 31.2-32.1zm88.5 2.4c6.2 18.7 19.4 27.7 35 25-8.3 6.5-17.6 6.1-24.6 1.5-5.2 30-43.7 36.1-63.6 10.7 26.2 10.9 48.8 6 61.9-11.9-6.7-5.4-10.7-14.8-8.7-25.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteamLocomotive;

impl IconShape for SteamLocomotive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v31.758C38.244 53.855 59.076 55.953 80 56a317.745 317.745 0 0 0 50.658-4.27C143.375 100.622 200.964 135.96 268 136c15.1-.044 30.093-1.903 44.395-5.504 3.702 25.632 27.322 44.78 55.275 44.813.475-.01.95-.027 1.424-.048 4.215 14.473 20.33 24.72 38.906 24.738 22.09 0 40-14.327 40-32-.022-13.555-10.718-25.63-26.697-30.137a48.067 48.067 0 0 0 2.203-14.21c-.02-19.245-11.602-36.886-30.057-45.772C402.962 63.617 407.94 47.92 408 32c-.033-7.4-1.128-6.774-3.268-14zm-2 205v18h23v48H25v94h142v-94h-14v-48h23v-18zm360 0v18h17v46h46v-46h17v-18zM57 241h14v48H57zm32 0h46v48H89zm231 20c-7.25 0-14.577 1.013-19.154 2.54-2.077.69-3.287 1.444-3.846 1.855V287h46v-21.605c-.56-.41-1.77-1.164-3.846-1.856C334.577 262.012 327.25 261 320 261zm-135 44v30h247v18H185v30h279c36 0 36-78 0-78zM25 401v37.22L75.67 401zm416 0v78h53.906c-4.965-9.187-9.113-19.953-12.734-31.557-4.94-15.833-8.498-32.39-10.227-46.443zm-289 1.49c-10.72 0-20.57 3.55-28.455 9.533L164.325 463h32.714a47.358 47.358 0 0 0 1.96-13.51c0-26.064-20.936-47-47-47zm112 0c-8.46 0-16.374 2.217-23.213 6.088L284.327 463h24.712a47.358 47.358 0 0 0 1.96-13.51c0-26.064-20.936-47-47-47zm112 0c-8.46 0-16.374 2.217-23.213 6.088L396.327 463c1.68 2.254 1.69 1.93 1.673 4.2V481h-56.945c8.586 9.524 21.034 15.49 34.945 15.49 26.064 0 47-20.936 47-47s-20.936-47-47-47zm-278.994 5.174L43.456 447H87.06c.512-13.423 5.137-25.816 12.633-35.975zm130.105 12.633C220.78 428.302 217 438.43 217 449.49c0 4.703.69 9.234 1.96 13.51h42.313zm112 0C332.78 428.302 329 438.43 329 449.49c0 4.703.69 9.234 1.96 13.51h42.313zm-227.684 5.392c-4.08 6.97-6.426 15.096-6.426 23.8 0 26.064 20.936 47 47 47 13.91 0 26.36-5.966 34.945-15.49h-31.27zM25.023 465c.522 16.756 14.085 30 30.977 30s30.455-13.244 30.977-30zm204.032 16c8.586 9.524 21.034 15.49 34.945 15.49 13.91 0 26.36-5.966 34.945-15.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteampunkGoggles;

impl IconShape for SteampunkGoggles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.342 120.424c-39.044-.035-81.332 6.312-136.06 17.752 2.786 11.553 6.997 23.69 11.796 35.318 109.813-26.153 176.85-16.624 239.863 9.426 4.03-13.23 10.572-25.413 18.648-35.72-49.595-18.4-89.864-26.737-134.246-26.776zm186.87 14.11c-6.61-.015-12.398.99-16.982 3.376-.79.68-1.384 1.442-1.734 2.2 18.56 4.702 36.184 9.745 51.613 15.628 5.153-4.313 10.78-8.04 16.833-11.027-17.658-5.47-35.56-10.142-49.732-10.175zm-341.454 5.063c-.89 19.648-5.877 24.76-1.288 59.096 3.89 29.1 15.095 72.413 61.754 109.08-3.517-14.455-5.16-28.265-4.587-43.724-12.806-14.01-25.166-33.834-43.268-85.906-5.63-13.404-8.834-26.383-12.612-38.547zm419.545 14.81c-14.962.188-29.31 7.998-40.727 19.942-13.532 14.156-23.72 34.396-28.234 57.824-4.516 23.427-2.557 45.88 4.785 63.843 5.976 14.622 15.925 26.615 29.078 32.332h.002c4.374 1.97 7.517 3.288 12 3.265 17.044 2.097 33.69-6.112 46.593-19.61 13.533-14.158 23.717-34.396 28.233-57.824 4.515-23.426 2.56-45.88-4.78-63.842-7.343-17.963-20.684-31.962-38.59-35.227a43.482 43.482 0 0 0-8.36-.702zm-113.092.222c-10.18 11.86-18.49 27.615-21.48 44.08 23.602 11.794 41.428 32.958 47.72 54.432.148-8.285.985-16.61 2.5-24.8 3.964-21.45 12.488-42.035 25.476-58.436-15.95-5.543-34.613-10.52-54.215-15.277zm114.053 17.745a25.86 25.86 0 0 1 3.993.41c10.53 1.92 19.517 10.35 25.285 24.46 5.768 14.112 7.704 33.376 3.786 53.706-3.918 20.33-12.897 37.605-23.527 48.726-10.632 11.12-22.15 15.812-32.68 13.892-10.53-1.92-19.517-10.352-25.284-24.463-5.768-14.11-7.702-33.373-3.783-53.703 3.918-20.33 12.894-37.604 23.525-48.725 9.302-9.73 19.28-14.54 28.685-14.302zm-254.61 22.328c-12.71.12-23.37 1.835-31.446 5.224-27.724 11.638-46.134 28.764-55.694 47.918 33.88 11.845 50.606 20.93 105.842 23.778 9.12-26.446 27.087-50.78 55.36-65.742-28.42-7.515-53.842-11.37-74.063-11.177zm272.198 6.406c-10.734 55.258-26.578 72.102-46.178 94.99 17.267 1.758 33.788-9.264 41.44-38.276 4.17-15.812 5.536-19.187 4.74-56.715zm-170.577 12.913l-.066.022c-15.41-.246-30.24 7.657-41.977 19.933-13.532 14.157-23.72 34.395-28.234 57.823-4.515 23.428-2.557 45.882 4.785 63.844 2.92 7.144 6.79 13.658 11.517 19.12 5.406 6.65 11.756 11.463 18.757 14.042 2.697.853 5.81 1.6 8.315 2.065 17.906 3.266 35.553-5.08 49.085-19.237 13.532-14.157 23.717-34.397 28.232-57.825.216-1.492.55-2.617.717-4.068 3.55-21.95 1.418-42.855-5.498-59.775-5.793-14.175-15.324-25.876-27.885-31.788-.753-.37-1.52-.728-2.305-1.068v.062a43.235 43.235 0 0 0-8.4-2.434 43.435 43.435 0 0 0-6.975-.693 8.534 8.534 0 0 1-.067-.022zm-.355 17.98a25.85 25.85 0 0 1 3.992.41c10.53 1.92 19.518 10.353 25.285 24.464 5.768 14.11 7.703 33.373 3.785 53.703-3.918 20.33-12.896 37.604-23.527 48.724-10.63 11.12-22.147 15.813-32.678 13.893-10.53-1.92-19.517-10.35-25.285-24.46-5.767-14.112-7.7-33.376-3.783-53.706 3.918-20.33 12.895-37.603 23.525-48.724 9.302-9.73 19.282-14.54 28.686-14.304zm21.47 32.497c-10.736 55.26-26.58 72.102-46.18 94.99 17.268 1.76 33.787-9.263 41.438-38.275 4.17-15.812 5.537-19.187 4.74-56.715zm-214.96.62c-.603 14.054.94 26.203 4.392 39.542l.516-.246c24.38 16.45 71.385 32.672 100.367 32.224-1.63-10.355-2.06-21.19-1.193-32.12a134.61 134.61 0 0 1 2.087-15.135c-53.818-3.222-74.207-13.057-106.168-24.264zm264.29 28.05c-.09 9.523-1.072 18.374-2.595 25.904a179.038 179.038 0 0 0 19.27 6.586c-6.608-8.252-11.652-17.756-15.186-27.88-.53-1.522-1.022-3.06-1.488-4.61zm-246.27 40.3c4.936 5.788 10.722 11.266 17.384 16.3 29.055 21.964 58.6 30.283 89.398 34.95-4.006-5.177-7.465-10.95-10.33-17.138-1.89-4.08-3.525-8.36-4.93-12.783-32.872-.606-63.45-8.824-91.523-21.33z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteeringWheel;

impl IconShape for SteeringWheel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25C128.3 25 25 128.3 25 256s103.3 231 231 231 231-103.3 231-231S383.7 25 256 25zm0 30c110.9 0 201 90.1 201 201s-90.1 201-201 201S55 366.9 55 256 145.1 55 256 55zM80.52 203.9c-4.71 19.2-7.52 37-7.52 54 144.7 30.3 121.5 62.4 148 177.8 11.4 2.1 23 3.3 35 3.3s23.6-1.2 35-3.3c26.5-115.4 3.3-147.5 148-177.8-.6-18.9-3-38.4-7.5-54C346.7 182.7 301.1 172 256 172c-45.1 0-90.7 10.7-175.48 31.9zM256 183c40.2 0 73 32.8 73 73s-32.8 73-73 73-73-32.8-73-73 32.8-73 73-73zm0 18c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StegosaurusScales;

impl IconShape for StegosaurusScales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M181.871 77.576c-.672.802-1.21 1.352-2.09 2.604-2.958 4.21-6.754 10.665-10.885 18.49-8.26 15.65-17.977 36.874-27.13 58.682-9.153 21.807-17.77 44.245-23.926 62.4-3.079 9.077-5.542 17.097-7.135 23.3-1.593 6.205-2.044 11.25-2.049 11.192.537 6.396 8.554 21.199 21.145 34.817 11.975 12.952 27.628 25.389 42.447 33.199l23.129-3.598c-7.969-35.558-13.113-76.542-11.23-129.973l17.988.635c-1.852 52.556 3.213 91.985 11.064 126.567l16.707-2.6c13.433-12.352 26.845-29.567 36.531-46.15 10.11-17.306 15.577-34.665 15.04-41.06.004.058-1.226-4.563-3.786-10.073-2.56-5.51-6.277-12.541-10.77-20.418-8.984-15.754-21.083-34.944-33.597-53.35-12.514-18.406-25.483-36.074-36.068-48.717-5.293-6.32-10.031-11.4-13.502-14.496-.846-.754-1.23-.954-1.883-1.45zm226.416 24.496c-.709.48-1.167.712-2.103 1.46-3.604 2.875-8.538 7.56-14.09 13.388-11.104 11.656-24.832 27.933-38.164 44.89-13.332 16.958-26.309 34.638-36.037 49.15-4.865 7.257-8.921 13.735-11.752 18.804-2.832 5.068-4.31 9.436-4.254 9.084-.848 5.417 3.227 21.195 11.91 37.011 8.28 15.082 20.114 30.763 32.23 42.032l23.41 3.5c13.424-36.418 19.391-73.044 23.348-110.16l17.899 1.908c-3.903 36.613-9.81 73.686-23.086 110.965l13.937 2.084c15.039-7.223 31.153-18.751 43.688-30.747 13.135-12.57 21.87-26.48 22.718-31.898-.055.352-.13-4.23-1.28-9.889-1.152-5.659-3.043-13.022-5.466-21.365-4.845-16.687-11.822-37.348-19.36-57.422-7.536-20.074-15.661-39.613-22.69-53.972-3.515-7.18-6.788-13.086-9.34-16.872-.65-.963-1-1.296-1.518-1.95zm-90.86 17.764c-.785.49-1.474.877-2.626 1.766-3.474 2.677-8.191 6.984-13.483 12.324-8.892 8.972-19.506 20.893-30.14 33.613 4.112 6.675 7.95 13.12 11.38 19.135 4.656 8.163 8.565 15.524 11.458 21.75.609 1.311 1.158 2.51 1.685 3.691a397.403 397.403 0 0 1 7.24-11.176c9.81-14.634 22.551-32.008 35.74-48.847-3.304-5.966-6.52-11.492-9.523-16.293-3.788-6.058-7.275-11.007-9.922-14.115-.79-.93-1.233-1.29-1.808-1.848zM98.02 142.527c-.621.688-1.175 1.247-2.04 2.416-2.607 3.527-5.962 8.964-9.587 15.55-7.252 13.17-15.707 31.01-23.594 49.286-.402.932-.796 1.868-1.195 2.801 10.136 8.842 19.668 17.615 27.615 25.492a362.473 362.473 0 0 1 3.334 3.358c.235-.938.455-1.833.717-2.854 1.772-6.903 4.351-15.247 7.525-24.605 5.314-15.67 12.305-34.149 19.894-52.748a309.253 309.253 0 0 0-7.01-6.56c-5.302-4.788-10.014-8.59-13.411-10.854-1.017-.678-1.542-.902-2.248-1.282zM494 170.412c-.884.787-1.76 1.56-2.682 2.404-6.875 6.303-14.765 14.163-22.943 22.752 3.836 11.22 7.302 22.04 10.107 31.702 2.513 8.652 4.51 16.373 5.817 22.796.186.913.338 1.716.506 2.559A682.82 682.82 0 0 1 494 241.338v-70.926zM18 199.92v166.316l36.988-12.818c11.891-13.131 23.013-30.293 30.432-46.047 7.7-16.349 10.3-32.06 9.334-35.557.303 1.098-1.423-2.587-4.686-6.51-3.263-3.921-7.94-8.914-13.521-14.447-11.163-11.064-25.966-24.347-41.072-36.888A702.926 702.926 0 0 0 18 199.919zm270.46 64.518a244.554 244.554 0 0 1-6.48 11.783c-11.01 18.85-25.92 38.105-41.882 52.258l-1.977 1.751-69.021 10.737-2.56-1.272c-18.135-9.003-35.976-23.295-49.956-38.416a209.648 209.648 0 0 1-6.355-7.191c-2.09 6.65-5.074 13.628-8.524 20.953-8.495 18.04-20.846 37.169-34.879 52.217l-1.523 1.635L18 385.285v19.785c2.504-3.326 5.526-6.269 8.799-8.945 10.43-8.529 23.42-14.491 35.049-16.072 1.91-.26 3.88-.402 5.888-.432.67-.01 1.344-.007 2.022.008 8.135.184 16.796 2.167 24.687 5.736 5.261 2.38 10.2 5.507 14.03 10.072 3.83 4.566 6.336 11.115 5.375 17.86-1.498 10.508-8.344 18.764-16.65 24.67-8.308 5.905-18.41 9.853-28.823 11.945-10.413 2.092-21.137 2.343-30.889-.064-7.36-1.818-14.47-5.41-19.488-11.21V494h405.324a31.457 31.457 0 0 1-2.744-5.867c-2.913-8.395-1.009-17.234 3.168-24.057 4.177-6.823 10.36-12.284 17.357-16.82 12.244-7.938 26.94-13.229 40.438-13.81.964-.042 1.922-.06 2.873-.053.95.007 1.894.04 2.828.097 2.242.138 4.5.456 6.756.924V359.82c-7.374-8.025-13.992-16.745-19.43-25.394-6.366-10.128-11.519-19.807-13.623-29.182a255.486 255.486 0 0 1-3.279 3.201c-14.522 13.898-32.741 27.021-50.861 35.264l-2.424 1.103-66.567-9.949-2.002-1.785c-14.79-13.176-28.176-31.035-37.794-48.557-3.779-6.882-7.073-13.59-9.56-20.084zM494 270.074l-.162.21c-4.852 6.32-8.894 11.96-11.692 16.333-2.797 4.374-4.198 8.332-4.011 7.287-.636 3.552 3.075 17.264 11.674 30.942a142.325 142.325 0 0 0 4.191 6.27v-61.042zM288.447 359.09c8.239-.032 16.404.7 23.961 1.996 9.606 1.647 21.93 4.745 32.094 9.38 5.082 2.318 9.684 4.853 13.404 9.007 1.86 2.076 3.56 4.731 4.233 8.097.672 3.367-.015 7.225-1.659 10.201-4.99 9.036-14.287 13.709-24.656 16.834-10.368 3.126-22.422 4.55-34.808 4.682-24.774.263-50.4-3.764-66.05-15.494-3.188-2.39-5.533-6.162-6.193-9.902-.66-3.74.07-7.16 1.252-10.043 2.366-5.768 6.493-10.085 11.48-13.248 11.998-7.61 27.698-10.966 43.41-11.45 1.177-.036 2.355-.056 3.532-.06zm2.268 18.346c-15.371.113-31.17 3.039-39.569 8.365-1.755 1.113-3.405 3.113-4.105 4.36 9.472 6.137 32.521 11.352 53.783 11.126 11.08-.118 21.756-1.49 29.805-3.916 6.382-1.924 10.635-4.583 12.777-6.728-1.248-1.003-3.323-2.408-6.373-3.8-7.76-3.539-19.376-6.595-27.668-8.017-4.84-.83-10.151-1.281-15.584-1.375a124.627 124.627 0 0 0-3.066-.015zM66.52 397.71c-.814.026-1.569.085-2.25.178-6.779.921-18.486 5.964-26.078 12.172-3.795 3.103-6.559 6.465-7.752 9.007-1.192 2.543-1.215 3.67-.355 5.477 1.699 3.57 5.38 6.264 11.715 7.828s14.79 1.546 23.03-.11c8.239-1.655 16.261-4.932 21.939-8.968 5.677-4.036 8.675-8.435 9.26-12.537.204-1.438.013-2.129-1.348-3.752-1.362-1.624-4.108-3.636-7.655-5.24-5.32-2.407-12.397-3.801-17.9-4.036a35.105 35.105 0 0 0-2.606-.02zm417.872 53.7c-9.087.061-23.367 4.381-33.497 10.948-5.402 3.503-9.634 7.584-11.796 11.116-2.163 3.532-2.52 5.86-1.514 8.757 1.623 4.68 5.97 8.72 13.312 11.696.062.025.126.047.188.072H494v-40.793c-2.921-.993-5.648-1.616-7.861-1.752-.557-.034-1.14-.049-1.746-.045z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stethoscope;

impl IconShape for Stethoscope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.037 23.27c-1.32.075-2.665.417-4.014 1.073L79 41.943l10.5 21.58 30.525-10.405c13.04-6.344 2.762-30.57-9.988-29.847zm110.926 0c-12.75-.723-23.027 23.504-9.988 29.848L241.5 63.523l10.5-21.58-27.023-17.6c-1.35-.656-2.695-.998-4.014-1.072zM65.475 51.473L28.5 69.96v5.563c0 42.4 16.395 98.962 41.02 146.164 12.315 23.6 26.693 44.793 42.67 60.504 13.498 13.274 28.41 22.913 44.398 25.585 1.247 64.995 17.26 110.633 42.027 140.044 25.804 30.642 61.022 42.836 95.446 40.685 53.712-3.357 106.658-40.218 127.342-92.984a79.726 79.726 0 0 1-18.777-2.27c-19.496 43.688-64.946 74.494-109.686 77.29-29.577 1.85-58.36-7.957-80.555-34.314-21.268-25.256-36.55-66.5-37.793-128.483 15.92-2.713 30.77-12.33 44.22-25.552 15.975-15.71 30.353-36.903 42.667-60.503 24.625-47.202 41.02-103.764 41.02-146.164V69.96l-36.975-18.488-8.05 16.1 26.763 13.384c-1.344 37.38-16.41 89.65-38.717 132.403-11.685 22.398-25.307 42.205-39.33 55.995-14.024 13.79-28.065 21.168-40.69 21.168-12.625 0-26.666-7.378-40.69-21.168-14.023-13.79-27.645-33.597-39.33-55.997-22.308-42.753-37.374-95.02-38.718-132.402l26.763-13.383-8.05-16.1zM421.5 253.522c-34.348 0-62 27.652-62 62 0 34.35 27.652 62 62 62s62-27.65 62-62c0-34.348-27.652-62-62-62zm0 30c17.567 0 32 14.434 32 32 0 17.567-14.433 32-32 32s-32-14.433-32-32c0-17.566 14.433-32 32-32zm0 18c-7.84 0-14 6.162-14 14 0 7.84 6.16 14 14 14s14-6.16 14-14c0-7.838-6.16-14-14-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StickFrame;

impl IconShape for StickFrame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.29 21.49l-24.05.85-3.8 63.18c8.32-3.76 16.95-5.51 24.88-6.24.85-19.23 1.83-38.49 2.97-57.79zm369.41 5.58l-22.4 4.15 1.2 79.78 21.4-6.7c-.2-25.71-.3-51.45-.2-77.23zM31.88 43.39l-5.26 17.37c5.78.11 11.51.23 17.26.35l1.06-17.51c-1.95 0-12.52-.2-13.06-.21zM105 44.56c-.4 5.96-.7 11.91-1 17.86 2.1 0 4.1.1 6.1.14l6.1-17.82c-6.2-.1-5.5-.1-11.2-.18zm30.1.47l-6.2 18.01c89 2.29 175.5 5.36 259.3 9.26l-1.4-23.64c-39.5-.48-84.5-1.1-131.4-1.79-44.5-.65-83.7-1.27-120.3-1.84zm269.8 3.86l1.4 24.26c3.9.19 7.7.38 11.6.58l-.3-24.69H415c-3 0-7-.1-10.1-.13zm70.7.62c0 9.08 0 18.16.1 27.23 4.6.25 9.2.49 13.8.74-.5-4.52-.7-6.6-1.6-13.01-.9-5.7-2-11.31-2.9-14.96h-1.1zm-57.5 33.82c-7.8 8.19-15.5 16.37-23.3 24.57 2.4 4.8 5.2 10.8 7.9 17 2.2 5.1 4.4 10.3 6.2 15.2l9.8-9.4zM84.59 97.5c-8.85 1.1-17.94 3.9-25.45 9.7L43.66 364.8c10.51 10.6 25.46 19.8 37.88 24-.89-96.6-.75-193.5 3.05-291.3zm297.01 24.4C290 218.4 196.2 314.5 99.71 410.4c0 2 0 4 .1 6l19.69-.5 275.1-262.2c-.3-1-.6-2-1-3.1-1.9-5.4-4.6-12.1-7.4-18.6-1.5-3.5-3.1-7-4.6-10.1zm76.5 1.2l-21.4 6.8.2 11 21.3-4.1c0-4.6-.1-9.1-.1-13.7zm.4 31.9l-21.3 4.1 3.6 247.9 29.1-.8c-6.5-82.9-9.9-166.7-11.4-251.2zM42.26 388.1l-1.8 30 41.36-1.2c0-3.1-.1-6.3-.11-9.4-13.46-2.9-27.43-9.9-39.45-19.4zm449.34 35.6l-28 .8.3 15.4 26.7-.9zm-46 1.3l-30.6.8 4.5 15.6 26.4-.9zm-49.2 1.3l-264.7 7.2c.8 6.3-.1 12.3-1.5 17.8l270.6-9.2zM113.5 434l-86.61 2.4-6.49 18.7 90.5-3.1c2.1-7 3.4-13.3 2.6-18zm360.8 23.5l-32.7 1.2.3 22.4 34.5-2.4c-.7-7-1.4-14.1-2.1-21.2zM82.46 470.9l-45.27 1.6-1.05 17.4 46.57.6c-.1-6.5-.17-13.1-.25-19.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StickyBoot;

impl IconShape for StickyBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v133.4c37.93-48.8 88.7-72.27 129.6-69.77-6.8-20.08-9.1-41.72-9.9-63.63H18zm121.3 82.3c-37 1.9-87.64 28.6-121.24 84.1 25.2 56.8 58.7 115.7 94.74 155.3 30.9-10.9 72.8-30.8 113.1-54.4-19.7-45.8-15.8-92.2 1.6-128.9-13 .2-24.3-1.3-35.4-5.6-13.9 13.2-27.4 29.1-31.2 47.3l-18.3-3.5c5.7-21.3 16.5-39.9 32.2-53.4-6-4.3-11.6-9.4-16.7-15.1-19.9 9.1-40.2 31.4-43.3 50.2l-18.44-3.1c4.44-26.4 25.84-50 49.94-62.1-2.4-3.5-4.7-7.1-7-10.8zm185.3 2.9c-12.1-.1-23.9 3.7-36.3 11-44.5 26.6-76.6 99.1-42.7 169.6l7.2 7.2-10.2 6.2c-46.5 27.9-95.1 51-130.8 62.5l12.4 17.9c29.3-10.8 61.6-25.2 94.4-41.9 63 30.1 49.1 114.6-6.5 159.3h29.3c9.4-17 15.1-43.4 36.4-50 8.2-2.5 5 30 9.3 50h45.7c-2.5-13.4-2.2-34.6 3.5-35.1 10.6-1 18.9 21.3 27 35.1h50.2c-103.1-112.3-95.8-156.5-75.7-228.1 28.1-18.3 54.5-37 77.2-55.1-13.4-54.6-34.9-85.3-57.1-99-11.7-6.4-22.6-9.5-33.3-9.6zm-4.6 175c-8.7 21.9-17.5 49.6-24.2 48.5-14.6-2.5-19.6-10.9-23.2-20.1 16-9.2 31.9-18.7 47.4-28.4zm-60.1 35.5c6.1 19.6 14.5 46.1 9.1 50-7.4 5.4-19.5-22.6-30.4-38.4 7.1-3.8 14.2-7.6 21.3-11.6zm49.2 21c4.7-.5 19.9 68.6 37.3 101.6 10.4 19.7-25 14.3-28.9 3.4-12.5-35-14.3-104.4-8.4-105zM288 352c9.1 0 9.1 22.9 5.9 35.9-3.5 14.1-7.7 37.2-11.2 34.3-11.8-9.8-3.8-70.2 5.3-70.2zm9.8 78.4c3.8.3 8.9 12.5 9.9 19.6 1.2 8.2-1.5 24.1-5 24.4-5 .5-7-17.5-7.6-26.7-.4-5.8-3.8-16.5 2.3-17.3h.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stockpiles;

impl IconShape for Stockpiles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.1 39.16l12.7 63.24c29.8-.6 29.9 42.8 39.6 75.3 15.2-37.4 11.6-150.5-52.3-138.54zm-17.4 4.73L17.5 102.4v19.9L189 60.41zm6.9 34.42l-24.7 8.91L197 100.5zm-49 17.65l-42.5 15.34 39.8 18 40.5-16.2zM76.76 120.1l-42.63 15.4 42.02 19.7 41.65-16.6zM17.5 147.5v31.2l35.89-14.4zm288.7 7l-24.6 10.6c16.8 7.7 34 17.8 48.8 13.4zm-97.4 3.3l-39.4 20.7c14.6 7.5 35.2 5.5 58.2-.4zm83.3 33.9c12.4 10.3 22.8 22.4 42.6 26-1.2-8.3.3-14.4-16.6-25.7zm-35.6.3c-32 0-186 185.8-234 297.8h273.7c15.1-35.2 43.1-78.7 70.2-114.8 10.7-14.1 21.1-27 30.6-37.7-57.9-78-121.3-145.3-140.5-145.3zm-50.5 2.2l-46.8 13c1.5 9.5 9.8 14.7 34.6 9.4zM438.4 326c-5.5-.1-10.7 4.9-19 13.5-11.1 11.5-24.7 27.8-38.5 46.4-24.5 32.6-49.9 72.3-64.7 103.9h178.3V385.2c-13.7-18.3-27.1-34.3-38-45.7-7.9-9.2-13.1-13.3-18.1-13.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stomach;

impl IconShape for Stomach {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153.063 21.74a19.46 28.32 83.178 0 1-23.98 13.947 19.46 28.32 83.178 0 1-27.68-9.18c-1.236 5.62-1.713 12.016-1.163 19.15 3.247 42.106-10.16 118.603 107.54 132.268-41.45 32.308-27.99 64.745-18.467 97.258-33.296-1.63-53.61 23.1-62.577 45.982-97.49-13.226-79.727 121.682-78.574 148.143 1.086 24.9 52.413 28.33 54.285 6.39 3.667-42.972-10.243-104.27 29.207-94.132 22.28 5.724 62.243 53.447 161.366 51.377 140.028-2.926 263.475-321.36 81.64-351.272-63.3-10.412-148.19 37.224-148.19 37.224-67.307 6.347-67.29-24.454-70.937-82.172-.357-5.654-1.216-10.638-2.47-14.983zM137.59 350.176h254.305c-16.912 28.374-52.22 66.58-114.563 65.668-58.09-.85-103.54-18.614-139.742-65.668z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneBridge;

impl IconShape for StoneBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 265v71.11c7.526-4.42 17.73-10.278 30-16.98V265H25zm432 0v54.205c12.277 6.687 22.476 12.524 30 16.93V265h-30zm-201.49.28c-39.653.03-99.394 23.28-148.06 46.976-44.553 21.694-76.747 41.37-82.45 44.88V471h110.387c1.88-32.24 13.54-69.11 32.552-99.74 20.797-33.505 51.085-60.252 88.058-60.26 36.985-.008 67.298 26.736 88.12 60.244 19.038 30.635 30.72 67.51 32.603 99.756H487V357.145c-5.72-3.51-38.067-23.218-82.82-44.93-48.875-23.713-108.863-46.962-148.67-46.934z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneBust;

impl IconShape for StoneBust {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c14.33 0 27.676 7.905 37.977 22.068C304.277 61.232 311 81.468 311 104c0 22.532-6.723 42.768-17.023 56.932C283.676 175.095 270.329 183 256 183c-14.33 0-27.676-7.905-37.977-22.068C207.723 146.768 201 126.532 201 104c0-22.532 6.722-42.768 17.023-56.932C228.324 32.905 241.671 25 256 25zm40 78h-80v18h31v23h18v-23h31zm4.777 77.732c22.269 3.505 48.815 9.312 84.93 17.334-18.385 31.94-30.507 71.784-36.947 105.024-30.784 3.249-71.261 9.48-92.76-11.819-23.106 21.245-68.115 17.842-92.838 11.424-6.459-33.161-18.556-72.814-36.869-104.629 36.115-8.022 62.661-13.829 84.93-17.334C223.35 193.18 238.89 201 256 201c17.11 0 32.65-7.82 44.777-20.268zM265 224h-18v48h18zm-8.992 91.117c25.254 11.781 65.5 11.202 89.556 7.113-1.059 7.611-1.768 14.623-2.12 20.77H168.556c-.358-6.232-1.08-13.351-2.164-21.084 29 2.217 65.796 6.81 89.615-6.799zM315 361v94h-18v-64h-82v64h-18v-94zm-36 48v46h-46v-46zm69.271 64l14 18H149.73l14-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StonePath;

impl IconShape for StonePath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.8 18c-8.4 20.13-22.8 56.15-36.1 95.9l28.9.9c4.9-26.18 15.9-51.18 27.5-77.02L186 18zm46.3 0l-8.3 23.72 46.7 10.36 66.6-7.47c9.6-10.68 9.3-19.68 11.7-26.61zm-14.3 40.83c-13.5 17.65-17.5 36.95-19.7 56.57l42.2 1.3 21.1-.3c-1-15.8-1.1-31.5 4.8-46.79zm111.5 4.78l-44.9 5.03c-5.2 15.82-6.1 31.66-4.8 47.46l31.1-.4c11.2-16.81 15.2-35.36 18.6-52.09zM117 131.7c-11.3 6.8-11.5 18.9-9.4 32.1 31.9 11.8 56.8 14 89.2 17.4-.1-15.6-1.6-31.3 3.7-46.9zm161.4 2.1c-19.7 2.3-39.4 4.1-59.8.8l-3.9 48.8c28.8-.5 42.3 5.4 52.4 7.4 1.7-17.9 5.8-37.5 11.3-57zm-175.2 47.4c-11.75 28.4-14.76 56.3-8.94 83.1l41.54-25.2 11.1-46.2zm61.7 13.8l-11.7 48.4 79.3 35.4 51.7 1.8c-8.9-25-17.2-47.6-17.8-71.8-33.8-7.8-67.7-14.4-101.5-13.8zm-24.6 62.3l-44.34 27c2 18.4 5.14 38.1 9.14 57.9l106.4-53.1zm101.1 39.8l10.2 66.1c24.5 3.8 42.7-3.9 63.3-7.1l1.1-12c-8.6-15-16.7-30.2-23.7-45.3zm-25.8 9.5l-89 44.9 59.2 19.1c18.7 4.7 35.9.8 47.9-5.4-1.4-20.1-3.8-42.8-18.1-58.6zm-105.7 58.5c-14.64 3.8 9.1 92.3 23 88.7l62.3-20.2-20-47.4zm221.9 5.4c.7 21.3.2 42-5.4 59.8 9.9 6.5 49 14.2 57.6 16.5-5.7-28-27.8-52.4-52.2-76.3zm-18.5 3.8c-38.3 7.1-76.2 15.1-117.9 13.3l17 40.4 46.3-15.1c12.9 6.6 34.9 10.2 49.9 14.1 5.2-17.6 5.1-35.1 4.7-52.7zm-61.6 59.8c-36.2 16.2-74 28.7-113.7 37.1-11.5 7.9-1.5 20.6 7.1 22.8h148.6zm23.9 2.9l40.1 57h104.9c-5.2-6.4-11.5-14.2-19.1-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StonePile;

impl IconShape for StonePile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M317.727 108.904l-95.192 96.592-26.93 86.815 17.54 36.723 20.417 9.287 33.182-55.082 11.297-3.61 61.75 26.85 20.26-12.998 4.47-43.7 11.42 53.634-10.622 14.162 3.772 1.64 5.238 6.5 6.832 34.343 55.977-66.775 13.98.23 22.397 28.575-9.453-52.244L434.01 166.81l-116.28-57.906zM123.61 120.896L94.08 173l-4.603 27.62 25.98-8.442 11.704 7.377.084.634 28.295 59.865 13.773-4.543 10.94 4.668 3.922 8.21 19.517-62.917-1.074-33.336-40.15-.522-29.732-23.78 34.06 10.888 42.49-7.727 26.034 15.88 36.282-36.815c-2.777-1.18-5.615-2.356-8.58-3.52l-79.58 10.126-3.528-.25-56.307-15.52zm249.33 36.422l47.058 66.02 2.107 62.51-25.283-59.698-65.322-60.404 41.44-8.428zm-262.2 55.32l-64.234 20.876-16.71 78.552 50.794 5.582.596-7.14 37.662-36.707-8.108-61.16zm56.688 62.45l-36.44 12.016-31.644 30.84 22.588 30.867 57.326 1.74 16.5-16.16-28.33-59.302zm110.666 24.19l-44.307 73.546-.033 57.14 97.264 12.216 44.242-19.528-17.666-88.806-79.5-34.567zM443.8 313.36l-46.843 55.876.287 1.774 65.147 13.887 25.78-14.926-44.37-56.613zm-138.382 15.89l39.23 22.842 13.41 50.658-26.82 23.838-45.015-2.553 38.562-28.242 2.483-39.23-21.85-27.312zm-238.37 53.838l-8.77 28.51 13.152 48.498 91.037-11.91 1.32-26.418-62.582-31.995-34.156-6.684z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneStack;

impl IconShape for StoneStack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M278.735 112.385c-6.45-.022-13.001.204-19.541.683-26.16 1.918-52.24 7.912-71.295 17.338-19.054 9.426-30.102 21.32-31.21 35.473-.491 6.258 1.674 12.378 6.886 18.9 5.211 6.522 13.484 13.055 23.86 18.725 20.75 11.34 49.723 19.217 77.925 20.578 28.202 1.362 55.456-3.89 73.447-16.592 17.992-12.701 28.163-31.942 23.477-64.853-.647-4.546-3.149-8.605-8.393-12.748-5.244-4.144-13.144-7.946-22.834-10.828-14.534-4.324-32.974-6.611-52.322-6.676zm-58.385 27.773a15.021 30.242 71.137 0 1 16.541 7.426 15.021 30.242 71.137 0 1-23.646 24.008 15.021 30.242 71.137 0 1-33.557-4.356 15.021 30.242 71.137 0 1 23.647-24.006 15.021 30.242 71.137 0 1 17.015-3.072zm41.203 101.729c-37.759-.033-75.243 5.18-102.252 16.006-13.504 5.412-24.3 12.2-31.423 19.904-7.123 7.703-10.792 16.021-10.834 26.406-.027 6.585 2.827 11.537 10.013 16.832 7.187 5.295 18.653 9.967 32.887 13.277 28.467 6.621 67.726 8.057 106.684 5.051 38.957-3.005 77.792-10.437 105.572-20.668 13.89-5.115 24.986-11.006 31.701-16.691 6.715-5.686 8.59-10.002 8.066-14.201-.602-4.834-4.196-10.34-12.113-16.06-7.916-5.72-19.702-11.174-33.931-15.651-28.459-8.955-66.61-14.172-104.37-14.205zm-76.722 28a15.623 30.966 72.083 0 1 16.52 8.297 15.623 30.966 72.083 0 1-25.08 24.324 15.623 30.966 72.083 0 1-33.964-5.639 15.623 30.966 72.083 0 1 25.078-24.324 15.623 30.966 72.083 0 1 17.446-2.658zm105.074 87.545a737.257 737.257 0 0 0-36.129.824c-48.367 2.29-96.637 9.383-132.682 20.898-18.022 5.758-32.96 12.664-43.14 20.12-10.181 7.455-15.225 14.927-16.135 22.431-.771 6.358 2.69 13.296 12.693 21.38 10.004 8.086 25.876 16.155 45.407 23.048 39.06 13.786 92.694 23.167 145.267 24.806 52.574 1.64 104.231-4.626 139.022-20.488 17.395-7.93 30.393-18.095 37.974-30.289 7.582-12.194 10.317-26.587 6.166-45.414-.984-4.464-5.912-10.175-16.506-15.58-10.593-5.405-25.998-10.126-44.365-13.654-27.55-5.292-61.777-8.017-97.572-8.082zm-159.727 42.4a18.747 35.889 83.498 0 1 28.702 14.086 18.747 35.889 83.498 0 1-31.659 23.371 18.747 35.889 83.498 0 1-39.367-13.441 18.747 35.889 83.498 0 1 31.658-23.371 18.747 35.889 83.498 0 1 10.666-.645z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneWall;

impl IconShape for StoneWall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.08 23l.1 18H494V23H18.08zM254.3 54.93L133 61.6l30.1 68.5 98.1-3.6-6.9-71.57zm115.9.28l-92.9.53 3 71.96 96.8-.9-6.9-71.59zM18.23 56.43l.35 74.67 72.27-2.4 24.35-72.27H18.23zM393 64.24l-.5 47.16 15.7 21.5 85.8-6.3V64.93l-101-.69zM120.8 84.68l-17.6 49.82 41.1-1-8.2-34.02-15.3-14.8zm354.7 56.02l-4 75.5 22.5-.6v-74.9h-18.5zm-25.7 3.5l-97.3 10.7L346 219l110.7-3.2-6.9-71.6zm-243.8.7l-4 75.5 126.1-3.9 7-71.1-129.1-.5zm-145.33 2.7l-3.9 75.5 126.13-3.9-6.9-71.6H60.67zm-42 1.5l.33 72.4 24.77-.8-6.9-71.6h-18.2zm278.93 84.3L276 277.2l2.1 42 128.7-1.9-7.6-79.7-101.6-4.2zm-40.2 1.4l-127.2 6 8 69.5 124.7 6.6-5.5-82.1zm236.6 3.1l-66.5 2.9-7.5 75.8 74-5.2v-73.5zm-474.89 7l.31 65.8 100.78-3.1-6.9-62.7H19.11zm470.29 81.2l-115.9 10.5-3.3 65 121.5-3.5-2.3-72zm-422.36 4.1l-47.52 2 .34 72.9 51.1-1.3-3.92-73.6zm17.84 0l3.98 68.5 138.64 9.6-3-78.1H84.88zm161.22 4.3l-5.5 69 107.5 5.4-1-73.5-101-.9zm185.4 81.1l-4 75.5 66.5-.6v-73.8l-62.5-1.1zm-9.8 1.2l-39 3.6 27.4 28 11.6-31.6zm-399.46 1.8l-2.13 40.6.16 34.8H145.4v-68.9l-46.56-2.5-18.4 14L68.56 421l-46.32-2.4zm247.96.3l-111.3 1.5 3.5 72.5 114.7-2.4-6.9-71.6zm101.2 4.3l-72.2 5.9-8.9 62.1 125.6.6-6.2-27-38.3-41.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneWheel;

impl IconShape for StoneWheel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.9 34.73c-25.2-.2-52.1 1.53-77.5 6.71-14.9 10.66-28.3 22.71-40.3 35.76l20.3 5.33-41 20.27C88.35 151.9 70.85 210 69.86 261 68.63 324.8 88.51 379.4 122 418.4l14.3-1.1-3.4 12.7c14.8 14.5 31.6 26.3 50.1 35 21.5 5.7 43.7 10.1 64.8 12.2-17.6-11.1-33.5-26.5-47.2-44.5l-26.1-9.9 10.3-13.4c-27.5-45.5-43.7-100.9-44-147.3-.2-22.6 3.4-47.5 10.3-72.3l-28 8.1 34.3-28.5c7.3-20.8 16.7-41.2 28.1-59.9 20.5-33.57 47.8-61.81 80.1-74.71-1.3 0-2.5 0-3.7-.1zm43.6 10.57c-41.2-.82-77.9 29.89-104.6 73.6-9.5 15.5-17.6 32.6-24.1 50.1l19.1 19.9-24.9-2.7c-8 26.3-12.4 52.7-12.2 75.7.3 43.8 16.8 99.3 44.3 142.7.2.4.5.8.7 1.1l24.3 7.1-6.3 17.4c24.7 29.1 54.8 47.9 87.5 47.1 20.5-.5 39.4-9 56.1-23.2l-9-26.3 26.5 8.5c8.1-9.6 15.5-20.6 22.2-32.6 23.6-42.4 37-96.1 37.1-137.9.1-43.4-13.3-99.4-37.6-143.7-12-21.9-26.4-40.73-42.8-54.26l-14.1 15.57-23.8-35.6c-6-1.52-12.1-2.39-18.4-2.51zm14 151.8l6.1 6.4c3.4 3.5 6.7 7.1 10 10.7l14.6-1.6-1.1 17.8c7.9 10.4 14.9 21.8 19.8 34.9l1.2 3.2-1.2 3.1c-7.5 20.5-24.7 43.9-44.5 60.5l-5.8 4.8-5.7-4.8c-20.1-16.6-38.7-37.7-49.8-61.2l-1.9-4 2-4c10.8-21.5 30.6-41.9 49.8-59.8zm-.7 25.5c-12.2 11.7-23.7 24.1-32.1 36.2 19.4 1.5 41.7 1.2 59.5.3-7.1-13.2-16.8-25-27.4-36.5zm-31.7 54.2c8.4 13.1 19.4 25.5 31.5 36.3 11.1-10.7 21.3-24 27.9-36-17.8 1-39.5 1.3-59.4-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StopSign;

impl IconShape for StopSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StorkDelivery;

impl IconShape for StorkDelivery {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.46 90.097c-14.41 28.215 25.124 70.588 17.373 101.307C138.251 257.12 73.625 335.86 18.587 382.572V479.7c106.135-46.97 180.365-213.541 215.88-311.881 46.528-2.995 84.174-5.497 118.327-9.336-5.352 10.408-10.068 22.593-16.42 35.574-34.63 70.771-62.16 210.036-43.045 254.887 18.589 31.617 59.818 41.229 93.942 40.707 32.074-.491 73.942-12.82 87.09-40.947 8.33-18.781 11.147-42.267 9.38-68.522-5.916 12.667-20.916 17.987-32.69 18.106-11.225-.905-21.359-3.517-28.331-11.286-6.913 9.653-20.358 13.77-30.383 13.871-16.499-.577-33.965-10.09-34.328-26.132 0-4.036 1.19-7.745 3.13-10.989-19.729-41.205-5.36-153.84 9.891-207.494 11.62-1.541 22.932-3.296 34.158-5.332 6.63 25.738 13.507 98.29 16.317 127.899 25.124 2.583 44.88 23.956 44.88 49.736 0 6.693-1.34 13.084-3.751 18.932 7.74 2.233 14.734 6.42 18.97 12.656-4.401-30.302-14.113-105.396-27.943-138.727-10.164-24.495-17.775-53.203-32.945-73.508 22.198-4.593 44.502-10.45 68.724-18.21-72.805-10.987-157.198-13.317-230.003-15.25 0 0-25.676-44.128-48.03-49.512-25.312-6.097-62.302 3.645-73.946 25.154zm56.256-1.883c19.389-.548 39.853 18.98 48.133 37.479-16.522 5.454-45.523.784-57.17-12.12-6.984-7.737-5.515-23.126 5.177-24.976a27.113 27.113 0 0 1 3.86-.383zm190.67 240.348c0 7.623 2.62 14.586 7.008 20.06 10.694.77 23.888 5.32 29.595 11.612 15.568-2.208 27.397-15.457 27.397-31.672 0-17.78-14.22-32-32-32s-32 14.22-32 32zm67.144 35.477a50.315 50.315 0 0 1-15.797 10.607c6.367 7.203 31.426 7.208 31.647-2.49-1.996-6.084-10.385-7.964-15.85-8.117zm-59.193 2.568c-4.527.46-16.182 1.725-16.328 8.135 2.052 6.204 10.793 8.072 16.328 8.132 4.526-.46 16.182-1.724 16.328-8.132-2.05-6.208-10.792-8.075-16.328-8.135z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StraightPipe;

impl IconShape for StraightPipe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M445.8 26.44c-.6 0-1.1 0-1.6.1-2 .26-3.6 1.14-5.1 2.63L54.19 414c10.18 1.9 20.27 7.3 28.39 15.4 8.14 8.2 13.47 18.3 15.43 28.5L482.9 73.03c3-3 3.5-6.42 1.7-12.57-1.9-6.15-6.8-13.73-13-19.95-6.2-6.23-13.8-11.1-20-12.98-2.3-.68-4.2-1.06-5.8-1.09zM45.19 431.2c-5.39.2-10.19 2-13.52 5.3-8.2 8.2-7.21 25.3 5.66 38.2 12.87 12.8 29.98 13.8 38.18 5.6 8.2-8.2 7.21-25.3-5.66-38.2-7.64-7.6-16.78-11-24.66-10.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Strawberry;

impl IconShape for Strawberry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.1 30.76c-16.7 3.83-35.9 36.61-47.6 50.9 8.2 3.7 17.3 3.8 26.9 3.6 4.7-7.83 49.9-54.37 20.7-54.5zm-264.3 64.9c12.1 7.44 28.8 8.84 40.6 8.94 27.2.2 62.9-6.14 99.9-17.24l8.6 15.34c-20.7 18.6-25.7 33.6-25.7 44-.1 10.4 5.9 17.6 7.3 18.6 10.5 7.7 24.9 7.2 42.7-.1 17.9-7.2 37.7-21.1 55.5-36.7l9.2-8.2 5 11.3c12.8 29.1 25.3 55.5 40.5 72.6 13 14.7 27.1 22.9 47.7 22.2-8.9-27.4-14-47.6-21.5-64.2-8.5-18.8-20-34.4-45.9-55.9-3.2-2.6-9.5-3.1-19.4-3-26.5-.2-45.2-5.6-63.4-25.14-5.8-6.3-10.2-11.9-20.7-19.8-57.3 7.28-114 23.84-160.4 37.3zm116.8 16.74c-19.3 4.7-37.9 7.8-55 9.3-1.3 6.9-8 17.9-14 16.7-4.4-1.2-6.5-8-5.2-15.8-9.8-.2-20.1-.8-28.5-2.5-15.26 15.7-19.51 38-23.31 56.7 8.1-1.4 9.11 12.8 7.76 18.4-2.34 8.7-8.08 14.7-12.99 13.8-5.49 44-5.81 93.1-6.06 138.7-.29 54.3-4.75 99.6 27 129.2 85.7 24 196.2-55.3 262-122.3-2.4.8-4.5.6-6.1-.4-4.3-2.9-3.6-11.4 1.5-19 4.1-4.7 10.8-12.4 17-8.8 3.2 2.2 3.7 7.6 1.3 13.8 23.4-25.8 39-48.2 42.1-60 2.1-12.5 2.4-24.5 1.5-36-1.3 0-2.5-.1-3.7-.2-.2 3-1.2 6.5-2.9 9.8-4.2 8.3-11.3 13-15.8 10.7-4.6-2.3-5-10.8-.8-19.1.9-1.8 2-3.5 3.2-4.9-8.8-3-16.8-7.5-23.9-13.2 1.2 4-.2 10-3.9 15.6-5.1 7.7-12.8 11.6-17 8.7-4.3-2.8-3.6-11.3 1.5-19 4-4.6 8.8-9.6 14.4-9.6-2.4-2.2-4.6-4.4-6.8-6.9-12.8-14.4-22.9-32.8-32.3-52.8-2.8 3.7-6.2 5.7-9.2 4.9-3.6-1-5.7-5.8-5.6-11.8C310 167 295.5 176 281 181.9c-2.7 5.8-7.6 14.3-13.2 13.1-2.7-.8-4.6-3.6-5.3-7.6-14.9 2.9-29.5 1.3-41.6-7.5-7.1-5.1-13.6-15-14.6-29.2-2.8 4.3-6.5 6.7-9.8 5.8-5-1.3-7-9.6-4.7-18.5 2.2-7.9 7.1-13.7 11.8-13.9 2.8 0 5 2.5 5.9 4.4 1.8-5.2 4.5-10.5 8.1-16.1zm-50.1 34.1c4.9 1.4 7 9.7 4.6 18.5-2.4 8.9-8.3 15.1-13.3 13.7-5-1.3-7-9.6-4.6-18.5 2.7-6.1 6.6-14.8 13.3-13.7zm-35.4 4.3c4.9 1.4 7 9.7 4.6 18.6-2.4 8.9-8.3 15-13.3 13.6-5-1.3-7-9.6-4.6-18.5 2.8-6.2 6.6-14.6 13.3-13.7zm188.1 14c5 1.3 7 9.6 4.6 18.5-2.3 8.9-8.3 15-13.3 13.7-4.9-1.4-7.6-9.9-4.6-18.6 2.1-6.3 6.7-14.8 13.3-13.6zm-135.1 18.8c5 1.4 7.1 9.7 4.7 18.6-2.4 8.9-8.4 15-13.4 13.6-4.9-1.3-7.6-9.8-4.6-18.5 2.1-6.3 6.7-14.6 13.3-13.7zm44.3 9.4c4.9 1.3 7 9.6 4.6 18.5-2.4 8.9-8.4 15-13.3 13.7-5-1.4-7.6-9.8-4.7-18.5 2.2-6.4 6.8-14.8 13.4-13.7zm67.3 9.7c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15.1-13.4 13.7-4.9-1.3-7-9.6-4.6-18.5 2.7-6.1 6.7-14.8 13.3-13.7zm39.4 1.8c5 1.3 7 9.6 4.6 18.5-2.4 8.9-8.3 15-13.3 13.7-4.9-1.3-7-9.6-4.6-18.5 2.7-6.2 6.6-14.8 13.3-13.7zm-197.7 3c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15-13.3 13.7-5-1.4-7.1-9.6-4.7-18.5 2.6-6 6.8-14.9 13.3-13.7zm121.2 18.8c5 1.4 7.1 9.7 4.7 18.6-2.4 8.9-8.4 15-13.4 13.7-4.9-1.4-7-9.7-4.6-18.6 2.7-6.1 6.7-14.6 13.3-13.7zm-157.9 14.9c4.9 1.4 7 9.7 4.6 18.6-2.4 8.9-8.35 15-13.31 13.7-4.97-1.4-7.05-9.7-4.66-18.6 2.77-6.2 6.69-14.6 13.37-13.7zm209.7 6c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15-13.3 13.7-11.7-7.3-2.1-34.1 8.6-32.2zm-109.9 2.5c5.1.3 8.9 7.9 8.4 17.1-.4 9.2-5 16.5-10.1 16.2-5.2-.3-8.9-7.9-8.4-17.1.4-9.2 5-16.5 10.1-16.2zM157.4 261c5 1.4 7.1 9.7 4.7 18.6-2.4 8.9-8.4 15-13.3 13.7-5-1.4-7.1-9.7-4.7-18.6 2.7-6.1 6.7-14.6 13.3-13.7zm199 7.9c4.3 2.8 3.6 11.3-1.5 19-5.1 7.7-12.7 11.6-17 8.7-4.3-2.9-3.6-11.4 1.5-19 3.7-4.2 11.3-13 17-8.7zm47.1 6.5c4.4 2.7 4.1 11.2-.7 19.1-4.8 7.8-12.3 12-16.7 9.4-4.4-2.7-4-11.3.8-19.1 3.8-4.4 10.4-13.2 16.6-9.4zm-161.1 4.5c4.9 1.3 7 9.6 4.6 18.5-2.4 8.9-8.3 15-13.3 13.7-4.9-1.3-7-9.6-4.6-18.5 2.7-6.1 6.7-14.8 13.3-13.7zm50.4 10.8c4.3 2.8 3.6 11.3-1.5 19-5.1 7.7-12.7 11.6-17 8.7-4.3-2.9-3.6-11.4 1.5-19 3.7-4.1 11.3-13 17-8.7zM107 300.2c4.9 1.4 7 9.7 4.6 18.6-2.4 8.9-8.3 15-13.33 13.6-4.96-1.3-7.04-9.6-4.65-18.5 2.77-6.2 6.68-14.6 13.38-13.7zm222.5 10.3c4.3 2.9 3.6 11.4-1.5 19.1-5.1 7.6-12.7 11.5-17 8.7-4.3-2.9-3.6-11.4 1.5-19.1 3.9-4.4 11-12.6 17-8.7zm-133 .3c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15-13.3 13.7-5-1.4-7.1-9.6-4.7-18.5 2.6-6 6.8-14.9 13.3-13.7zm-52.5 5.9c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15-13.4 13.7-4.9-1.3-7.5-9.8-4.6-18.5 2.1-6.2 6.8-14.9 13.3-13.7zm121.1 17.5c4.3 2.8 3.6 11.4-1.5 19-5.1 7.7-12.7 11.6-17 8.7-4.3-2.8-3.6-11.4 1.5-19 3.7-4.2 11.3-13 17-8.7zm30.2 22.5c4.3 2.9 3.6 11.4-1.5 19-5.1 7.7-12.7 11.6-17 8.7-4.3-2.8-3.6-11.3 1.5-19 4-4.3 11-12.6 17-8.7zm40.3 1.5c4.2 2.9 3.5 11.4-1.6 19-5.1 7.7-12.7 11.6-17 8.7-4.2-2.8-3.6-11.3 1.6-19 4.1-4.6 10.8-12.3 17-8.7zm-132.1-.4c4.9 1.4 7 9.7 4.6 18.6-2.4 8.9-8.3 15-13.3 13.7-5-1.4-7.6-9.9-4.6-18.6 2.3-6.8 6.4-14.3 13.3-13.7zm-94.9 12.6c5 1.3 7.1 9.6 4.7 18.5-2.4 8.9-8.4 15-13.36 13.7-4.97-1.4-7.05-9.7-4.65-18.5 2.62-6 6.81-14.9 13.31-13.7zm47.7 10.4c4.9 1.3 7 9.6 4.6 18.5-2.4 8.9-8.3 15-13.3 13.7-5-1.3-7.7-9.8-4.7-18.5 2.2-6.3 6.8-14.8 13.4-13.7zm76.7 20.1c4.3 2.9 3.6 11.4-1.5 19.1-5.1 7.6-12.7 11.5-17 8.7-4.3-2.9-3.6-11.4 1.5-19.1 3.9-4.4 11-12.6 17-8.7zm41.1 6.5c4.3 2.9 3.6 11.4-1.5 19.1-5.1 7.6-12.7 11.5-17 8.7-4.3-2.9-3.6-11.4 1.5-19.1 3.9-4.3 11-12.6 17-8.7zm-152.6 26.5c5 1.4 7.1 9.7 4.7 18.6-2.4 8.9-8.4 15-13.3 13.6-5-1.3-7.1-9.6-4.7-18.5 2.7-6.1 6.8-14.6 13.3-13.7zm64.3 10.5c4.2 2.9 3.5 11.4-1.6 19.1-5.1 7.6-12.7 11.5-17 8.7-4.3-2.9-3.6-11.4 1.5-19.1 4.1-4.6 10.9-12.3 17.1-8.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StreetLight;

impl IconShape for StreetLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.5 33l-10 30h87l-10-30h-67zM160 39c-26 0-45.2 9.12-56.9 23.24C91.32 76.35 87 94.5 87 112v263h18V112c0-14.5 3.7-28.35 11.9-38.24C125.2 63.88 138 57 160 57h75.5l6-18H160zm79.3 42l-43.7 42.5 41.9-19.1-34.5 86.9 62.6-58.3-1.1 91.7 31.8-101.2 70.5 117.6-31.3-130.9 61.5 36.1L349.5 81H239.3zM72.55 393l-5.08 100h57.03l-5.1-100H72.55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StripedSun;

impl IconShape for StripedSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32a224 224 0 0 0-161.393 69.035h323.045A224 224 0 0 0 256 32zM79.148 118.965a224 224 0 0 0-16.976 25.16H449.74a224 224 0 0 0-16.699-25.16H79.148zm-27.222 45.16A224 224 0 0 0 43.3 186.25h425.271a224 224 0 0 0-8.586-22.125H51.926zM36.783 210.25a224 224 0 0 0-3.02 19.125h444.368a224 224 0 0 0-3.113-19.125H36.783zm-4.752 45.125A224 224 0 0 0 32 256a224 224 0 0 0 .64 16.5h446.534A224 224 0 0 0 480 256a224 224 0 0 0-.021-.625H32.03zm4.67 45.125a224 224 0 0 0 3.395 15.125h431.578a224 224 0 0 0 3.861-15.125H36.701zm14.307 45.125a224 224 0 0 0 6.017 13.125H454.82a224 224 0 0 0 6.342-13.125H51.008zm26.316 45.125a224 224 0 0 0 9.04 11.125H425.86a224 224 0 0 0 8.727-11.125H77.324zm45.62 45.125A224 224 0 0 0 136.247 445h239.89a224 224 0 0 0 12.936-9.125h-266.13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrongMan;

impl IconShape for StrongMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87.49 27.99C58.7 27.99 35.5 51.17 35.5 80c0 28.8 23.2 52 52 52s52-23.2 52-52c0-28.83-23.2-52.01-52.01-52.01zM219.5 54.55c-2.6 4.13-4 9.58-4.5 15.32-20.8-.7-39.2-1.03-58.3-.73.8 6.29 1.1 12.15.4 18 19.8-.25 39.1 0 58.2.77.3 3.12.7 5.96 1.2 8.26-11.9 24.43-25.4 44.13-32.3 70.43 2.3 24.6 5.2 53.2 23.1 77.7 5 19.9 9.1 39.7 14.6 59.6 2.1-25.1 7.6-51.9 21.4-79.2-1.9-9.1-2.1-17.2-1.3-25.7-4.2-8.1-9.8-16.2-19.2-24 12.9-23.8 13.2-46.2 17.6-71.8l19.5-4.78c1.8-2.39 3.3-4.92 4.4-7.56 31 2.54 61.2 6.27 90.6 10.94.6-6.09 2-11.99 4.1-17.56-29.6-4.75-60-8.55-91.2-11.17 0-4.55-.4-9.28-1.1-14.13-17.1-2.57-31.6-6.06-47.2-4.39zm205 2.44c-28.8 0-52 23.18-52 52.01 0 28.8 23.2 52 52 52s52-23.2 52-52c0-28.83-23.2-52.01-52-52.01zm-135 108.11c-7.5 0-14.6 3.9-20.3 11.6-5.8 7.6-9.7 18.8-9.7 31.3 0 6.6 1.1 13.6 3 19.1 8.9-3.1 18.1-7.5 26.7-15 7.9 6.4 16.6 10.9 26.8 15 2.2-5.9 3.5-11.9 3.5-19.1 0-12.5-3.9-23.7-9.7-31.3-5.7-7.7-12.8-11.6-20.3-11.6zm-.3 58.9c-6.8 10.6-8.8 14.7-21.7 12.9 5.3 7.4 12.7 14.1 22 14 10.4-.1 17.2-6.5 21.8-13.8-11.2.8-16.9-3.1-22.1-13.1zm60.8 28.3c2.4 25.1 3.6 39.4 1.5 63.8 2.2 3.2 2.8 19.1 11.1 22.5-12.8 6.5-17.6 24.1-24.6 31-18.2 21.6-31.1 55.3-43.6 86.3 3.7 12.8 8.3 25.5 13.7 38.1H365c-5.6-27.2-13.6-54.7-22.2-82.1 3.4-5.4 3-4 6.5-23 14.9-10.2 47.2-27.3 52.6-49.6-5-19.9-11.7-32.8-23.5-49.9 2.8-24.2-16.2-30.8-28.4-37.1zm-100.3 3.4c-3.5 10.4-5.9 20.7-7.6 30.9l13.9-1.2c-3.2-9.7-4.9-20.1-6.3-29.7zm65.9 3.5c-7.4 6-16.4 9.7-26.1 9.7-7.4 0-14.3-2.1-20.4-5.7.5 2.4.9 4.8 1.5 7.2 1.9 8.5 4.7 16.8 8 22.4 3.2 5.5 6 7.5 8.9 7.7 3.1.2 6.6-1.5 10.9-6.7 4.4-5.2 8.7-13.2 12.2-21.4 1.9-4.5 3.6-9 5-13.2zm17.4 5c-2.8 7.9-5.3 14.6-8.6 21.5l9.8.5c-.2-7.3-.6-14.6-1.2-22zm-69.4 38.7l-23.7 2c-.6 7.7-.9 15.4-1.1 23l94.6-1.5c.7-7.3 1-14.7 1.1-22.1l-20.5-1.1c-7.6 8.6-18.5 15.7-27.7 15.3-10.3-.7-17.8-7.7-22.7-15.6zm65.6 41.5l-90.4 1.5c-.9 9.3 6.9 16.2 12.3 20.3l66.7-.2c7.2-8 8.6-11.2 11.4-21.6zM236 376.8c-14.4 39-29.7 77.9-41.2 117.2h53.1c6.7-12.3 12.8-24.9 18-37.8-.7-31.9-14.5-62.9-29.9-79.4zm70.3 7.3l-41.9.1c7.8 13.1 11.8 28.8 15 45.6l8.3-.8c6.1-15.2 10.6-30.7 18.6-44.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Strongbox;

impl IconShape for Strongbox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v414h462V25H25zm30 30h402v32h16v66h-16v158h16v66h-16v32H55V55zm18 18v318h366v-14h-32v-66h32V153h-32V87h32V73H73zm352 32v30h30v-30h-30zm-217 30c21.3 0 40.8 7.5 56.1 20.1l17.5-17.5 12.8 12.8-17.5 17.5c12.6 15.3 20.1 34.8 20.1 56.1 0 21.3-7.5 40.8-20.1 56.1l17.5 17.5-12.8 12.8-17.5-17.5C248.8 305.5 229.3 313 208 313c-21.3 0-40.8-7.5-56.1-20.1l-17.5 17.5-12.8-12.8 17.5-17.5C126.5 264.8 119 245.3 119 224c0-21.3 7.5-40.8 20.1-56.1l-17.5-17.5 12.8-12.8 17.5 17.5c15.3-12.6 34.8-20.1 56.1-20.1zm0 18c-16.4 0-31.4 5.5-43.4 14.8l21.6 21.6c6.3-4.1 13.8-6.4 21.8-6.4s15.5 2.3 21.8 6.4l21.6-21.6c-12-9.3-27-14.8-43.4-14.8zm152 14c18.1 0 33 14.9 33 33 0 7-2.2 13.5-6 18.9V272c0 19.4-12.7 33-27 33s-27-13.6-27-33v-53.1c-3.8-5.4-6-11.9-6-18.9 0-18.1 14.9-33 33-33zm-208.2 13.6c-9.3 12-14.8 27-14.8 43.4s5.5 31.4 14.8 43.4l21.6-21.6c-4.1-6.3-6.4-13.8-6.4-21.8s2.3-15.5 6.4-21.8l-21.6-21.6zm112.4 0l-21.6 21.6c4.1 6.3 6.4 13.8 6.4 21.8s-2.3 15.5-6.4 21.8l21.6 21.6c9.3-12 14.8-27 14.8-43.4s-5.5-31.4-14.8-43.4zM360 185c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-152 16c-12.8 0-23 10.2-23 23s10.2 23 23 23 23-10.2 23-23-10.2-23-23-23zm143 30.7V272c0 12.6 5.3 15 9 15s9-2.4 9-15v-40.3c-2.9.8-5.9 1.3-9 1.3-3.1 0-6.1-.5-9-1.3zm-164.8 26.9l-21.6 21.6c12 9.3 27 14.8 43.4 14.8s31.4-5.5 43.4-14.8l-21.6-21.6c-6.3 4.1-13.8 6.4-21.8 6.4s-15.5-2.3-21.8-6.4zM425 329v30h30v-30h-30zM73 457v30h34.2l20-30H73zm311.8 0l20 30H439v-30h-54.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StumpRegrowth;

impl IconShape for StumpRegrowth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340.49 22.054c-17.788 7.15-49.024 20.552-59.064 35.639-1.838 7.23-1.993 13.487-1.36 20.338 10.617 2.524 36.557 6.219 44.83.57 12.503-17.52 14.686-36.73 15.594-56.547zM153.275 93.203c4.617 11.008 16.711 33.779 26.684 38.125 14.197.584 25.654-3.953 37.809-10.043-.31-6.472-1.23-12.832-4.317-18.946-19.943-10.169-39.284-10.39-60.176-9.136zm113.065-.178c3.292 13.352 4.73 28.28 4.869 43.781-9.808-7.078-21.754-12.323-35.424-16.719.576 12.254 1.829 11.19-8.064 16.323 20.091 6.216 34.09 13.638 42.785 24.087-1.709 26.314-6.236 52.816-11.033 74.891-29.017.858-66.277 4.96-98.692 11.578l31.555 15.778-62.787-8.067c-15.631 2.586-37.94 11.115-39.885 21.535 4.597 25.662 46.115 37.152 66.242 42.44 39.935 10.325 89.41 14.715 123.266 13.758 15.999-.453 36.857-3.302 58.262-7.807l-36.838-37.246 60.752 31.558c23.759-7.108 48.944-13.873 69.228-28.002 3.263-2.909 11.892-8.346 10.266-13.416-1.992-6.049-8.55-12.537-19.824-18.252-11.274-5.714-26.65-10.443-43.696-14.013-25.801-5.405-55.427-8.25-81.365-9.399l-9.307 46.688c-24.265 22.16-60.971 9.42-65.855-9.73l17.82-2.516c8.81 9.717 23.65 8.05 31.668 2.299 2.728-18.037 8.29-37.814 11.41-54.38 19.514-3.23 34.898-12.69 47.414-25.718-6.781-1.972-8.843-8.857-10.908-14.852-9.091 10.011-20.836 18.766-33.308 21.82 4.99-32.922 7.16-69.553.896-101.86-6.572-1.124-13.045-2.717-19.447-4.56zm66.334 63.795c-1.605 16.293 6.397 20.5 21.117 22.713 6.624-9.055 8.818-18.113 10.29-28.23-9.608 1.337-24.542-2.709-31.407 5.517zm0 0c-.01.002-.03.025-.069.078.017-.023.05-.054.069-.078zm107.15 149.574c-21.391 12.958-40.529 20.195-62.119 26.635l-10.562 45.209-18.586-37.576c-24.69 5.623-49.317 9.184-68.877 9.738-35.856 1.014-86.094-3.416-128.278-14.322-21.541-7.093-42.932-12.835-59.435-25.18l-13.315 97.834-57.873 60.295c28.18-1.896 55.714 11.198 79.494 5.6 10.158-2.454 24.265-7.616 44.838-17.016l48.213-39.643-25.574 41.69c47.098 21.387 91.582 11.977 133.459-5.725l-13.03-70.729 40.928 65.342c44.79 36.762 98.077 49.681 151.114 36.184 4.427-1.15 8.003-2.35 11-3.483l-33.825-48.962-22.216 23.923 12.277-64.838z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StunGrenade;

impl IconShape for StunGrenade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.785 20.36c-16.934 0-32.385 4.04-44.254 11.214-11.867 7.176-20.745 18.27-20.745 31.643 0 13.372 8.878 24.467 20.746 31.642 11.87 7.175 27.32 11.214 44.255 11.214 11.424 0 22.168-1.845 31.598-5.244l-18.87 18.87L390.552 242.74l21.214-21.215-122-122c3.282-1.36 6.387-2.917 9.275-4.664 6.595-3.988 12.26-9.19 15.997-15.317l18.943 18.945-9.898 9.9 107.79 107.79 16.263-48.79-91.526-91.53-9.9 9.902-27.31-27.31c-1.817-11.24-9.933-20.57-20.36-26.876-11.87-7.175-27.32-11.215-44.255-11.215zM359.12 33.12l-9.897 9.9L468.73 162.525l-24.953 74.856-142.76 164.725 9.926 9.928L473.1 228.256l20.29-60.87L359.12 33.12zm-104.335 5.24c13.994 0 26.542 3.54 34.942 8.62 8.4 5.077 12.058 10.91 12.058 16.237 0 5.327-3.66 11.16-12.058 16.238-8.4 5.078-20.948 8.62-34.942 8.62-13.993 0-26.542-3.542-34.94-8.62-8.4-5.078-12.06-10.91-12.06-16.238 0-5.327 3.66-11.16 12.06-16.238 8.398-5.08 20.947-8.62 34.94-8.62zm0 94.068L52.55 334.66 175.59 457.7l202.232-202.233-123.037-123.04zM39.822 347.388l-21.21 21.216L141.645 491.64l21.215-21.214L39.823 347.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Submarine;

impl IconShape for Submarine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M315 144v21.75L292 160l-16 80H164c-49.154 16.385-81.254 27.1-102.578 34.846L52 256l-16-16v44.918C20.047 292.31 20 296.316 20 304c0 7.712.05 11.717 16 19.162V368l16-16 9.352-18.703c21.094 7.734 52.752 18.418 101.072 34.703H372c160-16 160-128 0-128h-16v-64l-23-5.75V144h-18zM148 263h256v18H148v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SubmarineMissile;

impl IconShape for SubmarineMissile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M470.1 27.78l-63.3 55.8 33.7 23.22zm-75.6 69.15L295.7 240.2l37.9 26.1L432.4 123 413 109.6zm-88.6 96.77l-47.4 16-28.4 41.1 47.4-15.9zm67.5 46.6l-17.7 25.6-10.7 15.5 2 50 28.4-41.1zm-91.2 12.4l-40 35.9 34.8-7.4-31.3 58.7-69.5 33.8-10.5-63.7-38.2 58.5-22.5-51-6.54 125c-10.6-4.7-21.96-8.3-34.46-8.3-14.1 0-30.44 4.4-46 9.8v19.2c16.71-6 34.61-11 46-11 14.02 0 28.33 7 43.9 15 15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15s28.3 7 43.9 15c15.6 8 32.4 17 52.1 17 19.7 0 36.5-9 52.1-17 15.6-8 29.9-15 43.9-15 11.4 0 29.3 5 46 11V444c-15.6-5.4-31.9-9.8-46-9.8-19.7 0-36.5 9-52.1 17-15.6 8-29.9 15-43.9 15s-28.3-7-43.9-15c-14.7-7.6-30.5-16-48.8-16.9l69.9-42.6-63 10.5 30.1-32.6c7.6 2.8 19.3-10.1 14.6-16.2-.9-1.1-2.3-1.5-3.8-1.5-3.5.1-7.7 2.5-9.8 4.7-2 2.1-3.8 6.1-3.6 9.2l-35.8 10.9 2.8-41.9 35.1-41.5 8.3 41.1 21.8-51.5zM75.05 268.8c-.22 0-.45.1-.68.1-4.59.8-4.92 9.7-2.65 13.7 2.4 4.3 10.61 9.1 13.81 5.3 4.55-5.4-3.37-19.3-10.48-19.1zm64.35 4.8c-.5 0-1.1.1-1.6.3-8.9 3.5-7.6 22.3 1.7 24.7 6.4 1.4 11.8-8.1 11.2-13.5-.3-4.5-5.6-11.3-10.7-11.5zm-65.25 55.8c-1.92 0-3.52.5-4.42 1.7-2.25 3.1 3.44 9.9 7.46 11.7 4.3 1.9 12.45 1.1 11.87-3.4-.64-5-9.17-9.9-14.91-10zm290.15 55.3c-7.3 0-17.5 6.2-16.7 12.3.6 4.8 9.8 4.3 14.3 2.4 4.6-2 11.5-8.7 8.3-12.5-1.3-1.6-3.5-2.2-5.9-2.2zm-27.9 23c-2.4 0-4.6.7-5.8 2.5-2.5 3.9 3.4 10 7.4 11.8 4 1.8 12.3 2 12.6-3 .4-5.9-7.9-11.2-14.2-11.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Subway;

impl IconShape for Subway {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.1 37.15L105.4 328.8l26.3 26.3h248.6l26.3-26.3-30.7-291.65H361v44H151v-44zm32.9 0v26h174v-26zm-16.9 60h207.8l18.3 145.95H133.8zm15.8 17.95l-13.7 110h203.6l-13.7-110zm-7.9 158c18.1 0 33 14.9 33 33 0 18.2-14.9 33-33 33s-33-14.8-33-33c0-18.1 14.9-33 33-33zm192 0c18.1 0 33 14.9 33 33 0 18.2-14.9 33-33 33s-33-14.8-33-33c0-18.1 14.9-33 33-33zm-192 18c-8.4 0-15 6.7-15 15 0 8.4 6.6 15 15 15s15-6.6 15-15c0-8.3-6.6-15-15-15zm192 0c-8.4 0-15 6.7-15 15 0 8.4 6.6 15 15 15s15-6.6 15-15c0-8.3-6.6-15-15-15zm-204.5 82L91.6 486.8h46.8l13.5-28.7h208.2l13.5 28.7h46.8l-55.9-113.7h-42.4l6.3 14H183.6l6.3-14zm28 32h161l10.2 23H165.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SugarCane;

impl IconShape for SugarCane {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.34 21.275c-61.1 44.835-108.23 124.229-103.512 198.29 6.36-7.25 13.422-13.883 21.139-19.713 11.146-65.623 49.022-131.354 82.373-178.577zM57.383 22.758c24.174 34.235 50.712 78.19 67.728 124.773 7.978 6.219 15.304 13.215 21.76 20.94a236.975 236.975 0 0 1 3.951-15.287c-16.31-48.832-51.666-104.548-93.44-130.426zm405.053 10.744c-47.361 40.863-69.363 100.554-74.997 158.209a202.35 202.35 0 0 1 8.16 11.328 201.113 201.113 0 0 1 16.737-29.867c9.403-51.405 27.53-101.544 50.1-139.67zm-92.069 3.707c-64.832 14.582-107.75 78.8-116.562 136.773 2.973 1.672 6.73 5.1 9.265 8.455 22.607-66.53 61.275-110.735 107.297-145.228zm-353.123 91.37c51.778 24.363 105.825 56.494 127.035 103.939-2.272-12.34-2.629-25.452-1.396-38.944-28.597-42.532-78.956-63.451-125.639-64.996zm476.056 27.49c-34.406-.802-76.934 23.426-86.128 66.726 1.139 4.58 13.022 13.846 21.013 16.969.773-43.834 37.177-62.218 65.115-83.695zm-174.29 2.181c21.04 21.461 48.917 45.511 61.953 86.13 4.24-2.486 8.63-4.729 13.18-6.693-15.79-31.463-44.049-67.846-75.133-79.437zm-73.265 30.155c-37.362 3.63-64.025 29.123-83.225 58.677-14.63 22.519-23.115 49.683-24.555 76.266 25.986-53.821 62.46-108.757 112.652-127.534zm31.927 13.365c-2.223 2.752-5.084 4.713-7.885 6.818 31.072 26.356 47.903 58.752 56.068 93.111a205.85 205.85 0 0 1 9.504-14.467c-9.09-33.826-32.122-70.188-57.687-85.462zM248.41 215.8a128.121 128.121 0 0 0-9.748 4.63l-1.48 27.127c14.5 11.416 25.42 23.037 34.015 37.332l2.711-49.662c-6.944-6.998-15.319-13.482-25.498-19.426zm-120.312 24.09C71.5 256.71 37.71 308.58 28.604 361.046c29.726-43.263 59.439-87.436 104.86-106.18-1.603-5.314-3.395-10.297-5.366-14.974zm74.738 9.506c-3.896 5.005-7.323 9.1-10.813 14.153 43.782 20.683 60.177 57.427 80.86 93.969-2.173-48.16-27.882-92.375-70.047-108.121zm205.033 2.33c-29.13 10.175-52.395 33.868-69.392 64.065-11.124 19.76-19.43 42.164-24.94 64.672 19.94-27.481 34.02-48.154 47.813-65.518 16.755-21.093 33.426-37.283 58.636-53.603-2.898-5.063-7.514-9.234-12.117-9.615zm22.572 24.243c-5.147 3.297-9.868 6.548-14.26 9.812 23.392 42.081 38.88 88.57 55.426 133.594-1.502-49.435-13.906-99.519-41.166-143.406zM174.115 293.63c-10.184 19.084-19.878 39.48-32.46 59.031l1.687 27.598c12.051 1.164 23.366-1.86 35.72-5.682zm227.905 3.7c-12.309 11.669-21.565 22.225-30.59 33.958 8.607 6.083 19.627 8.03 32.529 8.234l6.086-26.554a405.944 405.944 0 0 0-8.025-15.639zm-169.012 26.702l-2.383 43.643.541-.807c9.337 6.267 18.402 6.229 28.932 4.631-10.136-17.217-18.219-33.414-27.09-47.467zm131.951 24.508l-12.9 56.295c11.853 5.06 22.705 9.387 34.753 9.504l13.045-56.922c-12.158-.504-24.254-2.66-34.898-8.877zm-135.355 37.85l-2.575 47.148c12.128 4.554 23.916 6.054 35.803 4.572l2.688-49.242c-11.093 1.813-23.479 2.755-35.916-2.478zm-49.413 6.656c-10.937 3.273-22.755 6.1-35.74 5.361l3.897 63.762c13.989.1 26.73-.425 35.804-4.287zm167.772 29.656l-12.32 53.764c11.403 4.048 23.029 6.993 34.884 8.937l12.192-53.197c-12.962-.822-24.314-5.066-34.756-9.504zM226.01 452.21L223.729 494h36.052l2.059-37.703c-11.976 1.028-23.997-.38-35.83-4.088zm-40.705 24.514c-11.492 3.648-23.852 3.84-35.85 3.588l.836 13.689h36.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Suitcase;

impl IconShape for Suitcase {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208 95c-3.583 0-7.736 1.925-9.977 4.613-2.24 2.69-2.99 5.447-3.4 7.907-.82 4.92-.247 9.48.5 13.96.316 1.897.698 3.748 1.096 5.52h18.534c-.67-2.54-1.387-5.542-1.877-8.48-.35-2.093-.483-3.963-.53-5.52h87.305c-.046 1.557-.18 3.427-.53 5.52-.49 2.938-1.205 5.94-1.876 8.48h18.535c.4-1.772.78-3.623 1.097-5.52.747-4.48 1.32-9.04.5-13.96-.41-2.46-1.16-5.218-3.4-7.907C311.737 96.925 307.583 95 304 95h-96zm-105 16v18h50v-18h-50zm256 0v18h50v-18h-50zM96 145c-5 0-11.05 2.777-15.637 7.363C75.777 156.95 73 163 73 168v208c0 5 2.777 11.05 7.363 15.637C84.95 396.223 91 399 96 399h23V145H96zm41 0v254h238V145H137zm256 0v254h23c5 0 11.05-2.777 15.637-7.363C436.223 387.05 439 381 439 376V168c0-5-2.777-11.05-7.363-15.637C427.05 147.777 421 145 416 145h-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Summits;

impl IconShape for Summits {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96.07 20c-26.51 0-48 21.49-48 48 0 26.5 21.49 48 48 48 26.53 0 48.03-21.5 48.03-48 0-26.51-21.5-48-48.03-48zM326.2 81.5L217.1 237.9l-6.5 69.2-86.1-108.7-68.48 111.4-10.63 56.1-29.26 67.7 1.13.5L64.07 492l96.03-21.3 25.3-25.4-69.5-93.5 45.4-24.8-34.5-96.5 136.3 180.2 9-14.7-19.1-86 66.8-28.6.3-156.4 51.7 178.7-44.6 62.8-9 39.4-50.8 54.8L403 426.6l-37.1-21.2 34.5-31.8-27.8-23.3 52.8-72.3 6.1 90.6 52 49.9 12.4-13-47-45.1-7.5-112.8-57.3 33.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SunCloud;

impl IconShape for SunCloud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383.215 71.94a96 96 0 0 0-96 96 96 96 0 0 0 8.484 39.17c2.492-.108 4.994-.166 7.503-.17h.011c34.226.002 65.356 9.18 88.478 24.636 10.776 7.204 19.885 15.916 26.54 25.738a96 96 0 0 0 60.982-89.373 96 96 0 0 0-96-96zM154.662 179.845c-47.352.003-85.174 36.46-85.178 81.19v.007c.005 7.39 1.07 14.74 3.162 21.86l2.788 9.477-9.698 1.894c-13.05 2.55-23.76 7.818-30.85 14.125-7.087 6.303-10.49 13.255-10.5 20.293v.003c.002 8.806 5.325 17.41 15.807 24.398 10.482 6.988 25.778 11.695 42.832 11.697 8.47-.017 16.842-1.206 24.483-3.443l4.605-1.35 3.686 3.072c17.088 14.243 49.872 24.26 85.2 24.27 14.3-.024 28.434-1.62 41.37-4.64l7.33-1.714 2.982 6.91c8.13 18.84 35.242 34.145 67.123 34.17 20.066-.003 38.075-5.86 50.593-14.742 12.492-8.862 19.286-20.168 19.317-32.172-.012-.335-.028-.67-.05-1.007l-.7-10.11 10.12.495c3.337.164 6.696.252 10.06.26 23.21-.002 44.206-3.737 58.597-9.3 7.198-2.783 12.702-6.056 15.924-9 3.216-2.94 3.942-4.99 3.945-6.514-.004-1.374-.584-3.16-3.215-5.794-2.637-2.64-7.215-5.67-13.352-8.352-12.275-5.363-30.592-9.408-51.623-10.412l-10.803-.516 2.47-10.53c.747-3.18 1.134-6.365 1.18-9.555-.023-18.135-10.99-35.177-30.578-48.27-19.606-13.107-47.5-21.598-78.475-21.6-20.483.028-40.557 3.834-57.793 10.85l-8.252 3.36-3.443-8.216c-12.866-30.71-44.097-51.07-79.06-51.09h-.005z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SunPriest;

impl IconShape for SunPriest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M478.6 22.09c-11.2 11.31-19.5 24.46-26.3 38.48l25 37.39c4.4-3.16 9.9-6.06 16.9-8.54-20.7-10.02-26.7-29.08-10.3-44.81zm-445.2.59L28.1 45.2c16.4 15.73 10.4 34.79-10.3 44.81 6.7 2.39 12.03 5.16 16.41 8.18l25.13-37.72C52.66 46.71 44.39 33.8 33.4 22.68zm187 4.16l-17.2 5.26 9.1 29.74c5.4-2.42 11.1-4.42 17-5.95zm70.8 0l-8.9 29.05c5.9 1.53 11.6 3.53 17 5.95l9.1-29.74zm-141 28.27l-12.8 12.72 28.8 28.89c1-1.11 1.9-2.2 2.9-3.28 3.1-3.36 6.3-6.6 9.7-9.68zm211.2 0l-28.6 28.65c3.4 3.08 6.6 6.32 9.7 9.68 1 1.06 1.9 2.14 2.8 3.22l28.9-28.83zM255.8 70.47c-29 0-54.7 14.55-73.3 35.03-16.1 17.7-26.5 39.8-29 59h204.6c-2.5-19.2-12.9-41.3-29-59-18.6-20.48-44.3-35.03-73.3-35.03zM61.38 89.87L40.52 121.1c-7.14 61 8.68 105.3 31.39 126.3C83.38 258 96.3 262.9 110 262c13.7-.8 28.6-7.6 43.4-22.4l11.9-11.9 3.3 16.5c7.8 38.7 23.2 69.4 40.2 90.1 16.9 20.7 35.5 30.7 47 30.7s30.1-10 47-30.7c17-20.7 32.4-51.4 40.2-90.1l3.3-16.5 11.9 11.9c14.8 14.8 29.7 21.6 43.4 22.4 13.7.9 26.6-4 38.1-14.6 22.7-21 38.5-65.3 31.4-126.3l-20.9-31.23c-15.4 40.03-35.1 68.73-63.4 87.63-13 8.6-27.5 15.1-44 19.7-4.2 17.9-14.7 38.6-27.5 57.8-8.3 12.5-17.7 24-27.5 32.7-9.9 8.8-20.2 15.3-32 15.3s-22.1-6.5-32-15.3c-9.8-8.7-19.2-20.2-27.5-32.7-12.8-19.2-23.3-39.9-27.5-57.8-16.5-4.6-31-11.1-44-19.7-28.28-18.9-47.97-47.6-63.42-87.63zM114.6 117l-5.6 17 30.5 10.1c1.8-5.5 4-11.1 6.6-16.6zm282.4 0l-31.5 10.5c2.6 5.5 4.8 11.1 6.6 16.6l30.5-10.1zm-177.5 65.5c5.7 17.9 20.2 30 36.3 30 16.1 0 30.6-12.1 36.3-30zm-30 19.5c4.7 13 12.4 29 21.8 43 7.7 11.5 16.3 22 24.5 29.3 8.1 7.2 15.8 10.7 20 10.7 4.2 0 11.9-3.5 20-10.7 8.2-7.3 16.8-17.8 24.5-29.3 9.4-14 17.1-30 21.8-43-6.7 1.2-13.7 2.2-21 2.9-10.3 15.4-26.5 25.6-45.3 25.6-18.8 0-35-10.2-45.3-25.6-7.3-.7-14.3-1.7-21-2.9zm-4.6 130.3c-14.8 56.6-37.6 115.1-57 156.7 48.5-10.6 80.3-10.3 118.9.9V382.1c-17.7-3.4-35.7-16.5-52-36.4-3.4-4.2-6.7-8.6-9.9-13.4zm141.8 0c-3.2 4.8-6.5 9.2-9.9 13.4-16.3 19.9-34.3 33-52 36.4v107.8c38.6-11.2 70.4-11.5 118.9-.9-19.4-41.6-42.2-100.1-57-156.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SunSpear;

impl IconShape for SunSpear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.632 28.52c-15.21 29.776-26.798 59.26-36.147 88.652l-3.888 12.226-10.172-7.82c-23.276-17.89-44.87-38.798-63.885-63.892 1.717 33.39 6.423 64.716 13.022 94.843l2.746 12.533-12.72-1.686c-29.102-3.856-58.257-11.165-87.27-23.39 18.18 28.057 37.92 52.835 58.7 75.626l8.64 9.48-11.856 4.9c-27.133 11.213-56.04 19.458-87.28 23.376 29.775 15.208 59.26 26.797 88.65 36.146l12.227 3.888-7.82 10.172c-17.892 23.276-38.8 44.87-63.893 63.885 33.39-1.716 64.716-6.422 94.843-13.02l12.533-2.747-1.685 12.72c-3.856 29.102-11.165 58.257-23.39 87.27 28.057-18.18 52.835-37.92 75.626-58.7l9.48-8.64 4.9 11.856c11.213 27.132 19.458 56.038 23.376 87.28 15.21-29.776 26.798-59.26 36.147-88.652l3.888-12.226 10.172 7.82c23.276 17.89 44.87 38.798 63.885 63.892-1.717-33.39-6.423-64.716-13.022-94.843l-2.746-12.532 12.72 1.685c29.102 3.856 58.257 11.165 87.27 23.39-18.18-28.057-37.92-52.835-58.7-75.626l-8.64-9.48 11.856-4.9c27.133-11.213 56.038-19.458 87.28-23.376-29.775-15.208-59.26-26.797-88.65-36.146l-12.227-3.888 7.82-10.172c17.89-23.276 38.798-44.87 63.892-63.885-18.057.927-35.508 2.736-52.496 5.24L276.195 276.4c-6.194 6.236-14.033 9.328-21.386 9.077-7.354-.253-13.934-3.538-18.73-8.396-9.59-9.716-11.724-27.68.407-40.166l.045-.047 118.098-118.1c4.217-19.508 10.193-39.013 18.385-58.454-28.058 18.182-52.836 37.92-75.627 58.7l-9.48 8.642-4.9-11.857C271.794 88.67 263.55 59.763 259.63 28.52zm224.03.818l-86.112 54.8v31.313h31.314l54.8-86.112zM379.55 119.31l-8.37 8.372-121.783 121.78c-6.11 6.288-4.212 11.222-.505 14.977 1.853 1.877 4.235 2.972 6.533 3.05 2.297.08 4.797-.547 8.002-3.773l.01-.01L393.69 133.45h-14.14v-14.14zM144.64 374.507a662.042 662.042 0 0 1-24.73 4.443l-92.39 92.39 14.14 14.14 101.163-101.162a341.49 341.49 0 0 0 1.817-9.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunflower;

impl IconShape for Sunflower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274 26.5c-10.161 19.207-21.438 38.715-28.715 58.063-8.69 23.102-11.63 44.996-1.693 67.173 13.223-1.447 27.547-.183 39.744 2.809 12.33-23.057 14.079-46.848 9.973-70.748C289.933 64.15 282.524 44.657 274 26.5zM138.518 47.807c4.509 17.9 8.552 37.348 13.855 56.334 8.076 28.912 19.233 55.27 37.055 70.73a104.882 104.882 0 0 1 37.006-19.625c-6.189-20.148-23.477-43.439-44.252-65.334-14.327-15.099-29.39-29.04-43.664-42.105zm234.304 32.525c-17.615 14.32-33.925 25.364-46.11 36.711-13.703 12.762-22.372 25.14-24.421 44.736a105.643 105.643 0 0 1 31.793 24.114c16.86-14.798 25.494-31.17 30.734-50.211 4.5-16.351 6.28-35.29 8.004-55.35zM60.547 131.234c8.7 18.074 19.14 36.126 32.246 51.147 15.944 18.273 35.498 31.934 61.164 36.928 8.262-10.316 15.239-23.396 23.03-32.37-10.91-21.855-29.799-33.447-53.284-41.32-19.598-6.57-41.846-10.14-63.156-14.385zm419.176 29.586c-18.258 2.726-38.008 4.836-57.424 8.244-30.068 5.28-57.828 13.983-74.904 30.739l16.084 38.074c20.79-3.984 45.954-19.028 70.046-37.748 16.436-12.771 31.79-26.39 46.198-39.309zM256 169c-48.155 0-87 38.845-87 87s38.845 87 87 87 87-38.845 87-87-38.845-87-87-87zm0 12.201c41.204 0 74.799 33.595 74.799 74.799 0 41.204-33.595 74.799-74.799 74.799-41.204 0-74.799-33.595-74.799-74.799 0-41.204 33.595-74.799 74.799-74.799zm15.777 8.682l-4.222 17.496 14.402 3.476 4.223-17.496zm-40.351 8.687v18h18.873v-18zm-27.647 18.883l-8.94 15.395 15.567 9.039 8.94-15.395zm92.41 3.002l-16.884 1.49 1.582 17.932 16.884-1.49zm-39.587 9.732l-15.825 10.12 9.7 15.164 15.824-10.12zm-126.334 2.766c-19.262.194-39.851 5.321-54.51 11.799-15.367 7.173-30.94 18.094-47.332 29.785 22.322 4.13 41.304 9.39 57.842 11.313 20.545 2.387 46.184-1.584 64.468-16.21l-1.918-35.103c-5.857-1.164-12.13-1.648-18.55-1.584zm178.664 13.879l-6.383 16.828 14.4 5.463 6.383-16.828zm-100.077 2.397l-.546 17.992 16.388.498.547-17.992zm172.834 4.457c-6.146.068-12.51.747-19.367 2.08-1.959 15.376-6.896 31.081-9.855 43.84 18.294 14.066 38.106 17.06 61.488 14.693 20.415-2.067 43.486-8.631 67.697-15.301-15.874-13.122-32.566-25.334-50.322-33.695-17.507-7.256-31.706-11.345-47.02-11.61a93.005 93.005 0 0 0-2.62-.008zm-100.263 11.869l-20.362.498.442 17.996 20.361-.498zM215.809 280.8l-4.52 17.424 18.676 4.177 4.52-17.424zm86.115.584l-12.912 9.931 10.972 14.27 12.912-9.932zm-145.2 15.838c-23.384 1.195-36.822 10.464-50.605 25.886-11.52 12.892-28.695 33.236-43.455 51.936 21.769-.505 47.299-4.865 64.227-9.998 19.952-6.05 36.586-16.937 51.19-38.754-8.307-10.52-13.16-18.75-21.356-29.07zm110.77 5.351l-15.892.496.562 17.993 15.893-.497zm72.1 16.877c-5.326 12.205-30.778 23.962-35.227 31.528 27.547 39.306 81.094 54.027 126.317 56.8-13.04-18.243-26.832-38.452-42.409-55.164-14.764-15.84-30.642-28.043-48.681-33.164zm-146.858 20.285c-13.155 15.84-23.681 41.258-31.543 68.727-5.727 20.01-10.082 40.067-14.084 59 13.128-12.977 27.824-26.34 41.483-40.553 21.13-21.987 38.386-45.374 42.303-68.953a104.661 104.661 0 0 1-38.159-18.22zm97.137 21.35l-43.373 3.172c-7.303 45.857 19.494 90.883 47.504 119.898 11.935-41.049 20.331-92.31-4.131-123.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunglasses;

impl IconShape for Sunglasses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M131.127 175.44c-33.59.04-59.132 7.456-86.086 15.046-8.453 1.495-15.128 3.99-18.638 10.47-3.532 6.524-1.073 13.252 1.537 17.888 4.818 8.555 12.362 16.51 15.298 21.703 3.465 17.812 8.065 35.346 15.467 50.7 12.98 26.928 36.845 47.046 74.7 45.194 46.849-2.29 73.352-20.134 87.503-41.22 14.152-21.088 16.572-44.617 19.54-56.484 7.612-16.64 23.278-16.838 31.105 0 2.967 11.867 5.387 35.396 19.54 56.483 14.15 21.086 40.654 38.93 87.503 41.22 37.854 1.853 61.72-18.265 74.7-45.192 7.403-15.355 12-32.89 15.466-50.7 2.936-5.195 10.48-13.15 15.3-21.704 2.61-4.636 5.068-11.364 1.536-17.887-3.51-6.48-10.185-8.976-18.64-10.47-26.953-7.59-52.495-15.007-86.085-15.048-26.88-.033-58.915 4.656-100.97 17.753l-5.507 1.715c-18.397 3.264-18.395 3.264-36.792 0l-5.506-1.715c-42.056-13.097-74.092-17.786-100.97-17.754zm.146 16.55c23.79.02 52.275 4.346 90.288 15.772 2.44 6.41 5.193 17.415 2.118 28.304-3.397 14.196-5.85 33.31-16.85 49.704-11.352 16.916-31.195 31.63-74.25 33.736-32.043 1.568-47.433-12.454-58.6-35.62-6.38-13.23-10.624-29.463-13.982-46.6l.037-.01-4.05-32.26c24.43-6.927 46.61-13.05 75.29-13.026zm249.452 0c28.68-.023 50.863 6.098 75.293 13.026l-4.05 32.26.036.01c-3.358 17.137-7.603 33.37-13.98 46.6-11.17 23.166-26.56 37.188-58.602 35.62-43.055-2.107-62.9-16.82-74.252-33.736-11-16.393-13.45-35.508-16.848-49.704-2.605-13.286-.322-21.894 2.115-28.304 38.013-11.426 66.497-15.752 90.288-15.772zM133.94 202.52c-18.563.07-37.993 3.335-53.94 11.652-12.87 42.026 3.515 64 16 80 1.317-37.663-15.127-81.69 96-80-11.76-6.544-34.194-11.74-58.06-11.65zm231.88 0c-18.563.07-37.992 3.335-53.94 11.652-12.87 42.026 3.515 64 16 80 1.317-37.663-15.126-81.69 96-80-11.76-6.544-34.193-11.74-58.06-11.65z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunrise;

impl IconShape for Sunrise {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32l-64 80h32v64h64v-64h32l-64-80zm-9 187v80h18v-80h-18zm-63.992 53.602l-16.631 6.886 15.309 36.955 16.628-6.886-15.306-36.955zm145.984 0l-15.306 36.955 16.628 6.886 15.309-36.955-16.63-6.886zM77.795 284.068l-12.727 12.727 56.569 56.568 12.726-12.726-56.568-56.569zm356.41 0l-56.568 56.569 12.726 12.726 56.569-56.568-12.727-12.727zM256 337.994a118.919 118.919 0 0 0-59.5 15.95c-34.215 19.754-56.177 55.048-59.129 94.056H374.63c-2.952-39.008-24.914-74.302-59.129-94.057a118.919 118.919 0 0 0-59.5-15.949zM66.488 387.377l-6.886 16.63 36.955 15.307 6.886-16.628-36.955-15.309zm379.024 0l-36.955 15.309 6.886 16.628 36.955-15.306-6.886-16.631zM24 466v18h464v-18H24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunset;

impl IconShape for Sunset {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 27v80h18V27h-18zm-63.992 53.602l-16.631 6.886 15.309 36.955 16.628-6.886-15.306-36.955zm145.984 0l-15.306 36.955 16.628 6.886 15.309-36.955-16.63-6.886zM77.795 92.068l-12.727 12.727 56.569 56.568 12.726-12.726-56.568-56.569zm356.41 0l-56.568 56.569 12.726 12.726 56.569-56.568-12.727-12.727zM256 145.994a118.919 118.919 0 0 0-59.5 15.95c-34.215 19.754-56.177 55.048-59.129 94.056H374.63c-2.952-39.008-24.914-74.302-59.129-94.057a118.919 118.919 0 0 0-59.5-15.949zM66.488 195.377l-6.886 16.63 36.955 15.307 6.886-16.628-36.955-15.31zm379.024 0l-36.955 15.309 6.886 16.628 36.955-15.306-6.886-16.631zM24 274v18h464v-18H24zm200 62v64h-32l64 80 64-80h-32v-64h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SurfBoard;

impl IconShape for SurfBoard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M432 32c-17.7 0-32 14.33-32 32s14.3 32 32 32 32-14.33 32-32-14.3-32-32-32zM119 75.4c-4.7 2.58-9.2 7.28-13.7 14.42-7.33 11.68-13.71 28.88-18.57 48.38C77 177.1 73 224.8 73 256c0 51.3 7.45 143.4 12.63 193 10.49-5.2 21.27-9.1 31.67-10 .6 0 1.1-.1 1.7-.1zm18 0v364.1c10.8 1.3 22.1 4.1 33.3 7.7C175.2 397.3 183 307 183 256c0-31.2-4-78.9-13.7-117.8-4.9-19.5-11.3-36.7-18.6-48.38-4.5-7.14-9-11.84-13.7-14.42zM320 231c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14-8.2-6.5-17.4-14.4-29.2-17.1.3 6.8.5 13.3.6 19.3 5.3 2.5 11.1 6.7 17.4 11.8 10 8 21.6 18 37.6 18s27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 23.8 7 36.2 14.7 3.6 2.2 6.9 4.3 9.8 6.3v-21.5c-.1-.1-.2-.1-.3-.2C480.1 240 464 231 448 231c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S336 231 320 231zm-264.35.8c-13.16 2.3-26.13 9.6-37.31 16.5-.12.1-.22.1-.34.2V270c2.94-2 6.22-4.1 9.77-6.3 8.74-5.4 19.12-10.4 27.27-13 .1-5.9.28-12.2.61-18.9zM320 311c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14-8.4-6.8-18-14.9-30.4-17.3-.4 6-.7 12.1-1.1 18.4 6.2 2 12.8 6.9 20.3 12.9 10 8 21.6 18 37.6 18s27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 16.4 6 26.4 14s21.6 18 37.6 18 27.6-10 37.6-18 18.5-14 26.4-14c7.9 0 23.8 7 36.2 14.7 3.6 2.2 6.9 4.3 9.8 6.3v-21.5c-.1-.1-.2-.1-.3-.2C480.1 320 464 311 448 311c-16 0-27.6 10-37.6 18s-18.5 14-26.4 14c-7.9 0-16.4-6-26.4-14S336 311 320 311zm-263.27.6c-13.52 2.2-26.88 9.7-38.35 16.7-.13.1-.25.2-.38.2V350c2.95-2 6.23-4.1 9.8-6.3 9.74-6 21.49-11.6 29.95-13.7-.37-6.2-.71-12.4-1.02-18.4zM21 393v94h7.74c4.74-3.9 15.71-12.5 29.04-21.4 3.41-2.3 6.96-4.6 10.61-6.9-1.88-17.3-4.06-40.3-6.14-65.7zm172.4 0c-1.9 23.1-3.9 43.9-5.6 60.5 7.2 2.8 14.2 5.7 20.9 8.7 25.1 11 44.5 22 49.4 24.8H493v-94zm-70.5 63.8c-1.4 0-2.7.1-4 .2-12.7 1.1-34.15 12.2-51.12 23.5-8.5 5.7-16 11.3-21.38 15.5H237c-9-4.8-21.6-11.1-35.6-17.3-26.1-11.5-57.8-22.1-78.5-21.9zM31.99 496z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SurferVan;

impl IconShape for SurferVan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.62 85.74c-.52 0-1.15.19-1.7.29 3.33 16.27 3.94 31.37 3.37 45.77 13.11-1.2 26.01-2.2 38.71-3.1-12-13-17.7-33.88-33.9-41.54-1.9-.73-3.92-1.36-5.62-1.42zM252.5 142.7c-64 .2-127.2 4.3-187.72 10.3-3.65.7-15.03 2.2-14.51 7.9.15 1.9 2.78 6.5 13.25 6.1 128.68-5.2 233.88-10.5 361.08 0 5.4-.2 15.8 1.3 19.4-3.4-4.1-6.9-14.1-9.7-21.2-10.7-56.6-7.5-113.8-10.4-170.3-10.2zm58.4 36.6V199h18v-19.2c-6-.2-12-.4-18-.5zm-126 1.1l-18 .6v18h18zM83.87 217c-14.5 0-28.92 3.8-39 10.5-10.09 6.7-16 15.5-16 28.5v.1L26.91 327H486.9v-5.6c-7.9-23.9-15.8-51-25.2-71.7-4.8-10.5-10-19.2-15.2-24.8-5.1-5.6-9.6-7.9-14.6-7.9zm-21.99 23h80.02v23H45.59l.29-7c0-7.2 7.29-16 16-16zm98.02 0h184v64h-184zm202 0h58c28 0 33.2 38.5 40 64h-98zM44.84 281h97.06v23H43.88zm-18.43 64l-1.29 46h62.57c7.37-4.4 16.01-7 25.21-7 23.6 0 43.3 16.8 48 39h166.8c4.3-22.7 24.3-40 48.2-40 9.9 0 19.1 3 26.8 8h84.2v-46zm349.49 56c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm-263 1c-17.26 0-31.03 13.8-31.03 31s13.77 31 31.03 31c17.2 0 31-13.8 31-31s-13.8-31-31-31zm-85.54 7c1.24 2.3 2.9 4.6 4.92 6.6 4.64 4.6 10.81 7.4 16.27 7.4H64.9c1.04-5 2.85-9.7 5.29-14zm391.74 0c2.4 4.3 4 9 5 14h22.3l40.5-13.5v-.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sushis;

impl IconShape for Sushis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206 44.27c-1.9 0-3.8 0-5.7.1-9.1.28-18 1.12-26.7 2.63-12.9 21.86-10.3 52.93-.8 78.4 24.7 3.1 51.8 6.5 78.2 11-3.8-15-6.2-30.4-3.7-45.87 2.2-13.73 8.7-27.19 20.7-39.3-18.9-4.27-40.6-7.08-62-6.96zm-54.8 8.35c-27.5 9.37-48.4 27.34-56.4 59.98 2.88 1.1 7.8 2.5 14.1 3.8 11.1 2.2 26.5 4.3 43.9 6.5-6.9-22.4-9.3-47.69-1.6-70.28zm137.7 4.14c-15.5 11.8-21.7 23.68-23.8 36.67-2.3 13.87.9 29.77 5.5 46.57 9.4 1.9 18.5 3.9 27.2 6.2 16.5 4.2 31.8 9.5 45.6 15.2 1.2-11.6 2.9-24.3 10.1-36.4 6.3-10.5 16.7-19.8 33.1-26.97-26.1-16.99-56.3-30.47-97.7-41.27zm115.4 53.84c-20.6 6.6-30.1 14.8-35.4 23.7-5.7 9.5-6.8 21.2-8.3 34.5 5.6 2.6 10.9 5.3 15.8 7.8 20.6 10.7 34.3 20.1 40.3 25.3h-.1c23 19.6 38 16.7 48.8 8.7 10-7.5 14.8-22.2 13.7-29.6-27.2-28-49.6-51.2-74.8-70.4zm-289.7 25.1c0 4.1.2 8.2.7 12 .9 6.9 2.7 12.8 5.7 17.3 3 4.4 7.1 7.8 14.3 10 5.1 1.6 10.3 3.2 15.4 4.7 14.3-2 28.9-2.8 43.2-2.7 31.8.2 62.2 5.2 85.4 12.3 35.8 9.2 63.9 22.8 87.9 39.2 17.8.5 34.7-.7 50.4-3.9-4.2-2.5-8.4-5.5-12.6-9.1h-.1c-3.5-3-17.2-12.7-36.8-22.9-19.6-10.3-45.5-21.4-74.9-29-40-10.4-91.9-16.4-134.1-21.7-16.8-2.1-31.9-4.1-44.5-6.2zm79.2 59.4c-8.9 0-17.8.3-26.6 1-16.9 26.7-26 53-6 95.2 27 3.5 55.4 7.7 81.6 13.3-3.6-18.5-1.4-36.2 5.4-52.4 6.7-16 17.7-30.6 31.5-44.2-1.7-.5-3.4-1-5.1-1.4h-.2l-.2-.1c-21.2-6.5-50.2-11.1-80.4-11.4zm-49 3.8c-1.7.3-3.5.7-5.2 1-23.3 4.6-44.62 12.9-61 25.6-15.25 11.8-26.25 27.2-31.39 48 .14 0 .1 0 .24.1 3.12 1.3 8.6 2.8 15.53 4.2 13.85 2.8 33.67 5.4 56.22 8.2 6.8.8 14 1.7 21.2 2.6-13.7-35.9-8-65 4.4-89.7zm154.7 15.2c-16.2 14.6-28.2 29.6-34.7 45.1-6.5 15.6-7.8 31.5-2.4 49.9 1 .2 2 .5 2.9.7 29.4 7.7 52.5 16.4 70 24.7 1.3-12.1 5.1-25.5 15.1-36.6 9.7-10.8 24.6-18.8 46.3-22.1-2.5-2.3-5-4.7-7.6-7-25-22.5-52.1-41.4-89.6-54.7zm114 78.2c-27.3 1.1-41.6 8.7-49.7 17.6-8.4 9.4-10.8 21.7-11.1 33.7 11.6 6.6 19.4 12.3 23.9 16.2 24.5 21 53.2 24.2 74.6 19.5 10.7-2.4 19.4-6.9 24.4-11.3 3.7-3.4 5-5.9 5.1-8-25.6-23.5-46.5-46.6-67.2-67.7zm-342.03 5.3c.51 3.4 1.18 6.7 2.07 9.9 3.9 14 10.51 24.2 26.86 29.2 72.1 22.2 141.5 46.3 202.7 56 34.7 5.5 66.5 6.5 94.9.2-11.3-4.1-22.6-10.4-33.2-19.5-8.7-7.5-40.5-29.7-104.1-46.2-42.9-11.2-98.5-17.7-143.8-23.3-16.92-2.2-32.42-4.2-45.43-6.3zm-6.3 68.3c-14.86.6-29.25 14.4-33.92 23 10.71 6.2 40.81 10 53.64-13.7-5.72-6.6-12.11-9.2-18.45-9.3zm35.53 23.9c-19.9.7-26.61 44-15.54 52.1 11.38 1.4 33.74-41.7 19.54-51.7-1-.3-2.1-.4-3.1-.4zm86.3 11.3c-3.7 0-6.9 1-9.1 3.4-8.4 22.1 38.9 36.5 48.9 25.8 2.3-9-23.7-28.9-39.8-29.2zm74.3 37.6c-16-.2-40.6 7.7-40 20.2 9.5 21.6 53.3-1.5 52.8-16.1-1.6-2.7-6.5-4-12.8-4.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SuspensionBridge;

impl IconShape for SuspensionBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 34v460h30V34zm48 45.77v23.13c7.6 6 15.3 11.7 23 17.2V311h18V132.5a548.9 548.9 0 0 0 46.1 27.5h-.1v151h18V169.1c15.2 7.4 30.5 14 46 19.6V311h18V194.9c15.2 4.9 30.6 8.9 46 12.1v104h18V210.3c15.3 2.4 30.6 4.1 46 4.8V311h18v-95.4c12.3.1 24.7-.5 37-1.5v-17.4c-114.8 10.7-229.1-30.4-334-116.93zm-66 3.87C73.99 127 47.66 165.3 18 197.7v26.2C30.91 211 43.32 197 55 182v129h18V157.3c7.4-10.9 14.42-22.2 21-34zM18 329v30h76v-30zm142 0v30h334v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SverdIFjell;

impl IconShape for SverdIFjell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M381.213 45.39s-7.035-6.724-10.883-5.44c-5.32 1.773-7.523 15.05-7.523 15.05h-12.502v18h31v70h-47v-7.8c-6.26 0-11.336 7.521-11.336 16.8s5.075 16.8 11.336 16.8V161H446.307v7.8c6.26 0 11.336-7.521 11.336-16.8s-5.076-16.8-11.336-16.8v7.8h-47V73h31V55h-12.5s-2.203-13.277-7.524-15.05c-3.912-1.305-11.066 5.532-11.066 5.532.124-16.71-18.65-16.624-18.004-.091zM86.357 75v29h15v79h-47v18h112v-18h-47v-79h15V75zm131.807 44.844l-7.613 16.312c8.742 4.08 17.728 6.685 26.806 7.739v75.38c-16.414 1.22-32.55 5.436-47.025 12.674l6.5 13c15.761-6.703 33.143-10.054 50.525-10.054 17.383 0 34.765 3.351 50.526 10.054l6.5-13c-15.064-7.531-31.924-11.798-49.026-12.812v-75.203c9.012-1.014 18.017-3.589 26.872-7.809l-7.743-16.25c-19.405 9.248-37.232 8.88-56.322-.031zM350.304 179v25.455c.17-.049.34-.074.51-.076 2.522-.002 4.567 5.03 4.567 11.236 0 6.208-2.045 11.24-4.567 11.238a1.943 1.943 0 0 1-.51-.084v87.684c3.006 3.772 6.068 25.665 6.07 39.27-.002 13.603-3.065 15.627-6.07 19.398V494h30.999v-99.514c-2.47-2.51-4.147-9.8-4.15-18.037 0-8.243 1.678-15.54 4.15-18.053V179zm48.999 0v315h26.654a20.977 20.977 0 0 1-.344-3.771c.004-4.976 1.75-9.645 4.692-12.543v-33.75c-3.25-2.979-5.395-10.4-5.395-18.674.004-8.266 2.148-15.676 5.395-18.65v-173.01c-4.07-2.375-6.794-8.737-6.8-15.88.007-7.14 2.73-13.5 6.8-15.874V179zM74.357 219v72.797C77.873 296.21 80 303.823 80 312c-.005 8.167-2.13 15.768-5.643 20.176V494h72v-77.834c-3.191-2.504-3.695-11.347-3.7-16.649.002-5.305.507-6.207 3.7-8.712V219zm173 34.107c-11.244 0-22.483 1.571-33 4.692v218.433c.069-.022.137-.038.205-.05 2.523.005 4.83 6.9 5.961 17.818h57.834v-74.15c-2.91-1.552-6.355-26.99-6.357-45.607.002-18.615 3.447-24.186 6.357-25.737v-52.262c-4.158-.899-7.253-6.38-7.257-12.853.005-6.473 3.1-11.953 7.257-12.852v-13.316c-9.935-2.74-20.466-4.116-31-4.116z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swallow;

impl IconShape for Swallow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96.18 22.49C264.6 98.36 403.1 214.8 40.11 270.5 153 268 191.6 291.1 64.12 382.6c230.18-128 331.68-189 318.98 106.9 30.5-54.4 114.6-241 36.4-268.3 6.2-7.4 15.5-19.4 22.1-31.9 13.1-5.7 22.6-13.6 30.3-23.7-8.7-2-16-2.5-22.8-2.3-.2-2.8-.8-5.5-2.1-7.9-8.7-16.5-48.1-13.7-62.4-12.1 4.7-81-226.8-117.09-288.42-120.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swallower;

impl IconShape for Swallower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-41.6 0-82.7 15.32-104.4 43.96-21.9 43.14-53.71 90.84-79.96 135.54C45.2 249.5 25 292 25 320c0 61.8 22.3 102 61.99 128.5 8.64 5.8 18.11 10.8 28.51 15.3-15.2-17.7-28.93-43-39.77-68.3C63.44 366.9 55 339 55 320c0-12.5 7.22-24.6 17.14-38.7 9.92-14.1 23.19-29.4 37.46-43.7 14.3-14.3 29.6-27.5 43.7-37.5 11.2-7.9 21.1-14 31-16.2-.8-2.5-1.3-5.1-1.3-7.9 0-9.7 5.7-18.2 13.9-22.3-3.1-2.2-6-4.5-8.8-6.9-15-12.9-27.6-29.7-36.2-46.8l16.2-8.03c7.4 14.93 18.8 30.13 31.8 41.23 12.9 11 27.1 17.8 40.1 17.8v18c-2.8 0-5.5-.2-8.2-.6.8 2.4 1.2 5 1.2 7.6 0 9.3-5.3 17.6-13 21.9 13.1 6.2 24.7 9.1 36 9.1s22.9-2.9 36-9.1c-7.7-4.3-13-12.6-13-21.9 0-2.6.4-5.2 1.2-7.6-2.7.4-5.4.6-8.2.6v-18c13 0 27.2-6.8 40.1-17.8 13-11.1 24.4-26.3 31.8-41.23l16.2 8.03c-8.6 17.1-21.2 33.9-36.2 46.8-2.8 2.4-5.7 4.7-8.8 6.9 8.2 4.1 13.9 12.6 13.9 22.3 0 2.8-.5 5.4-1.3 7.9 9.9 2.2 19.8 8.3 31 16.2 14.1 10 29.4 23.2 43.7 37.5 14.3 14.3 27.5 29.6 37.5 43.7 9.9 14.1 17.1 26.2 17.1 38.7 0 19-8.4 46.9-20.7 75.5-10.9 25.3-24.6 50.6-39.8 68.3 10.4-4.5 19.9-9.5 28.5-15.3 39.7-26.5 62-66.7 62-128.5 0-28-20.3-70.4-46.7-115.4-26.3-44.8-58.1-92.4-79.9-135.66C338.6 40.32 297.6 25 256 25zm-66 176.4c-4.7 1-15 5.5-26.3 13.5-12.9 9-27.6 21.8-41.3 35.5-13.7 13.7-26.46 28.4-35.54 41.3C77.78 304.6 73 316.5 73 320c0 7.6 2.6 20.4 7.09 35.2L195.3 240l28.7 71.8 32-80 32 80 28.7-71.8 115.2 115.1c4.5-14.7 7.1-27.5 7.1-35.1 0-3.5-4.8-15.4-13.9-28.3-9-12.9-21.8-27.6-35.5-41.3-13.7-13.7-28.4-26.5-41.3-35.5-11.3-8-21.6-12.5-26.3-13.5-23.6 15.3-44.5 23.6-66 23.6s-42.4-8.3-66-23.6zm121.8 190.3c-5.5 0-11.9 2.3-19.6 5.9-10.3 4.7-22.1 11.4-36.2 11.4-14.1 0-25.9-6.7-36.2-11.4-7.7-3.6-14.1-5.9-19.6-5.9-1.9 0-3.6.2-5.3.8-11.6 3.9-27.9 22.4-39.5 40.4-4.4 6.8-8.2 13.5-11.2 19.1 71.4-11.9 152.2-11.9 223.6 0-3-5.6-6.8-12.3-11.2-19.1-11.6-18-27.9-36.5-39.5-40.4-1.7-.6-3.4-.8-5.3-.8zM256 461c-41 0-81.9 3.5-119.4 10.5C170.1 482 210.4 487 256 487c45.6 0 85.9-5 119.4-15.5-37.5-7-78.4-10.5-119.4-10.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swamp;

impl IconShape for Swamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.188 19.97a9.5 9.5 0 0 0-8.407 4.843c-3.687 6.318-7.287 12.708-10.843 19.156-6.34-1.118-12.595-.258-16.406 3.53-24.12 23.98-59.702 101.133-45.31 111.688 1.968 1.444 4.086 2.64 6.31 3.656-16.64 42.836-30.184 86.292-40.124 128.562-1.928-65.01-14.337-127.164-62.22-162.937 44.087 58.265 48.88 155.865 41.877 236.405-11.69.81-23.34 1.66-34.97 2.53l1.407 18.94c10.527-.79 21.09-1.545 31.656-2.283-5.404 47.895-14.473 87.508-20.718 105.47l28.28-7.782 19.844 3.906c3.195-33.745 7.683-68.574 16.47-104.437 104.756-6.35 212.06-8.943 325.124-.814 9.21 20.087 7.668 38.25 2.563 64.156-.69-30.596-32.682-59.164-127.25-57.718-37.285.583-99.973 24.92-93.345 61.594 10.04 55.48 93.935 63.74 164.875 37.75l-32.78-43.72 76.467 37.75c7.045-10.18 11.56-21.598 12-32.843 14.556 1.83 29.126 3.61 43.625 5.875 20.6-36.8 25.25-154.36-88-314.47 39.61 88.105 71.88 190.382 63.157 224.22-2.253-.186-4.504-.385-6.75-.563-28.424-38.034-94.285-80.812-127.814-97.562C370.742 309.23 401.776 337.56 419 360.53c-38.743-2.512-76.81-3.813-114.313-4.155-66.03-.6-130.31 1.732-193.5 5.47 14.246-49.464 37.544-100.834 77.75-153.97-51.342 38.358-77.508 85.502-95.406 134.72 9.764-55.987 26.784-116.065 49.69-174.908 1.743.234 3.47.45 5.186.625 23.065 2.38 49.024-68.143 52.688-105.343.375-3.812-1.312-7.414-4.188-10.44 3.37-6.11 6.79-12.172 10.28-18.155a9.5 9.5 0 0 0-8-14.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwampBat;

impl IconShape for SwampBat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176 24l19.3 19.29c-12.5 21.02-16.3 37.88-12 53.21 4.6 15.8 16.2 27.8 30.4 42 3.4-5.7 6.6-10.9 9.7-16-12.1-12.4-20.2-21.9-22.7-30.97-2.7-9.18-1.2-19.86 8.9-37.14L240 24zm96 0l30.4 30.39c10.1 17.28 11.6 27.96 8.9 37.14-2.5 9.07-10.6 18.57-22.7 30.97 3.1 5.1 6.3 10.3 9.7 16 14.2-14.2 25.8-26.2 30.4-42 4.3-15.33.5-32.19-12-53.21L336 24zM125.5 88.62C72.88 142.2 44.69 210.9 42.36 271.7c-2.35 60.9 20 112.6 68.94 136.2-20-51.3-19.07-97.3 8.8-148.2l15.8 8.6c-21.1 38.6-25.7 71-16.5 107.4.5-12.2 1.7-23.5 4.7-34 6.6-23.4 23.7-42.2 57.6-54 6.7 15.8 15.9 28.2 34.8 40.9l12.7-50.1h53.3l12.8 50.2c19.1-12.8 28.3-25.1 35-41 33.9 11.8 51 30.6 57.6 54 3 10.5 4.2 21.8 4.7 34 9.2-36.4 4.6-68.8-16.5-107.4l15.8-8.6c27.8 50.9 28.8 96.9 8.8 148.2 48.9-23.6 71.3-75.3 68.9-136.2-2.3-60.8-30.5-129.5-83.1-183.08 9.4 46.98 11 83.58 2.6 110.48-5.1 16-14.2 28.8-27.2 36.6-13 7.8-29.3 10.5-48.3 9l1.4-18c3.9.3 7.5.4 10.9.3-21-43.4-43.2-81-69.9-122.4-26.6 42.7-49.2 78.1-69.9 122.4 3.4.1 7 0 10.9-.3l1.4 18c-19 1.5-35.3-1.2-48.3-9s-22.1-20.6-27.2-36.6c-8.4-26.9-6.8-63.5 2.6-110.48zM243.2 296.5l-15 54.2c-13.4 9.7-22.3 26.2-22.3 45.4v.7c-39.9 8.9-50.2 54.9-36.4 79.7 5.7 10.5 28.3-30.3 56.8-36.4 8.3 6.6 18.6 10.5 29.6 10.5s21.3-3.9 29.6-10.6c28.7 6.1 51.4 47 57.1 36.5 13.7-24.9 3.4-71-36.7-79.8v-.6c0-19.2-8.9-35.7-22.3-45.4l-15.1-54.2zM240 368l16 22 16-22 16 32h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swimfins;

impl IconShape for Swimfins {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 21.649C101.8 55.94 57.308 80.033 23.016 69.833c14.999 85.064 57 239.334 102.1 327.267-6.277-17.36-10.993-35.162-13.682-50.414-1.91-10.833 1.815-22.415 10.293-31.465 8.477-9.05 21.486-15.772 38.72-18.81 17.234-3.04 31.76-1.173 42.82 4.431 11.062 5.605 18.524 15.214 20.434 26.047 2.69 15.252 4.347 33.595 4.387 52.055 12.304-98.055-.991-257.387-15.99-342.451C183.362 57.806 133.314 50.384 112 21.649zm288 36.213c-21.314 28.735-71.362 36.157-100.098 14.844-14.999 85.064-28.294 244.396-15.99 342.45.04-18.459 1.698-36.8 4.387-52.052 1.91-10.833 9.372-20.442 20.433-26.047 11.062-5.604 25.587-7.472 42.82-4.433 17.235 3.038 30.244 9.76 38.721 18.81 8.478 9.05 12.204 20.632 10.293 31.465-2.689 15.252-7.405 33.056-13.681 50.416 45.098-87.933 87.1-242.203 102.1-327.268-34.293 10.2-78.785-13.893-88.985-48.185zm-270.8 9.494s8.996 50.982 21.85 101.053c6.428 25.035 13.865 49.868 21.34 67.484 3.738 8.808 7.57 15.818 10.686 19.764 2.27 2.843 3.946 5.378 6.2.408 1.542-3 3.051-8.342 3.95-15.15 1.8-13.617 1.453-32.969-.199-53.674-3.302-41.412-11.582-88.48-15.75-112.116L195.004 72c4.167 23.636 12.56 71.11 15.965 113.811 1.702 21.35 2.219 41.45.103 57.463-1.057 8.007-2.702 15.023-5.79 21.027-3.09 6.005-8.488 11.485-15.75 12.766-4.37.77-8.787-.456-12.141-2.465-3.355-2.009-5.994-4.693-8.44-7.789-4.89-6.192-9.05-14.274-13.13-23.889-3.21-7.564-6.284-16.249-9.272-25.34.301 9.565.384 18.777-.045 26.983-.546 10.43-1.692 19.448-4.17 26.94-1.239 3.745-2.8 7.17-5.266 10.204-2.465 3.035-6.194 5.699-10.564 6.47-7.263 1.28-14.212-2.024-19.168-6.61-4.956-4.586-8.9-10.617-12.633-17.78-7.465-14.324-13.854-33.385-19.557-54.03-11.404-41.292-19.756-88.774-23.923-112.409l17.726-3.125c4.168 23.635 12.487 70.697 23.547 110.74 5.53 20.022 11.82 38.324 18.168 50.504 3.174 6.09 6.419 10.596 8.895 12.887 2.98 2.726 4.12 2.616 5.687-2.504 1.579-4.774 2.781-12.672 3.281-22.227 1-19.11-.504-44.99-3.027-70.714-5.046-51.448-14.027-102.43-14.027-102.43zm253.6 36.215l17.727 3.125s-8.981 50.983-14.027 102.431c-2.523 25.724-4.027 51.605-3.027 70.715.5 9.555 1.702 17.45 3.28 22.225 1.568 5.12 2.708 5.23 5.688 2.504 2.476-2.29 5.721-6.795 8.895-12.885 6.347-12.18 12.638-30.484 18.168-50.506 11.06-40.043 19.38-87.103 23.547-110.738l17.726 3.125c-4.167 23.635-12.519 71.115-23.923 112.406-5.703 20.646-12.092 39.709-19.557 54.033-3.733 7.162-7.677 13.194-12.633 17.78-4.956 4.586-11.905 7.888-19.168 6.607-4.37-.77-8.1-3.432-10.564-6.467-2.465-3.035-4.027-6.459-5.266-10.205-2.478-7.492-3.624-16.51-4.17-26.94-.43-8.205-.346-17.417-.045-26.982-2.988 9.091-6.061 17.776-9.271 25.34-4.08 9.615-8.24 17.696-13.131 23.889-2.445 3.096-5.085 5.778-8.44 7.787-3.354 2.009-7.77 3.235-12.14 2.465-7.263-1.28-12.661-6.761-15.75-12.766-3.09-6.004-4.733-13.02-5.791-21.027-2.116-16.014-1.6-36.112.103-57.463 3.406-42.702 11.798-90.175 15.965-113.81l17.727 3.126c-4.168 23.636-12.448 70.704-15.75 112.116-1.652 20.705-1.998 40.055-.2 53.671.9 6.809 2.409 12.152 3.952 15.15 2.253 4.971 3.929 2.436 6.199-.407 3.116-3.947 6.948-10.954 10.685-19.762 7.476-17.616 14.913-42.45 21.34-67.486 12.855-50.071 21.852-101.051 21.852-101.051zM175.856 312.969c-3.725.02-7.818.381-12.28 1.168-14.28 2.518-23.516 7.84-28.712 13.387-5.196 5.546-6.571 11.111-5.703 16.035 1.227 6.96 2.966 14.651 5.125 22.633 6.791-9.79 17.602-19.533 34.498-22.512 16.896-2.979 30.387 2.477 40.117 9.354-.7-8.239-1.698-16.06-2.925-23.02-.869-4.924-4.063-9.682-10.842-13.117-4.661-2.362-11.08-3.97-19.278-3.928zm160.29 36.215c-8.197-.043-14.617 1.566-19.278 3.928-6.78 3.435-9.973 8.193-10.842 13.117-1.227 6.96-2.224 14.781-2.925 23.02 9.73-6.877 23.22-12.333 40.117-9.354 16.896 2.98 27.707 12.72 34.498 22.51 2.159-7.982 3.898-15.672 5.125-22.631.868-4.924-.507-10.489-5.703-16.035-5.196-5.547-14.432-10.871-28.711-13.389-4.463-.787-8.556-1.146-12.281-1.166zm-158.58 11.666a36.563 36.563 0 0 0-5.657.557c-20.837 3.674-27.95 22.517-29.877 29.408 3.644 10.127 7.808 20.033 12.334 28.877 5.916 11.56 12.508 21.3 18.697 27.271 6.19 5.972 10.985 7.754 15.17 7.016 4.186-.738 8.08-4.052 11.854-11.781 3.774-7.73 6.638-19.134 8.244-32.02 1.229-9.859 1.75-20.592 1.711-31.355-3.777-5.271-14.912-18.31-32.477-17.973zm156.87 36.215c-17.564-.336-28.7 12.702-32.476 17.973-.04 10.762.482 21.494 1.71 31.353 1.607 12.886 4.47 24.293 8.245 32.022 3.774 7.728 7.668 11.043 11.854 11.78 4.185.739 8.98-1.043 15.17-7.015 6.19-5.972 12.78-15.712 18.697-27.271 4.526-8.844 8.69-18.75 12.334-28.877-1.927-6.891-9.04-25.734-29.877-29.408a36.562 36.562 0 0 0-5.656-.557z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwipeCard;

impl IconShape for SwipeCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M396.6 69c-6.2-.15-13.3.95-21.5 3.47L54.52 171.3c-16.44 5.1-25.94 12.4-30.67 21.4-4.78 8.9-5.39 21-.36 37.4l5.9 19.2L439.7 122.9l-5.9-19.3c-5.1-16.42-12.4-26-21.4-30.67-4.5-2.41-9.7-3.79-15.8-3.93zm59.3 106.7L45.65 302.2l32.66 106.3c5.03 16.3 12.32 25.9 21.29 30.6 9 4.8 21 5.5 37.4.5l320.5-98.8c16.4-5.1 25.9-12.4 30.6-21.4 4.8-9 5.5-21 .5-37.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwissArmyKnife;

impl IconShape for SwissArmyKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M181.986 23.803c-16.323-.428-17.824 35.266 6.703 47.611 17.074-41.51 91.76 3.27 81.506 21.332-8.48 14.94-46.323-9.947-49.625-5.96-8.974 10.835 25.097 31.978 55.448 45.96l30.187-30.187c10.459-10.46 21.69-17.505 33.002-21.653-33.48-19.082-97.109-51.439-156.432-57.054-.266-.026-.53-.042-.789-.05zM49.5 47.338c-9.199 16.433-19.965 32.102-8.08 82.387l47.209 193.818c3.722-5.93 8.336-11.744 13.93-17.338l39.203-39.203-48.826-148.857C82.873 89.377 66.722 64.11 49.5 47.338zm315.527 46.16c-14.54-.044-30.539 6.23-46.095 21.787L115.285 318.932c-31.113 31.112-25.102 63.994-5.656 83.44 19.445 19.445 52.327 25.456 83.44-5.657l203.646-203.647c31.113-31.112 25.102-63.994 5.656-83.44-9.723-9.722-22.804-16.086-37.344-16.13zm-295.011 22.16l14.953 53.432-17.334 4.851-14.953-53.433zm271.545 9.528l16.263 16.263 16.262-16.263 12.728 12.728-16.263 16.262 16.263 16.263-12.728 12.729-16.262-16.262-16.263 16.262-12.729-12.729 16.262-16.263-16.262-16.262zm81.863 63.189c-3.731 5.958-8.363 11.8-13.983 17.42l-25.896 25.896 18.338 12.38-12.592 19.144 21.979 12.144-12.823 19.666 21.576 13.9-16.746 22.415 22.862 9.894-11.028 20.198 20.233 14.687-7.893 35.412 56.138-29.733zM287.816 327.42l-12.726 12.726 14.084 13.881a9 9 0 0 0 8.662 2.28l13.002-3.51-12.313 27.574c-3.442 7.713 4.676 15.492 12.235 11.725l17.691-8.825-10.545 19.094c-4.299 7.788 4.1 16.427 12.006 12.35l16.725-8.63-7.172 12.997c-3.747 6.794 2.283 14.829 9.853 13.129l22.948-5.156c7.598.705 8.552.699 13.595-.634l-4.306-15.571a9 9 0 0 0-8.371-2.452l-8.293 1.864 11.81-21.4c4.291-7.787-4.103-16.419-12.006-12.346l-16.709 8.619 10.203-18.473c4.271-7.732-3.991-16.349-11.896-12.406l-21.092 10.521 9.795-21.933c3.088-6.924-3.242-14.33-10.562-12.358l-26.303 7.098zm-185.093 92.86l-83.924 69.415 112.773-55.672c-10.678-2.366-20.539-7.118-28.85-13.744z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwitchWeapon;

impl IconShape for SwitchWeapon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M83.5 25l-32 64v87c-.67 15.934 3.847 27.945 13.793 37.816 3.442 3.367 7.892 6.805 13.102 10.227L83.5 89l5.344 141.326c7.778 4.3 16.61 8.477 26.064 12.344.194.08.397.155.592.234V89l-32-64zm216.666 0C281.833 25 263.5 61.667 263.5 98.334c0 17.585 4.223 35.16 10.635 48.7 9.11 1.493 18.938 3.565 29.187 6.19 4.395-7.873 14.92-14.213 40.178-16.87V72.577C319.173 60.896 300.166 38.2 300.166 25zm146.668 0c0 13.2-19.007 35.896-43.334 47.576v63.78c43.31 4.554 43.334 19.928 43.334 35.31 18.333 0 36.666-36.665 36.666-73.332C483.5 61.667 465.167 25 446.834 25zM361.5 50v122.852a369.79 369.79 0 0 1 24 11.148V50h-24zm-127 72.92l-58.45 61.9 58.45 58.453V208h9c34.25 0 90.23 12.187 135.408 30.67 22.59 9.24 42.344 19.89 55.385 32.646 6.52 6.38 11.518 13.45 13.514 21.65.867 3.562.914 7.297.414 11.014 7.95-19.23 4.975-35.52-5.345-51.625-11.208-17.49-31.88-33.91-56.424-47.478C337.367 177.743 272.5 162 243.5 162h-9v-39.08zm-195.72 71.1c-7.95 19.23-4.975 35.52 5.345 51.625 11.208 17.49 31.88 33.91 56.424 47.478C149.633 320.257 214.5 336 243.5 336h9v39.08l58.45-61.9-58.45-58.453V290h-9c-34.25 0-90.23-12.187-135.408-30.67-22.59-9.24-42.344-19.89-55.385-32.646-6.52-6.38-11.518-13.45-13.514-21.65-.867-3.562-.914-7.297-.414-11.014zm322.72 57.212V368h24V261.23c-4.29-2.027-8.77-4.002-13.408-5.9-3.446-1.41-7-2.766-10.592-4.098zm-310 29.862v41.44h23.17l.885-23.39c-8.66-5.593-16.772-11.594-24.055-18.05zm40.313 27.767l.517 13.675h23.17v-1.777c-8.056-3.678-15.987-7.64-23.66-11.88l-.028-.017zM28.5 340.536V360h110v-19.465h-110zM63.5 375v80c-8 0-28 32 20 32s28-32 20-32v-80h-40zm298 11v94h24v-94h-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Switzerland;

impl IconShape for Switzerland {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M36.195 295.215c11.482-39.19 64.37-91.15 97.155-138.632 61.773-28.665 90.453 1.999 158.835-53.994 43.305 14.096 84.51 31.63 114.28 49.593l-17.8 56.114c32.894 14.682 63.743 35.79 105.873 21.442-3.346 42.22 11.428 74.85-43.66 108.588-21.82-9.826-58.49-8.026-76.74-38.76-.527 38.876-18.157 85.136-32.11 109.845-8.67-.595-61.844-63.654-61.927-100.613-18.917 2.472-34.672 56.343-49.147 82.293l-92.234 13.525c-20.307-27.104-27.568-62.376-46.931-92.121-20.937-32.161-38.676 39.801-70.465 52.475-9.423-9.163-.504-34.417 14.87-69.755z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordAltar;

impl IconShape for SwordAltar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24l-20 24 12 19.2v38.7c5.3.3 10.7.3 16 0V67.2L276 48l-20-24zm-61.5 86.4l-5 15.2c49 16.3 84 16.3 133 0l-5-15.2c-47 15.7-76 15.7-123 0zM232 152v128h16V152h-16zm32 0v128h16V152h-16zm-51.1 144l-8 16h102.2l-8-16h-86.2zm-80.2 32L71.65 440H440.3l-61.1-112H132.7zm43.3 16h96v16h-96v-16zm112 0h48v16h-48v-16zm-112 32h32v16h-32v-16zm48 0h112v16H224v-16zm-48 32h64v16h-64v-16zM37.77 456L27.1 488h457.8l-10.7-32H37.77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordBrandish;

impl IconShape for SwordBrandish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.1 17.52L186.6 161l104.5-44.9-44.5-98.58h-51.1l35.8 80.75-16.4 7.23-39-87.98zm265.2 77.75L110.4 215.2l12 28.2 278.1-119.8zm-69.7 98.53l-23.9 11.5c12.8 5.4 26 13.7 38.3 15.6 18.1-13.1-4.9-30.5-14.4-27.1zm-60.7 11.1l-36.2 16.7c-11.9 18.4-14.8 46-18.2 69.7 20.6 30.1 30.5 62.4 39.5 94 17.9-3.7 32.2-6.8 48.7-11.5-24.4-38.7-42.2-78.4-53.6-118.9 0 0 5.6-10.5 8.4-15.8 11.9 7.3 24.9 12.4 36.6 9.9 10-4.1 21.5-7.9 27.7-16.6-17.6-6.9-37.1-17.5-52.9-27.5zm92.6 26.6c-10.8 5.8-23 11.2-31.9 18.9-5.3 4.7-12.1 8.8-20.5 12.3 1.1 7.3-.1 19.6 8.1 18.8 20.5-6.2 40.5-15 59.7-28.4-.1-9.2-8-24.1-15.4-21.6zm-90.2 34.2c11.3 34.8 27.6 69 49.3 102.6 4.7-1.6 9.3-3.3 13.5-5-7.3-6.2-11.7-15.9-12-25.3-16.6-4.1-20.8-29.4-17.2-41.6-9.5-7-13.6-18.1-14.2-28.7-7.2.7-13.6-.1-19.4-2zm103.3 10.4c-13.6 8.1-27.6 14.3-41.6 19.2l-9 4.4c-4.4 4.6-4.5 15.6 1 20.3 9.7 3.5 50.1-21.2 57.7-27.9 1.3-5.8-3.5-14.9-8.1-16zm-178.1 21.2L19.1 335.8V495c95.7-25.3 146.9-47.1 209.7-90.2-10.8-38-20.5-74.8-44.3-107.5zm187.8 16.9c-13.6 10.2-27.2 16.2-42.9 21.4-.4 6.7 2.5 18.1 12.1 16 19.9-4.3 36.3-17.5 36.6-24.6.2-3.7-2-10.5-5.8-12.8zm-7.5 48.6c-14.3 8.2-31.5 15.9-46.7 21.4l18.7 31.8 39.3-18.8zm22.2 49.1L342.9 433l3.1 21.9c15.1.5 46.6-11.3 55.4-26.1v-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordMold;

impl IconShape for SwordMold {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.1 18.48c5.4 12.59 14.3 23.16 25.5 34.1 14.2 13.99 31.8 28.2 47.1 47.4 35.9 44.92 40.6 99.42 38.2 149.82-.3 6.6-5.2 10.5-8.6 12.5-3.3 2-6.5 3.2-9.3 4.5-2.7 1.4-4.8 2.8-5.8 3.8-.7.8-.9 1.2-1 2.2.2.1.2.2.8.6 1.6 1.1 4.7 2.7 8.8 4 8.2 2.6 20 4.4 31.9 4.7 11.9.3 23.9-1 32.4-3.6 7-2.2 10.5-4.9 11.9-7.3-1.4-1.3-4.3-3.2-7.5-5.1-3.2-1.9-6.8-3.7-9.9-5.6-1.6-.9-3-1.8-4.5-3-1.4-1.1-3.3-2.1-4.6-6.2-5.6-16.5-6.9-41.6-3.4-69.2 3.5-27.6 11.9-57.4 27.8-81.1 13.3-19.76 32.4-36.25 48.2-51.61 11.4-11.13 20.5-21.62 25.3-30.91H218.3c15.5 26.22 22.9 68.56 15.5 70.93-4.7 1.52-22.8-41.55-42.1-70.93h-55.6zm139.6 38.59l24.4 5.83c-19.9 26.3-21.7 59-33.4 85.9-5.1-27.8-5.2-64.08 9-91.73zM55.95 169L26.2 407h459.6l-29.7-238H298.5c-1 5.1-1.9 10.2-2.5 15.3-3.1 24.6-1.5 47.6 2.1 59.6l.1.1H384l64 28-64 28H273.8c-3.5.1-7 .2-10.5.1-.8 0-1.5-.1-2.3-.1H155.9l-1.9 42h-32l2.4-54H66l2-32h57.9l2.1-48h32l-1.6 36h70.7c1-25.5-.2-50.9-6.3-75H55.95zM25 425v62h462v-62H25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordsPower;

impl IconShape for SwordsPower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.7 41.16l-47.03 1.31 29.3 36.85L116 69.13zm300.6 0L396 69.14l28 10.2 29.3-36.86zm-278.4 8.18L139 79.87l-30.5 11.14L370.7 213.1l19.4-41.6zm256.2 0l-106.7 49.7 54.4 25.36 71.7-33.38L373 79.88zM180.2 144.3l-58.3 27.2 19.4 41.6 93.3-43.4zm241.1 2.8l-49.2 105.5 13 14.9 55.9-120zm-330.63.1l-19.6.4 55.83 119.8 12.9-14.8zm349.43 44.7l-30.6 65.6-34 84.7-55.8 33.3c-3.1 7.3-6.8 14-11.2 20C295.7 413.2 277 425 256 425s-39.7-11.8-52.5-29.5c-4.4-6.1-8.2-12.8-11.3-20.2l-55.1-33.2-27.9-70-37.13-79.7-29.5 19.4 45.5 151.8 81.23 97.1V487h174v-26.2l80.6-97.1 45.6-151.9zM256 249c-14.3 0-27.7 7.9-38 22.1-10.3 14.1-17 34.4-17 56.9s6.7 42.8 17 56.9c10.3 14.2 23.7 22.1 38 22.1s27.7-7.9 38-22.1c10.3-14.1 17-34.4 17-56.9s-6.7-42.8-17-56.9c-10.3-14.2-23.7-22.1-38-22.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SydneyOperaHouse;

impl IconShape for SydneyOperaHouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.6 148.4l43.6 157.8c6.9 0 13.9 0 21.2-.1l62.9-65.8c-7.8-21.4-26.3-45.6-50.2-63.6-22.6-16.9-49.6-28.2-76.5-28.3h-1zm-49.37 49L104 306.6c14.1-.1 26.7-.2 43.6-.3L125.4 226c-16.2-15.4-34.21-26.3-52.17-28.6zm273.47 15.2c-8.7.2-17.1 1.5-25.2 3.9-18.9 5.5-35 16.6-44.1 28.6l43.4 60.9h14.7l46.5-86.5c-10.9-4.7-22.1-6.8-33.1-6.9h-2.2zM31.53 247.7l18.2 59.2c8.99-.1 21.6-.1 35.56-.2l-13.84-49.2c-11.1-5.2-24.36-8.8-39.92-9.8zm230.17 6.6l-49.3 51.8c28-.1 57-.2 86.3-.2l-36.8-51.6h-.2zm165.9 9.9c-2.9 0-5.6.1-8.3.2-17.6 1.2-31 6.3-41.7 14.5l24.4 27.4c16.4.1 32.1.3 47 .5l38.9-31.1c-23.7-7.8-43.7-11.4-60.3-11.5zm-63.5 26.6l-8.2 15.3h21.9l-13.7-15.3zm-78.4 33.1c-125.6 0-244.53 1.1-252.26 1.2l-11.51 46H180.8l16-32H336l15.9 32h127L467.4 325c-37.1-.6-81.2-.9-127.7-1-17.9-.1-36-.1-54-.1zM58.4 339.1h64v18h-64v-18zm149.6 18l-7.1 14h130.9l-7-14H208zM64 407c-13.18 0-29.27 4.3-42.85 8.4-1.08.3-2.11.7-3.15 1v18.8c2.59-.8 5.39-1.7 8.36-2.6C39.28 428.7 55.19 425 64 425c8.81 0 18.29 3.4 28.79 7.4 10.51 4 22.01 8.6 35.21 8.6s24.7-4.6 35.2-8.6c10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s24.7 3.7 37.6 7.6c3 .9 5.8 1.8 8.4 2.6v-18.8c-1-.4-2-.7-3.1-1-13.6-4.1-29.7-8.4-42.9-8.4s-24.7 4.6-35.2 8.6c-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4S77.18 407 64 407z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TBrick;

impl IconShape for TBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93 141a9.5 9.5 0 0 0-9.5 9.5v96A9.5 9.5 0 0 0 93 256h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5H93zm9.5 19h77v77h-77v-77zm115 0h77v77h-77v-77zm115 0h77v77h-77v-77zm-115 115h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TRexSkull;

impl IconShape for TRexSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.5 38.28c-40.73.57-73.1 25.79-105.61 38.33-10.02 24.79-8.26 51.99 9.02 68.09 11.76-10.8 76.19-44.94 95.09-44.6 27 14.8 17.5 76.1 3.7 94.8-6.1 8.1-32.4 7.1-40.7-1.1 6.6-16 13.3-31.9 32.5-45.4-7.4-27-60.6 2.6-83.47 8.9l-1.4 53.1c-70.79 19.7-3.9 91.9 22.05 112.8-.99 33.2 8.19 61.7 69.32 70 66.7 28.1 115.6 71.6 189.6 80.5 50.7 1.2 59.2-18.5 52.8-55.6 11.5-20.2 19.1-41.1 16.1-63.9-10 18.7-29.5 36.5-48.2 48.5-3.4-1.1-6.7-2.4-10-3.7 9.9-17.8 18.1-36.1 18-56.6-13.6 17.5-27.8 33.7-45.3 44.8-8.2-4.1-16-8.5-23.4-13.2 14.1-13.4 19.3-30.3 25.4-46.7-14 12.4-33.4 19.7-54 25.8-4.6-4-9.2-8.2-13.7-12.6l13.1-31.1-24 19.7c-5.8-6.4-11.5-13.3-17.1-20.6l9.5-25.3-18.2 13.7c-10-17.3-24.4-30-29.2-34.1 3.6-21.7 33.5-46.6 33.5-46.6 16.8-3.3 28.4 2.8 42.2 7.8l-4.6 23.2 22.8-16.4c2.9 1 5.9 2.1 8.9 3.3l-5.4 27.5 24.9-20.3c9.2 3.4 18.5 6.7 27.7 9.8-4.6 13.9-14.2 26.7-23 39.6 18.6-8.8 38.5-16.2 51.2-31 9.1 2.5 18.2 4.7 27.2 6.4-3.8 17.8-11 34.5-20.8 50.4 23-12.8 41.2-27.5 48.4-46.6 6.4.5 12.7.7 18.9.6 3.3 21-1 42-7 63 19.6-20.5 40-40.8 43.8-67.6 3.4-.8 6.8-1.7 10.2-2.9 2.3-23.3-.6-20.9 14.6-36 .8-41.2-30.6-68.6-78-89.2l-125.3-28.2c-18-17.67-29.4-38.97-84.4-47.33-20.2-13.45-46.1-24.31-67.7-23.99zm73.1 64.12c9.5 22.5-10.4 71-11.5 72.3-21.2-3.2-3-58.3-19.8-72.3 5.5-13.83 28.4-9.68 31.3 0zm31.6 14.2c41.9 7.9 77.7 32.5 81.4 52.4 2.2 11.6 1.5 20.8-6.3 25.8-3.7-8-10.7-11.9-22.3-10.3-6.7-23.4-46.5-7.6-60.6-3.6-4.1-26.5 1-39 7.8-64.3zM361 161.2c6.5-.3 12.3 2.9 13.6 10.3.8 24.9-33.1 32.6-31.9 6.3 1.1-10.3 10.2-16.3 18.3-16.6zm53.2 1.2s38 5.8 51.1 18.3c8.4 7.9 13.4 31.9 13.4 31.9-2.9-10.7-60.1-48.9-64.5-50.2zm-283.7 52.5c18.9-.2 37.6.9 54.2 3.2L154 248.8c-26.9-2.1-60.19-18.4-79.63-30 17.91-2.5 37.23-3.8 56.13-3.9zm-36.28 43.9c8.28-.3 17.08 18.3 8.18 24.3-6.14 3.4-16.46-6.3-16.46-13.3 1.96-7.9 5.11-10.9 8.28-11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TShirt;

impl IconShape for TShirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 144l48 64 64-32-16 304c64 16 192 16 256 0l-16-304 64 32 48-64-112-96-48-16c-16 64-112 64-128 0l-48 16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Table;

impl IconShape for Table {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 265v30h430v-30H41zm39 48v158.066h32V313H80zm320 0v158.066h32V313h-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TabletopPlayers;

impl IconShape for TabletopPlayers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.865 113.46c-7.463.026-15.134 2.977-22.38 8.663-9.658 7.582-18.055 20.015-22.157 35.324-4.102 15.31-3.047 30.274 1.527 41.67 4.575 11.396 12.238 18.958 21.91 21.55 9.67 2.59 20.09-.126 29.75-7.708 9.658-7.583 18.055-20.016 22.157-35.325 4.102-15.31 3.047-30.274-1.527-41.67-4.575-11.396-12.24-18.96-21.91-21.55-2.418-.65-4.882-.965-7.37-.956zm242.27 0c-2.488-.01-4.954.306-7.37.954-9.672 2.59-17.337 10.155-21.91 21.55-4.576 11.397-5.63 26.362-1.527 41.67 4.102 15.31 12.497 27.743 22.156 35.325 9.66 7.58 20.08 10.297 29.75 7.706 9.67-2.59 17.338-10.153 21.912-21.55 4.575-11.395 5.626-26.36 1.524-41.67-4.102-15.308-12.495-27.74-22.154-35.323-7.245-5.686-14.918-8.638-22.38-8.664zM88.387 226.04c-10.146 2.133-18.06 6.477-24.82 12.648-9.882 9.023-17.314 22.553-23.03 39.7-10.6 31.8-15.044 75.344-22.062 120.153H150.97c-.04-44.9-.513-88.924-6.804-121.28-3.203-16.47-7.97-29.787-14.098-38.57-6.872 1.342-13.968 1.24-20.963-.635-8.012-2.147-14.98-6.376-20.718-12.014zm335.226 0c-5.74 5.64-12.705 9.868-20.718 12.015-6.994 1.874-14.09 1.978-20.96.636-6.127 8.785-10.9 22.1-14.1 38.57-6.292 32.356-6.766 76.38-6.804 121.28h132.493c-7.017-44.808-11.462-88.353-22.062-120.153-5.714-17.146-13.145-30.676-23.028-39.7-6.758-6.17-14.672-10.514-24.82-12.646zm-240.615 69.5v23H201v-23h-18.002zm80.002 0v23h18.002v-23H263zm-94.857 41c.18 4.613.313 9.292.425 14h174.864c.112-4.708.248-9.387.427-14H168.142z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tacos;

impl IconShape for Tacos {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.9 76.19v.01h-1.1c-1.9.1-5.4 1.68-9.3 5.36-3.9 3.69-8 9.05-11.5 14.52C258.9 107 254.2 118 254.2 118l-5.1 12-9.4-9s-11-10.5-24.4-19.6c-6.7-4.46-14-8.5-20.2-10.59-6.2-2.09-10.7-1.98-13.1-.75-5.2 2.67-9.7 9.27-12.8 19.24-3.1 10.1-4.6 22.8-5 35.1-.8 24.7 2.4 47.6 2.4 47.6l2.3 15.9-14.8-6.3s-9.7-4.2-20.4-6.8c-5.4-1.2-11-2-15-1.9-4.1.2-5.9 1.2-6.4 1.8-2.7 3.3-3.9 9.4-2.6 17.9 1.2 8.6 4.8 18.9 9.1 28.5 8.6 19.3 19.8 36 19.8 36l9.8 14.5-17.6-.5c.1 0-10.1-.3-21.7 1.1-11.57 1.4-23.95 5.8-26.76 9-10.59 12.2-14.01 26.1-13.15 41.2.87 15.2 6.38 31.4 13.83 45.9s16.81 27.3 24.58 35.8c.7.7 1.3 1.4 2 2 16-9.9 25.7-25.6 33.2-46.2 9.2-25.6 14-58 21.3-91.1 7.3-33.2 17.1-67.3 37.7-96.3 20.7-29.1 52.3-52.6 100.7-64 13.7-3.2 26.7-4.7 38.9-4.8-3-4.5-6.5-9.3-10.5-14.4-7.1-9.1-15.2-17.93-23.1-24.09-7.4-5.78-14.5-8.87-19.9-9.02zM148.6 118.7c-22 4.2-47.7 28.3-69.23 63.3-21.89 35.5-39.78 81.1-48.85 123.9-9.08 42.7-8.81 82.7 2.39 105.7 5.6 11.5 13.22 18.8 24.37 22.2 8.66 2.7 19.98 2.9 34.36-.7-8.29-9.6-17.18-22.1-24.61-36.6-8.26-16.1-14.72-34.3-15.79-53-1.06-18.7 3.64-38.1 17.53-54.1 9.68-11.2 25.08-13.4 38.13-15 3.3-.4 5.6-.5 8.5-.6-4-6.9-8.7-15.6-13.1-25.3-4.62-10.6-8.76-22-10.4-33.3-1.64-11.2-.87-23 6.61-32v-.1c5.19-6.2 12.69-7.9 19.39-8.2 6.8-.2 13.6.9 19.9 2.4 3.4.8 6.5 1.7 9.5 2.6-.8-9.4-1.5-22.1-1.1-36.1.3-8.3 1-16.8 2.4-25.1zm194.3 22.9c-11.1 0-23.2 1.3-36.2 4.5-44.9 10.5-71.9 31-90.2 56.8-18.3 25.8-27.7 57.4-34.8 89.7-7.1 32.4-11.8 65.2-22 93.4-5.4 14.9-12.7 28.7-22.8 40 129.5-22.2 254.5-67 351-112.1-2.2-14-10.2-56-31.9-96-13.2-24.3-31.2-46.9-55.2-61-15.1-8.8-32.5-14.5-53.2-15.2-1.6-.1-3.1-.1-4.7-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tadpole;

impl IconShape for Tadpole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M461.9 34.94c-5.4.01-11.5.47-17.7 1.36-28.6 4.1-63 17.44-75.5 27.08-15.3 11.81-27.3 30.14-30.8 48.42-3.5 18.3.5 36.2 17.9 51.1 14.9 12.8 28.3 14.8 42.3 11 14.1-3.8 28.8-14.5 41.9-29 26.3-29 45.8-73.42 47.8-96.26.4-3.8-.3-5.59-1.5-7.17s-3.4-3.19-7.2-4.43c-3.8-1.25-8.9-1.94-14.9-2.07v-.01c-.8-.02-1.5-.02-2.3-.02zm-48.4 22.15a16 16 0 0 1 11.2 4.31 16 16 0 0 1 .7 22.62 16 16 0 0 1-22.6.75 16 16 0 0 1-.7-22.62 16 16 0 0 1 11.4-5.06zm-86.7 30.78c-12.2 6.37-26.8 14.23-42.4 23.23-42.1 24.2-91.7 56.1-122.4 89.1-45.5 48.9-83.37 113.9-108.12 169.7-12.38 27.9-21.47 53.5-26.54 73.9-2.53 10.2-4.08 19.1-4.44 26.7-.37 7.6-.22 14 4.23 20 2.65 3.5 6.07 4.9 9.22 5.7 3.15.8 6.42 1.1 10.06 1.1 7.3 0 16.14-1.1 26.53-3.1 20.78-4.1 47.56-12.1 76.76-23.6 58.4-22.9 126.1-59.5 171.3-107.8 32.2-34.5 59-87.5 78.4-132.2 7.2-16.6 13.3-32.1 18.1-45-4.7 2.4-9.6 4.3-14.7 5.7-2.4.6-4.8 1.1-7.3 1.5-3.6 9.3-7.8 19.5-12.6 30.7-19 43.8-45.8 95.7-75.1 127.1-42 45-108 81.1-164.6 103.3-28.4 11.1-54.43 18.8-73.73 22.6-9.65 1.9-17.66 2.8-22.99 2.8-2.41 0-4.04-.3-5.06-.5-.19-.9-.75-3.1-.54-7.4.27-5.8 1.58-13.8 3.93-23.2 4.7-19 13.47-43.8 25.52-71 24.09-54.3 61.37-118.1 104.87-164.8 28-30 76.7-61.9 118.2-85.7 9.5-5.5 18.2-10.3 26.2-14.6l.6-3.6c1.4-7.1 3.6-14.03 6.6-20.63zM323.6 148c-23.9 16.2-39.9 31.6-54 48.8-19.7 23.9-36.4 52.1-65.7 90.7C176 324 128.8 384 96.98 427.2c2.6-1.3 5.22-2.5 8.02-4 14-7.5 30.1-18 46.5-29.8 32.8-23.5 66.7-52.6 87-74.3 31.6-33.6 55.2-67.2 80-95.9 12.1-14 24.6-26.8 38.3-37.7-4.3-2.4-8.6-5.4-12.8-9-9.7-8.4-16.4-18.2-20.4-28.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TakeMyMoney;

impl IconShape for TakeMyMoney {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225.814 32.316c-3.955-.014-7.922-.01-11.9.007-19.147.089-38.6.592-58.219 1.32l5.676 24.893c20.431-2.31 42.83-4.03 65.227-4.89 12.134-.466 24.194-.712 35.892-.65 35.095.183 66.937 3.13 87.77 11.202l8.908 3.454-3.977 8.685c-29.061 63.485-35.782 124.732-31.228 184.826 2.248-71.318 31.893-134.75 70.81-216.068-52.956-8.8-109.634-12.582-168.959-12.78zm28.034 38.79c-8.74.007-17.65.184-26.559.526-41.672 1.6-83.199 6.49-110.264 12.096 30.233 56.079 54.69 112.287 70.483 167.082a71.934 71.934 0 0 1 5.894.045c4.018.197 7.992.742 11.875 1.59-16.075-51.397-34.385-98.8-57.146-146.131l-5.143-10.694 11.686-2.068c29.356-5.198 59.656-7.21 88.494-7.219 1.922 0 3.84.007 5.748.024 18.324.16 35.984 1.108 52.346 2.535l11.054.965-3.224 10.617c-18.7 61.563-22.363 127.678-11.79 190.582.176.163.354.325.526.49 3.813-1.336 7.38-2.698 10.705-4.154-8.254-67.394-4.597-136.923 26.229-209.201-17.202-4.383-43.425-6.674-72.239-7.034a656.656 656.656 0 0 0-8.675-.05zm144.945 7.385c-30.956 65.556-52.943 118.09-56.547 174.803 20.038-66.802 58.769-126.685 102.904-165.158a602.328 602.328 0 0 0-46.357-9.645zM103.832 97.02c-18.76 3.868-37.086 8.778-54.812 15.562 8.626 7.48 24.22 21.395 43.14 39.889 8.708-8.963 17.589-17.818 26.852-25.87a1067.587 1067.587 0 0 0-15.18-29.581zm142.023 7.482c-13.62-.066-27.562.324-41.554 1.293-1.468 13.682-9.56 26.482-19.225 39.07 15.431 36.469 28.758 73.683 40.756 113.194 18.375 5.42 36.554 11.827 51.28 19.504-5.47-42.458-4.722-85.963 2.38-128.508-12.885-13.31-19.597-28.09-20.135-44.34a621.48 621.48 0 0 0-13.502-.213zm182.018 26.985c-24.73 29.3-46.521 65.997-61.37 105.912 27.264-38.782 60.79-69.032 96.477-90.4a1318.664 1318.664 0 0 0-35.107-15.512zm-300.74 11.959c-14.594 13.188-29.014 29.017-44.031 44.097 32.289 19.191 59.791 41.918 82.226 67.66 1.393-.526 2.8-.999 4.215-1.43-10.498-36.096-24.885-73.033-42.41-110.327zM360.52 268.198c-16.397 19.788-31.834 30.235-53.09 38.57 2.391 9.22-1.16 19.805-9.334 27.901-4.808 4.761-10.85 10.188-19.684 13.715a62.896 62.896 0 0 0 3.9 2.127c12.364 6.17 34.207 4.18 54.5-5.049 20.23-9.2 38.302-25.092 45-41.191 3.357-9.05.96-13.77-4.917-20.692-4.184-4.925-10.295-9.89-16.375-15.38zm-170.079.586c-10.715-.098-21.597 2.994-30.59 9.76-12.79 9.623-22.65 26.784-22.738 55.934v.2l-.01.2c-2.92 61.381 1.6 89.7 10.555 105.065 7.904 13.562 21.05 20.054 40.28 31.994.916-2.406 1.87-5.365 2.765-9.098 2.277-9.499 4.161-22.545 5.355-36.975 2.389-28.858 2.04-63.51-1.955-88.445l-2.111-13.19 13.016 2.995c31.615 7.273 49.7 8.132 60.2 6.28 10.502-1.854 14.061-5.523 20.221-11.624 5.79-5.732 5.682-7.795 4.456-11.021-1.227-3.227-6.149-8.545-14.5-13.633-16.703-10.176-45.085-19.611-71.614-26.647a53.988 53.988 0 0 0-13.33-1.795zm189.1 69.416c-10.013 9.754-22.335 17.761-35.277 23.647-20.983 9.542-44.063 13.907-63.211 7.553-6.76 2.516-10.687 5.407-12.668 7.8-2.718 3.284-2.888 5.7-1.967 9.16.92 3.46 3.665 7.568 7.059 10.524 3.393 2.956 7.426 4.492 8.959 4.564 46.794 2.222 67.046-11.207 92.277-26.783 7.358-4.542 10.174-13.743 9.469-22.931-.353-4.594-1.69-8.911-3.233-11.63a9.009 9.009 0 0 0-1.408-1.904zm-166.187 9.096c2.727 25.068 2.772 54.314.642 80.053-1.247 15.072-3.175 28.779-5.789 39.685-1.137 4.746-2.388 8.954-3.9 12.659l146.697-6.465c-1.656-6.149-3.344-12.324-5.031-18.502a127.004 127.004 0 0 1-17.24 4.424l.044.73-8.316.518c-5.121.614-10.452.953-15.983.992l-83.86 5.21 2.493-11.607c7.947-37.006 8.68-69.589 3.778-105.234a353.433 353.433 0 0 1-13.536-2.463zm31.972 4.684c3.948 31.933 3.473 62.41-2.406 95.2l19.264-1.196a39.44 39.44 0 0 1-6.1-14.778c-1.296-6.88-.575-14.538 3.926-20.87.199-.281.414-.55.627-.821-5.246-4.845-9.628-11.062-11.614-18.524-2.114-7.944-.794-17.67 5.497-25.27 2.079-2.51 4.592-4.776 7.543-6.816-2.61-2.08-4.898-4.285-6.874-6.582-3.064.021-6.345-.093-9.863-.343zm132.666 41.785c-23.456 14.253-49.81 27.876-96.41 25.664a26.402 26.402 0 0 1-4.518-.615c-1.233.553-1.891 1.256-2.382 1.947-.963 1.355-1.532 3.8-.909 7.113 1.248 6.627 7.525 13.889 13.37 14.569 41.385 4.813 69.979-8.726 87.341-24.477 8-7.258 8.068-11.9 6.89-16.951-.59-2.523-1.89-4.969-3.382-7.25zm-6.683 49.062a114.657 114.657 0 0 1-8.547 4.86c1.65 6.051 3.304 12.102 4.937 18.154l19.92-3.572c-5.14-4.387-9.162-8.954-12.39-13.496-1.442-2.029-2.713-4.001-3.92-5.946z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TallBridge;

impl IconShape for TallBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 151v18h37v30h18v-30h46v30h18v-30h46v30h18v-30h46v30h18v-30h46v30h18v-30h46v30h18v-30h46v30h18v-30h37v-18zm0 66v30h23v179.1c7.95-1.8 15.9-3.1 23-3.1 13.18 0 24.7 4.6 35.2 8.6 1.3.5 2.5 1 3.8 1.4V284.3l37.2-37.3h231.5l37.3 36.7V433c1.3-.4 2.5-.9 3.8-1.4 10.5-4 22-8.6 35.2-8.6 7.1 0 15.1 1.3 23 3.1V247h23v-30zm46 226c-16.54.8-31.84 5.3-46 9.4v18.8c2.59-.8 5.39-1.7 8.35-2.6C39.27 464.7 55.18 461 64 461s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s18.3 3.4 28.8 7.4 22 8.6 35.2 8.6c13.2 0 24.7-4.6 35.2-8.6 10.5-4 20-7.4 28.8-7.4s24.7 3.7 37.6 7.6c3 .9 5.8 1.8 8.4 2.6v-18.8c-14.8-4-32-9.2-46-9.4-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4-22-8.6-35.2-8.6c-13.2 0-24.7 4.6-35.2 8.6-10.5 4-20 7.4-28.8 7.4s-18.3-3.4-28.8-7.4S77.18 443 64 443z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TallyMark5;

impl IconShape for TallyMark5 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.8 32.38c-8 8.34-21.5 15.2-33.3 16.28L176 222.5c-18.9 2.2-37.8 4.6-56.5 7.3-4.3-55.2-10-109.9-19.57-163.17L71.88 88.71C78.5 136.6 82.81 185.5 86.17 234.8c-20.52 3.2-40.87 6.7-60.92 10.4l-7.08 33.9c23.42-3.3 46.82-6.4 70.22-9.4C92.44 337.1 95.33 405 100.2 472l35.9-7.4c-6-65.8-9.2-132.7-13.8-199.1 18.5-2.2 37-4.2 55.5-6.1l10.7 220.1c12.9.6 25.1-1.2 35.4-11.2l-11.2-212.1c23-1.9 46.1-3.5 69.1-4.6-4.3 74.8-9.9 149.7-13.8 221.3 11-9.2 22.9-15.1 36.7-13.7l7.6-208.8c22.9-.7 45.8-.9 68.7-.6-6.9 69.6-15.4 139-20.7 208.7l29.4 8.1c7.7-71.7 20.2-143.7 30-215.5 17.5.8 35 2 52.4 3.6-7.8-13.9-1-27.1 21.7-39.5-22.6-2.1-45.6-3.5-68.9-4.3 6.2-52.6 10.2-105 8.9-157.21l-41.7-14.8c.9 57.39-2.5 114.41-7.4 171.21-23.5-.1-47.1.4-70.9 1.4l6.3-173.76-32 16.75C288.5 106 286.7 159.3 284 213c-24.4 1.4-48.9 3.4-73.3 5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tambourine;

impl IconShape for Tambourine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 59.5a48 48 0 0 0-41.8 24.55c13.3-2.32 27.2-3.55 41.8-3.55 14.6 0 28.6 1.24 41.9 3.56A48 48 0 0 0 256 59.5zm0 39c-99.4 0-163.7 59.3-186.6 132.3-23 73.2-6.4 160.5 52.3 219v.1l2.6 2.6h3.7c17.8 0 32.9-7.3 50.5-14.7l-3.6-17.9c-15.4 6.1-27.4 11.3-38 13.5l-5.1 1.1-3.5-3.9c-48.4-53.3-62-130.1-41.7-194.4 20.9-66.7 77-119.7 169.4-119.7 92.3 0 148.5 53 169.4 119.7 20.3 64.3 6.7 141.1-41.7 194.4l-3.5 3.9-5.1-1.1c-10.6-2.2-22.6-7.4-38-13.5l-3.6 17.9c17.6 7.4 32.7 14.7 50.5 14.7h3.7l2.6-2.6v-.1c58.7-58.5 75.3-145.8 52.3-219-22.9-73-87.2-132.3-186.6-132.3zm-151 34a48 48 0 0 0-48 48 48 48 0 0 0 4.6 20.4c11.7-25.5 28.5-48.7 49.9-67.9a48 48 0 0 0-6.5-.5zm302 0a48 48 0 0 0-6.5.5c21.4 19.2 38.2 42.4 49.9 67.9a48 48 0 0 0 4.6-20.4 48 48 0 0 0-48-48zm-151 2c-13.3 0-25.7 1.1-37.2 3.2a48 48 0 0 0 37.2 17.8 48 48 0 0 0 37.2-17.7c-11.5-2.2-23.9-3.3-37.2-3.3zm-104.7 33.7c-19.3 16-33.4 36.7-42.7 60.1a48 48 0 0 0 44.4-47.8 48 48 0 0 0-1.7-12.3zm209.3 0a48 48 0 0 0-1.6 12.3 48 48 0 0 0 44.5 47.9c-9.4-23.5-23.5-44.2-42.9-60.2zM95.7 299.4c.5 23.4 5.3 46.9 14.4 68.8a48 48 0 0 0 8.9-27.7 48 48 0 0 0-23.3-41.1zm320.6 0a48 48 0 0 0-23.3 41.1 48 48 0 0 0 8.9 27.8c9.1-22 13.9-45.5 14.4-68.9zm-374.8 3.3A48 48 0 0 0 23 340.5a48 48 0 0 0 35.9 46.4c-11-26.9-16.7-55.6-17.4-84.2zm429.1 0c-.8 28.6-6.5 57.2-17.5 84.2a48 48 0 0 0 35.9-46.4 48 48 0 0 0-18.4-37.8zM256 402.5c-25.6 0-46.5 5-64 11l3.5 17.7c16.8-5.9 36.2-10.7 60.5-10.7 24.3 0 43.7 4.8 60.5 10.7l3.5-17.7c-17.5-6-38.4-11-64-11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tangerine;

impl IconShape for Tangerine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259 47.39l-.5 36.91 11 .6 4.6-34.43zM220.6 88.4L192.8 107l37.8 4.2 5.9 37.8 27.7-31.3 45.7 17.6-4.7-18.8 21.7-10.2-41.2-6.9-.6 4.3-44.8-2.4.1-9.6zm128.9 27.3l-23.3 10.8 9.5 38-66.3-25.6-44.9 50.7-9.5-62-56.8-6.4C89.15 155.9 30.48 219.4 31.31 286.3c1.21 97.1 105.79 178.3 230.29 178.3 137-.1 216-82 219-175.5 2.2-69.7-60-139.2-131.1-173.4zm32 55.9l14.2 11.2-9.4 11.9-14.2-11.2zm-265.4 29.8l14.2 11.2-9.4 11.9-14.2-11.2zm298 4.7l18 .4-.5 18.4-18-.4zm-23.8 20.7l18.3 11.9-9.8 15-18.3-11.9zM91.98 244.9l17.92 1.4-1.3 17.8-17.91-1.4zm49.92 11.2l17.2 5.2-3.9 12.9L138 269zM77.13 295l1.99 18.9-17.9 1.8-1.99-18.9zm33.07 34.3l15.2 9.6-8.5 13.4-15.2-9.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TankTop;

impl IconShape for TankTop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 37l32-6c16 112 32 150 96 150s80-38 96-150l32 6s-16 160 32 208c0 96 0 112 16 224-112 16-240 16-352 0 16-112 16-128 16-224 48-48 32-208 32-208z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tanzania;

impl IconShape for Tanzania {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.08 38.67l57.42-6 5.9 82.23 73.8-25.69 30.9-57.39 151.6 81.48 9.4 34.4 60.2 42.7-21.5 75.5 32.5 22.3-13.7 71.9 18.1 20.6-2.7 36.8 35.3 28.4-84.9 34.3-163-.9-19.7-74.5-139.59-52.4c-43.39-47.3-54.69-107-69.46-165.4l61.69-60.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tap;

impl IconShape for Tap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240 18c-4 0-8 4-16 12v32h-48.527C160 46 160 46 144 62c-16 16-16 16 0 32s16 16 30.77 0H224v32h32V94h48.703c15.803 16 15.8 16 31.8 0s16-16 0-32S320.506 46 304 62h-48V30c-8-8-12-12-16-12zM32 96v256h32V96zm64 48l-16-16v192l16-16zm144-2c-32 0-48.35 0-49.23 32H112v96h64.625C192 286 208 302 240 302s48-16 64-32c64 0 64 0 64 32v32h96v-64c0-64-32-96-96-96h-80c.35-32-16-32-48-32zm112 208v16h128v-16zm64 32s-38.823 51.66-32 82c4.22 18.76 12.77 30 32 30s27.78-11.24 32-30c6.823-30.34-32-82-32-82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tapir;

impl IconShape for Tapir {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.7 119.2c-87.96 0-139.26 36-148.5 84.4 44.75 2 78.9 12 103.9 27.7 22.2 13.9 36.9 32.3 44.9 52.5 23.4 5.2 46.2 3.3 69-.7-7.2-54.2-16.9-109-34.1-162.1-12.3-1.2-24-1.8-35.2-1.8zm54.8 4.2c16 51.7 25.2 104.5 32.1 156.2 15 41.6 23 67.3 22.8 113.3h49.1c-13.7-43.9-24.5-62.7-3.6-108.5 20.1-6.5 30.3-13.2 41.3-25.6 22.4 25.5 58.9 38.3 89.6 35.5 5.6-.7.8-19.7-5.7-30.3 9.9 14.3 20.1 28.8 17.4 56-.9 9.1 22.9 26.3 25.9 7.8 5.5-33.9-5-84.4-36.8-119.3-14-15.5-29.4-33.2-53.3-37.9-4.7-14.5-14.8-28.4-25-43.1-12.9 8.9-19 20.9-19.3 32.6-50-19.2-94.9-31-134.5-36.7zm176.1 85.5l24.5 9.5c-2.2 6.2-13 11-19.3 8-5.5-2.6-11.5-14.3-5.2-17.5zM17.77 221.5c-2.4 21.1 3.02 42.9 7.06 60.1 6.6-7.7 8.66-10.2 13.74-21.7 26.56 16.4 29.04 33 4.5 72.6-9.66 15.6 6.63 44.5 14.03 60.4h47.3c-12.94-10.7-18.14-35.5-18.57-49.6 34.07-16.8 53.87-38.2 60.97-66-7-11.5-17.2-21.9-31.3-30.7-22.07-13.8-53.95-23.5-97.73-25.1zm326.53 68.7c-2.1 1.7-3.9 3.4-5.5 5.3-8 9.7-12 24.9-5.2 57.5 4.6 15.7 10.4 23.7 17 39.7h22.5c-15.1-29.7-34.6-66.1-28.8-102.5zm-200.1 28.3c-9.2 13.1-20.9 24.5-37.4 32.9 4.9 16.9 16.5 41.1 16.5 41.1h34.8s-14.3-34.3-15.8-52.8c-.5-5.9.4-13.4 1.9-21.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TargetPoster;

impl IconShape for TargetPoster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M459.9 23.48C327 43.49 189.7 52.14 45.6 42.67 55.13 191.1 63.8 339.8 61.95 490.2c129.65-8.9 259.25-18 393.15-4.1-5.7-154.5-13.9-309 4.8-462.62zM251.1 81.39c46.4.22 93 19.81 126.7 57.71 61.6 69.1 57.7 178.5-9.6 238.4-3.2 2.9-6.5 5.5-9.8 8.1-14.6 26-14.2 57.1-39 61.7-12.9 2.4-26-10.2-37.2-22.7-4.8 8.6-9.7 14.6-15.8 14.4-5.7-.2-9.1-10.1-11.4-21.5-44.5-1.8-88.6-21.3-120.8-57.5-61.61-69.1-57.77-178.5 9.6-238.5 30.5-27.15 68.8-40.3 107.3-40.11zm4.3 36.31c-6.8.1-13.6.7-20.4 1.9-1.8 9.6-4.3 18.5-9 18.7-4.9.2-8.7-5.2-12.5-12.5-13.6 5.2-26.5 13.1-38.3 23.6-52.3 46.6-63.3 127.4-14.1 182.6 49.1 55.2 130.8 61.2 183.1 14.6 52.3-46.5 55.9-128.4 6.7-183.6-26.9-30.2-61.2-45.3-95.5-45.3zm8.5 44.2c17.9.2 35.3 6.1 49.3 18.4 34.3 30.3 33.8 88.2 3 123-30.8 34.9-84.1 39.6-118.4 9.2-34.3-30.3-36.2-83.8-5.3-118.6 18.3-20.7 45.3-32.3 71.4-32zm-10.4 37.7c-14.1-.1-28.2 5.2-38 16.2-18.5 20.9-12.9 52.8 6.2 69.7 19.1 16.9 53.5 14.8 72-6.1 18.4-20.8 12.4-50.8-6.7-67.7-9-8-21.2-12.1-33.5-12.1zm-2.6 33.6a21.02 19.18 0 0 1 21 19.2 21.02 19.18 0 0 1-21 19.2 21.02 19.18 0 0 1-21-19.2 21.02 19.18 0 0 1 21-19.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TargetPrize;

impl IconShape for TargetPrize {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24.99c-25 0-47.7 2.03-63.6 5.15-6.2 1.23-11 2.65-14.7 4.01 3.7 1.36 8.5 2.78 14.7 4.01 15.9 3.12 38.6 5.15 63.6 5.15s47.7-2.03 63.6-5.15c6.2-1.23 11-2.65 14.7-4.01-3.7-1.36-8.5-2.78-14.7-4.01-15.9-3.12-38.6-5.15-63.6-5.15zM155.2 30.3c-19.1 8.9-29.4 26.02-26.8 43.08 2 12.32 10.9 23.51 25 29.32 8.1 3.4 17.9 5.2 29.4 5.1 13.3 24.7 31.3 45.1 50.6 54.6v43.9c-17 10.3-28.3 31.7-39.4 53.7 38.8 9.9 85.3 9.4 123.9-.1-11-22-22.4-43.3-39.3-53.6v-43.9c19.3-9.5 37.3-29.9 50.6-54.6 11.5.1 21.3-1.7 29.4-5.1 14.1-5.81 23-17 25-29.32 2.6-17.06-7.7-34.18-26.8-43.08.4 1.2.6 2.48.6 3.85 0 4.35-2.3 7.91-4.7 10.15-2.3 2.24-4.9 3.73-7.8 5.08-5.8 2.7-13.1 4.72-21.9 6.44-17.5 3.46-41 5.49-67 5.49s-49.5-2.03-67-5.49c-8.8-1.72-16.1-3.74-21.9-6.44-2.9-1.35-5.5-2.84-7.8-5.08-2.4-2.24-4.7-5.8-4.7-10.15 0-1.37.2-2.65.6-3.85zm6.6 16.31c2.3 14.34 6.5 28.91 12.3 42.74-5.6-.55-10.1-1.71-13.8-3.24-9.4-3.9-13.2-9.63-14.1-15.51-1.2-7.93 3.3-18.15 15.6-23.99zm188.4 0c12.3 5.84 16.8 16.06 15.6 23.99-.9 5.88-4.7 11.61-14.1 15.51-3.7 1.53-8.2 2.69-13.8 3.24 5.8-13.83 10-28.4 12.3-42.74zM256 278L95.98 358 224 342l-32 144h128l-32-144 128 16-160-80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Taurus;

impl IconShape for Taurus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.882 30.14S64.407 19.33 122.97 49.78C183.966 81.5 208.598 166.55 255.876 167.64c47.283-1.09 71.92-86.14 132.912-117.858 58.558-30.45 92.088-19.643 92.088-19.643v85.483s-38.062-2.453-58.934 13.507c-15.165 11.593-45.23 54.296-71.375 80.08 38.867 27.833 63.966 71.877 63.966 121.45 0 84.162-72.343 152.39-161.587 152.39-89.244 0-161.593-68.228-161.593-152.39 0-51.03 26.6-96.205 67.432-123.865-25.558-25.957-54.263-66.43-68.965-77.67-20.877-15.96-58.938-13.506-58.938-13.506V30.14zM179.45 330.49c0 40.01 32.98 72.44 73.664 72.44 40.684 0 73.67-32.435 73.67-72.44 0-40.004-32.98-72.44-73.67-72.44-40.688 0-73.664 32.436-73.664 72.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TavernSign;

impl IconShape for TavernSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105 41v96h30V41zm272 0v98h30V41zM25 57v30h62V57zm128 0v30h206V57zm272 0v30h62V57zM69 137v99l56.8 14.2L69 265.7v126.1c14.39-3.5 29.01-1.7 42.7 3.4 17.9 6.5 34.9 18 51.6 30.1 33.4 24.3 65.9 50.3 92.7 50.3 26.8 0 59.3-26 92.7-50.3 16.7-12.1 33.7-23.6 51.6-30.1 13.7-5.1 28.3-6.9 42.7-3.4v-42.6l-15.4-10.7-28.2-19.6L443 323V220.4l-45.7-14.5 45.7-9.5V137h-18v20h-66v-20H153v18H87v-18zm184.3 30H253.6c14.9.5 22.8 11.9 26.5 15.5 1.9 1.9 1.8 1.6 2.1 1.6 5.5-2.5 6.8-3.7 11.3-7.7h3.4c10 0 18.8 5.3 24.7 12.8 5.9 7.5 9.2 17.4 9.2 28.1 0 3.9-.4 7.6-1.3 11.2 4.1-1.5 8.1-2.7 12.2-2.9 1.5-.2 2.9-.1 4.3.1 5.9.6 12.7 5.2 14.6 11.7 10.3 34.2 7.7 71.4.1 100.8-2.7 10.6-10.6 17.6-18.6 20.3-4.5 1.5-8.9 2.1-13.1 2.4-.2 2 0 32.6 0 50.1H183c-.1-17.9 0-34.7 0-52 3.5-30.3 8.9-71.6 12.6-104.5-13.1-6.2-22.3-18.8-22.3-33.7 0-21.2 18.7-37.8 40.6-37.8 4.1 0 8.2.6 12 1.8 6.3-10.5 15.9-17.8 27.4-17.8zm-.1 18c-4.7.1-10.7 4.3-14.5 14.4l-3.6 9.7-9.1-5c-3.6-2-7.9-3.1-12.1-3.1-13.1 0-22.6 9.2-22.6 19.8 0 10.6 9.5 19.8 22.6 19.8 5.4 0 10.6-1.7 14.5-4.6l7.9-5.9 5.2 8.4c3.8 6.3 8.1 8.5 11.8 8.5 4.7 0 10.8-4.3 14.7-14.6l6.9-18.5 9.4 17.3c3.5 6.3 8.1 9 12.6 9 3.7 0 7.3-1.9 10.5-5.9 3.1-4 5.4-10.1 5.4-17s-2.3-13-5.4-17c-2.4-3-5-4.8-7.8-5.6-5.6 4.4-10.8 7.1-16.5 7.4-6.7.3-12.2-3.5-15.5-6.6-6.4-6.2-8.1-10.2-14.4-10.5zm90.4 58.6c-9.9 1.2-19.7 7.5-26.9 13.2l9.6 86.1c3.9-.2 7.5-.6 10-1.5 3.9-1.3 5.6-2.3 7-7.6 6.8-26.5 8.9-60.6.3-90.2zm-65.6 7.6c-6.2 8.3-14.7 13.8-24.7 13.8-8.4 0-16-3.9-21.9-10.2-5.5 2.5-11.5 3.8-17.5 3.8h-.6L202.1 359h107.8l-11.2-100.9c-.6.1-1.2.1-1.8.1-7 0-13.5-2.6-18.9-7zM201 377v16h110v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Teacher;

impl IconShape for Teacher {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M120.998 40.998v37.943C136.22 89.471 146 109.278 146 131.001c0 13.71-3.901 26.65-10.598 36.985 3.465 1.35 7.106 2.85 10.15 4.172l122.352-22.783 5.918 54.842-111.748 23.219c-.862 16.261-2.45 32.262-5.289 51.566h336.217V40.998zM96 88.998c-16.595 0-32.002 17.747-32.002 42.004 0 24.257 15.407 42.002 32.002 42.002 16.595 0 32.002-17.745 32.002-42.002S112.595 88.998 96 88.998zm156.096 81.629l-108.592 20.22c-14.24-5.602-4.956-3.035-21.469-8.517-7.476 5.469-16.33 8.672-26.035 8.672-8.6 0-16.53-2.523-23.428-6.9-8.59 3.564-17.655 8.09-25.736 12.654-12.992 7.338-23.722 13.211-27.838 16.033v130.213h20.004V232h17.996v263.002h30.004V326h17.996v169.002h26.004v-171.84l.154-.824c9.514-50.64 12.588-77.384 13.461-109.656l109.56-22.766zm-98.153 126.375c-.952 5.682-1.991 11.64-3.146 17.996H478v-17.996zM208 344.998c-16.595 0-32.002 17.747-32.002 42.004 0 18.198 8.67 32.73 20.01 38.855 3.599-1.662 7.482-2.706 11.68-2.851 4.633-.16 8.98.767 13.052 2.42 10.968-6.352 19.262-20.63 19.262-38.424 0-24.257-15.407-42.004-32.002-42.004zm112 0c-16.595 0-32.002 17.747-32.002 42.004 0 18.198 8.67 32.73 20.01 38.855 3.599-1.662 7.482-2.706 11.68-2.851 4.633-.16 8.98.767 13.052 2.42 10.968-6.352 19.262-20.63 19.262-38.424 0-24.257-15.407-42.004-32.002-42.004zm112 0c-16.595 0-32.002 17.747-32.002 42.004 0 18.198 8.67 32.73 20.01 38.855 3.599-1.662 7.482-2.706 11.68-2.851 4.633-.16 8.98.767 13.052 2.42 10.968-6.352 19.262-20.63 19.262-38.424 0-24.257-15.407-42.004-32.002-42.004zm-223.688 95.996c-3.844.133-8.907 2.93-14.3 8.785-5.394 5.855-10.696 14.25-15.125 22.76-4.226 8.12-7.609 16.16-10.06 22.463h85.339c-3.04-6.436-7.138-14.549-12.133-22.711-5.298-8.658-11.511-17.138-17.668-22.957-6.157-5.819-11.8-8.487-16.053-8.34zm112 0c-3.844.133-8.907 2.93-14.3 8.785-5.394 5.855-10.696 14.25-15.125 22.76-4.226 8.12-7.609 16.16-10.06 22.463h85.339c-3.04-6.436-7.138-14.549-12.133-22.711-5.298-8.658-11.511-17.138-17.668-22.957-6.157-5.819-11.8-8.487-16.052-8.34zm112 0c-3.844.133-8.907 2.93-14.3 8.785-5.394 5.855-10.696 14.25-15.125 22.76-4.226 8.12-7.609 16.16-10.06 22.463h85.339c-3.04-6.436-7.138-14.549-12.133-22.711-5.298-8.658-11.511-17.138-17.668-22.957-6.157-5.819-11.8-8.487-16.052-8.34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeamDowngrade;

impl IconShape for TeamDowngrade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80.37 32v64h-32l48 64 48.03-64h-32V32H80.37zm160.03 0v64h-32l48 64 48-64h-32V32h-32zm160 0v64h-32l48 64 48-64h-32V32h-32zM96.37 192c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.3 98h59.73l7.2-98h27.3c-.1-22.1-1.2-47.5-6.3-68.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.13-42.5h-3.2zm160.03 0c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.3 98h59.7l7.2-98h27.3c-.1-22.1-1.2-47.5-6.3-68.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5h-3.2zm160 0c-17.1 0-32.4 18.4-32.4 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.9 6-21.2 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.4 98h59.6l7.3-98h27.2c-.1-22.1-1.2-47.5-6.2-68.3-2.8-11.3-6.8-21.2-12.1-28.4-5.1-7.1-11.4-11.6-19.8-13.2l-9.7-1.8 6.3-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5h-3.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeamIdea;

impl IconShape for TeamIdea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16c-48 0-80 32-80 64 0 48 16 80 32 96v16h96v-16c16-16 32-48 32-96 0-32-32-64-80-64zm-63.6 65.33L256 102.5l63.6-21.17-39.2 97.97-16.8-6.6 24.8-62-32.4 10.8-32.4-10.8 24.8 62-16.8 6.6-39.2-97.97zm-83.3 79.07c-23.4 3-44.6 30.5-44.6 65.9 0 19.6 6.8 36.9 16.7 48.9l11.9 14.2-18.3 3.4c-12.9 2.5-22.3 9.3-30.4 20.4-8.1 11.1-14.3 26.5-18.6 44.4C18 389.8 16.2 429.2 16 464h42.8l2.24 30H169.6l2-30h40.8c0-35.2-.4-75.1-7.5-107.7-4-17.9-9.9-33.3-18.1-44.3-8.2-11-18.1-17.8-32.6-20l-18.5-2.9 11.7-14.7c9.5-11.9 15.9-29 15.9-48.1 0-37.8-23.6-65.8-49.4-65.8l-4.8-.1zm283.6 0c-23.4 3-44.6 30.5-44.6 65.9 0 19.6 6.8 36.9 16.7 48.9l11.9 14.2-18.3 3.4c-12.9 2.5-22.3 9.3-30.4 20.4-8.1 11.1-14.3 26.5-18.6 44.4-7.8 32.2-9.6 71.6-9.8 106.4h42.8l2.2 30h108.6l2-30H496c0-35.2-.4-75.1-7.5-107.7-4-17.9-9.9-33.3-18.1-44.3-8.2-11-18.1-17.8-32.6-20l-18.5-2.9 11.7-14.7c9.5-11.9 15.9-29 15.9-48.1 0-37.8-23.6-65.8-49.4-65.8l-4.8-.1zM208 209v18h96v-18h-96zm16 34v18h64v-18h-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeamUpgrade;

impl IconShape for TeamUpgrade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96.37 32l-48 64h32v64h32.03V96h32L96.37 32zm160.03 0l-48 64h32v64h32V96h32l-48-64zm160 0l-48 64h32v64h32V96h32l-48-64zM96.37 192c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.3 98h59.73l7.2-98h27.3c-.1-22.1-1.2-47.5-6.3-68.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.13-42.5h-3.2zm160.03 0c-17.2 0-32.5 18.4-32.5 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.8 6-21.1 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.3 98h59.7l7.2-98h27.3c-.1-22.1-1.2-47.5-6.3-68.3-2.8-11.3-6.7-21.2-12-28.4-5.1-7.1-11.4-11.6-19.9-13.2l-9.7-1.8 6.4-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5h-3.2zm160 0c-17.1 0-32.4 18.4-32.4 42.5 0 12.4 4.1 23.4 10.3 31l6.2 7.8-9.9 1.5c-9.4 1.5-15.9 6-21.2 13.1-5.3 7.1-9.2 16.9-11.6 28.4-4.7 20.9-4.8 46.6-4.8 69h25.9l6.4 98h59.6l7.3-98h27.2c-.1-22.1-1.2-47.5-6.2-68.3-2.8-11.3-6.8-21.2-12.1-28.4-5.1-7.1-11.4-11.6-19.8-13.2l-9.7-1.8 6.3-7.5c6.4-7.8 10.8-18.9 10.8-31.6 0-22.7-13.7-40.4-29.1-42.5h-3.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeapotLeaves;

impl IconShape for TeapotLeaves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.445 26.773C137.751 25.997 44.26 75.975 42.477 239.486c-8.545 16.61-14.032 34.713-14.032 52.287 0 13.75 4.94 25.406 14.274 36.074s23.228 20.078 40.38 27.701c34.305 15.247 81.346 23.225 128.346 23.225 30.105 0 60.22-3.28 87-9.639v-48.361c1.9-6.007 5.104-12.136 9.104-15.994 5.237-4.953 12.015-8.802 19.986-11.99 15.943-6.378 36.846-10.016 59.91-10.016 2.203 0 4.379.044 6.54.11-2.628-26.23-16.394-52.877-33.454-73.348-9.496-11.396-19.956-20.86-29.578-27.274a79.937 79.937 0 0 0-5.707-3.47c-1.604 1.517-3.377 2.904-5.23 4.167-6.703 4.57-15.405 8.262-25.985 11.436-21.16 6.348-49.836 10.379-82.586 10.379s-61.426-4.031-82.586-10.38c-10.58-3.173-19.281-6.865-25.984-11.435-1.853-1.263-3.627-2.65-5.23-4.168a79.938 79.938 0 0 0-5.707 3.471c-11.996 9.21-22.661 18.58-30.645 28.6 3.094-90.792 69.745-166.58 150.152-166.088 47 0 83.793 7.683 109.42 35.14 18.78 20.121 32.355 52.099 38.274 101.938 5.217 4.882 10.331 10.293 15.22 16.16a193.205 193.205 0 0 1 4.871 6.104c-4.233-66.075-19.632-109.083-45.205-136.483-30.372-32.542-73.58-40.86-122.58-40.86zm-9 89v25.369c-15.394 1.095-37.588 4.946-56.816 9.361-12.492 2.869-26.519 5.525-36.63 13.985 6.339 6.58 17.481 10.365 25.032 12.664 18.84 5.652 46.164 9.62 77.414 9.62s58.574-3.968 77.414-9.62c7.918-3.755 19.654-5.043 25.034-12.664-10.812-7.303-25.474-11.167-36.631-13.985-19.14-4.785-41.423-8.266-56.817-9.361v-25.37zM459.07 151.32c-12.203-.1-23.82 5.44-23.627 12.263 18.388 9.998 36.678 10.319 47.11 1.57 6.358-5.332-19.468-13.8-23.483-13.833zm-36.027 25.828c-12.671 12.753-27.106 24.45-41.209 30.433 16.009 21.882 28.415 48.64 30.342 76.663a167.562 167.562 0 0 1 15.941 2.722c20.988-28.852 29.848-68.37 43.104-99.674-14.763 2.331-31.553-.14-48.178-10.144zm-35.598 123.625c-21.118 0-39.696 5.078-53.226 8.728-7.201 1.943-17.637 6.785-17.774 14.272 2.12 7.532 11.521 11.731 17.774 14.271 13.011 5.205 32.108 8.729 53.226 8.729 21.119 0 40.215-3.524 53.227-8.729 5.214-2.934 17.637-6.784 17.773-14.271-2.119-7.533-11.52-11.732-17.773-14.272-13.012-5.204-32.108-8.728-53.227-8.728zm-71 48.605v70.395c0 12.25 7.067 21.035 20.235 28.058s31.965 10.942 50.765 10.942 37.598-3.919 50.766-10.942 20.234-15.808 20.234-28.058v-70.395c-3.365 1.998-7.074 3.773-11.09 5.38-15.942 6.376-36.845 10.015-59.91 10.015-23.064 0-43.967-3.639-59.91-10.016-4.015-1.606-7.725-3.381-11.09-5.379zm-122.091 58.783c-32.944 7.997-65.843 6.02-94.125 4.163-17.383-1.142-33.086-2.17-45.69-1.1-8.301.704-14.874 2.364-20.193 5.016 11.668 11.788 26.717 21.415 46.199 27.025 5.622-3.346 11.84-5.581 18.27-6.896 14.864-3.04 31.296-2.337 49.019-2.194 10.8.088 22.024.032 33.537-.945 6.809-7.024 9.929-17.027 12.983-25.069zm56.341 23.84c-36.811 19.406-73.306 20.413-103.007 20.172-18.006-.146-33.672-.541-45.266 1.83-8.787 1.798-14.964 4.559-19.772 10.328 26.798 18.15 68.464 29.208 118.88 13.125 29.22-9.32 38.834-20.316 44.488-32.025 2.007-4.157 3.36-8.726 4.677-13.43z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeePipe;

impl IconShape for TeePipe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 115v154h30V115zm432 0v154h30V115zM73 128v128h103.8l40-53.4 14.4 10.8-39.2 52.3V439h128V265.7l-39.2-52.3 14.4-10.8 40 53.4H439V128zm23 23h320v18H96zm119 137h18v128h-18zm-36 169v30h154v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Telescope;

impl IconShape for Telescope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.3 19.02c-1 0-1.6.19-1.9.37-.5.35-1.5 1.93-.9 6.16.7 4.17 3.4 9.96 8 15.36 4.6 5.4 10.1 9.2 14.3 10.81 4.4 1.55 6.3 1.04 6.8.69.5-.35 1.5-1.93.9-6.16-.7-4.17-3.4-9.96-8-15.36-4.6-5.4-10.1-9.2-14.3-10.81-2.2-.78-3.8-1.04-4.9-1.06zM404.4 35.2c-.7.1-1.1.24-1.5.45-.7.42-1.5 1.25-2.2 3.91-.7 2.75-.9 6.99-.1 12.13.5 3.22 1.4 6.85 2.5 10.63a35.08 13.15 58.61 0 1 3.2-8.44 35.08 13.15 58.61 0 1 29.5 23.09 35.08 13.15 58.61 0 1 7 36.83 35.08 13.15 58.61 0 1-8.8-1c2.8 2.7 5.6 5.2 8.2 7 4.2 3.1 8.1 4.8 10.8 5.5 2.7.6 3.8.2 4.5-.2.7-.4 1.4-1.2 2.2-3.9.6-2.7.8-7 .1-12.1-1.5-10.32-6.6-24.17-14.9-37.74-8.2-13.57-18.2-24.35-26.7-30.41-4.2-3.05-8.1-4.79-10.8-5.45-1.3-.29-2.3-.36-3-.3zm-146.6 3.98-10 8.93c-.2.17-.6.3.4 3.65s3.9 8.19 7.5 12.28 8.1 7.46 11.3 8.85c3.2 1.37 3.3.98 3.4.84l10.6-9.49c-5.5-3.2-10.6-7.54-15.1-12.85-3.4-3.95-6.1-8.05-8.1-12.21zm125.5 18.34-28.5 17.47c-1.8 1.1-2.8 2.36-3.6 4.83-.8 2.47-1 6.16-.5 10.59 1.2 8.87 5.7 20.39 12 30.79 6.3 10.4 14.5 19.7 21.9 24.8 3.6 2.5 7 3.9 9.6 4.4 2.5.4 4.1.1 5.9-1l28.4-17.4c-10.1-7.9-20-19.3-28.4-33.22-8.7-14.16-14.4-28.41-16.8-41.26zM234.6 65.3l-48.5 49.9-.2.2c-1.3 1.2-1.4 1.6-1.2 3.2.2 1.6 1.3 4.1 3.1 6.2 1.8 2 4.2 3.4 5.8 3.8 1.6.4 2.1.4 3.6-.9l.2-.2 54.7-42.54c-3.6-2.55-6.8-5.62-9.8-8.98-3-3.31-5.6-6.89-7.7-10.68zm98.9 30.96L214.7 181.1l-.3.2c-15.4 9.4-3 38.2 13 45L169 489l17.6 4 34.3-154.3 63.2 31.5 12.8 121.7 17.9-1.8-13.1-123.9 44.9-27.9 47.6 143.9 17-5.6-90-271.8-16.1 8.3 35.6 107.6-41.1 25.6-13-123.6-17.1 8.8L281.9 349l-57-28.5 21.7-97.4 124.8-64.6c-7.1-5.4-13.5-12.5-19.1-20.4l-45 27.4-9.4-15.4 45-27.4c-4.4-8.6-7.8-17.6-9.4-26.44zm-90.9 18.94-14.1 10.9 11.7 14.7 14.5-10.4zm-52.4 87.4L74.44 287.5l-.33.2c-4.7 2.8 4.27 17.4 8.94 14.6l.29-.2 128.16-64.5c-10.8-8.3-18.9-21.6-21.3-35zM65.44 221.9c-3.46.2-7.08 2.2-9.92 5.1-2.16 2.2-3.41 4.8-3.65 6.3-.25 1.4-.3 1.5.82 2.6l.12.1 26.11 25.8 21.98-16.1-30.59-22.9c-1.07-.5-2.21-.9-3.4-.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TemplarShield;

impl IconShape for TemplarShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.938l-4.025 2.01c-96 48-93.455 47.175-189.455 63.175l-8.592 1.432 1.15 8.634c16.125 120.934 48.338 217.868 85.022 285.12 18.34 33.627 37.776 59.85 57.263 78.022C216.85 478.502 236.625 489 256 489s39.15-10.497 58.637-28.668c19.487-18.17 38.922-44.395 57.263-78.02 36.684-67.254 68.897-164.188 85.022-285.123l1.15-8.635-8.592-1.432c-96-16-93.455-15.174-189.455-63.174L256 21.937zM224 64c16 0 16 0 32 16 16-16 16-16 32-16-16 16-16 16-16 32l2.666 48h109.158S400 144 416 128c0 16 0 16-16 32 16 16 16 16 16 32-16-16-32.176-16-32.176-16h-107.38L288 384s0 32 16 64c-16 0-48 0-48-16 0 16-32 16-48 16 16-32 16-64 16-64l11.555-208H128.13S112 176 96 192c0-16 0-16 16-32-16-16-16-16-16-32 16 16 32.13 16 32.13 16h109.204L240 96c0-16 0-16-16-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TempleDoor;

impl IconShape for TempleDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41.02 33v46H471V33zm62.48 64L34.59 479H142.8V97zm57.3 0v211.6c8 1.2 16.9-.5 27.3-4.7 36.9-18.9 63.4-52.9 88.1-93.1 21.9-35.7 42.1-76.1 67-113.8h-54c-5.8 50.3-52.6 118-81.2 151 24.6-45.2 60.9-111.8 60.3-151h-51.9c-2.6 29.1-12.6 58.4-24.4 87 4.8-30 10.7-58.2 8.3-87zm208.4 0v382h108.2L408.5 97zM186.4 323.5c-8.6 2.5-17.3 3.7-25.6 3V479h53.7c-2.3-46.2 2.4-65.2-28.1-155.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TempleGate;

impl IconShape for TempleGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 26.92L28.98 183H483L256 26.92zm0 26.29L427.9 167H84.1L256 53.21zm0 21.58L143.9 149h224.2L256 74.79zM73 201v286h30V201H73zm48 0v286h126V377H137v-54h110V201H121zm144 0v122h110v54H265v110h126V201H265zm144 0v286h30V201h-30zM155 341v18h202v-18H155zm37 50c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm128 0c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-128 18c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7zm128 0c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TemporaryShield;

impl IconShape for TemporaryShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22C192 70 128 90 32 122c0 112 80 272 224 368 144-96 224-250 224-362-96-32-160-58-224-106zm0 97c75.6 0 137 61.4 137 137s-61.4 137-137 137-137-61.4-137-137 61.4-137 137-137zm-9 18.3c-42.9 3.2-79.3 29.1-97.6 65.6l97.9 39.9a16 17.12 0 0 1 8.7-2.8 16 17.12 0 0 1 2.9.3l38.7-38.7 12.8 12.8-38.8 38.8a16 17.12 0 0 1 .4 3.9 16 17.12 0 0 1-16 17.1 16 17.12 0 0 1-15.9-15l-97.4-39.7c-2.8 8.8-4.7 18-5.4 27.5H160v18h-22.7c4.4 58.6 51.1 105.3 109.7 109.7V352h18v22.7c58.6-4.4 105.3-51.1 109.7-109.7H352v-18h22.7c-4.4-58.6-51.1-105.3-109.7-109.7V160h-18v-22.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TennisBall;

impl IconShape for TennisBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.938 35.188c-25.875 1.07-51.58 6.686-75.5 16.593-26.714 11.065-51.274 27.462-71.72 47.907-20.445 20.446-36.84 45.005-47.906 71.72-9.8 23.662-15.405 49.065-16.562 74.655 74.49-11.465 126.867-33.367 160.656-67.156 33.846-33.845 50.15-80.167 51.03-143.72zm18 0c-.91 66.75-18.61 118.764-56.313 156.468-38.05 38.05-95.324 60.96-173.438 72.625 1 26.133 6.65 52.13 16.657 76.283 11.067 26.715 27.458 51.24 47.906 71.687 20.448 20.448 45.003 36.87 71.72 47.938 24.152 10.005 50.122 15.63 76.25 16.625 11.665-78.115 34.575-135.39 72.624-173.438 37.704-37.704 89.72-55.402 156.47-56.313-1.06-25.916-6.67-51.663-16.595-75.625-11.068-26.715-27.49-51.27-47.94-71.718-20.447-20.45-44.97-36.84-71.686-47.907-23.96-9.927-49.735-15.56-75.656-16.626zm211.187 229.875c-63.202.987-109.34 17.307-143.063 51.03-33.793 33.795-55.662 86.15-67.125 160.657 25.596-1.157 51.026-6.762 74.688-16.563 26.714-11.064 51.242-27.46 71.688-47.906 20.445-20.444 36.842-44.972 47.906-71.686 9.906-23.922 15.522-49.652 16.592-75.53-.228.002-.46-.005-.687-.002z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TennisCourt;

impl IconShape for TennisCourt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M120.8 55L87.58 199h18.52l29.1-126h18.2l-20.6 126h18.3l10.1-62H247v62h18v-62h85.8l10.1 62h18.3L358.6 73h18.2l29.1 126h18.5L391.2 55H120.8zm50.9 18h168.6l7.6 46H164.1l7.6-46zM73 217v30h366v-30H73zm-.64 48L20.69 489H491.3l-51.7-224h-18.5l47.6 206h-45L390 265h-18.3l14.2 87H265v-87h-18v87H126.1l14.2-87H122L88.35 471H43.31l47.56-206H72.36zm50.74 105h265.8l16.5 101H106.6l16.5-101z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TennisRacket;

impl IconShape for TennisRacket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.6 31c-6.6 0-13.2.6-19.7 1.59-34.5 5.44-66.5 23.14-88.3 44.96-28.8 28.85-49.6 70.85-58.4 111.65-1.6 6.7-2.6 13.6-3.5 20.4L162.2 334l15.8 15.8 124.3-33.5c6.8-.9 13.7-2 20.5-3.5 40.8-8.8 82.8-29.6 111.6-58.4 21.9-21.9 39.6-53.9 45-88.4 5.2-34.5-2.4-72.3-31.9-101.71-23.8-23.93-53.1-33.44-81.9-33.29zm.1 19.29c24.3-.28 47.9 7.49 68.2 27.71 25 24.9 31 55.2 26.3 85-4.6 29.9-20.7 58.8-39.5 77.6-25.4 25.4-64.7 45.2-102 53.2-37.2 8.2-71.2 3.8-87.8-12.9-16.5-16.5-20.9-50.4-12.8-87.7 8.1-37.2 27.8-76.6 53.3-101.94 18.7-18.78 47.7-34.84 77.6-39.55 5.5-.88 11.2-1.36 16.7-1.42zm-166 214.81c3.7 11.3 9.3 21.5 17.5 29.5 8.1 8.2 18.2 14 29.5 17.6l-63 16zm-50.3 83.6L50 448.2l-5.25-5.1-13.71 13.7L55.41 481l13.7-13.6-5.41-5.4 99.5-99.6zm211 45.1c-19.5 0-35.6 16-35.6 35.5s16.1 35.5 35.6 35.5c19.4 0 35.5-16 35.5-35.5s-16.1-35.5-35.5-35.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TentaclesBarrier;

impl IconShape for TentaclesBarrier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.7 21.87v.1c-19.7 0-38.2 1.04-53.8 3.64C185 41.69 23.55 96.7 24.75 153.1c.18 8.4 28.74-1.6 68.56-16.5-1.3-2-2.28-4.2-2.83-6.7-2.2-9.9 3.51-18.9 11.02-25.1 7.5-6.31 17.6-11.1 29.3-13.69 11.7-2.63 22.9-2.54 32.2 0 4.1 1.08 8.1 2.76 11.4 5.1 1.8-5.91 6.2-11.06 11.3-15.12 7.8-6.13 18.3-10.78 30.5-13.35 12.3-2.56 23.9-2.54 33.7-.1 6.6 1.67 12.9 4.71 17.1 9.54 3.2-6.51 9.2-11.59 16-15.03 9.2-4.62 20.5-7.07 32.9-7.01h2.5c13.4.43 25.5 3.67 35 9.21 5.6 3.27 10.5 7.67 13.6 13 4.6-4.96 11.1-8.3 18.1-10.09 11.4-2.93 24.9-2.43 38.9 1.59 13.9 4.02 25.9 10.9 34.3 19.54 7.9 8.05 13.2 18.51 11.6 29.11 8.5 2.6 16.4 5.1 24.1 7.5V36.32c-45.1-6.85-106.3-14.4-158.3-14.45zm-19.8 51.31c-9.9 0-18.8 2.08-24.7 5.07-6.3 3.2-8.3 6.58-8.4 8.71-.1 2.13 1.7 5.63 7.8 9.22 6.1 3.59 15.8 6.42 26.5 6.72 10.7.4 20.4-1.8 26.7-5.03 6.3-3.2 8.3-6.58 8.4-8.7 0-2.13-1.8-5.63-7.9-9.23-6.1-3.58-15.7-6.39-26.4-6.73h-2zm85.7 10.5c-4.3 0-8.3.42-11.6 1.27-7.5 1.97-11 5.39-11.9 8.66-.8 3.27.7 8.09 6.3 13.89 5.6 5.7 15 11.4 26.3 14.7 11.2 3.2 22 3.4 29.6 1.4 7.5-2 11-5.4 11.8-8.6.8-3.3-.6-8.2-6.2-13.9-5.7-5.78-15.1-11.46-26.3-14.71-6.3-1.82-12.5-2.66-18-2.71zm-167.2.12c-4.3 0-9.1.48-14.1 1.51-9.9 2.07-18.2 5.96-23.2 9.98-4.9 3.89-5.5 6.81-5.4 7.41.2.7 2 3.1 8.2 4.7 6.3 1.6 15.6 1.8 25.5-.3 9.9-2 18.2-5.9 23.3-9.95 4.9-3.89 5.5-6.77 5.3-7.45-.2-.68-1.9-3.07-8.2-4.62-3.1-.82-7-1.28-11.4-1.28zm-86.6 23.5c-4.1 0-8.6.4-13.2 1.4-9.2 2-16.9 6-21.6 9.8-4.6 3.9-5.1 6.7-4.9 7.5.1.9 1.8 3.2 7.7 4.8 5.8 1.5 14.5 1.8 23.7-.2 9.2-2.1 17-6.1 21.6-9.8 4.6-3.9 5.2-6.7 5-7.6-.2-.9-1.9-3.2-7.7-4.7-2.9-.7-6.5-1.2-10.6-1.2zm179.4 56.5c-16.1 0-28.4 3.1-32.4 9.9 0 0 97.5 31.8 90.1 68.9-7.1 35.9-45.4 48.1-89.1 51.4-1.1 7.4-6 13.6-12.2 17.7-7.6 5.3-17.5 8.4-28.8 9.1-11.3.7-21.9-1.2-30.7-5.5-6.8-3.2-13-8.4-16-15.2-3.4 7.1-10.3 11.9-18.1 14.6-10.1 3.4-22.6 4-35.9 1.6-13.2-2.5-25.1-7.7-34.1-14.8-5.8-4.6-10.7-10.5-13.1-17.1-3.4 2.2-7.44 3.7-11.6 4.7-11.01 2.7-24.56 2.2-38.85-1.2-14.33-3.5-26.93-9.4-36.33-17-.72-.6-1.43-1.2-2.12-1.8v62.6c51.9 21.6 121.9 45.8 168.7 42.1 101.1-8.1 273.1-34 272.5-135.4-.3-45.7-83.6-74.5-132-74.6zM44.96 237.7c-4.46 0-8.47.5-11.79 1.3-7.58 1.7-10.18 4.9-10.46 6.7-.28 1.7 1.18 5.9 7.67 11 6.48 5.3 16.87 10.5 28.86 13.4 11.95 2.9 23.14 2.9 30.8 1.1 7.54-1.8 10.16-4.9 10.46-6.7.2-1.8-1.22-5.9-7.68-11.1-6.53-5.3-16.92-10.4-28.87-13.3-6.75-1.6-13.24-2.4-18.99-2.4zM146.2 267c-5.4 0-10.1.8-13.8 2.2-6.6 2.2-8.9 5.4-9.2 7.6-.2 2.2 1.3 6.1 7.2 10.6 5.8 4.7 15 9 25.7 11s20.6 1.3 27.1-1c6.6-2.3 9-5.5 9.2-7.6.3-2.2-1.3-6.2-7.1-10.7-5.8-4.7-15.1-8.9-25.8-10.9-4.7-.9-9.2-1.3-13.3-1.2zm106.6 12.6c-1.1 0-2.1 0-3.2.1-8.4.5-15.8 3.1-20.1 6.1-4.5 3-5.3 5.6-5.2 7.1.2 1.5 1.8 4 6.9 6.4 5 2.5 12.9 4.1 21.3 3.6 8.5-.5 15.9-3 20.2-6.1 4.5-3 5.3-5.6 5.1-7.1-.1-1.5-1.7-4-6.8-6.4-4.4-2.2-11-3.7-18.2-3.7zM494 355.9c-7.5.1-17.5 2.5-27.7 7.2-10.7 5-19.3 11.7-24.1 17.6-4.9 5.9-5 9.7-4.6 10.6.4.9 3.4 3.1 11 3.2 7.7.1 18.3-2.3 29-7.3 6.3-3 11.9-6.5 16.4-10.1zM43.49 371.1c-68.31-.9 127.31 88.1 188.21 105.7 71.2 20.5 181.5.6 262.3-20v-57.9c-2.8 1.7-5.7 3.2-8.8 4.6-12.8 6-25.5 9.1-36.7 9-4.9 0-9.9-.7-14.3-2.3 0 .1-.1.1-.1.2-2.1 4.2-5.3 7.9-9.2 11.2-7.7 6.6-18.5 12.1-31.2 15.8-12.6 3.7-24.9 4.9-35.4 3.6-5.2-.7-10.1-2-14.5-4.4-1.3-.7-2.6-1.6-3.9-2.6-2.5 5.7-7.4 10.5-13 14.1-8.5 5.6-19.8 9.4-32.4 11-12.6 1.5-24.4.6-33.9-2.8-7.8-2.7-15.2-7.5-18.3-14.8-3.8 3-8.7 5.1-13.6 6.3-9.6 2.5-21.2 2.5-33.2-.1-12-2.5-22.6-7.2-30.4-13.3-7.1-5.7-13-13.7-12-23-57.47-17.9-89.42-40-109.61-40.3zm359.61 26.1c-6.4-.1-14.1 1-22 3.3-10.6 3.1-19.5 7.9-24.7 12.4-2.6 2.2-4.2 4.4-4.9 5.7-.7 1.4-.5 1.7-.5 1.6-.1-.1-.1.2 1.4 1.1 1.4.7 4 1.6 7.6 2 7 1 17.3.2 27.9-2.9 10.5-3.1 19.5-7.9 24.7-12.4 2.6-2.2 4.2-4.3 4.9-5.7.6-1.4.5-1.7.5-1.6 0 .1 0-.2-1.4-1s-4.1-1.7-7.6-2.1c-1.8-.3-3.8-.4-5.9-.4zm-213 10c-4.3 0-8.1.5-11.2 1.3-6.2 1.5-7.8 3.8-7.9 4.4-.1.6.4 3.4 5.4 7.3 4.9 3.9 13.2 7.8 22.9 9.9 9.7 2 19 1.8 25 .2 6.2-1.5 7.8-3.8 7.9-4.4.2-.6-.4-3.4-5.3-7.3-4.9-3.9-13.3-7.8-23-9.9-4.8-1-9.6-1.5-13.8-1.5zM297.4 418c-2.4 0-4.9.2-7.5.5-10.2 1.3-19.2 4.5-24.8 8.1-5.5 3.6-6.5 6.6-6.4 7.3.1.7 1.7 3.3 7.9 5.4 6.2 2.2 15.7 3.2 25.9 1.9 10.2-1.3 19.2-4.5 24.7-8.1 5.5-3.6 6.5-6.5 6.4-7.2 0-.7-1.7-3.3-7.8-5.5-4-1.4-9.6-2.3-15.7-2.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Texas;

impl IconShape for Texas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.3 41.88V222.6l-130.57 3c35.98 40.7 60.88 78.7 123.07 126 36.4-48.2 78.8-54.7 144.7 100.5l66.8 18c.7-49.4-15.2-97.8 126-155.3l-11.3-93-3-60.7-211.9-39.8V41.88z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Theater;

impl IconShape for Theater {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32 32v224h448V32H32zm50.68 289.7c-14.05 0-24.17 1-30.73 3-6.57 2-9.44 4.3-11.93 8.6-1.46 2.5-2.56 6.2-3.41 10.9 4.88.7 9.36 1.5 13.48 2.8 10 3 18.17 9 23.1 17.3C78.12 356 86.27 350 96.27 347c8.93-2.7 19.43-3.8 32.43-4-.8-4.2-1.8-7.4-3.2-9.7-2.5-4.3-5.4-6.6-12-8.6s-16.74-3-30.82-3zm115.52 0c-14.1 0-24.2 1-30.7 3-6.6 2-9.5 4.3-12 8.6-1.4 2.4-2.5 5.8-3.3 10.3 7.5.6 14 1.6 19.8 3.4 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 7.4-2.3 15.9-3.4 26-3.8-.8-4.2-1.8-7.5-3.2-9.9-2.5-4.3-5.4-6.6-12-8.6s-16.7-3-30.8-3zm115.5 0c-14.1 0-24.2 1-30.7 3-6.6 2-9.5 4.3-12 8.6-1.4 2.4-2.4 5.7-3.2 9.9 10.1.4 18.7 1.5 26.1 3.8 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 5.8-1.8 12.3-2.8 19.7-3.4-.8-4.5-1.9-7.9-3.3-10.3-2.5-4.3-5.4-6.6-12-8.6s-16.7-3-30.8-3zm115.5 0c-14.1 0-24.2 1-30.7 3-6.6 2-9.5 4.3-12 8.6-1.4 2.3-2.4 5.5-3.2 9.7 13.1.2 23.6 1.3 32.5 4 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 4.1-1.3 8.6-2.1 13.4-2.8-.8-4.7-1.9-8.4-3.4-10.9-2.5-4.3-5.4-6.6-12-8.6s-16.7-3-30.8-3zM134.1 361c-14.9 0-25.6 1-32.6 3.2-6.99 2.1-10.17 4.6-12.88 9.4-2.53 4.4-4.06 11.8-5 22.3 10.74.4 19.68 1.4 27.38 3.8 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 7.7-2.4 16.7-3.5 27.5-3.8-1-10.5-2.5-17.9-5-22.3-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2zm121.9 0c-14.9 0-25.6 1-32.6 3.2-7 2.1-10.2 4.6-12.9 9.4-2.5 4.4-4 11.8-5 22.3 10.8.4 19.7 1.4 27.4 3.8 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 7.7-2.4 16.7-3.5 27.5-3.8-1-10.5-2.5-17.9-5-22.3-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2zm121.9 0c-14.9 0-25.6 1-32.6 3.2-7 2.1-10.2 4.6-12.9 9.4-2.5 4.4-4 11.8-5 22.3 10.8.4 19.7 1.4 27.4 3.8 10 3 18.2 8.9 23.1 17.3 4.9-8.4 13-14.3 23.1-17.3 7.7-2.4 16.7-3.5 27.5-3.8-1-10.5-2.5-17.9-5-22.3-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2zm-359.9.1v48.5c4.64-4.5 10.54-7.9 17.28-9.9 7.76-2.4 16.72-3.5 27.49-3.8-.93-10.5-2.48-17.9-5-22.3-2.71-4.7-5.9-7.3-12.93-9.4-6.07-1.9-14.94-2.9-26.84-3.1zm476 0c-11.9.2-20.8 1.2-26.8 3.1-7 2.1-10.2 4.6-12.9 9.4-2.5 4.4-4 11.8-5 22.3 10.8.4 19.7 1.4 27.4 3.8 6.7 2 12.6 5.4 17.3 9.9v-48.5zM73.1 413.7c-14.84 0-25.56 1-32.56 3.2-7.01 2.1-10.18 4.6-12.89 9.4-4.93 8.6-6.15 28.5-6.33 60.7H125c-.2-32.2-1.4-52.1-6.3-60.7-2.7-4.7-5.9-7.3-13-9.4-6.98-2.2-17.72-3.2-32.6-3.2zm121.9 0c-14.9 0-25.6 1-32.6 3.2-7 2.1-10.2 4.6-12.9 9.4-4.9 8.6-6.1 28.5-6.3 60.7h103.7c-.2-32.2-1.4-52.1-6.3-60.7-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2zm121.9 0c-14.9 0-25.6 1-32.6 3.2-7 2.1-10.2 4.6-12.9 9.4-4.9 8.6-6.1 28.5-6.3 60.7h103.7c-.2-32.2-1.4-52.1-6.3-60.7-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2zm121.9 0c-14.8 0-25.6 1-32.6 3.2-7 2.1-10.2 4.6-12.9 9.4-4.9 8.6-6.1 28.5-6.3 60.7h103.7c-.2-32.2-1.4-52.1-6.3-60.7-2.7-4.7-5.9-7.3-13-9.4-7-2.2-17.7-3.2-32.6-3.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TheaterCurtains;

impl IconShape for TheaterCurtains {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 18v94.275c28.382-12.57 52.994-35.202 71.39-59.734-4.662-3.466-8.973-7.064-12.865-10.79C68.903 34.452 62.723 26.51 58.973 18zm61.754 0c2.378 3.508 5.41 7.103 9.22 10.75 10.73 10.274 26.505 20.414 44.88 29.117C170.602 75.274 217.8 87 256 87s85.398-11.726 122.146-29.133c18.375-8.703 34.15-18.843 44.88-29.117 3.81-3.647 6.842-7.242 9.22-10.75zm373.273 0c-3.75 8.51-9.93 16.452-17.552 23.75-3.892 3.726-8.203 7.324-12.864 10.79 18.396 24.533 43.008 47.166 71.39 59.735V18zm-82.554 16.734C354.78 52.937 308.428 65.326 256 65.33c-52.242-.023-98.44-12.343-114.236-30.463C168.982 45.655 211.206 51.987 256 52c44.953-.022 87.294-6.408 114.473-17.266zM104.785 62.78C83.37 91.92 53.765 118.415 18 131.788v174.035c2.116.805 4.112 1.178 6 1.178 8.312-.646 12.295-5.132 18.324-9.984 29.568-24.024 49.255-66.27 65.053-119.094 9.187-30.72 17.136-64.91 25.34-100.78-2.216-.986-4.41-1.986-6.57-3.01-7.512-3.557-14.67-7.346-21.362-11.35zm302.43 0c-6.693 4.006-13.85 7.795-21.36 11.353-2.162 1.023-4.356 2.023-6.572 3.008 8.204 35.872 16.153 70.062 25.34 100.782 15.798 52.825 35.485 95.07 65.053 119.094 5.414 4.648 11.22 9.89 18.324 9.984 1.888 0 3.884-.373 6-1.178V131.787c-35.764-13.373-65.37-39.87-86.785-69.006zM46.13 317.34C39.233 322.193 31.793 325 24 325c-2.025 0-4.026-.197-6-.564v123.2c6.273 2.01 14.098 3.364 22 3.364 12.41 0 24.637-3.336 30.94-7.316-.04-43.556-.973-88.042-24.81-126.344zm419.74 0c-23.837 38.302-24.77 82.788-24.81 126.344 6.303 3.98 18.53 7.316 30.94 7.316 7.902 0 15.727-1.353 22-3.363v-123.2c-1.974.366-3.975.563-6 .563-7.792 0-15.232-2.807-22.13-7.66zM88.39 409c.6 13.277.61 26.37.61 39v3.73l-2.637 2.633C75.18 465.545 57.5 469 40 469c-7.475 0-14.98-.636-22-2.232V487h476v-20.232c-7.02 1.596-14.525 2.232-22 2.232-17.5 0-35.18-3.455-46.363-14.637L423 451.73V448c0-12.63.01-25.723.61-39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThermometerCold;

impl IconShape for ThermometerCold {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 36.5c-11.688 0-23 6.674-23 25.5v25h23v18h-23v14h7v18h-7v14h23v18h-23v14h7v18h-7v14h23v18h-23v14h7v18h-7v14h23v18h-23v14h7v18h-7v14h14v-23h18v81.313A32 32 0 0 1 192 432a32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 23-30.688V361h-14v21h.01c-18.926 8.673-32.01 27.74-32.01 50 0 30.482 24.518 55 55 55s55-24.518 55-55c0-22.26-13.084-41.327-32.01-50h.01V62c0-18.826-11.313-25.5-23-25.5zm87 16.273v66.73l-46-23v20.124l46 23v50.246l-13.54 27.084-30.228-1.814-2.232-1.29v27.126l9.918 15.02L201 271.02v27.126l2.232-1.29 30.227-1.813L247 322.127v50.246l-29.51 14.754c3.703 4.73 6.834 9.922 9.293 15.478L247 392.498v66.73h18v-66.73l68.266 34.133 8.05-16.1L265 372.374v-50.246l13.54-27.084 30.228 1.814 43.513 25.123-5.11 85.172 17.97 1.078 4.57-76.187 57.79 33.365 9-15.588-57.79-33.365 63.694-42.053-9.918-15.02-71.205 47.01-43.514-25.124L301.082 256l16.684-25.268 43.515-25.125 71.206 47.012 9.918-15.022-63.693-42.053 57.79-33.365-9-15.588-57.79 33.365-4.57-76.187-17.97 1.078 5.11 85.172-43.512 25.123-30.227 1.814L265 189.873v-50.246l76.316-38.158-8.05-16.1L265 119.5v-66.73h-18zm-162.5 93.82l-9 15.587 43.5 25.115v-20.783l-34.5-19.92zm34.5 58.386l-49.404 32.618 9.918 15.02L119 226.55v-21.57zm-39.486 54.4l-9.918 15.022L119 307.022v-21.57l-39.486-26.07zM119 324.706L75.5 349.82l9 15.588 34.5-19.92v-20.783zm43.11 83.943c-25.186 0-25.186 26.678-25.186 26.678s7.05-10.4 11.31-14.904c4.195-4.435 13.877-11.774 13.877-11.774z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThermometerHot;

impl IconShape for ThermometerHot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 36.5c-11.688 0-23 6.674-23 25.5v25h14V64h18v337.313A32 32 0 0 1 192 432a32 32 0 0 1-32 32 32 32 0 0 1-32-32 32 32 0 0 1 23-30.688V361h-14v21h.01c-18.926 8.673-32.01 27.74-32.01 50 0 30.482 24.518 55 55 55s55-24.518 55-55c0-22.26-13.084-41.327-32.01-50h.01V62c0-18.826-11.313-25.5-23-25.5zm96 16.273c-12.063 20.105-25.092 39.243-39.064 57.438-5.335-2.207-10.646-4.508-15.936-6.882v19.082c16.962-7.01 35.53-10.894 55-10.894 79.69 0 144.484 64.794 144.484 144.484 0 79.69-64.794 144.484-144.484 144.484-11.006 0-21.727-1.24-32.033-3.582 4.352 7.89 7.27 16.666 8.44 25.975 8.234 11.748 16.1 23.86 23.593 36.35 12.063-20.105 25.092-39.243 39.064-57.438 21.198 8.77 42.05 18.83 62.55 30.21.394-23.442 2.11-46.53 5.113-69.273 22.743-3.003 45.83-4.72 69.273-5.114-11.38-20.5-21.44-41.35-30.21-62.55 18.194-13.97 37.332-27 57.437-39.063-20.105-12.063-39.243-25.092-57.438-39.064 8.77-21.198 18.83-42.05 30.21-62.55-23.442-.394-46.53-2.11-69.273-5.113-3.003-22.743-4.72-45.83-5.114-69.273-20.5 11.38-41.35 21.44-62.55 30.21-13.97-18.194-27-37.332-39.063-57.437zM137 105v14h7v18h-7v14h14v-46h-14zm119 24.516c-19.728 0-38.376 4.514-55 12.54v227.89c16.624 8.024 35.272 12.538 55 12.538 69.962 0 126.484-56.522 126.484-126.484 0-69.962-56.522-126.484-126.484-126.484zM119 152.47c-12.89 1.044-25.888 1.696-39 1.917 11.38 20.5 21.44 41.35 30.21 62.55-18.194 13.97-37.332 27-57.437 39.063 20.105 12.063 39.243 25.092 57.438 39.064-8.77 21.198-18.83 42.05-30.21 62.55 13.112.22 26.11.87 39 1.913v-57.644c-4.844-14.422-7.484-29.846-7.484-45.883 0-16.035 2.64-31.458 7.484-45.88v-57.65zM137 169v14h7v18h-7v14h14v-46h-14zm0 64v14h7v18h-7v14h14v-46h-14zm0 64v14h7v18h-7v14h14v-46h-14zm25.11 111.648c-25.186 0-25.186 26.678-25.186 26.678s7.05-10.4 11.31-14.904c4.195-4.435 13.877-11.774 13.877-11.774z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Think;

impl IconShape for Think {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M431.654 39.256c-7.94 0-15.646 1.078-23.123 3.236-7.398 2.158-14.72 5.435-21.966 9.828v21.735c7.477-5.164 14.645-9.096 21.504-11.793 6.937-2.698 13.45-4.045 19.54-4.045 8.324 0 14.99 2.118 20 6.357 5.088 4.24 7.63 9.79 7.63 16.65 0 3.775-1.002 7.476-3.006 11.098-1.926 3.623-5.087 7.476-9.48 11.56l-10.404 10.292c-6.937 6.628-11.485 12.447-13.643 17.457-2.158 5.01-3.236 11.408-3.236 19.192v17.805h22.08v-14.22c0-4.01.115-7.17.346-9.48.232-2.314.58-4.277 1.04-5.896.618-1.926 1.658-3.89 3.123-5.895 1.54-2.08 4.122-4.934 7.745-8.557l10.174-9.943c6.935-6.63 11.792-12.562 14.567-17.803 2.775-5.318 4.162-10.908 4.162-16.766 0-12.255-4.318-22.12-12.95-29.595-8.556-7.476-19.924-11.214-34.106-11.214zm-253.76 6.365C97.293 45.62 30 127.903 30 231.77c0 47.6 14.142 90.66 37.213 123.353 5.01-2.917 10.87-4.5 17.02-4.005 9.196.74 18.27 5.864 26.245 14.832 18.47 20.77 35.302 33.96 59.48 49.117 62.787-35.66 93.123-76.714 139.263-117.365 2.854-2.516 5.8-4.558 8.777-6.177 5.04-18.706 7.783-38.79 7.783-59.755 0-103.866-67.292-186.147-147.89-186.147zM97.01 146.063c15.177.09 30.255 8.09 43.607 23.764l-13.7 11.674c-11.907-13.977-21.85-18.017-31.802-17.385-9.952.633-21.423 6.88-33.7 18.172L49.228 169.04c13.87-12.76 28.547-21.86 44.743-22.89a43.78 43.78 0 0 1 3.037-.088zm151.96 0a43.78 43.78 0 0 1 3.036.088c16.196 1.03 30.874 10.13 44.744 22.89l-12.186 13.247c-12.278-11.293-23.748-17.54-33.7-18.172-9.953-.632-19.896 3.408-31.802 17.385l-13.7-11.674c13.352-15.674 28.43-23.673 43.607-23.763zm165.803 39.56v29.366h23.47v-29.365h-23.47zm-315.326 7.874c12.646 0 24.26 3.752 33.117 10.36 8.857 6.61 15.106 16.57 15.106 27.912 0 11.342-6.25 21.302-15.106 27.912-8.856 6.61-20.47 10.36-33.117 10.36-12.646 0-24.26-3.75-33.117-10.36-8.856-6.61-15.105-16.57-15.105-27.912 0-11.342 6.25-21.3 15.105-27.91 8.857-6.61 20.47-10.362 33.117-10.362zm156.89 0c12.647 0 24.262 3.752 33.118 10.36 8.857 6.61 15.106 16.57 15.106 27.912 0 11.342-6.248 21.302-15.105 27.912-8.856 6.61-20.47 10.36-33.117 10.36-12.646 0-24.26-3.75-33.117-10.36-8.856-6.61-15.105-16.57-15.105-27.912 0-11.342 6.25-21.3 15.106-27.91 8.857-6.61 20.472-10.362 33.118-10.362zm-160.064 18.12c-7.707.567-14.474 3.155-19.177 6.665-5.34 3.986-7.87 8.663-7.87 13.488 0 4.824 2.53 9.5 7.87 13.486 5.34 3.985 13.335 6.785 22.35 6.785 9.017 0 17.013-2.8 22.353-6.786 5.338-3.985 7.87-8.662 7.87-13.486 0-.09-.006-.177-.008-.266a19.61 19.515 0 0 1-15.506 7.584 19.61 19.515 0 0 1-19.61-19.516 19.61 19.515 0 0 1 1.727-7.955zm156.688.013c-7.623.596-14.31 3.172-18.974 6.65-5.34 3.986-7.87 8.663-7.87 13.488 0 4.824 2.53 9.5 7.87 13.486 5.34 3.985 13.336 6.785 22.352 6.785s17.012-2.8 22.35-6.786c5.34-3.985 7.873-8.662 7.873-13.486 0-.23-.01-.46-.02-.688a19.61 19.515 0 0 1-15.493 7.566 19.61 19.515 0 0 1-19.61-19.515 19.61 19.515 0 0 1 1.524-7.5zm83.263 92.337a11.32 11.32 0 0 0-1.32.012c-3.626.24-8.098 2.217-13.782 7.225-41.548 36.606-72.158 76.506-129.536 112.022l-39.91 26.484-9.953-14.997 12.454-8.264c-22.1-14.347-39.177-28.335-57.145-48.542-5.797-6.518-10.678-8.563-14.24-8.85-3.56-.286-6.562.945-9.528 3.948-5.88 5.95-9.498 19.257-4.2 32.29 12.462 22.93 36.147 44.15 54.038 71.204l1.953 2.95-.582 3.49a521.26 521.26 0 0 0-1.74 11.06h211.452c.103-1.217.18-2.456.193-3.746-.11-4.19-3.22-10.067-8.258-14.563-5.066-4.518-11.74-7.125-15.402-7.032l-12.436.317 3.587-11.91c1.944-6.454.005-14.632-4.613-18.827-4.62-4.195-12.2-6.694-27.313.99l-10.743-14.072c28.086-30.964 65.366-68.32 87.653-102.594 3.04-4.676 1.373-11.558-3.237-15.41-2.017-1.685-4.398-3.036-7.39-3.185zm-122.707 36.64l7.197 16.498c-28.058 12.24-57.48 12.936-85.8-.072l7.513-16.355c23.976 11.013 46.85 10.504 71.09-.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThorHammer;

impl IconShape for ThorHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.033 32.42l-85.238 85.238v19.799L285.832 32.42h-19.799zm41.528 3.728L184.523 159.186l168.291 168.29L475.852 204.44 307.56 36.15zm172.02 190.02L374.542 331.205h19.799l85.238-85.238v-19.799zm-239.903 13.627l-9.9 9.9 32.527 32.528 9.9-9.9-32.527-32.528zm-22.627 22.627l-23.528 23.527h47.055l-23.527-23.527zm-41.528 41.527l-27.255 27.256h65.054l27.256-27.256h-65.055zm-45.255 45.256l-27.254 27.254h65.054l27.254-27.254h-65.054zm-27.254 45.254l23.527 23.527 23.527-23.527h-47.054zm-21.729 3.728l-9.898 9.899 32.527 32.527 9.898-9.898-32.527-32.527zm-38.767 18.899l-7.504 22.512 37.388 37.388 22.512-7.504v-12.414L54.93 417.086H42.518z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThreeFriends;

impl IconShape for ThreeFriends {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M389 40.84c18.5 0 35 18.79 35 44.03 0 25.33-16.5 44.03-35 44.03s-35-18.7-35-44.03c0-25.24 16.5-44.03 35-44.03zm-132.9 0c18.4 0 35 18.79 35 44.03 0 25.33-16.6 44.03-35 44.03-18.5 0-35.1-18.7-35.1-44.03 0-25.24 16.6-44.03 35.1-44.03zm-133 0c18.5 0 35 18.79 35 44.03 0 25.33-16.5 44.03-35 44.03s-35.09-18.7-35.09-44.03c0-25.24 16.59-44.03 35.09-44.03zm133 109.06c64 2 118 2 182.8 4.2 30.9 17.8 45.2 109 44.3 140.7l-17.6 17.7c-7.7-42.8-17.4-99.9-33.5-112.6v87.6l4.1 183.7H414l-16.7-184.7h-18l-16.7 184.7h-22.3l4.2-183.7-8-88.5h-29.3l-7.2 88.2 4.2 183.7h-22.3l-16.8-184.7h-18l-16.8 184.7h-22.2l4.2-183.7L205 199h-29.3l-8 88.5 4.2 183.7h-22.3l-16.7-184.7h-18L98.01 471.2h-22.2l4.2-183.7v-87.6c-16.2 12.7-25.9 69.8-33.6 112.6l-17.6-17.7c-.9-31.7 13.5-122.9 44.3-140.7 64.99-2.2 118.99-2.2 182.99-4.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThroneKing;

impl IconShape for ThroneKing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 17.492l20.912 34.856L306 34.895 296.973 71h-81.946L206 34.896l29.088 17.452zm64.3 34.414C334.08 62.311 343 77 343 96v64.648c-10.638-7.27-22.444-13.917-34.984-18.63C311.239 132.817 313 122.663 313 112c0-8.018-1.005-15.744-1.489-19.372zm-128.6 0l8.789 40.722C200.005 96.256 199 103.982 199 112c0 10.663 1.76 20.817 4.984 30.018-12.54 4.713-24.346 11.36-34.984 18.63V96c0-19.001 8.92-33.689 22.7-44.094zM291.356 89c2.31 6.965 3.643 14.753 3.643 23 0 15.85-4.892 30.032-12.26 39.855C275.372 161.68 266.012 167 256 167c-10.012 0-19.372-5.32-26.74-15.145C221.892 142.032 217 127.85 217 112c0-8.247 1.334-16.035 3.643-23zm8.541 69.67c25.391 9.618 49.716 29.5 65.356 43.92-3.358 1.38-6.477 3.137-9.281 5.24-4.585 3.438-8.377 7.98-10.655 13.223l-23.134-5.783-4.368 17.46 6.9 1.725c2.53 16.035 3.235 31.57 3.249 43.781-5.706-6.514-12.54-12.787-21.897-14.996-3.203-.756-6.388-.989-9.529-.838-9.422.453-18.448 4.359-26.393 7.94A163.812 163.812 0 0 0 256 277.566a163.812 163.812 0 0 0-14.146-7.224c-10.593-4.775-23.11-10.126-35.922-7.102-9.358 2.21-16.19 8.482-21.897 14.996.014-12.212.72-27.746 3.248-43.78l6.9-1.726-4.367-17.46-23.134 5.783c-2.278-5.244-6.07-9.785-10.655-13.223-2.804-2.103-5.923-3.86-9.28-5.24 15.639-14.42 39.964-34.302 65.355-43.92a71.055 71.055 0 0 0 2.757 3.984c6.988 9.318 16.241 16.507 26.805 20.004L256 240l14.336-57.342c10.564-3.497 19.817-10.686 26.805-20.004a71.06 71.06 0 0 0 2.757-3.984zM384 217c7.013 0 13.194 2.204 17.227 5.229 3.974 2.98 5.704 6.29 5.753 9.625-.292.051-.395.103-.884.132-3.949.234-12.367-.986-22.096-.986s-18.147 1.22-22.096.986c-.49-.029-.592-.081-.884-.132.05-3.336 1.779-6.645 5.753-9.625C370.806 219.204 376.987 217 384 217zm-256 0c7.013 0 13.194 2.204 17.227 5.229 3.974 2.98 5.704 6.29 5.753 9.625-.292.051-.395.103-.884.132-3.949.234-12.367-.986-22.096-.986s-18.147 1.22-22.096.986c-.49-.029-.592-.081-.884-.132.05-3.336 1.779-6.645 5.753-9.625C114.806 219.204 120.987 217 128 217zm279 32v174h-46V249zm-256 0v174h-46V249zm149.23 31.6c.677 0 1.251.054 1.702.16 2.735.646 10.877 7.205 16.595 14.224 4.698 5.766 7.671 10.392 8.8 12.182l11.118 88.953c-3.57-4.158-7.477-8.167-11.738-11.615C320.277 379.3 312.839 375 304 375c-20.5 0-34.72 14.856-43.488 28.008a111.855 111.855 0 0 0-4.512 7.39 111.855 111.855 0 0 0-4.512-7.39C242.72 389.856 228.5 375 208 375c-8.839 0-16.276 4.3-22.707 9.504-4.26 3.448-8.169 7.457-11.738 11.615l11.119-88.953c1.128-1.79 4.101-6.416 8.799-12.182 5.718-7.019 13.86-13.578 16.595-14.224 3.603-.85 15.085 1.798 24.389 5.992 2.106.95 4.095 1.919 5.945 2.857L256 352l15.598-62.39c1.85-.939 3.84-1.909 5.945-2.858 6.978-3.146 15.182-5.423 20.367-6.006a20.831 20.831 0 0 1 2.32-.146zM304 393c2.475 0 6.694 1.7 11.385 5.496 4.69 3.796 9.634 9.323 13.949 14.969 2.518 3.294 4.72 6.502 6.717 9.535h-66.31c1.592-3.153 3.419-6.515 5.747-10.008C282.72 402.144 292.5 393 304 393zm-96 0c11.5 0 21.28 9.144 28.512 19.992 2.328 3.493 4.155 6.855 5.748 10.008h-66.31c1.995-3.033 4.198-6.24 6.716-9.535 4.315-5.646 9.259-11.173 13.95-14.969C201.305 394.7 205.525 393 208 393zm231 48v14H73v-14zm48 32v14H25v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrowingBall;

impl IconShape for ThrowingBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.4 21.66c-2.3 0-4.5.35-6.7 1-8.9 2.62-16 10.11-20.4 21.67-4.4 11.52-5.4 26.73-1.6 42.27 3.8 15.5 11.6 28.1 20.6 35.6 9 7.6 18.6 10.1 27.4 7.5 8.8-2.6 16-10.1 20.3-21.7 4.4-11.45 5.4-26.66 1.7-42.21-3.8-15.55-11.6-28.13-20.6-35.65-6.8-5.69-13.9-8.52-20.7-8.48zM94.28 28.94c-21.65 0-39 17.35-39 39s17.35 38.96 39 38.96c21.72 0 39.02-17.31 39.02-38.96 0-21.65-17.3-39-39.02-39zm-54.27 56.4l-21.49 8.71C29.24 138.8 65.03 188 108.1 208.9c33.3-2.4 51.3-11 87.5-27.5 24.8 68.1 32.5 116.5 4.8 192.7l-108.26 64-7.29 52.2 157.45-78c22.2-32.3 38-55.9 48.1-92.2l91.3 23.5c20.7 45.5 27.4 84.3 32.3 137.3l43.1-36.3c-7.5-51.6-17.6-92.5-36.8-142.1-31.3-18.9-75-37.8-105.5-48 8.7-40.6 3.9-70.9-8-110.2 65.2-3.1 100.7 5.5 163.8 23.3l22.9-23.4c-39.1-18.2-131.6-47.85-211.9-40.4-.9 3.5-1.9 6.9-3.1 10.2-5.9 15.7-17.2 28.6-32.5 33.2-15.4 4.5-31.1-.4-43.2-10.7-3-2.5-5.8-5.3-8.5-8.4-32.8 13.5-64.9 29.7-80.7 40-24.29-10.7-37.35-30.1-47.34-50.6-12.33-7-21.83-18.45-26.25-32.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrustBend;

impl IconShape for ThrustBend {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.842 62.334c-23.151 0-43.737 5.138-59.522 17.666-104.521 82.955 16 400 16 400h400S62.472 282.86 142.142 144c36.264-63.205 188.819 28.358 236.457 59.102-13.827 12.298-36.347 21.55-62.675 35.735 42.774 7.379 107.957-6.075 133.072-19.825-16.707-54.737-41.265-98.913-83.787-123.87 12.637 27.463 22.197 50.35 23.248 70.883-27.068-17.556-164.658-103.69-259.615-103.691z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThumbDown;

impl IconShape for ThumbDown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M283.195 35.116c24.564.196 57.187 6.155 86.344 17.69 13.42 5.31 24.168 9.772 30.624 14.062 6.456 4.29 8.202 6.845 8.266 11.725.052 3.996-.285 6.73-2.256 9.89-1.972 3.162-6.117 7.236-15.42 11.72l-26.506 12.78 29.12 4.235c28.602 4.157 33.414 21.214 33.6 23.85.69 9.877-2.582 16.77-15.882 22.27l-23.953 9.91 24.94 7.068c14.348 4.065 24.492 16.475 24.49 24.726 0 7.6-7.05 18.704-24.22 24.037l-27.63 8.583 27.625 8.606c10.35 3.222 18.282 5.945 22.32 8.792 4.038 2.847 5.318 4.47 5.107 11.64-.297 10.136-5.695 15.012-15.656 19.5-9.962 4.49-23.656 6.725-34.927 8.305-35.802 5.02-71.025 6.965-105.87.084l-20.33-4.015 10.947 17.598c25.885 41.614 54.194 90.91 59.11 130.426l.044.352.072.348c5.128 24.97-6.35 36.185-16.972 37.46-5.31.64-11.003-1.04-16.315-6.722-5.313-5.68-10.128-15.727-11.436-31.537l-.12-1.448-.57-1.336c-7.724-18.123-25.866-39.642-46.338-61.158-20.097-21.123-42.306-41.512-58.814-55.33-35.53-49.788-45.97-71.5-53.832-85.07-3.957-6.827-7.77-12.2-13.52-16.87-5.75-4.67-12.805-8.494-24.096-14.304l-.02-.01-.02-.01c-3.508-1.783-10.932-13.615-14.72-31.09-3.786-17.476-5.158-39.717-3.44-60.715 1.72-21 6.696-40.814 14.187-53.263 3.746-6.224 7.978-10.502 12.393-12.85 4.243-2.255 8.787-3.025 14.914-1.767 10.302 4.843 19.693 9.668 30.178 12.615 10.865 3.054 22.944 3.76 36.7.153l.583-.153.56-.23c28.5-11.733 71.544-20.78 100.737-20.55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThumbUp;

impl IconShape for ThumbUp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M302.344 28.514c-2.386 1.354-4.334 3.497-6.273 7.182-2.335 4.438-4.28 10.836-5.94 18.29-3.316 14.91-5.51 33.828-12.098 51.26l-.54 1.43-.982 1.17c-53.308 63.59-92.07 98.36-119.014 148.817l-2.46 4.605-5.22.15s-10.63.322-22.607 2.46c-11.978 2.137-43.225 3.316-46.132 7.017-13.33 16.97-23.48 45.76-25.072 70.46-1.592 24.697 3.872 48.986 16.676 65.568.858 1.11 29.53 4.57 38.22 5.302 8.693.73 16.52.162 16.52.162l6.08-.457 2.678 5.48c14.83 30.325 61.456 50.595 110.937 66.056 4.384.248 11.962-1.82 20.852-6.295-19.818-7.57-35.37-14.03-52.5-23.087l-4.423-2.338-.347-4.99c-.896-12.814 5.672-23.273 13.61-30.256 2.54-2.237 5.24-4.216 7.985-6.038-1.54-.685-3.074-1.38-4.62-2.053l-4.698-2.05-.635-5.086c-1.752-14.04 2.566-27.897 11.664-37.728 1.852-2 3.932-3.81 6.19-5.405l-.23-.1-.438-5.31c-1.313-15.828 8.72-29.44 20.295-39.02 2.13-1.764 4.347-3.44 6.623-4.985l-.91-2.148c-4.49-10.608-2.336-21.785 3.01-29.815 5.35-8.03 13.357-13.657 21.92-16.79l.232-.086.236-.073c16.656-5.078 32.616-1.007 47.756 3.03 15.14 4.036 29.842 8.22 45.14 6.923 9.286 15.502 8.095 12.523 10.49 17.176l-8.966.76c-19.417 1.647-36.48-3.515-51.3-7.467-14.71-3.92-26.832-6.456-37.616-3.264-5.132 1.933-10.21 5.715-12.908 9.77-2.15 3.226-3.06 6.18-2.338 9.75 21.768 9.268 38.374 19.347 57.04 24.798 19.682 5.746 42.49 7.06 79.325-3.035 5.858-2.842 11.615-7.678 15.014-12.946 3.503-5.427 4.637-10.646 2.87-16-6.415-19.43-15.202-36.684-33.028-48.515-40.155-16.703-65.958-16.832-101.275-13.336-.627-5.215-.437-10.644.022-18.09 2.066-15.153 8.845-33.844 16.745-55.096 9.792-26.342 21.692-55.157 30.416-78.892-2.042-19.79-7.618-30.87-15.044-37.3-7.295-6.315-17.56-9.054-30.932-9.564zm-14.53 290.698c-4.52 1.1-10.952 3.76-16.513 8.363-6.763 5.6-11.67 12.988-13.268 18.99 24.578 11.48 43.09 22.944 74.63 33.086l66.92-3.794c11.996-4.2 19.78-8.523 24.07-12.197 4.42-3.79 5.292-6.294 5.45-8.77.265-4.15-3.83-11.11-9.88-18.43-37.514 9.835-63.92 8.562-86.034 2.105-16.627-4.855-30.524-12.225-45.375-19.353zm-25.398 49.41c-6.38.195-11.287 2.923-15.2 7.15-4.27 4.616-6.853 11.327-7.09 18.49 23.313 10.374 45.08 21.135 74.69 30.407l56.54-1.095c21.862-.903 27.79-9.79 28.918-17.854.6-4.28-.493-8.504-2.71-11.72l-67.27 3.815-1.57-.496c-28.61-9.035-47.056-19.095-66.265-28.698h-.044zm-9.96 50.937c-6.14 3.332-12.053 6.753-16.258 10.452-4.005 3.523-6.404 6.67-7.237 10.69 17.396 8.825 33.933 15.363 57.386 24.162l46.51 1.596c8.015-3.427 12.8-6.69 15.08-9.11 2.44-2.59 2.637-3.797 2.603-5.873-.035-2.12-1.344-5.413-3-9.437l-35.403.685-1.385-.427c-22.878-7.07-41.16-14.99-58.295-22.74z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Thwomp;

impl IconShape for Thwomp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 30l-33.7 44.87h67.3L256 30zm103.3 0l-33.7 44.87h67.3L359.3 30zm-206.5.01l-33.7 44.86h67.2l-33.5-44.86zM61.69 61.82l9.77 38.88 29.14-29.16-38.91-9.72zm388.51 0l-38.9 9.72 29.1 29.16 9.8-38.88zM104.8 92.84l-12 11.96v302.4l12 12h302.3l12.1-12.2V104.9l-12.1-12.06H104.8zM74.7 119.1l-44.72 33.7 44.72 33.6v-67.3zm362.4 0v67.3l44.9-33.6-44.9-33.7zm-268.6 7.4h1.5c5.2 0 8.8 2 12.6 4.3 3.8 2.3 7.5 5.2 11.5 8.6 7.9 6.9 16.6 15.6 25.2 24.2 8.6 8.6 17.1 17.1 24.2 23.2 3.6 3 6.8 5.5 9.2 6.9 1.6 1 2.8 1.4 3.3 1.6.4-.2 1.6-.6 3.2-1.5 2.5-1.5 5.7-4 9.2-7 7.1-6.1 15.7-14.6 24.3-23.2 8.6-8.6 17.3-17.3 25.3-24.2 3.9-3.4 7.7-6.3 11.5-8.6s7.4-4.3 12.6-4.3h1.5l53 17.8-5.8 17-49.2-16.5c-.6.3-1.6.6-2.8 1.3-2.4 1.5-5.6 4-9.1 7-7.1 6.1-15.7 14.6-24.3 23.2l-2.3 2.3c1.5-.3 3-.4 4.5-.4 10.4 0 19.5 5.7 25.5 13.7 6 7.9 9.3 18.4 9.3 29.7s-3.3 21.8-9.3 29.7c-6 8-15.1 13.7-25.5 13.7s-19.5-5.7-25.5-13.7c-5.9-7.9-9.3-18.4-9.3-29.7 0-6.1 1-12.1 2.9-17.4-2.4 1.8-4.8 3.5-7.1 4.9-3.8 2.3-7.4 4.3-12.6 4.3-5.2 0-8.9-2-12.6-4.3-2.4-1.4-4.8-3.2-7.2-5 1.9 5.4 2.9 11.3 2.9 17.5 0 11.3-3.4 21.8-9.3 29.7-6 8-15.1 13.7-25.5 13.7s-19.5-5.7-25.5-13.7c-5.9-7.9-9.3-18.4-9.3-29.7s3.4-21.8 9.3-29.7c6-8 15.1-13.7 25.5-13.7 1.6 0 3.1.1 4.6.4l-2.3-2.3c-8.6-8.6-17.2-17.1-24.3-23.2-3.5-3.1-6.7-5.5-9.1-7-1.2-.7-2.1-1-2.7-1.3l-49.4 16.5-5.8-17 53.2-17.8zm87.5 68.8c-.2.1-.3.1 0 .1s.2 0 0-.1zM74.7 222.4L29.99 256l44.71 33.6v-67.2zm362.4 0v67.2L482 256l-44.9-33.6zm-232.8 6.2c-7.9 0-12.4 4.7-12.4 8.2 0 3.5 4.5 8.2 12.4 8.2s12.4-4.7 12.4-8.2c0-3.5-4.5-8.2-12.4-8.2zm103.3 0c-7.9 0-12.4 4.7-12.4 8.2 0 3.5 4.5 8.2 12.4 8.2s12.4-4.7 12.4-8.2c0-3.5-4.5-8.2-12.4-8.2zm-154.8 35.7c7.3 0 14.5 2.6 23.9 5.9 9.4 3.3 20.3 7.6 31 11.9 10.7 4.3 21.4 8.5 30.3 11.6 8.8 3.2 16.6 4.9 18 4.9 1.3 0 9.1-1.7 18-4.9 8.9-3.1 19.6-7.3 30.3-11.6 10.8-4.3 21.6-8.6 31-11.9 9.5-3.3 16.7-5.9 24-5.9 6.6 0 12.7 2.7 17.2 6.7 4.6 3.9 7.8 9.1 10.4 14.8 5 11.3 7.2 25.2 7.2 39.1 0 13.9-2.2 27.8-7.2 39.1-2.6 5.7-5.8 10.9-10.4 14.8-4.5 4-10.6 6.7-17.2 6.7-20.2 0-38.4-9.5-55.6-18.1-17.2-8.6-33.4-16.3-47.7-16.3-14.2 0-30.4 7.7-47.6 16.3-17.2 8.6-35.4 18.1-55.6 18.1-13.1 0-22.6-10.1-27.7-21.5-5.1-11.3-7.3-25.2-7.3-39.1 0-13.9 2.2-27.8 7.3-39.1 5.1-11.4 14.6-21.5 27.7-21.5zm0 18c-4.2 0-7.7 2.8-11.2 10.8-2.7 6-4.5 14.1-5.3 22.8h41.8v-26c-2.5-1-5-1.9-7.3-2.7-8.9-3.2-16.7-4.9-18-4.9zm206.5 0c-1.3 0-9.1 1.7-18 4.9-2.3.8-4.8 1.7-7.4 2.7v26h41.8c-.8-8.7-2.6-16.8-5.3-22.8-1.7-4-3.8-6.9-5.7-8.6-1.9-1.6-3.3-2.2-5.4-2.2zm-163.2 14.5v19.1h50.8v-.5c-4.5-1.1-9.3-2.7-14.9-4.7-9.4-3.3-20.2-7.6-31-11.9-1.6-.7-3.3-1.3-4.9-2zm119.8 0c-1.6.7-3.3 1.3-4.9 2-10.8 4.3-21.6 8.6-31 11.9-5.7 2-10.5 3.7-15.1 4.8v.4h51v-19.1zM74.7 325.6l-44.72 33.5 44.72 33.7v-67.2zm362.4 0v67.3l44.9-33.8-44.9-33.5zm-300.8 8.3c.8 8.7 2.6 16.8 5.3 22.8 3.5 8 7 10.8 11.2 10.8 7.8 0 16.3-2.4 25.3-6v-27.6h-41.8zm59.8 0v19.4l4.2-2.1c14.3-7.1 29.3-14.9 45.5-17.3h-49.7zm70.1 0c16.2 2.4 31.2 10.2 45.5 17.3l4.2 2.1v-19.4h-49.7zm67.7 0v27.6c9 3.6 17.5 6 25.4 6 2.1 0 3.5-.6 5.4-2.2 1.9-1.7 4-4.6 5.7-8.6 2.7-6 4.5-14.1 5.3-22.8h-41.8zM71.46 411.3l-9.77 38.9 38.91-9.8-29.14-29.1zm368.94 0l-29.1 29.1 38.9 9.8-9.8-38.9zM119 437.2l33.8 44.8 33.5-44.8H119zm103.3 0L256 482l33.6-44.8h-67.3zm103.3 0l33.7 44.8 33.6-44.8h-67.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tiara;

impl IconShape for Tiara {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.88l-8.1 16.09c-8.2 16.54-20.2 44.64-30.4 73.03-10.1 28.3-18.5 56-18.5 75 0 22 6.1 43.4 14.4 61.2-1.5.1-2.9.2-4.3.3-15-6.8-29.5-15-41.5-24.5-18.7-15-30.6-32.5-30.6-53 0-14.5 3.7-21.8 7-25 3.3-3.2 6.9-3.7 11.5-2.3 4.6 1.3 9.5 5 12 9.3 2.5 4.3 3.1 8.7.4 14l16.2 8c5.3-10.7 3.9-22.3-1.1-31s-13.1-15-22.5-17.7c-2.4-.6-4.8-1-7.4-1.1-7.5-.4-15.4 1.9-21.6 7.8-8.2 7.8-12.5 20.5-12.5 38 0 27.5 16.1 50 37.4 67 6 4.8 12.4 9.2 19.1 13.2-14.3 1.6-28 3.6-40.8 5.9-9.9-1.3-21-3.9-30.4-7.6-7.17-2.8-13.37-6.4-17.17-10-3.9-3.6-5.4-6.6-5.5-9.9v-.1c-.2-9.9 7.2-15.3 13.4-16 3.1-.4 5.37.4 7.17 2.2 1.7 1.8 3.6 5.4 3.2 12.9l18 1c.6-11.1-2.4-20.4-8.3-26.5-4.5-4.6-10.3-7-16.17-7.5-2-.2-3.9-.2-5.9 0-15.2 1.6-29.7 15.1-29.4 34.3.2 9.1 5 17 11.2 22.8 6.1 5.7 13.6 9.7 21.8 13.1l-1.2.3c-15.8 4.5-29.4 9.6-40.5 15.5-3.1.2-6 .4-8.3.1-2.8-.3-4.6-1-5.9-2-1.3-.9-2.4-2.3-3.5-5.7-.6-2 1.7-6.1 4.8-7.6 1.6-.8 2.7-.8 3.3-.5.7.2 1.8.7 3.2 4.3l16.8-6.4c-2.7-7.1-7.6-12.6-13.7-14.8-3.1-1.2-6.2-1.5-9.2-1.2-2.9.3-5.8 1.2-8.3 2.4-10.1 5-17.9 16.4-14.1 29 1.9 6.4 5.4 11.6 10 15 1.8 1.4 3.7 2.4 5.7 3.2-7.2 10.4-11.7 24.5-11.7 33.6 0 12.6 8.7 23.1 21.1 31.5 12.5 8.5 29.5 15.5 50.3 21.4 26.77 7.7 59.77 13.4 96.57 16.5 16-5.4 16-5.4 0-16.1-35.4-3.1-67.1-8.6-92.17-15.7-19.7-5.7-35.5-12.4-45.7-19.3-10.2-6.9-14.1-13.2-14.1-18.3 0-5.1 3.9-11.4 14.1-18.3s26-13.6 45.7-19.3c33.57-9.5 78.77-16.2 129.27-18 0 .1.1.1.1.1v-.1h1.1c1.6 2.1 3.4 4 5.1 5.7 6 6.1 12.1 10.9 20.6 10.9 8.5 0 14.6-4.8 20.6-10.9 1.7-1.7 3.5-3.6 5.1-5.7h1.1v.1s.1 0 .1-.1c50.5 1.8 95.7 8.5 129.3 18 19.7 5.7 35.5 12.4 45.7 19.3 10.2 6.9 14.1 13.2 14.1 18.3 0 5.1-3.9 11.4-14.1 18.3s-26 13.6-45.7 19.3c-25.1 7.1-56.8 12.6-92.2 15.7-16 10.7-16 10.7 0 16.1 36.8-3.1 69.8-8.8 96.6-16.5 20.8-5.9 37.8-12.9 50.3-21.4 12.4-8.4 21.1-18.9 21.1-31.5 0-9.1-4.5-23.3-11.7-33.6 1.9-.8 3.8-1.9 5.6-3.2 4.6-3.4 8.1-8.6 10-15 3.8-12.6-4-24-14.1-29-2.5-1.2-5.3-2.1-8.3-2.4-3-.3-6.1 0-9.2 1.2-6.1 2.2-11 7.7-13.7 14.8l16.8 6.4c1.4-3.6 2.5-4.1 3.2-4.3.6-.3 1.7-.3 3.3.5 3.1 1.5 5.4 5.6 4.8 7.6-1.1 3.4-2.2 4.8-3.5 5.7-1.3 1-3.1 1.7-5.9 2-2.3.2-5.1.1-8.2-.1-11.1-5.9-24.7-11-40.5-15.5l-1.2-.3c8.2-3.4 15.7-7.4 21.7-13.1 6.3-5.8 11.1-13.7 11.2-22.9.3-19.1-14.1-32.6-29.4-34.2-1.9-.2-3.9-.2-5.8 0-5.9.5-11.7 2.9-16.2 7.5-5.9 6.1-8.9 15.4-8.3 26.5l18-1c-.4-7.5 1.5-11.1 3.2-12.9 1.8-1.8 4.1-2.6 7.2-2.2 6.1.7 13.5 6.1 13.3 16v.1c-.1 3.3-1.6 6.3-5.4 9.9-3.9 3.6-10.1 7.2-17.2 10-9.4 3.7-20.5 6.3-30.4 7.6-12.8-2.3-26.5-4.3-40.8-5.9 6.7-4 13.1-8.4 19.1-13.2 21.3-17 37.4-39.5 37.4-67 0-17.5-4.3-30.2-12.5-38-6.2-5.9-14.1-8.2-21.6-7.8-2.6.1-5 .5-7.4 1.1-9.4 2.7-17.5 9-22.5 17.7s-6.4 20.3-1.1 31l16.2-8c-2.7-5.3-2.1-9.7.4-14 2.5-4.3 7.4-8 12-9.3 4.6-1.4 8.2-.9 11.5 2.3 3.3 3.2 7 10.5 7 25 0 20.5-11.9 38-30.6 53-12 9.5-26.5 17.7-41.5 24.5-1.4-.1-2.8-.2-4.3-.3C306.9 235.4 313 214 313 192c0-19-8.4-46.7-18.5-75-10.2-28.39-22.2-56.49-30.4-73.03zm0 41.45c6.8 15.23 14.6 34.37 21.5 53.67 9.9 27.7 17.5 56 17.5 69 0 22-7.5 44.8-16.9 61.6-4.6 8.4-9.8 15.3-14.2 19.8-4 3.9-7.5 5.3-7.9 5.5 0 .1.1.1 0 .1s0 0 0-.1c-.4-.2-3.9-1.6-7.9-5.5-4.4-4.5-9.6-11.4-14.2-19.8C224.5 236.8 217 214 217 192c0-13 7.6-41.3 17.5-69 6.9-19.3 14.7-38.44 21.5-53.67z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TicTacToe;

impl IconShape for TicTacToe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.344 35.844A9.5 9.5 0 0 0 160 45.47v117.343H45.5a9.5 9.5 0 1 0 0 19H160v151H45.5a9.5 9.5 0 1 0 0 19H160V466.5a9.5 9.5 0 1 0 19 0V351.812h151V466.5a9.5 9.5 0 1 0 19 0V351.812h117.406a9.5 9.5 0 1 0 0-19H349v-151h115.563a9.5 9.5 0 1 0 0-19H349V45.47a9.5 9.5 0 0 0-9.656-9.626A9.5 9.5 0 0 0 330 45.47v117.343H179V45.47a9.5 9.5 0 0 0-9.656-9.626zM86 35.97c-13.07 0-25.77 4.94-35.156 13.843C41.458 58.715 36 71.06 36 83.874c0 12.814 5.458 25.16 14.844 34.063C60.23 126.84 72.93 131.81 86 131.81c13.07 0 25.77-4.97 35.156-13.875C130.542 109.034 136 96.69 136 83.876c0-12.814-5.458-25.16-14.844-34.063C111.77 40.91 99.07 35.97 86 35.97zm170 0c-13.07 0-25.77 4.94-35.156 13.843C211.458 58.715 206 71.06 206 83.874c0 12.814 5.458 25.16 14.844 34.063C230.23 126.84 242.93 131.81 256 131.81c13.07 0 25.77-4.97 35.156-13.875C300.542 109.034 306 96.69 306 83.876c0-12.814-5.458-25.16-14.844-34.063C281.77 40.91 269.07 35.97 256 35.97zm138.844 9.218A9.5 9.5 0 0 0 388.25 61.5l22.375 22.375L389 105.5a9.502 9.502 0 1 0 13.438 13.438l21.625-21.626 22.375 22.407a9.502 9.502 0 1 0 13.437-13.44L437.5 83.876l21.625-21.625a9.5 9.5 0 0 0-6.906-16.313 9.5 9.5 0 0 0-6.533 2.876l-21.625 21.624-22.375-22.374a9.5 9.5 0 0 0-6.843-2.876zM86 54.968c8.137 0 16.485 3.337 22.094 8.657 5.608 5.32 8.937 12.95 8.937 20.25 0 7.3-3.328 14.96-8.936 20.28-5.61 5.32-13.957 8.626-22.094 8.626s-16.485-3.304-22.094-8.624c-5.608-5.32-8.937-12.98-8.937-20.28 0-7.302 3.328-14.93 8.936-20.25 5.61-5.32 13.957-8.657 22.094-8.657zm170 0c8.137 0 16.485 3.337 22.094 8.657 5.608 5.32 8.937 12.95 8.937 20.25 0 7.3-3.328 14.96-8.936 20.28-5.61 5.32-13.957 8.626-22.094 8.626s-16.485-3.304-22.094-8.624c-5.608-5.32-8.937-12.98-8.937-20.28 0-7.302 3.328-14.93 8.936-20.25 5.61-5.32 13.957-8.657 22.094-8.657zm-77 126.844h151v151H179v-151zm245.063 26.282c-13.07 0-25.77 4.94-35.157 13.844-9.386 8.903-14.844 21.248-14.844 34.062 0 12.814 5.458 25.16 14.844 34.063 9.386 8.903 22.087 13.875 35.156 13.875 13.07 0 25.77-4.972 35.157-13.875 9.385-8.904 14.842-21.25 14.842-34.063 0-12.814-5.457-25.16-14.843-34.063-9.387-8.903-22.088-13.843-35.158-13.843zm-197.25 9.22a9.5 9.5 0 0 0-6.625 16.31L242.563 256l-21.625 21.625a9.502 9.502 0 1 0 13.437 13.438L256 269.438l22.375 22.375a9.502 9.502 0 1 0 13.438-13.438L269.438 256l21.625-21.625a9.5 9.5 0 0 0-6.907-16.313 9.5 9.5 0 0 0-6.53 2.875L256 242.563l-22.375-22.375a9.5 9.5 0 0 0-6.813-2.875zm197.25 9.78c8.136 0 16.485 3.305 22.093 8.625 5.61 5.32 8.938 12.98 8.938 20.28 0 7.3-3.33 14.93-8.938 20.25-5.608 5.32-13.957 8.656-22.094 8.656-8.136 0-16.485-3.336-22.093-8.656-5.61-5.32-8.94-12.95-8.94-20.25 0-7.3 3.33-14.96 8.94-20.28 5.607-5.32 13.956-8.626 22.092-8.626zM256 380.156c-13.07 0-25.77 4.94-35.156 13.844-9.386 8.903-14.844 21.25-14.844 34.063 0 12.813 5.458 25.19 14.844 34.093C230.23 471.06 242.93 476.03 256 476.03c13.07 0 25.77-4.97 35.156-13.874 9.386-8.903 14.844-21.28 14.844-34.094 0-12.813-5.458-25.16-14.844-34.062-9.386-8.903-22.087-13.844-35.156-13.844zm-199.188 9.22a9.5 9.5 0 0 0-6.624 16.312l22.374 22.406L50.94 449.72a9.502 9.502 0 1 0 13.437 13.436L86 441.53l22.375 22.376a9.502 9.502 0 1 0 13.438-13.437l-22.376-22.376 21.626-21.625a9.5 9.5 0 0 0-6.907-16.314 9.5 9.5 0 0 0-6.53 2.875L86 414.657 63.625 392.25a9.5 9.5 0 0 0-6.813-2.875zM256 399.187c8.137 0 16.485 3.304 22.094 8.625 5.608 5.32 8.937 12.948 8.937 20.25 0 7.3-3.328 14.96-8.936 20.28-5.61 5.32-13.957 8.626-22.094 8.626s-16.485-3.306-22.094-8.626c-5.608-5.32-8.937-12.98-8.937-20.28 0-7.303 3.328-14.93 8.936-20.252 5.61-5.32 13.957-8.625 22.094-8.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ticket;

impl IconShape for Ticket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M323.9 19.81l-55.2 55.15L285 91.24 272.2 104 256 87.73 19.81 323.9l45.57 45.6c28.5-14.6 56.22-11.7 72.52 4.6 16.3 16.3 19.2 44 4.6 72.5l45.6 45.6 236.1-236.1-16.2-16.3 12.8-12.8 16.3 16.2 55.1-55.1-45.6-45.6c-28.5 14.6-56.2 11.7-72.5-4.6-16.3-16.3-19.2-44.02-4.6-72.52zm-16.2 93.99l33.9 34-12.8 12.8-33.9-34zM256 130.2L381.8 256 222.1 415.8 96.16 289.9 249.6 136.5zm0 25.4L121.6 289.9l100.5 100.5L356.4 256zm108.2 14.8l34 33.9-12.8 12.8-34-33.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tie;

impl IconShape for Tie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225.124 33.908c-1 0-3.118.68-5.855 3.05-2.74 2.373-5.792 6.186-8.43 10.58-5.273 8.79-8.716 20.37-8.716 25.37s3.68 21.406 9.272 34.455c2.796 6.525 6.08 12.466 9.042 16.22 2.964 3.753 5.186 4.325 4.686 4.325h64c-.5 0 1.722-.572 4.686-4.326 2.963-3.753 6.246-9.694 9.043-16.22 5.592-13.048 9.27-29.454 9.27-34.454s-3.442-16.58-8.716-25.37c-2.637-4.394-5.69-8.207-8.428-10.58-2.738-2.37-4.856-3.05-5.856-3.05h-64zm7.22 112l-8.452 38.03 62.966-15.74-4.953-22.29h-49.562zm58.42 39.867l-71.238 17.81-10.693 48.12 91.5-22.875-9.568-43.055zm13.473 60.63l-99.77 24.945-10.693 48.12 120.032-30.01-9.57-43.054zm13.475 60.632L189.41 339.113l-10.694 48.12 148.564-37.14-9.568-43.056zm13.473 60.633L174.35 406.88l-3.103 13.96 35.193 23.463 134.313-33.578-9.568-43.055zm-7.084 65.77l-97.42 24.355 30.444 20.297 66.977-44.65z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tiger;

impl IconShape for Tiger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.14 91.863c-1.884-.044-3.663.045-5.34.248l.01.09c-.434.052-.863.087-1.285.13h-.002c-13.39 2.16-21.5 11.353-24.646 23.768-3.146 12.414-.44 27.54 9.547 39.16 9.99 11.62 27.353 20.48 55.79 19.205l12.6-.594-3.117 12.206c-9.385 5.377-17.616 12.364-24.72 20.324 15.527 5.488 31.878 8.408 45.714 9.717-2.974-14.808-.99-29.996 6.933-44.303l15.746 8.72c-6.41 11.572-7.487 22.054-4.604 33.997 2.883 11.945 10.233 25.285 21.36 40.01l-13.458 10.173-.15 16.642c-21.68-.194-51.467-6.878-77.633-23.6-6.053-3.87-11.9-8.322-17.354-13.376-11.782 28.37-13.634 57.465-6.003 70.255 11.11-24.634 27.01-29.252 44.993-32.588-17.13 18.342-28.124 33.785-17.815 51.715 3.96-13.97 38.467-32.305 43.477-25.274 2.426 3.405 5.083 6.54 8.3 9.21 8.34 6.918 18.13 12.053 29.19 15.42l.037-.005 8.34 2.03c-5.805-15.73-8.153-33.626-5.144-53.413l17.797 2.706c-3.344 21.99.81 40.485 9.285 56.04l81.662 19.86c4.41-12.413 9.188-24.877 14.26-37.356-4.748 2.686-10.11 4.462-15.887 5.053-22.403 2.292-42.428-14.017-44.72-36.42-2.292-22.4 14.015-42.426 36.418-44.718 20.553-2.103 39.066 11.456 43.757 31.007 8.772-19.053 18.108-38.04 27.843-56.81l-56.24-21.658c-8.008 8.796-14.95 21.628-21.135 38.007l-16.84-6.356c5.648-14.965 12.06-27.965 20.22-38.488l-16.872-6.498c-6.757 8.568-12.733 20.16-18.13 34.457L379.48 214.2c5.03-13.322 10.668-25.077 17.6-34.925l-5.084-5.002c-2.194-16.02-17.753-27.21-36.896-35.41-6.882-1.782-13.76-1.697-21.245-.088-12.01 2.584-25.53 9.6-40.527 20.356l-10.492-14.626c10.924-7.835 21.527-14.21 32.127-18.563-8.53-2.18-16.54-4.04-23.16-5.696l-2.15-.553-1.684-1.442c-22.453-19.28-40.65-26.077-53.83-26.385zm123.77 77.6c7.553-.037 13.758 5.46 14.547 13.172.842 8.23-4.86 15.26-13.088 16.103-8.228.842-15.264-4.885-16.106-13.115-.842-8.227 4.89-15.232 13.12-16.074v-.005c.513-.053 1.023-.08 1.526-.082zm-116.328 51.912c-1.31 2.015-2.558 4.06-3.752 6.13 5.653 5.773 11.992 10.763 18.748 15.08 21.657 13.842 47.678 20.033 65.62 20.7-7.162-9.676-13.092-19.14-17.376-28.63-17.95-1.016-41.1-4.503-63.24-13.28zm121.797 15.45c10.08 3.908 15.52 13.43 17.007 22.218 1.488 8.788.636 17.726.322 26.44-.315 8.717-.152 17.062 1.897 23.785 2.05 6.722 5.425 11.945 13.44 16.466l-8.844 15.678c-11.797-6.656-18.7-16.682-21.812-26.894-3.113-10.213-3-20.486-2.67-29.682.332-9.197.82-17.465-.08-22.787-.903-5.324-1.58-6.818-5.765-8.44l6.504-16.784zm-155.51 30.68c-6.978 5.368-13.82 10.095-20.54 14.272-.036 6.428.315 12.146 1.045 17.24 2.548 17.786 9 28.637 20.025 40.776l-13.324 12.102c-12.446-13.705-21.47-29.047-24.52-50.325-.45-3.152-.768-6.445-.98-9.863-3.92 1.95-7.795 3.7-11.64 5.313-1.103 14.91-.797 28.72 1.2 41.394 4.15 26.33 15.117 47.86 36.43 66.328l-11.787 13.604c-24.34-21.09-37.728-47.333-42.425-77.13-1.882-11.944-2.416-24.457-1.867-37.54-10.743 3.26-21.227 5.415-31.525 6.844 9.952 57.595 35.397 100.764 73.375 133.67l-11.787 13.605c-41.182-35.683-68.956-83.598-79.503-145.416-12.627.897-25.03 1.028-37.35 1.15 15.65 47.394 39.204 84.183 62.473 112.69L101.227 437.6C76.184 406.922 50.59 366.644 34.14 314.62v42.817c13.126 50.52 37.506 100.093 65.676 129.643l21.49.002c-3.314-11.54-6.186-23.62-8.495-36.29l17.71-3.226c2.534 13.908 5.765 27.06 9.54 39.516 31.29 0 52.604.002 85.35.01-.666-.393-1.352-.782-1.998-1.18-20.464-12.617-30.62-27.875-35.625-40.082l16.654-6.826c3.844 9.375 11.098 20.908 28.417 31.586 10.005 6.168 23.49 11.983 41.588 16.517l89.887.028c-2.843-7.497-5.46-15.186-7.836-23.086-18.242 5.263-35.12 8.87-52.215 8-25.948-1.325-51.095-13.908-78.112-43.933l13.38-12.04c25.086 27.88 44.625 36.922 65.65 37.995 12.102.618 25.142-1.73 39.888-5.648-31.355-6.03-62.652-20.484-89.363-47.766l12.86-12.594c23.715 24.22 51.593 37.16 79.655 42.63-2.182-11.116-3.896-22.668-5.107-34.712-28.958-9.042-57.345-21.712-82.312-36.916.21 6.438 1.007 12.948 1.032 19.012-3.372-4.565-6.83-9.075-9.875-13.87-6.615-11.97-15.55-23.158-18.51-36.772-1.766 3.254-3.335 10.53-4.826 15.318-12.35-9.858-21.156-24.316-23.19-40.076-.67-11.76.18-23.593 2.42-35.172zm78.995 54.466c-7.31 2.355-14.182 6.856-19.824 12.096-1.383 1.774-2.47 3.64-3.335 5.577 23.016 14.82 50.13 27.303 77.92 36.462-.433-8.41-.63-17.054-.572-25.96-20.188-5.014-40.118-12.378-54.188-28.174zm-74.76 42.688c2.62 11.624 5.226 17.557 8.11 21.072 2.883 3.516 6.75 5.746 14.502 8.95l-6.873 16.636c-8.537-3.527-15.9-7.284-21.547-14.17-5.647-6.885-8.874-15.767-11.752-28.53l17.56-3.958zM34.14 415.22v71.915c2.916-.023 23.332-.03 41.626-.04-16.245-20.01-30.38-44.875-41.625-71.874z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TigerHead;

impl IconShape for TigerHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M425.479 25.666c.695.03 1.233.235 1.6.637 28.156 30.856 23.75 58.537 18.36 87.437-2.37 4.836-4.483 8.801-6.79 12.07-5.074 7.188-11.345 12.477-26.674 20.141l8.05 16.098c16.671-8.336 26.4-16.047 33.327-25.86a76.374 76.374 0 0 0 1.99-2.98c23.481 29.638 37.639 65.615 40.162 105.69-10.473-11.076-20.322-14.383-32.865-16.864-3.655-17.373-11.07-34.942-23.44-51.433l-14.398 10.796c22.344 29.793 25.952 62.948 20.375 90.836-5.578 27.889-21.494 49.864-33.201 55.717-17.61 8.805-30.338 21.686-40.338 31.686-5 5-9.353 9.287-12.854 11.965-.175.133-.333.24-.502.365-.852-4.857-2.097-9.886-3.67-15.076-5.313-17.534-14.622-37.068-26.894-57.522l-15.434 9.262c11.728 19.546 20.419 38.012 25.106 53.478 4.687 15.467 4.988 27.718 2.256 34.55-2.733 6.83-7.22 10.423-19.944 10.847-11.082.37-27.763-2.992-49.941-11.604C317.866 378.86 305.89 348.962 304 320c-16 32-32 32-48 32s-32 0-48-32c-1.89 28.962-13.866 58.859 34.24 75.902-22.178 8.612-38.86 11.973-49.941 11.604-12.724-.424-17.211-4.017-19.944-10.848-2.732-6.83-2.43-19.082 2.256-34.549 4.687-15.466 13.378-33.932 25.106-53.478l-15.434-9.262c-12.272 20.454-21.581 39.988-26.894 57.522-1.573 5.19-2.818 10.22-3.67 15.076-.169-.124-.327-.232-.502-.365-3.501-2.678-7.854-6.965-12.854-11.965-10-10-22.728-22.88-40.338-31.686-11.707-5.853-27.623-27.828-33.2-55.717-5.578-27.888-1.97-61.043 20.374-90.836l-14.398-10.796c-12.37 16.491-19.785 34.06-23.44 51.433-12.543 2.48-22.392 5.788-32.865 16.863 2.523-40.074 16.68-76.05 40.162-105.689a76.374 76.374 0 0 0 1.99 2.98c6.927 9.813 16.656 17.524 33.327 25.86l8.05-16.098c-15.329-7.664-21.6-12.953-26.673-20.14-2.308-3.27-4.42-7.235-6.791-12.07-5.39-28.9-9.796-56.582 18.36-87.438.367-.402.905-.607 1.6-.637 9.097-.394 45.217 28.95 79.051 35.594 19.651-6.115 40.847-10.22 63.332-12.094l4.448 15.568c-13.92 1.875-28.343 5.444-44.198 10.729l5.692 17.074c16.147-5.382 30.123-8.91 43.425-10.584l4.463 15.62c-6.012.517-11.858 1.388-17.295 2.667-9.38 2.207-17.681 5.276-23.802 11.397l12.726 12.726c1.88-1.879 7.578-4.81 15.198-6.603 5.387-1.268 11.681-2.114 18.226-2.506L256 144l8.213-28.746c6.545.392 12.839 1.238 18.226 2.506 7.62 1.793 13.319 4.724 15.198 6.603l12.726-12.726c-6.12-6.121-14.422-9.19-23.802-11.397-5.437-1.279-11.283-2.15-17.295-2.668l4.463-15.619c13.302 1.673 27.278 5.202 43.425 10.584l5.692-17.074c-15.855-5.285-30.278-8.854-44.198-10.729l4.448-15.568c22.485 1.873 43.68 5.98 63.332 12.094 33.834-6.643 69.954-35.988 79.05-35.594zm-92.82 109.979c-40 16-59.059 23.357-76.659 23.357-17.6 0-36.658-7.357-76.658-23.357l-6.684 16.71c40 16 60.942 24.643 83.342 24.643s43.342-8.643 83.342-24.643zm43.292 4.33c-14.39 28.78-43.976 43.976-75.976 59.976l7.588 15.172c-4.818 6.521-8.924 14.296-11.934 23.482 0 0-7.629 33.395-8.506 47.916l17.754 2.958C304 272 304 256 312.527 244.664c5.173 7.024 13.406 11.635 22.694 11.635 15.685 0 28.367-13.15 28.367-28.863 0-9.105-4.264-17.342-10.897-22.666 12.317-3.675 24.332-3.772 31.309-3.772v-17.996c-4.717 0-12.708-.032-22.129 1.363 12.116-9.681 22.675-21.335 30.178-36.34zm-239.902 0l-16.098 8.05c7.503 15.005 18.062 26.659 30.178 36.34-9.421-1.395-17.412-1.363-22.129-1.363v17.996c6.977 0 18.992.097 31.309 3.772-6.633 5.324-10.897 13.561-10.897 22.666 0 15.712 12.682 28.863 28.367 28.863 9.288 0 17.521-4.611 22.694-11.635C208 256 208 272 207.123 289.48l17.754-2.958c-.877-14.521-8.506-47.916-8.506-47.916-3.01-9.186-7.116-16.96-11.934-23.482l7.588-15.172c-32-16-61.586-31.196-75.976-59.976zm272.488 49.18l-17.074 5.69c3.336 10.009 2.55 18.53-.664 27.313-3.214 8.784-9.13 17.608-15.903 26.317-6.773 8.708-14.338 17.246-20.529 26.129-6.19 8.882-11.365 18.396-11.365 29.396h17.996c0-5 2.826-11.486 8.135-19.104 5.309-7.617 12.744-16.08 19.97-25.37 7.227-9.292 14.312-19.468 18.598-31.184 4.287-11.716 5.5-25.196.836-39.188zm-305.074 0c-4.664 13.991-3.45 27.47.836 39.187 4.286 11.716 11.37 21.892 18.597 31.183 7.227 9.292 14.662 17.754 19.971 25.371 5.31 7.618 8.135 14.104 8.135 19.104h17.996c0-11-5.174-20.514-11.365-29.396-6.191-8.883-13.756-17.42-20.53-26.13-6.773-8.708-12.688-17.532-15.902-26.316-3.213-8.784-4-17.304-.664-27.312zm231.758 27.413c5.708 0 10.369 4.638 10.369 10.868 0 6.229-4.66 10.865-10.37 10.865-5.708 0-10.368-4.636-10.368-10.865 0-6.23 4.66-10.868 10.369-10.868zm-158.442 0c5.709 0 10.37 4.638 10.37 10.868 0 6.229-4.661 10.865-10.37 10.865-5.708 0-10.369-4.636-10.369-10.865 0-6.23 4.66-10.868 10.37-10.868zm287.065 12.034C499.508 289.222 495.39 352.61 480 368c-9.787-15.381-20.124-27.816-32-32 9.426 36.059 0 64-16 80 0-16-3.432-23.686-16-32 3.293 39.931-18.232 56.793-32 64-6.028-11.65-17.48-24.433-33.275-35.494a31.768 31.768 0 0 0 5.63-9.164c1.46-3.648 2.367-7.5 2.829-11.526 3.896-1.288 7.36-3.491 10.533-5.918 4.999-3.822 9.646-8.535 14.646-13.535 10-10 21.272-21.12 35.662-28.314 20.293-10.147 36.377-36.172 42.8-68.283 2.935-14.677 3.599-30.76 1.019-47.164zm-415.688 0c-2.58 16.403-1.916 32.487 1.02 47.164 6.422 32.111 22.506 58.136 42.799 68.283 14.39 7.195 25.662 18.314 35.662 28.314 5 5 9.647 9.713 14.646 13.535 3.173 2.427 6.637 4.63 10.533 5.918.462 4.027 1.37 7.878 2.829 11.526a31.768 31.768 0 0 0 5.63 9.164C145.48 423.566 134.028 436.35 128 448c-13.768-7.207-35.293-24.069-32-64-12.568 8.314-16 16-16 32-16-16-25.426-43.941-16-80-11.876 4.184-22.213 16.619-32 32-15.39-15.39-19.508-78.778 16.156-139.398zM424.998 256h-17.996c0 11.5-10.11 26.464-21.834 40.143-5.862 6.839-11.89 13.345-16.754 19.56-4.864 6.215-9.412 11.798-9.412 20.297h17.996c0 .5 1.452-3.918 5.588-9.203 4.136-5.285 10.108-11.779 16.246-18.94 12.276-14.321 26.166-31.358 26.166-51.857zm-320 0H87.002c0 20.5 13.89 37.536 26.166 51.857 6.138 7.161 12.11 13.655 16.246 18.94 4.136 5.285 5.588 9.702 5.588 9.203h17.996c0-8.5-4.548-14.082-9.412-20.297-4.864-6.215-10.892-12.721-16.754-19.56-11.724-13.679-21.834-28.642-21.834-40.143zm201.725 168.805c4.823.6 9.34.83 13.576.69a53.604 53.604 0 0 0 5.383-.466c-2.526 8.899-6.629 17.366-12.768 24.733C301.151 463.877 282 472.998 256 472.998s-45.151-9.12-56.914-23.236c-6.14-7.367-10.242-15.834-12.768-24.733 1.752.236 3.54.404 5.383.465 4.236.141 8.753-.088 13.576-.69 1.86 4.965 4.373 9.518 7.637 13.434 8.237 9.885 21.086 16.764 43.086 16.764s34.849-6.88 43.086-16.764c3.264-3.916 5.776-8.47 7.637-13.433z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tightrope;

impl IconShape for Tightrope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.3 38.3c-5.2 20.83-9.1 37.52-21.2 50.3-22.9 24.4-58.5 38.9-115 23-15-4.2-28.1-15.28-41.46-31.7L82.68 91.28C97.19 109.1 113.1 123.2 133.2 129h.1c14.5 4.1 28.1 6.2 40.7 6.8 8.2 27.1 12.4 53.2 29.3 78.7 2 40.8-4 72.6-10.9 111.9-29.2-4.3-58.7-13.8-89-30.5L99.23 314c107.17 56.9 206.07 29 313.17-1.6l-4.1-17.6c-65.9 18.9-126.2 36.3-186.5 34.2 8.6-37.2 14.3-74.4 17.7-111.7 45.4 15.8 77 32.4 104.5 59.4l16.5-15.7c-25.6-29.4-68.4-57.4-111.8-75.9-6.7-22.7-12.7-39.1-13.2-61.3 12-6 22.3-13.8 30.8-22.9 15.9-16.93 20.4-37.69 25.4-58.3l-17.4-4.3zm-87.2 6.67c-.9 0-1.7.09-2.6.26-4.6.91-8.6 4.23-11.4 10.15-2.9 5.95-4.1 14.21-2.3 22.94 1.7 8.73 5.9 15.96 10.8 20.38 4.9 4.3 9.9 5.9 14.5 5 4.6-.9 8.6-4.27 11.4-10.13 2.9-5.97 4-14.25 2.3-22.98-1.7-8.73-5.9-15.94-10.8-20.34-4-3.58-8-5.26-11.9-5.28zM25 297v190h15.84l43.85-190H25zm402.3 0l43.9 190H487V297h-59.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TimeDynamite;

impl IconShape for TimeDynamite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M378.4 22.37c-17.2 0-34.7 6.34-47.8 19.23-5.3 5.1-9.8 11.23-13.3 18.3-3.6-7-8.1-13.09-13.3-18.14-13.2-12.84-30.6-19.11-47.9-19.09-17.3 0-34.6 6.34-47.9 19.23-5.2 5.1-9.8 11.23-13.2 18.3-3.6-7-8.1-13.08-13.4-18.13-13.1-12.85-30.5-19.12-47.8-19.1-17.3 0-34.7 6.34-47.9 19.23-11.34 11.08-19.36 27.06-21.39 46.9-7.82.89-14.73 2.31-20.07 4.06-4.59 1.5-8.01 3.29-9.68 4.58-.18.14-.14.12-.28.24.14.12.08.09.27.25 1.67 1.29 5.09 3.07 9.68 4.57 9.18 3 22.92 5.1 38.09 5.1 15.17 0 28.88-2.1 38.08-5.1 4.6-1.5 8-3.28 9.7-4.57.2-.14.1-.13.2-.24-.1-.12 0-.09-.2-.25-1.7-1.29-5.1-3.07-9.7-4.57-9.2-3.01-22.92-5.1-38.08-5.1-.2 0-.39.01-.59.01 1.98-14.44 7.85-25.07 15.67-32.72 9.7-9.49 22.9-14.38 36.2-14.39 13.3 0 26.4 4.84 36.2 14.28 8 7.75 13.8 18.56 15.7 33.32-10.1.78-19 2.44-25.6 4.59-4.6 1.5-8 3.29-9.7 4.58-.2.14-.1.12-.2.24.1.12 0 .09.2.25 1.7 1.29 5.1 3.07 9.7 4.57 9.2 3 22.9 5.1 38.1 5.1 15.2 0 28.9-2.1 38.1-5.1 4.6-1.5 8-3.28 9.7-4.57.2-.15.1-.13.2-.25-.1-.12 0-.09-.2-.24-1.7-1.29-5.1-3.08-9.7-4.58-8-2.6-19.3-4.51-32.1-4.98 1.9-14.64 7.9-25.38 15.7-33.12 9.7-9.49 23-14.38 36.2-14.39 13.3 0 26.5 4.84 36.2 14.28 7.9 7.74 13.9 18.51 15.8 33.22-12.9.45-24.4 2.37-32.4 4.99-4.6 1.5-8 3.29-9.7 4.58-.2.14-.1.12-.2.24.1.12 0 .09.2.25 1.7 1.29 5.1 3.07 9.7 4.57 9.2 3 22.9 5.1 38.1 5.1 15.2 0 28.9-2.1 38.1-5.1 4.6-1.5 8-3.28 9.7-4.57.2-.15.1-.13.2-.25-.1-.12 0-.09-.2-.24-1.7-1.29-5.1-3.08-9.7-4.58-6.5-2.13-15.4-3.79-25.4-4.58 1.8-14.99 7.7-25.97 15.7-33.82 9.8-9.49 22.9-14.38 36.2-14.39 13.3 0 26.5 4.84 36.3 14.28 7.8 7.77 13.8 18.62 15.7 33.44-.4-.01-.7-.02-1-.02-15.2 0-28.9 2.09-38.1 5.09-4.6 1.5-8 3.29-9.7 4.58-.2.14-.1.12-.2.24.1.12 0 .09.2.25 1.7 1.29 5.1 3.07 9.7 4.57 9.2 3 22.9 5.1 38.1 5.1 15.2 0 28.9-2.1 38.1-5.1 4.6-1.5 8-3.28 9.7-4.57.2-.15.1-.13.2-.25-.1-.12 0-.09-.2-.24-1.7-1.29-5.1-3.08-9.7-4.58-5.3-1.72-12.1-3.12-19.7-4.02-1.9-20.21-9.9-36.46-21.5-47.67-13.2-12.85-30.6-19.12-47.9-19.1zm99.8 75.61h8.4-8.4zM33.71 118v154.6h97.59V118c-1.6.7-3.3 1.3-5.1 1.9-11.8 3.9-26.92 6-43.68 6-16.77 0-31.94-2.1-43.69-6-1.79-.6-3.49-1.2-5.12-1.9zm115.69 0v154.6h90.7c2.2-2.4 4.5-4.7 6.9-6.9V118c-1.6.7-3.3 1.3-5.1 1.9-11.8 3.9-26.9 6-43.7 6-16.8 0-31.9-2.1-43.7-6-1.8-.6-3.5-1.2-5.1-1.9zm115.6 0v134.8c13.9-7.8 30-12.2 47-12.2 18.5 0 35.9 5.2 50.6 14.3V118c-1.6.7-3.3 1.3-5.1 1.9-11.8 3.9-26.9 6-43.7 6-16.8 0-31.9-2.1-43.7-6-1.8-.6-3.5-1.2-5.1-1.9zm115.6 0v151.1c1.1 1.1 2.3 2.3 3.3 3.5h94.3V118c-1.6.7-3.3 1.3-5.1 1.9-11.8 3.9-26.9 6-43.7 6-16.8 0-31.9-2.1-43.7-6-1.8-.6-3.5-1.2-5.1-1.9zM312 258.6c-43.7 0-79 35.3-79 79s35.3 79 79 79 79-35.3 79-79-35.3-79-79-79zm-33.3 22.5l48.1 53.5-25.7 47.3-15.8-8.6 19.7-36.1-39.7-44.1 13.4-12zM21 290.6v30h195.5c1.9-10.7 5.6-20.8 10.7-30H21zm375.8 0c5.1 9.2 8.8 19.3 10.7 30H491v-30h-94.2zM21 338.6v30h199.1c-3.2-9.4-5-19.5-5.1-30H21zm388 0c-.1 10.5-1.9 20.6-5.1 30H491v-30h-82zm-375.29 48v87c0 .9.15 1.6 1.99 3.3 1.84 1.7 5.37 3.7 10.05 5.3 9.36 3.3 23.1 5.2 36.76 5.2 13.66 0 27.39-1.9 36.79-5.2 4.6-1.6 8.2-3.6 10-5.3 1.8-1.7 2-2.4 2-3.3v-87H33.71zm115.69 0v87c0 .9.2 1.6 2 3.3 1.8 1.7 5.4 3.7 10 5.3 9.4 3.3 23.1 5.2 36.8 5.2 13.7 0 27.4-1.9 36.8-5.2 4.6-1.6 8.2-3.6 10-5.3 1.8-1.7 2-2.4 2-3.3v-64.1c-7.3-6.6-13.7-14.3-18.7-22.9h-78.9zm246.3 0c-4.2 7.1-9.3 13.7-15.1 19.5v67.5c0 .9.2 1.6 2 3.3 1.8 1.7 5.4 3.7 10 5.3 9.4 3.3 23.1 5.2 36.8 5.2 13.7 0 27.4-1.9 36.8-5.2 4.6-1.6 8.2-3.6 10-5.3 1.8-1.7 2-2.4 2-3.3v-87h-82.5zm-33.1 33.7c-14.7 9.1-32.1 14.3-50.6 14.3-17 0-33.1-4.4-47-12.2v51.2c0 .9.2 1.6 2 3.3 1.8 1.7 5.4 3.7 10 5.3 9.4 3.3 23.1 5.2 36.8 5.2 13.7 0 27.4-1.9 36.8-5.2 4.6-1.6 8.2-3.6 10-5.3 1.8-1.7 2-2.4 2-3.3v-53.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TimeSynchronization;

impl IconShape for TimeSynchronization {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112.9 20.05V50.5c15-6.4 31.5-9.95 48.8-9.95 17.4 0 33.9 3.56 48.9 9.99V20.05zm48.8 38.5c-59 0-106.74 47.65-106.74 106.65 0 59 47.74 106.7 106.74 106.7 59 0 106.7-47.7 106.7-106.7S220.7 58.55 161.7 58.55zm10.6 27.41l17.4 4.38-18 72.06 35 35-12.8 12.8-42.2-42.2zM18.15 159.9v18H37.6c-.42-4.2-.64-8.4-.64-12.7 0-1.8 0-3.5.12-5.3zm295.05 41.6l-8.9 35.8c17.7-9.8 38.1-15.3 59.8-15.3 19.3 0 37.6 4.4 54 12.3l-4.1-32.8zm50.9 38.5c-59 0-106.7 47.7-106.7 106.7s47.7 106.7 106.7 106.7 106.7-47.7 106.7-106.7S423.1 240 364.1 240zm118.8 20.7l-17.4 13.5c3.5 4.9 6.7 10.1 9.5 15.4l18.9-14.7zm-118.8 7.4c43.3 0 78.6 35.3 78.6 78.6s-35.3 78.6-78.6 78.6-78.6-35.3-78.6-78.6 35.3-78.6 78.6-78.6zm-153.5 11.8c-15 6.4-31.5 10-48.9 10-17.3 0-33.8-3.5-48.8-9.9v30.5h97.7zm153.5 6.2c-33.6 0-60.6 27-60.6 60.6s27 60.6 60.6 60.6 60.6-27 60.6-60.6c0-25.3-15.3-46.8-37.2-55.9L374.1 344l17.3 17.8-12.8 12.7-24.5-25 16-63c-2-.2-4-.4-6-.4zm-59.8 170l8.9 35.8H414l4.1-32.8c-16.4 7.9-34.7 12.3-54 12.3-21.7 0-42.1-5.5-59.8-15.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tipi;

impl IconShape for Tipi {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224.627 18l21.38 44.285-10 20.715h19.987l.006-.012.006.012h19.988l-10-20.715L287.374 18h-19.99L256 41.584 244.615 18h-19.988zm5.045 83l-17.574 36.746c8.355 2.2 17.922 3.768 27.902 4.588V131h7v-30h-17.328zM265 101v30h7v11.334c9.98-.82 19.547-2.39 27.902-4.588L282.328 101H265zm-60.828 53.318L121.715 326.73c40.086 19.246 79.89 29.913 119.662 32.014L247 346.092V341h-7v-18h7v-46h-7v-18h7v-46h-7v-18h7v-34.174c-15.112-.578-29.874-2.655-42.828-6.508zm103.656 0c-12.954 3.853-27.716 5.93-42.828 6.508V195h7v18h-7v46h7v18h-7v46h7v18h-7v5.092l5.623 12.652c39.773-2.1 79.576-12.768 119.662-32.014l-82.457-172.412zm-193.88 188.65l-8.01 16.75c6.122 3.888 12.368 7.52 18.728 10.887L140.7 354.57c-8.928-3.462-17.847-7.333-26.753-11.6zm284.105 0c-8.906 4.27-17.825 8.14-26.754 11.602l16.034 16.035c6.36-3.366 12.606-7 18.728-10.888l-8.01-16.748zm-256.73 11.84l-3.706 22.23c14.398 6.675 29.283 12.055 44.465 16.153l21.023-21.022c-20.63-3.65-41.233-9.434-61.783-17.36zm229.355 0c-20.55 7.926-41.154 13.71-61.783 17.36l21.023 21.023c15.182-4.097 30.067-9.477 44.465-16.153l-3.705-22.228zM204.463 372.41l-3.598 25.172c7.202 1.424 14.453 2.553 21.733 3.412l11.107-24.99c-9.75-.727-19.5-1.914-29.242-3.594zm103.074 0c-9.743 1.68-19.49 2.867-29.242 3.594l11.107 24.99c7.28-.86 14.53-1.988 21.733-3.412l-3.598-25.172zM98.12 376.06l-19.33 40.424 32.597-32.597c-4.48-2.482-8.9-5.1-13.266-7.826zm315.76 0c-4.368 2.728-8.788 5.345-13.267 7.827l32.598 32.597-19.33-40.423zM134.552 395.43l-9.06 54.35 42.03-42.028c-11.183-3.44-22.197-7.542-32.97-12.322zm242.894 0c-10.773 4.78-21.787 8.88-32.97 12.322l42.03 42.03-9.06-54.352zm-262.94 10.793L63.83 456.897c13.37 5.64 26.592 10.722 39.69 15.23l10.986-65.905zm282.987 0l10.985 65.905c13.098-4.507 26.32-9.588 39.69-15.23l-50.676-50.674zm-199.182 9.24l-8.458 59.208 25.1-56.47c-5.568-.764-11.118-1.664-16.642-2.74zm115.375 0c-5.523 1.074-11.073 1.974-16.64 2.737l25.1 56.47-8.46-59.208zm-134.416 5.995l-56.813 56.815c15.803 4.815 31.45 8.785 46.994 11.923l9.82-68.738zm153.46 0l9.82 68.738c15.544-3.138 31.19-7.108 46.993-11.923l-56.814-56.815z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TireIron;

impl IconShape for TireIron {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M180 34.39c-9.2.1-18.2 2.89-26.1 7.41-11.2 6.44-20.6 16.6-24 29.44L24.92 468.6l17.42 4.6L147.3 75.86c1.9-6.99 7.8-14.01 15.6-18.46 7.7-4.45 16.9-6.08 24-4.19l76.2 20.31 14.7 25.1 72.1 19.18L365 60.76l-72.1-19.19-3.2 1.86-22 12.69-76.2-20.29c-3.2-.86-6.5-1.31-9.7-1.42H180zM327 157.5c-88.4 0-160 71.6-160 160 0 88.5 71.6 160.1 160 160.1 88.5 0 160.1-71.6 160.1-160.1 0-88.4-71.6-160-160.1-160zm-.3 74a86.06 86.06 0 0 1 .3 0 86.06 86.06 0 0 1 86.1 86 86.06 86.06 0 0 1-86.1 86.1 86.06 86.06 0 0 1-86-86.1 86.06 86.06 0 0 1 85.7-86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TireIronCross;

impl IconShape for TireIronCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M52.47 16.94L16.95 52.45 71.3 106.6h22.59L215 227.7v56.5L93.84 405.4H71.28l-54.26 54.2 35.34 35.5 54.24-54.4v-22.5L227.8 297h56.4l121.2 121.2v22.5l54.2 54.3 35.4-35.4-54.3-54.2h-22.5L297 284.2v-56.5l121.1-121.1h22.6L495 52.36 459.7 17l-54.3 54.25v22.57L284.2 215h-56.4L106.6 93.86V71.28L52.47 16.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TireTracks;

impl IconShape for TireTracks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M484.148 41.3l-14.12 11.165L494 82.78V53.76zm-30.09 10.893l-14.12 11.164 31.119 39.354-16.149.414.446-.352-31.383-39.687L409.85 74.25l31.119 39.354-16.15.414.447-.352-31.385-39.687-14.121 11.164 31.119 39.353-16.149.414.446-.351-31.383-39.688-7.06 5.582-7.061 5.582 31.119 39.354-16.15.414.445-.352-31.383-39.687-14.121 11.164 31.12 39.353-16.15.414.446-.351-31.385-39.688-14.12 11.164 31.118 39.354-16.148.414.445-.352-31.383-39.687-14.12 11.164 31.118 39.353-16.15.414.447-.351-31.384-39.688-14.122 11.164 31.12 39.354-16.149.414.445-.352-31.382-39.687-14.121 11.164 31.119 39.354-16.15.414.445-.352-31.383-39.687-14.121 11.164 31.119 39.353-16.149.414.446-.351-31.385-39.688-14.121 11.164 31.385 39.688 13.117-10.371 1.283 50.152 17.996-.461-1.295-50.58-.566.016 12.672-10.02 1.283 50.152 17.996-.46-1.295-50.58-.568.015 12.672-10.02 1.285 50.153 17.994-.461-1.293-50.58-.568.013 12.671-10.017 1.284 50.152 17.996-.46-1.295-50.58-.569.013 12.674-10.018 1.283 50.153 17.997-.461-1.295-50.58-.569.013 12.672-10.017 1.283 50.152 17.996-.46-1.294-50.58-.567.013 12.672-10.02 1.283 50.155 17.996-.461-1.295-50.58-.568.013 12.672-10.02 1.285 50.155 17.994-.46-1.293-50.581-.568.014 12.672-10.02 1.283 50.154 17.996-.46-1.295-50.58-.568.013 12.674-10.02 1.283 50.155 17.996-.461-1.295-50.58-.568.014 12.671-10.02 1.284 50.154 8.277-.213V92.002l-9.002.23.445-.351zM170.433 211.971l-17.428.447.445-.352-31.383-39.687-14.119 11.164 31.12 39.352-16.153.416.445-.352-31.382-39.688-14.12 11.165 31.12 39.351-16.15.416.444-.351-31.382-39.688-14.12 11.164 31.12 39.352-16.153.416.446-.352-31.383-39.687L18 215.967v.658l31.063 39.283 13.119-10.373 1.283 50.154 17.994-.46-1.295-50.58-.566.013 12.672-10.02 1.285 50.155 17.992-.461-1.293-50.58-.567.014 12.672-10.02 1.284 50.154 17.994-.46-1.295-50.58-.567.013 12.674-10.02 1.283 50.155 17.995-.461zm-121.37 43.937l-17.425.446.445-.352L18 238.195v28.942l13.08-10.342 1.283 50.154 17.994-.463zM494 279.061l-13.95 11.029L494 307.729zm-29.918 10.755l-14.121 11.166 31.12 39.352-16.15.416.446-.354-31.383-39.687c-4.708 3.721-9.414 7.444-14.121 11.166l31.12 39.352-16.151.416.445-.354-31.383-39.687-14.12 11.166 31.118 39.351-16.148.416.445-.353-31.383-39.688-14.12 11.166 31.118 39.352-16.15.416.445-.354-31.382-39.687-14.122 11.166 31.12 39.351-16.15.416.446-.353-31.384-39.688-14.121 11.166 31.119 39.352-16.149.416.446-.354-31.383-39.687-14.121 11.166 31.119 39.351-16.15.416.445-.353-31.383-39.688-14.121 11.166 31.119 39.352-16.148.416.445-.353-31.383-39.688-14.121 11.166 31.383 39.688 13.117-10.374 1.283 50.155 17.996-.461-1.293-50.58-.568.013 12.672-10.02 1.283 50.155 17.996-.463-1.295-50.578-.568.014 12.674-10.02 1.283 50.155 17.994-.463-1.293-50.578-.568.013 12.672-10.02 1.283 50.155 17.996-.463-1.295-50.578-.568.014 12.673-10.02 1.284 50.155 17.996-.463-1.295-50.578-.569.013 12.672-10.02 1.284 50.155 17.996-.463-1.293-50.578-.569.014 12.672-10.02 1.283 50.154 17.996-.462-1.294-50.58-.569.015 12.674-10.02 1.283 50.155 17.994-.463-1.293-50.58-.568.016L494 330.662v-3.014zm-223.45 137.995l-17.427.445.445-.352-31.382-39.687-14.12 11.164 31.12 39.353-16.153.414.447-.351-31.384-39.688-14.12 11.164 31.12 39.354-16.15.414.445-.352-31.383-39.687-14.12 11.164 31.12 39.354-16.153.414.446-.352L102 420.895l-14.12 11.164 31.384 39.687 13.119-10.371.834 32.625h18.006l-.858-33.512-.566.014 12.672-10.02L163.586 494h18.004l-1.135-44.406-.566.015 12.672-10.02 1.283 50.153 17.994-.46-1.295-50.58-.566.015 12.673-10.02 1.284 50.153 17.994-.461zm-121.368 43.935l-17.426.447.445-.351-31.385-39.688-14.119 11.164 31.385 39.688 13.117-10.373.547 21.367h18.006zm-31.1 11.26l-17.428.447.446-.353-31.383-39.688-14.12 11.164L56.8 493.93c.709-.018-.29.039.709-.018l12.672-10.02.26 10.108h18.005zM18 464.789v29.02l.15.191h22.932l.01-.008z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TiredEye;

impl IconShape for TiredEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.7 136.9c-87.5 0-147.7 38.5-207.05 106.3 67.05-19.8 134.05-31.6 200.55-32.7 2.4 0 4.8-.1 7.2-.1 62.2-.3 124 8.7 185.3 29.3-18.3-18.2-34.6-37.8-53.6-54.8-30.6-27-67.4-48-132.4-48zm34.1 93.1a37.23 37.23 0 0 1 3.1 15 37.23 37.23 0 0 1-1.7 10.9 18.61 18.61 0 0 0-16.9-10.9 18.61 18.61 0 0 0-18.6 18.7 18.61 18.61 0 0 0 10.9 16.9 37.23 37.23 0 0 1-10.9 1.6 37.23 37.23 0 0 1-37.3-37.2 37.23 37.23 0 0 1 3-14.6c-9.9.6-19.8 1.5-29.6 2.5-.8 4-1.2 8-1.2 12.1 0 36.1 29 65 65.1 65 36.1 0 65-28.9 65-65 0-4.3-.4-8.6-1.3-12.7-9.8-1.1-19.8-1.8-29.6-2.3zm49.2 4.7c.4 3.4.6 6.8.6 10.3 0 46.2-37.7 83.9-83.9 83.9s-83.8-37.7-83.8-83.9c0-3.3.2-6.5.6-9.7-42 5.8-84.03 15.5-126.42 28.3 65.52 32.2 137.42 72.7 209.62 72.7 61.2 0 121.5-14 204-70-40.1-15.5-80.3-25.9-120.7-31.6zm126.9 50.2c-15.2 10.1-29.9 18.9-44 26.6-64 74.6-160.7 104.3-267.4 108.7l.9 18.9c110.3-4.6 214-36.4 282.2-117.1-19.2 52.3-61.3 92.6-104.6 134.4l13.2 13.6c53.4-51.6 110-104.8 119.7-185.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Toaster;

impl IconShape for Toaster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.3 18s-8.6 4.5-17.3 11.15c-4.3 3.33-8.8 7.21-12.5 11.79-3.7 4.57-7 10.07-7 17.02 0 6.95 4.1 12.65 8.2 16.12 4.1 3.48 8.6 5.72 12.6 7.84 4 2.11 7.5 4.1 9.4 5.68 1.9 1.58 1.8 1.77 1.8 2.36 0 .57-.7 2.85-3 5.69-1.3 1.6-3 3.35-4.9 5.05 7.9-1 16-1.7 24.2-2.2 1-2.58 1.7-5.41 1.7-8.54 0-6.95-4.1-12.65-8.2-16.12-4.1-3.48-8.6-5.72-12.6-7.84-4-2.11-7.5-4.1-9.4-5.68-1.9-1.58-1.8-1.77-1.8-2.36 0-.59.7-2.86 3-5.7 2.3-2.84 5.8-6.02 9.5-8.8 7.3-5.58 14.7-9.54 14.7-9.54zm80 0s-8.6 4.5-17.3 11.15c-4.3 3.33-8.8 7.21-12.5 11.79-3.7 4.57-7 10.07-7 17.02 0 6.95 4.1 12.65 8.2 16.12 4.1 3.48 8.6 5.72 12.6 7.84 4 2.11 7.5 4.1 9.4 5.68 1.9 1.58 1.8 1.77 1.8 2.36 0 .57-.7 2.85-3 5.69-.4.54-.9 1.09-1.4 1.65 7.1-.49 14.2-.81 21.4-.93.6-1.99 1-4.12 1-6.41 0-6.95-4.1-12.65-8.2-16.12-4.1-3.48-8.6-5.72-12.6-7.84-4-2.11-7.5-4.1-9.4-5.68-1.9-1.58-1.8-1.77-1.8-2.36 0-.59.7-2.86 3-5.7 2.3-2.84 5.8-6.02 9.5-8.8 7.3-5.58 14.7-9.54 14.7-9.54zm82 0s-8.6 4.5-17.3 11.15c-4.3 3.33-8.8 7.21-12.5 11.79-3.7 4.57-7 10.07-7 17.02 0 6.95 4.1 12.65 8.2 16.12 4.1 3.48 8.6 5.72 12.6 7.84 4 2.11 7.5 4.1 9.4 5.68 1.9 1.58 1.8 1.77 1.8 2.36 0 .57-.7 2.85-3 5.69-1.1 1.33-2.4 2.75-3.9 4.15 7.1 1 13.9 2.3 20.4 3.8 2.6-3.9 4.5-8.33 4.5-13.64 0-6.95-4.1-12.65-8.2-16.12-4.1-3.48-8.6-5.72-12.6-7.84-4-2.11-7.5-4.1-9.4-5.68-1.9-1.58-1.8-1.77-1.8-2.36 0-.59.7-2.86 3-5.7 2.3-2.84 5.8-6.02 9.5-8.8 7.3-5.58 14.7-9.54 14.7-9.54zm-133.5 97.9c-31.3.5-62.5 4.9-84.7 12.4-11 3.7-19.7 8.2-24.9 12.7-5.1 4.5-6.6 7.8-6.1 11.9 1.2 12.3 15 22.9 15 22.9l4.1 2.8-.4 11.4H207.6l-.7-18.3 18-.8.8 19.1h63l-.4-16.4 18-.4.4 16.8h51.1l-1.2-19 7.8-1.5s3.6-.8 7.3-3.4c3.8-2.6 7.1-5.9 7.2-13.9.1-5-2-9.1-7.6-13.8-5.6-4.6-14.6-9.1-25.9-12.6-21.3-6.7-50.3-10-79.7-9.9zm110.8.7c4.6 2.3 8.7 5 12.3 8.1 8.4 7 14.2 16.8 14 27.9-.3 13.8-7.9 23.4-14.9 28.3-2.3 1.6-4.5 2.7-6.5 3.6l.3 5.5H422l-1.3-20.5 7.8-1.5s3.6-.8 7.3-3.4c3.7-2.6 7.1-5.9 7.2-14 .1-5-2-9-7.6-13.7-5.6-4.7-14.6-9.2-25.9-12.7-11.2-3.5-24.5-6-38.9-7.6zM164.5 208c-13 0-27.1 6.8-37.6 17.4-10.6 10.5-17.4 24.6-17.4 37.6v103h254.8c4.3-22.7 24.3-40 48.2-40 23.9 0 43.9 17.3 48.2 40h14.8V263c0-13-6.8-27.1-17.4-37.6-10.5-10.6-24.6-17.4-37.6-17.4zm248 136c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm-303 40v62h366v-62h-14.8c-4.3 22.7-24.3 40-48.2 40-23.9 0-43.9-17.3-48.2-40zm-45.03 5.9C52.5 390.3 36.5 398 36.5 414v9h55v-18H71.98zM141.5 464v30h30v-30zm272 0v30h30v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Toggles;

impl IconShape for Toggles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96 32c-44 0-63 27.5-63 55s19 55 63 55h.12C80.75 128.6 71 108.9 71 87c0-21.91 9.75-41.6 25.12-55zm48 0c-30.5 0-55 24.52-55 55 0 30.5 24.5 55 55 55s55-24.5 55-55c0-7.4-1.5-14.45-4.1-20.89L145 132.7l-39.4-39.3 12.8-12.76L143 105.3l41.6-55.46C174.6 38.86 160.1 32 144 32zm47.9 0C207.2 45.4 217 65.09 217 87c0 21.9-9.8 41.6-25.1 55H416c44 0 63-27.5 63-55s-19-55-63-55zM96 192c-44 0-63 27.5-63 55s19 55 63 55h.12C80.75 288.6 71 268.9 71 247s9.75-41.6 25.12-55zm48 0c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55c0-7.4-1.5-14.5-4.1-20.9L145 292.7l-39.4-39.3 12.8-12.8 24.6 24.7 41.6-55.5c-10-10.9-24.5-17.8-40.6-17.8zm47.9 0c15.3 13.4 25.1 33.1 25.1 55s-9.8 41.6-25.1 55H416c44 0 63-27.5 63-55s-19-55-63-55zM96 334c-52 0-81 36.5-81 73s29 73 81 73h272c-18.3 0-35-6.8-47.9-18H96c-44 0-63-27.5-63-55s19-55 63-55h224.1c12.9-11.2 29.6-18 47.9-18zm272 0c18.3 0 35 6.8 47.9 18h.1c44 0 63 27.5 63 55s-19 55-63 55h-.1c-12.9 11.2-29.6 18-47.9 18h48c52 0 81-36.5 81-73s-29-73-81-73zm0 18c-30.5 0-55 24.5-55 55s24.5 55 55 55 55-24.5 55-55-24.5-55-55-55zm-25.6 16.6l25.6 25.6 25.6-25.6 12.8 12.8-25.6 25.6 25.6 25.6-12.8 12.8-25.6-25.6-25.6 25.6-12.8-12.8 25.6-25.6-25.6-25.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Token;

impl IconShape for Token {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 117c-65.2 0-124.2 11.6-166.13 29.7-20.95 9.1-37.57 19.8-48.57 31.1S25 200.4 25 212c0 11.6 5.3 22.9 16.3 34.2 11 11.3 27.62 22 48.57 31.1C131.8 295.4 190.8 307 256 307c65.2 0 124.2-11.6 166.1-29.7 21-9.1 37.6-19.8 48.6-31.1S487 223.6 487 212c0-11.6-5.3-22.9-16.3-34.2-11-11.3-27.6-22-48.6-31.1C380.2 128.6 321.2 117 256 117zM25 255.1v50.2c0 6.3 5.3 17.6 16.3 28.9 11 11.3 27.62 22 48.57 31.1C131.8 383.4 190.8 395 256 395c65.2 0 124.2-11.6 166.1-29.7 21-9.1 37.6-19.8 48.6-31.1s16.3-22.6 16.3-28.9v-50.2c-1.1 1.3-2.2 2.5-3.4 3.7-13.3 13.6-31.8 25.3-54.3 35-45 19.5-106 31.2-173.3 31.2-67.3 0-128.3-11.7-173.28-31.2-22.49-9.7-41.01-21.4-54.3-35-1.19-1.2-2.32-2.5-3.42-3.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tomahawk;

impl IconShape for Tomahawk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M483.44 177.075l-151.73-78.02-29.51 47.083c27.702 33.995 52.362 66.91 52.775 91.22l51.992 61.733c42.438-30.05 67.93-70.722 76.473-122.015zM207.185 22.818l-25.49 40.672 40.67 25.49 22.055-5.06 13.558 8.497-8.497 13.558-3.717 5.93 40.673 25.492 3.717-5.932 25.49-40.672L288.53 73.8l-22.055 5.06-13.558-8.497-5.06-22.054zm29.02 104.34l-49.92 79.65 40.672 25.49 46.202-73.718 3.716-5.93zm-59.48 94.9l-7.434 11.864 40.673 25.49 7.435-11.862zm-15.732 27.907l2.338 38.66 35.813-14.75zm-16.6 23.684l-19.24 30.7 20.583-8.48zm40.67 25.49l-20.583 8.478 1.344 22.22zm-38.178 15.725l-35.89 14.78c6.847 5.088 8.36 13.788 7.605 21.62-.467 4.84-1.796 9.863-3.87 14.905 3.633-4.065 7.574-7.45 11.728-9.98 6.718-4.096 15.208-6.526 22.77-2.582zm-46.632 29.21c-.08-.05-.078-.023-.042.07.1-.01.124-.018.043-.07zm-.042.07c-.36.026-1.943.026-5.058 1.925-3.965 2.416-8.997 7.32-13.044 13.777-4.047 6.457-6.267 13.124-6.713 17.746-.35 3.63.34 5.056.472 5.392.36-.027 1.944-.027 5.06-1.926 3.964-2.417 8.996-7.32 13.043-13.778 4.047-6.457 6.267-13.124 6.713-17.746.35-3.63-.34-5.056-.472-5.392zm-24.343 38.84c-.098.007-.123.017-.042.068.08.05.078.024.042-.068zm65.058-13.418c-.08-.05-.078-.024-.042.067.098-.007.123-.017.042-.067zm-.042.067c-.36.028-1.944.028-5.06 1.926-3.964 2.417-8.996 7.32-13.043 13.778-4.047 6.457-6.267 13.124-6.713 17.746-.35 3.63.34 5.055.472 5.392.36-.027 1.943-.028 5.058-1.926 3.965-2.416 8.997-7.32 13.044-13.777 4.047-6.457 6.267-13.125 6.713-17.746.35-3.63-.34-5.056-.472-5.393zm-24.344 38.842c-.1.008-.124.017-.043.068.08.05.078.024.042-.068zm-14.52-22.026c-3.633 4.064-7.574 7.45-11.728 9.98-7.092 4.323-16.16 6.805-24.026 1.875l-37.706 60.16s.69 15.91 5.06 22.055c3.092 4.346 8.3 7.61 13.558 8.497 7.437 1.255 22.054-5.06 22.054-5.06l37.706-60.16c-7.866-4.93-9.586-14.174-8.788-22.44.467-4.843 1.796-9.866 3.87-14.907z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tomato;

impl IconShape for Tomato {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269 24.54c-3.1.11-5.7 0-7.6.21-2.8.25-4.7.45-7.2 2.23l-1 69.32c3 1.18 6.4 2.3 9.7 2.51 4.1.3 6.8-.21 9.2-2.41zm-103.4 37.9c.1 5.95.3 11.01 1.5 14.14 2.3 5.22 7 9.88 26 13.92l22.5 4.78-19.5 11.82c-16.5 10.1-35.2 19.4-51.5 26.5 6.2.7 12.3 1.4 18.2 1.4 17.8-.1 34.6-3.9 55.3-18.1L234 106l.4-24.35c-25.5-5.62-46.5-11.68-68.8-19.21zm181.2 6.49c-19.5 6.69-34.4 10.97-56.4 14.16l.9 18.81-1.7 2.5c-6.8 10-18.4 13.3-27.9 12.7-9.5-.6-17.6-3.9-23.4-7.6l-3.2-2.1-2.2 18c-1.9 17.1-2.1 28.3-5.2 42.4 14.6-10.4 24.4-18.9 36.5-37.3l7.2-10.7 8.1 10c10.9 13 28.8 22.9 48.5 29-5.7-6.5-10.9-14.5-12-25l-1.4-14.1 13.9 4.6c20.6 6.6 26.9 6.1 33.9 3.7 2.9-.9 6.7-2.6 10.6-4.5l-80.7-27.61 27.3-8.15c14.2-4.24 20.9-9.1 24.6-13.94 1-1.5 1.9-3.14 2.6-4.87zM405.5 132l-1.8.4c-17.4 4.2-24.3 9.5-35 13.1-7.4 2.3-15.6 2.8-26.7.9.4.6 1 1.2 1.5 1.8 5 5.5 12.2 11.6 18.8 20.2l13.2 17.2-21.9-2.6c-29.1-3.5-59.4-13.9-80.3-32.9-16.3 21.4-31.5 30.4-57.2 48.6l-25.8 18.4 11.3-29.1c8.4-21.1 9.3-31.3 10.7-46.3-17.3 8.4-33.7 11.5-49.5 11.6-18.7 0-36.5-3.7-55.2-6.4-.4 0-.8.1-1.2.2-59.84 46.2-68.94 115.5-68.87 150.3.17 94.2 26.73 186.7 222.47 190C408.9 490 475.4 388 474.5 293.2c-.8-60.6-12.3-124.4-69-161.2zm-258.4 34.3c13.2-.2 26.4 4.4 28.3 12.4-92.08 41.9-91.59 97.8-105.21 156.8-11.1-56.8-7.31-122.5 55.21-163.6 5.6-3.8 13.8-5.5 21.7-5.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tongue;

impl IconShape for Tongue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.459 54.496C134.986 65.652 88.687 94.429 46.965 129.748c44.068-4.467 98.006-7.504 139.176-9.125 24.06 6.836 50.74 12.885 69.859 12.885 19.118 0 45.8-6.049 69.86-12.885 41.169 1.62 95.107 4.658 139.175 9.125-40.822-32.197-91.774-71.06-145.494-75.252C294.823 58.15 274.036 72.995 256 86.87c-15.453-11.352-45.084-32.691-63.541-32.375zm1.943 85.683c-10.738 2.975-21.867 14.782-25.91 26.307-14.68 41.848.074 90.264 16.045 138.176 14.478 43.434 43.444 63.094 71.463 63.094 28.02 0 56.985-19.66 71.463-63.094 15.97-47.912 30.724-96.328 16.045-138.176-4.043-11.525-15.172-23.332-25.91-26.307-20.011-1.844-35.531 12.244-53.133 15.555L256 317.508l-8.465-161.774c-16.096-2.716-39.797-18.767-53.133-15.555zM39.494 152.06c28.202 34.32 68.937 69.949 107.43 83.407-1.908-28.008-3.311-54.863 5.363-76.983-32.671-1.463-78.044-3.6-112.793-6.424zm433.012 0c-34.75 2.825-80.122 4.961-112.793 6.424 8.268 24.764 8.744 55.255 5.363 76.983 44.215-19.913 79.145-47.797 107.43-83.407zM176 347.508s-33.004 17.415-37.855 33.568c-2.17 7.224-.677 18.086 5.855 21.857 6.532 3.772 16.684-.366 21.855-5.857C177.418 384.798 176 347.508 176 347.508zm160 0s-1.418 37.29 10.145 49.568c5.17 5.49 15.323 9.629 21.855 5.857 6.532-3.77 8.025-14.633 5.855-21.857-4.85-16.153-37.855-33.568-37.855-33.568zm-80 46s-19.875 31.585-16 48c1.733 7.34 8.458 16 16 16s14.267-8.66 16-16c3.875-16.415-16-48-16-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Toolbox;

impl IconShape for Toolbox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.09 57L33 209.7V327h174V217h-87c-23.75 0-41-23-41-49s17.25-49 41-49h50.7l-24.8-62zm272.01 0L305 209.7V489h174V209.7L417.9 57zm25.9 62c23.8 0 41 23 41 49s-17.2 49-41 49-41-23-41-49 17.2-49 41-49zm-272 18c-11.6 0-23 12.8-23 31s11.4 31 23 31h169.9l24.8-62zm272 0c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zM33 345v144h254V345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Torch;

impl IconShape for Torch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M476.72 51.375c-5.28 30.185-124.992 107.9-82.47 16.875-80.216 45.38-107.557 23.42-78.53-5.656-54.825 2.8-62.753 88.173-55.345 112.406l17.438 19.125c-2.14-31.218.404-48.445 19.5-71.47 13.764 20.614 18.495 33.702 52.062 6.97-9.393 53.52 54.61 18.747 88.75 10.938-15.248 14.048-35.153 32.723-38.875 55.468-1.24 7.587 6.208 17.925 14.125 25.626-9.443 2.236-41.474 8.91-38.563 26.22 2.912 17.31 12.14 11.885 3.5 15.28-12.403 2.766-21.156 5.58-39.593-2.187l18.874 20.717c28.39 14.79 73.904 7.306 83.594-14.875-14.778-1.22-27.125-4.674-33-11.53 44.022-8.34 66.764-39.243 85.78-75.032-33.638 18.95-42.158 17.784-56 16.313 35.514-14.365 46.876-108.943 38.75-145.188zM246.874 186.063l-56.78 70.125 79.186 86.906 75.095-50-97.5-107.03zm-62.344 90.125L21.657 467.625l21.438 23.53 205.75-144.374-64.313-70.592z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Torpedo;

impl IconShape for Torpedo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40 47c-9.282 0-17 7.718-17 17s7.718 17 17 17 17-7.718 17-17-7.718-17-17-17zm0 16c.446 0 1 .554 1 1 0 .446-.554 1-1 1-.446 0-1-.554-1-1 0-.446.554-1 1-1zm48 48c-9.282 0-17 7.718-17 17s7.718 17 17 17 17-7.718 17-17-7.718-17-17-17zm0 16c.446 0 1 .554 1 1 0 .446-.554 1-1 1-.446 0-1-.554-1-1 0-.446.554-1 1-1zm-40 40c-13.7 0-25 11.3-25 25s11.3 25 25 25 25-11.3 25-25-11.3-25-25-25zm0 18c3.973 0 7 3.027 7 7s-3.027 7-7 7-7-3.027-7-7 3.027-7 7-7zm52.23 32l13 39-13 39h26.514v-78H100.23zm164.622 0l-120.108 30.025v17.948L264.852 295h117.892v-78H264.852zm135.892 0v78h30v-78h-30zm48 0v78h5.684c28.584-7.435 40.316-23.962 40.316-39s-11.732-31.565-40.316-39h-5.684z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tortoise;

impl IconShape for Tortoise {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.194 111.78c-3.097-.044-6.237.03-9.416.214 1.532 20.553 2.534 38.96.81 59.37 18.478-2.405 32.978-8.23 44.698-14.655 13.894-9.58 18.14-18.298 23.572-28.737-17.897-9.932-37.758-15.87-59.664-16.192zm-27.307 2.35c-29.826 5.067-52.077 16.196-69.01 30.97 7.64 8.992 14.394 16.763 26.122 22.11 16.26 3.783 30.635 5.342 43.41 5.32 1.91-19.796 1.022-37.515-.523-58.4zm102.217 23.577c-4.756 9.085-10.453 19.305-22.406 29.168 7.877 14.35 15.45 28.907 22.252 43.818 5.255-1.357 10.563-1.964 15.857-2.01 8.26-.076 16.487 1.19 24.418 3 9.054 2.064 17.85 4.825 26.262 7.456-10.515-20.503-23.71-40.41-39.398-57.306-8.36-9.004-17.353-17.146-26.986-24.127zM85.14 157.96c-9.03 10.54-16.17 22.28-21.987 34.603-6.413 13.582-11.024 27.74-14.5 41.626 10.75-3.356 22.516-6.072 35.244-8.24 5.468-15.955 12.998-31.752 23.756-47.14-9.74-6.19-16.522-13.773-22.514-20.85zm146.234 18.405c-12.886 6.1-28.622 11.188-47.584 13.168-1.937 25.253-1.016 48.742.982 71.746 12.733-2.574 24.63-10.07 36.12-19.005 10.754-8.362 20.678-17.838 31.503-24.44-6.373-13.953-13.5-27.73-21.02-41.47zm-106.61 9.48c-9.9 13.446-16.99 27.256-22.238 41.39 15.306 4.297 27.89 11.998 39.24 18.833 8.765 5.28 16.757 9.937 24.737 12.885-1.767-21.747-2.55-44.3-.834-68.54-12.434-.056-26.04-1.43-40.906-4.567zm311.932 21.766c-.597.006-1.193.026-1.79.062-5.72.343-11.406 2.084-17.462 4.59-6.66 2.755-17.278 15.314-25.074 28.093 3.325 6.04 5.727 12.866 7.482 19.942 2.752 11.095 3.78 22.79 2.655 33.224-.123 1.133-.27 2.26-.438 3.382l22.1-9.58 4.23 3.395s6.464 5.178 14.153 10.508c3.845 2.664 7.983 5.348 11.565 7.34 3.582 1.995 6.965 3.158 7.22 3.195 10.052 1.463 18.794-1.512 24.39-6.586 5.595-5.075 8.328-11.846 6.478-20.572-5.486-25.867-10.33-50-26.485-64.06-10.91-9.497-20.064-13-29.024-12.93zM284.723 226.7c-2.924.04-5.764.3-8.517.816 8.844 21.816 15.73 44.48 19.285 68.437 13.224-4.345 25.613-9.584 36.98-15.742.957-.518 1.063-.5 1.43-3.88.365-3.38-.04-8.9-.128-15.13-.086-6.23.166-13.404 3.242-20.563.27-.63.575-1.255.897-1.875-11.124-3.324-22.162-7.13-32.69-9.53-7.223-1.65-14.064-2.622-20.497-2.533zm158.17 1.896c8.57-.263 16.75 10.464 16.31 16.787-.697 7.828-25.746 5.594-29.036-6.83-1.24-4.686 5.955-8.696 11.01-9.754.572-.12 1.145-.187 1.716-.204zm-183.215 6.13c-7.85 5.38-17.27 13.618-27.738 21.758-12.717 9.89-27.56 19.756-45.406 22.82 1.165 10.924 2.453 21.842 3.695 32.843 31.195-.53 60.917-4.168 87.816-11.104-3.162-22.964-9.72-44.908-18.368-66.318zm106.62 4.07c-.288-.008-.584.01-.895.052-.828.114-1.755.404-2.86.857-5.67 2.326-7.588 4.774-8.992 8.04-1.402 3.265-1.852 7.874-1.778 13.206.074 5.334.69 11.156.024 17.318-.667 6.16-3.65 13.92-10.75 17.77-80.39 43.554-200.42 43.636-312.33 12.6-3.75-.612-5.34.15-6.647 1.268-1.328 1.134-2.462 3.23-2.763 5.977-.6 5.492 1.795 11.868 9.22 14.254 41.783 13.427 191.73 65.965 351.646-26.117.694-.4 3.603-4.702 4.437-12.43.834-7.728.042-17.806-2.23-26.96-2.27-9.156-6.162-17.4-10.006-21.675-2.523-2.806-4.066-4.108-6.076-4.16zM97.005 244.48c-5.21 19.116-7.865 38.785-10.235 58.93 28.777 5.173 57.526 8.11 85.35 8.684-1.273-11.16-2.612-22.352-3.8-33.7-13.395-3.27-24.837-10.28-35.84-16.906-11.568-6.967-22.77-13.554-35.475-17.007zm-18.793.864c-12.716 2.537-24.103 5.677-34.002 9.422-2.526 13.664-4.192 26.607-5.635 37.894 10.116 2.708 20.293 5.143 30.492 7.3 2.135-18.04 4.602-36.356 9.145-54.616zM327.53 348.79c-18.762 7.064-37.23 12.427-55.25 16.415 2.895 6.374 6.145 12.806 10.072 18.383 6.947 9.863 13.913 15.26 22.457 14.392 21.308-2.196 39.287-4.164 54.474-7.322-6.138-5.21-12.343-10.69-17.807-16.636-4.766-5.19-8.96-10.685-11.666-16.97-1.11-2.582-1.848-5.386-2.28-8.26zM62.42 359.07c-7.694 12.07-17.75 23.39-29.755 34.106 18.77 6.16 35.73 8.577 58.978 6.09 7.25-10.25 11.96-20.393 15.168-30.64-16.73-2.796-31.615-6.2-44.39-9.556z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Totem;

impl IconShape for Totem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M201 23.363v50.12c4.603-5.394 11.432-8.846 19-8.846 13.7 0 25 11.3 25 25s-11.3 25-25 25c-7.568 0-14.397-3.453-19-8.848v18.792c11.52 7.362 21.84 12.615 31.514 15.9l15.435-30.87 8.05-16.1 23.484 46.97c9.675-3.285 19.996-8.538 31.516-15.9V105.79c-4.603 5.394-11.432 8.847-19 8.847-13.7 0-25-11.3-25-25s11.3-25 25-25c7.568 0 14.397 3.452 19 8.847v-50.12l-55 55-55-55zm19 59.274c-3.973 0-7 3.027-7 7 0 3.972 3.027 7 7 7s7-3.028 7-7c0-3.973-3.027-7-7-7zm72 0c-3.973 0-7 3.027-7 7 0 3.972 3.027 7 7 7s7-3.028 7-7c0-3.973-3.027-7-7-7zm-36 51.127l-21.05 42.095L256 196.91l21.05-21.05L256 133.763zm-229.92 4.873c2.246 9.43 8.006 18.132 16.838 26.445 4.568 4.3 9.936 8.4 15.877 12.268l9.678-38.713H26.08zm60.947 0l-12.004 48.01c4.656 2.363 9.497 4.6 14.47 6.695 10.593 4.46 21.776 8.27 32.857 11.457l11.027-66.163h-46.35zm64.596 0l-11.785 70.713c16.26 3.777 31.445 6.095 43.162 6.927v-77.64h-31.377zm177.377 0v77.64c11.717-.832 26.902-3.15 43.162-6.927l-11.785-70.713H329zm49.623 0L389.65 204.8c11.08-3.187 22.264-6.997 32.858-11.458a225.246 225.246 0 0 0 14.47-6.694l-12.005-48.01h-46.35zm64.904 0l9.678 38.713c5.94-3.868 11.31-7.97 15.877-12.268 8.832-8.313 14.592-17.015 16.838-26.445h-42.393zM201 145.805v102.832h110V145.805c-8 4.566-15.742 8.236-23.363 10.98l11.314 22.63-42.95 42.95-42.95-42.95 11.313-22.63c-7.62-2.744-15.363-6.414-23.363-10.98zm18 120.832l14.488 10.865c.752-3.474 1.65-6.76 2.723-9.766.134-.372.274-.734.41-1.1H219zm56.38 0c.136.365.276.727.41 1.1 1.073 3.007 1.97 6.292 2.722 9.767l14.49-10.867H275.38zM256 267.98c-.846 1.257-1.876 3.114-2.838 5.81-2.408 6.744-4.162 17.156-4.162 28.663 0 11.507 1.754 21.917 4.162 28.662.962 2.696 1.992 4.552 2.838 5.81.846-1.258 1.876-3.114 2.838-5.81 2.408-6.745 4.162-17.155 4.162-28.662 0-11.507-1.754-21.92-4.162-28.664-.962-2.696-1.992-4.553-2.838-5.81zm-61.523 2.764a54.308 54.308 0 0 0-2.717 8.45c-1.793 7.612-2.76 17.02-2.76 26.392 0 9.373.97 18.75 2.758 26.303a52.498 52.498 0 0 0 2.808 8.573l36.836-27.627c-.26-3.357-.402-6.82-.402-10.383 0-1.437.032-2.853.074-4.26l-36.597-27.45zm123.046 0l-36.597 27.45c.042 1.406.074 2.822.074 4.26 0 3.562-.143 7.025-.402 10.382l36.923 27.693a54.34 54.34 0 0 0 2.718-8.454c1.793-7.62 2.762-17.04 2.762-26.44 0-9.4-.97-18.82-2.762-26.44-.757-3.218-1.717-6.072-2.715-8.452zm-82.71 62.033L219 344.637h20.533c-1.285-2.296-2.363-4.783-3.322-7.47a71.727 71.727 0 0 1-1.398-4.39zm42.375 0a71.727 71.727 0 0 1-1.4 4.39c-.958 2.687-2.036 5.174-3.32 7.47H293l-15.812-11.86zM201 362.637v70.183l24.223-16.148-23.157-54.035H201zm20.648 0L256 442.79l34.352-80.153h-68.704zm88.286 0l-23.16 54.035L311 432.82v-70.183h-1.066zm-77.5 70.86L201 454.452v2.184h41.352l-9.918-23.14zm47.13 0l-9.916 23.14H311v-2.184l-31.436-20.957zM169 470.636v18h174v-18H169z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Toucan;

impl IconShape for Toucan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.305 56.2c-26.775.293-51.41 10.03-68.227 26.773-13.807 13.747-26.292 35.935-34.297 61.44-8.004 25.504-11.387 54.328-4.72 80.88l.006.028.008.028c16.725 64.885-8.947 137.524-8.947 209.82v8.315l8.29.654c47.508 3.753 109.388 13.052 155.915 11.496 23.264-.777 42.988-3.653 56.387-14.21 6.698-5.28 11.44-13.13 12.32-22.112.86-8.743-1.513-18.126-6.493-28.48l-28.62-83.646c1.584-17.178 3.775-34.275 5.995-51.463-9.145 3.377-16.63 7.06-21.967 11.062l-3.9 2.924-4.58-1.67c-12.61-4.597-20.84-15.164-25.098-27.4-3.734-10.73-5.053-23.012-5.232-36.28-13.12-4.584-23.606-9.403-31.678-15.395-20.8 68.91-60.375 117.633-21.028 179.626 54.554 51.386 80.942 36.894 118.062 25.112l1.28 3.738.253.516c4.326 8.788 5.516 15.29 5.092 19.6-.424 4.31-1.96 6.906-5.55 9.734-7.177 5.656-24.08 9.63-45.846 10.357-41.13 1.375-98.234-6.527-145.412-10.652 1.957-65.556 26.012-136.89 8.2-206.08l-.014-.054c-5.527-22.073-2.804-47.94 4.45-71.055 7.262-23.13 19.205-43.5 29.823-54.07 13.423-13.365 34.508-21.622 57.885-21.405.754.007 1.51.022 2.27.047 12.555.41 58.063 7.278 72.234 21.35 5.96-3.354 7.456-3.266 10.998-3.643-25.285-23.74-54.804-34.812-82.478-35.812-1.803-.065-3.596-.088-5.38-.068zm44.177 46.447c-12.823-.16-21.76 3.08-28.27 7.887-11.577 8.548-17.266 24.19-20.054 41.078-1.45 8.794-.018 13.53 5.84 19.33 5.475 5.42 15.875 11.11 31.682 16.635 21.675-26.59 32.825-53.065 40.363-80.022-11.673-3.32-21.407-4.806-29.56-4.908zm70.465 6.16c-8.134.044-15.76.463-22.94 1.15-6.935 25.474-17.194 51.583-35.652 77.497 2.252-.22 4.74-.395 7.065-.602 81.102-8.364 151.558-10.426 221.3-4.48-.562-.97-1.077-1.945-1.538-2.93-3.443-7.358-3.7-15.327-1.22-21.902 1.934-5.134 5.1-9.336 9-12.688-10.622-4.517-22.045-8.73-33.964-12.537-43.227-13.812-93.02-22.376-133.746-23.422-2.827-.073-5.593-.1-8.305-.086zm-82 9.018c9.942 0 18 8.133 18 18.166 0 10.033-8.058 18.167-18 18.167-9.94 0-18-8.134-18-18.166s8.06-18.165 18-18.165zm278.006 36.398c-5.937 2.13-10.82 6.144-12.148 9.664-.834 2.212-.997 4.343.68 7.926 1.603 3.428 5.304 8.08 12.232 13.266 1.718.197 3.437.394 5.156.602 9.553.886 18.49 1.863 25.852 3.057 4.218.682 7.666 1.417 11.074 2.194.69.112 1.38.214 2.073.328-4.588-8.355-13.123-17.12-25.564-25.595-5.77-3.93-12.27-7.758-19.357-11.444zM345.926 199.46c-4.81-.014-9.648-.01-14.502.01-46.182.195-93.554 2.042-130.904 5.363-6.385.66-12.723 1.296-19.256 2.035.345 11 1.606 20.65 4.113 27.85 2.48 7.122 5.678 11.62 10.424 14.48 29.077-18.78 79.52-26.77 134.98-32.766 45.623-4.93 94.07-7.817 134.902-11.1-4.555-.63-9.095-1.084-13.637-1.642-18.027-1.69-39.86-2.936-63.998-3.6-13.532-.374-27.694-.582-42.12-.628z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TowTruck;

impl IconShape for TowTruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80.08 82.66L60.24 102.5 192.9 242.7v58.6h78v-50.9zm-25.4 40.14v80.3l4.01 2.7c10.56 7 14.74 14.1 15.93 19.8 1.18 5.8-.43 10.8-3.85 14.9-6.86 8.3-19.91 12.3-32.73-.6l-12.72 12.8c19.18 19.1 46.13 15.1 59.27-.6 6.58-7.9 9.97-18.9 7.65-30.1-2.05-10-8.72-19.7-19.56-28v-52.2zm258.02 52.5v144h-185c22.6 5.8 40.6 23.5 46.7 46H337c7.5-27.6 32.8-48 62.7-48 29.9 0 55.2 20.4 62.7 48h24.3v-84.6l-60.2-105.4zm36 14h62.1l54.7 92H348.7v-83zm-321.49 130l11.5 46h10.25c6.12-22.5 24.09-40.2 46.74-46zm84.49 16c-26.08 0-47.02 20.9-47.02 47s20.94 47 47.02 47c26.1 0 47-20.9 47-47s-20.9-47-47-47zm288 0c-26.1 0-47 20.9-47 47s20.9 47 47 47 47-20.9 47-47-20.9-47-47-47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Towel;

impl IconShape for Towel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M56 49c-4 0-7.88 1.38-10.52 3.73C42.83 55.08 41 58.25 41 64v135h64.8c-.6-10.3-1.1-20.6-1.6-30H71V64c0-5.75-1.83-8.92-4.48-11.27C63.88 50.38 60 49 56 49zm400 0c-4 0-7.9 1.38-10.5 3.73-2.7 2.35-4.5 5.52-4.5 11.27v105h-30.3c.6 9.5 1.3 19.8 2 30H471V64c0-5.75-1.8-8.92-4.5-11.27C463.9 50.38 460 49 456 49zM121.5 153.4c1.8 36.7 4.6 83.1 6.5 130.6l1.8-1.8c11.1-10.8 24.5-23 41-23.5 8.5-.2 15.9 3.3 21.7 7.7 5.8 4.4 10.4 9.8 14.9 14.8 8.8 10.1 16.2 17.5 23.2 17.9 6.9.4 14.6-5.5 24.2-13.9 9.5-8.5 20.8-19.4 37-18.8 18.1.8 29.4 15 39.3 25.9 5 5.4 9.6 10.2 13.9 13.2 4.2 3 7.5 4.1 11.3 3.7 7-.9 20.3-12.5 29.8-25.4 5.5-7.4 9.9-14.7 12.7-19.6-2.4-40.1-5.1-78.3-7.2-110.8-91 5-180.9 3.9-270.1 0zm49.9 123.3c-5.9.2-19.1 8.7-29 18.4-5.7 5.5-10.5 10.9-13.5 14.7.5 16.4.8 32.8.9 48.8 1.4-1.2 2.7-2.4 4.1-3.6 13.3-11.5 29.5-24.4 47.8-22.6 8.3.9 14.7 5.9 19.1 11.3 4.4 5.3 7.5 11.4 10.4 16.9 3 5.6 5.8 10.6 8.4 13.8 2.6 3.1 4.4 4.2 6.8 4.3 3.2.2 5.8-1 9.6-4.5 3.8-3.6 7.8-9.3 12.1-15.4s8.8-12.7 14.6-18.1c5.5-5.1 12.9-9.2 21.6-9.1.5 0 1.1 0 1.7.1 9.6.9 17 6.8 21.9 13.4 5 6.6 8.3 14.1 11.6 21.2 3.3 7 6.5 13.6 9.7 17.9 3.2 4.3 5.6 5.9 9.1 6.2 4.6.4 11.5-1.8 18.9-6.5 7.4-4.8 15.2-11.7 22.1-18.8 12.4-12.8 21.5-25.4 23.3-27.9-.6-14.2-1.3-28.5-2-42.7-10.6 14.2-23.7 30.4-42.1 32.5-9.2 1.1-17.4-2.2-23.9-6.8-6.5-4.5-11.7-10.3-16.8-15.8-10-11-18.7-19.7-26.8-20-6.9-.3-14.7 5.8-24.3 14.2-9.5 8.5-20.9 19.4-37.1 18.5-16.8-.9-27-14-35.8-24-4.3-5-8.5-9.5-12.2-12.4-3.8-2.9-6.8-4.1-10.2-4zm111.8 73c-2.7 0-5 1.2-8.3 4.2-3.7 3.5-7.8 9.1-12 15.2-4.3 6.1-8.8 12.7-14.6 18.2-5.8 5.4-13.7 10-23.1 9.4-8.3-.6-14.9-5.4-19.4-10.7-4.4-5.3-7.5-11.4-10.5-16.9-2.9-5.6-5.7-10.7-8.4-14-2.7-3.3-4.6-4.5-7-4.7-6.9-.8-22.2 7.7-34.1 18.2-6.5 5.7-12.1 11.4-16 15.5-.2 25.7-1.2 49.8-3.3 70.9 110.8-9.3 192.1 17.5 275.2 39.1 3.1-37.7 3.3-82.6 1.9-129.1-3.4 4-7.2 8.3-11.4 12.6-7.5 7.8-16.1 15.5-25.3 21.4-9.3 5.9-19.3 10.3-30.2 9.4-9.6-.9-17-6.8-21.9-13.4-5-6.6-8.3-14.1-11.6-21.2-3.3-7-6.5-13.6-9.7-17.9-3.2-4.3-5.6-5.9-9.1-6.2-.4 0-.8-.1-1.2 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TowerBridge;

impl IconShape for TowerBridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112 43.89L97.422 93.464 73 79.51V135h23v-16h32v16h23V79.51l-24.422 13.955L112 43.89zm288 0l-14.578 49.575L361 79.51V135h23v-16h32v16h23V79.51l-24.422 13.955L400 43.89zM73 153v270h78V153H73zm288 0v270h78V153h-78zM96 183h32v36H96v-36zm73 0v18h174v-18H169zm215 0h32v34h-32v-34zM55 218.078c-11.034 17.617-25.57 34.478-39 50.197v27.036c13.07-14 27.55-29.07 39-44.974v-32.258zm402 0v32.258c11.45 15.903 25.93 30.973 39 44.975v-27.035c-13.43-15.72-27.966-32.58-39-50.197zM96 247h32v18H96v-18zm288 0h32v18h-32v-18zM96 311h32v18H96v-18zm288 0h32v18h-32v-18zM16 375v18h39v-18H16zm80 0h32v18H96v-18zm73 0v18h58.47c-22.307 3.12-42.002 9.613-58.47 17.227V423h16v.268C204.803 415.183 228.99 409 256 409c27.01 0 51.197 6.183 71 14.268V423h16v-12.773c-16.468-7.614-36.163-14.106-58.47-17.227H343v-18H169zm215 0h32v18h-32v-18zm73 0v18h39v-18h-39zM57 441v46h110v-46H57zm288 0v46h110v-46H345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TowerFlag;

impl IconShape for TowerFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151 32v247h18V32h-18zm247 9.574l-13.428 7.59c-31.626 17.876-61.492 12.267-93.138 4.356-31.647-7.912-64.83-18.84-97.946-4.807L188 51.039V166.588l12.512-5.3c25.883-10.968 54.201-2.396 86.554 5.692 32.354 8.089 68.988 14.98 106.362-6.144l4.572-2.584V41.574zM73 297v67.271l32 32V487h302v-90.729l32-32V297h-46v39h-18v-39h-46v39h-18v-39h-46v39h-18v-39h-46v39h-18v-39h-46v39h-18v-39H73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ToyMallet;

impl IconShape for ToyMallet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.561 26.007l-24.539 11.154-67.328 67.329-11.154 24.539 24.537-11.153 67.332-67.332zm26.115 26.111l-24.539 11.155-67.33 67.33-11.154 24.539 24.541-11.154 67.328-67.328zm26.114 26.116L261.247 89.39l-67.324 67.324-11.157 24.543 24.54-11.154 67.327-67.326zm26.113 26.113l-24.543 11.156-67.324 67.324-11.156 24.543 24.54-11.154 67.329-67.328zm-3.637 42.479l-56.908 56.908 56.908 56.908 56.908-56.908zm99.387 53.271l-24.543 11.156-67.326 67.326-11.154 24.541 24.543-11.156 67.324-67.324zm26.113 26.113l-24.543 11.157-67.326 67.328-11.154 24.539 24.543-11.157 67.324-67.324zm-183.531 1.858l-50.62 50.619c8.136 1.446 15.919 5.283 22.167 11.531v.002c6.248 6.248 10.085 14.03 11.531 22.164l50.62-50.619zm209.647 24.256l-24.542 11.154-67.328 67.328-11.154 24.541 24.54-11.154 67.33-67.33zm26.11 26.115l-24.536 11.152-67.332 67.332-11.153 24.537 24.54-11.154 67.328-67.328zM192.207 295.91c-6.08 0-12.158 2.343-16.848 7.034-9.38 9.38-9.38 24.317 0 33.697 9.38 9.38 24.315 9.38 33.695 0 9.38-9.38 9.38-24.315 0-33.695-4.69-4.69-10.768-7.035-16.847-7.036zm-46.424 46.424c-6.08 0-12.158 2.345-16.848 7.035-9.38 9.38-9.38 24.315 0 33.696 9.38 9.38 24.315 9.38 33.696 0 9.38-9.38 9.382-24.315.002-33.696-4.69-4.69-10.77-7.035-16.85-7.035zm-41.108 31.293l-68.59 68.59c-14.58 14.58-11.324 28.174-2.9 36.598s22.017 11.68 36.598-2.9l68.59-68.59c-8.135-1.446-15.918-5.283-22.166-11.532-6.249-6.248-10.086-14.03-11.532-22.166z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrackedRobot;

impl IconShape for TrackedRobot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.377 25l-6 30H240v18h-18.223l-4.347 21.736L229.562 119H247V96h18v23h17.438l12.132-24.264L290.223 73H272V55h14.623l-6-30h-49.246zM104.32 71.486l-13.459 39.092H151V86.551l-46.68-15.065zm303.36 0L361 86.551v24.027h60.139l-13.46-39.092zM170.055 105l14.54 130.87L211.728 263h88.546l27.131-27.13L341.945 105h-32.382l-16 32h-75.125l-16-32h-32.383zm-69.334 14.027l-10.994 29.035 41.06 9.54 10.992-29.036-41.058-9.539zm269.504 9.55l10.988 29.025 41.06-9.54-7.378-19.486h-44.67zM100.3 168.996l8.933 59.187 29.666-4.479-7.156-47.404-31.443-7.305zm311.398 0l-31.443 7.304-7.156 47.404 29.666 4.479 8.933-59.188zM192 183h128v18H192v-18zm-54.092 59.057l-24.369 3.68c1.584 7.409 4.132 13.435 7.977 19.396 3.659 5.672 9.14 11.725 15.767 18.353-1.142-13.144-1.698-27.58.625-41.43zm236.184 0c2.323 13.85 1.767 28.285.625 41.43 6.626-6.63 12.108-12.682 15.767-18.354 3.845-5.96 6.393-11.987 7.977-19.397l-24.37-3.68zM217 281v51.273L243.727 359h24.546L295 332.273V281h-78zM99.768 313L89 323.947V327h62v-3.273L140.273 313H99.768zm272 0L361 323.947V327h62v-3.273L412.273 313h-40.505zM89 345v14h62v-14H89zm272 0v14h62v-14h-62zm-153 3.727l-7 7V405l27.117-36.156L208 348.727zm96 0l-20.117 20.117L311 405v-49.273l-7-7zM169 361v62h14v-62h-14zm160 0v62h14v-62h-14zM89 377v14h62v-14H89zm272 0v14h62v-14h-62zM89 409v14h62v-14H89zm272 0v14h62v-14h-62zM89 441v14h62v-14H89zm272 0v14h62v-14h-62zM89 473v14h62v-14H89zm272 0v14h62v-14h-62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrafficCone;

impl IconShape for TrafficCone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16.457c-3.944 0-7.948.71-9.984 1.512-.5.195-.405.172-.62.303l-.005.018s-9.845 37.48-22.8 87.296c18.278 13.215 47.39 13.42 65.992.6l-21.978-87.913c-.218-.13-.123-.11-.62-.304-2.036-.802-6.04-1.513-9.984-1.513zm-52.875 164.38c-2.03 7.883-3.96 15.317-6.004 23.288-4.585 17.886-9.118 35.69-13.538 53.133 53.046 16.998 90.254 17.196 142.92.605l-19.092-76.36c-34.76 15.42-69.524 15.196-104.285-.665zm-39.16 155.007l-.012.05c-4.518 18.527-8.28 34.408-10.896 46.18-1.308 5.886-2.33 10.752-3.008 14.338-.678 3.586-.93 6.52-.93 5.852 0 7.406 2.56 13.51 7.732 19.422 5.17 5.91 13.12 11.357 23.136 15.808 20.032 8.903 48.042 13.71 76.012 13.71s55.98-4.807 76.012-13.71c10.016-4.45 17.965-9.898 23.136-15.808 4.975-5.686 7.47-11.58 7.657-18.61l-16.537-66.148c-55.62 33.65-127.023 33.288-182.303-1.084zm212.248 46.648l4.666 18.664v1.108c0 11.906-4.684 22.7-12.187 31.275-7.502 8.573-17.66 15.198-29.37 20.403-23.424 10.41-53.353 15.26-83.323 15.26-29.97 0-59.9-4.85-83.322-15.26-11.712-5.205-21.87-11.83-29.37-20.404-7.504-8.575-12.187-19.37-12.187-31.276 0-3.082.503-5.28 1.24-9.19.525-2.778 1.262-6.292 2.09-10.137l-84.56 28.186L256 497.003l206.11-85.88-85.897-28.63z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrafficLightsGreen;

impl IconShape for TrafficLightsGreen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 25v65.2c24.8-40.79 55.195-62.595 87.104-62.225C288.04 28.345 318.2 50.69 343 90.232V25zM90.736 45c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V45zM361 45v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.392 22.664-27.8H361zM256.23 335c-26.064 0-47 20.936-47 47s20.936 47 47 47 47-20.936 47-47-20.936-47-47-47zM192.512 87.17c-2.962 4.148-5.897 8.63-8.795 13.46L169 91.8v145.1c24.8-40.79 55.195-62.596 87.104-62.226 31.937.37 62.097 22.716 86.896 62.258V91.66l-14.648 9.082c-2.686-4.33-5.406-8.38-8.153-12.174.663 3.715 1.03 7.53 1.03 11.432 0 35.792-29.21 65-65 65s-65-29.208-65-65c0-4.39.443-8.68 1.28-12.83zM90.736 193c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V193zM361 193v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.392 22.664-27.8H361zm-169.592 42.45c-2.587 3.704-5.154 7.65-7.69 11.88L169 238.498V378.2c16.455-27.062 35.373-45.76 55.56-55.177 9.274-5.108 19.912-8.023 31.21-8.023 12.692 0 24.548 3.688 34.576 10.025 19.094 10.035 36.95 28.167 52.654 53.207V238.36l-14.648 9.08c-2.378-3.833-4.785-7.443-7.21-10.858.058 1.132.088 2.272.088 3.418 0 35.792-29.208 65-65 65-35.79 0-65-29.208-65-65 0-1.53.073-3.046.178-4.55zM90.736 333.823c3.416 9.407 11.65 19.54 22.664 27.8 11.553 8.663 25.73 14.91 37.6 17.196v-44.997zm270.264 0v44.996c11.87-2.286 26.047-8.534 37.6-17.198 11.013-8.26 19.248-18.392 22.664-27.8H361zm-40.3 43.444c.04.907.07 1.816.07 2.732 0 35.79-29.21 65-65 65-35.792 0-65-29.21-65-65 0-.813.03-1.618.06-2.423-2.39 3.465-4.765 7.138-7.113 11.053L169 379.8V455h174v-75.34l-14.648 9.082c-2.522-4.066-5.075-7.88-7.65-11.474zM201 473v14h110v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrafficLightsOrange;

impl IconShape for TrafficLightsOrange {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 25v65.2c24.8-40.79 55.195-62.595 87.104-62.225C288.04 28.345 318.2 50.69 343 90.232V25zM90.736 45c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V45zM361 45v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.392 22.664-27.8H361zM256.23 195c-26.064 0-47 20.936-47 47s20.936 47 47 47 47-20.936 47-47-20.936-47-47-47zM192.512 87.17c-2.962 4.148-5.897 8.63-8.795 13.46L169 91.8v145.1c24.8-40.79 55.195-62.596 87.104-62.226 31.937.37 62.097 22.716 86.896 62.258V91.66l-14.648 9.082c-2.686-4.33-5.406-8.38-8.153-12.174.663 3.715 1.03 7.53 1.03 11.432 0 35.792-29.21 65-65 65s-65-29.208-65-65c0-4.39.443-8.68 1.28-12.83zM90.736 193c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V193zM361 193v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.392 22.664-27.8H361zm-169.592 42.45c-2.587 3.704-5.154 7.65-7.69 11.88L169 238.498V378.2c16.455-27.062 35.373-45.76 55.56-55.177 9.274-5.108 19.912-8.023 31.21-8.023 12.692 0 24.548 3.688 34.576 10.025 19.094 10.035 36.95 28.167 52.654 53.207V238.36l-14.648 9.08c-2.378-3.833-4.785-7.443-7.21-10.858.058 1.132.088 2.272.088 3.418 0 35.792-29.208 65-65 65-35.79 0-65-29.208-65-65 0-1.53.073-3.046.178-4.55zM90.736 333.823c3.416 9.407 11.65 19.54 22.664 27.8 11.553 8.663 25.73 14.91 37.6 17.196v-44.997zm270.264 0v44.996c11.87-2.286 26.047-8.534 37.6-17.198 11.013-8.26 19.248-18.392 22.664-27.8H361zm-40.3 43.444c.04.907.07 1.816.07 2.732 0 35.79-29.21 65-65 65-35.792 0-65-29.21-65-65 0-.813.03-1.618.06-2.423-2.39 3.465-4.765 7.138-7.113 11.053L169 379.8V455h174v-75.34l-14.648 9.082c-2.522-4.066-5.075-7.88-7.65-11.474zM201 473v14h110v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrafficLightsReadyToGo;

impl IconShape for TrafficLightsReadyToGo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 25v65.2c24.8-40.79 55.195-62.595 87.104-62.225C288.04 28.345 318.2 50.69 343 90.232V25H169zM90.736 45c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.666 25.73 14.91 37.6 17.196V45H90.736zM361 45.002v44.994c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.39 22.664-27.798H361zM256.23 53c-26.064 0-47 20.936-47 47s20.936 47 47 47 47-20.936 47-47-20.936-47-47-47zm-63.718 34.17c-2.962 4.148-5.897 8.63-8.795 13.46L169 91.8v145.1c24.8-40.79 55.195-62.596 87.104-62.226 31.937.37 62.097 22.716 86.896 62.258V91.66l-14.648 9.082c-2.686-4.33-5.406-8.38-8.153-12.174.663 3.715 1.03 7.53 1.03 11.432 0 35.792-29.21 65-65 65s-65-29.208-65-65c0-4.39.444-8.68 1.282-12.83zM90.736 193c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.666 25.73 14.91 37.6 17.196V193H90.736zm270.264.002v44.994c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.39 22.664-27.798H361zM191.408 235.45c-2.587 3.703-5.153 7.65-7.69 11.88L169 238.498v139.7c16.455-27.06 35.374-45.758 55.56-55.175 9.275-5.108 19.912-8.023 31.21-8.023 12.692 0 24.548 3.688 34.576 10.025 19.094 10.035 36.95 28.167 52.654 53.207V238.36l-14.648 9.08c-2.378-3.834-4.784-7.443-7.21-10.858.06 1.132.088 2.272.088 3.418 0 35.792-29.208 65-65 65-35.79 0-65-29.208-65-65 0-1.53.073-3.047.178-4.55zM90.736 333.82c3.416 9.407 11.65 19.54 22.664 27.8 11.553 8.664 25.73 14.91 37.6 17.196v-44.996H90.736zm270.264 0v44.996c11.87-2.285 26.047-8.533 37.6-17.197 11.013-8.26 19.248-18.39 22.664-27.798H361zm-105 1.55c-26.064 0-47 20.935-47 47 0 26.063 20.936 47 47 47s47-20.937 47-47c0-26.065-20.936-47-47-47zm64.7 41.896c.04.907.07 1.814.07 2.73 0 35.792-29.21 65-65 65-35.792 0-65-29.208-65-65 0-.812.03-1.617.06-2.422-2.39 3.465-4.765 7.14-7.113 11.055L169 379.8V455h174v-75.34l-14.648 9.082c-2.522-4.066-5.076-7.88-7.65-11.474h-.003zM201 473v14h110v-14H201z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrafficLightsRed;

impl IconShape for TrafficLightsRed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169 25v65.2c24.8-40.79 55.195-62.595 87.104-62.225C288.04 28.345 318.2 50.69 343 90.232V25H169zM90.736 45c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V45H90.736zM361 45v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.393 22.664-27.8H361zm-104.77 8c-26.064 0-47 20.936-47 47s20.936 47 47 47 47-20.936 47-47-20.936-47-47-47zm-63.718 34.17c-2.962 4.148-5.897 8.63-8.795 13.46L169 91.8v145.1c24.8-40.79 55.195-62.596 87.104-62.226 31.937.37 62.097 22.716 86.896 62.258V91.66l-14.648 9.082c-2.686-4.33-5.406-8.38-8.153-12.174.664 3.715 1.03 7.53 1.03 11.432 0 35.792-29.208 65-65 65-35.79 0-65-29.208-65-65 0-4.39.444-8.68 1.282-12.83zM90.736 193c3.415 9.407 11.65 19.54 22.664 27.8 11.553 8.665 25.73 14.91 37.6 17.196V193H90.736zM361 193v44.996c11.87-2.285 26.047-8.53 37.6-17.195 11.014-8.26 19.25-18.393 22.664-27.8H361zm-169.592 42.45c-2.587 3.704-5.154 7.65-7.69 11.88L169 238.498V378.2c16.455-27.062 35.373-45.76 55.56-55.177 9.274-5.108 19.912-8.023 31.21-8.023 12.692 0 24.548 3.688 34.576 10.025 19.094 10.035 36.95 28.167 52.654 53.207V238.36l-14.648 9.08c-2.378-3.833-4.785-7.443-7.21-10.858.058 1.132.088 2.272.088 3.418 0 35.792-29.208 65-65 65-35.79 0-65-29.208-65-65 0-1.53.073-3.046.178-4.55zM90.736 333.823c3.416 9.407 11.65 19.54 22.664 27.8 11.553 8.663 25.73 14.91 37.6 17.196v-44.996H90.736zm270.264 0v44.996c11.87-2.285 26.047-8.533 37.6-17.197 11.013-8.26 19.248-18.392 22.664-27.8H361zm-40.3 43.444c.04.907.07 1.816.07 2.732 0 35.792-29.21 65-65 65-35.792 0-65-29.208-65-65 0-.812.03-1.617.06-2.422-2.39 3.465-4.765 7.138-7.113 11.053L169 379.8V455h174v-75.34l-14.648 9.082c-2.522-4.066-5.075-7.88-7.65-11.474zM201 473v14h110v-14H201z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trail;

impl IconShape for Trail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.9 27.2L34.25 56.74v76.76L157.8 93.85l46.7-44.67-54.6-21.98zm132.8 57c-7.4.18-10.1 1.88.9 7.13C346.9 121.6 441.7 206.8 391.3 216.9 232.2 249 130.4 292.3 48.51 390.8 25.42 418.6 18 494.8 18 494.8h432.6s-139-21.1-147.8-75.7c-14.9-92.2 194.5-102.7 196.5-199.9.9-43.2-88.3-124.99-184.4-132.52-5.6-.44-22.7-2.71-32.2-2.48zm-163.5 40.9l-32.69 10.5v122.2l35.99-10-3.3-122.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Transform;

impl IconShape for Transform {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128 32a96 96 0 0 0-96 96 96 96 0 0 0 96 96 96 96 0 0 0 30.285-4.986L140.29 201.02l64.353-64.352 6.363-6.363 11.86 11.86A96 96 0 0 0 224 128a96 96 0 0 0-96-96zm83.006 123.76l-45.26 45.26L252.73 288l-23.468 23.467 115.24 23.047-23.05-115.24-23.466 23.466-86.98-86.98zM353.556 288l13.89 69.46L288 341.57V480h192V288H353.555z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrashCan;

impl IconShape for TrashCan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199 103v50h-78v30h270v-30h-78v-50H199zm18 18h78v32h-78v-32zm-79.002 80l30.106 286h175.794l30.104-286H137.998zm62.338 13.38l.64 8.98 16 224 .643 8.976-17.956 1.283-.64-8.98-16-224-.643-8.976 17.956-1.283zm111.328 0l17.955 1.284-.643 8.977-16 224-.64 8.98-17.956-1.284.643-8.977 16-224 .64-8.98zM247 215h18v242h-18V215z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TravelDress;

impl IconShape for TravelDress {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.8 29l7.3 21.94c15.3 13.32 29.7 19.85 43.7 20.06 13.9.2 28.4-5.72 44.1-19.83l7.4-22.07C276.2 45.54 236 45.53 204.8 29zm-14.1 14.59l-83 18.45-30.22 75.46c7.96 5.9 21.37 12.3 36.32 15.6 17.7 3.9 36.9 3.7 51.4-3.2-4.8-19.5-11.4-39-20.4-57.16l-9.7-19.41 20.5 6.85c47 15.65 80.2 31.12 100.4 48.22 20.3-17.1 53.4-32.57 100.5-48.22l20.5-6.85-9.7 19.41c-9 18.16-15.6 37.66-20.4 57.16 14.5 6.9 33.7 7.1 51.4 3.2 14.9-3.3 28.3-9.7 36.3-15.6l-30.2-75.46-83-18.44-5.9 17.71-1.7 1.56c-18.6 17.38-38.3 26.41-58.3 26.12-20-.29-39.1-9.78-57.1-26.02l-1.8-1.59-5.9-17.79zm-21.3 60.51c25.1 62.5 26.6 130.3 26.7 165H316c.1-34.7 1.6-102.5 26.7-165-37.6 13.9-63.7 27.7-77.7 40.2v64.9h-18v-64.9c-13.8-12.4-39.9-26.3-77.6-40.2zm19.5 183c-9 3.5-17 12.7-24 27.4-7.3 15.3-13.2 35.8-18.5 58.2-9.4 39.7-17.1 84.9-31.5 120.2h92.4c-8.9-23.8-8.9-55.9-11.9-111v-1l15.6-93.8h-22.1zm40.3 0l-15.8 94.8c3.3 61.3 4.4 92.1 13.7 111H285c9.2-18.9 10.3-49.7 13.7-111l-15.8-94.8h-53.7zm71.9 0l15.6 93.8v1c-3.1 55.1-3.1 87.2-11.9 111h92.4c-14.4-35.3-22.1-80.5-31.5-120.2-5.3-22.4-11.2-42.9-18.5-58.2-7-14.7-15-23.9-24-27.4h-22.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trebuchet;

impl IconShape for Trebuchet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.984 50.486l-7.968 16.14 11.396 5.626H55V237.85l.977-1.93 7.957-15.647 8.06 15.594c.342.66.667 1.317 1.006 1.977V80.934l216.248 106.742c-.157 1.276-.248 2.575-.248 3.896 0 17.228 13.773 31 31 31 8.558 0 16.26-3.4 21.85-8.93l83.277 41.106-26.832 32.133L454.508 416H480V304l-35.002-41.918 6.986-14.152-101.597-50.15c.4-2.003.613-4.078.613-6.208 0-17.227-13.773-31.002-31-31.002-9.404 0-17.772 4.11-23.44 10.64L51.985 50.487zM282.78 223.34L249.73 279H224v18h15.04L132.386 476.615l-100.375-.11-.02 18 122.53.134 4.376.005L479.99 495l.02-18-18.576-.02L352.99 227.722c-8.722 7.97-20.312 12.847-32.99 12.847-3.074 0-6.08-.3-9-.847V279h-24.05l23.392-39.396c-10.927-2.207-20.56-8.08-27.56-16.264zM329 252.793L340.402 279H329v-26.207zm-265.016 7.172C53.41 280.85 42.212 301.81 27.3 320.367c13.75 18.88 26.382 26.917 36.938 26.996 10.568.08 22.95-7.66 36.49-26.86-15.842-19.27-26.55-40.147-36.744-60.538zM276.26 297H311v179.813l-141.422-.157L276.26 297zm52.74 0h19.232L384 379.21V416h16.006l26.514 60.94-97.52-.106V297z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeBeehive;

impl IconShape for TreeBeehive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.375 25.986v38.881c.152-.002.303-.01.455-.012 5.852-.07 11.703.121 17.545.516V25.986h-18zm68.895 14.44l-9.489 6.53 10.205 14.827 9.489-6.531-10.205-14.826zM134.246 57.63l-6.682 16.715 10.696 4.275 6.681-16.713-10.695-4.277zm121.11 25.203c-24.453.266-48.59 5.191-71.575 16.539-12.608 6.225-31.654 22.672-43.385 36.893-4.32 5.238-7.341 10.026-9.07 13.466l262.12 13.46c-1.479-8.165-4.711-17.912-9.675-27.069-8.814-16.263-22.438-30.598-34.31-34.969-30.707-11.304-62.667-18.662-94.106-18.32zM60.475 97.5l-10.513 4.705 7.351 16.43 10.516-4.705-7.353-16.43zm137.045 13.963l1.178 11.459-17.906 1.84-1.178-11.46 17.906-1.84zm255.352 9.228l-10.975 14.268 9.131 7.021 10.975-14.265-9.131-7.024zm-334.404 46.407c-18.28 5.306-26.596 15.856-32.145 29.543-4.034 9.952-5.995 21.298-7.793 32.427 10.527-.301 24.034-.489 39.88-.548 33.755-.127 77.542.312 122.267 1.414 44.725 1.101 90.368 2.862 127.886 5.396 23.78 1.606 43.785 3.28 59.004 5.615-.938-8.96-1.28-17.423-2.857-25.119-2.565-12.517-7.385-23.23-23.246-34.199l-282.996-14.53zm265.611 21.529l10.742 4.158-6.498 16.787-10.74-4.158 6.496-16.787zm-313.484.039l-16.957 6.04 3.865 10.85 16.957-6.038-3.865-10.852zm82.095 11.432l4.705 10.511-16.43 7.356-4.704-10.518 16.43-7.35zm-21.177 46.4c-4.491-.002-8.843.006-13.035.022-16.771.063-31.02.268-41.524.597-5.252.165-9.573.361-12.734.578-3.103.213-5.564.652-5.026.5l-.017.004c-3.453.908-6.708 3.687-9.44 8.717-2.732 5.03-4.55 12.007-4.886 19.006-.337 6.999.817 13.99 3.07 19.027 2.15 4.808 4.871 7.536 8.336 8.776 89.935 11.121 188.271 16.132 268.637 17.148 4.445-28.47 18.07-54.228 43.126-52.582 35.248 2.316 31.394 28.35 31.252 52.322 20.68-.46 38.668-1.247 53.073-2.302l.05-.004.05-.002c4.196-.261 5.74-1.713 7.65-6.131 1.909-4.419 2.705-11.703 1.763-19.238-.941-7.535-3.531-15.297-6.949-20.848-3.418-5.551-7.28-8.417-10.484-8.979l-.744-.13-.711-.252c-8.623-3.06-38.522-6.932-75.62-9.438-37.097-2.506-82.563-4.264-127.117-5.361-38.984-.96-77.284-1.416-108.72-1.43zM250.86 272.85l16.715 6.681-4.277 10.696-16.713-6.682 4.275-10.695zM65.64 322.992c-2.322 8.681-2.062 18.384.687 26.951 3.932 12.252 12.18 21.466 23.871 23.979 119.772 18.231 234.305 22.915 345.037 17.6 7.433-11.564 11.426-25.36 10.834-36.758-.381-7.353-2.174-13.285-5.68-17.664-80.254 4.466-235.272 2.235-374.75-14.108zm60.064 29.64l10.74 4.159-6.496 16.787-10.744-4.158 6.5-16.787zm285.813 19.23l7.785 8.488-13.266 12.166-7.785-8.489 13.266-12.166zm-368.45 12.296l-16.955 6.04 3.864 10.85 16.957-6.038-3.866-10.852zm64.332 10.47c2.186 4.205 4.176 8.284 6.27 12.034 5.635 10.09 11.512 18.064 24.879 24.092 53.427 24.095 100.693 32.588 159.752 29.814l-3.045-1.216 4.277-10.698 16.713 6.682-1.683 4.21c5.24-.407 10.566-.885 16.013-1.448 17.618-1.824 34.517-11.655 47.256-23.592 8.202-7.686 14.244-16.306 18.006-23.3l-1.797-.134c-67.939 1.674-137.374-.507-208.566-7.267l5.295 2.049-6.497 16.787-10.744-4.157 5.907-15.252a1748.346 1748.346 0 0 1-72.036-8.603zm-63.496 20.585L32.928 429.48l9.13 7.024 10.975-14.268-9.13-7.023zm419.377 17.582l-10.904 3.715 5.805 17.039 10.904-3.715-5.805-17.04zm-78.816 32.982l-6.682 16.715 10.696 4.276 6.681-16.715-10.695-4.276zm-241.541 10.944l-4.158 10.742 16.785 6.498 4.158-10.742-16.785-6.498z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeDoor;

impl IconShape for TreeDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197 39.09c-4.1.06-8 .47-11.6 1.25-11.8 2.52-25.8 9.73-35.8 19.27-9.9 9.54-15.5 20.67-14.2 32.01l1.8 14.48-13.8-4.9c-28.53-10.39-50.02.1-66.12 20.3-16.11 20.3-24.77 50.8-22.34 76.2 1.77 18.6 14.69 37.1 32.82 51.5 18.12 14.3 41.14 24.2 59.94 26.4 16.6 1.9 38.4-9.4 55.4-22.4 17.1-13 29.2-26.6 29.2-26.6l4.7-5.3 6.2 3.4s11.2 5.9 25 12.2c13.8 6.4 30.7 13 39 14.3 6.8 1.1 21.2-2.7 32.8-7.6 11.6-5 20.7-10.3 20.7-10.3l8-4.7 4.4 8.2s8 14.8 21.2 29.4c13.2 14.7 31 28.1 48.8 27.9 17.6-.2 32.4-13.8 43.8-34.5 11.4-20.7 18.4-47.6 20.1-68.4 2.7-31.3-11.7-72-37-86.7-6.1-3.5-23.5-3-38.5.3-15 3.4-27.6 8.3-27.6 8.3l-17.4 6.7L372 102s2.2-7.14.3-15.91c-1.9-8.76-6.8-18.62-25.6-25.37-26.2-9.46-39.6-4.66-47.6 1.16-8 5.83-10.3 13.15-10.3 13.15l-6.2 19.09-10.2-17.33c-6.5-11.24-20.8-22.55-37.3-29.63-12.4-5.31-25.9-8.25-38.1-8.07zm23.8 204.61c-2.5 2.6-6.1 6.2-10.8 10.5.9 7.7.6 15.7-2 24.7-1.2 3.9-10.2.1-21.3-6-9.9 6.9-20.9 13.3-32.7 17.2 10.2 5.3 21.6 10.3 35.2 15.7-4.7 99.7 2.3 162.4-77.2 190.2h106V384c0-32 76-32 76 0v112h122c-15-11.1-38.9-17.8-77.4-24.1-30.3-93.6-17.6-128.8 39.8-177.1-6.6-5.1-12.4-10.9-17.5-16.5-2.2-2.4-4.1-4.8-5.9-7-9.2 9.7-19.4 16.4-29 13.9-7.9-2.1-12.8-9.4-15.7-18.9-8.5 2.5-17.3 4-25.9 2.7-8.1-1.2-17.5-4.4-26.8-8.3-1.3 7.2-4.8 14.3-11.8 21.8-4.3 4.6-10.6-14.7-16.9-34.8-3.1-1.5-5.8-2.9-8.1-4zM273 424.4a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeGrowth;

impl IconShape for TreeGrowth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M184.5 18.95v.25c-18.1 38.63-45.1 72.36-77.7 103l37.7-4-51.3 65.1 24.8-7.9-33.6 54.8 16.5 9.9-65.3 92.1 36.1.2L20 416l63.6-8.1 12 32.1 66.4-25.3-11.3 78.4h52.9l-6.5-68.2 38.2 16.4 10.2-24.8 44.3 21 56.4-20.8-37.1-64.1-12.4-2.3c4.8 12.4 9.7 24.7 14.6 37.1-23.6-9.3-47.3-18.5-70.9-27.7v35.8c-27.8-17-55.7-33.7-83.5-50.6-13.3 12.9-26.4 26-39.6 39 1.3-16.6 2.8-33.3 4.3-49.9l18.2 1.6c4.8-4.8 9.6-9.5 14.4-14.2 22.6 13.5 45.1 27.3 67.6 40.9v-29.9c18.8 7.4 37.6 14.7 56.4 22.1-3.7-9.5-7.5-19.1-11.2-28.6 20.7 3.7 41.3 7.6 62 11.4l-34.5-39c-10.1 6-20.2 12.1-30.4 18-6.5-7.4-12.9-14.9-19.4-22.3l-18.2 4.5c-3.8-22.5-7.8-44.9-11.7-67.4 17.7 20.4 35.5 40.8 53.2 61.2l43.9-26c-24.6-19.6-49.6-48.8-49.6-48.8L265 261c-17.7-23.4-35.5-46.8-53.2-70.2-12 25.3-24 50.7-36.1 76-2.4-20.3-4.8-40.6-7.3-60.9l16.5-2c7.7-16.3 15.4-32.6 23.2-48.8 11.5 15 22.9 30.1 34.3 45.1-.5-8.6-1.1-17.2-1.6-25.8 12 4.5 24.1 8.9 36.2 13.3l-26.1-35.2-55.9-28.8c-6.2 14-12.4 28.1-18.6 42.1-5-14.8-10.1-29.7-15.1-44.5l16.9-5.8c2.5-5.9 5.1-11.7 7.7-17.52 19.5 9.92 38.9 20.02 58.3 30.02l16.4-5.5C217.2 88.23 196 53.65 184.5 18.95zM416 66.79L337.7 210.3l56-14L377.5 465h77l-16.2-268.7 56 14L416 66.79z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeRoots;

impl IconShape for TreeRoots {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167.2 20.48L147 189.6s-44.4 17.3-60.77 33.7c-32.1 32.1-65.98 119.2-65.98 119.2l51.51-53.6L107.2 323l-18.73-51.5 6.76-7s51.27-44.3 80.97-39.7c36 5.6 78.8 75.7 78.8 75.7l-18.2 80.9c-54.1 26.1-106.6 55.2-159.39 83.9l79.29-22.2 12 47.9 15-50.3s38-30.2 60.8-31.5c20.8-1.1 58.4 22.5 58.4 22.5l-37.4 40.5 78.7-32.2-62.3-45c30.7-52.3 39.3-96.6 28.5-156.7 14-11.5 38.3-23.6 59.9-13.5l-18.2 30.5 46.7 59.4-15.4-53 10.3-21.2c26.2 23.9 42.8 62.7 44.2 96.8 1.5 34.9-48.4 92.9-48.4 92.9 63.4-39.8 78.2-86.1 67.7-133.4 11.4 1.2 23.2-1.9 36.3-4.2-30.9-10.9-39.8-21.6-51.4-37.3-7.7-15.6-17.4-31-28.2-46.2l1.9-16.9-30.4-22.9-37.5 9-25.5-157.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeSwing;

impl IconShape for TreeSwing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TriangleTarget;

impl IconShape for TriangleTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 65.16L32.34 440.8l61.79-35.7L247 137.6zm18 .38V137l158.3 271.3 62.7 36.1C412.2 318.2 338.6 191.8 265 65.54zM415.4 424.5l-321.3 1.4-62.72 36.2 445.82-1.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TribalGear;

impl IconShape for TribalGear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.8 16l38.2 89.2L246.2 16h-76.4zM25.58 29.3L18.71 130l41.6 6.3L90.33 107 25.58 29.3zM162.3 44.33C146.9 51.17 134 60.07 134 68.99c0 5.83.5 13.51 1.5 22.29 2.2-11.46 12.4-20.24 24.5-20.24 6.3 0 12.1 2.39 16.5 6.29l-14.2-33zm91.4 0l-14.2 33c4.4-3.9 10.2-6.29 16.5-6.29 12.1 0 22.3 8.78 24.5 20.24 1-8.78 1.5-16.46 1.5-22.29 0-8.92-12.9-17.82-28.3-24.66zm178.5 10.39C276.8 97.16 230.7 386.6 326.4 490.1c132.6-48 224.4-326.4 105.8-435.38zM160 89.04c-4 0-7 3.02-7 6.99 0 3.96 3 6.97 7 6.97s7-3.01 7-6.97c0-3.97-3-6.99-7-6.99zm96 0c-4 0-7 3.02-7 6.99 0 3.96 3 6.97 7 6.97s7-3.01 7-6.97c0-3.97-3-6.99-7-6.99zm-80.4 7l8.9.02v-.02h-8.9zm96 0l8.3.02v-.02h-8.3zM185 97.11c-.6 13.19-11.7 23.89-25 23.89-9.7 0-18.1-5.6-22.3-13.8 2.8 17.2 7.4 36.5 14.1 54l18.1-36.1 38.1 57.2 38.1-57.2 18.1 36.1c6.7-17.5 11.3-36.8 14.1-54-4.2 8.2-12.6 13.8-22.3 13.8-13.3 0-24.4-10.7-25-23.89l-23 53.69-23-53.69zm220.1 31.19l17.4 4.2-59.8 246.1-17.4-4.2 59.8-246.1zM74.66 151.4L57.54 157 167.5 495.9l17.2-5.6L74.66 151.4zm97.44 9.5l-10.6 21.4c11.2 20.2 26.4 34.7 46.5 34.7s35.3-14.5 46.5-34.7l-10.6-21.4-35.9 53.8-35.9-53.8zm168.3 8.4l9 62.3-17.8 2.6-9-62.3 17.8-2.6zm120.8 29.4l14.6 10.4-36.6 51.2-14.6-10.4 36.6-51.2zm-143.8 65.2l9.1 62.3-17.8 2.6-9.1-62.3 17.8-2.6zm120.8 29.4l14.6 10.4-36.6 51.2-14.6-10.4 36.6-51.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TribalPendant;

impl IconShape for TribalPendant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.826 18C63.09 37.645 78.948 61.515 97.252 85.465c8.806 11.522 18.178 23.057 27.992 34.156a27.138 27.138 0 0 1 5.83-7.068 27.138 27.138 0 0 1 7.824-4.688c-9.537-10.77-18.713-22.036-27.345-33.33C96.514 54.86 83.159 35.21 72.133 18zm389.041 0c-11.026 17.21-24.381 36.859-39.42 56.535-8.631 11.294-17.806 22.559-27.343 33.328a27.132 27.132 0 0 1 7.824 4.688 27.133 27.133 0 0 1 5.83 7.068c9.813-11.098 19.184-22.633 27.99-34.154 18.304-23.95 34.163-47.82 46.426-67.465zm-78.385 105.752a19.11 19.11 0 0 0-3.462.459c-4.923 1.087-10.623 4.336-15.194 9.654-4.571 5.318-6.93 11.445-7.265 16.475-.336 5.03 1.081 8.54 3.648 10.746 2.567 2.206 6.247 3.079 11.17 1.992 4.923-1.087 10.626-4.338 15.197-9.656 4.571-5.318 6.929-11.443 7.264-16.473.335-5.03-1.08-8.541-3.647-10.748-1.925-1.655-4.477-2.559-7.71-2.45zm-210.964.002c-3.233-.11-5.784.794-7.71 2.45-2.566 2.206-3.983 5.715-3.648 10.745.335 5.03 2.695 11.155 7.266 16.473 4.57 5.318 10.27 8.57 15.193 9.656 4.923 1.087 8.607.216 11.174-1.99s3.98-5.718 3.645-10.748c-.336-5.03-2.691-11.155-7.262-16.473s-10.275-8.57-15.197-9.656a19.083 19.083 0 0 0-3.461-.457zm43.199 35.035c-1.272 5.96-4.184 11.532-8.965 15.738 12.015 8.42 24.372 15.304 36.965 19.95l-4.297-21.487c-7.848-3.8-15.778-8.584-23.703-14.2zm124.568 0c-7.925 5.617-15.857 10.402-23.705 14.201l-4.297 21.487c12.593-4.646 24.95-11.53 36.965-19.95-4.781-4.206-7.69-9.778-8.963-15.738zM234.98 169l12.4 62h17.242l12.4-62zm-8.141 51.082c-2.807 3.896-5.507 8.361-8.043 13.434C208.032 255.04 201 285.87 201 320c0 34.13 7.032 64.959 17.795 86.484C229.558 428.01 243.19 439 256 439c12.81 0 26.442-10.99 37.205-32.516C303.968 384.96 311 354.13 311 320c0-34.13-7.032-64.959-17.795-86.484-2.536-5.073-5.236-9.538-8.043-13.434L279.38 249H232.62zm-43.127 8.217a86.606 86.606 0 0 0-4.041.058c-28.134 1.064-52.15 15.419-73.293 35.168-19.685 18.388-35.63 41.18-48.29 61.676 21.541-12.732 46.572-26.079 70.741-35.183 18.61-7.01 36.408-11.642 52.168-10.774 1.722.095 3.422.274 5.102.518 2.933-18.506 7.86-35.372 14.42-49.733-5.759-1.105-11.364-1.682-16.807-1.73zm144.578 0c-5.443.048-11.048.625-16.807 1.73 6.56 14.36 11.487 31.227 14.42 49.733 1.68-.244 3.38-.423 5.102-.518 15.76-.868 33.558 3.763 52.168 10.774 24.17 9.104 49.2 22.451 70.74 35.183-12.66-20.495-28.604-43.288-48.289-61.676-21.143-19.75-45.159-34.104-73.293-35.168a86.606 86.606 0 0 0-4.04-.058zM235.916 263h40.168L295 284.62v69.962l-39 62.398-39-62.398V284.62zm8.168 18L235 291.38v58.038l21 33.6 21-33.6v-58.037L267.916 281zm-61.055 41.436c-35.701 3.372-54.91 22.392-68.078 47.367-9.357 17.748-14.703 38.448-18.797 58.22 14.458-18.095 29.949-35.572 45.639-48.222 12.3-9.918 24.722-17.233 37.904-18.688a34.251 34.251 0 0 1 6.535-.076c-1.98-12.225-3.083-25.174-3.203-38.601zm145.942 0c-.12 13.427-1.222 26.376-3.203 38.601a34.246 34.246 0 0 1 6.535.076c13.182 1.455 25.603 8.77 37.904 18.688 15.69 12.65 31.181 30.127 45.639 48.222-4.094-19.772-9.44-40.472-18.797-58.22-13.168-24.975-32.377-43.995-68.078-47.367zm-92.84 129.7L256 491.874l19.87-39.736C269.69 455.27 263.05 457 256 457c-7.05 0-13.69-1.729-19.87-4.863z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TribalShield;

impl IconShape for TribalShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.81 13.96l28.75 59.8 22.37-7.08 7.77-22.15zm472.39 0l-58.9 30.58 7.8 22.14 22.3 7.07zM256 38.84c-20 0-55.6 15-84.4 38.03C142.8 99.94 121 130.3 121 157.8c0 19.7 5.6 52.8 14.9 90.5l45.1 30-10 15-28.1-18.7c7.2 25.7 15.9 52.5 25.5 78 13.9 36.6 29.7 70.7 45.6 95 8 12.2 16 21.9 23.3 28.2 7.3 6.3 13.7 9 18.7 9s11.4-2.7 18.7-9c7.3-6.3 15.3-16 23.3-28.2 15.9-24.3 31.7-58.4 45.6-95 9.6-25.5 18.3-52.3 25.5-78L341 293.3l-10-15 45.1-30c9.3-37.7 14.9-70.8 14.9-90.5 0-27.5-21.8-57.86-50.6-80.93C311.6 53.84 276 38.84 256 38.84zm0 12.57a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm167.7 20.32L391.4 105c3.5 5.3 6.6 10.8 9.2 16.4l36-37.14-9.6-3.05zm-339.27.25L71.51 84.51l38.69 39.79c2.4-5.7 5.4-11.3 8.8-16.8zm130.77.46L256 126.8l40.8-54.36 14.4 10.8L256 156.8l-55.2-73.56zm40.8 5.4a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zM151 141.8h18c0 5.1.2 10.4.6 15.9 5.9-5.5 13.8-8.9 22.4-8.9 18.1 0 33 14.9 33 33s-14.9 33-33 33c-3.8 0-7.4-.7-10.8-1.8 9.4 25.9 24.7 49.9 47.8 65.3l-10 15c-51.8-34.6-68-101.5-68-151.5zm192 0h18c0 50-16.2 116.9-68 151.5l-10-15c23.1-15.4 38.4-39.4 47.8-65.3-3.4 1.1-7 1.8-10.8 1.8-18.1 0-33-14.9-33-33s14.9-33 33-33c8.6 0 16.5 3.4 22.4 8.9.4-5.5.6-10.8.6-15.9zm-151 25c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm128 0c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zm-73 7h18v65.4l19-9.5 8 16.2-27 13.5v186.4h-18V259.4l-27-13.5 8-16.2 19 9.5zm-45.1 132.1c7.7-.3 14.2 4.5 18.8 10.1 5.2 6.5 9.1 15 11.3 24.8 2.2 9.9 2.3 19.2.4 27.3-2.1 8.1-6.8 16.2-15.8 18.2-9.1 2.1-16.9-3.3-22.1-9.7-5.2-6.5-9.1-15-11.3-24.8-2.2-9.9-2.3-19.2-.4-27.3 2-8 6.7-16.2 15.8-18.2 1.1-.3 2.3-.4 3.3-.4zm108.2 0c1 .1 2.2.2 3.3.5 9.1 2 13.7 10.1 15.8 18.2 2 8.1 1.8 17.4-.4 27.2-2.2 9.9-6 18.3-11.3 24.9-5.3 6.3-13 11.7-22 9.7-9.1-2.1-13.9-10.2-15.8-18.2-2-8.2-1.9-17.5.3-27.3 2.2-9.9 6.1-18.3 11.3-24.8 4.6-5.7 11.1-10.5 18.8-10.2zm-107.5 18c-.1 0-.1 0 0 .1 0-.1.1-.1.1-.1zm0 .1c-.2.2-1.4 1.2-2.3 4.9-1 4.5-1.2 11.5.5 19 1.6 7.4 4.8 13.6 7.6 17.3 2.4 2.9 3.9 3.4 4.2 3.5.2-.2 1.4-1.2 2.3-5 1-4.5 1.2-11.5-.5-18.9-1.6-7.4-4.8-13.7-7.7-17.4-2.4-2.9-3.8-3.3-4.1-3.4zm10 44.7c-.1.1-.1.1 0 .1s.1 0 0-.1zm96.9-44.8c-.1 0-.1 0 0 .1 0-.1.1-.1 0-.1zm0 .1c-.3 0-1.8.4-4.2 3.5-2.9 3.6-6 9.9-7.7 17.3-1.7 7.4-1.5 14.5-.5 19 1 3.6 2.1 4.7 2.3 4.9.3-.1 1.8-.5 4.2-3.5 2.8-3.6 6-9.9 7.7-17.3 1.6-7.4 1.4-14.4.4-19-.9-3.7-2.1-4.7-2.2-4.9zm-10.1 44.7c-.1.1-.1.1 0 .1s.1 0 0-.1zm-149.6-14.6L26.57 481.2l12.92 12.5 117.41-121c-1.8-4.5-3.6-9.1-5.3-13.7-.6-1.6-1.2-3.2-1.8-4.9zm211.3 3c-.2.6-.5 1.3-.7 1.9-2.1 5.6-4.3 11.2-6.5 16.7L472.5 498l13-12.6zM224 397.8a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm64 0a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TribunalJury;

impl IconShape for TribunalJury {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.7 25c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zM256 25c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zm117.4 0c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zm-262 67.65c-.2.34-.3.65-.5 1-.9 2.07-1.7 4.36-2.6 6.85 8 9.1 12.7 21.9 12.7 35.5 0 6.6-1.1 13.1-3.2 19 2.4 3.4 4.6 7.2 6.4 11.3.1.2.2.5.3.7h28.3c.1-.2.2-.5.3-.7 1.8-4.2 4-7.9 6.4-11.3-2.1-5.9-3.2-12.4-3.2-19 0-13.7 4.8-26.5 12.7-35.6-.8-2.46-1.6-4.7-2.5-6.75-.2-.35-.3-.66-.5-1-7.1 7.65-16.5 12.35-27.3 12.35s-20.2-4.7-27.3-12.35zm117.3 0c-.2.34-.3.65-.5 1-.9 2.07-1.7 4.36-2.6 6.85 8 9.1 12.7 21.9 12.7 35.5 0 6.6-1.1 13.1-3.2 19 2.4 3.4 4.6 7.2 6.4 11.3.1.2.2.5.3.7h28.4c.1-.2.2-.5.3-.7 1.8-4.1 4-7.9 6.4-11.3-2.1-5.9-3.2-12.4-3.2-19 0-13.6 4.7-26.4 12.7-35.5-.9-2.49-1.7-4.78-2.6-6.85-.2-.35-.3-.66-.5-1C276.2 100.3 266.8 105 256 105s-20.2-4.7-27.3-12.35zm117.4 0c-.2.34-.3.65-.5 1-.9 2.07-1.7 4.36-2.6 6.85 8 9.1 12.7 21.9 12.7 35.5 0 6.6-1.1 13.1-3.2 19 2.4 3.4 4.6 7.2 6.4 11.3.1.2.2.5.3.7h28.3c.1-.2.2-.5.3-.7 1.8-4.2 4-7.9 6.4-11.3-2.1-5.9-3.2-12.4-3.2-19 0-13.7 4.8-26.5 12.7-35.6-.8-2.46-1.6-4.7-2.5-6.75-.2-.35-.3-.66-.5-1-7.1 7.65-16.5 12.35-27.3 12.35s-20.2-4.7-27.3-12.35zM80 105c-11.59 0-23 12.8-23 31s11.41 31 23 31 23-12.8 23-31-11.41-31-23-31zm117.3 0c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zm117.4 0c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zm117.3 0c-11.6 0-23 12.8-23 31s11.4 31 23 31 23-12.8 23-31-11.4-31-23-31zM52.71 172.7c-.17.3-.33.6-.49 1-6.46 14.5-10.34 39-10.97 73.3h77.45c-.6-34.3-4.5-58.8-10.9-73.3-.2-.4-.3-.7-.5-1-7.1 7.6-16.51 12.3-27.3 12.3-10.77 0-20.2-4.7-27.29-12.3zm117.29 0c-.2.3-.3.6-.5 1-6.4 14.5-10.3 39-10.9 73.3H236c-.6-34.3-4.5-58.8-10.9-73.3-.2-.4-.3-.7-.5-1-7.1 7.6-16.5 12.3-27.3 12.3s-20.2-4.7-27.3-12.3zm117.4 0c-.2.3-.3.6-.5 1-6.4 14.5-10.3 39-10.9 73.3h77.4c-.6-34.3-4.5-58.8-10.9-73.3-.2-.4-.3-.7-.5-1-7.1 7.6-16.5 12.3-27.3 12.3s-20.2-4.7-27.3-12.3zm117.3 0c-.2.3-.3.6-.5 1-6.4 14.5-10.3 39-10.9 73.3h77.4c-.6-34.3-4.5-58.8-10.9-73.3-.2-.4-.3-.7-.5-1-7.1 7.6-16.5 12.3-27.3 12.3s-20.2-4.7-27.3-12.3zM25 265v16h462v-16zm16 34v188h206V351.1c-3.4 1.1-6.9 2-10.7 2.9-10.4 2.4-22.2 3.9-33.5 5-6.2.5-12.1.9-17.6 1.2l23.4 46.8H233v9c0 19-9.8 33.7-21.4 43-11.6 9.3-24.6 14-35.6 14s-24-4.7-35.6-14c-11.6-9.3-21.4-24-21.4-43v-9h24.4l23-46.1c-3.9.1-6.4.1-6.4.1v-18c13-.7 27.1-.8 41.2-2 10.7-.9 21.9-2.4 31-4.5 6.4-1.5 11.7-3.6 14.8-5.2V320h18v11.3c3.1 1.6 8.4 3.7 14.8 5.2 9.1 2.1 20.3 3.6 31 4.5 15.3.5 26.2 1.9 41.2 2v18s-2.5 0-6.5-.1l23.1 46.1H393v9c0 19-9.8 33.7-21.4 42.9-11.6 9.3-24.6 14-35.6 14s-24-4.7-35.6-14C288.8 449.7 279 435 279 416v-9h24.4l23.4-46.8c-5.5-.3-11.4-.7-17.6-1.2-11.3-1.1-23.1-2.6-33.5-5-3.8-.9-7.3-1.8-10.7-2.9V487h206V299zm135 83.1L163.6 407h24.8zm160 0L323.6 407h24.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TriceratopsHead;

impl IconShape for TriceratopsHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.479 59.813c-5.975-10.707-12.128-21.381-23.147-31.17-3.266 14.104-12.787 25.802-21.957 37.634-3.49-14.265-20.643-19.598-35.787-26.244-1.483 11.404-2.6 22.726-8.158 35.035-7.585-6.947-20.79-9.806-33.328-13.15 3.502 14.433 2.293 29.338 1.242 44.227l-40.453 3.42 19.314 36.359-38.379 22.781 30.363 22.191-30.039 25.538 30.627 15.26-28.494 24.224 25.434 12.672-16.045 22.228c-3.382-.12-6.748-.194-10.088-.207C17.384 357.016 18 426.512 18 494h132.2c22.992-13.75 43.804-28.112 59.321-44.172-32.829-3.25-51.774-9.921-62.783-21.164-24.535-22.661 9.547-47.633 2.143-67.289-4.652-6.38-11.538-7.695-18.635-9.184-36.095 20.677-56.727 35.6-86.781 56.211-1.207-27.584 3.857-56.846 13.139-78.724-7.633-8.89-13.152-19.953-17.084-32.137l20.539 3.447c1.69 3.87 3.584 7.442 5.689 10.69 6.396-8.455 13.321-25.704 23.383-24.194 24.704 3.716 43.28 22.49 50.105 48.262 10.708 2.88 22.655 10.32 26.33 18.879 7.813 23.009-19.866 46.884-5.966 61.445 7.712 7.877 34.521 17.07 94.798 18.102 3.194-.38 4.02.475 6.166 2.592 21.499 17.817 42.34 34.325 67.122 42.613 1.716-24.108-23.276-41.757-40.71-52.389l9.254-15.437c26.32 17.04 56.79 46.733 56.515 79.483 32.58-21.474 32.567-61.684 29.476-92.858a42.244 42.244 0 0 1-14.202-2.53c-9.572-3.47-17.504-9.83-23.279-17.187-5.775-7.357-9.65-15.737-9.603-24.645 0-.037.005-.075.006-.113-1.19-4.784-1.603-9.773-1.41-14.773-3.96-6.207-8.067-13.32-10.633-21.903-49.9 3.927-65.214-41.983-58.28-66.865-41.662-13.957-69.213-54.133-68.21-95.09l17.986.71c2.176 31.16 16.438 59.117 42.582 72.439-34.508-45.38-6.576-103.394-13.322-147.237-3.146-20.442-7.997-42.573-15.65-58.798zm-22.807 21.335c16.791-.124 34.104 3.915 50.771 12.735l-8.418 15.91c-37.802-20.004-77.088-11.273-103.593 16.297-26.505 27.57-39.949 74.495-21.287 132.418l-17.133 5.52c-20.325-63.088-6.065-117.64 25.443-150.413 19.693-20.483 46.23-32.259 74.217-32.467zm279.623 26.79c-63.489 18.759-116.15 42.119-157.936 101.646 34.835-33.685 71.421-52.248 110.155-62.916 14.047-12.303 29.838-24.61 47.78-38.73zm35.478 43.632c-77.59 5.823-141.897 20.993-203.654 95.662-16.245 26.922 4.404 50.691 28.852 52.434 6.183.22 8.903-1.557 9.539-2.777 26.375-50.656 51.76-79.157 83.547-101.057 23.068-15.893 49.298-28.427 81.716-44.262zM91.353 306.408c-14.442 18.208-24.891 43.897-28.546 67.006 18.525-12.726 34.965-23.67 58-36.459-5.15-16.35-15.47-26.778-29.453-30.547zm181.772 19.108l-14.082 11.21c-5.925-8.305-14.206-9.836-21.555-7.585l-5.412-17.168c16.261-5.246 31.306 1.66 41.049 13.543zm181.977-6.428c-28.968 16.529-59.9 32.96-99.637 30.66-6.28 18.741 20.989 35.328 36.492 28.281 26.91-15.945 52.604-31.054 63.145-58.941zm-235.498 5.488c14.446 34.744 37.707 36.327 58.095 13.608l13.49 11.918c-28.908 38.081-82.138 14.665-89.394-22.914zm91.44 55.133l15.628 8.934c-3.773 6.087 6.303 9.457 10.334 10.943l-6.094 16.937c-17.03-6.242-28.59-20.687-19.867-36.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TridentShield;

impl IconShape for TridentShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.93l-77 92.47-5.8-2c-40.9-13.6-71.3-27.85-99.6-51.64 1.29 28.41 4.96 62.54 11.24 95.44 7.89 41.4 20.06 80.8 34.66 102.7 15.5 23.2 31.5 38.4 38.8 55.5 3.6 8.5 4.4 18.5.1 27.7-3.9 7.9-10.9 14.9-21.1 22.2 1.3 19.6 11.7 39.8 31.1 59.2 20.2 20.3 50.1 39.2 87.6 54.6 37.5-15.4 67.4-34.3 87.6-54.6 19.4-19.4 29.8-39.6 31.1-59.2-10.2-7.3-17.2-14.3-21.1-22.2-4.3-9.2-3.5-19.2.1-27.7 7.3-17.1 23.3-32.3 38.8-55.5 14.6-21.9 26.8-61.3 34.7-102.7 6.2-32.9 9.9-67.03 11.2-95.44-28.3 23.79-58.7 38.04-99.6 51.64l-5.8 2zm0 77.87l30.6 61.1H265v62h50.5l43.9-58.6-6.7-5-11.7-8.7 61-30.7-11.9 67.2-16.2-12.1-49.4 65.9H265v142h21.6L256 450l-24.1-48.1-6.5-13H247v-142h-59.5L138.1 181l-16.2 12.1-11.9-67.2 48 24.2 13 6.5-18.4 13.7 43.9 58.6H247v-62h-21.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Triforce;

impl IconShape for Triforce {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 59.72L142.687 256h226.625L256 59.72zM369.313 256L256 452.28h226.625L369.312 256zM256 452.28L142.687 256 29.376 452.28H256z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trinacria;

impl IconShape for Trinacria {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.8 40.41c-43.4 3.83-98.3 32.01-146.8 54.41h-.1l-.1.11c-5.9 2.58-9.1.51-12.1-.73s-5.9-2.9-9-4.87c-6.36-3.95-13.6-9.17-20.76-14.29-7.15-5.11-14.25-10.1-19.59-13.26-1.41-.83-2.13-1.09-3.2-1.63l-4.46 7.67c4.65 9.52 13.82 24.61 23.63 37.58 5.6 7.4 11.37 14.2 16.25 18.8 4.85 4.6 9.43 6 8.13 6 1.8.1 1.9 0 3.9-2 2.1-2.1 4.9-6.2 8.9-10.6l2.4-2.6 3.5-.4c17.6-1.8 38.5-.9 57.8-4.6 19.1-3.6 35.7-10.83 47.2-28.38 0-.11.1-.13.1-.23l15.4 10.37c0 .1-.1.12-.1.23-10 14.41-20.7 35.41-29.2 55.31 9.8-3.8 20.3-5.8 31.4-5.8 8.6 0 16.9 1.2 24.7 3.5 2.6-12.5 4.5-25.2 5.6-37.3 2.1-21.05 2-40.43.1-53.46-.8-6.52-2.4-11.48-3.5-13.62l-.1-.21zm197.5 99.49c-1.6 0-3.1 0-4.8.2-8.7.2-18.6.8-27.8 1.9-9.3 1.2-17.9 2.8-24.4 4.7-5.9 1.8-9.5 4.6-9.4 4.3-.7 1.2-.7 1.6 0 4.2.7 2.9 2.8 7.2 4.7 12.8l1.2 3.4-1.5 3.3c-7.4 16.2-18.6 34-25 52.4-6.5 18.4-8.5 36.4 1.1 55.1 0 .1.1.2.1.3l-16.7 8.1c-.1-.1-.1-.2-.1-.3-7.5-15.7-20.2-35.2-33-52.4-1.7 20.1-10 38.2-22.8 52.3 8.5 7.3 17.3 14.3 26 20.5 17.2 12.2 34 21.9 46.3 26.8 6 2.4 11 3.7 13.5 3.8h.2c18.2-39.5 21.3-101.4 26.2-154.4.6-6.5 4-8.3 6.6-10.3 2.6-2 5.5-3.7 8.7-5.5 6.6-3.5 14.8-7.1 22.8-10.8 8.1-3.6 15.9-7.2 21.3-10.3 1.5-.7 2-1.3 3-2l-4.3-7.6c-3.5-.2-7.4-.5-11.9-.5zM395.9 151c.1-.1.1-.1.1-.2-.1.1-.1.1-.1.2zM238 159.5c-39.3 0-71 31.7-71 71s31.7 71 71 71 71-31.7 71-71-31.7-71-71-71zM190 215h96v18h-96v-18zm-38.6 36.1c-9.7 3.5-19.2 7.3-28.2 11.4-19.3 8.8-35.96 18.5-46.32 26.7-5.17 4-8.71 7.8-10 9.8-.12.2 0 .1-.12.2 24.99 35.6 76.94 69.2 120.54 100h.1c5.2 3.8 5 7.7 5.5 10.9.4 3.2.4 6.5.3 10.2-.2 7.5-1.2 16.4-2 25.2-.8 8.7-1.7 17.4-1.7 23.6-.1 1.6.1 2.4.1 3.6h8.8c5.9-8.8 14.4-24.3 20.8-39.3 3.7-8.5 6.6-16.9 8.1-23.5 1.6-6.3.6-11.1 1.2-10.2-.8-1.3-1-1.4-3.8-2.1-2.8-.8-7.6-1.2-13.5-2.4l-3.5-.7-2.1-3c-10.3-14.4-20.1-32.9-32.7-47.8-12.8-14.8-27.2-25.5-48.3-26.7h-.3l1.4-18.6h.3c15 1.3 34.4.5 53.1-1.3-13.5-12-23.4-27.9-27.7-46zm86.6.9a32 16 0 0 1 32 16 32 16 0 0 1-32 16 32 16 0 0 1-32-16 32 16 0 0 1 32-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleGate;

impl IconShape for TripleGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 24L22 216v272h29.03V335.5c0-27.8 27.74-55.5 55.47-55.5 27.7 0 55.5 27.7 55.5 55.5V488h30V312c0-32 32-64 64-64s64 32 64 64v176h30V335.5c0-27.8 27.8-55.5 55.5-55.5s55.5 27.7 55.5 55.5V488h29V216zm-32 55h64v18h-64zm-64 64h192v18H160zm-64 64h320v18H96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Triquetra;

impl IconShape for Triquetra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 74.06c32.76 39.37 52.457 90.004 52.457 145.29 0 21.33-2.937 41.966-8.42 61.534-28.84-5.284-58.69-5.445-88.098-.09-5.467-19.54-8.397-40.147-8.397-61.445 0-55.286 19.698-105.92 52.457-145.29zm-.582 220.687c13.13-.026 26.197 1.1 39.057 3.313-9.017 24.453-22.117 46.918-38.475 66.578-16.365-19.668-29.47-42.144-38.486-66.61 12.6-2.17 25.28-3.256 37.904-3.28zM199.8 301.82c10.063 28.133 25.12 53.896 44.108 76.224-41.252 42.28-98.866 68.52-162.68 68.52-13.104 0-25.943-1.12-38.437-3.243 17.722-48.045 51.722-90.41 99.595-118.05 18.446-10.65 37.758-18.414 57.416-23.45zm112.39.025c57.208 14.6 108.705 51.362 140.595 106.593 6.548 11.342 11.993 23.013 16.4 34.887-12.488 2.122-25.318 3.24-38.414 3.24-63.812 0-121.426-26.242-162.678-68.52 18.98-22.322 34.037-48.076 44.1-76.2zm180.22 154.888l-5.44-17.162c-4.898-13.677-11.078-27.108-18.597-40.132-34.176-59.19-89.39-98.733-150.77-114.67 5.76-20.833 8.854-42.767 8.854-65.42 0-60.5-21.98-115.908-58.365-158.695L256 47.435l-12.092 13.218c-36.386 42.787-58.365 98.195-58.365 158.696 0 22.616 3.085 44.517 8.83 65.32-20.89 5.424-41.4 13.704-60.988 25.013-52.404 30.254-89.403 77-108.264 129.91l-5.425 17.17 17.498 3.843c14.29 2.596 29.004 3.96 44.036 3.96 68.387 0 130.27-28.075 174.77-73.303 44.5 45.228 106.383 73.302 174.77 73.302 15.04 0 29.76-1.364 44.056-3.963z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trireme;

impl IconShape for Trireme {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.837 19.198l-16.84 6.358a409.33 409.33 0 0 1 6.2 17.662 604 604 0 0 1 19.026.412 430.187 430.187 0 0 0-8.386-24.432zm171.73 27.88l-17.076 5.689a308.315 308.315 0 0 1 6.451 22.168c6.2-.201 12.885-.21 18.531-.084-2.243-9.35-4.858-18.625-7.906-27.774zM163.608 61.553c-35.687-.08-72.224 2.875-102.092 9.047 31.502 63.023 21.36 127.176 11.951 186.377 6.66-3.484 14.299-6.825 23.17-9.924 20.7-7.23 46.702-13.283 73.541-16.29 26.84-3.006 54.461-3.007 78.53 2.42 2.393.54 4.752 1.147 7.078 1.807 4.659-43.672 3.944-88.62-19.928-129.758l-5.37-9.254c14.989-5.784 31.568-10.739 45.061-13.65a278.187 278.187 0 0 0-8.035-9.91c-26.997-7.045-64.873-10.778-103.906-10.865zm186.03 31.215c-2.063-.011-4.133-.001-6.21.03-30.306.47-61.853 5.293-86.87 13.055 25.163 50.463 21.18 104.252 14.523 152.272 4.878-2.44 10.147-4.748 16.12-6.99 16.449-6.173 36.648-11.122 57.325-13.38 20.677-2.257 41.797-1.88 60.207 3.286 11.532 3.236 22.213 8.601 30.441 16.525 6.069-19.54 12.783-37.8 15.141-57.576 3.016-25.295-.556-53.611-22.184-92.482-18.522-9.572-47.56-14.576-78.494-14.74zM34.74 242.779c-1.579 20.015-7.296 37.936-8.25 56.257-.764 15.604 1.607 33.312 6.898 50.799 9.265 30.615 27.63 61.29 56.248 75.158L41.58 479.661l13.52 11.885 56.663-64.46c6.464 1.064 13.686 1.997 21.569 2.808L89.579 479.66l13.52 11.885 52.556-59.785c7.252.486 14.971.884 22.953 1.228l-41.03 46.672 13.52 11.885 50.778-57.762c10.092.258 20.587.43 31.443.518l-40.98 46.615 13.519 11.885 51.373-58.438c8.072-.004 16.766-.047 24.094-.07l-40.987 46.623 13.52 11.885 51.518-58.602c8.254-.038 16.347-.09 24.191-.181l-41.229 46.898 13.52 11.885 52.078-59.24c51.293-1.339 93.833-5.506 131.713-19.575l-2.457-17.558c-34.2-1.249-51.658-29.807-43.396-54.461 5.637-4.618 10.617-9.951 14.673-15.858 11.127-16.2 14.881-37.733 4.229-57.478l-15.842 8.547c7.38 13.678 5.014 26.75-3.223 38.742-3.941 5.738-9.35 10.968-15.57 15.242-108.045 18.877-295.175 45.39-372.65 15.988-4.219-15.394-7.539-32.63-6.944-47.236l.002-.018 25.604-15.914zm170.699 4a272.962 272.962 0 0 0-17.19.5c-1.076 30.34-3.038 66.685-4.462 97.138l17.98-1.158c1.43-30.563 3.467-65.377 4.565-96.469-.299-.002-.594-.01-.893-.012zm160.512 7.712c-6.009.048-12.151.404-18.295 1.04-1.834 26.561-4.137 54.553-5.192 74.027l17.973-3.028c1.053-19.438 3.573-44.157 5.514-72.039zm21.32 102.58c15.183.519 36.84 18.13 36.559 23.008-.291 5.035-21.101 27.619-35.309 27.943-14.207.325-38.825-16.226-38.951-20.71-.126-4.485 21.04-29.602 36.252-30.237.475-.02.96-.02 1.45-.004zm-.758 11.395c-7.739 0-14.012 6.275-14.011 14.013 0 7.74 6.272 14.013 14.011 14.014 7.74 0 14.014-6.274 14.014-14.014 0-7.74-6.274-14.013-14.014-14.013z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Troglodyte;

impl IconShape for Troglodyte {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.2 17.22l-3.5 61.22c9-2.52 18.4-4.75 28-6.67zm63 7.82l11 109.96c9.7 10.9 49-1 44.2-13.7zm-164.6 2.63l37 108.13c5.4 6.8 13.8 3 18.6-.9 7.7-6.4 14.2-18.8 13.7-32.5zm297.1 1.1L405 70.74c8.3 3.28 16.4 7.64 24 12.94zm-79.5 52.51l18.6 32.42.2.5c4 9.8.1 20.2-6.1 27-6.3 6.7-14.8 11.5-23.9 14.5-9.1 3-18.8 4.3-27.9 2.3-9.1-2-18.2-8.8-20.6-19.3l-.1-.6-5.3-52.61c-23.4 3.27-45.2 8.35-65.3 15.01 1.4 20-7.6 37.8-20.1 48.2-6.6 5.5-14.4 9.1-22.8 9.1-8.4-.1-17.1-4.5-22.6-12.4-2.2-3.5-3.1-7.7-4.4-11.6-16.6 10.9-31.1 23.1-43.5 36.4 15.8 15.1 9.8 48.2-.4 62.5-5.1 6.8-11.78 12.2-19.98 14.2-7.6 1.8-16.22-.1-23.24-5.3-22.44 64.8-7.41 138.4 51.92 199.6 1.9-15.1 3.3-32.7 5.3-50.9-13.2-12.3-24.28-26.7-30.68-45.1l16.98-6c21 41.8 58.4 61.9 91.5 83.4-20.4 29.3-51.8 50.6-76.6 68.7l179.6 3.5c-44.5-16.9-88.4-16.3-140.4-17.1l27-16.2c18.1-10.9 39.6-29.9 49.9-41.3-23.3-36.9-49.5-57.9-82.4-75.4l6.6-8.5c12.7-16.1 28.7-40.7 40.2-64.2 11.7-24.5 10.8-45.3 18.6-68.1l17 5.8c-11.1 32-10.3 57.9-1.6 88.4l48.8 45.8 13 43.4 5.2-22.8 44.5 18.5-30.7-32.6 34.5-7.9-48.7-4.8-37.3-43.5c10.6-18 10.2-38.4 7.1-54.8l17.6-3.6c1.9 9.3 3.2 19.1 2.8 29.1 22.7 8.1 45.2 20.3 65.7 26.2 21.3 6.1 40.3 6.8 52.9-4 7.2-6.2 13.6-12.4 19.3-18.6-24.2-4.1-55.3-5.1-81.1-1.7l-2.4-17.8c32.6-3.6 65.8-3.2 96.4 3.6 26.6-37.1 27.4-73 15.9-102.7-15-38.8-53.3-66.63-86.1-68.17-7.8-.36-15.4-.52-22.9-.55zM84.02 90.97l20.38 55.73c6.1-5.6 12.5-11.1 19.3-16.3zM45.74 134.5L74.72 228c21.59 7.7 25.23-31.6 22.2-41.9zM214.4 286.9c-9.8 19-21.7 37.5-32.6 52.3 33.7 24 62.9 50.6 76.5 83.9-12 15-26.7 28.4-39.5 38.3 5.5.4 10.9.9 16.1 1.5 23.3-8.3 56.9-26.6 53.1-43.2-9.1-39.4-44.5-63-74.6-79.2 6.3-21.2 4.8-34.6 1-53.6zM403 381.6l5.2-24.2 47 25.1-29.3-37.1 30.6-8.6-56.1-5.5c-2.7-6.5-5.5-8.9-10.1-17.9-11.5.8-23.4-1.1-34.8-4.2l34.8 35.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrojanHorse;

impl IconShape for TrojanHorse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336 16l9.605 34.55v36.473l59.786 44.84 69.99 35.85 11.015-33.04-88.81-97.118-19.59 4.898L336 16zm-12.492 20.13L270.455 155.5h28.057l29.093-72.732v-42.54l-4.097-4.1zm67.86 21.415l34.88 35.84-41.643-11.637 6.764-24.203zm-52.93 46.603l-24.14 60.35 50.718 126.795 24.77-148.633-51.347-38.512zM89.606 173.5v142h62v-96h146v96h57.707l-56.8-142H89.605zm-18 9l-46 34.5v117.014l30 10V240.77l16-16V182.5zm98 55v14h110v-14h-110zm0 32v14h110v-14h-110zm0 32v14h110v-14h-110zm-80 32v78.51c2.29-.33 4.624-.51 7-.51 7.913 0 15.395 1.912 22.028 5.277l37.012-83.277h-66.04zm209.057 0l9.004 81.04c5.286-1.963 10.992-3.04 16.94-3.04 5.2 0 10.213.83 14.925 2.348l17.857-80.348h-58.725zm-202.057 96c-17.227 0-31 13.773-31 31s13.773 31 31 31c17.228 0 31-13.773 31-31s-13.772-31-31-31zm228 0c-17.227 0-31 13.773-31 31s13.773 31 31 31c17.228 0 31-13.773 31-31s-13.772-31-31-31zm-228 15c8.837 0 16 7.163 16 16s-7.163 16-16 16c-8.836 0-16-7.163-16-16s7.164-16 16-16zm228 0c8.837 0 16 7.163 16 16s-7.163 16-16 16c-8.836 0-16-7.163-16-16s7.164-16 16-16zm-179.847 7c.548 2.92.847 5.926.847 9s-.3 6.08-.847 9h131.695c-.548-2.92-.848-5.926-.848-9s.3-6.08.848-9H144.758z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrophiesShelf;

impl IconShape for TrophiesShelf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M473 64.45c.4 7.06.2 14.02-.5 20.83 3.6 3.88 4.7 9.15 3.4 15.42-1.2 5.6-4.7 11.7-10.4 16.4-3 8.8-6.9 17.2-11.3 24.9 21.3-5.2 35.6-20.7 39.3-37.4 2.5-11.45-.1-24.01-8.9-32.67-3.2-3.14-7.1-5.65-11.6-7.48zm-210 .81c-3.7 1.73-6.9 3.95-9.6 6.63-8.8 8.66-11.4 21.23-8.9 32.71 3.8 17 18.5 32.6 40.3 37.7-4.6-7.8-8.6-16.1-11.8-24.8-6-4.8-9.6-11-10.9-16.8-1.2-5.81-.4-10.76 2.6-14.54-1-6.89-1.6-13.88-1.7-20.9zM281.4 73c2 26.79 12.6 53.4 27.8 73.6C326 169.1 348 183 368 183c20.3 0 43.2-13 60.3-34.7 15.7-19.7 26.3-46.4 26.8-75.3H281.4zm71.9 126.3c-4.2 7.2-6.9 15.8-7.9 21.4l22.6 22.6 22.6-22.6c-1-5.6-3.7-14.1-7.8-21.3-4.9 1.1-9.8 1.6-14.8 1.6s-9.9-.6-14.7-1.7zm-187.8 3.8c-2.5 10.2.5 20.2 6.3 30.4 7.2 12.6 18.6 24.1 26.6 32.1l2.6 2.7v3.7c0 8 0 15.7-.1 23h46.2c-.1-7.3-.1-15-.1-23v-3.7l2.6-2.7c8-8 19.4-19.5 26.6-32.1 5.8-10.2 8.8-20.2 6.3-30.4-42.1 12.7-74.9 12.7-117 0zm196 59.1L346.8 343h42.4l-14.7-80.8-6.5 6.5-6.5-6.5zM42.76 281c1.51 5.2 3.86 11.2 6.96 16.4 2.63 4.4 5.69 8.2 8.42 10.5C60.88 310.3 63 311 64 311h11.53l-16 64h56.97l-16-64H112c1 0 3.1-.7 5.9-3.1 2.7-2.3 5.7-6.1 8.4-10.5 3.1-5.2 5.4-11.2 6.9-16.4H42.76zm157.74 32c-.2 4.8-.5 9.4-.8 14h48.6c-.3-4.6-.6-9.2-.8-14h-47zm-3 32c-1.6 10.4-4.1 20.3-7.8 30h68.6c-3.7-9.7-6.2-19.6-7.8-30h-53zM329 361v14h78v-14h-78zM16 391v18h480v-18H16zm55 35v48h18v-48H71zm352 0v48h18v-48h-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrophyCup;

impl IconShape for TrophyCup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M98.398 21.146a17.092 17.092 0 0 0-4.636.521c-20.49 5.262-33.163 20.63-36.116 38.649-2.952 18.019 2.168 38.346 12.676 58.193 20.695 39.086 63.262 77.08 117.852 85.85-5.61-6.72-11.05-14.246-16.274-22.375-39.008-12.57-70.021-42.344-85.67-71.899-9.206-17.387-12.846-34.491-10.82-46.857C77.437 50.862 83.482 42.89 98.238 39.1c.065-.017.068-.034.092-.053-.065-.143.105-.08 0 0 .022.049.061.11.176.217.527.493 1.689 2.24 2.207 5.14 1.036 5.804-.413 15.593-8.135 25.68l14.293 10.942c10.418-13.61 13.65-28.086 11.56-39.785-1.044-5.85-3.396-11.165-7.628-15.124-3.174-2.969-7.747-4.868-12.405-4.972zm315.204 0c-4.658.104-9.23 2.003-12.405 4.972-4.232 3.96-6.584 9.274-7.629 15.124-2.089 11.699 1.143 26.174 11.56 39.785l14.294-10.942c-7.722-10.087-9.171-19.876-8.135-25.68.518-2.9 1.68-4.647 2.207-5.14a.695.695 0 0 0 .176-.217c-.105-.08.065-.143 0 0 .024.019.027.036.092.053 14.756 3.79 20.801 11.76 22.828 24.127 2.026 12.366-1.614 29.47-10.82 46.857-15.649 29.555-46.662 59.33-85.67 71.899-5.223 8.129-10.665 15.655-16.274 22.375 54.59-8.77 97.157-46.764 117.852-85.85 10.508-19.847 15.628-40.174 12.676-58.193-2.953-18.02-15.626-33.387-36.116-38.649a17.092 17.092 0 0 0-4.636-.521zm-276.166 7.713c2.146 36.533 16.76 83.07 36.537 120.824 10.707 20.442 22.876 38.334 34.761 50.685C220.62 212.72 232 218.858 240 218.858h32c8 0 19.38-6.138 31.266-18.49 11.885-12.351 24.054-30.243 34.761-50.685 19.777-37.755 34.39-84.29 36.537-120.824H137.436zm95.564 208v16h46v-16h-46zm6.445 34c-2.458 25.967-12.796 57.873-24.437 76h81.984c-11.64-18.127-21.979-50.033-24.437-76h-33.11zm-38.445 94v14h110v-14H201zm-32 32v94h174v-94H169zm23 23h128v48H192v-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TropicalFish;

impl IconShape for TropicalFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162.624 52.61C97.727 52.9 43.2 71.024 20.26 77.065c180.533-16.45 207.453 29.552 202.45 80.002-18.22 37.848-25.254 55.3-27.918 70.57-.1-.087-.194-.175-.297-.263-.137 1.532-.252 3.068-.353 4.604-1.174 9.332-.916 18.495-.844 31.853.232 42.953 20.353 78.605 35.563 123.858-19.41 34.982-62.905 40.407-111.138 40.017 15.68 4.238 57.39 35.154 183.93-18.266-18.39 38.19-101.927 66.29-104.35 80.708 95.706-8.18 156.83-50.263 172.442-113.7 26.875-16.655 51.02-37.67 71.22-88.49 4.977-15.1 26.364-16.513 42.844-20.37 8.092-1.892 12.803-17.88 0-19.664-16.856-3.743-41.087-1.758-50.568-18.963C359.963 85.33 251.557 52.22 162.624 52.61zM68.11 170.79c-6.35-.04-11.513.988-14.995 3.296 52.984 29.347 72.777 42.044 73.205 52.064.306 18.476-56.007 23.49-57.59 33.362-.602 3.75 45.222 28.75 51.972 38.277 8.175 14.697-18.264 35.887-52.675 58.995 7.18 11.277 72.52-13.598 116.69-36.805-7.365-34.743-12.074-70.132-6.827-105.548-32.393-23.226-82.256-43.47-109.78-43.643zm309.805 34.105c17.18 0 31.3 14.12 31.3 31.3s-14.12 31.3-31.3 31.3-31.298-14.12-31.298-31.3 14.12-31.3 31.298-31.3zm-71.578 12.435c4.01.062 8.036.29 12.076.705l.487.05.478.102c7.506 1.608 10.558 7.368 12.705 12.56 2.147 5.19 3.38 11.144 4.006 17.52 1.25 12.75.433 26.886-5.97 37.98-3.817 6.613-9.487 8.915-16.46 11.564-6.97 2.65-15.513 4.687-25.05 5.833-19.078 2.29-42.133 1.066-62.616-8.352l-19.9-9.147 20.58-7.487c9.96-3.622 17.247-7.86 22.49-11.594-8.457-3.524-18.93-9.306-28.448-18.88l-10.3-10.36 13.886-4.54c26.63-8.707 53.964-16.39 82.035-15.952zm71.578 5.565c-7.45 0-13.298 5.85-13.298 13.3 0 5.78 3.525 10.582 8.582 12.45a13.773 13.008 0 0 1-1.802-6.397 13.773 13.008 0 0 1 13.773-13.008 13.773 13.008 0 0 1 4.546.746c-2.2-4.245-6.607-7.09-11.8-7.09zm-71.863 12.443c-19.507-.27-39.51 4.09-59.924 10.098 11.728 7.197 22.06 8.86 22.06 8.86l14.735 2.25-8.855 11.99s-3.546 4.686-10.194 10.02c-2.56 2.052-5.814 4.29-9.447 6.55 10.906 1.81 22.13 1.855 32.033.665 8.256-.99 15.592-2.804 20.81-4.786 5.216-1.982 8.043-5.09 7.26-3.736 2.872-4.975 4.633-17.148 3.645-27.227-.494-5.038-1.58-9.627-2.724-12.393-.48-1.16-.863-1.54-1.085-1.813-2.764-.23-5.53-.438-8.313-.476z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trowel;

impl IconShape for Trowel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M468.72 21.45c-4.12-.06-8.86.69-14.214 2.437-.886.41-73.34 33.862-146.268 70.326-36.687 18.343-73.365 37.396-100.642 53.133-13.64 7.868-24.953 14.94-32.51 20.463-3.78 2.76-6.626 5.173-8.164 6.77-.49.51-.496.696-.62.977.885 18.142 15.927 45.03 31.975 66.427 4.204 5.606 8.403 10.845 12.338 15.56l15.928-15.927 1.084-.607s7.78-4.4 17.12-7.65c4.672-1.626 9.773-3.046 15.142-3.366 5.367-.32 11.818.453 16.74 5.36 4.91 4.9 5.697 11.337 5.39 16.69-.304 5.355-1.705 10.443-3.313 15.102-3.216 9.32-7.58 17.083-7.58 17.083l-.61 1.096-16.06 16.06c4.716 3.934 9.954 8.133 15.56 12.337 21.397 16.048 48.284 31.09 66.426 31.974.28-.123.467-.128.977-.62 1.597-1.537 4.01-4.384 6.77-8.163 5.524-7.557 12.596-18.87 20.464-32.51 15.737-27.277 34.79-63.955 53.133-100.642 36.464-72.928 69.917-145.382 70.326-146.268 4.725-14.486 2.022-24.414-3.586-30.02-3.535-3.537-8.783-5.925-15.808-6.025zM261.864 247.935c-.27-.002-.573.005-.906.025-2.665.16-6.55 1.097-10.294 2.4-6.642 2.31-11.982 5.16-13.266 5.855l-37.838 37.838 18.385 18.385 37.953-37.954c.697-1.295 3.51-6.603 5.79-13.21 1.29-3.73 2.21-7.605 2.36-10.254.102-1.782-.132-2.588-.202-2.856-.223-.06-.787-.223-1.983-.228zm1.983.228c.13.035.177.042.07-.064-.11-.11-.105-.067-.07.064zm-77.012 58.617l-9.9 9.902 18.382 18.382 9.9-9.9-18.382-18.383zm-35.164 10.093L46.467 412.486l53.047 53.047 95.613-105.205-43.455-43.455zM33.132 424.607l-9.665 8.782c-1.213 1.223-1.72 2.35-1.865 4.54-.148 2.21.372 5.432 1.806 9.162 2.87 7.46 9.277 16.667 17.055 24.445 7.778 7.778 16.985 14.185 24.445 17.055 3.73 1.434 6.95 1.954 9.162 1.806 2.19-.146 3.317-.652 4.54-1.865l8.783-9.664-54.262-54.263z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Truce;

impl IconShape for Truce {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.3 23.89L89.27 257.7c5.62-4.9 12.93-5.8 19.63-4.4l54-225.21zm37 6.1l-57 231.41c1 .8 1.9 1.8 2.7 2.7 39.2-14 117.2-32 127.1 32.2 15.2 99.1 96.8 135.8 148.9 114.8-27.8-99.6 87.6-116.8 70.7-205.1 0 0-111 26.4-131.6-90.6-23.5-58.14-101.6-103.33-160.8-85.41zM101.4 270.9c-6.91 22.3-10.68 51.2.6 67.9 5.4 30.1 34 51.5 49.4 57.5-12.2 4.6-24.8 2.8-35.4-3.3-5.6 11.4-18.71 17.5-29.76 21 7.21 8.8 15.46 16.7 23.96 22.4 4.3 18.2 7.3 41.8 12.7 56.9h114.7c-31.7-18.6-56.8-42-61.3-69.9 8.6-18.2 10.5-46.2-.5-70.9-14.8-22.7-54.9-22.9-61.1-48.3-2.5-11.2 5.2-40.6-13.3-33.3zm-41.38 13c-7.17 1.5-11.98 8.3-10.24 14.7 8.66 1 17.82 2.2 26.53 3.8.38-4.1 1-8.2 1.73-12-6.18-2.5-12.48-4.8-18.02-6.5zm-16.91 32.2c-7.45 1.7-10.55 12.4-3.69 15.7 13.81.8 28.8 2.6 40.96 4.9-2-5-3.24-10.1-3.9-15.3-10.35-2.2-22.62-4.3-33.37-5.3zm-3.18 33.5c-8.95 5.5.2 16.2 4.7 18 15.57 2 29.64 2.7 41.1-1.8 4.51-2.5 4.29-4.4 2.89-8.3-16.82-3.7-33.26-6.4-48.69-7.9zm57.96 29.7c-12.54 8.9-32.12 8.5-44.89 7.4 1.64 6 7.89 9 10.92 10.2 9.37 3.7 22.37-1.1 33.47-8.4 3.21-2.7 4.51-8.7.5-9.2zm-45.46 32.2l-13.18 54.9 17.5 4.2 13-54.3c-6.59-.5-11.94-2.1-17.32-4.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Truck;

impl IconShape for Truck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M33 120v127.648c5.023 1.863 9.31 5.103 12.68 8.682 5.238 5.562 9.034 12.113 12.498 18.242 3.463 6.13 6.61 11.886 9.343 15.446C70.257 293.578 71.618 294 72 294c.59 0 .78.075 2.36-1.8 1.583-1.877 3.57-5.405 5.683-9.405 2.114-4 4.356-8.472 7.832-12.596 3.476-4.125 9.172-8.2 16.125-8.2 6.953 0 12.65 4.075 16.125 8.2 3.476 4.123 5.718 8.595 7.832 12.595s4.1 7.528 5.682 9.404c1.58 1.875 1.77 1.8 2.36 1.8.59 0 .78.075 2.36-1.8 1.583-1.877 3.57-5.405 5.683-9.405 2.114-4 4.356-8.472 7.832-12.596 3.476-4.125 9.172-8.2 16.125-8.2 6.953 0 12.65 4.075 16.125 8.2 3.476 4.123 5.718 8.595 7.832 12.595s4.1 7.528 5.682 9.404c1.58 1.875 1.77 1.8 2.36 1.8.59 0 .78.075 2.36-1.8 1.583-1.877 3.57-5.405 5.683-9.405 2.114-4 4.356-8.472 7.832-12.596 3.476-4.125 9.172-8.2 16.125-8.2 6.953 0 12.65 4.075 16.125 8.2 3.476 4.123 5.718 8.595 7.832 12.595s4.1 7.528 5.682 9.404c1.58 1.875 1.77 1.8 2.36 1.8.59 0 .78.075 2.36-1.8 1.583-1.877 3.57-5.405 5.683-9.405 2.114-4 4.356-8.472 7.832-12.596 3.476-4.125 9.172-8.2 16.125-8.2 6.953 0 12.448 3.3 17.025 7.004 2.142 1.733 4.125 3.638 5.975 5.617V120H33zm320 49.377v140.27l8-.026V326h3.81c9.298-18.914 28.774-32 51.19-32 19.463 0 36.707 9.867 47 24.846V262h16v-36.275l-28.256-42.385L353 169.377zm18.543 19.516l64.77 7.726 24.8 35.51v16.735h-89.57v-59.972zM33 269.148V294h15.537c-2.12-3.493-4.065-7.096-6.03-10.572-3.173-5.617-6.4-10.827-9.507-14.28zM104 280c-.59 0-.78-.075-2.36 1.8-1.583 1.877-3.57 5.405-5.683 9.405-.48.91-.972 1.847-1.478 2.795h19.04c-.505-.948-.997-1.886-1.477-2.795-2.114-4-4.1-7.528-5.682-9.404-1.58-1.875-1.77-1.8-2.36-1.8zm64 0c-.59 0-.78-.075-2.36 1.8-1.583 1.877-3.57 5.405-5.683 9.405-.48.91-.972 1.847-1.478 2.795h19.04c-.505-.948-.997-1.886-1.477-2.795-2.114-4-4.1-7.528-5.682-9.404-1.58-1.875-1.77-1.8-2.36-1.8zm64 0c-.59 0-.78-.075-2.36 1.8-1.583 1.877-3.57 5.405-5.683 9.405-.48.91-.972 1.847-1.478 2.795h19.04c-.505-.948-.997-1.886-1.477-2.795-2.114-4-4.1-7.528-5.682-9.404-1.58-1.875-1.77-1.8-2.36-1.8zm64 0c-.59 0-.78-.075-2.36 1.8-1.583 1.877-3.57 5.405-5.683 9.405-.48.91-.972 1.847-1.478 2.795h25.157c-.376-.512-.74-1.022-1.13-1.535-2.787-3.646-5.967-7.173-8.804-9.47C298.866 280.7 296.59 280 296 280zm185 0v46h14v-46h-14zM72 310c-22.537 0-41 18.463-41 41s18.463 41 41 41 41-18.463 41-41-18.463-41-41-41zm104 0c-22.537 0-41 18.463-41 41s18.463 41 41 41 41-18.463 41-41-18.463-41-41-41zm240 0c-22.537 0-41 18.463-41 41s18.463 41 41 41 41-18.463 41-41-18.463-41-41-41zm-399 2v14h3.81c2.532-5.15 5.824-9.86 9.72-14H17zm96.47 0c3.896 4.14 7.188 8.85 9.72 14h1.62c2.532-5.15 5.824-9.86 9.72-14h-21.06zm104 0c3.896 4.14 7.188 8.85 9.72 14H231v-14h-13.53zM343 327.678l-94 .295v30l94-.295v-30zM72 328c12.81 0 23 10.19 23 23s-10.19 23-23 23-23-10.19-23-23 10.19-23 23-23zm104 0c12.81 0 23 10.19 23 23s-10.19 23-23 23-23-10.19-23-23 10.19-23 23-23zm240 0c12.81 0 23 10.19 23 23s-10.19 23-23 23-23-10.19-23-23 10.19-23 23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trumpet;

impl IconShape for Trumpet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M385.853 21.083c-2.876-.097-4.956.287-6.693 1.058 4.438 38.628-3.264 69.792-21.635 99.469-19.234 31.07-49.316 60.967-88.852 100.502l-3.586 3.722 21.079 21.079 3.722-3.586c28.35-28.35 51.736-51.808 74.16-69.922a50.053 50.053 0 0 1 7.662-.918 47.688 47.688 0 0 1 2.582-.033c12.806.18 23.989 5.554 32.149 13.714 16.225 16.225 21.424 44.398-3.31 73.522-8.9-7.421-17.504-10.952-25.503-10.69a24.831 24.831 0 0 0-4.064.47c-10.692 2.138-17.328 9.532-22.984 15.189l-23.334 23.334 12.726 12.728 23.336-23.336c5.657-5.657 10.335-9.575 13.785-10.265a9.39 9.39 0 0 1 2.133-.188c2.622.075 6.14 1.307 11.451 5.711l-39.39 39.39 12.728 12.73 45.961-45.962c36.549-36.548 33.505-81.048 9.193-105.36-8.559-8.558-19.627-14.465-31.962-16.952 1.06-.683 2.12-1.356 3.183-2.014 29.677-18.371 60.841-26.073 99.469-21.635.771-1.737 1.155-3.817 1.058-6.693-.16-4.804-1.931-11.321-5.304-18.549-6.746-14.455-19.647-31.608-34.625-46.586-14.978-14.978-32.131-27.88-46.586-34.625-7.228-3.373-13.745-5.143-18.549-5.304zM217.492 202.584l-15.557 15.557 12.729 12.727 15.556-15.555-12.728-12.729zm23.486 24.596l-14.143 14.143 111.723 111.722 14.143-14.14L240.978 227.18zm-50.309 2.227l-15.556 15.556 12.728 12.727 15.557-15.555-12.729-12.728zm23.438 24.644l-14.143 14.143L311.69 379.916l14.14-14.142L214.108 254.05zm-50.203 2.121l-15.557 15.557 12.729 12.729L176.63 268.9l-12.726-12.729zm23.334 24.748l-14.143 14.143 111.723 111.723 14.142-14.141L187.238 280.92zm-13.75 39.99L51.355 447.683l12.963 12.963 39.988-38.525c.004.092.001.186.006.279.877 17.378 8.833 33.331 20.701 45.2 11.868 11.867 27.822 19.822 45.2 20.698 17.377.877 35.967-5.7 51.673-21.406l48.791-48.79-12.728-12.73-42.414 42.415c-7.028-7.302-6.922-10.348-6-13.532.964-3.332 5.28-8.376 10.937-14.033l26.162-26.162-12.726-12.728-26.164 26.164c-5.657 5.656-12.655 11.926-15.5 21.755-2.715 9.379.623 20.584 10.172 30.83-10.453 7.99-21.092 10.756-31.297 10.24-12.41-.625-24.387-6.459-33.38-15.45-8.99-8.992-14.824-20.968-15.45-33.377-.334-6.622.726-13.428 3.681-20.246l65.117-62.735-17.6-17.601zM33.796 455.578l-12.728 12.728 22.627 22.627 12.728-12.728-22.627-22.627z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrumpetFlag;

impl IconShape for TrumpetFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M476 18.28c-11 13.93-27.6 26.14-45.2 37.31C408.3 69.93 384 82.05 368 90.1l-1.9.9H325v30h41.1l1.9.9c16 8 40.3 20.2 62.8 34.5 17.6 11.2 34.2 23.4 45.2 37.3 3.5-6.9 6.8-16.1 9.2-27.1 3.8-17.7 5.8-39.1 5.8-60.6 0-21.45-2-42.93-5.8-60.6-2.4-11-5.7-20.18-9.2-27.12zM36 79c-5 0-10.04.98-12.85 2.22-1.3.58-1.93 1.13-2.15 1.35v46.83c.22.2.85.8 2.15 1.4C25.96 132 31 133 36 133s10.04-1 12.85-2.2c1.3-.6 1.93-1.2 2.15-1.4V82.57c-.22-.22-.85-.77-2.15-1.35C46.04 79.98 41 79 36 79zm33 12v30h46V91zm64 0v30h30V91zm48 0v30h78V91zm96 0v30h30V91zm-176 48v349l55-65.2 64 72 64-72 55 65.2V139zm66.2 45.4c10 19.2 27.3 18.1 44.2 18.1l36.7 1.4 5.3 16.7 52.4 6.9 2.4 34.2c-19 5.5-56.9 4.2-57 12.5-.1 13.8 24.7 10.7 53.1 3.5l-16.4 37.2-41.8 3c2.6 31.4-.8 52.6-24.2 75.1L207 355.4c-8.6 15.4-20.4 26.4-39 28.2 7.2-17.7 13-31.8 6.6-51.8-9.2 8.9-23.9 12.6-44.1 11.2 21.5-33.7 32.9-68.8 42.3-103.3L157 226c-4.5-16-.9-29.8 10.2-41.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrunkMushroom;

impl IconShape for TrunkMushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.7 18c-1.7 36.01-2.2 75.07-3.7 115.4 11.6-.1 14.5-1.4 19.8 1.9 31.2 17.6 38.4 50.2 31.2 77.4-3 11.6-8.3 22.6-15.4 31.8-8.6 48.9-32 94.8-55.8 139.8l-3.3 6.2-6.8-1.7c-5.4-1.3-10.3-2.7-14.7-4.3-17.4 40-41.5 77.3-75 109.5h244V18zm-72.9 119.7c-9.3 0-14.9 5.6-14.9 9.8 0 4.2 5.6 9.8 14.9 9.8s14.9-5.6 14.9-9.8c0-4.2-5.6-9.8-14.9-9.8zm32.5 14c-2.3 14.2-17 23.6-32.5 23.6-13.4 0-26.1-7-30.9-18.1-32.9 4.4-65.4 11-94.2 19.4-8.7 2.5-17.1 5.2-25 8.1.7 1.3 1.3 2.8 1.7 4.4 2.2 8.8-2.3 16.9-8.3 22.5-6 5.7-14.1 9.8-23.5 12.1-9.5 2.3-18.6 2.4-26.55.1-2.78-.7-5.53-1.9-8.03-3.4-2.36 2.5-4.3 5-5.73 7.4-2.5 4.1-3.63 7.8-3.63 11.5C159.4 271.2 246.2 271.2 366 250.5c14.9-2.6 32-21 37.6-42.4 5.5-20.9 1.7-42.3-21-56.1-16.5-1-33.3-.9-49.3-.3zm-100 36.1h1.9c5 0 10.3.7 15.6 2 10.7 2.5 20 7.2 26.8 13.5 6.7 6.3 11.6 15.1 9.3 24.6-2.3 9.5-10.7 15.1-19.5 17.6-8.9 2.5-19.3 2.4-30-.1-10.7-2.6-19.9-7.3-26.8-13.6-6.7-6.3-11.6-15.1-9.3-24.6 2.4-9.5 10.7-15.1 19.5-17.6 3.9-1.1 8.1-1.7 12.5-1.8zm-111.2 1.7c-2.9 0-6.3.3-9.6 1.2-6.8 1.7-12.5 4.8-15.61 7.7-3.13 3.1-3.23 4.7-3.13 5.1.1.4.95 1.9 5.14 3.1 4.1 1.1 10.6 1.3 17.4-.4 6.8-1.6 12.4-4.8 15.5-7.7 3.2-3 3.3-4.7 3.2-5.1-.1-.4-1-1.8-5.2-3-2-.6-4.7-.9-7.7-.9zm113 16.3c-3.6 0-6.8.4-9.4 1.1-5.1 1.5-6.6 3.5-6.9 4.5-.2 1.1.2 3.6 4.1 7.2 3.9 3.6 10.7 7.3 18.7 9.3 8.1 1.9 15.8 1.7 20.9.3 5.1-1.5 6.6-3.5 6.9-4.5.2-1.1-.2-3.6-4-7.2-4-3.6-10.7-7.3-18.8-9.3-4.1-1-8-1.4-11.5-1.4zm147.5 58c-4.3 2.2-8.8 3.7-13.6 4.5-40.2 6.9-77.1 11.6-111.6 13.5 8.4 4.5 15.2 9 20.7 13.6 14.3 12 20.2 24.9 23.2 35.5 3.1 10.5 4.1 18 8.4 23.7 3.8 5 11.4 10.1 27.5 14.8 18.5-35.2 35.7-70.2 45.4-105.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tumbleweed;

impl IconShape for Tumbleweed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.7 46.35s-53.1 40.57-69.2 68.55c-8.6 15.1-14.17 44-16.81 60.6L45.6 236.2l52.77 70.5-24.51-72.4C102.2 172.9 175.8 136.5 242.4 96.2c75.8 22 150.2 45.7 188.8 116.9-26.3 28.6-42.2 56.6-65.2 81.7-18.1-17.8-26-36.4-20.9-57.5l20.3-45.3s-34-47.7-63.3-55.8c-29.3-8.1-95.8 17.2-95.8 17.2l-7.8 77.7 72.8 26.7-54-44.7 33.4-43.9 60.6 16.4c13.6 21-10.8 29.9-24.1 42.4 11-1 19.6 1.3 27.2 5l-5.5 55.2c-26.4 8.3-66.3 17.8-95.5 6.4-42.9-16.8-61.9-42.1-54.1-68.7l19.3-65.6-65.9 65.6 85.7 118.5 155.3-33.9c-15.3 15.9-25.4 18.7-52 31.4 3.1 14-19.7 27.2-28.2 38.9-29 9-43.6 16.5-74.2 17.3-31.1-21.7-49.8-49.5-60.2-81.4-5.7 28.7-1.4 55.6 25.5 78.3-99.39-20.1-94.15-97.1-140.95-145.8 33.11 57.2 12.47 141.1 101.85 171 64.6 21.5 128.7-6.7 192.4-12.1 27.3-15.6 52.7-34 79.3-50.7L376.6 421l-152.7 17.1c56.1 16 168 29.8 179.4 12.1 20.6-32 14-69.9 15-105.4 16.4-9.2 33.7-17.3 52.4-23.4.9-23.5-15.1-45.1 17.6-72.2l-43.4-13.8c8.8-9.4 17.4-18.6 25.8-27.5-57.1-53-100.8-112.5-227.5-131.52L114.5 153l8.5-33.6 51.7-52.42 41.4.8zm94.6 2.09l151.8 62.36 34.5 54.8-6.6-62.2zM433.2 248l5.9 51-94.8 65.4c-13.6 2.4-27 5.9-40.3 9.9 45.5-38.1 89.2-83.7 129.2-126.3zM39.97 401.4l75.53 79.1 91.3-26.7h-83.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tunisia;

impl IconShape for Tunisia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.6 81.82L244 34.67l27.4 6.02 2.6 34.98 39.9-23.06 9.6 21.28-35.7 29.01c-15.8 28.8 10 46.6 35.2 64.6-14.7 27.3-17 58.6-59.7 76.8 2.8 10.2 1 26.3 29.5 23.4 20.4 29.1 28.6 31 48.6 31.1l3.1 52.5c-23.7 34-49.5 39.7-74.9 50.6l10.6 38.4-39.9 47.4-28.4-117.4-38.9-26.9-29.9-46.2-9.5-50 37.9-38.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Turban;

impl IconShape for Turban {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.654 15.072c-12.396 26.293-18.327 55.655-26.254 84.526 5.225 5.148 11.26 10.11 18.594 14.771-8.382 1.204-15.876.926-22.765-.357-3.005 9.729-6.406 19.333-10.538 28.67 7.056 8.499 15.448 16.69 27.137 24.12-10.826 1.555-20.17.639-28.642-1.728 8.837 17.645 23.203 36.3 36.605 49.24 2.385-13.769 4.764-33.947 5.723-55.628 1.477-33.415.1-71.578-6.604-100.088l17.524-4.12c7.38 31.392 8.587 70.53 7.062 105.002-.938 21.206-2.718 40.143-5.162 54.862 16.875-14.522 32.157-38.713 40.344-56.26a261.386 261.386 0 0 0-.875-17.64c-6.972 1.33-14.562 1.63-23.065.41 8.527-5.42 15.285-11.25 21.067-17.303a229.077 229.077 0 0 0-5.45-25.653c-5.573.631-11.538.61-18.05-.326a111.682 111.682 0 0 0 14.619-11.045c-6.447-19.354-15.052-36.003-24.565-50.086-3.554 3.028-7.617 5.847-12.316 8.405 2.423-6.369 4.098-12.409 5.242-18.215a191.222 191.222 0 0 0-9.63-11.557zm-56.94 161.881c-40.373 27.332-80.198 59.974-123.161 101.248-.003.003-2.21 3.686-3.38 9.656-1.168 5.971-1.849 14.058-1.923 23.178-.128 15.76 1.604 34.596 4.768 52.383 76.585-11.245 132.73-24.958 166.714-46.209-20.028-30.571-28.038-62.978-24.783-94.922a142.878 142.878 0 0 1 2.201-14.3c-7.724-9.618-14.802-20.207-20.435-31.034zm119.083 3.19c-5.477 10.117-12.258 20.951-20.342 30.873 1.767 9.172 2.867 17.895 3.258 26.195 1.026 21.788-2.996 40.877-11.856 57.098 47.332 23.797 95.577 45.482 149.383 58.296 4.716-12.839 5.421-24.583 2.762-36.6-3.076-13.898-10.654-28.339-21.723-43.901-8.591-12.08-33.38-36.278-63.834-61.83-11.833-9.93-24.56-20.12-37.648-30.131zm-83.045 45.101c-2.518 27.175 4.04 54.397 21.477 81.268a84.472 84.472 0 0 0 6.042-5.875c14.875-16.051 21.739-35.454 20.461-62.58-.163-3.464-.487-7.066-.941-10.78-6.397 5.504-13.349 10.17-20.857 13.48l-4.643 2.048-4.154-2.912c-5.662-3.967-11.553-8.945-17.385-14.649zm43.76 84.18a95.683 95.683 0 0 1-3.037 3.447c-13.118 14.156-30.662 25.324-52.467 34.502a2666.35 2666.35 0 0 0 61.008 42.272c41.574 27.949 84.45 54.98 118.697 73.6 17.123 9.309 32.136 16.512 43.371 20.612 5.617 2.05 10.31 3.301 13.494 3.739.225.03.267-.009.473.011 5.211-31.844 8.244-73.704-18.738-115.89-59.73-13.242-112.193-36.793-162.801-62.293zm-75.778 45.547c-35.398 11.779-79.823 19.924-132.88 27.455l-1.668.76c-26.963 27.842-32.639 70.496-25.948 104.939 87.895-12.79 155.857-51.688 217.87-92.938a2654.477 2654.477 0 0 1-57.374-40.216z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Turbine;

impl IconShape for Turbine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.8 50.95c-87.2-.13-136.5 16.95-228.4 51.45v109.5c42.94-12.7 75-12.8 119-12.8 60 0 60 114 0 114-44 0-76.06-.1-119-12.8v109.5c111.6 41.8 160.5 57.8 290.8 48.9-19.7-11.3-37.3-28.9-51.5-50.6-25.8-39.4-41.3-93-41.3-152s15.5-112.6 41.3-152c14.2-21.79 31.7-39.31 51.5-50.66-23.1-1.62-43.7-2.49-62.4-2.49zm114.6 6.09c-33.8 0-65.2 20.96-88.6 56.86-23.5 35.9-38.4 86.4-38.4 142.2 0 55.8 14.9 106.3 38.4 142.2 23.4 35.8 54.8 56.8 88.6 56.8s65.2-21 88.6-56.8c12.7-19.5 23-43.3 29.6-69.8-5.3 16.9-12.4 32.3-21.1 45.6-20 30.7-48.6 51-81.1 51-32.5 0-61.1-20.3-81.1-51-19.9-30.7-31.9-72.2-31.9-118s12-87.3 31.9-118c20-30.7 48.6-51.06 81.1-51.06 32.5 0 61.1 20.36 81.1 51.06 8.7 13.3 15.8 28.7 21.1 45.6-6.6-26.5-16.9-50.3-29.6-69.8-23.4-35.9-54.8-56.86-88.6-56.86zm16 48.06c-8.7 0-17.2 1.9-25.3 5.5-4.5 35.7 4.1 63.4 14.8 91.1 3.1-1.6 6.7-2.6 10.5-2.6.9 0 1.8 0 2.7.1 5.4-28.4 12.4-57.4 31.4-83.9-10.7-6.7-22.2-10.2-34.1-10.2zM340 122.8c-7.8 6.6-15.1 15.1-21.6 25.1-5.5 8.4-10.3 17.9-14.4 28.2 7.7 16.4 18.4 27.5 30.6 37 5.6 4.4 11.7 8.4 17.9 12.3.7-1.3 1.4-2.6 2.2-3.9 1.4-2.4 3-4.8 4.7-7-10.7-27.2-20.8-56-19.4-91.7zm92.8 3.6c-16.7 23.7-22.8 50.5-28.2 78.6.2.1.3.1.5.2 3.1 1.5 6.2 3.2 9.4 5.1 13.7-15 28.9-29.2 48.8-37.8-3.7-8.9-8.1-17.2-12.9-24.6-5.4-8.3-11.3-15.5-17.6-21.5zm36.7 63.1c-15 6.9-27.3 18.3-39.4 31.1 6.5 4.8 12.4 10 17.2 15.2.9 1 1.7 2 2.6 3 1.4-.1 2.9-.2 4.3-.2 8.1-.1 16.3.5 24.7 2.3-1.2-18.4-4.5-35.7-9.4-51.4zm-173 9.5c-4.2 16.1-6.7 33.7-7 52 13.6 7.4 26.7 7.5 41.5 5.2 4.1-.6 8.2-1.5 12.5-2.4.2-3.7.9-7.6 2-11.4-7.4-4.6-14.8-9.4-21.9-15-9.9-7.7-19.2-16.8-27.1-28.4zm-152.1 18.1c-45.81 0-75.65.1-119 13.7v50.6c43.35 13.6 73.19 13.7 119 13.7 36 0 36-78 0-78zm240 0c-1 0-3.1.7-5.9 3.1-2.7 2.3-5.7 6.1-8.4 10.5-5.3 8.8-8.7 20.4-8.7 25.4s3.4 16.6 8.7 25.4c2.7 4.4 5.7 8.2 8.4 10.5 2.8 2.4 4.9 3.1 5.9 3.1s6.7-1.4 12.8-4.4c6.2-2.9 13.4-7.2 20-11.9s12.7-9.9 16.8-14.5c3.7-4 5.1-7.8 5.4-8.2-.3-.4-1.7-4.2-5.4-8.2-4.1-4.6-10.2-9.8-16.8-14.5-6.6-4.7-13.8-9-20-11.9-6.1-3-11.8-4.4-12.8-4.4zm55 39s0 .1 0 0zm18 .8c-.3 8.1-4.9 13.7-10.1 19.5-1.9 2.1-4 4.1-6.2 6.2 11.4 7.9 22.5 16.6 32 27.4 3.8-15.7 6-32.7 6.3-50.5-7.3-1.9-14.7-2.6-22-2.6zm-167.5 14c1.4 23.4 6.3 45.3 13.7 64.3 19.9-11.9 34.1-30.1 48.2-49.7-2.4-4.5-4.3-9.2-5.8-13.8-4 .8-8.1 1.6-12.2 2.3-13.9 2.1-29 2.4-43.9-3.1zm135.9 23.7c-3.6 2.6-7.4 5-11.1 7.2 11 24 21.3 48.9 25.1 76.6 3.7-4.3 7.3-9 10.6-14.1 6.3-9.8 11.9-21 16.3-33.3-10.4-14.7-24.9-25.8-40.9-36.4zm-63.1 7c-13.9 19.1-29.5 37.6-51.6 50.1 2.3 4.4 4.7 8.6 7.3 12.6 9.7 14.9 21 26.3 33.4 33.6 14.3-30.2 16.6-59.5 18.5-89.5-1.2-.8-2.4-1.7-3.5-2.7-1.4-1.3-2.8-2.6-4.1-4.1zm35.6 8.4c-3.4 1.4-6.6 2.4-10 2.8-1.8 29.6-4.8 60.1-19.8 92.2 5.2 1.4 10.5 2.1 15.9 2.1 13.7 0 26.8-4.7 38.8-13.3-1.5-29.6-12.5-56.5-24.9-83.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Turnstile;

impl IconShape for Turnstile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M99.73 57L25 131.7V487h110V188.3l80-80V57H99.73zM80 103h80v18H80v-18zm138 27.7L154.7 194c6.4 3.2 13.6 5 21.3 5 26.1 0 47-20.9 47-47 0-7.7-1.8-14.9-5-21.3zm22.7 15.3c.2 2 .3 4 .3 6 0 8.5-1.7 16.6-4.6 24H473c5.8 0 8.9-1.8 11.3-4.5 2.3-2.6 3.7-6.5 3.7-10.5s-1.4-7.9-3.7-10.5c-2.4-2.7-5.5-4.5-11.3-4.5H240.7zm-15.2 48c-4 4.8-8.7 8.9-13.9 12.3l216.8 117.9c5 2.7 8.7 2.6 12 1.4 3.4-1.2 6.5-4 8.4-7.5 1.9-3.5 2.5-7.5 1.7-11-.8-3.4-2.7-6.5-7.7-9.3L251.7 194h-26.2zm-35 21.3c-4.2 1-8.5 1.6-12.9 1.7l86.7 211.6c2.2 5.3 5.1 7.5 8.5 8.7 3.3 1.1 7.5.9 11.2-.6 3.7-1.5 6.7-4.2 8.3-7.4 1.5-3.2 2-6.8-.1-12.1l-77.4-188.6-24.3-13.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TusksFlag;

impl IconShape for TusksFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M70.13 29.67C131.9 47.24 183 70.38 225.3 97.21l-9.1-37.18c-46.3-17.67-95.7-28.01-146.07-30.36zm344.27 1.01c-53.1 1.92-102.8 12.81-147.9 32.28 10 5.02 19.8 10.39 29.4 16.11 33.4-18.79 72.6-35.19 118.5-48.39zM236.7 68.4l10.6 43.7c5.6 4 11.1 8.2 16.5 12.4l-9.5-47.96c-5.8-2.83-11.7-5.55-17.6-8.14zm38 18.76l11 55.94c4.5 4.1 8.9 8.2 13.1 12.4l-1.7-55.1c-7.4-4.6-14.8-9.03-22.4-13.24zm-76.5 14.44c-11.2 8-21.9 16.7-32.2 26-11.8 10.7-23 22.2-33.6 34.6 19.9 2 36.7 1.9 57.5 2.6 12.4-14.5 26.3-28.5 42.1-41.8-10.6-7.4-21.9-14.5-33.8-21.4zm117.3 11.1l1.7 53.4c20.4.8 40.9-.1 59.8-.7-18.9-19.5-39.5-37.1-61.5-52.7zM76.65 176.5l-3.12 21.3 84.57.6c0-5.7-.1-11.4-.2-17-26.8-1.3-53.9-2.9-81.25-4.9zm368.15 4.1c-32 1.7-64.2 2.9-96.7 3.5-.5 5.2-.9 10.4-1.3 15.5l99.1.7zm-269 1.3c1.7 92.6-.9 186.9-5.1 281.8 2.9-1.1 5.2-2 8.8-3.1 12.8-3.7 29.3-7 45.2-4.3h.1c21 3.7 37.4 15.3 53 18.1 8.9 1.7 22.5.8 32.3-2.5 4.9-1.7 8.8-4 10.9-6.1 2.1-2 2.6-3.3 2.4-5.5v-.5c-2.8-94-1-183.1 6.7-276.7-55.9 4.7-94.4 6.2-154.3-1.2zm-82.19 34C52.82 283 26.25 368 18.37 470.1c1.43 3.3 4.2 6 8.85 8.2 5.24 2.4 12.5 3.8 19.94 3.6 14.52-.3 28.29-6.8 32.22-14.3 14.01-66.4 22.02-161.2 72.52-248.8.5-.8 1-1.7 1.5-2.5zm256.49 1.8c57.9 86.9 71.8 181.6 76.6 251 1.9 3.3 5.8 6.6 11.7 9.1 6.4 2.8 14.9 4.4 23.1 4.5 8.3.1 16.4-1.4 22.3-4 5.4-2.4 8.4-5.3 9.8-8.6.9-98.6-27-183.4-73.7-251.5zm-68.7 46.4c2.5 2.1.2 34.7 1.5 36.6 2.3 3.3 16.3-23.2 17.3-18.9 8 33.6-18.7 93-18.7 93l-58.8 4.8-8.5-24.7s-17.1-12.5-19.6-22c-2.2-8.4-3.2-23.8 5.3-25.4 7.7-1.5 21.5 25.2 27 20.1 0 0-3.5-33.5 2.1-48.8 2-5.6 3.4-20.1 10.9-14.3 4.6 3.6 17.2 74.4 19.9 1.8 2.8-10.8 15.9-6.7 21.6-2.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tv;

impl IconShape for Tv {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.992 48.756l-9.984 14.976 77.287 51.524c4.32-4.192 9.542-8.012 15.703-11.162l-83.006-55.338zm246.016 0l-83.006 55.338c6.16 3.15 11.383 6.97 15.703 11.162l77.287-51.524-9.984-14.976zM256 113.244c-22 0-35.334 7.06-43.637 15.363-4.703 4.704-7.58 9.97-9.316 14.637h105.906c-1.736-4.668-4.613-9.933-9.316-14.637-8.303-8.303-21.637-15.363-43.637-15.363zm-191.936 48c-5.044 0-11.106 2.784-15.697 7.37-4.59 4.584-7.367 10.63-7.367 15.63v279h430V184.2c.026-5.457-2.764-11.393-7.227-15.87-4.463-4.477-10.346-7.086-14.826-7.086H64.064zm30.295 23h257.745c10.374 0 20.79 6.818 26.776 16H112c-16 0-32 16-32 32v160c25.924-162.54 145.877-185.697 299.016-191.795 3.106 4.836 4.984 10.315 4.984 15.794v192c0 16-16 32-33.88 32H95.35c-15.35 0-31.35-16-31.35-32v-192c0-16 16-32 30.36-32zm328.663 7c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-23.023 144h48v18h-48v-18zm0 32h48v18h-48v-18zm0 32h48v18h-48v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TvRemote;

impl IconShape for TvRemote {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M380.412 26.416L21 374.77l121.647 121.647L491 137.005c-44.235-66.353-44.235-66.353-110.588-110.589zm-.691 22.81l22.117 22.117-12.44 12.44-22.119-22.117zm66.353 66.352l22.117 22.118-12.441 12.44-22.118-22.117zM369.353 81.71c6.871 6.871 6.871 18.012 0 24.883-6.871 6.87-18.011 6.87-24.882 0-6.871-6.871-6.871-18.012 0-24.883 6.87-6.87 18.01-6.87 24.882 0zm33.176 33.177c6.871 6.871 6.871 18.011 0 24.882-6.87 6.871-18.01 6.871-24.882 0-6.871-6.87-6.871-18.011 0-24.882 6.871-6.871 18.011-6.871 24.882 0zm33.177 33.176c6.871 6.871 6.871 18.012 0 24.883-6.871 6.87-18.011 6.87-24.882 0-6.872-6.871-6.872-18.012 0-24.883 6.87-6.87 18.01-6.87 24.882 0zm-99.53-33.176c6.872 6.871 6.872 18.011 0 24.882-6.87 6.871-18.01 6.871-24.882 0-6.871-6.87-6.871-18.011 0-24.882 6.871-6.871 18.011-6.871 24.882 0zm33.177 33.176c6.871 6.871 6.871 18.012 0 24.883-6.871 6.87-18.011 6.87-24.882 0-6.871-6.871-6.871-18.012 0-24.883 6.87-6.87 18.01-6.87 24.882 0zm33.176 33.177c6.871 6.87 6.871 18.011 0 24.882-6.87 6.871-18.01 6.871-24.882 0-6.871-6.87-6.871-18.011 0-24.882 6.871-6.871 18.011-6.871 24.882 0zM303 148.063c6.871 6.871 6.871 18.012 0 24.883-6.871 6.87-18.011 6.87-24.882 0-6.871-6.871-6.871-18.012 0-24.883 6.87-6.87 18.01-6.87 24.882 0zm33.176 33.177c6.872 6.87 6.872 18.011 0 24.882-6.87 6.871-18.01 6.871-24.882 0-6.871-6.87-6.871-18.011 0-24.882 6.871-6.871 18.011-6.871 24.882 0zm33.177 33.176c6.871 6.871 6.871 18.012 0 24.883-6.871 6.87-18.011 6.87-24.882 0-6.871-6.871-6.871-18.012 0-24.883 6.87-6.87 18.01-6.87 24.882 0zm-114.735-40.088L279.5 199.21l-44.235 44.236-24.883-24.883zm63.588 63.588l24.882 24.883-44.235 44.235-24.882-24.882zm-69.118 30.412c10.299 10.298 16.352 23.318 18.181 36.821h-41.035a24.805 24.805 0 0 1 0 17.593h41.035c-1.83 13.503-7.882 26.523-18.18 36.821-10.3 10.299-23.32 16.352-36.822 18.182v-41.036a24.805 24.805 0 0 1-17.593 0v41.036c-13.503-1.83-26.523-7.883-36.821-18.182-10.298-10.298-16.352-23.318-18.181-36.821h41.036a24.805 24.805 0 0 1 0-17.593h-41.036c1.83-13.503 7.883-26.523 18.18-36.82 10.3-10.3 23.32-16.353 36.822-18.182v41.036a24.805 24.805 0 0 1 17.593 0v-41.036c13.503 1.83 26.523 7.883 36.821 18.181zM76.985 351.96l22.118 22.118-12.441 12.441-22.118-22.117zm33.177 33.177l22.117 22.118-12.44 12.44-22.118-22.117zm33.176 33.176l22.118 22.118-12.441 12.441-22.118-22.117z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TvTower;

impl IconShape for TvTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.027 25l-11.5 46h104.946l-11.5-46h-81.946zM201 89v41.535c4.545-2 9.214-3.766 14-5.27V89h-14zm32 0v31.94c4.594-.78 9.264-1.329 14-1.637V89h-14zm32 0v30.303c4.736.308 9.406.857 14 1.636V89h-14zm32 0v36.266a135.976 135.976 0 0 1 14 5.27V89h-14zm-41 48c-65.828 0-119 53.172-119 119 0 2.35.075 4.683.209 7h237.582c.134-2.317.209-4.65.209-7 0-65.828-53.172-119-119-119zM139.627 281a118.257 118.257 0 0 0 3.893 14h224.96a118.257 118.257 0 0 0 3.893-14H139.627zm11.844 32c20.164 36.971 59.366 62 104.529 62s84.365-25.029 104.53-62H151.47zm47.738 67.668L196.187 429h119.625l-3.021-48.332C295.481 388.583 276.249 393 256 393c-20.249 0-39.48-4.417-56.791-12.332zM195.062 447l-.875 14h123.625l-.875-14H195.063zm-2 32L192 496h128l-1.063-17H193.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwoCoins;

impl IconShape for TwoCoins {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.4 95.01c-35.6-.06-80.2 11.19-124.2 34.09C96.27 152 61.45 182 41.01 211.3c-20.45 29.2-25.98 56.4-15.92 75.8 10.07 19.3 35.53 30.4 71.22 30.4 35.69.1 80.29-11.2 124.19-34 44-22.9 78.8-53 99.2-82.2 20.5-29.2 25.9-56.4 15.9-75.8-10.1-19.3-35.5-30.49-71.2-30.49zm91.9 70.29c-3.5 15.3-11.1 31-21.8 46.3-22.6 32.3-59.5 63.8-105.7 87.8-46.2 24.1-93.1 36.2-132.5 36.2-18.6 0-35.84-2.8-50.37-8.7l10.59 20.4c10.08 19.4 35.47 30.5 71.18 30.5 35.7 0 80.3-11.2 124.2-34.1 44-22.8 78.8-52.9 99.2-82.2 20.4-29.2 26-56.4 15.9-75.7zm28.8 16.8c11.2 26.7 2.2 59.2-19.2 89.7-18.9 27.1-47.8 53.4-83.6 75.4 11.1 1.2 22.7 1.8 34.5 1.8 49.5 0 94.3-10.6 125.9-27.1 31.7-16.5 49.1-38.1 49.1-59.9 0-21.8-17.4-43.4-49.1-59.9-16.1-8.4-35.7-15.3-57.6-20zm106.7 124.8c-10.2 11.9-24.2 22.4-40.7 31-35 18.2-82.2 29.1-134.3 29.1-21.2 0-41.6-1.8-60.7-5.2-23.2 11.7-46.5 20.4-68.9 26.1 1.2.7 2.4 1.3 3.7 2 31.6 16.5 76.4 27.1 125.9 27.1s94.3-10.6 125.9-27.1c31.7-16.5 49.1-38.1 49.1-59.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwoHandedSword;

impl IconShape for TwoHandedSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.68 24.68c-3.535 3.537-5.85 9.779-5.85 16.264 0 4.39 1.123 8.6 2.905 12.003l23.41-7.803 7.802-23.409c-3.403-1.782-7.612-2.904-12.003-2.904-6.485 0-12.727 2.314-16.263 5.85zm17.133 40.545L84.49 105.82c2.94-4.483 5.96-8.317 9.486-11.843 3.526-3.525 7.36-6.546 11.843-9.486L65.226 41.814l-5.854 17.558zm64.892 41.48c-3.067 3.067-5.818 6.763-8.872 11.806l77.446 73.667c2.645-3.307 5.214-6.216 7.948-8.95 2.735-2.735 5.644-5.304 8.951-7.949l-73.667-77.446c-5.043 3.054-8.739 5.805-11.806 8.872zm88.941 88.94c-9.114 9.115-17.08 22.447-35.67 50.598l11.092 11.092c34.16-51.62 34.647-52.106 86.267-86.267l-11.092-11.092c-28.15 18.59-41.483 26.556-50.597 35.67zm24.042 24.043c-3.998 3.997-7.577 8.54-11.858 14.661l242.865 237.584 42.474 21.236-21.236-42.474L234.349 207.83c-6.12 4.281-10.664 7.86-14.661 11.858z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Udder;

impl IconShape for Udder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.844 25.563c1.333 77.685 25.778 141.568 63.283 187.955 4.367-4.937 8.77-9.796 13.13-14.553a9.5 9.5 0 0 1 7.348-3.178 9.5 9.5 0 0 1 6.66 16.016c-22.957 25.048-46.51 52.82-58.777 76.95-6.132 12.067-9.31 23.07-9.037 31.874.17 5.474 1.374 10.174 4.26 14.562l16.552-22.684a9.5 9.5 0 0 1 7.898-4.008 9.5 9.5 0 0 1 7.45 15.207l-16.635 22.797c2.973.316 6.316-.284 10.474-1.75 8.174-2.882 18.38-9.868 28.734-19.672 20.704-19.608 42.15-50.057 56.953-77.644a9.5 9.5 0 0 1 9.9-4.885c6.228 1.017 22.147 2.215 35.78.573 6.816-.82 13.107-2.395 17.232-4.432 4.124-2.035 5.597-3.84 6.12-5.934a9.5 9.5 0 1 1 18.434 4.603c-2.193 8.78-8.967 14.825-16.145 18.37-7.18 3.542-15.245 5.277-23.372 6.256-12.798 1.542-25.47 1.082-34.522.143-2.816 5.038-5.806 10.122-8.937 15.192 29.03 14.058 60.48 21.354 92.34 21.115 22.055-.164 43.82-4.29 64.64-11.937-6.014-8.637-11.297-17.378-15.596-25.96A9.5 9.5 0 1 1 326 252.03c13.688 27.32 40.692 59.164 67.537 79.982 13.423 10.41 26.846 18.047 37.842 21.363 5.988 1.806 10.902 2.378 14.983 1.854l-10.996-13.093a9.5 9.5 0 0 1 7.06-15.715 9.5 9.5 0 0 1 7.49 3.494l12.054 14.352c3.226-4.725 4.71-9.948 5.042-16.102.513-9.534-2.39-21.344-8.18-34.158-11.578-25.63-34.297-54.796-57.053-79.625a9.5 9.5 0 0 1 7.322-16.01 9.5 9.5 0 0 1 6.685 3.172c3.1 3.384 6.205 6.848 9.29 10.37 37.514-47.34 61.834-111.574 62.892-186.352H24.843zm138.664 270.68c-4.952 14.607-8.863 29.266-11.043 42.61-2.476 15.154-2.608 28.608-.29 37.745 2.32 9.137 5.71 13.32 12.514 15.22 10.31 2.88 17.56 1.32 24.884-3.572 7.325-4.893 14.436-13.87 20.696-25.87 6.813-13.064 12.555-29.486 17.517-47.09-22.16-3.106-43.775-9.54-64.28-19.044zm173.04 6.083c-9.938 3.936-20.108 7.144-30.456 9.57.512.913 1.02 1.844 1.54 2.733 7.736 13.262 16.197 23.722 23.802 29.292 7.604 5.57 12.882 6.638 19.34 3.77 7.937-3.52 12.458-8.014 15.236-14.087-10.454-9.556-20.457-20.185-29.46-31.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ufo;

impl IconShape for Ufo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27c-28.334 0-54.153 8.54-73.283 22.89C163.587 64.236 151 84.874 151 108c0 8.204 1.796 15.548 4.975 21.975 2.398 5.19 5.692 9.893 9.95 13.757 1.386 1.213 2.82 2.35 4.294 3.43 4.322 3.357 9.202 6.14 14.473 8.31 19.476 8.01 44.305 10 71.307 10 3.78 0 7.51-.045 11.197-.134 8.767-.154 17.47-.64 25.965-1.713 12.52-1.48 24.056-4.003 34.145-8.154 3.58-1.473 6.982-3.23 10.152-5.257 1.413-.782 2.815-1.59 4.192-2.45 5.74-4.175 10.267-9.775 13.512-16.132 3.15-5.776 5.153-12.34 5.688-19.644.216-2.173.32-4.358.285-6.54-.065-.015-.13-.03-.196-.048-.903-22.068-13.247-41.702-31.657-55.51C310.153 35.542 284.333 27 256 27zm0 18c24.686 0 46.868 7.578 62.482 19.29C334.097 76 343 91.36 343 108s-7.273 24.542-22.543 30.824c-15.27 6.283-38.44 8.65-64.457 8.65-26.017 0-49.187-2.367-64.457-8.65C176.273 132.542 169 124.64 169 108s8.903-32 24.518-43.71C209.132 52.577 231.314 45 256 45zm-37.775 17.748c-6.138.054-12.69 2.517-18.168 6.828-11.194 8.808-14.907 22.76-8.295 31.162 6.612 8.402 21.046 8.07 32.238-.738 11.193-8.81 14.906-22.76 8.293-31.162-3.115-3.957-8.16-6.142-14.068-6.09zm-85.29 47.78c-11.378 3.587-21.944 7.64-31.537 12.095C62.448 140.707 41 164.52 41 188c0 23.48 21.448 47.293 60.398 65.377C140.348 271.46 195.273 283 256 283c60.727 0 115.65-11.54 154.602-29.623C449.552 235.293 471 211.48 471 188c0-23.48-21.448-47.293-60.398-65.377-9.533-4.426-20.028-8.457-31.325-12.025-.997 20.097-10.243 39.685-27.293 51.935l-.222.16-.233.147c-33.465 21.076-73.328 21.37-108.768 20.252-29.29-.734-63.383-3.588-88.776-25.88l-.05-.046-.05-.045c-13.61-12.312-20.22-29.268-20.95-46.59zm290.116 47.23c7.672.046 15.3 2.61 20.97 8.28 6.98 6.978 9.254 16.924 7.92 26.265-1.335 9.34-6.04 18.522-13.577 26.06-7.538 7.538-16.72 12.242-26.06 13.576-9.34 1.334-19.287-.94-26.266-7.92-6.98-6.98-9.252-16.923-7.918-26.264 1.334-9.34 6.037-18.523 13.575-26.06 7.538-7.54 16.72-12.242 26.06-13.577 1.752-.25 3.525-.373 5.296-.362zm-336.042 1.94c1.77-.01 3.543.114 5.295.364 9.34 1.335 18.524 6.037 26.062 13.575 7.538 7.538 12.24 16.72 13.574 26.062 1.334 9.34-.94 19.284-7.92 26.263-6.978 6.98-16.92 9.25-26.262 7.916-9.34-1.336-18.525-6.037-26.063-13.575-7.538-7.538-12.24-16.722-13.574-26.063-1.333-9.34.94-19.284 7.92-26.263 5.67-5.672 13.297-8.235 20.968-8.28zm336.78 16.046c-1.078-.044-2.238.017-3.485.195-4.99.712-10.922 3.523-15.88 8.482-4.96 4.958-7.77 10.89-8.484 15.88-.713 4.99.432 8.598 2.826 10.99 2.393 2.394 6 3.54 10.992 2.827 4.99-.714 10.918-3.527 15.877-8.485 4.958-4.96 7.77-10.887 8.484-15.877.712-4.99-.434-8.6-2.827-10.992-1.795-1.795-4.274-2.888-7.506-3.022zM86.27 177.686c-3.232.133-5.71 1.226-7.504 3.02-2.394 2.394-3.54 6-2.828 10.99.712 4.992 3.527 10.923 8.486 15.882 4.958 4.96 10.886 7.77 15.877 8.483 4.99.713 8.6-.432 10.993-2.826 2.393-2.393 3.54-6 2.826-10.99s-3.525-10.922-8.483-15.88c-4.96-4.96-10.89-7.77-15.88-8.483-1.25-.177-2.41-.24-3.487-.194zM256 211c10.66 0 20.48 3.17 28.027 8.83C291.577 225.492 297 234.13 297 244c0 9.87-5.424 18.508-12.973 24.17C276.48 273.83 266.66 277 256 277c-10.66 0-20.48-3.17-28.027-8.83C220.423 262.508 215 253.87 215 244c0-9.87 5.424-18.508 12.973-24.17C235.52 214.17 245.34 211 256 211zm0 18c-7.013 0-13.194 2.204-17.227 5.23-4.033 3.023-5.773 6.385-5.773 9.77s1.74 6.747 5.773 9.77c4.033 3.026 10.214 5.23 17.227 5.23s13.194-2.204 17.227-5.23c4.033-3.023 5.773-6.385 5.773-9.77s-1.74-6.747-5.773-9.77C269.194 231.203 263.013 229 256 229zm-55.1 68.898L112 480h288l-88.9-182.102C293.433 299.925 274.988 301 256 301s-37.433-1.075-55.1-3.102z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Uluru;

impl IconShape for Uluru {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416 64a32 32 0 0 0-32 32 32 32 0 0 0 32 32 32 32 0 0 0 32-32 32 32 0 0 0-32-32zM273.3 272.7l-64.5 15-44.2-7.9-116.98 25.1c-17.32 29.7-23.45 42.6-27.12 56.2h32.96c7.76-16.7 15.5-33.5 30.52-50.9l15.37-4.1c-12.15 18.2-24.3 36.2-29.52 55H126c4.5-22.7 22.4-44.5 36.3-66.7l16.2 1.2c-10.7 11.6-18.7 25.5-23.2 36l13-4.9c7.4-11.8 11.5-16.5 16.8-21.8l6.9 3.4c-10.1 11.4-9.9 17-14.6 29.8l7.1 8.1c8.5-19.2 23.7-34.7 36.7-51.3l12.2-3.7c-17.4 22.7-27.9 46.6-41.3 69.9h54.6c9.4-25.4 23.9-55.2 39.7-74.3l6.4 4.3c-8.6 16-14.4 31.7-20 47.4 35.7-25 53.3-28.3 76.7-38.5-11.1 20.3-21.7 40.8-25.7 61.1h87.3c-3.9-10.7-12.8-32.5-16.7-40.4l13.5-8.3c6.6 10.6 13.9 19.6 22.5 26.7l-13.8 22h73.2L466 312.4l-192.7-39.7zM18 381.1v17.8h476v-17.8H18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UmbrellaBayonet;

impl IconShape for UmbrellaBayonet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M455.486 12.676c-1.345-.015-2.7.037-4.058.156-10.875.95-22.054 6.227-31.098 16.914l-38.93 46c1.242-.1 2.39-.19 3.71-.3l8.97-.75.746 8.972c.11 1.322.21 2.466.317 3.707l38.927-46.002c12.92-15.267 26.22-13.18 34.998-5.752 8.78 7.43 13.037 20.2.118 35.468l13.74 11.63c18.087-21.375 13.42-47.594-2.23-60.837-6.845-5.793-15.794-9.104-25.21-9.204zM283.636 35.19l-146.74 343.417 314.417-201.523c-5.007-.68-9.623-2.192-13.49-5.465-5.344-4.523-7.665-10.97-9.067-18.116-.987-5.028-1.612-11.194-2.223-18.082-6.894.537-13.08.94-18.2.8-7.28-.202-14.023-1.425-19.366-5.947-5.344-4.52-7.663-10.97-9.065-18.115-.986-5.028-1.613-11.194-2.224-18.082-6.894.537-13.078.94-18.2.8-7.278-.202-14.02-1.423-19.365-5.944-5.343-4.522-7.664-10.97-9.066-18.116-.987-5.028-1.612-11.194-2.223-18.082-6.894.537-13.08.94-18.2.8-7.28-.202-14.023-1.424-19.366-5.946-3.868-3.273-6.123-7.575-7.62-12.4zm14.48 40.167l15.757 8.71-165.738 281.26L347.98 115.24l13.74 11.63-213.585 238.458 249.972-209.98 11.194 14.1-261.165 195.88 149.982-289.97zM120.5 383.305L25.896 491.287s31.418-12.377 44.532-22.64c18.82-14.724 52.028-52.562 70.883-76.073l-16.736 2.004-4.076-11.273z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Unbalanced;

impl IconShape for Unbalanced {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M404.5 162.5c-26.1 0-47 20.9-47 47s20.9 47 47 47 47-20.9 47-47-20.9-47-47-47zm72.2 89.1l-447.99 176 6.58 16.8 448.01-176-6.6-16.8zM121.2 287l-87.28 35 29 72.4 87.28-35-29-72.4zM256 383l-78 104h156l-78-104z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UndergroundCave;

impl IconShape for UndergroundCave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 25v94.1c29.99.1 62.76-.7 90.3 21.3l2.6 2 24.7 122.3 31.7-151.4 11 7.2c23.2 15.1 41.4 9.7 58.8-.3l11.4-6.6 15.8 103.9 19.5-92.2 17.6-.2 17.8 74.9 12.7-112.32 13.6 19.92c8.3 12.1 14.5 21.1 20.6 26.7 5.4 5 10.6 7.7 18.9 8.7 13.4-8.4 27.8-20.7 44.4-30.1 14.6-8.4 31.7-14.23 50.6-11.9V25H25zm417.6 338.7c-12 10.6-25.5 26.2-39.7 41.6-16.5 17.8-33.7 35.2-53.9 42.3l-3.2 1.1-3.2-1.3c-32.5-13.1-72.9-11.6-115.6-6.5l-2.5.3-2.3-1c-26.1-11.8-42.9-23-75.3-34.2-7 12.3-16.4 23.4-27.2 30.8-6.4 4.4-13.4 7.6-20.86 8.5-7.47 1-15.51-.7-22.15-5.5-10.43-7.5-20.87-18-31.23-25.6-7.49-5.4-14.3-8.8-20.46-9.7V487h462v-37.2c-5.1-12.7-12.2-31.1-20.8-48.7-7.2-14.9-15.8-28.8-23.6-37.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Underwear;

impl IconShape for Underwear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 123.021c-50.91 0-102.246 2.886-189.084 8.588 23.825 5.534 46.826 10.086 69.297 13.664 96.682-5.682 142.892-5.682 239.574 0 22.471-3.578 45.472-8.13 69.297-13.664-86.838-5.702-138.174-8.588-189.084-8.588zM25.117 139.664c.019 9.64.08 19.471.264 29.25 199.173 45.623 262.065 45.623 461.238 0 .184-9.779.245-19.61.264-29.25-167.381 44.142-294.385 44.142-461.766 0zm.819 47.834c.542 13.036 1.435 25.696 2.984 37.313 1.938 14.532 4.867 27.376 8.88 36.964 3.967 9.474 8.795 15.347 14.038 18.051 38.386 15.253 65.763 14.797 90.47 28.274a73.11 73.11 0 0 1 9.005 5.802c1.008-27.584 5.494-62.545 25.421-98.158-43.358-5.28-91.246-14.688-150.798-28.246zm460.128 0c-59.552 13.558-107.44 22.967-150.798 28.246 19.927 35.613 24.413 70.574 25.421 98.158a73.11 73.11 0 0 1 9.004-5.802c24.708-13.477 52.085-13.02 90.471-28.274 5.243-2.704 10.071-8.577 14.037-18.05 4.014-9.59 6.943-22.433 8.881-36.965 1.549-11.617 2.442-24.277 2.984-37.313zm-289.709 30.38c-26.301 42.381-27.315 83.996-27.353 114.577a111.803 111.803 0 0 1 6.084 9.621c9.388 16.63 17.537 39.314 25.644 71.742 6.973 27.892 30.698 41.184 55.27 41.184 24.572 0 48.297-13.292 55.27-41.184 8.107-32.428 16.256-55.112 25.644-71.742a111.803 111.803 0 0 1 6.084-9.62c-.038-30.582-1.052-72.197-27.353-114.577-40.839 3.888-78.451 3.888-119.29 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnderwearShorts;

impl IconShape for UnderwearShorts {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71.1 67.17l-4.28 38.43 379.28.7-3.8-39.13zm-6.28 56.43L24.04 423.5c55.85 22.4 114.06 20.6 173.86 1L234 282.6c12.1 9 25.5 5.3 32.2-1l39.9 146.1c61.9 24.1 132 19.5 181.9 6l-40.2-309.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Unicorn;

impl IconShape for Unicorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 20L304.887 143.357c16.494 14.608 32.743 22.57 44.963 36.97zM298.346 93.594c-12.58.436-26.59 4.984-38.047 11.77-7.64 4.523-14.115 9.97-18.304 15.142-4.19 5.173-5.79 9.832-5.648 12.668l.283 5.73-5.075 2.676C133.713 193.16 80.945 250.727 18 310.594V494h166.047c6.145-15.424 12.724-33.898 15.086-47.535 1.728-9.977-2.783-21.807-8.23-35.244-5.444-13.436-11.85-28.706-7.63-45.423 3.49-13.827 14.375-25.752 24.096-35.656 4.45-4.534 8.71-8.463 12.075-11.445-6.558-8.577-14.065-20.315-16.51-34.894l17.75-2.978c2.68 15.976 15.203 28.533 22.8 39.24l-.323.23c10.54 14.634 18.892 28.395 30.72 37.546 13.358 10.337 31.484 16.39 66.526 11.49l6.658-.932 2.782 6.124c6.96 15.322 14.372 23.89 21.015 28.423 6.643 4.535 12.63 5.46 18.692 4.79 12.125-1.34 24.29-10.974 27.76-14.264 4.13-3.92 9.657-9.476 13.32-16.124 3.347-6.076 5.073-12.687 3.48-20.744-42.68-37.562-69.592-108.75-90.256-152.6-9.245-19.62-35.786-34.492-52.967-47.95-2.427-1.4-2.675-2.582-3.24-5.154-4.215-19.167 3.188-40.257 10.974-57.298-.096.002-.186-.01-.28-.006zM59.352 136.55c17.863 4.925 37.775 9.665 57.406 14.815 14.803 3.883 29.26 7.935 42.406 12.766 17.914-12.178 37.407-24.123 59.072-35.77-51.62-13.3-109.928-3.148-158.884 8.19zm28.738 26.126c-23.002 4.133-45.974 10.254-67.147 16.662 18.133 3.813 38.298 7.314 58.207 11.242 11.774 2.323 23.337 4.766 34.256 7.643a686.475 686.475 0 0 1 27.403-21.15c-9.044-2.932-18.71-5.698-28.62-8.298-7.952-2.086-16.043-4.098-24.1-6.1zM47.44 202.94c-9.875 2.096-19.728 4.582-29.44 7.29v18.04a2251.165 2251.165 0 0 1 20.172 3.146c10.505 1.7 20.847 3.498 30.734 5.625 8.836-8.185 17.887-16.322 27.268-24.397-6.64-1.56-13.52-3.024-20.508-4.403-9.32-1.838-18.81-3.566-28.227-5.3zM304 224c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zM18 246.512v26.58c4.16.195 8.28.425 12.342.71 7.44-7.2 14.878-14.384 22.387-21.538a604.747 604.747 0 0 0-17.433-3.078A1501.67 1501.67 0 0 0 18 246.512z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Unicycle;

impl IconShape for Unicycle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198 38.33c-2 8.81.3 25.34 6.2 32.52.1.12 115.8 0 115.8 0 4 0 4-27.85-17.8-27.99-21.9-.15-64.3-5.08-83.9-9.94-19.7-4.85-18.8-1.12-20.3 5.41zM247 89v23h18V89zm0 41v14h18v-14zm0 32v159.3c2.9-.9 6-1.3 9-1.3 3.1 0 6.1.5 9 1.3V162zm35.6 55.6V236c53 12 92.4 59.3 92.4 116 0 65.8-53.2 119-119 119s-119-53.2-119-119c0-56.5 39.2-103.7 92-115.9v-18.4c-62.7 12.5-110 68-110 134.3 0 75.6 61.4 137 137 137s137-61.4 137-137c0-66.5-47.5-122-110.4-134.4zM288 295v12.3L271.3 324c5.4 2.9 9.8 7.3 12.7 12.7l23.7-23.7H336v-18zm-32 43c-7.8 0-14 6.2-14 14s6.2 14 14 14 14-6.2 14-14-6.2-14-14-14zm-28 29.3L204.3 391H176v18h48v-12.3l16.7-16.7c-5.4-2.9-9.8-7.3-12.7-12.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnionJack;

impl IconShape for UnionJack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.584 18L171.02 167.436v3.584h-44.69L18 61.836v25.557l82.975 83.627H18v32h185.02V18h-32v85.436L85.584 18zm286.057 0v185.02H494v-32h-86.775L494 84.244v-64L343.225 171.02h-3.584v-44.69L448.825 18h-25.556l-83.627 82.975V18zM18 309.293v32h85.436L18 426.73v64l149.436-149.437h3.584v44.69L62.152 494h25.555l83.313-82.662V494h32V309.293zm289.64 0V494h32v-85.123L424.765 494h64L339.64 344.877v-3.584h44.69L494 451.826V426.27l-84.314-84.977H494v-32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UpCard;

impl IconShape for UpCard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 47L139.4 202.467l93.6-40.115V359h46V162.352l93.6 40.115L256 47zM144 256L32 480h448L368 256h-71v121h-82V256h-71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Upgrade;

impl IconShape for Upgrade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29.816l-231 154v106.368l231-154 231 154V183.816zm0 128.043L105 259.783v90.283l151-101.925 151 101.925v-90.283zm0 112l-87 58.725v67.6l87-58 87 58v-67.6zm0 89.957l-87 58v64.368l87-58 87 58v-64.368z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Uprising;

impl IconShape for Uprising {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.3 71.14l8.1 95.06-14.8 2.6-24.7-91.98 9 94.78-15.7 3-24.9-92.14 9.1 94.94-14.83 2.6L71.8 88.06 83.06 200.9l47.24-8.5L148 290c3.3-1.1 6.8-1.7 10.4-1.7 2.7 0 5.3.3 7.8 1l-18.1-100.1 47.2-8.5zm175.9 5.28c-3.3 29.88-14.3 61.48-27.2 55.48-12.2-5.6-8.9-19.2.4-34.25-15.1 10.75-36.3 17.65-22.4 46.65-14.9-8.5-10.7-25.2-12.9-39.2-21.5 16.1-14.4 43.8-5.7 66.2l11.9 3.5.5-25.2 10.2 18.3c12.2-5.1 12.4-8.5 19.8-15.4-4.7 9.2-7.2 19.2-18 26.5l7.9 2.6c22.9-5.3 57.3-45.6 35.5-105.18zm96.5 39.98c-19.8.2-47.8 21.4-33.6 45.4 13.5-59.9 69.2-13.1 62.9 7.8-8.5 28.2-29 25.9-37.3 40.6l14.4 5c64.9-24.2 43.8-95.6-4.5-98.7-.6 0-1.2-.1-1.9-.1zm-166.8 77.1l-6.5 32 23.1 5.5 12.2-29.6zm153.2 33.8l-20.4 70.2c4.7-2.4 9.9-3.8 15.4-3.8 2.2 0 4.4.2 6.5.6l14.4-61.5zm-156.7 12.2c-11.3 0-20.4 10.3-20.4 23 0 12.3 8.6 22.4 19.5 22.9 2.2 9.5 4.5 19 7.1 28.5 5.6 2.9 10.5 7.2 14.4 12.3 7.1 9.5 11.2 21.9 11.2 35.5 0 6-.8 11.8-2.3 17.3.2.4.4.9.6 1.3l29.5 5.2-7.8 80.6 6.5 27.9h60.6l-9.7-103.7-.6-7.1c9.5-3.3 19.1-6 26.6-8.1l-25.6-5.5c-6.6 6-14.9 9.8-24.1 9.8-12.1 0-22.7-6.6-29.8-16-6.3-8.4-10.2-19.2-11-31-10-20-19.7-40.2-25.4-62.5 4.1-13.9-8.3-30-19.3-30.4zM84.42 249.7c-11.26 0-16.87 5.8-16.86 14.6 0 5-.56 11.1 4.48 14.1-2.53 7.9-5.51 15.5-8.74 23 4.58 1.5 8.79 4 12.5 7.2.14-.2.27-.4.41-.6 4.32-5.7 9.95-10.4 16.4-13.2 1.32-5.4 2.58-10.8 3.77-16.2 5.32-3 8.42-7.8 8.42-12.9 0-8.8-9.12-16-20.38-16zm269.48 44.7c-5.6 0-10.9 2.9-15.4 8.9-4.5 5.9-7.6 14.7-7.6 24.6 0 9.9 3.1 18.7 7.6 24.6 4.5 6 9.8 8.9 15.4 8.9s10.9-2.9 15.4-8.9c4.5-5.9 7.5-14.7 7.5-24.6 0-9.9-3-18.7-7.5-24.6-4.5-6-9.8-8.9-15.4-8.9zm-195.5 11.9c-5.6 0-10.9 2.9-15.4 8.9-4.5 5.9-7.6 14.7-7.6 24.6 0 9.9 3.1 18.7 7.6 24.6 4.5 6 9.8 8.9 15.4 8.9s10.9-2.9 15.4-8.9c4.5-5.9 7.5-14.7 7.5-24.6 0-9.9-3-18.7-7.5-24.6-4.5-6-9.8-8.9-15.4-8.9zM106 310c-5.6 0-10.94 2.9-15.4 8.9-1.13 1.5-2.17 3.2-3.1 5 3.92 8 6.09 17.3 6.09 27.2 0 6.2-.84 12.1-2.42 17.6l15.23 3.3 14.3-3c.8-1 1.7-2.2 2.3-3.2-3.6-7.7-5.6-16.6-5.6-26 0-7.6 1.3-14.8 3.6-21.4-4.4-5.6-9.5-8.4-15-8.4zm314.1 1.7c-5.6 0-10.9 2.9-15.4 8.9-4.5 5.9-7.5 14.7-7.5 24.6 0 3.7.4 7.2 1.2 10.4l17.9 3.9c0-1.3-.1-2.7-.1-4.1 0-13.6 4.1-26 11.2-35.5 1.1-1.4 2.3-2.8 3.5-4.1-3.3-2.8-7-4.1-10.8-4.1zm-367.46 5.9c-5.59 0-10.94 2.9-15.4 8.9-4.46 5.9-7.55 14.7-7.55 24.6 0 9.9 3.09 18.7 7.55 24.6 4.46 6 9.81 8.9 15.4 8.9s10.94-2.9 15.4-8.9c4.46-5.9 7.55-14.7 7.55-24.6 0-9.9-3.09-18.7-7.55-24.6-4.46-6-9.81-8.9-15.4-8.9zm148.96 2.2c-1.7 0-3.5.3-5.1.9 1.8 5.9 2.8 12.4 2.8 19.1 0 10.3-2.3 19.8-6.4 28l26.4 5.8c-.7-3.8-1.1-7.8-1.1-11.9 0-8.1 1.5-15.8 4.1-22.6-1.3-4-3.1-7.6-5.3-10.4-4.5-6-9.8-8.9-15.4-8.9zm255.6 2.1c-5.6 0-10.9 2.9-15.4 8.9-4.5 5.9-7.6 14.7-7.6 24.6.1 9.9 3.1 18.7 7.6 24.6 4.5 6 9.8 8.9 15.4 8.9s10.9-2.9 15.4-8.9c4.5-5.9 7.6-14.7 7.6-24.6 0-9.9-3.1-18.7-7.6-24.6-4.5-6-9.8-8.9-15.4-8.9zm-198 6.3c-5.6 0-10.9 2.9-15.4 8.9-4.5 5.9-7.6 14.7-7.6 24.6 0 9.9 3.1 18.7 7.6 24.6 4.5 6 9.8 8.9 15.4 8.9s10.9-2.9 15.4-8.9c4.5-5.9 7.6-14.7 7.6-24.6 0-9.9-3.1-18.7-7.6-24.6-4.5-6-9.8-8.9-15.4-8.9zm-79 55.2c-6.2 4.9-13.6 7.9-21.8 7.9-7.9 0-15.2-2.8-21.3-7.4l-31.8 6.8L129.4 494h67.7l.4-3.3c-3.6-35.3-7.4-70.6-10.9-105.9zm-97.77 3.2c-7.11 9.4-17.73 16-29.79 16-11.6 0-21.86-6.1-28.94-14.9l-5.7 1.2v66.9l8.15 38.2h70.28l5.27-39.7-15.94-68.4c-1.81-.5-2.37-.6-3.33.7zm343.17 1.7c-10 2.2-19.7 4.7-29.4 7.6l9.2 98.1h84.5l4.1-30.6v-70.9c-2.4-.8-5-1.4-7-1.6-7.1 9.4-17.7 16-29.8 16-14.2-2-24.8-8.4-31.6-18.6zm-197 7.8l-22.4 3.4 9.7 94.5h83.4l9.1-93.7-19.2-3.4c-.1.1-.1.2-.2.3-7.1 9.4-17.7 16-29.8 16-13.2-1.9-24.1-8-30.6-17.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UrsaMajor;

impl IconShape for UrsaMajor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416.125 47.825L410.1 62.022l-30.914-.441 23.562 11.232-35.037 18.389 24.842-3.82-95.908 128.76-1.239-18.575-7.258 29.98-1.164 1.565-30.755-4.304 20.906 12.933-78.225 36.717-13.889-21.115-.16 27.709-3.367 1.58-.02.008-19.279-7.174 5.891 12.307-56.31 21.585-6.73-24.35-7.198 23.88-27.743 5.795 20.176 8.718-55.066 96.504-5.844-11.638-1.756 22.386-12.29.088 11.939 9.659-10.893 15.136 14.537-4.02 3.1 12.659 5.898-14.82 28.908-12.266-19.298-5.928 51.554-90.353 14.336 16.947-3.853-29.035 1.795-.69 20.144 7.196-9.943-11.106 44.908-17.215-3.695 15.31 19.515-21.058 11.98 25.46.88-29.378 20.367 4.213-8.305-11.941 67.87-31.858-6.815 19.737 19.16-19.793 11.99 15.703.172-13.775 55.026 27.513-12.377 19.295 20.484-8.816 15.52 30.047 2.607-34.393 28.309 4.47-24.495-15.798 96.502-104.295 12.743 10.77-3.864-19.897-.24-.209 4.885-5.28-5.403-7.04 1.989-2.395-3.688-24.055-5.767 16.723-51.155-66.656 14.295-19.688-25.222 5.45-1.795-2.34zm-5.13 44.926l8.042 21.805 4.602-17.235 41.45 54.014-16.776-3.809 18.064 13.436-19.074 10.076 16.935.451-89.521 96.75-8.518-18.398-1.65 21.047-54.074-27.038 32.324-9.953-36.133-1.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Uruguay;

impl IconShape for Uruguay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.627 56.843l86.84-33.014c98.7 82.092 216.765 136.019 295.685 246.884-65.653 71.335-17.208 71.745-20.095 104.064C426.444 500.632 315.248 482.712 225.14 488.17c-47.279-23.845-88.53-54.013-128.466-46.65l-53.826-49.52z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UsaFlag;

impl IconShape for UsaFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 18v29h238V18H256zm-208 .002l-9.404 19.053-21.03 3.056 15.217 14.833L29.19 75.89l18.812-9.892 18.807 9.89-3.593-20.945L78.434 40.11l-21.032-3.055L48 18.002zm80 0l-9.404 19.053-21.032 3.056 15.217 14.833-3.59 20.946L128 65.997l18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.055L128 18.002zm80 0l-9.404 19.053-21.032 3.056 15.217 14.833-3.59 20.946L208 65.997l18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.055L208 18.002zm-39.404 54.385L159.19 91.44l-21.028 3.056 15.217 14.832-3.593 20.945 18.81-9.89 18.807 9.89-3.59-20.945 15.215-14.832-21.032-3.057-9.402-19.053zm-79.998 1.998L79.193 93.44l-21.03 3.056 15.218 14.832-3.593 20.945 18.81-9.89 18.807 9.89-3.59-20.945 15.215-14.832L98 93.44l-9.402-19.055zM256 81v30h238V81H256zM48 130.004l-9.404 19.053-21.03 3.056 15.217 14.832-3.592 20.946L48.003 178l18.807 9.89-3.593-20.945 15.217-14.832-21.032-3.056L48 130.004zm80 0l-9.404 19.053-21.032 3.056 15.217 14.832-3.59 20.946L128 178l18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.056L128 130.004zm80 0l-9.404 19.053-21.032 3.056 15.217 14.832-3.59 20.946L208 178l18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.056L208 130.004zM256 145v30h238v-30H256zM88.598 186.385l-9.405 19.054-21.03 3.056 15.218 14.832-3.593 20.945 18.81-9.89 18.807 9.89-3.59-20.945 15.215-14.832L98 205.44l-9.402-19.055zm79.998.002l-9.405 19.052-21.028 3.056 15.217 14.832-3.593 20.945 18.81-9.89 18.807 9.89-3.59-20.945 15.215-14.832-21.032-3.057-9.402-19.053zM256 209v30h238v-30H256zM18 273v30h476v-30H18zm0 64v30h476v-30H18zm0 64v30h476v-30H18zm0 64v29h476v-29H18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UsbKey;

impl IconShape for UsbKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M394.8 30.88l-65 65.03 86.3 86.29 65.1-65-86.4-86.32zm-6.3 36.04l17 17-12.8 12.72-17-17 12.8-12.72zm-82.8 30.4l-11.3 11.28 109 108.9 11.3-11.2-109-108.98zM263.3 103L23.4 342.9v60.5l85.2 85.2h60.5l240-239.9L263.3 103zm164.9 3.6l16.9 17-12.8 12.6-16.9-17 12.8-12.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ushanka;

impl IconShape for Ushanka {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M202.5 40.39c-23.3.02-52 .24-77.2 3.84-13.6 1.93-25.9 4.85-35.26 8.86-9.35 4.01-15.33 8.94-17.99 14.26-3.06 6.12-7.27 21-10.71 39.15-3.43 18.1-6.4 39.9-8.38 61.6-1.97 21.8-2.95 43.5-2.46 61.5.37 13.9 1.98 25.7 3.86 32.7h16.93c1.47-27.1 8.92-69.1 17.95-107.1 5.06-21.2 10.6-40.9 16.06-55.74 2.7-7.42 5.4-13.59 8.3-18.47 1.5-2.45 3-4.59 5-6.54 1.8-1.76 4.4-3.69 8.1-4.06 27.2-5.39 56-8.98 85.4-10.77l-9.6-19.23zm-75.8 30c-.1.03-.3.07-.5.1l1.8-.17c-.4 0-.9.03-1.3.07zm182.8-30l-9.6 19.23c29.4 1.79 58.2 5.38 85.4 10.77 3.7.37 6.3 2.3 8.1 4.06 2 1.95 3.5 4.09 5 6.54 2.9 4.88 5.6 11.05 8.3 18.47 5.5 14.84 11 34.54 16.1 55.74 9 38 16.4 80 17.9 107.1h16.9c1.9-7 3.5-18.8 3.9-32.7.5-18-.5-39.7-2.5-61.5-1.9-21.7-4.9-43.5-8.3-61.6-3.5-18.15-7.7-33.03-10.8-39.15-2.6-5.32-8.6-10.25-17.9-14.26-9.4-4.01-21.7-6.93-35.3-8.86-25.2-3.6-53.9-3.84-77.2-3.84zm75.8 30c-.4-.04-.9-.07-1.3-.07l1.8.17c-.2-.03-.4-.07-.5-.1zM256 76.35c-43.1 0-86.2 3.89-125.3 11.64-.4.4-.9.95-1.6 2.22-1.9 3.18-4.4 8.64-6.9 15.49-5 13.6-10.5 32.9-15.4 53.7-8.9 37.2-16.08 79.7-17.5 104 106.5 14.4 226.9 14.4 333.4 0-1.4-24.3-8.6-66.8-17.5-104-4.9-20.8-10.4-40.1-15.4-53.7-2.5-6.85-5-12.31-6.9-15.49-.7-1.27-1.2-1.82-1.6-2.22-39.1-7.75-82.2-11.64-125.3-11.64zm0 50.95l19.2 37.6 41.7 6.6-29.8 29.9 6.5 41.7L256 224l-37.6 19.1 6.5-41.7-29.8-29.9 41.7-6.6 19.2-37.6zM122.5 285.6c-1 8.6-1.5 17.4-1.5 26.4 0 48.9 15.6 93 40.3 124.6 24.7 31.5 58 50.4 94.7 50.4s70-18.9 94.7-50.4C375.4 405 391 360.9 391 312c0-9-.5-17.8-1.5-26.4-86.9 8.9-180.1 8.9-267 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Uzi;

impl IconShape for Uzi {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M400.29 24v32h10v35.666h24.626c.193 18.416-.062 35.84 0 52.85H410.29V152h-45.936l5.986-11.975L376.854 127H70.62v17.355L88.06 152H26.29V56h16V40l16-16h32v32h224c8.472-7.114 5.74-20.712 6-32h10v32h22c10.133-11.125 18.67-31.843 32-32zM336 81H112v18h224zm149.533 23l.176 27.523h-32.706V104zM347.73 145l-7 14H140.022l-35-14zm3.79 32c-.076 2.743-.207 5.814-.448 9.104-.786 10.733-2.02 23.154-7.87 33-6.42 10.813-17.17 17.783-28.052 21.43-14.33 4.8-31.26 6.012-46.304-.22-7.23-2.994-13.278-8.29-18.555-13.86V344h-120c2.114-46.595 6.846-96 32.833-144-6.875-7.313-12.83-15.085-18.502-23h105.67v21.45c1.643 2.234 4.083 5.428 7.6 9.517 5.91 6.875 14.058 14.15 17.844 15.72 9.593 3.972 22.743 3.45 33.698-.22 7.47-2.503 14.832-7.723 18.295-13.553 2.368-3.988 4.684-15.443 5.394-25.127.22-2.99.272-5.405.323-7.787zm-59.25 0c-8.867 15.22.87 22.81 13.966 33.29-26.754-6.708-34.985-15.372-30.556-33.29zM230 231h-48v18h48zm0 40h-64v18h64zm0 40h-73.482v18H230zm20.29 51v126h-64V362z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VacuumCleaner;

impl IconShape for VacuumCleaner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.718 28.524c-1.546-.001-3.09.01-4.63.032-20.528.29-40.464 2.677-58.374 7.902-28.656 8.36-52.804 24.703-62.717 51.734-8.846 24.123-1.132 46.174 14.352 63.112 15.483 16.938 38.137 30.613 62.14 44.273 24.004 13.66 49.415 27.172 70.094 42.21 20.68 15.037 36.234 31.401 42.22 50.093 1.124 3.506.276 14.454-1.921 23.44-.876 3.58-1.808 6.718-2.65 9.408l17.546 4.234c.84-2.748 1.747-5.924 2.588-9.365 2.488-10.175 5.153-22.05 1.58-33.207-7.773-24.272-26.598-43.033-48.777-59.16-22.179-16.128-48.104-29.824-71.775-43.295-23.672-13.471-45.032-26.852-57.76-40.776-12.728-13.923-17.423-26.537-10.736-44.77 7.498-20.448 25.514-33.257 50.857-40.652 25.343-7.394 57.333-8.66 88.924-5.681 31.59 2.98 62.835 10.149 86.8 18.886 10.344 3.771 19.325 7.848 26.303 11.858 3.216-2.397 6.614-4.797 10.184-6.94 2.174-1.305 4.44-2.527 6.808-3.582a108.01 108.01 0 0 0-4.23-2.812c-8.89-5.594-20.05-10.75-32.898-15.434-25.697-9.368-58.118-16.77-91.276-19.898-10.88-1.026-21.832-1.6-32.652-1.61zm175.904 54.288c-.362.012-.732.038-1.115.076-3.062.3-6.985 1.828-11.276 4.404-6.12 3.675-12.542 9.225-19.238 14.213l62.45 84.068 20.247-4.746c-4.262-30.338-14.22-72.644-43.539-95.263-2.891-2.231-4.996-2.837-7.529-2.752zm52.8 116.097l-17.523 4.108 50.264 214.459h18.488zM57.403 318.597l-1.965 18.478c5.836.202 11.85.48 18.011.834l1.852-17.408zm123.183 13.252l-4.99 18.357 60.283 14.621 5.502-18.306zm-146.85 22.818c-.934 0-1.105-.1-2.558 1.904-1.453 2.004-3.197 6.092-4.41 11.504-2.428 10.824-3.016 26.644-2.05 42.448.967 15.803 3.432 31.755 6.468 43.209 1.517 5.726 3.24 10.363 4.588 12.89.299.561.328.53.55.854h9.295a56.513 56.513 0 0 1-4.883-23c0-31.374 25.627-57 57-57 31.374 0 57 25.626 57 57a56.513 56.513 0 0 1-4.882 23h90.515c.458-.604 1.316-1.987 2.149-4.3 1.8-5.002 3.313-13.058 4.273-21.694 1.92-17.273 1.945-37.006 1.945-45.006 0-.625-.316-2.017-3.265-4.594-2.95-2.577-8.16-5.655-15.002-8.56-13.686-5.812-33.77-11.127-56.406-15.409-45.271-8.564-101.032-13.246-140.327-13.246zm64 50.809c-21.645 0-39 17.354-39 39 0 21.645 17.355 39 39 39 21.646 0 39-17.355 39-39 0-21.646-17.354-39-39-39zm309.563 30l-7 14h50.875l-7-14zm-44.563 32v14h126v-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Valve;

impl IconShape for Valve {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 41v18h18V41zM96.57 77c-.22.22-.77.85-1.35 2.15C93.98 81.96 93 87 93 92s.98 10 2.22 12.8c.58 1.3 1.13 2 1.35 2.2H415.4c.2-.2.8-.9 1.4-2.2C418 102 419 97 419 92c0-5-1-10.04-2.2-12.85-.6-1.3-1.2-1.93-1.4-2.15zM233 125v30h46v-30zm-64 48v30h174v-30zm32 48v190h110V221zM25 253v92h158v-92zm304 0v92h158v-92zm-73 7s38.6 55.3 31 84c-3.3 12.8-16.5 28-31 28-14.6 0-27.7-15.2-31-28-7.6-28.7 31-84 31-84zM25 363v16h158v-16zm304 0v16h158v-16zm-108.5 66l11.2 33.7c6 5.2 15 8.3 24.3 8.3s18.3-3.1 24.3-8.3l11.2-33.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VampireCape;

impl IconShape for VampireCape {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29c-8 0-15.6 4.345-21.73 12.719C228.139 50.092 224 62.317 224 76s4.139 25.908 10.27 34.281C240.4 118.655 248 123 256 123s15.6-4.345 21.73-12.719C283.861 101.908 288 89.683 288 76s-4.139-25.908-10.27-34.281C271.6 33.345 264 29 256 29zm-95.193 17.709c5.36 11.73 10.839 23.721 17.06 34.92 9.615 17.307 20.842 31.662 34.158 38.32l11.79 5.895a56.89 56.89 0 0 1-4.069-4.93C211.038 109.02 206 93.244 206 76c0-5.837.59-11.5 1.691-16.906-14.322-2.912-29.655-7.03-46.884-12.385zm190.386 0c-17.229 5.355-32.562 9.473-46.884 12.385A84.694 84.694 0 0 1 306 76c0 17.245-5.038 33.02-13.746 44.914a56.89 56.89 0 0 1-4.068 4.93l11.789-5.895c13.316-6.658 24.543-21.013 34.158-38.32 6.221-11.199 11.7-23.19 17.06-34.92zm-124.523 82.02l-14.645 7.322c-17.61 8.805-37.942 12.78-52.865 18.377-7.461 2.798-13.401 5.966-16.96 9.347-3.56 3.382-5.2 6.475-5.2 12.225 0 37.6 15.54 83.15 29.61 129.379 14.069 46.228 26.816 93.388 18.216 136.387l-.238 1.181-.537 1.078c-8.94 17.879-22.705 29.286-37.586 37.79-3.661 2.091-7.398 4.026-11.178 5.878 23.968-.33 48.317-4.023 66.35-22.056L208 459.27l6.363 6.366c8 8 15.805 15.74 23.037 21.164 3.413 2.56 6.625 4.506 9.6 5.873V244c0-1-1.397-6.713-4.414-13.21-3.017-6.498-7.362-14.25-12.219-22.02-9.714-15.543-21.79-31.467-28.73-38.407l-8.83-8.828 11.168-5.586c14.926-7.463 21.56-14.477 24.537-18.941 1.488-2.232 2.083-3.851 2.334-4.73.011-.041.006-.01.015-.044a51.013 51.013 0 0 1-4.191-3.506zm58.66 0a51.013 51.013 0 0 1-4.191 3.505c.01.035.004.003.015.043.251.88.846 2.499 2.334 4.73 2.976 4.465 9.61 11.479 24.537 18.942l11.168 5.586-8.83 8.828c-6.94 6.94-19.016 22.864-28.73 38.407-4.857 7.77-9.204 15.522-12.22 22.02C266.394 237.286 265 243 265 244v248.674c2.975-1.367 6.187-3.313 9.6-5.873 7.232-5.424 15.037-13.164 23.037-21.164L304 459.27l6.363 6.366c18.033 18.033 42.382 21.726 66.35 22.056-3.78-1.852-7.517-3.787-11.178-5.879-14.881-8.503-28.647-19.91-37.586-37.789l-.537-1.078-.238-1.181c-8.6-42.999 4.147-90.159 18.217-136.387C359.46 259.15 375 213.6 375 176c0-5.75-1.64-8.843-5.2-12.225-3.559-3.381-9.499-6.55-16.96-9.347-14.923-5.596-35.255-9.572-52.865-18.377zM246.736 141a37.331 37.331 0 0 1-3.248 5.992c-3.909 5.864-10.58 12.602-21.33 19.326 7.528 9.042 15.934 20.847 23.475 32.912.47.752.911 1.496 1.367 2.245V141zM265 141v60.475c.456-.749.898-1.493 1.367-2.245 7.541-12.065 15.947-23.87 23.475-32.912-10.75-6.724-17.421-13.462-21.33-19.326a37.331 37.331 0 0 1-3.248-5.992z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VampireDracula;

impl IconShape for VampireDracula {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19c-47.103.059-104.37 1.514-134.777 35.078-19.272 22.051-22.113 59.34-22.141 91.55-.013 15.25.89 29.319 1.84 40.03 3.42 2.125 6.765 3.998 10.168 5.508 1.906-6.213 4.188-12.19 6.889-17.853a411.19 411.19 0 0 1-.897-27.668c.004-4.162.11-8.397.309-12.645H128v-18h-9.143c.568-4.797 1.279-9.49 2.141-14H144V83h-18.324c2.45-7.015 5.462-12.914 9.101-17.078 30.825-28.62 70.834-28.757 108.229-28.904L256 76l12.994-38.982c36.423.166 84.794 3.054 108.229 28.904 3.639 4.164 6.652 10.063 9.101 17.078H368v18h23.002c.862 4.51 1.573 9.203 2.14 14H384v18h10.61c.197 4.248.304 8.483.308 12.645a411.356 411.356 0 0 1-.897 27.667c2.701 5.664 4.983 11.64 6.89 17.854 3.402-1.51 6.748-3.383 10.167-5.508.95-10.711 1.853-24.78 1.84-40.03-.028-32.21-2.869-69.499-22.14-91.55C352.365 17.425 303.361 18.985 256 19zm-91.682 128.897C132.974 165.035 121 205.545 121 252v48c2.884 29.924 30.052 42.574 48 60.271V444c0 4.935 2.352 9.45 7.75 14.36 20.432 15.936 53.229 24.47 79.21 24.64h.04c28.357-3.426 58.33-5.59 79.395-24.613C340.683 453.505 343 449 343 444v-83.729c18.205-18.5 47.537-34.698 48-60.271v-48c0-46.455-11.974-86.965-43.318-104.104-11.741-6.42-25.102-6.616-40.256-2.98-19.464 5.613-35.334 13.104-51.426 21.147-17.188-7.926-35.068-17.077-51.426-21.147-13.699-3.296-28.23-3.457-40.256 2.98zm-106.84 34.318c1.809 22.782 8.967 56.005 18.95 82.625 5.798 15.461 12.661 28.809 18.986 36.398 3.162 3.795 6.131 6.012 6.967 5.13.835-.883.619-3.576.619-6.368v-48c0-14.72 1.138-29.342 3.768-43.207-9.004-3.482-16.74-8.624-23.76-13.305-8.927-5.95-16.756-11.044-25.53-13.273zm397.043 0c-8.773 2.23-16.602 7.322-25.529 13.273-7.02 4.68-14.756 9.823-23.76 13.305C407.862 222.658 409 237.281 409 252v48c0 2.792-.216 5.485.62 6.367.835.883 3.804-1.334 6.966-5.129 6.325-7.59 13.188-20.937 18.986-36.398 9.983-26.62 17.141-59.842 18.95-82.625zM176 207.27l70.363 70.366-10.32 10.32C238.517 292.391 240 296.565 240 300h-96c0-16 16-48 48-48 1.182 0 2.46.194 3.797.523L176 232.727l-25.637 25.636-12.726-12.726zM192 300c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16zm144-92.729l38.363 38.366-12.726 12.726L336 232.727l-19.797 19.796c1.337-.33 2.615-.523 3.797-.523 32 0 48 32 48 48h-96c0-3.435 1.483-7.609 3.957-12.043l-10.32-10.32zM320 300c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16zm-203.393 36.496c-28.117 11.146-58.94 25.26-93.828 42.373 39.48 16.026 70 37.572 90.092 61.317 14.463 17.092 23.58 35.612 26.248 53.814h70.611c-16.114-4.813-33.438-11.931-45.091-22.324C156.82 464.566 151 455.065 151 444v-76.002c-12.82-11.535-24.674-19.302-34.393-31.502zm278.786 0c-9.543 12.279-23.267 21.558-34.393 31.502V444c0 11-5.683 20.495-13.395 27.613-14.023 11.575-28.946 17.825-44.95 22.387h70.226c2.667-18.202 11.785-36.722 26.248-53.814 20.092-23.745 50.613-45.29 90.092-61.317-34.889-17.114-65.71-31.227-93.828-42.373zm-165.784 4.467c7.613 4.7 16.541 13.529 26.391 14.037 10.283-2.687 17.928-7.524 26.39-14.037l11.22 14.074C282.997 362.708 267.95 372.778 256 373c-14.83-1.544-26.226-9.059-37.61-17.963zm-31.293 48.625L211.93 403h88.433l13.25-13.342 12.774 12.684L307.855 421H301l-13 39-13-39h-38l-13 39-13-39h-6.447l-18.87-18.588z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VanDammeSplit;

impl IconShape for VanDammeSplit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 73c-9.612 0-18.618 4.916-25.842 14h51.684c-7.224-9.084-16.23-14-25.842-14zm48.438 16.387C309.921 100.675 313 113.893 313 128c0 3.205-.174 6.359-.482 9.46 8.849 13.02 20.289 24.904 36.298 30.958l6.368-16.836c-12.684-4.796-22.501-16.513-30.83-29.883 15.863 8.092 33.138 14.39 53.171 15.291l.81-17.98c-27.51-1.238-49.873-14.913-73.897-29.623zM220.642 105c-2.31 6.965-3.643 14.753-3.643 23 0 15.85 4.892 30.032 12.26 39.855C236.628 177.68 245.988 183 256 183c10.012 0 19.372-5.32 26.74-15.145C290.108 158.032 295 143.85 295 128c0-8.247-1.334-16.035-3.643-23zm.812 81.139c-11.956-.368-15.006-.403-28.056 12.582-13.051 12.985-18.28 38.709-22.553 59.9 21.412 5.944 39.949 4.357 59.283 2.688l-1.66-6.688c13.99-4.287 28.922-9.6 40.213-14.375-23.877 2.181-49.9 4.009-71.446 2.547l17.666-33.775 15.952 8.341-4.233 8.092c18.714-1.057 37.465-3.225 55.598-4.289l11.824-7.182 16.547 27.249c-20.353 9.429-42.782 19.406-60.604 25.365l4.428 17.828c29.01-9.622 57.483-18.003 79.611-34.111-1.268-18.023-4.918-39.841-15.101-50.859s-21.674-13.839-28.38-13.313C281.155 195.245 269.175 201 256 201c-13.174 0-25.155-5.755-34.545-14.861zM64 250.279L32 256l12.896 65.863.2-.097c45.104 7.511 114.466 11.64 186.299 12.408-9.806-10.329-14.799-24.733-25.737-32.992-3.64-2.684-7.345-4.182-13.658-4.182v-.178c-45.337-1.213-87.535-3.733-119.662-7.584zm384 0l-8.338 38.96c-32.127 3.85-74.325 6.37-119.662 7.583V297c-6.313 0-10.019 1.498-13.658 4.182-10.814 9.49-17.395 23.004-25.737 32.992 71.833-.768 141.195-4.897 186.3-12.408l.199.097L480 256zm-213.482 28.705c-3.882.367-7.787.684-11.704.91-3.568.207-7.142.346-10.705.415l.495 3.957a37.812 37.812 0 0 1 3.738 2.427c6.36 4.691 10.872 10.667 15.047 16.668 7.337 10.548 13.712 21.314 24.611 29.684 10.899-8.37 17.274-19.136 24.611-29.684 2.812-4.041 5.792-8.06 9.371-11.695-13.133 4.537-26.352 8.487-39.021 12.865l-9.303 3.215zM25 345v142h62V345zm400 0v142h62V345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Velocipede;

impl IconShape for Velocipede {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336 35.27L282.27 89H311v26.146c-13.694.442-26.686 1.887-39 4.233V119c-20.41 0-36.037-.854-49.084-2.668 3.39-.714 6.58-1.558 9.527-2.578 3.88-1.343 7.405-2.938 10.553-5.598C246.144 105.496 249 101 249 96v-9h-9c-32 0-62.12-.124-91.975-15.05l-5.703-2.85-4.582 4.433c-7.094 6.866-9.93 15.897-9 23.55.93 7.655 4.376 13.78 7.367 19.24l2.56 4.677H144c8.2 0 18.56.003 29.492-.27 14.938 6.71 30.153 11.206 50.154 13.737-46.397 20.775-80.146 56.27-103.46 97.068-25.914 45.348-39.6 97.11-45.514 143.723C45.777 377.964 23 402.423 23 432c0 31.374 25.626 57 57 57s57-25.626 57-57c0-26.998-18.983-49.725-44.27-55.543 5.817-44.493 18.966-93.785 43.084-135.992C169.534 181.455 223.4 136.057 311 133.15v18.09c-89.057 4.69-160 78.55-160 168.76 0 93.23 75.77 169 169 169s169-75.77 169-169c0-90.21-70.943-164.07-160-168.76V89h7c5.5 0 10.848-1.408 14.926-4.977C355.004 80.455 357 75 357 70c0-10-5.576-19.303-14.637-28.363L336 35.27zm-25 134.003v127.434c-9.316 3.65-16 12.758-16 23.293 0 1.867.216 3.686.613 5.44L269.275 343H240v18h48v-8.85l17.635-11.757C309.713 343.286 314.673 345 320 345c13.7 0 25-11.3 25-25 0-1.867-.216-3.686-.613-5.44L370.725 297H400v-18h-48v8.85l-17.635 11.757a25.09 25.09 0 0 0-5.365-2.9V169.273C408.297 173.92 471 239.52 471 320c0 83.502-67.498 151-151 151s-151-67.498-151-151c0-80.48 62.703-146.08 142-150.727zM72.703 393.683C71.533 407.155 71 420.037 71 432h18c0-11.66.55-24.282 1.74-37.51C107.11 399.12 119 414.086 119 432c0 21.646-17.354 39-39 39s-39-17.354-39-39a38.842 38.842 0 0 1 31.703-38.318z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Velociraptor;

impl IconShape for Velociraptor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.357 56.129C23.914 184.67 98.5 288.625 195.225 318.419c-9.76-16.326-11.79-20.065-13.545-35.11 5.57 11.151 17.776 28.634 47.168 46.123-15.459 6.144-25.038 19.847-27.389 42.843-5.396 2.38-12.07-.661-15.805 8.78-7.575 18.099 8.399 33.481 12.643 50.216 14.08 6.437 13.144 15.724 16.855 24.6 12.993-5.169 25.986-2.705 38.979 0l-.701-14.416-21.774-3.162 3.865-8.777c-11.488-4.736-17.746-12.8-24.23-20.72.351-9.214.702-18.61 1.053-27.392 30.453-7.134 51.72-27.902 61.98-39.681 2.98-3.422-1.105-10.442-5.443-16.504 18.625-19.95 15.037-40.943 13.205-61.237 8.929 13.296 13.891 34.978 4.568 63.145 28.73-3.42 54.964-12.9 75.242-28.006-4.611-12.067-5.113-24.247-1.486-30.904 4.372 12.71 17.02 31.785 31.069 34.879 20.108 4.428 37.03-2.155 54.78-5.971-6.746 14.86-7.405 29.553-8.077 43.545 12.925-15.825 30.205-30.033 30.552-50.217.134-7.764-31.161-11.645-60.05-5.267-2.105-10.317-4.329-20.432-10.868-30.194 5.292-13.485 6.256-28.722 5.196-45.642-12.62-6.784-17.92-19.886-20.77-33.932 24.322 20.149 58.171 30.88 88.535 33.02.195-5.546 2.602-5.824-2.363-11.37-21.92-11.355-47.134-27.842-46.555-41.77 20.459.285 48.265 3.052 68.782 8.194-.673-7.697-.04-15.732-6.21-23.092-4.021-4.797-33.602-12.747-50.404-19.12-.627-3.643-2.934-12.138-9.437-12.167-36.318-.16-70.229 15.264-76.975 35.012-3.305 9.675-.1 41.943-.027 62.914-44.004-6.438-105.465 11.322-149.111 32.71C55.353 200.283 52.28 140.525 21.357 56.128zm392.815 64.396c5.525.056 8.536 6.67 7.517 10.3-.714 2.544-18.077-1.213-17.42-4.858.59-3.267 2.831-5.512 9.903-5.442zm56.062 198.188l-8.136 12c7.284 4.115 4.85 8.81 9.261 18.322 2.964-10.769 4.898-19.553-1.125-30.322zM242.24 401.98c-4.287.01-11.218 1.745-12.933 9.008l12.166 9.809c-2.176-13.427 14.83-6.788 27.318-2.36-3.928-6.695-19.406-16.471-26.55-16.457zm22.947 40.916l.995 12.975h22.595l-23.59-12.975z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VelociraptorTracks;

impl IconShape for VelociraptorTracks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.651 20.988c10.808 16.773 23.587 31.3 41.244 45.234-10.27-2.274-33.336 2.031-43.177 15.039-2.1-20.28-4.55-40.888 1.933-60.273zm36.295 66.462c5.02.13 10.25 1.489 15.344 4.463 5.787 4 17.457 72.552 34.66 103.002 5.98-7.097 8.85-12.717 11.108-19.562 4.16-12.609 41.558-.75 38 11.594-13.773 47.772-10.911 71.476-7.4 99.714 1.062 8.552-20.608 22.253-42.143 20.043C121.3 268.906 51.98 189.15 53.415 181.91c2.844-14.343 28.053-25.924 39.717-11.164 8.72 11.034 19.825 25.756 31.803 32.237-12.897-31.854-38.887-89.693-34.584-98.92 4.314-9.253 15.768-16.944 28.595-16.612zm-97.74 26.9c15.159 12.472 33.13 20.169 46.809 27.768-15.075.5-24.481 8.642-30.895 18.983-7.286-7.79-15.178-28.902-15.914-46.75zm408.143 90.708c6.482 19.385 4.03 39.992 1.931 60.273-9.841-13.008-32.906-17.315-43.177-15.04 17.657-13.934 30.438-28.46 41.246-45.233zm-36.295 66.463c12.827-.333 24.28 7.359 28.595 16.611 4.303 9.227-21.69 67.064-34.586 98.918 11.978-6.48 23.086-21.203 31.805-32.236 11.664-14.76 36.871-3.18 39.715 11.164 1.435 7.239-67.886 86.999-115.1 124.797-21.535 2.21-43.203-11.494-42.14-20.045 3.51-28.238 6.37-51.94-7.403-99.713-3.558-12.344 33.842-24.205 38.002-11.596 2.259 6.845 5.126 12.467 11.106 19.565 17.203-30.45 28.875-99.003 34.662-103.002 5.095-2.975 10.324-4.333 15.344-4.463zm97.74 26.9c-.736 17.848-8.628 38.958-15.914 46.748-6.414-10.341-15.822-18.48-30.897-18.98 13.679-7.6 31.652-15.297 46.81-27.768z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VendingMachine;

impl IconShape for VendingMachine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M100 29v454h312V29zm18 18h210v338H118zm226 16h50v66h-50zm18 18v30h14V81zm-203 7v23h-16v18h160v-18h-64V80l-16 6-6 25h-26V88zm194 55h32v18h-32zm-90 10.8c-5.4 0-10.1 3-12.8 6.7-2.9 4.9-4.5 9.6-4.1 14.5H143v18h160v-18h-23.1c.3-5.1-1.6-11-4.1-14.5-2.7-3.7-7.4-6.7-12.8-6.7zm90 21.2h32v18h-32zm-194 41v23h-16v18h160v-18h-24v-23h-24v23h-32v-31h-16v31h-32v-15zm8 61.4c-6.1 0-10.8 3.9-13.3 8-3.2 6.1-4 11.5-3.5 17.6H143v18h160v-18h-64v-23h-32v23h-23.2c.6-6-.7-13-3.5-17.6-2.5-4.1-7.2-8-13.3-8zM353 351h32v18h-32zm-235 52h210v62H118zm18 18v26h174v-26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Venezuela;

impl IconShape for Venezuela {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.34 58.23C-10.59 97.68 25.84 165.2 35.37 226.7l82.33 6.6 25.6 29.9 68.2-2.7c-26.2 76.7 6.8 128.3 25.6 185.9 54.7 22.6 92.1-11.5 131.3-39.3l-57.7-83.9 71.9 26.7c29.3-12.5 65.7-15.3 81.8-46.3l-16.9-61.1 44.7-58.9c-31.1-41-75.6-62.7-122.6-80.7l-183.8 2.2c.5-25.81-16.2-50.17-69.5-30.05-25.19 9.48-36.81 11.6-41.65 9.68 10.91 20.87 26.55 53.17 14.71 69.97-6.68 9.6-22.56 10.2-34.91-3.8-16.74-18.9 6.74-51.78 17.28-71.11.17-5.59 5.22-14.38 5.61-21.56z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VenusOfWillendorf;

impl IconShape for VenusOfWillendorf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.8 27.78c-5.1.63-10 1.82-14.6 3.5l.1 18.09 14.2.27zm18 .15L265.5 50l13.9.27-.2-18.99c-4.2-1.55-8.7-2.69-13.4-3.35zm-50.5 13.59c-2.7 2.25-5.2 4.7-7.4 7.35l7.4.15zm82 .14l.1 8.96 8.6.17a54.7 54.7 0 0 0-8.7-9.13zm-99 25.03c-1.3 4.36-2 8.92-2 13.61 0 1.28.1 2.55.2 3.81h19l-.1-17.09zm35.1.68l.1 16.74h13.4l.3-16.47zm31.8.62l-.3 16.12h14.8l-.1-15.83zm32.4.64l.1 15.48h18.2c.1-1.26.2-2.53.2-3.81 0-3.88-.5-7.67-1.4-11.34zm-96 33.47c9.3 18.3 29.9 31.2 54.6 31.2 24.7 0 45.3-12.9 54.6-31.2zm9.7 36.2c-20.2.1-31.5 8.5-40.2 22.8-4.6 7.4-8.1 16.9-10.8 27.7 5.1-2.5 10.5-4.6 16.3-6.5l9.3-22.2 16.6 7-4.1 9.8c9.7-1.9 19.8-3.4 30-4.6l2.2 17.8c-17.8 2.2-34.9 5-48.5 9.4-12.6 4-21.8 9.3-26.4 15.1-.6 4-1 8.1-1.4 12.3 5.1 22.3 11.8 37.5 18.4 45.8 6.8 8.8 11.9 10.4 17.9 9.2 6-1.2 14.2-6.9 22.5-18.1 8.2-11.2 16.4-27.3 23.2-47.3l14.9 5.1 15.4-5.3c6.8 19.9 15.3 36 24 47.3 8.7 11.3 17.6 17.3 24.5 18.6 6.9 1.4 12.7-.4 20-9.1 6.9-8.2 13.8-23.1 19-45.2-.1-2.6-.3-5.1-.4-7.6-4.6-10.1-16.2-16.6-32-20-16.1-3.5-35.2-3.5-49.7-2.6l-1.2-18c3.9-.2 8.1-.4 12.5-.5 1.6 0 3.3-.1 5-.1 7.5 0 15.6.4 23.7 1.4-1.5-2.5-3.3-5-5.1-7.6l14.6-10.4c4.4 6.2 9.9 13.4 12.6 22.5 6.1 1.8 11.9 4.3 17.2 7.4-1.2-7.4-3.1-14.2-6.1-20.2-7-13.7-19.6-24.9-49-31-11.8 6.4-25.5 10.1-40 10.1-16.6 0-32.1-4.8-44.8-13zm40.2 89.1c-6.9 19-15 34.9-23.9 47.1-9.8 13.2-20.7 22.6-33.5 25.1s-26.1-3.6-35.6-15.8c-6.6-8.4-12.1-19.7-16.7-34.2-11.6 14-11.7 28.1-8.2 41.3 2.1 8 5.8 15.4 9.6 21 3.7 5.7 8.1 9.8 8.6 10.1 19 12.4 34.1 18.1 61.9 11.7l7.4-1.7 2.9 7.1c2.4 5.7 7.3 12.2 12.9 16.8 5.6 4.5 11.7 6.8 15 6.6 11.1-.5 18.3-9.1 22.2-19.2l2.7-7 7.3 1.3c25.8 4.6 51.1 3.2 69.5-9.7 19.2-13.4 26.8-27.9 26.9-43.3.1-11.4-4.3-24-13.1-36.8-5 15.8-11.1 28-18.5 36.9-10.2 12.1-24.1 17.8-37.3 15.2-13.3-2.6-24.9-11.9-35.3-25.3-9.4-12.2-17.9-28.1-24.8-47.2zm3.4 77.2a13.79 7.423 0 0 1 13.8 7.4 13.79 7.423 0 0 1-13.8 7.4 13.79 7.423 0 0 1-13.8-7.4 13.79 7.423 0 0 1 13.8-7.4zm-90.5 44c4.9 16.6 8.6 33 14.8 46.8 8.9 19.6 21 33.7 51 38.6 5.3.9 5.6.2 6.9-1.4 1.3-1.7 2.8-6.2 3.3-12.5 1-11.5-.6-27.1.7-40.8-.2-.2-.4-.5-.5-.7-5.4-1.9-10.5-5.1-15-8.8-5.9-4.8-11.1-10.7-15-17.3-17.8 3-32.7 1.1-46.2-3.9zm178.6 4.5c-17.5 5.7-36.6 5.9-55.2 3.3-5.6 10.3-14.8 20-28 23.1-.8 1.6-1.5 3.3-2.3 5.1-.5 24.1-2.6 41.6-1 48.8.8 3.7 1.2 4.1 3.5 5.3 2.4 1.1 8.1 2.1 17.7 1.6 30-1.7 41.4-15.4 50.1-35.8 6.4-14.9 9.9-33.5 15.2-51.4zM198.4 443l6.2 33s3.9 4.7 8.5 5.8c2.4.5 4.5.4 6.1-.2 1.5-.6 2.8-1.5 4.1-4.2l12.6-25.5c-2.8.4-5.7.4-8.7-.1-10.4-1.7-19.4-4.7-27.2-8.7zm112.6 6.7c-8.9 4.8-19.6 7.9-32.3 8.6-1.6.1-3.1.1-4.5.2l10.5 21.3c1.1 2.2 2.3 3.1 4.7 3.8 2.4.8 5.9.8 9.4.1 3.5-.8 6.9-2.3 8.9-3.8 1.5-1.1 1.9-2 1.9-1.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VerticalBanner;

impl IconShape for VerticalBanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279 25v30h-46V25h46zm178 35.396c3.485 1.262 7.267 2.717 11.195 4.55 5.553 2.589 10.945 5.739 14.409 8.742C486.067 76.69 487 78.936 487 80c0 1.063-.933 3.31-4.396 6.313-3.464 3.002-8.856 6.152-14.409 8.742-3.928 1.832-7.71 3.287-11.195 4.549V60.396zm-402 0v39.208c-3.485-1.262-7.267-2.717-11.195-4.55-5.553-2.589-10.945-5.739-14.409-8.742C25.933 83.31 25 81.064 25 80c0-1.063.933-3.31 4.396-6.313 3.464-3.002 8.856-6.152 14.409-8.742 3.928-1.832 7.71-3.287 11.195-4.549zM439 73v14h-46V73h46zm-64 0v291.578L256 498.453 137 364.578V73h238zm-256 0v14H73V73h46zm210 23h-18v252.844l-55 68.75-55-68.75V96h-18v259.156l73 91.25 73-91.25V96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VerticalFlip;

impl IconShape for VerticalFlip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.373 387.02H165.49L256 477.53l90.51-90.51h-67.883V124.98h67.883L256 34.47l-90.51 90.51h67.883v262.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VibratingShield;

impl IconShape for VibratingShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 52.098c-18.38 16.053-47.185 33.518-77.79 49.72-31.429 16.64-63.92 31.224-88.325 39.985 1.978 11.276 8.625 32.908 19.18 58.363 12.599 30.386 29.991 66.674 48.845 101.404 18.854 34.731 39.218 67.959 57.514 92.11 9.148 12.075 17.812 21.879 25.164 28.322 7.351 6.443 13.412 8.861 15.412 8.861s8.06-2.418 15.412-8.861c7.352-6.443 16.016-16.247 25.164-28.322 18.296-24.151 38.66-57.379 57.514-92.11 18.854-34.73 36.246-71.018 48.846-101.404 10.554-25.455 17.201-47.087 19.18-58.363-24.406-8.761-56.897-23.345-88.327-39.985-30.604-16.202-59.41-33.667-77.789-49.72zm-132.025 9.716c-31.98 15.99-64.158 31.922-96.032 48.016L23 112.326v5.537c0 11 4.334 26.468 10.46 44.848 6.127 18.38 14.22 38.641 22.49 55.178l16.1-8.05c-7.73-15.463-15.637-35.2-21.51-52.821-4.531-13.591-7.698-26.391-8.933-33.895 29.99-15.11 60.25-30.124 90.418-45.209l-8.05-16.1zm264.05 0l-8.05 16.1c30.169 15.085 60.429 30.1 90.418 45.21-1.234 7.503-4.402 20.303-8.932 33.894-5.874 17.62-13.78 37.358-21.512 52.822l16.102 8.049c8.268-16.537 16.362-36.799 22.488-55.178C484.666 144.33 489 128.863 489 117.863v-5.537l-4.943-2.496c-31.874-16.094-64.053-32.026-96.032-48.016zM256 98.186l6.777 7.755c7.366 8.43 27.707 20.13 49.31 29.832 21.605 9.702 44.603 18.144 59.12 23.682l5.793 2.21v6.198c0 6.305-1.831 12.916-4.621 21.258-2.79 8.342-6.69 18.085-11.389 28.78-9.396 21.389-21.982 46.542-35.078 70.706-13.096 24.165-26.675 47.295-38.152 64.67-5.739 8.688-10.92 15.916-15.477 21.313-2.278 2.698-4.372 4.938-6.594 6.808-2.221 1.87-4.282 3.976-9.265 4.211l-.424.02-.424-.02c-4.983-.235-7.044-2.34-9.265-4.21-2.222-1.87-4.316-4.11-6.594-6.81-4.556-5.396-9.738-12.624-15.477-21.312-11.477-17.375-25.056-40.505-38.152-64.67-13.096-24.164-25.682-49.317-35.078-70.707-4.698-10.694-8.599-20.437-11.389-28.779-2.79-8.342-4.621-14.953-4.621-21.258v-6.199l5.793-2.209c14.517-5.538 37.515-13.98 59.12-23.682 21.603-9.702 41.944-21.402 49.31-29.832L256 98.186zm0 26.154c-12.288 10.561-30.065 19.479-48.713 27.853-19.6 8.803-38.986 16.077-53.34 21.506.608 2.68 1.504 6.005 2.744 9.713 2.523 7.542 6.247 16.888 10.8 27.25 9.103 20.724 21.517 45.56 34.421 69.37 12.904 23.809 26.325 46.638 37.348 63.325 5.511 8.344 10.454 15.172 14.21 19.622 1.073 1.27 1.707 1.816 2.53 2.654.823-.838 1.457-1.384 2.53-2.654 3.756-4.45 8.699-11.278 14.21-19.622 11.023-16.687 24.444-39.516 37.348-63.326 12.904-23.81 25.318-48.645 34.422-69.369 4.552-10.362 8.276-19.708 10.799-27.25a102.476 102.476 0 0 0 2.744-9.713c-14.354-5.429-33.74-12.703-53.34-21.506-18.648-8.374-36.425-17.292-48.713-27.853zm-56.896 303.998l-14.208 11.05s9.676 12.468 22.915 25.01c13.238 12.543 29.456 26.465 48.189 26.465s34.95-13.922 48.19-26.465c13.238-12.542 22.914-25.01 22.914-25.01l-14.208-11.05s-8.991 11.534-21.085 22.992c-12.095 11.458-27.878 21.533-35.811 21.533s-23.716-10.075-35.81-21.533c-12.095-11.458-21.086-22.992-21.086-22.992z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VibratingSmartphone;

impl IconShape for VibratingSmartphone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.5 30.5v451h243v-451h-243zm-44.41.5c-43.64 41-73.2 116-73.2 203.7 0 87.8 29.87 164 73.83 204.4C61.5 392.4 42.5 318.5 42.5 234.7 42.5 152 61.13 78 90.09 31zm331.81 0c28.9 47 47.6 121.1 47.6 203.8 0 83.8-19 157.7-48.2 204.3 43.9-40.3 73.8-116.5 73.8-204.3 0-87.7-29.6-162.8-73.2-203.8zM235.2 50.5h41.6a8 8 0 0 1 0 16h-41.6a8 8 0 0 1 0-16zM126 80c-37.75 24.9-64.74 85-64.74 154.7 0 70.4 27.11 130.3 65.14 154.8-25.5-30.3-42.84-88.2-42.84-154.8 0-66.4 17.14-124.8 42.44-154.7zm260 0c25.3 30 42.4 88.4 42.4 154.8 0 66.6-17.3 124.5-42.8 154.8 38-24.5 65.1-84.5 65.1-154.8 0-69.7-27-129.8-64.7-154.8zm-236.5 3.5h211v343h-211v-343zm105.3 349a19.26 19.26 0 0 1 20 19.3 19.26 19.26 0 0 1-19.3 19.2 19.26 19.26 0 0 1-.7-38.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VideoCamera;

impl IconShape for VideoCamera {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.15 117.516l-30.803 41.443 17.332 3.5 21.82-29.357zm344.355 16.125c-12.346.048-23.357.238-33.852.336v34.18c23.779.22 54.2 1.112 80.252-1.06 14.555-1.212 27.448-3.51 35.627-6.814 4.09-1.651 6.896-3.533 8.338-5.07 1.442-1.537 1.783-2.397 1.783-4.147 0-1.75-.341-2.61-1.783-4.146-1.442-1.537-4.248-3.419-8.338-5.07-8.179-3.304-21.072-5.602-35.627-6.815-14.554-1.213-30.773-1.455-46.4-1.394zm-111.668 8.425l-32 48h21.633l20-30h50.183v-18zM73.985 146.48L56.09 170.557l82.668 61.441c4.615 3.43 8.257 3.851 11.72 3.13 3.464-.72 6.88-3.011 9.266-6.222 2.386-3.21 3.594-7.141 3.285-10.666-.309-3.524-1.762-6.89-6.377-10.32zm104.87 61.586c1.14 2.815 1.852 5.715 2.105 8.602.22 2.512.128 4.988-.227 7.398H291.39c3.52-1.292 7.315-2 11.263-2 18.12 0 33 14.882 33 33 0 5.391-1.324 10.49-3.652 15h29.652v64h-254V231.31l-16-11.891v130.648h263c5 0 11.051-2.777 15.637-7.363s7.363-10.637 7.363-15.637V235.88l-41.662-27.813zm310.798 2.528l-46 11.5v113.945l46 11.5zm-187 29.472c-8.39 0-15 6.61-15 15 0 8.391 6.61 15 15 15 8.391 0 15-6.609 15-15 0-8.39-6.609-15-15-15zm93 0v78h30v-78zm-223.431 2c-4.633 5.23-10.836 9.18-18.08 10.686-8.326 1.731-17.897-.192-26.123-6.307l-2.366-1.757v71.378h60v-46h87.653a32.623 32.623 0 0 1-3.653-15c0-4.606.965-9.003 2.698-13zm31.431 46v28h140v-28h-41zm-52.183 80l-17.614 26.418c62.625-10.657 116.488-11.084 168.956-.957l-16.975-25.46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VideoConference;

impl IconShape for VideoConference {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-22.5 0-41 18.46-41 41s18.5 41 41 41 41-18.46 41-41-18.5-41-41-41zm0 82H41v270h430V105H256zm0-64c12.8 0 23 10.19 23 23s-10.2 23-23 23-23-10.19-23-23 10.2-23 23-23zM64 128h384v224H322.9c-.3-37.8-3.8-100.3-47.9-114a44.51 50 0 0 0 25.6-45.2 44.51 50 0 0 0-44.5-50 44.51 50 0 0 0-44.5 50 44.51 50 0 0 0 25.6 45.2c-44.1 13.7-47.6 76.2-47.9 114H64V128zm133.9 263.5l-12.4 62h138l-12.4-62H197.9zM160 471v18h192v-18H160z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VikingChurch;

impl IconShape for VikingChurch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.027 25l-5.5 22h60.946l-5.5-22h-49.946zm-43.002 32.95l-8.05 16.1 30.923 15.464-7.37 29.486h104.945l-7.371-29.486 30.923-15.463-8.05-16.102L293.873 73H289v24h-66V73h-4.873l-30.102-15.05zM241 65v14h30V65h-30zm-24 72v62h30v-39h18v39h30v-62h-78zm-84.975 16.95l-8.05 16.1 25.36 12.682L138.624 247h234.754l-10.713-64.268 25.361-12.681-8.05-16.102L349.873 169H313v48H199v-48h-36.873l-30.102-15.05zM68 244v32h.322c-1.973 4.177-3.785 9.206-5.244 14.344-2.109 7.425-3.554 14.928-4.488 20.656h37.603c-.774-5.696-2.02-13.213-3.925-20.652-1.649-6.435-3.845-12.735-6.268-17.356V244H68zm357 0v31.596c-1.922 4.256-3.656 9.452-5.014 14.752-1.906 7.44-3.149 14.956-3.923 20.652h37.603c-.934-5.728-2.38-13.231-4.488-20.656-1.687-5.94-3.841-11.742-6.178-16.233V244h-18zm-288 21v14h46v-14h-46zm64 0v14h110v-14H201zm128 0v14h46v-14h-46zm-73 31.23l-23 57.5V375h46v-21.268l-23-57.502zm-138.438.77l-23 46h123.344l18.4-46H117.563zm158.131 0l18.4 46h123.344l-23-46H275.693zM57 329v46h158v-14H65.437l16-32H57zm373.563 0l16 32H297v14h158v-46h-24.438zM55.026 393l-11.5 46h13.446l11.5-46H55.027zm32 0l-11.5 46H183v-46H87.027zM201 393v46h18.184l30.666-46H201zm61.15 0l30.666 46H311v-46h-48.85zm66.85 0v46h107.473l-11.5-46H329zm114.527 0l11.5 46h13.446l-11.5-46h-13.446zM256 416.225l-23 34.5V487h46v-36.275l-23-34.5zM41 457v30h14v-30H41zm32 0v30h46v-30H73zm64 0v30h78v-30h-78zm160 0v30h78v-30h-78zm96 0v30h46v-30h-46zm64 0v30h14v-30h-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VikingHead;

impl IconShape for VikingHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.826 18.962c-19.664 21.772-25.274 46.806-22.947 72.576 3.014 33.377 20.582 67.653 40.846 92.127 4.424 4.514 8.193 5.55 11.937 5.31 3.796-.243 7.888-2.242 11.152-5.568 3.265-3.325 5.503-7.832 5.97-12.129.465-4.297-.458-8.336-4.15-12.53l-.517-.587-.406-.668c-21.633-35.426-49.926-85.506-41.885-138.531zm132.778 1.568c6.142 37.121-4.756 72.244-17.704 102.87 8.674 6.972 17.556 15.36 26.391 24.617 7.675-18.27 13.365-37.7 14.605-56.641 1.657-25.302-3.92-49.463-23.292-70.846zM293.79 120.93a8.042 8.042 0 0 0-.846.037c-5.5.545-14.101 4.158-23.695 10.592 3.17 5.542 6.37 10.887 9.5 16.02 6.426 7.696 8.854 17.099 7.928 25.642-.956 8.81-5.083 16.749-11.02 22.797-5.936 6.047-13.88 10.347-22.844 10.921-8.964.575-18.634-3.056-26.23-10.939l-.229-.236-.209-.252a215.324 215.324 0 0 1-8.798-11.342c-8.841 12.094-16.95 25.171-23.633 38.486 5.262-.424 9.766-.787 16.596-1.342 22.344-1.815 51.953-4.235 81.502-6.656 48.432-3.968 80.82-6.632 96.662-7.935-10.957-15.193-23.235-30.317-35.579-43.52-12.34-13.198-24.754-24.498-35.595-32.025-10.164-7.057-18.988-10.223-23.51-10.248zm-15.041 26.648c-.2-.24-.393-.484-.602-.72l.924 1.255c-.106-.174-.215-.36-.322-.535zm121.473 76.238c-9.5.782-53.357 4.391-106.94 8.782a130402.1 130402.1 0 0 1-81.515 6.658c-10.86.882-19.805 1.605-26.4 2.133-2.027 5.208-3.806 10.4-5.26 15.527l229.312-18.27a365.01 365.01 0 0 0-9.197-14.83zM286.01 265.09l-108.26 9.846c-26.291 43.058-53.372 78.8-114.39 103.964-.11 10.888 2.099 20.097 6.415 28.391 18.806-3.292 36.31-7.625 53.022-12.592-12.337 10.828-25.118 21.275-39.545 30.31 4.176 4.108 8.956 8.039 14.252 11.837 26.834-13.3 63.102-33.4 78.44-43.787L115.53 448.24c5.358 3.043 11.009 6.022 16.89 8.973 10.35-4.602 19.84-9.775 27.28-16.315-2.324 8.627-5.872 16.765-10.117 24.623a2653.953 2653.953 0 0 0 16.562 7.702c23.648-15.875 48.755-35.308 65.565-49.21-8.56 16.993-25.492 40.548-42.055 60.208 5.967 2.852 11.95 5.775 17.903 8.816 27.519-23.53 43.374-38.665 61.035-48.904 16.343-9.476 34.873-14.553 64.69-19.356-31.404-51.16-50.924-97.843-47.274-159.69zm120.635 2.543a3888.277 3888.277 0 0 1-19.096 7.38 1685.056 1685.056 0 0 1-16.588 6.282c-.9.333-1.502.543-2.309.838 4.157 6.86 7.53 14.009 9.373 21.107.146.562.268 1.13.387 1.696l17.42.347c17.241.343 25.144-2.16 31.082-5.6-4.816-10.051-12.468-21.618-20.27-32.05zm-103.147 10.867c-.118 12.746.828 24.747 2.762 36.275 1.76 1.73 4.288 3.736 7.492 5.72 9.65 5.972 24.873 11.841 40.826 16.095.854.228 1.718.433 2.576.652.362-1.332.724-2.703 1.075-4.14 2.306-9.448 3.49-21.04 2.375-25.336-1.878-7.226-7.762-17.516-14.608-26.791l-42.498-2.475zm75.213 28.053c1.72 10.365-.675 21.305-2.996 30.816l-.049.192c5.442-4.88 10.576-9.54 15.602-14.082l-12.557-16.926zm38.424 18.12c-20.834 18.034-48.387 46.302-81.668 68.51a466.119 466.119 0 0 0 4.654 8.221 209.86 209.86 0 0 0 23.117-5.656c28.793-8.836 55.15-24.122 68.121-42.312-.15-6.117-1.358-13.003-3.988-18.383-2.396-4.902-5.48-8.387-10.236-10.38zm-104.881 15.509c3.79 12.414 8.748 24.52 14.719 36.73 9.808-6.722 19.25-14.074 28.26-21.588a276.096 276.096 0 0 1-5.292-1.342c-13.64-3.636-26.74-8.249-37.687-13.8zm112.975 45.023c-16.015 12.276-36.042 21.41-56.71 27.752a242.181 242.181 0 0 1-18.496 4.887 882.802 882.802 0 0 0 5.559 8.845l7.512 11.774-13.826 1.976c-15.243 2.178-27.173 4.222-37.07 6.481 4.857 7.794 9.074 15.704 14.023 22.088 5.921 7.638 12.317 13.041 23.084 15.191 7.709 1.54 15.027 2.661 21.955 3.426-10.372-17.474-18.81-33.506-16.694-33.93 10.464 12.5 21.627 24.415 34.223 35.137 6.03.142 11.66-.029 16.875-.473-6.549-10.698-11.091-22.04-3.34-36.771.809 6.527 12.803 20.592 24.883 32.752 10.675-3.387 17.581-8.31 21.438-13.42-1.967-6.603-3.248-12.754-5.022-17.906-2.213-6.426-5.082-11.745-12.443-17.526l-4.088-3.21.738-5.147c1.91-13.306.04-27.297-2.601-41.926z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VikingHelmet;

impl IconShape for VikingHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M52.441 53.88c-35.103 34.696-41.31 73.89-33.228 117.837 6.29 34.202 22.079 70.807 40.892 107.767 17.738-27.114 41.117-56.824 68.676-78.517-20.7-17.164-38.261-35.891-51.367-56.447-17.29-27.12-26.504-57.61-24.973-90.64zm407.118 0c1.531 33.03-7.683 63.52-24.973 90.64-13.106 20.556-30.667 39.283-51.367 56.447 27.559 21.693 50.938 51.403 68.676 78.517 18.813-36.96 34.603-73.565 40.892-107.767 8.082-43.947 1.875-83.141-33.228-117.836zM256 179c-8.702 0-17.061 2.757-23 7.316v22.38c6.7-2.648 14.535-4.016 23-4.016s16.3 1.368 23 4.015v-22.379c-5.939-4.559-14.298-7.316-23-7.316zm-41 30.053c-30.485 11.577-60.043 34.66-84.166 62.804C98.718 309.326 76.784 355.501 73.482 391H215V209.053zm82 0V391h141.518c-3.301-35.499-25.236-81.674-57.352-119.143-24.123-28.143-53.681-51.227-84.166-62.804zm-153.502 3.49c-29.097 22.175-55.189 56.212-73.732 85.506a2034.036 2034.036 0 0 0 9.447 17.562c10.162-19.226 23.088-38.126 37.953-55.468 11.983-13.98 25.289-26.965 39.557-38.155a416.25 416.25 0 0 1-13.225-9.445zm225.004 0a416.25 416.25 0 0 1-13.225 9.445c14.268 11.19 27.574 24.175 39.557 38.155 14.865 17.342 27.79 36.242 37.953 55.468 3.179-5.85 6.339-11.705 9.447-17.562-18.543-29.294-44.635-63.33-73.732-85.506zM256 222.68c-7.62 0-14.449 1.66-18.602 3.736-3.262 1.631-4.103 2.973-4.318 3.264.215.29 1.056 1.632 4.318 3.263 4.153 2.077 10.981 3.737 18.602 3.737 7.62 0 14.449-1.66 18.602-3.737 3.262-1.63 4.103-2.972 4.318-3.263-.215-.291-1.056-1.633-4.318-3.264-4.153-2.077-10.981-3.736-18.602-3.736zm22.92 7c.059.08.08.095.08 0 0-.096-.021-.08-.08 0zm-45.84 0c-.059-.08-.08-.096-.08 0 0 .095.021.08.08 0zm-.08 20.984v48.352c6.7-2.648 14.535-4.016 23-4.016s16.3 1.368 23 4.016v-48.352c-6.7 2.648-14.535 4.016-23 4.016s-16.3-1.368-23-4.016zM256 313c-7.62 0-14.449 1.66-18.602 3.736-3.262 1.632-4.103 2.973-4.318 3.264.215.291 1.056 1.632 4.318 3.264C241.551 325.34 248.38 327 256 327c7.62 0 14.449-1.66 18.602-3.736 3.262-1.632 4.103-2.973 4.318-3.264-.215-.291-1.056-1.632-4.318-3.264C270.449 314.66 263.62 313 256 313zm22.92 7c.059.08.08.096.08 0s-.021-.08-.08 0zm-45.84 0c-.059-.08-.08-.096-.08 0s.021.08.08 0zm-.08 20.984v45.87c6.7-2.649 14.535-4.016 23-4.016s16.3 1.367 23 4.016v-45.87c-6.7 2.648-14.535 4.016-23 4.016s-16.3-1.368-23-4.016zm23 59.854c-7.62 0-14.449 1.66-18.602 3.736-3.262 1.631-4.103 2.973-4.318 3.264.215.29 1.056 1.632 4.318 3.264 4.153 2.076 10.981 3.736 18.602 3.736 7.62 0 14.449-1.66 18.602-3.736 3.262-1.632 4.103-2.973 4.318-3.264-.215-.291-1.056-1.633-4.318-3.264-4.153-2.076-10.981-3.736-18.602-3.736zm22.92 7c.059.08.08.095.08 0 0-.096-.021-.08-.08 0zm-45.84 0c-.059-.08-.08-.096-.08 0 0 .095.021.08.08 0zM73 409v30h18.455c-2.78-4.422-4.455-9.52-4.455-15s1.676-10.578 4.455-15H73zm55 0c-7.013 0-13.194 2.204-17.227 5.229C106.74 417.253 105 420.615 105 424c0 3.385 1.74 6.747 5.773 9.771C114.806 436.796 120.987 439 128 439s13.194-2.204 17.227-5.229C149.26 430.747 151 427.385 151 424c0-3.385-1.74-6.747-5.773-9.771C141.194 411.204 135.013 409 128 409zm36.545 0c2.78 4.422 4.455 9.52 4.455 15s-1.676 10.578-4.455 15H215v-30h-50.455zM297 409v30h50.455c-2.78-4.422-4.455-9.52-4.455-15s1.676-10.578 4.455-15H297zm87 0c-7.013 0-13.194 2.204-17.227 5.229C362.74 417.253 361 420.615 361 424c0 3.385 1.74 6.747 5.773 9.771C370.806 436.796 376.987 439 384 439s13.194-2.204 17.227-5.229C405.26 430.747 407 427.385 407 424c0-3.385-1.74-6.747-5.773-9.771C397.194 411.204 391.013 409 384 409zm36.545 0c2.78 4.422 4.455 9.52 4.455 15s-1.676 10.578-4.455 15H439v-30h-18.455zM233 428.822v16.453l23 34.5 23-34.5v-16.453c-6.7 2.648-14.535 4.016-23 4.016s-16.3-1.368-23-4.016z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VikingLonghouse;

impl IconShape for VikingLonghouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 123.1c-20.516 15.092-38.26 36.844-53.766 59.9h107.532c-15.505-23.056-33.25-44.808-53.766-59.9zm-176.877 3.42l-7.162 41.718c-.143.016-13.15 77.655-13.15 77.655 30.433-3.215 60.18-5.702 89.395-7.475 13.228-23.585 28.986-53.104 48.95-80.135-33.286 1.448-68.19 4.104-106.41 7.987l6.132-36.79-17.754-2.96zm337.58.427l-17.756 2.96 6.006 36.032c-31.242-3.483-60.796-5.96-89.932-7.415 20.034 27.173 35.822 56.82 49.074 80.422a1554.483 1554.483 0 0 1 73.076 6.817L423.9 168.14c-.227-.027-7.197-41.193-7.197-41.193zM190.69 201c-7.623 12.392-14.61 24.686-21.127 36.24 59.372-2.912 116.642-2.788 173.076.36-6.576-11.657-13.63-24.08-21.33-36.6H190.69zm64.01 51.998c-7.23.006-14.462.06-21.7.158V279h46v-25.81c-8.072-.124-16.17-.188-24.3-.192zm-39.7.504c-36.22.876-72.693 2.9-110 6.05V279h110v-25.498zm82 .082V279h110v-18.523a1538.762 1538.762 0 0 0-110-6.893zm-210 7.568c-9.934.927-19.925 1.922-30 3.004V279h30v-17.848zm338 1.205V279h30v-13.055l-8.117-1.015A1555.665 1555.665 0 0 0 425 262.357zM51.727 297l-30 30h468.546l-30.002-30H51.728zM23 345l-.5 94-.5 18h468l-.5-18-.5-94h-18v94h-26.8v-94h-18v94h-26.8v-94h-18v94h-26.8v-94h-18v94h-26.8v-94h-18v94H265v-94h-18v94h-26.8v-94h-18v94h-26.8v-94h-18v94h-26.8v-94h-18v94H85.8v-94h-18v94H41v-94H23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VikingShield;

impl IconShape for VikingShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25C128.316 25 25 128.316 25 256s103.316 231 231 231 231-103.316 231-231S383.684 25 256 25zm0 14c119.74 0 217 97.26 217 217s-97.26 217-217 217S39 375.74 39 256 136.26 39 256 39zm0 18c-7.78 0-15.453.46-23 1.326v111.697c7.34-1.968 15.05-3.023 23-3.023 7.95 0 15.66 1.055 23 3.023V58.326C271.453 57.46 263.78 57 256 57zm-41 4.227c-16.142 3.373-31.56 8.696-46 15.716V215h8.035c8.456-16.208 21.757-29.51 37.965-37.965V61.227zm82 0v115.808c16.208 8.456 29.51 21.757 37.965 37.965H343V76.943c-14.44-7.02-29.858-12.343-46-15.716zM151 86.885c-17.284 10.744-32.797 24.06-46 39.422V236.45c3.02-1.604 5.64-2.958 7.686-4.18 2.893-1.726 4.5-3.113 5.224-4.1.726-.987 1.09-1.67 1.09-4.17v-9h32V86.885zm210 0V215h32v9c0 2.5.39 3.29 1.123 4.338.734 1.048 2.253 2.43 4.87 4.174 2.117 1.412 4.885 3.023 8.007 5.017V126.306c-13.203-15.363-28.716-28.678-46-39.422zm-274 63.93C67.99 181.326 57 217.362 57 256c0 38.64 10.99 74.676 30 105.184V264.66c-.652-.463-1.307-.936-1.97-1.426L75.26 256l9.773-7.234c.663-.49 1.318-.963 1.97-1.426v-96.524zm338 0v101.458l3.73 3.727-3.73 3.727v101.457c19.01-30.508 30-66.545 30-105.184 0-38.64-10.99-74.676-30-105.184zM256 185c-39.32 0-71 31.68-71 71s31.68 71 71 71 71-31.68 71-71-31.68-71-71-71zm0 30c22.537 0 41 18.463 41 41s-18.463 41-41 41-41-18.463-41-41 18.463-41 41-41zm-120.596 18c-.756 2.114-1.724 4.108-2.99 5.83-2.95 4.013-6.696 6.626-10.504 8.9-4.574 2.73-9.558 5.203-14.924 8.27 5.365 3.067 10.35 5.54 14.924 8.27 3.808 2.274 7.554 4.887 10.504 8.9 1.266 1.722 2.234 3.716 2.99 5.83h34.62c-1.97-7.34-3.024-15.05-3.024-23 0-7.95 1.055-15.66 3.023-23h-34.62zM256 233c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm85.977 0c1.968 7.34 3.023 15.05 3.023 23 0 7.95-1.055 15.66-3.023 23h34.593c.723-2.052 1.635-3.988 2.807-5.662 2.766-3.952 6.247-6.57 9.63-8.826 4.285-2.856 8.634-5.36 13.007-8.512-4.373-3.152-8.722-5.656-13.006-8.512-3.384-2.256-6.865-4.874-9.63-8.826-1.173-1.674-2.085-3.61-2.808-5.662h-34.593zM407 274.47c-3.122 1.995-5.89 3.606-8.008 5.018-2.616 1.744-4.135 3.126-4.87 4.174C393.39 284.712 393 285.5 393 288v9h-32v128.115c17.284-10.744 32.797-24.06 46-39.422V274.47zm-302 1.08v110.143c13.203 15.363 28.716 28.678 46 39.422V297h-32v-9c0-2.5-.364-3.183-1.09-4.17-.725-.987-2.33-2.374-5.224-4.1-2.046-1.222-4.667-2.576-7.686-4.18zM169 297v138.057c14.44 7.02 29.858 12.343 46 15.716V334.965c-16.208-8.456-29.51-21.757-37.965-37.965H169zm165.965 0c-8.456 16.208-21.757 29.51-37.965 37.965v115.808c16.142-3.373 31.56-8.696 46-15.716V297h-8.035zM233 341.977v111.697c7.547.866 15.22 1.326 23 1.326 7.78 0 15.453-.46 23-1.326V341.977c-7.34 1.968-15.05 3.023-23 3.023-7.95 0-15.66-1.055-23-3.023z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Village;

impl IconShape for Village {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109.902 35.87l-71.14 59.284h142.28l-71.14-59.285zm288 32l-71.14 59.284h142.28l-71.14-59.285zM228.73 84.403l-108.9 90.75h217.8l-108.9-90.75zm-173.828 28.75v62h36.81l73.19-60.992v-1.008h-110zm23 14h16v18h-16v-18zm265 18v10.963l23 19.166v-16.13h16v18h-13.756l.104.087 19.098 15.914h-44.446v14h78v-39h18v39h14v-62h-110zm-194.345 48v20.08l24.095-20.08h-24.095zm28.158 0l105.1 87.582 27.087-22.574v-65.008H176.715zm74.683 14h35.735v34h-35.735v-34zm-76.714 7.74L30.37 335.153H319l-144.314-120.26zm198.046 13.51l-76.857 64.047 32.043 26.704H481.63l-108.9-90.75zm-23.214 108.75l.103.086 19.095 15.914h-72.248v77.467h60.435v-63.466h50v63.467h46v-93.466H349.516zm-278.614 16V476.13h126v-76.976h50v76.977h31.565V353.155H70.902zm30 30h50v50h-50v-50z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vines;

impl IconShape for Vines {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.08 18c4.32 18.37 9.33 36.29 15.01 53.68-.99-.15-1.98-.21-2.97-.17-9.32.36-19.01 8.62-28.59 14.24 12.77 10 24.49 26.25 41.05 12.99 1.96 5.16 3.97 10.36 6.04 15.36-3.11-1-5.87-1.6-8.32-1.7-16.14-.7-19.25 17.7-25.2 32 16.02.3 35.02 6.2 40.58-13.7 5.49 12.5 11.32 24.5 17.52 36.1-1.3 0-2.5-.1-3.6-.1-22.72.4-19.4 21.6-21.04 38.8 14.28-4.1 32.34-4.4 34.44-20.8 19.7 34 42.2 64.3 66.8 89.9-64.3-6.8-121.71-28.3-163.7-49.3v58.5c63.33 26.5 138.6 38.1 211.4 32.6 13.9 10.1 28.3 19 43.2 26.5-23 3.9-19.4 28.8-21.4 49.4 21.4-6.2 49.5-5.7 44-39.1 7.4 3 15 5.7 22.6 8.1-17.7 17.5-2.3 36.7 6.8 55.6 9.9-15.6 25.7-30 15.5-49.7 40.8 9 83.5 8.8 126.9-1.8-9.4 7.4-20 14.4-31.4 21.1-39.8 23.2-90.1 41.8-143.1 51-98.5 17.1-205.44 2.1-275.6-71.2v25c3.96 3.6 8.01 7 12.15 10.3-6.59 24.4-4.83 49.8 3.26 75.2l17.16-5.4c-6.49-20.4-8.29-39.7-4.64-58.3 11.1 7.5 22.7 14 34.68 19.7 6.82 18.2 4.04 34.2-1.38 51.6l17.2 5.4c4.57-14.8 7.87-31 5.07-48.3 8.6 3.2 17.4 6.1 26.3 8.5-2.6 15.4 2.8 29 6.8 43.8l17.4-5c-3-11.8-8.1-22.4-6.3-34.6 49.2 10.4 101.4 9.6 151 1 31.3-5.5 61.7-14 89.8-24.9-2.8 16.5-.3 33.5 6.3 50.1l16.8-6.6c-7.5-18.7-8.5-35.6-2.1-52.2 6.4-2.9 12.8-5.9 18.9-9 3.2 14.7.6 28.2-4 42.9l17.2 5.4c5.3-17.2 9.1-36.4 3.2-57.1 18.3-11.3 37-23.8 51.2-36.3v-28.7c-31 11.1-61.4 16.7-91.2 17.1 11-10.3 5.9-29.8 5.1-47-20.3 9.2-48.3 12.8-37.9 45.2-39.3-4.7-77-18.7-111.9-40.7 8.8-1.2 17.6-2.7 26.2-4.4C373.2 291 452 245.3 494 168v-23c-34.8 41.8-72.3 71.8-110.7 92.5-7.7-14.3-21.5-36.8-21.5-52.5.1-1.7 1.8-4.9 5.1-9.5 3.2-4.7 8.1-10.8 8.1-19.8-.5-9.3-4.4-18-8.5-25.1 49.4-18.8 85.9-66.67 92.4-112.6h-18.1c-7.1 40.61-45.2 87.1-91.8 99.4-24.3 6.5-50.7 4.3-77.7-11.9-25.1-14.99-50.9-42.53-74.4-87.5h-20.3c22.2 44.63 46.9 75.17 72.7 94.4-5 11-11 25-11.3 35.5-.1 11.4 5.6 20.1 9.8 27.5 4.1 7.3 6.9 13 6.5 17.6-3.9 13.5-10.8 23.7-19.6 34.7l13.8 11.4c9.4-12.5 22.4-30.1 23.8-44.7.8-11.5-4.7-20.5-8.9-28-4.3-7.4-7.4-13.5-7.4-18.3 1.4-9.7 5-17.5 8.4-25.7 10.2 5.8 20.4 9.9 30.6 12.6.5 1.2 1 2.6 1.5 4 2.3 6.4 4.4 14.4 4.4 17.4 0 2.3-1.8 6.5-4.4 12.1-2.6 5.5-6.2 12.8-4.3 21.7 4.9 14.9 15.1 24.8 26.5 34.8l11.8-13.6c-6.5-6.8-18-15.3-20.7-25-.4-1.9.5-5.1 2.9-10.2 2.5-5 6.3-11.4 6.2-20-.1-6.1-1.7-12.2-3.5-17.8 11.4.8 22.6 0 33.4-2.4 6.6 11 8.1 22.1 3.4 29.1-3.3 4.6-8.1 10.6-8.4 19.4v.1c1.6 23.2 12.6 42.2 23.4 61-44 20.7-88.9 29.9-132 31.1-8.4.2-16.6.2-24.9-.1-8.1-7.5-16-15.5-23.6-24 14.3-1.5 19.9-19.4 27.6-33.2-8.7-1.1-17.9-3.8-26.2-3.9-8.9-.1-16.7 2.6-21.4 13.2-4.6-6-9.1-12.1-13.4-18.4 25.9-1.2 20.1-22.9 20-40.9-13.3 5.3-30.5 7.5-32.1 22.5-21.9-35.1-40.5-75.2-55.02-119.44 12.68 8.09 25.02-5.04 37.42-13.54-9.7-6.64-19-16.63-29.39-16.19-4.64.2-9.49 2.49-14.67 8.11A667.22 667.22 0 0 1 71 18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Virgo;

impl IconShape for Virgo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.108 95.4c0-7.73-.975-15.69-4.336-22.874-2.69-4.525-6.29-4.78-9.157-3.12-3.684 2.13-8.016 8.446-8.016 20.61.63 82.52-1.568 171.5-2.794 253.63H70.74V95.395c0-22.24-9.21-41.34-37.85-41.452l-8.758-.04C42.254 33.26 60.295 24.386 89.435 24.386c18.78 0 36.332 7.443 48.47 20.104l1.965-1.78 2.314-1.983c17.45-13.458 37.45-16.335 52.62-16.335 18.747 0 36.268 7.415 48.402 20.04l1.897-1.718 2.305-1.982c17.46-13.458 37.452-16.336 52.624-16.336 34.38 0 64.434 24.884 65.096 60.787.372 19.93.336 46.43.094 75.296 7.926-22.432 23.416-50.88 51.044-50.88 22.807 0 68.417 1.143 68.417 140.26 0 100.9-52.43 158.528-88.714 186.742 4.672 1.804 9.595 2.547 14.594 2.547 25.09 0 45.615-20.526 45.615-20.526v28.514s-8.554 27.936-71.27 27.936c-18.69 0-33.924-3.012-46.37-8.334-38.643 12.317-85.332 19.165-85.332 19.165v-30.792s23.99-1.208 53.3-13.695c-19.102-25.98-23.054-63.213-24.934-97.764l-.228-8.275V95.4c0-7.73-.98-15.69-4.337-22.874-2.596-4.373-6.025-4.695-8.697-3.366-3.428 1.706-7.697 7.1-8.382 17.898.98 75.646-1.655 183.16-2.747 256.596h-81.066V95.4zm188.08 144.462l-.03 2.054-.144 8.463c-.613 36.676-1.27 70.48-1.607 93.27 0 22.467 1.978 39.966 5.41 53.482 24.867-28.925 43.893-72.226 43.893-137.014 0-184.137-46.103-65.27-47.522-20.256z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VirtualMarker;

impl IconShape for VirtualMarker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32L32 224h128l96-80 96 80h128L256 32zm0 176l-52 39H32v18h172l52 39 52-39h172v-18H308l-52-39zM32 288l224 192 224-192H352l-96 80-96-80H32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VitruvianMan;

impl IconShape for VitruvianMan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23c-70.045 0-132.915 30.997-175.646 80H63v22.514C37.756 162.755 23 207.67 23 256c0 48.329 14.756 93.245 40 130.486V489h386V386.486c25.244-37.241 40-82.157 40-130.486 0-48.329-14.756-93.245-40-130.486V103h-17.354C388.916 53.997 326.045 23 256 23zm0 18c58.943 0 112.296 23.66 151.113 62H104.887C143.704 64.66 197.057 41 256 41zm-152.635 80h145.201c-2.774 1.54-5.432 3.983-7.859 7.396C236.169 134.778 233 144.303 233 155s3.17 20.222 7.707 26.604c4.538 6.38 9.876 9.396 15.293 9.396s10.755-3.015 15.293-9.396C275.831 175.222 279 165.697 279 155s-3.17-20.222-7.707-26.604c-2.427-3.413-5.085-5.855-7.86-7.396h145.202l-100.436 62h36.375l85.748-52.938c.225.312.455.62.678.932V201H277.562c-6.112 4.924-13.487 8-21.562 8-8.075 0-15.45-3.076-21.563-8H81v-70.006c.223-.312.453-.62.678-.931L167.426 183H203.8l-100.436-62zM63 161.098v189.804C48.92 322.287 41 290.08 41 256s7.92-66.287 22-94.902zm386 0c14.08 28.615 22 60.822 22 94.902s-7.92 66.287-22 94.902V161.098zM81 223h136v244.47a213.512 213.512 0 0 1-57.34-19.185l39.34-59.01v-40.08l-59.615 87.508A215.834 215.834 0 0 1 81 381.006V223zm214 0h136v158.006a215.834 215.834 0 0 1-58.385 55.697L313 349.195v40.08l39.34 59.01A213.512 213.512 0 0 1 295 467.471V223zm-48 97h18v150.799a219.11 219.11 0 0 1-9 .201c-3.016 0-6.014-.079-9-.201V320zM81 409.729c23.202 26.386 52.264 47.494 85.148 61.271H81v-61.271zm350 0V471h-85.148c32.884-13.777 61.946-34.885 85.148-61.271z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VolleyballBall;

impl IconShape for VolleyballBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M465.506 158.69c-7.138-15.368-15.758-29.567-25.59-42.534-79.844-32.376-162.79-47.333-241.834-28.292-.137 19.33 3.188 40.914 11.305 64.778 70.284-9.598 160.966-24.52 268.618 39.385-3.26-11.245-7.413-22.386-12.5-33.337zm18.203 58.117c-107.69-70.687-194.512-57.03-267.76-46.902 9.848 23.498 24.222 49.02 44.244 76.587 70.258-7.422 118.49-1.61 153.922 12.618 30.108 12.09 50.54 30.325 66.713 50.185 7.1-29.894 8.275-61.334 2.88-92.488zm-69.896-129.6C359.93 36.814 284.106 14.612 210.56 29.46c-5.302 11.677-9.29 24.886-11.21 39.638 71.034-15.765 144.075-5.9 214.464 18.108zm60.815 243.53c-6.477-8.88-13.35-17.292-21.234-25.016-21.66 58.178-65.025 121.3-123.31 169.086 7.814-2.658 15.567-5.747 23.224-9.303 59.5-27.636 101.667-77.3 121.32-134.765zm-35.86-37.554c-8.967-6.636-19.227-12.496-31.36-17.37-11.717-4.704-25.292-8.457-41.19-10.96-32.206 124.328-98.617 181.332-160.352 216.69 25.82 5.753 52.735 7.112 79.583 3.643 74.39-48.188 130.225-125.46 153.32-192.003zm-90.565-30.525c-23.448-2.084-51.307-1.765-84.702 1.68-9.487 42.888-40.296 85.676-75.02 117.702-18.286 16.867-37.704 30.693-56.217 39.685-9.17 4.454-18.15 7.824-26.79 9.61 22.383 19.208 48.125 33.814 75.663 43.25 63.77-33.438 133.133-83.017 167.065-211.927zM189.09 34.885c-10.246 3.118-20.402 6.967-30.397 11.61-16.593 7.706-31.83 17.133-45.616 27.957-5.89 87.158 20.142 182.194 93.732 261.375 19.46-24.644 34.454-52.15 39.635-77.65-68.615-94.02-75.7-169.977-57.355-223.292zM94.333 90.902c-16.992 16.624-31.13 35.613-42.11 56.184l.81.353c-3.846 8.868-4.613 27.78-1.037 50.583 3.576 22.803 10.945 49.684 20.782 76.314 18.458 49.964 46.624 99.226 71.283 119.88 10.69-7.05 21.652-15.663 32.22-25.41 6.485-5.98 12.812-12.396 18.854-19.124-73.19-77.916-102.486-171.463-100.8-258.78zm-61.037 103.59c-14.097 50.973-10.85 107.033 13.2 158.815 10.717 23.072 24.754 43.528 41.265 61.087 8.89 1.098 21.96-1.727 36.642-8.86 1.09-.528 2.19-1.082 3.297-1.655-28.57-26.227-53.71-74.316-71.807-123.305C45.707 253 38.038 225.2 34.213 200.812c-.335-2.138-.635-4.238-.917-6.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vote;

impl IconShape for Vote {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494 21.621c-14.947 8.43-29.566 17.581-43.67 29.227l7.318 38.547C471.923 93.66 483.583 95.26 494 95.36v-73.74zm-98.982 24.512c-15.283-.085-32.48 2.596-53.832 6.834l-.22.043-.22.033c-14.77 2.177-40.794 12.065-66.465 38.867l44.27 11.766c.972-1.493 5.936-9.004 6.88-10.555 5.124 3.123 10.248 6.244 15.372 9.365-12.475 20.475-26.742 35.556-43.934 54.522-2.123 4.718.977 8.199 4.36 10.14 5.22 2.931 14.1 3.09 16.437 2.102 23.932-15.768 40.819-35.928 55.963-56.271l5.469.964c11.501 2.031 26.47 1.058 38.707-2.853 11.098-3.548 19.272-9.357 22.662-15.688L432.54 53.65c-12.044-5.214-24.039-7.442-37.523-7.517zM227.932 98.717l-29.436 115.986 9.643.297H311.27l.9-.209 6.804-27.092c-8.86 1.9-18.296-.217-26.557-4.855-5.188-2.913-10.024-7.24-12.621-13.434-7.797-19.938 15.857-37.297 28.724-52.75l-80.59-17.943zM69.562 201l-23 46h418.875l-23-46H334.195l-3.517 14H352v18H160v-18h19.852l3.552-14H69.563zM41 265v222h430V265H41zm14 14h402v194H55V279zm18 18v118.238l34.502-74.994 73.36 31.762 66.652-45.84 37.513 57.273 50.11-4.595 31.3-39.332L439 394.627V297H73zm169.543 54.43l-90.63 62.33 27.01 41.24h95.606l19.666-24.71-51.652-78.86zm-126.045 12.326L74.521 455h82.885l-30.193-46.098 36.144-24.857-46.859-20.29zm253.065.732L297.533 455h140.54l.927-1.166v-36.602l-69.438-52.744zm-49.944 33.854l-23.426 2.148 9.805 14.969 13.621-17.117z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VrHeadset;

impl IconShape for VrHeadset {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27c-7.2 0-14.6 1.01-19.2 2.54-2 .69-3.2 1.44-3.8 1.85V169.2c7.7-.1 15.3-.2 23-.2 7.7 0 15.3.1 23 .2V31.39c-.6-.41-1.8-1.16-3.8-1.85-4.6-1.53-12-2.54-19.2-2.54zm-41 18.77c-29.1 9.82-55.3 29.91-76.3 57.63-15.7 20.7-28.5 45.8-37.1 73.7 40.4-3.9 77.3-6.4 113.4-7.5zm82 0V169.6c36.1 1.1 73 3.6 113.4 7.5-8.6-27.9-21.4-53-37.1-73.7-21-27.72-47.2-47.81-76.3-57.63zM256 187c-59.6 0-119.2 4-191.01 11.9l-.49.1H64c-.62 0-1.39.1-3.34 2.6-1.96 2.6-4.22 7.4-6.03 13.5C51.02 227.3 49 244.7 49 262c0 17.3 2.02 34.7 5.63 46.9 1.81 6.1 4.07 10.9 6.03 13.5 1.95 2.5 2.72 2.6 3.34 2.6 111.1 0 142-16 192-16s80.9 16 192 16c.6 0 1.4-.1 3.3-2.6 2-2.6 4.3-7.4 6.1-13.5 3.6-12.2 5.6-29.6 5.6-46.9 0-17.3-2-34.7-5.6-46.9-1.8-6.1-4.1-10.9-6.1-13.5-1.9-2.5-2.7-2.6-3.3-2.6h-.5l-.5-.1C375.2 191 315.6 187 256 187zM88 221c9.28 0 17 7.7 17 17s-7.72 17-17 17c-9.28 0-17-7.7-17-17s7.72-17 17-17zm168 106c-40.7 0-71.3 12.5-155.8 15.4 8.7 29.7 21.9 56.3 38.5 78.2C169.2 460.8 210.6 485 256 485c45.4 0 86.8-24.2 117.3-64.4 16.6-21.9 29.8-48.5 38.5-78.2C327.3 339.5 296.7 327 256 327zm206.5 9.8c-3.9 3.6-8.8 6.2-14.5 6.2h-2.5c1 4 2 8.3 3 12.8 4.4 19.6 8 43.5 6.6 57.2-1.3 11.9-9 27.9-16.4 43.9-7.5 16.1-14.5 28.7-14.5 28.7l15.6 8.8s7.4-13.1 15.2-29.9c7.8-16.8 16.1-32.8 17.9-49.5 2.1-18.6-2.3-42.7-6.8-63.1-1.2-5.4-2.4-10.5-3.6-15.1zM224 349h64v18h-64zm-32 56h128v18H192z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vuvuzelas;

impl IconShape for Vuvuzelas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377.8 21.36c-7 .1-12.2 2.05-15.6 5.38-5.9 5.94-7.4 17.97-1.9 34.65 1.9 5.83 4.7 12.03 8.3 18.38-5.4-11.73-5.9-20.88-1.4-25.43 9.4-9.36 37.2 3.29 62.2 28.27 25 24.99 37.6 52.79 28.3 62.19-4.5 4.5-13.7 4-25.5-1.4 6.4 3.6 12.6 6.4 18.4 8.3 16.7 5.5 28.7 4 34.7-2 5.9-5.9 7.5-17.9 2-34.6-5.6-16.76-18.1-36.52-36-54.41-17.8-17.89-37.6-30.34-54.4-35.93-7.3-2.41-13.7-3.47-19.1-3.4zm-260.2 4.26c-5.3.1-9.9.68-13.7 1.78-6.8 1.93-11.3 5.25-13.7 9.29-4.2 7.24-2.5 19.34 7.1 33.9 3.3 5.22 7.6 10.48 12.8 15.59-8.2-9.91-11.1-18.61-8-24.17 6.8-11.37 36.9-6.3 67.4 11.33C200 90.93 219.4 114.5 213 126c-3.2 5.5-12.3 7.4-25.1 5.2 7.2 1.9 13.9 2.9 20 3.2 17.6 1.1 28.7-3.5 33-10.8 4.1-7.3 2.6-19.3-7-33.97-9.8-14.69-27-30.59-48.9-43.25-21.9-12.67-44.2-19.53-61.9-20.62-1.9-.11-3.7-.16-5.5-.14zm226.2 43.06c-21.6 42.42-48.4 83.12-79.2 124.62 2.3 18.1 7.4 30.3 15.6 38.5s20.4 13.3 38.4 15.6c41.5-30.8 82.3-57.6 124.7-79.2-19.6-6.9-40.8-20.6-59.8-39.7-19.1-19.1-32.9-40.11-39.7-59.82zM83.2 81.92C73.3 128.5 57.9 174.7 39 222.8c6.9 16.8 14.9 27.3 25 33.2 10 5.7 23.2 7.5 41.2 5.1 32-40.5 64.6-76.9 99.9-108.8-20.7-1.6-44.7-9.4-68-22.9-23.4-13.4-42.2-30.22-53.9-47.48zM250 212.7c-35.6 46.4-75.9 94.2-119.1 147l-.2.2c.8 4.9 5 10 8.1 13.3 4 3.1 8 7.6 13.2 8.1l.2-.2C205 337.9 252.9 297.6 299.3 262c-12.9-3.5-23.4-9.1-31.8-17.5-8.4-8.4-14-19-17.5-31.8zM29.9 245.3c-3.84 9.3-7.82 18.6-11.9 28.1v105.4c24.92-34.9 48.69-67.9 72.3-98.7-13.4 0-25-2.6-35.2-8.6-10.4-5.9-18.5-14.7-25.2-26.2zM397.7 269c-3.7 0-6.8.8-9.4 2.2-7.2 4.2-11.8 15.5-10.8 32.9.3 6.2 1.4 12.9 3.3 19.9-2.2-12.7-.3-21.7 5.2-24.9 11.5-6.5 35.1 13 52.7 43.5s22.6 60.5 11.3 67.3c-5.6 3.2-14.3.3-24.3-8 5.3 5.2 10.6 9.5 15.7 12.8 14.7 9.7 26.6 11.3 34 7.1 7.2-4.2 11.9-15.4 10.9-32.9-1.1-17.6-8.1-40-20.7-61.9s-28.5-39-43.3-48.8c-6.4-4.2-12.3-6.9-17.5-8.2-2.5-.6-4.9-1-7.1-1zm-38 37.9c-31.9 35.4-68.3 67.7-108.8 99.9-2.4 18-.7 31.1 5.1 41.2 5.8 10 16.3 18.1 33.1 25 48-19 94.4-34.3 140.9-44.2-17.1-11.8-34-30.5-47.4-53.9-13.6-23.3-21.4-47.2-22.9-68zm-242.3 69.8l-19.5 23.4c-2.68 2.7 11.3 16.6 14 13.8l23.4-19.3c-1.8-1.5-7.6-7.1-9.2-8.7-1.7-1.7-7.2-7.4-8.7-9.2zm-30.85 35.8l-37.03 37.1c2.5 1.5 4.92 3.3 7.15 5.5 2.25 2.3 4.09 4.7 5.63 7.2l37.02-37c-5.28-2.9-9.88-7.5-12.77-12.8zm145.25 9.2C201 445.3 168 469.1 133.1 494h105.5c9.4-4.1 18.8-8.1 28.1-11.9-11.6-6.7-20.3-14.8-26.2-25.1-6-10.3-8.6-22-8.7-35.3zM36.05 463.1l-14.73 14.7c.26 6.9 5.08 12.9 12.74 12.8l14.74-14.8c-1.31-3.2-2.96-6-4.85-7.9-1.88-1.9-4.73-3.5-7.9-4.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Walk;

impl IconShape for Walk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M271.9 25.85c-18.4 0-36 16.73-39.2 40.97-3.4 25.83 11.3 47.48 30.9 49.88 19.7 2.4 39.5-14.9 43-40.77 3.5-25.86-11.5-47.43-31-49.85-1.2-.15-2.5-.23-3.7-.23zm-38.2 95.75c-38 6.3-75.2 41.9-94 66-11.5 33.4-14.5 66.7-20.7 100l28.2-.8c6.6-25.2 8.2-51.9 21-75.4 14.8-8.2 26.9-20.6 38.4-33.8-6.4 32.9-14 72.3-13.2 101.8 29.8 70.9 95.7 140.4 133 206.4l29.9-24.3c-28.8-55.7-57.5-106.4-94.3-160.2 2.1-7.1 43.3-163.5 28-171.9-20.2 9-40.9 6-56.3-7.8zm71.9 58.6c-3.1 17.8-5.3 35.1-10 52.8 4.5 5.4 7.5 10.5 14.3 15.3 26 15.3 52 26.3 78 36.7l9.2-29.9-77.5-37.6c-4.3-12.5-7.9-25.2-14-37.3zM187.1 310.1c-5.1 25-9.8 50.2-11.6 76.5-15.9 31.7-35.7 51.6-60.5 76.4l30 23.2c23.1-25 49.9-47 66.7-73.8l14-42.6c-15.7-19-28.4-38.8-38.6-59.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WalkieTalkie;

impl IconShape for WalkieTalkie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71 32v135h18V32H71zm256 0v135h18V32h-18zm-208 95.604V167h18v-39.396h-18zm256 0V167h18v-39.396h-18zM57 185v99.27l16 16V487h110V300.27l16-16V185H57zm256 0v99.27l16 16V487h110V300.27l16-16V185H313zm-96 7v80h16.432v-80H217zm256 0v80h16.432v-80H473zm-393 7h96v18H80v-18zm256 0h96v18h-96v-18zM80 231h96v18H80v-18zm256 0h96v18h-96v-18zM80 263h96v18H80v-18zm256 0h96v18h-96v-18zm-224 41a24 24 0 0 1 24 24 24 24 0 0 1-24 24 24 24 0 0 1-24-24 24 24 0 0 1 24-24zm256 0a24 24 0 0 1 24 24 24 24 0 0 1-24 24 24 24 0 0 1-24-24 24 24 0 0 1 24-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WalkingScout;

impl IconShape for WalkingScout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M79.624 33.606L52.851 113.93l16.636 6.049a72.511 72.511 0 0 1 27.055-9.02V74.407l146 54.75v13.237h96v50h-69.91l108.203 39.345-19.818-84.07-18.657-68.404zm322.744 20.022l-17.652 3.531 12.99 64.947 18.72 1.813zm-287.826 46.754v74.012h110V141.63zm-18 28.75c-26.165 4.27-46 26.847-46 54.262 0 30.482 24.518 55 55 55 27.414 0 49.992-19.835 54.262-46H96.542zm276.645 8.683l28.04 118.96 60.231 24.093-11.295-56.474h-37.568l-22.24-84.916zm36.31 3.704l16.992 64.875h20.074l-3.931-19.655-8.598-42.99zm-166.955 18.875v14h78v-14zm-51.271 32l42.066 42.066 149.799 24.014-.772-3.278-3.09-3.414-163.316-59.388zm-15.303 10.152c-6.032 22.105-22.226 40.075-43.22 48.557l73.448 83.943 54.924 9.152 6.4-19.203-41.195-72.09zm109.508 125.508l-19.702 59.105 49.254-29.553zm-79.873 25.14L172.883 399l55.636 16.691 13.156-13.156 13.681-41.049zm-34.592 64.037l-41.907 27.938-11.074 33.225h202.512v-16.305z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WalkingTurret;

impl IconShape for WalkingTurret {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.7 41L137 67.73V292.2l56.3 18.8h29.9l55.8-7V201h-23c-4.2 0-8.3-1.8-11.2-4.3-2.8-2.5-4.6-5.4-6-8.5C236 182 235 175 235 168s1-14 3.8-20.2c1.4-3.1 3.2-6 6-8.5 2.9-2.5 7-4.3 11.2-4.3h23v-15.3c-2.2.8-4.5 1.3-7 1.3-8.1 0-14.7-4.9-18.8-11-4.1-6.1-6.2-13.75-6.2-22s2.1-15.86 6.2-21.96c3.2-4.78 8-8.83 13.8-10.37L252.3 41zM272 73c-5.7.43-7.2 10.07-7 15 .2 4.64 1.2 15.4 7 15 5.6-.4 7.2-10.05 7-15-.2-4.68-1.2-15.44-7-15zm169 64v62h30v-62zm-184.4 16c-2.8 4.1-3.6 10.6-3.6 15 .5 5.1.4 10.9 3.6 15H423v-30zM75.02 282.9L61.96 416.1l14.89 7.3 16.61-115.9zm37.28 20l-4.7 32.8 61.4 20.5-17.1-34.2-3.5-7zm250.3 9.4l-17 25.6 22.6 113.2 13.7-13.7zm-23.2 2.4l-76.4 9.5-16.8 33.7v.1l82.7-11.8-1.7-8.4-.8-3.7zM174.6 327l23 46h20.8l23-46zm20.4 64l4.4 52.9 8.6-8.6 8.6 8.6L221 391zM61.55 436l-34.64 41.1 69.74-24zm323.85 23.3L357.7 487h73.8zM208 460.7L181.7 487h52.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WallLight;

impl IconShape for WallLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304 32l-32 48 9.5 9.5c6.774-1.596 14.267-2.498 22.5-2.498s15.726.902 22.5 2.498L336 80l-32-48zm0 72.998c-22 0-35.334 7.062-43.637 15.365-4.704 4.704-7.58 9.97-9.316 14.639h105.906c-1.735-4.668-4.612-9.935-9.316-14.639C339.334 112.06 326 104.998 304 104.998zm-91.182 48l-20.004 30.004h222.372l-20.002-30.004H212.818zm5.805 48l29 174.004h9.662L272 272c9.33-65.307 54.67-65.307 64 0l14.715 103.002h9.662l29-174.004H218.623zm-193.625 7.816v222.372l30.004-20.002V228.816l-30.004-20.002zm48 72.184v78.004h14.004v-78.004H72.998zm32 33.432v18.886c5.62 2.256 10.39 5.308 14.615 8.971 9.382 8.135 16.116 19.757 21.377 33.002 5.261 13.245 8.991 27.937 12.875 41.629 3.884 13.692 7.696 26.41 14.826 36.334 17.755 24.71 52.946 32.73 84.034 27.066 15.544-2.831 30.381-9.273 41.648-20.002 9.365-8.917 16.013-20.987 17.996-35.318h-18.166c-1.696 9.19-6.035 16.373-12.242 22.283-8.103 7.716-19.71 13.007-32.463 15.33-25.504 4.647-54.313-3.334-66.19-19.863-4.397-6.12-8.35-17.426-12.128-30.742-3.778-13.316-7.607-28.618-13.463-43.361-5.857-14.744-13.8-29.106-26.315-39.957-7.253-6.29-16.052-11.216-26.404-14.258zm156.725 78.568l14.004 14.004h56.546l14.004-14.004h-84.554z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wallet;

impl IconShape for Wallet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.4 27.39L180.9 183h42.8l49.1-146.57-72.4-9.04zm91.7 8L242.7 183l149.7.1 34.3-102.61-134.6-45.1zM180 46.03l-71.9 7.84L122.2 183h40.7L180 46.03zM64 153c-11.5 0-19.18 8.8-21.27 17.2-1.04 4.2-.45 7.6.73 9.5 1.17 1.8 2.79 3.3 8.54 3.3h52.1l-3.3-30H64zm357.4 0l-10 30h47.5c-2.6-5-3.7-10.3-3-15.6.7-5.2 2.7-9.9 5.3-14.4h-39.8zM41 201v246.9c0 5.1 2.79 11.1 7.37 15.7C52.96 468.2 59 471 64 471l384 .1c5 0 11-2.8 15.6-7.4 4.6-4.6 7.4-10.6 7.4-15.7v-71h-87c-44 0-44-82 0-82h87v-93.9L41 201zm343 112c-20 0-20 46 0 46h22.3c-9-3.8-15.3-12.7-15.3-23s6.3-19.2 15.3-23H384zm41.7 0c9 3.8 15.3 12.7 15.3 23s-6.3 19.2-15.3 23H487v-46h-61.3zm-9.7 16c-4 0-7 3-7 7s3 7 7 7 7-3 7-7-3-7-7-7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WalrusHead;

impl IconShape for WalrusHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 31.488c-62.127 0-98.646 18.767-122.092 48.3-23.446 29.53-30.34 72.845-37.908 118.7-13.287 80.496-2.9 175.54-48 256 41.61 13.22 96.365 16.84 136.607 21.72-15.898-35.502-26.492-74.345-31.105-114.405-12.457-.062-24.528-3.69-32.53-13.69-17.096-21.373-22.408-41.488-18.78-58.728 3.63-17.24 15.384-30.328 28.408-40.096 26.048-19.537 59.216-27.532 59.216-27.532l4.368 17.46s-30.832 8.006-52.784 24.47c-10.976 8.232-19.223 18.144-21.593 29.404-2.37 11.26.317 25.145 15.22 43.773 4.65 5.813 12.35 7.853 24.088 6.68 11.738-1.172 26.218-5.948 39.95-11.96 27.47-12.02 51.88-28.542 51.88-28.542L256 299.61l5.055 3.433s24.41 16.522 51.88 28.543c13.732 6.01 28.212 10.787 39.95 11.96 11.737 1.172 19.438-.868 24.088-6.68 14.903-18.63 17.59-32.514 15.22-43.774-2.37-11.26-10.617-21.172-21.593-29.404-21.952-16.464-52.784-24.47-52.784-24.47l4.368-17.46s33.168 7.995 59.216 27.53c13.024 9.77 24.777 22.857 28.407 40.097 3.63 17.24-1.683 37.355-18.78 58.727-8 10-20.072 13.63-32.53 13.69-4.62 40.133-15.246 79.043-31.192 114.597 43.53-4.93 88.473-8.18 136.695-21.912-48-80-34.096-175.61-48-256-7.935-45.878-13.918-89.265-37.625-118.77C354.668 50.21 318.13 31.487 256 31.487zm-80 78c18.12 0 33 14.882 33 33 0 18.12-14.88 33-33 33-18.12 0-33-14.88-33-33 0-18.118 14.88-33 33-33zm160 0c18.12 0 33 14.882 33 33 0 18.12-14.88 33-33 33-18.12 0-33-14.88-33-33 0-18.118 14.88-33 33-33zm-160 18c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm160 0c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm-105.637 96.637L256 249.762l25.637-25.637 12.726 12.727L256 275.217l-38.363-38.365 12.726-12.727zM168 270.488a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm176 0a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-200 24a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm224 0a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-192 7.807a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm160 0a8 8 0 1 1 0 16 8 8 0 0 1 0-16zM256 321.1c-4.533 2.98-15.75 10.215-31.172 18.144-11.31 45.73-9.13 86.71-8.14 139.967 25.96 1.724 52.05 1.735 78.623.034.99-53.272 3.176-94.26-8.138-140.002-15.422-7.928-26.64-15.16-31.172-18.142zm-51.703 27.82c-10.66 4.57-21.8 8.563-32.756 10.86 4.122 35.775 13.214 70.518 26.75 102.49-.877-40.287-1.383-75.745 6.007-113.35zm103.406 0c7.39 37.605 6.884 73.063 6.008 113.35 13.536-31.972 22.628-66.715 26.75-102.49-10.958-2.297-22.098-6.29-32.757-10.86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WantedReward;

impl IconShape for WantedReward {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M75.1 27.19L74 163.1l10.7 9.9-10.9 11.2-.3 32.9 23.7 20.4L73.3 249l-2 235.8 27.9-.2 13-28.5s23.6 21.4 24 19.9c.3-1.5 82-9.4 82-9.4l9 17 213.5-1.9-.1-106.3-22.9-18.7 22.8-10.3-.3-282.93-34.3-35.34-276.5-.77-9.7 26.4-11-26.46zm194.3 8.7a16.18 9.811 64.69 0 1 13.2 11.03 16.18 9.811 64.69 0 1-2 18.81 16.18 9.811 64.69 0 1-10.5-3.09l-22.8 8.58-5.1-5.51 20.7-16.41a16.18 9.811 64.69 0 1 3.9-12.82 16.18 9.811 64.69 0 1 2.6-.59zM101.7 93.51h12l8.4 39.69 8.3-39.69h12.1l8.4 39.69 8.4-39.69h11.9l-11.5 54.59h-14.4l-8.9-41.5-8.7 41.5h-14.4zm86.9 0h15l18 54.59H209l-3.1-9.9h-19.6l-3.1 9.9h-12.6zm39.4 0h14l17.6 37.39V93.51h11.9v54.59h-14l-17.7-37.5v37.5H228zm50 0h44.8v10.59h-16.1v44h-12.5v-44H278zm51.3 0h33.8v10.59h-21.3v10.2h20v10.6h-20v12.6h22v10.6h-34.5zm45.5 0H388c7.4 0 12.9.59 16.5 1.79 3.6 1.17 6.7 3.17 9.3 6 2.3 2.4 4 5.3 5.1 8.5 1.1 3.2 1.7 6.9 1.7 10.9 0 4.2-.6 7.8-1.7 11.1-1.1 3.2-2.8 6-5.1 8.5-2.6 2.8-5.7 4.8-9.4 6-3.6 1.2-9.1 1.8-16.4 1.8h-13.2zm12.6 10.59v33.4h4.4c5.2 0 9.1-1.5 11.8-4.3 2.7-2.9 4-7 4-12.5 0-5.4-1.3-9.5-4-12.3-2.7-2.8-6.6-4.3-11.8-4.3zm-191.3 2.2l-6.7 21.7h13.3zm184.2 60.4l-.5 205.7-251.6-.5 3.4-194.7.2-8.7zm-18 18.2l-212.9 1.4-2.8 167.6 41 .1c4.5-15.5 11.5-31.7 43.8-36.9a34.89 48.56 0 0 1-11.6-36.2 34.89 48.56 0 0 1 .5-7.3l-49.7.4-.2-18 47.6-.4c5-13.6 4.8-28.8 4.9-44.5 25.5 6.5 41 6.1 60.4 0-.2 14.8.5 28.7 6.4 43.8l46.9-.4.2 18-47.7.4a34.89 48.56 0 0 1 .5 8 34.89 48.56 0 0 1-12 36.6c25.9 5.4 40.5 20.5 44.8 36.8l39.4.1zM152.9 392.7l206.3.8v18l-206.3-.8zm112.7 39.8l93.7.8-.2 18-93.7-.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarAxe;

impl IconShape for WarAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M410.111 19.227c-30.273 24.244-54.01 38.397-64.185 48.595-3.275 3.282-6.306 9.048-6.942 13.737-.635 4.688 0 7.362 3.696 9.888l.03.022 26.237 18.263c3.331 2.28 5.415 1.79 9.274-.753 3.859-2.544 7.746-7.862 9.043-11.82 4.932-15.06 10.217-40.706 22.847-77.932zM223.744 80.4l22.512 49.926 12.244-3.66 26.297 18.307 20.568-29.545-26.297-18.309-.818-12.752zm213.617 10.075c-8.55 27.087-19.112 42.762-30.402 51.693 9.52 86.157-6.922 139.588-36.24 176.05-29.489 36.674-70.552 55.661-107.828 76.76l-.33-.585c-25.015 65.265-80.115 86.461-90.413 96.18 22.75-4.801 59.344-12.892 99.313-27.067l13.912-25.713 14.76 11.988 19.387-24.158 18.917 8.637c45.358-24.275 87.766-58.087 112.547-105.406l-29.853-31.133s23.152 9.639 37.289 15.21c15.986-38.703 20.594-85.644 7.137-142.62l-19.737-8.479 14.711-10.41c-5.668-19.218-13.309-39.511-23.17-60.947zM333.28 106.834l-7.998 11.49 24.621 17.14 7.998-11.49zm-18.283 26.264L206.443 289.033l24.621 17.14 108.553-155.935zm74.793 17.945c-10.18 2.917-20.429 2.443-29.926 1.617l-9.67 13.893c4.545.037 9.59.076 17.09.408l7.022.31 1.4 6.885c3.138 15.415 2.372 23.17.193 33.455l-1.357 6.409-41.213 4.29-8.754-14.956-39.845 57.238c7.454 6.985 12.313 17.027 16.898 27.732 5.522 12.893 9.917 26.966 13.213 37.684l-17.207 5.289c-3.27-10.632-7.545-24.194-12.553-35.887-3.45-8.053-7.596-15.104-11.025-19.486l-14.701 21.119c11.199-5.136 14.528-1.936 15.216 11.395 1.222 23.658-.71 44.203-4.789 62.09 32.689-18.075 64.305-35.478 86.908-63.589 25.345-31.52 40.708-77.016 33.1-155.896zM153.775 180.91l22.778 49.543 12.244-3.66 26.297 18.307 19.492-27.998-26.063-18.647-.716-12.896zm184.096 3.342l-1.967 2.826 7.098 12.129 16.553-1.723c.637-3.887.606-7.262-.237-12.709-7.835-.175-13.724-.142-21.447-.523zm10.203 46.408c4.954-.05 9.92.196 14.733.565l9.572.732-1.348 9.504c-3.157 22.254-9.29 40.648-34.42 56.969l-6.16 4-5.154-5.235c-7.064-7.174-12.988-15.598-16.594-24.267-3.605-8.67-5.503-18.525-.008-27.092 5.602-8.734 15.21-12.344 24.727-13.969 4.758-.812 9.699-1.157 14.652-1.207zm-.572 18.135c-3.989.038-7.771.254-11.053.814-6.995 1.194-11.06 3.542-12.601 5.946-.48.747-.973 4.573 1.476 10.46 1.675 4.028 4.489 8.562 7.852 12.846 12.538-9.42 16.091-17.623 18.373-30.05-1.364-.021-2.718-.029-4.047-.016zm-151.344 55.012l-7.998 11.49 24.621 17.14 7.998-11.49zm-18.283 26.263L63.755 494h36.556l102.187-146.791z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarBonnet;

impl IconShape for WarBonnet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M276.7 23.68c3 5.05 7.5 10.74 13.1 16.69 1.9 1.97 3.9 3.98 6 6.01 6.4 3.81 13 7.81 19.5 12.04 40.9 26.54 81.8 60.38 104.5 94.68l15.3-3.5c-18.8-29.2-50.6-59.93-82.9-83.83-18.1-13.36-36.3-24.65-52.3-32.57-8.5-4.27-16.5-7.41-23.2-9.52zm-60.1 6.45c2.1 5.94 6.2 12.94 13.1 20.78 12.2 5.83 24.9 12.51 37.5 19.77 47.6 27.26 94.7 62.02 118.7 93.12l15-6c-21-29-58.1-60.09-95.4-84.28-20.6-13.33-41.1-24.65-58.9-32.62-11.6-5.23-21.9-8.76-30-10.77zm-64.4 15.64h-1.5c1.9 6.53 7.9 15.1 18.4 24.68.2.15.4.31.5.46 18.7 6.16 38.6 14.75 58.6 24.62 28.9 14.27 57.6 31.27 81.3 47.67 19.7 13.7 35.9 26.5 46.2 38l12.6-6.4 2.1-1.2c-21.2-26.4-66.7-61.2-112.2-87.31-25.1-14.41-50.2-26.39-70.9-33.53-14.6-5.02-27.2-7.02-35.1-6.99zM119.4 79c-2.1 0-4.1.1-5.9.28-4.8.52-8.2 1.71-10.7 3.3 3.7 9.76 14.9 22.62 31.8 35.42 4.8 3.6 10.1 7.3 15.7 10.9 10.3 2.5 20.8 5.4 31.4 8.6 30.8 9.3 61.9 21.3 88 33.6 25.2 11.8 45.4 23.3 57.1 34.4 4.7-4.6 9.6-8.9 14.7-12.9-8.7-9.2-23.6-21.7-42.2-34.6-22.9-15.8-51-32.4-79.1-46.3-28-13.89-56.1-25-78.5-29.9-8.4-1.84-16-2.8-22.3-2.8zm-33.61 59c-7.89.1-14.69.9-19.93 2.4-4.69 1.3-7.85 3-10.06 5 5.23 9.1 18.44 19.9 37.21 29.7 14.59 7.6 32.29 14.7 50.99 21.2 2.9.2 5.9.4 8.9.6 32.1 2.4 65.1 7.4 93.2 13.7 21.6 4.8 40 10.1 53.7 16.2l9.6-12.3c-10-7.7-26.8-17.5-47.3-27.1-25.2-11.9-55.7-23.6-85.6-32.7-30-9.1-59.5-15.4-82.46-16.5-2.86-.2-5.61-.2-8.25-.2zm373.41 26.1c-1.7 0-3.8.1-6.1.3-77.2 14.3-131.4 50.4-155.7 122.5l17.2 9.1c37.4-42.3 79.5-81.8 157.8-102.7 1.8-8.7 1.6-16.9-.6-21.6-1.9-4.2-4.4-7-10.9-7.6zm-11.1 11a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-38 12.5a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-41.3 21.8a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm109.4.9c-51.9 13.6-86.1 35-114.4 60.6l.9 14.1c34.5-21.4 74.1-48.4 118.1-58zm-371.9 3.1c-14.31.3-27.51 1.3-38.8 3.3-11.29 1.9-20.64 4.8-27.03 8.2-4.29 2.3-7 4.7-8.72 7.1 7.06 7.7 22.32 15.4 42.76 20.9 15.98 4.3 34.79 7.4 54.49 9.6l8.1-1.8c31.7-6.7 64.9-10.9 93.8-12.2 7.2-.3 14.1-.5 20.7-.5 15.2.1 28.6 1.1 39.3 3.5l3.4-7.1c-11.5-5.3-30-11.3-52.1-16.2-27.2-6.1-59.5-11-90.7-13.3-12-.9-23.7-1.4-35-1.5h-4.8zM335.1 242a9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9 9 9 0 0 1 9-9zm-83.5 24.1c-6.3 0-13 .1-19.9.4-27.8 1.3-60.2 5.3-90.9 11.8-30.7 6.5-59.83 15.6-80.61 26.4-10.39 5.3-18.66 11.2-24.02 16.9-3.66 3.9-5.83 7.5-6.95 11.1 27.8 15.2 69.15 15.6 110.78 9 6.4-4.6 13-9.2 19.7-13.6 26.9-17.8 56-34 82.1-46.3 12.2-5.7 23.6-10.5 33.9-14.3-6.9-.8-15-1.3-24.1-1.4zm27.1 19.7c-8.9 3.3-18.7 7.4-29.2 12.3-25.2 11.9-53.8 27.8-79.9 45-26.1 17.3-49.9 36-65.4 52.8-7.73 8.5-13.4 16.5-16.35 23.1-1.92 4.3-2.64 7.8-2.54 10.7 1.98 0 4.73-.3 8.32-1.3 6.97-2 16.07-6 26.47-11.5 20.8-11.1 46.6-28.1 72.8-46.2.5-.4 1.1-.7 1.6-1.1 1.5-1.8 2.9-3.5 4.4-5.3 18.8-22.3 39.9-43.8 59.4-61.2 7-6.3 13.8-12 20.3-16.9 0-.2.1-.3.1-.4zm68.2 1.6c-3.8 3.9-7.6 7.9-11.3 12 1.7 62.6 3.1 125.4-1.3 188.6 3.9-1.3 7.7-2 11.6-1.7 3.1.2 5.9.9 8.7 2 .7-66.8-3.4-133.8-7.7-200.9zm33.8 9.2c-4.9 3-9.8 6-14.6 8.9.1 1.4.1 2.9.2 4.4L385 430.8c7.9-6.8 17.8-11.1 28.1-11.7-16.2-39.1-26.5-81.4-32.4-122.5zm-80 12.4c-5 7.1-10.9 16.7-16.5 28-9 18.1-17.8 39.8-24.3 61.1-6.5 21.3-10.7 42.2-10.8 57.8 0 7.9 1 14.3 2.7 18.6.9 2.6 2 4.2 3.3 5.5 1-.9 2.3-2 3.7-4 3-4 6.4-10.3 9.7-18 6.6-15.4 13.1-36.5 19.2-58.4 6.2-22 12-44.8 17.7-64.3 2.2-7.5 4.3-14.3 6.4-20.4zm-21.8.2c-2.9 2.4-5.8 4.8-8.7 7.4-18.7 16.7-39.4 37.7-57.6 59.3-18.2 21.6-33.9 43.9-43 62.4-4.6 9.2-7.4 17.6-8.3 23.9-.4 3.7-.3 6.4.3 8.7 1.5-.6 3.4-1.4 5.7-2.9 5.4-3.4 12.3-9.2 19.9-16.6 15.1-14.9 33.1-36.2 51.2-58.6 2.4-2.9 4.8-5.9 7.1-8.9 6.4-19.3 14.4-38.4 22.6-54.9 3.6-7.2 7.2-13.8 10.8-19.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarPick;

impl IconShape for WarPick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.48 27.746c-2.108.024-4.174.152-6.242.272 42.927 23.035 87.233 59.434 121.902 96.57 8.66 9.276 12.358 18.765 16.371 27.44 2.486 5.37 5.173 10.658 9.297 16.37l30.65-26.373c-3.067-5.031-5.213-10.567-6.044-16.386-.919-6.432.09-13.283 3.039-19.48-32.92-24.035-68.653-47.25-102.75-62.026-22.779-9.871-44.547-15.843-64.1-16.371-.714-.02-1.42-.024-2.123-.016zm226.463 99.256c-2.825 0-5.562.505-8.092 1.293l28.91 28.91c.788-2.53 1.293-5.266 1.293-8.092 0-6.485-2.314-12.726-5.85-16.262-3.535-3.535-9.776-5.85-16.261-5.85zm-23.088 11.754l-21.89 18.836c9.951-2.533 20.985.059 28.712 7.787 7.728 7.728 10.32 18.761 7.788 28.713l18.835-21.89zm-14.39 35.78c-3.053 0-6.104 1.189-8.485 3.57-4.762 4.761-4.762 12.208 0 16.97 4.762 4.762 12.21 4.762 16.97 0 4.763-4.762 4.763-12.209 0-16.97-2.38-2.381-5.433-3.57-8.485-3.57zm-27.582.335l-9.846 8.47-5.352 46.03 46.03-5.352 8.468-9.841c-10.923 4.588-24.09 2.467-32.931-6.373-8.842-8.842-10.959-22.01-6.37-32.934zm72.148 28.727l-26.373 30.65c5.712 4.124 11 6.812 16.371 9.297 8.674 4.013 18.163 7.711 27.44 16.37 37.136 34.67 73.534 78.977 96.57 121.903 1.254-21.638-4.803-46.36-16.115-72.465-14.776-34.097-37.992-69.829-62.026-102.75-6.198 2.95-13.049 3.958-19.48 3.04-5.82-.832-11.355-2.978-16.387-6.045zm-103.375 7.79l-28.398 26.588L274.08 273.8l26.588-28.399-38.489 4.477zm-41.545 38.897l-11.686 10.941 37.405 37.405 10.941-11.686zm-24.832 23.252l-90.564 84.797 44.007 44.008 84.797-90.565zM96.566 370.643l-21.91 20.515 46.242 46.242 20.516-21.91zm-28.09 39.79l-5.656 16.971 21.832 21.832 16.97-5.656zm-18.789 29.295l-18.49 9.686a106.156 106.156 0 0 0-2.746 13.676c-.608 4.548-.852 9.29-.469 12.92.383 3.63 1.496 5.735 1.912 6.152.417.417 2.523 1.53 6.153 1.912 3.63.383 8.372.139 12.92-.469a106.155 106.155 0 0 0 13.675-2.746l9.686-18.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Warehouse;

impl IconShape for Warehouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41 41v62h30V41H41zm48 0v62h30V41H89zm48 0v62h30V41h-30zm222 7v71H16v18h343v174H16v18h343v167h18v-39h62v39h18V329h39v-18h-39V137h39v-18h-39V48h-18v71h-62V48h-18zM185 73v30h158V73H185zm192 64h62v46h-62v-46zm-240 16v142h46V153h-46zm-41 16c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm105 16v110h110V185H201zm176 16h62v46h-62v-46zM41 233v62h78v-62H41zm336 32h62v46h-62v-46zm0 64h62v46h-62v-46zm-137 24c-8.39 0-15 6.61-15 15s6.61 15 15 15 15-6.61 15-15-6.61-15-15-15zm137 40h62v46h-62v-46zm-352 8v94h254v-94H25zm228.977 14.23 4.046 17.54-208 48-4.046-17.54 208-48zM297 449v46h46v-46h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Warhammer;

impl IconShape for Warhammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M351.4 31.4l-55.9 27.75 54 34.62 1.9-62.37zM143.2 67.33l20 33.47L182 71.5l-38.8-4.17zm57 9.16l-7.6 11.82 100.2 64.19-9.7 15.1-100.2-64.1-24.8 38.7 100.2 64.1-9.7 15.2-100.2-64.1-7.5 11.7 150 96.1 37.9-7.6 44.8-70L200.2 76.49zm93.2 2.73l-16.2 25.28 38.7 24.7 16.2-25.2-38.7-24.78zM108.7 121.2l20 33.5 18.8-29.3-38.8-4.2zm280.1 76.1L346.7 263l11.8 7.5 42.1-65.7-11.8-7.5zm-224.1 8.5l.6 36 72.8 46.6 33-14.5-106.4-68.1zm250.4 9.9l-33.2 51.8c11.7 2.8 24 7.3 36.5 12.3 19.3 7.6 39.1 16.7 56.6 24-9.5-27.2-22.2-57.9-59.9-88.1zm-242.5 52.1L27.77 494h54.61L211.4 292.6l-38.8-24.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarlockEye;

impl IconShape for WarlockEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16l-32 112 32 32 32-32-32-112zM64 96l32 80 64 16-96-96zm384 0l-96 96 64-16 32-80zm-192 80l-64 48-128 32c80 16 128 96 192 128 64-32 112.476-110.213 192-128l-128-28.31L256 176zm-39.512 52.682l28.342 8.863-7.45 20.955L256 310.895l18.62-52.395-7.45-20.955 28.342-8.863c14.923 10.97 24.488 28.03 24.488 47.283C320 309.237 291.47 336 256 336s-64-26.763-64-60.035c0-19.254 9.565-36.314 24.488-47.283zM96 336l-64 48-16 64 32-32 64-48s-16-27.61-16-32zm320 0l-16 32 64 48 32 32-16-64-64-48zm-272 64l-16 64 48-48-32-16zm112 0l-48 16 48 80 48-80-48-16zm112 0l-32 16 48 48-16-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarlockHood;

impl IconShape for WarlockHood {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 29.313c-12.241 0-23.9 2.742-35.05 7.787l4.935 22.212h60.23l4.936-22.212c-11.15-5.045-22.81-7.788-35.051-7.788zM204.57 46.36c-5.955 4.052-11.764 8.751-17.435 14.035-20.313 18.928-38.436 45.192-53.854 73.68 42.044 12.5 70.812 20.399 96.055 23.736zm102.86 0l-24.766 111.452c25.243-3.338 54.01-11.237 96.055-23.737-15.418-28.488-33.54-54.752-53.854-73.68-5.67-5.284-11.48-9.983-17.435-14.035zm-77.545 30.952l17.334 78h17.562l17.334-78zm-105.006 73a566.74 566.74 0 0 0-6.783 14.234c84.712 35.52 191.096 35.52 275.808 0a566.74 566.74 0 0 0-6.783-14.235c-120.135 35.46-142.107 35.46-262.242 0zm-14.072 30.714c-18.202 42.794-30.441 84.165-36.744 108.621L121 336.584v94.506l90.295 51.598-27.586-137.938L135 296.041v-3.728c0-19 8.748-39.679 19.133-58.372 6.936-12.484 14.615-23.86 21.652-32.748-22.437-4.706-44.27-11.427-64.978-20.166zm290.386 0c-20.708 8.74-42.54 15.46-64.978 20.166 7.037 8.888 14.716 20.264 21.652 32.748C368.252 252.634 377 273.312 377 292.312v3.729l-48.709 48.709-27.586 137.938L391 431.09v-94.506l46.938-46.936c-6.304-24.456-18.543-65.827-36.745-108.62zM248.725 210.81L236 292.313l20 32 20-32-12.725-81.504c-4.856.213-9.694.213-14.55 0zm-174.4 104.556a496.166 496.166 0 0 0-7.641 25.315c-.028.1-.053.2-.08.3L103 362.816v-18.775zm363.35 0L409 344.041v18.775l36.396-21.836c-.027-.1-.052-.2-.08-.3a496.167 496.167 0 0 0-7.64-25.315zM62.07 359.25c-1.938 8.59-3.394 16.22-4.228 21.65 3.629 1.078 7.362 2.608 11.49 4.422 7.878 3.463 16.615 8.115 25.201 13.278a327.65 327.65 0 0 1 8.467 5.265V383.81zm387.86 0L409 383.809v20.056a327.646 327.646 0 0 1 8.467-5.265c8.586-5.163 17.323-9.815 25.201-13.278 4.128-1.814 7.861-3.344 11.49-4.422-.834-5.43-2.29-13.06-4.228-21.65z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WarpPipe;

impl IconShape for WarpPipe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.352 93.28c-65.93 0-125.644 4.402-168.39 11.402-21.374 3.5-38.557 7.704-49.683 12.01-5.563 2.155-9.59 4.392-11.624 6.02-.637.51-.72.65-.95.897.23.245.312.39.95.9 2.034 1.627 6.06 3.864 11.623 6.017 11.125 4.307 28.308 8.512 49.68 12.012 42.748 7 102.46 11.4 168.392 11.4 65.93 0 125.643-4.4 168.39-11.4 21.374-3.5 38.557-7.706 49.682-12.013 5.562-2.153 9.587-4.39 11.62-6.017.64-.51.723-.655.952-.9-.23-.247-.313-.39-.95-.9-2.035-1.626-6.06-3.863-11.622-6.017-11.125-4.307-28.308-8.512-49.682-12.01-42.747-7-102.46-11.404-168.39-11.404zm-.352 9.183a163.82 16.505 0 0 1 92.246 2.867v27.258A163.82 16.505 0 0 1 256 135.473 163.82 16.505 0 0 1 92.182 118.97 163.82 16.505 0 0 1 256 102.462zm110.246 4.322a163.82 16.505 0 0 1 53.572 12.184 163.82 16.505 0 0 1-53.572 12.182v-24.367zM25 144.395v106.216h.154v8.585c.015-.522.326.768 3.977 2.98 4.275 2.587 11.744 5.63 21.66 8.442 3.438.976 7.193 1.93 11.21 2.862V155.956c-11.84-2.584-21.97-5.45-30.22-8.644-2.423-.94-4.67-1.905-6.78-2.917zm462 .337c-1.905.89-3.923 1.746-6.078 2.58-13.184 5.104-31.178 9.373-53.272 12.99-44.187 7.236-104.57 11.64-171.298 11.64-60.444 0-115.64-3.622-158.352-9.68V280.08c11.88 1.733 24.956 3.294 39.1 4.63 73.627 6.96 164.876 6.96 238.504 0 36.813-3.48 66.478-8.47 86.308-14.093 9.915-2.812 17.386-5.855 21.66-8.443 1.945-1.178 2.918-2.08 3.428-2.604V144.732zM48 288.514V496h38V296.46c-14.57-2.36-27.292-5.02-38-7.946zm416 .19c-21.43 5.786-50.79 10.532-86.703 13.927-75.007 7.092-166.884 7.092-241.89 0-4.578-.432-9.045-.89-13.407-1.364V496h342V288.705z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WashingMachine;

impl IconShape for WashingMachine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73 41v78h110V41H73zm128 0v78h238V41H201zm199 23a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-176 7h48v18h-48V71zm80 0h48v18h-48V71zM73 137v350h366V137H73zm183 30c82.7 0 150 67.3 150 150s-67.3 150-150 150-150-67.3-150-150 67.3-150 150-150zm0 18c-73 0-132 59-132 132s59 132 132 132c48.5 0 90.8-26 113.7-64.9L339.6 360a94.02 94.02 0 0 1-83.6 51 94.02 94.02 0 0 1-94-94 94.02 94.02 0 0 1 94-94 94.02 94.02 0 0 1 85.7 55.3l30.4-24.3c-22.3-41.1-65.9-69-116.1-69zm-6.9 62c-50.1 1.1-76.9 51-62 93.9-.7-37.8 30.1-78 62-93.9zm130.6 23.9l-32 25.6A94.02 94.02 0 0 1 350 317a94.02 94.02 0 0 1-3.5 25.5l31.4 25.2C384.4 352.1 388 335 388 317c0-16.2-2.9-31.8-8.3-46.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Watch;

impl IconShape for Watch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151 23v9c0 21.038-3.39 52.724-8.523 85.336 31.097-25.51 70.354-41.053 111.2-40.756 5.227-.05 10.467.13 15.696.547 36.83 2.13 71.78 16.79 99.924 39.824-5.164-32.6-8.523-64.168-8.297-84.852l.1-9.098H151zm105 72.488c-88.543 0-160.514 71.967-160.514 160.51 0 88.543 71.97 160.516 160.514 160.516 88.543 0 160.514-71.973 160.514-160.516 0-88.543-71.97-160.51-160.514-160.51zm0 17.998c78.815 0 142.514 63.697 142.514 142.512S334.814 398.516 256 398.516c-78.815 0-142.514-63.703-142.514-142.518S177.186 113.486 256 113.486zM174.115 161.3l-12.734 12.72 76.48 76.558a18.94 18.94 0 0 0-.8 5.422A18.94 18.94 0 0 0 256 274.94a18.94 18.94 0 0 0 16.66-9.94h59.096v-17.998h-59.11a18.94 18.94 0 0 0-16.646-9.94 18.94 18.94 0 0 0-5.398.8l-76.487-76.563zm253.233 61.32v64.003h21.306V222.62h-21.306zm-57.96 172.888c-49.015 40.244-119.824 51.034-178.92 27.547-17.515-6.406-33.528-15.775-47.663-27.375 5.107 32.376 8.42 63.672 8.195 84.222l-.1 9.098H361v-9c0-20.857 3.33-52.178 8.39-84.492z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Watchtower;

impl IconShape for Watchtower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 32l-96 48h23v71h-32v50h30.945L155.36 440.244l-.653.477.522.72-4.175 37.566-.994 8.945 17.89 1.99.995-8.946L171.61 457h168.78l2.665 23.994.994 8.945 17.89-1.99-.995-8.944-4.174-37.567.523-.72-.654-.476L330.054 201H361v-50h-32V80h23l-96-48zm-48 64h32v48h-32V96zm64 0h32v48h-32V96zm-103 73h14v14h-14v-14zm32 0h14v14h-14v-14zm32 0h14v14h-14v-14zm32 0h14v14h-14v-14zm32 0h14v14h-14v-14zm32 0h14v14h-14v-14zm-113.328 32h80.656L256 236.848 215.672 201zm-16.65 9.283L240.33 247h-45.385l4.08-36.717zm113.955 0l4.08 36.717h-45.385l41.305-36.717zM192.945 265h31.383l-34.822 30.953 3.44-30.953zm58.477 0h9.156l51.75 46H199.672l51.75-46zm36.25 0h31.383l3.44 30.953L287.67 265zm-83.994 64h104.644L256 367.053 203.678 329zm-18.8 8.586L236.323 375h-55.6l4.157-37.414zm142.243 0L331.278 375h-55.6l51.444-37.414zM178.724 393h41.6l-45.26 32.914 3.66-32.914zm72.205 0h10.144l63.25 46H187.678l63.25-46zm40.75 0h41.6l3.658 32.914L291.678 393z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterBottle;

impl IconShape for WaterBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.4 33v30h78.1V33zm11 48c-16.4 16.58-42.95 46.2-42.95 71v39H231.5v-39c0-24.8-26.5-54.42-43-71zM89.45 209v16H231.5v-16zm0 34v16H231.5v-16zm0 34v16H231.5v-16zm0 34v170.2c43.05 12.7 98.95 12.7 142.05 0V311zm224.85 34l14.3 142H345l-6.9-118.5 18-1L363 487h45.3l14.3-142z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterDivinerStick;

impl IconShape for WaterDivinerStick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.7 21.16c-11.7-.12-24.4 6.27-21.8 17.57 14 59.46 42.9 185.87 62.6 249.67-57-65.7-187.4-138.8-258.56-179.1-24.32-13.81-35.48 23.9-13.84 33.2 82.2 35.3 201.7 120.7 268.4 182 64.4 62.1 65.9 82.2 115.8 146 .9-8.3 4.5-16.4 10.6-22.9 9-9.6 21.8-13.8 33.7-11.9-57-61.6-76.9-69.6-121.9-135.8-20.1-72.2-55.3-194.9-57.2-265.89-.2-8.73-8.7-12.76-17.8-12.85zM465.4 453.2c-5.4-.2-11 2-15.4 6.7-7.9 8.4-7.7 20.1-.9 26.6 6.9 6.4 18.6 5.9 26.5-2.4 7.8-8.3 7.6-20 .8-26.5-3-2.8-6.9-4.3-11-4.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterFlask;

impl IconShape for WaterFlask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.28c-12.5 0-23.9 2.67-31.2 6.34-7.4 3.67-9.4 7.46-9.4 9.29 0 1.84 2 5.63 9.4 9.3 7.3 3.66 18.7 6.33 31.2 6.33s23.9-2.67 31.2-6.33c7.4-3.67 9.4-7.46 9.4-9.3 0-1.83-2-5.62-9.4-9.29-7.3-3.67-18.7-6.34-31.2-6.34zm-59.4 14.81c-17.3.78-30.9 3.75-41.4 8.42C143 56 134.1 64.79 134.1 76.26c0 11.46 8.9 20.21 21.1 25.74 12.2 5.5 29 8.6 50.8 8.6V91.89c-19.9 0-34.4-3.13-43.1-7-8.6-3.88-10.1-7.59-10.1-8.63 0-1.05 1.5-4.76 10.1-8.64 8.5-3.81 22.5-6.83 41.6-6.98-4.8-4.78-7.9-10.68-7.9-17.73zm18.8 26.34v44.17c28 17.2 53.5 16.9 81.2 0V68.43c-.3.19-.7.38-1 .55-10.8 5.38-24.5 8.32-39.6 8.32-15.1 0-28.8-2.94-39.6-8.32-.3-.17-.7-.36-1-.55zm-14.6 57.27c-44.6 13.2-84.8 44.3-93.3 102.6 1.4-1.4 2.8-2.6 4.4-3.9 9-7 20.7-12.6 35-17.4 28.6-9.5 66.8-15.1 109.1-15.1s80.5 5.6 109.1 15.1c14.3 4.8 26 10.4 35 17.4 1.6 1.3 3 2.5 4.4 3.9-8.5-58.3-48.7-89.4-93.3-102.6-35.5 23.6-74.5 24.1-110.4 0zm55.2 85c-40.6 0-77.3 5.5-103.2 14.1-12.9 4.3-23 9.4-29.2 14.4-6.3 4.9-8.3 9-8.3 12.1 0 3.1 2 7.2 8.3 12.1 6.2 5 16.3 10.1 29.2 14.4 25.9 8.6 62.6 14.1 103.2 14.1s77.3-5.5 103.2-14.1c12.9-4.3 23-9.4 29.2-14.4 6.3-4.9 8.3-9 8.3-12.1 0-3.1-2-7.2-8.3-12.1-6.2-5-16.3-10.1-29.2-14.4-25.9-8.6-62.6-14.1-103.2-14.1zm-149.9 62.2c1.6 150.9 22.5 211.8 149.9 211.8s148.3-60.9 149.9-211.8c-1.7 1.8-3.7 3.6-5.8 5.3-9 7-20.7 12.6-35 17.4-28.6 9.5-66.8 15.1-109.1 15.1-33.9 0-65-3.7-90.9-9.9-.5 51.9 3.6 80.2 9.2 96.7 5.9 17.4 12.7 21.6 21.7 30.5l-13.4 13.4c-7.7-7.7-18.8-16.8-26.1-37.9-7-20.5-11-52.1-10-108-14.1-4.8-25.8-10.4-34.6-17.3-2.1-1.7-4.1-3.5-5.8-5.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterFountain;

impl IconShape for WaterFountain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224 16c9.31 18.785 17.753 36.16 18.432 55.023-17.87-28.13-36.732-40.03-55.45-39.83-75.257.8-148.13 196.844-144.375 316.977-.807.27-1.604.627-2.388 1.096-6.073 3.63-2.683 14.002-5.454 20.51-3.34 7.847-12.15 13.42-13.27 21.874-.638 4.813-.54 10.275.604 15.35h170.205c-3.752-14.69-16.34-30.192-27.96-38.275-4.04-2.81-10.637 2.004-14.747-.704-8.482-5.586-3.99-23.436-13.346-27.39-6.09-2.573-12.2-1.383-18.375 1.337-5.05-123.26 30.544-300.777 110.29-265.57-26.42 6.366-38.066 15.83-44.36 51.603C192 112 198.89 99.364 224 103.225l70.207-.102s36.39 41.937 41.793 51.42c5.7 10-16.088-70.203-35.4-80.29 67.713 2.167 97.32 184.88 92.64 299.102-6.174-2.72-24.083-33.364-30.174-30.79-9.355 3.952-14.435 9.435-17.205 15.976-1.918 4.533-.837 22.65-4.878 25.46-10.016 6.968-18.6 14.533-21.918 23h172.534c-1.792-9.308-8.48-27.793-11.598-35.115-2.772-6.51 31.833-42.637 0-24.8-.797.446-9.8 1.354-10.607 1.085 3.756-120.133-69.118-316.177-144.375-316.977-19.003-.202-38.155 12.056-56.264 41.118 2.08-11.74 12.37-29.412 27.695-46.828-24.735 6.185-34.4 3.85-40.45 28.95-9.23-14.43-14.098-32.17-32-38.432zm6.486 105l-12.77 38.31L229.563 183h52.875l11.846-23.69-12.77-38.31h-51.027zm-69.67 80l20 30h150.368l20-30H160.816zm69.278 48l-28.803 72.004L215.624 407h80.752l14.334-85.996L281.905 249h-51.812zm-85.408 58.854c-.462-.02-.933.02-1.41.12-9.907 2.074-11.824 24.963-3.16 30.198 5.056 3.056 13.384-4.083 14.747-9.832 1.69-7.126-3.253-20.2-10.177-20.486zm235.43 11.05c-6.925.287-6.22 6.283-4.532 13.41 1.363 5.748 3.36 15.12 8.416 12.065 6.282-4.456 7.55-21.835-3.885-25.476zm-356.022 6.262c-18.387.412 2.35 38.416 7.906 35.984-6.418-22.52 12.297-34.22-7.002-35.976a14.282 14.282 0 0 0-.904-.008zm144.142 14.375a3.42 3.42 0 0 0-.73.038c-1.732 7.747-12.483 11.202-9.13 15.803 3.74 4.41 14.555-.765 16.153-6.32 1.02-3.545-2.633-9.32-6.294-9.52zM336 342.7c-3.66.2-3.898 8.917-2.88 12.46 1.6 5.557 5.835 9.134 9.575 4.725 2.026-3.16-5.553-8.373-6.695-17.184zM25 425v14h462v-14H25zm23.816 32l20 30h374.368l20-30H48.816z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterGallon;

impl IconShape for WaterGallon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225 25v30h62V25h-62zm8 48v28.6l-5 2.5c-17 8.5-40.6 16.3-59.4 27.6-9.6 5.8-17.6 12-23.2 19.3h221.2c-5.6-7.3-13.6-13.5-23.2-19.3-18.8-11.3-42.4-19.1-59.4-27.6l-5-2.5V73h-46zm-112 96v16h270v-16H121zm16 34v28h238v-28H137zm-16 46v30h270v-30H121zm16 48v94h238v-94H137zm0 112v39c0 1 1.1 4.9 4 9.3 2.9 4.3 7.4 9.3 12.8 13.8 10.8 9 25.2 15.9 38.2 15.9h128c13 0 27.4-6.9 38.2-15.9 5.4-4.5 9.9-9.5 12.8-13.8 2.9-4.4 4-8.3 4-9.3v-39H137z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterGun;

impl IconShape for WaterGun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M80 33c-12.62 0-21.38 6.47-28.26 18.09C44.86 62.7 41 79.33 41 96c0 16.7 3.86 33.3 10.74 44.9C58.62 152.5 67.38 159 80 159h39V33zm57 0v126h174V33zm192 0v126h39c12.6 0 21.4-6.5 28.3-18.1 6.8-11.6 10.7-28.2 10.7-44.9 0-16.67-3.9-33.3-10.7-44.91C389.4 39.47 380.6 33 368 33zM119 177v32H41v94h366v-94h-78v-32h-18v32H137v-32zm306 48v30h46v-30zm-337.54 4.2l17.04 5.6-15.96 48-17.08-5.6zm48.04 0l17 5.6-16 48-17-5.6zm48 0l17 5.6-16 48-17-5.6zM84.95 321L65 440.7c12.89-22.1 26.47-44 42.9-64 18-21.8 39.6-41.3 67.1-55.7zm123.15 5.1c-37.8 13.2-64.3 35.2-86.3 62-22.2 27-39.57 59.1-58.07 90.9H144c5 0 10.7-2.4 17.6-9.4 6.8-6.8 14.3-17.8 21.9-32.7zM247 328v23h-26l-4 18h30v23h18v-64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterPolo;

impl IconShape for WaterPolo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134 41.5c-30.5 0-55 24.52-55 55 0 30.5 24.5 55 55 55s55-24.5 55-55c0-30.48-24.5-55-55-55zm126.4 57.74c-2.5 0-4.9.26-7.3.76-12.8 2.8-23.4 12.6-29.9 27.7-6.2 14.5-8.5 33.6-4.7 53.7 4.8-9.4 11.1-19.6 19.9-28.6 12.6-13.1 30.8-23.2 55.3-24.7 3.4-.2 7-.2 10.7-.1-3.8-5.8-8.1-10.8-12.7-15-9.8-9-20.7-13.76-31.3-13.76zm37.3 46.56c-21.8.2-35.7 8.6-46.4 19.5-12.1 12.4-19.2 28.9-24.5 41.5 5.1 10.7 11.7 19.8 19 26.5 12.2 11.1 25.8 15.7 38.7 13 12.8-2.7 23.3-12.6 29.8-27.7 6.6-15.1 8.7-35.2 4.3-56.1-1.2-5.4-2.7-10.6-4.6-15.5-5-.8-9.8-1.1-14.2-1.2zm-195.3 16.5L81.6 268l99.8 38.5-10.7 121.4c.3-.2.6-.4.9-.7 4.2-3.6 8.6-9.2 13.3-15.2 4.7-6 9.5-12.4 15.7-17.8 6.1-5.3 14-9.7 23.4-9.7 9.4 0 17.3 4.4 23.4 9.7 6.2 5.4 11 11.8 15.7 17.8 4.7 6 9.1 11.6 13.3 15.2 4.2 3.7 7.6 5.3 11.6 5.3s7.4-1.6 11.6-5.3c4.2-3.6 8.6-9.2 13.3-15.2.8-1 1.6-2.1 2.5-3.1l10.6-84.2 85.5 19.5 47 60.1c5.6-5.8 10-10.9 12.4-13.8l-36-66.7c-93.3-57-199-62.6-308.3-79.4l-9-1.4 12.3-73.6c-9.8-.6-19.1-3.1-27.5-7.1zm-7.86 242.1c-19.87-.1-39.42 13.1-55.61 25.3-7.87 6-15.06 11.9-20.22 16.6v23.5s15.56-14 31.08-25.7c15.52-11.8 35.23-22.1 45.75-21.6 4.06.2 7.66 2.1 11.96 5.8 4.3 3.8 8.7 9.4 13.4 15.3 4.7 5.9 9.6 12.2 15.8 17.5 6.1 5.2 14 9.4 23.3 9.4 9.4 0 17.3-4.4 23.4-9.7 6.2-5.4 11-11.8 15.7-17.8 4.7-6 9.1-11.6 13.3-15.2 4.2-3.7 7.6-5.3 11.6-5.3s7.4 1.6 11.6 5.3c4.2 3.6 8.6 9.2 13.3 15.2 4.7 6 9.5 12.4 15.7 17.8 6.1 5.3 14 9.7 23.4 9.7 9.4 0 17.3-4.4 23.4-9.7 6.2-5.4 11-11.8 15.7-17.8 4.7-6 9.1-11.6 13.3-15.2 4.2-3.7 7.6-5.3 11.6-5.3s7.4 1.6 11.6 5.3c4.2 3.6 8.6 9.2 13.3 15.2 4.7 6 9.5 12.4 15.7 17.8 6.1 5.3 14 9.7 23.4 9.7 18.7 0 35-13.9 48.2-26.5 13.2-12.5 22.9-25 22.9-25l-14.2-11s-9 11.5-21.1 23c-12.1 11.4-27.8 21.5-35.8 21.5-4 0-7.4-1.6-11.6-5.3-4.2-3.6-8.6-9.2-13.3-15.2-4.7-6-9.5-12.4-15.7-17.8-6.1-5.3-14-9.7-23.4-9.7-9.4 0-17.3 4.4-23.4 9.7-6.2 5.4-11 11.8-15.7 17.8-4.7 6-9.1 11.6-13.3 15.2-4.2 3.7-7.6 5.3-11.6 5.3s-7.4-1.6-11.6-5.3c-4.2-3.6-8.6-9.2-13.3-15.2-4.7-6-9.5-12.4-15.7-17.8-6.1-5.3-14-9.7-23.4-9.7-9.4 0-17.3 4.4-23.4 9.7-6.2 5.4-11 11.8-15.7 17.8-4.7 6-9.1 11.6-13.3 15.2-4.2 3.7-7.6 5.3-11.6 5.3-4.1 0-7.5-1.6-11.7-5.2-4.2-3.5-8.6-9-13.3-14.9-4.6-5.8-9.5-12.2-15.6-17.6-6-5.3-13.7-9.8-22.93-10.3-.64 0-1.28 0-1.93-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterRecycling;

impl IconShape for WaterRecycling {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.9 19.34c-72 .4-143 33.5-189.17 95.86-69.798 94.4-59.097 223.3 19.9 305l-37.2 50.4 151.17-22.7L177 296.7 133.8 355c-44.07-54.4-47.67-133.6-4.1-192.5 30.6-41.5 77.8-63.46 125.7-63.66 16.4-.1 32.8 2.26 48.7 7.36l-7-46.46c-23.9-4.9-47.9-5-71-1-59.3 7.3-114 39.9-148.17 91.16C113.6 84.04 181.7 44.04 254 42.24c1.6-.1 3.3-.1 5-.1 14.8 0 29.7 1.6 44.6 4.9l48.6-7.3c-31.2-13.9-64.3-20.6-97.3-20.4zm212.9 22.1l-151.2 22.6 22.6 151.06 41.2-55.5c42.2 54.2 45.1 132 2.2 190-40.3 54.4-108.9 75.3-170.2 57.6l6.5 43.6c28.7 5.5 58.2 4.4 86.2-3.1 37.4-6 73.3-22.1 103.1-47.7-49.1 54.6-122.6 77.5-191.7 64.3l-55.8 8.3c99 43.7 218.4 14.8 285.5-75.9 69.1-93.4 59.4-220.7-17.5-302.46l39.1-52.8zM256 144s-78.3 99-63.9 152c7 25.7 37.3 47.8 63.9 47.8 26.7 0 56.9-22.1 63.9-47.8 14.4-53-63.9-152-63.9-152z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterTank;

impl IconShape for WaterTank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160 25c-14.5 0-38 3.89-56.7 11.36-9.29 3.73-17.41 8.37-22.69 13.25A29.895 29.895 0 0 0 75.99 55H244c-1.2-1.77-2.6-3.55-4.6-5.39-5.3-4.88-13.4-9.52-22.7-13.25C198 28.89 174.5 25 160 25zM89 73v129.9l71 42.6 71-42.6V73H89zm167 78v18h23v14h-30v18h51.3l29.3 29.4 12.8-12.8-34.7-34.6H297v-14h23v-18h-64zM84.65 221.3L39.12 494.5l17.76 3L74.3 393h171.4l17.4 104.5 17.8-3-45.5-273.2-16.7 10 13.7 81.8-72.4 26.4-72.38-26.3 13.68-81.9-16.65-10zm263.15 22.4s-10.2 49.6 5.2 59.7c9.8 6.4 28.8-2.9 31-15.4 3.8-19.6-36.2-44.3-36.2-44.3zM377 329s-13.4 29.1-5.8 38.5c4.9 5.9 17.4 3.7 20.6-3.6C397 352.3 377 329 377 329zm-292.41 2.3l48.91 17.8-55.22 20.1 6.31-37.9zm150.81 0l6.3 37.9-55.2-20.1 48.9-17.8zm179 7.5s1.4 32.1 12.4 36.9c7.2 3 17.2-4.7 16.8-12.7-.8-12.6-29.2-24.2-29.2-24.2zM160 358.7l44.8 16.3h-89.6l44.8-16.3zm251.7 40.5s-3.4 21.5 3.4 26.2c4.3 2.9 12.1-1 12.8-6.3 1.3-8.6-16.2-19.9-16.2-19.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterTower;

impl IconShape for WaterTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25.49L119.5 71h273L256 25.49zM105 89v30h78V89h-78zm96 0v30h110V89H201zm128 0v30h78V89h-78zM89 137v30h334v-30H89zm16 48v46h78v-46h-78zm96 0v46h110v-46H201zm128 0v46h78v-46h-78zm-224 64v14h78v-14h-78zm96 0v14h110v-14H201zm128 0v14h78v-14h-78zM32 283v18h448v-18H32zm71 37v176h18v-25.8l135-52.5 135 52.5V496h18V320h-18v25.8l-135 52.5-135-52.5V320h-18zm18 45.2L231.1 408 121 450.8v-85.6zm270 0v85.6L280.9 408 391 365.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Waterfall;

impl IconShape for Waterfall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M432.3 28.66c-13.4 0-26.6 6.43-40.5 19.98-4 3.94-7.8 8.06-11.6 12.12 3.7 5.59 6.1 12.64 7.7 18.46 5.6-6.15 11.1-12.41 16.5-17.76 10.1-9.98 19.1-15.59 26.9-14.66 16.1 1.9 23.7 6.55 29.6 12.81 5.9 6.26 10.1 15.12 16.4 25.18l15.2-9.58c-5.5-8.82-10-18.95-18.5-28.01-14.6-12.13-28.3-18.55-41.7-18.54zM113.7 45.63c-53.35.23-77.7 17.56-95.66 35.88l12.86 12.6c17.42-17.77 35.03-31.75 90-30.32l34.5 32.52h15c-.2-8.94-7.8-17.4-12.6-22.5-14.9-16.14-24.1-28.22-44.1-28.18zm146.7 9.79c-10.1 0-20.2.21-29.6.57 3.8 8.38 5.6 17.38 6.6 24.88 1 11.64-15.6 12.34-17.8 2.42-1.2-8.61-4.6-19.79-8.9-26.23-15.2 1-28.9 2.35-40.3 3.73 7.3 8.95 18 21.8 18 31.02.5 89.69-2.8 180.09-9.7 270.89 1.6-1.7 3.2-3.4 4.9-4.9 8.4-7.6 18.4-13.7 30-13h.1c2.6.2 5.1.7 7.5 1.4.2-16.6.6-30.9.1-44.4 5.3 5.6 10.7 10 18-.6.7 17.6-.1 35.5-.3 56.9 1.1 1.1 2 2.2 3 3.3 7.4 8.6 13.4 19.2 18.4 29.6 1.8 3.8 3.4 7.5 4.9 11.1 1.3-56.5.5-112.9-2.2-169.4 8.6 11.3 13.3 7 18-.8 2.7 56.6 3.5 113.3 2.2 169.9 11.4-11.3 25.1-22.9 41.6-22.6 4.1.1 7.8 1 11.2 2.5l.1-23.9c7.9 8.9 13.4 6.9 18 0L354 396c3.5 3.6 6.9 7.9 9.8 11.7 3.9-2 8.9-4.4 14.9-7l-5.7-73.9c6 5.5 12 10 18-1.4l5.3 68.5c6.6-2.3 13.5-4.2 20.4-5-11.2-93.4-25.2-192-44.3-296.39h.1c-1.4-7.39-3.3-14.6-5.9-19.56-2.5-4.95-5-7.23-8.7-8.07-18.2-4.12-37.7-6.65-57.3-8.04 8.6 17.14 8.4 34.97 8.6 49.66 1.1 10.8-17.2 17-18 .2-.3-18.71.2-35.46-12.7-50.98-6-.2-12-.29-18.1-.3zm90.8 31.52C362.6 130.7 371.8 206.4 378.3 251c-.9 17.6-14.2 13.4-17.8 2.6-6.5-45-16.1-121.1-26.7-162.09 9.9 7.7 16 6.9 17.4-4.57zM224 107c3.5 55 2.4 109.1-.7 162.5.2 11-15.3 14.1-18-1 3.1-53 4.2-106.3.7-160.3 8.9 13.3 14.2 9.3 18-1.2zm51.5 22.5c3.2 27.5 4.3 42.9 3.9 59.9-6.4 9.5-12.3 7.9-18-.4.4-16-.7-30.2-3.7-57.5 7 8.6 12.8 6.6 17.8-2zm52.3 27.2c3.4 50.7 4.3 90 5.6 154.8-5 5.4-9.8 11.7-18 .4-1.3-64.8-2.2-103.7-5.6-154 7.5 9.3 13.1 6 18-1.2zm-246 180.8c-10.73-.3-16.16 18.9-13.38 29.3 3.68 13.8 34.78 24.8 34.78 24.8s-2-53.6-21.4-54.1zm47.4-.4c-.8.6-1.3 1.4-1.7 2.3-4.2 9.9 22.6 23.1 22.6 23.1s5.9-17.4.6-22.8c-4.7-4.8-16.6-7-21.5-2.6zm319.5-3.8c-.5 0-.9 0-1.3.1-11.7 2.2-13.9 23.8-8.3 34.9 0 0 18.8-9.1 19.8-18 .8-6.3-4-16.8-10.2-17zm29.8 20.5c-20.3 1.1-16.8 58.6-16.8 58.6s27.7-10.5 31.2-22.9c3.5-12.3-1.6-36.4-14.4-35.7zm-282.8 17.3c-6.5 5.9-13 14.6-18.7 23.5-11.2 17.8-18.8 36-18.8 36l-3.6 8.7c-22-11.1-36.9-16.8-57.82-17.6-13.41-.5-24.76 11.5-27.43 22.4-1.41 6.4 0 14.3 9.09 25.6 120.56 14.8 310.86 21.1 411.06.4 3.5-16.4-2.3-27.7-13-37.9-11.7-11.3-29.8-19.6-45-24.5-7.3-2.4-24.9 1.2-39.4 6.9-14.6 5.8-26.4 12.5-26.4 12.5l-7.4 4.2-4.6-7s-4.8-7.3-11.3-14.4c-6.6-7.1-15.5-12.7-17.7-12.7-6.6-.1-20.7 9.2-31.5 20.3-10.7 11-18.6 22.2-18.6 22.2l-11 15.5-5.1-18.3s-5.3-19.1-14.4-38.1c-4.5-9.6-10-19-15.7-25.7-12.7-13.4-20.3-13-32.7-2zM35.58 384c-4.27-.1-7.98 1.2-9.85 4.5-8.27 14.4 30.78 39.3 30.78 39.3s6.88-26.5-.99-35.3c-4.19-4.6-12.83-8.4-19.94-8.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WateringCan;

impl IconShape for WateringCan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.49 76.718c-1.066-.005-2.13.003-3.197.02-28.426.506-56.814 9.317-81.756 23.757-39.907 23.104-71.644 60.824-80.8 104.44-7.826 37.298 1.858 78.55 36.044 115.742-1.35-11.182-2.183-21.875-2.544-32.038-17.66-27.03-21.263-54.363-15.88-80.008 7.845-37.383 36.108-71.663 72.2-92.56 36.094-20.895 79.364-28.2 116.774-13.882 30.495 11.67 58.04 37.605 75.602 84.684 5.683-1.565 11.46-3.154 17.336-4.776-19.17-51.894-50.605-82.98-86.504-96.72-15.325-5.865-31.285-8.592-47.274-8.66zm238.54 65.05c-4.217-.01-8.232.595-11.915 1.813l8.557 40.032 24.4 15.85 39.74-8.582c-1.454-13.915-12.173-28.51-27.056-38.178-10.717-6.962-22.85-10.904-33.725-10.934zm-100.47 57.79c-91.212 25.175-160.583 44.4-250.48 45.51-5.605 44.858.637 110.842 30.324 190.216H288.79c42.614-73.726 52.533-161.183 39.77-235.727zm94.31 3.7l-81.028 145.85c-6.25 26.707-7.854 35.71-13.358 50.758l107.42-188.143zm-21.35 3.047l-52.223 10.66c.688 5.954 1.242 11.968 1.654 18.032l39.058-7.973zm-199.473 77.98s40.436 52.545 32 80c-3.78 12.303-19.128 21.614-32 21.614s-28.22-9.312-32-21.616c-8.436-27.454 32-80 32-80z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Watermelon;

impl IconShape for Watermelon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M368.47 96.01c-37.258-.033-76.09 1.16-112.824 3.187-44.785 2.47-86.588 6.255-118.453 10.402-33.012 45.66-58.063 88.796-65.557 118.763-3.88 15.517-2.91 26.62 1.53 33.33 4.442 6.71 13.352 11.544 31.58 12.013 38.55.993 111.067-24.892 177.7-62.35 59.595-33.5 115.216-76.585 141.542-114.216-17.75-.74-36.376-1.114-55.518-1.13zm76.285 2.196c-26.887 45.528-87.973 92.014-153.488 128.842C222.987 265.43 150.87 292.9 104.283 291.7c-21.494-.553-37.59-7.18-46.125-20.074-8.534-12.894-8.506-29.543-3.983-47.63 7.84-31.353 29.653-69.698 58.34-110.782-7.797 1.302-14.508 2.612-19.893 3.903-30.266 39.084-48.864 71.717-58.134 97.867-9.472 26.72-9.26 46.303-3.46 60.13 5.796 13.828 17.3 23.064 34.327 28.596 16.945 5.506 39.115 6.772 63.687 3.752 116.3-25.85 197.457-73.105 250.955-117.79 26.788-22.375 46.634-44.117 60.41-62.15 8.573-11.224 14.548-20.87 18.585-28.347-4.643-.358-9.413-.673-14.237-.97zM327.863 108.43c2.46-.037 26.5 15.642 28.945 24.73.76 2.82-4.772 13.078-10.61 10.718-13.923-5.627-20.837-32.943-18.505-35.392.033-.035.09-.054.17-.055zm-44.887 7.202c1.936-.767 26.606 28.7 25.068 40.233-.462 3.467-12.88 12.426-19.232 7.234-15.152-12.383-10.11-45.774-5.836-47.468zm186.066 2.324c-3.887 6.184-8.63 13.03-14.332 20.495-14.6 19.112-35.342 41.79-63.174 65.036-55.663 46.494-139.71 95.216-259.09 121.664l-.413.092-.422.052c-26.587 3.31-51.25 2.22-71.818-4.465-1.817-.59-3.593-1.247-5.347-1.934 4.72 6.51 9.666 12.87 14.947 19.027l6.414.7s17.492 1.912 39.102 2.595c21.61.683 47.583-.176 62-4.496 10.873-3.258 20.896-11.22 31.763-20.182 10.868-8.963 22.57-18.926 37.96-23.642 12.978-3.978 25.618-2.138 36.838-.908 11.22 1.23 20.902 1.86 28.63-1.116 27.108-10.44 63.867-40.88 92.75-68.666 28.885-27.784 50.388-52.72 50.388-52.72l3.77-4.375c7.334-18.944 12.98-35.012 13.78-37.297-1.212-3.29-2.454-6.573-3.744-9.86zm-299.03.866c1.696.033 2.86.29 3.284.757 1.226 1.36-20.59 30.342-31.982 32.51-3.425.65-15.137-6.865-11.805-13.616 6.705-13.585 31.34-19.834 40.5-19.652zm66.273 9.36c3.003 1.28 5.088 33.156-6.41 46.397-4.82 5.552-13.355-2.078-13.528-5.393-.574-11.025 18.577-41.586 19.938-41.006zm-38.68 2.91c.325-.012.58.028.756.124 1.27.7-7.563 28.066-15.533 32.645-2.396 1.377-13.112-1.212-12.365-7.132 1.67-13.238 22.265-25.435 27.143-25.635zm283.926 25.642c-7.37 19.928-18.22 47.66-27.638 65.084-14.927 27.616-30.982 56.845-55.205 79.562-18.01 16.892-40.096 28.675-62.217 37.465-17.536 6.968-34.834 5.994-47.87 10.537-7.17 2.5-15.877 10.933-25.573 21.287-9.697 10.353-20.54 22.33-35.166 29.792-11.15 5.69-24.748 7.68-38.69 7.846 13.48 3.14 28.213 5.623 44.417 7.332.093-.034 9.77-3.616 21.62-8.684 11.91-5.09 26.07-11.856 33.46-16.992 6.478-4.5 12.204-11.614 18.567-19.38 6.363-7.767 13.436-16.254 23.785-21.973 19.882-10.988 41.663-9.71 58.444-14.193 11.183-2.987 20.21-3.2 24.014-6.382 6.98-5.837 10.426-17.18 14.07-30.604 3.644-13.422 7.636-29.156 21.375-38.927 6.474-4.604 12.825-4.546 18.266-4.773 1.36-.057 2.662-.076 3.852-.07.388.002.707.013 1.07.02 11.538-31.327 14.215-56.02 12.407-77.43-.572-6.76-1.608-13.23-2.99-19.516zm-329.788 7.668c.77.01 1.305.13 1.54.36.854.826-12.014 20.554-19.298 22.456-2.19.572-10.104-3.784-8.24-8.303 3.89-9.43 20.615-14.593 25.998-14.513zm108.668 4.59c3.25.106 18.923 13.65 18.173 24.92-.324 4.878-9.348 5.28-11.06 3.798-5.694-4.93-8.52-28.32-7.39-28.683.08-.025.172-.037.277-.034zm-62.213 3.185c.06-.015.107-.012.138.008 2.238 1.368 2.52 23.227-6.79 30.234-3.904 2.938-10.1-3.64-10.094-5.907.015-7.3 14.895-23.87 16.747-24.336zm238.277 43.984c-5.864 6.003-12.288 12.424-19.147 19.02-29.546 28.422-66.15 59.934-98.76 72.493-12.84 4.944-25.656 3.46-37.06 2.21-11.403-1.25-21.513-2.254-29.603.226-10.87 3.33-20.9 11.343-31.78 20.317-10.88 8.974-22.615 18.912-38.048 23.537-19.014 5.698-45.372 5.95-67.737 5.244-9.818-.31-18.697-.864-25.706-1.39 3.16 2.875 6.44 5.682 9.858 8.408 6.895 5.5 14.363 10.7 22.517 15.54 5.198 1.216 20.1 4.506 38.1 6.614 22.188 2.6 48.33 2.293 60.57-3.95 10.72-5.47 20.475-15.673 30.208-26.065 9.733-10.393 19.288-21.274 32.79-25.98 17.582-6.127 34.547-5.26 47.144-10.267 20.79-8.26 40.87-19.16 56.55-33.867 20.7-19.412 35.725-45.58 50.102-72.09zm28.162 55.92c-3.02.497-5.553 1.285-5.28 1.09-7.28 5.178-10.838 15.723-14.437 28.978-.423 1.557-.847 3.153-1.282 4.765 4.742-5.842 8.917-11.45 12.354-16.646 3.184-6.29 6.057-12.346 8.644-18.188zm-63.65 78.56c-2.585.34-4.937.65-6.877 1.168-20.564 5.492-40.432 4.846-54.384 12.557-6.653 3.676-12.386 10.08-18.568 17.627-6.183 7.546-12.74 16.168-22.217 22.753-5.612 3.9-12.695 7.71-20.023 11.247 30.108-4.878 62.478-20.803 91.664-41.387 10.65-7.51 20.854-15.632 30.406-23.965z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Waterskin;

impl IconShape for Waterskin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.683 26.824c-6.072-.12-12.087 1.004-17.863 3.766-9.62 4.6-13.792 15.067-13.713 24.023.079 8.957 2.688 17.853 5.183 26.637 2.496 8.784 4.953 17.403 5.592 24.139.64 6.736-.278 10.517-2.84 13.084-4.94 4.95-10.999 6.526-19.837 6.228-8.84-.297-19.734-2.91-31.102-5.771-11.368-2.861-23.212-5.963-34.973-6.508-11.76-.545-24.137 1.818-33.644 10.648-21 19.507-29.23 45.076-30.444 72.797-1.045 23.894 2.817 49.884 7.666 77.24a319.671 319.671 0 0 0 17.659-3.601c-4.712-26.817-8.271-51.61-7.342-72.852 1.085-24.808 7.621-44.52 24.71-60.394 5.135-4.77 11.525-6.274 20.561-5.856 9.036.42 20.021 3.114 31.414 5.98 11.393 2.868 23.194 5.914 34.89 6.307 11.694.394 24.008-2.309 33.183-11.503 7.584-7.601 8.91-18.12 8.02-27.502-.892-9.382-3.74-18.699-6.198-27.354-2.459-8.655-4.453-16.702-4.498-21.877-.046-5.175.138-6.029 3.476-7.625 8.217-3.928 18.665-2.12 31.375 4.9 12.712 7.021 26.54 18.95 38.975 31.735 19.341 19.885 35.042 41.174 41.21 49.851a3085.36 3085.36 0 0 0 14.355-10.89c-6.876-9.633-22.991-31.29-42.66-51.512-13.144-13.512-27.848-26.472-43.178-34.94-9.582-5.292-19.857-8.95-29.977-9.15zm223.649 30.834c-3.928-.095-7.467.275-10.315.994-5.696 1.44-7.486 3.62-7.809 4.729-.322 1.11.038 3.847 4.153 7.848 4.114 4 11.36 8.146 20.152 10.441 8.792 2.295 17.255 2.25 22.951.81 5.696-1.439 7.484-3.615 7.807-4.724.322-1.11-.036-3.85-4.15-7.85-4.115-4-11.359-8.148-20.15-10.443-4.397-1.148-8.712-1.709-12.64-1.805zm-27.67 27.957c-7.085 5.414-14.14 10.79-21.405 16.436 13.589 18.425 32.911 30.366 60.432 33.185 2.615-10.891 5.15-21.564 7.685-32.193-5.91-.04-12.087-.872-18.347-2.506-11.47-2.994-21.263-8.159-28.365-14.922zm-36.834 28.393c-97.063 75.548-206.209 159.733-325.34 179.11-13.564 2.205-19.404 8.658-22.9 20.308-3.497 11.65-2.833 28.71 1.585 47.053 8.556 35.518 31.115 75.613 51.887 94.316 18.395-2.027 41.96-6.153 65.463-12.729-3.165-4.838-6.055-10.11-8.762-15.77l17.72-8.474c3.5 7.317 6.79 13.298 10.354 18.2 2.421-.838 4.86-1.648 7.24-2.543 9.494-3.57 18.525-7.633 26.823-12.11-6.486-5.76-12.254-12.132-16.84-18.994l16.332-10.914c4.53 6.78 10.874 13.25 18.178 18.838 11.693-8.596 20.57-18.284 25.068-28.836l18.07 7.703c-5.312 12.463-13.994 23.013-24.769 32.065 6.074 2.707 12.336 4.748 18.557 5.687l-2.934 19.424c-11.97-1.807-23.45-6.183-33.898-12.188-10.696 6.393-22.483 11.797-34.604 16.498 2.793 1.315 5.853 2.418 9.258 3.35l-5.188 18.945c-10.658-2.918-19.375-7.844-26.752-14.447-18.489 5.66-37.113 9.768-53.935 12.578 20.436 9.494 44.948 14.174 70.25 14.106 35.905-.098 72.954-9.544 100.234-25.434 101.172-58.93 140.87-186.58 170.084-305.31-30.923-4.017-54.847-18.973-71.181-40.432zm80.052 228.416s-47.855 67.63-37.367 102.426c4.397 14.585 21.55 27.507 36.78 27.125 14.57-.366 29.75-13.698 33.845-27.686 10.036-34.28-33.258-101.865-33.258-101.865z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaveSurfer;

impl IconShape for WaveSurfer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.9 19.76C109.8 19.4 56.01 32.11 26.37 60.2c-1.81 1.71-3.56 3.39-5.27 5.05V491.9h35.92c-17.04-44.3-24.83-95.2-22.74-134.1 15.94 37.1 29.87 91.8 57.44 134.1h58.18c-28.4-36.1-54.81-80.2-76.19-119.5-6.47-11.9-11.98-24.2-16.52-39.1 23.69 47.6 98.31 119.3 144.41 158.6h47.9c-18.8-15.2-30.3-33.4-39.1-49.3 23.1 20.3 49.9 36.6 80.1 49.3h70.6c-6.9-2.1-14.1-4.3-21.6-6.8-80.6-26.6-171-95-215.1-140.5-3.8-3.8-6.4-8.4-7.2-13.3-.8-5 .4-10 2.7-14 4.6-7.9 12.4-12.9 21.3-16.7 8.9-3.8 19.2-6.4 29.4-6.9s20.4 1.2 29.1 5.9c2 1.1 4 2.2 6.1 3.3-35.9-90.1.5-169 137-160.5-8.9-4.8-17.7-9.1-26.2-13l-97 11.5s43-18 62.5-25c-7.3-2.3-14.3-4.4-21.2-6-67.5 10.2-140 69.4-164.24 134.1-3.66-26.7 1.12-97.2 99.14-140.3-41 3.1-72.8 20.1-95.5 45.3-29.16 32.4-53.97 79.7-55.77 126.1-5.74-53 7.68-103.5 42.45-138C125.2 99.19 170 84.29 214.6 85.45 263.5 86.8 321.3 105.5 365.4 138c44.1 32.4 57.2 57.2 72.7 69.7 1.8-16.6-5-34.8-17.2-53.1 14.2 3.4 29 7.3 44.7 12.1-8.3-32.7-33-60.8-67-83.4 23.2 4.45 41.7 7.77 45.2.49-15.8-22.75-63.6-51.55-129.9-40.3-46.2-15.15-97-23.44-144-23.73zM365.2 189.9c-4.6-.1-9.1 2.2-13 7.1-4 4.9-6.8 12.3-7 20.7-.2 8.3 2.2 15.8 5.9 20.9 3.7 5.1 8.1 7.6 12.7 7.7 4.6.1 9.2-2.1 13.1-7 3.9-4.9 6.7-12.3 6.9-20.7.3-8.4-2.2-15.8-5.9-20.9-3.6-5.1-8.1-7.6-12.7-7.8zm-79.8 30.4c-19.9 2.6-37.5 10.9-57.1 18.8l6.1 16 49.1-15.1 36.7 11.1-25.9 56.7c-17.8-4.4-32.7-6.1-52.9-5.6l-21.9 55 16.7 12.2 19.9-43.2 51.2 4.9 30.4 46.4-5.9 45.3 18.6 8.1 9.6-52.4c-4-15.5-11.5-33.9-21.8-49.7l28.3-51.4 36.3 32.1 2 43.8 17.2 1.1c.8-16.6 2.4-32.2-.5-46-3.2-15.2-18.5-36.4-36.2-52.2-6.1 5-13.7 8.2-21.9 8-11-.3-20.6-6.5-26.8-15.1-4.1-5.7-6.9-12.5-8.3-19.9-13.7-4.2-25.4-8.4-42.9-8.9zm-111.2 91.8c-.9 0-1.9.1-2.9.1-7.9.4-16.3 2-23.1 4.9-6.7 2.9-11.5 6.9-12.8 9.1-.6 1.2-.6 1.6-.5 2.2.1.7.5 1.8 2.3 3.8 41.7 43 132.3 110.9 207.9 135.9 62.5 20.8 100.1 24.3 120.5 21.2 10.2-1.6 15.9-4.7 18.9-7.5 2.4-2.2 3.2-4.2 3.6-6.1-1-1.1-2.7-2.6-5.3-4.6-5.4-4.1-13.9-9.6-24.4-15.9-21-12.5-50.4-28.3-82.6-45-1-.5-2.1-1.1-3.1-1.6l-8.7 47.5-51.8-22.1 6.9-52.3-.5-.8c-18.8-9.5-37.4-18.9-55.1-27.9l-20.1 43.6-45.7-33 14.7-36.9c-7.6-4-14.9-7.8-21.3-11.3-3.9-2.2-10.1-3.2-16.9-3.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaxTablet;

impl IconShape for WaxTablet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436.992 30.271l-94.19 3.489-35.874 39.347-23.596-34.214-187.894.859-5.778 252.535 52.742 48.498 114.059 1.383-.219 17.996-94.004-1.139 13.25 12.184 160.268 16.852 54.121-3.733 1.238 17.955-45.183 3.117-2.606 25.493 94.756 24.796-.512-200.06-28.111-12.621 28.004-29.17-.47-183.567zM280.85 96.351l.166 17.997-152.407 1.406-.166-17.998 152.407-1.404zm120.046 0l.27 17.997-94.113 1.404-.268-17.996 94.111-1.404zm-2.91 38.631l.473 17.993-53.377 1.404-.475-17.992 53.38-1.405zm-77.822.7l.2 17.998-191.036 2.105-.2-17.996 191.036-2.107zm-188.678 41.44l42.139.7-.299 17.996-42.14-.703.3-17.994zm262.317 0l.41 17.993-153.81 3.512-.41-17.994 153.81-3.512zm-198.555 2.105h21.773v17.998h-21.773v-17.998zm86.305 37.222l.164 17.998-153.81 1.405-.165-17.997 153.81-1.406zm24.664 0h89.898v17.998h-89.898V216.45zm-44.854 44.95l132.74 1.406-.19 17.996-132.741-1.405.191-17.998zm-133.539.703H243.71V280.1H127.824v-17.998zm32.81 40.736l.4 17.994-31.604.703-.4-17.994 31.605-.703zm233.735.006l.684 17.984-55.485 2.108-.683-17.987 55.484-2.105zm-68.53 2.802l.085 17.999-151.703.7-.084-17.997 151.703-.702zm-234.083 13.02l-.35 21.574 64.11 57.606 5.1-15.864-68.86-63.316zm302.139 24.906l.228 17.996-110.266 1.407-.23-17.998 110.268-1.405zM177.11 389.477l-5.195 16.162 154.508 13.613 1.424-13.926-150.737-15.85zm158.977 58.127l-4.574 15.039 106.638 26.703c.27-5.17.572-10.058.877-14.805l-102.941-26.937z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Weight;

impl IconShape for Weight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 46c-45.074 0-82 36.926-82 82 0 25.812 12.123 48.936 30.938 64H128L32 480h448l-96-288h-76.938C325.877 176.936 338 153.812 338 128c0-45.074-36.926-82-82-82zm0 36c25.618 0 46 20.382 46 46s-20.382 46-46 46-46-20.382-46-46 20.382-46 46-46zm-82.215 202.95h23.5v33.263l33.873-33.264h27.283l-43.883 43.15 48.4 47.974H233.54l-36.255-35.888v35.888h-23.5V284.95zm119.934 21.24c4.76 0 8.952.934 12.573 2.806 3.62 1.872 6.938 4.82 9.95 8.85v-10.13h21.972v61.462c0 10.986-3.48 19.368-10.438 25.146-6.917 5.82-16.968 8.727-30.152 8.727-4.272 0-8.4-.325-12.39-.976-3.986-.65-7.996-1.647-12.024-2.99v-17.03c3.826 2.198 7.57 3.826 11.23 4.884 3.664 1.098 7.347 1.648 11.05 1.648 7.162 0 12.41-1.566 15.746-4.7 3.337-3.132 5.006-8.035 5.006-14.708v-4.7c-3.01 3.986-6.328 6.916-9.95 8.788-3.62 1.87-7.813 2.808-12.573 2.808-8.343 0-15.238-3.275-20.69-9.826-5.453-6.592-8.18-14.974-8.18-25.146 0-10.214 2.727-18.576 8.18-25.086 5.452-6.55 12.347-9.827 20.69-9.827zm8.118 15.746c-4.517 0-8.038 1.67-10.56 5.005-2.523 3.338-3.784 8.058-3.784 14.162 0 6.266 1.22 11.026 3.662 14.28 2.442 3.215 6.003 4.823 10.682 4.823 4.557 0 8.096-1.67 10.62-5.006 2.522-3.337 3.784-8.036 3.784-14.098 0-6.104-1.262-10.824-3.785-14.16-2.523-3.337-6.062-5.006-10.62-5.006z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WeightLiftingDown;

impl IconShape for WeightLiftingDown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 193c-20.835 0-39 20.24-39 47s18.165 47 39 47 39-20.24 39-47-18.165-47-39-47zm-56.154 58.045c-31.257 8.56-47.236 34.018-61.975 61.45-17.314 32.592-28.125 71.052-36.09 102.505H89v-55H71v55H55v-39H37v39H20v18h17v39h18v-39h16v55h18v-55h84.592c5.427 13 11.908 26 18.408 39l-48 6v15h72.79l-12.35-60h103.12l-12.35 60H368v-15l-48-6c6.5-13 12.98-26 18.408-39H423v55h18v-55h16v39h18v-39h17v-18h-17v-39h-18v39h-16v-55h-18v55h-12.78c-7.967-31.463-18.818-70.017-36.857-102.727-15.017-27.23-29.637-51.526-61.316-60.543C307.244 281.506 284.524 305 256 305c-28.743 0-51.593-23.856-56.154-53.955zm-3.608 48.385l10.04 50.24C176 360 160 360 160 376c0 13 2.64 26 6.85 39h-32.032c7.596-28.945 17.637-61.754 31.31-87.494 9.008-14.526 17.53-18.784 30.11-28.076zm119.3 1.35c11.32 8.253 20.97 10.93 29.804 26.947 14.136 25.632 24.233 58.35 31.836 87.273H345.15c4.21-13 6.85-26 6.85-39 0-16-16-16-46.28-26.33l9.817-48.89zM256 376c22.95 0 60 16 60 16l-4.734 23H200.734L196 392s37.05-16 60-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WeightLiftingUp;

impl IconShape for WeightLiftingUp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.492 18.457l-17.726 3.127L69.09 74.47a1630.67 1630.67 0 0 0-15.8 2.54l-6.503-36.89-17.726 3.124 6.49 36.795a1877.847 1877.847 0 0 0-17.196 3.112l3.292 17.696c5.728-1.066 11.397-2.09 17.028-3.084l7.056 40.02 17.727-3.124-7.04-39.93c5.304-.88 10.57-1.725 15.798-2.54l9.777 55.45 17.727-3.126-9.697-54.99c8.483-1.218 16.866-2.338 25.18-3.38 15.54 46.39 34.697 99.995 66.936 134.448C190.86 250.992 192 268 214.56 310 192 348 176 412 167.21 471l-48 6v15H192c16-48 64-144 64-144s48 96 64 144h72.79v-15l-48-6C336 412 320 348 294 310c26-42 24.175-59.585 35.83-89.377 32.25-34.452 51.42-88.075 66.967-134.478 8.314 1.04 16.697 2.16 25.18 3.38l-9.696 54.99 17.728 3.124 9.777-55.45c5.23.815 10.494 1.66 15.8 2.54l-7.042 39.93 17.727 3.125 7.056-40.02c5.63.993 11.3 2.017 17.028 3.083l3.292-17.696c-5.78-1.075-11.507-2.11-17.195-3.113l6.49-36.796-17.727-3.125-6.504 36.89c-5.303-.88-10.57-1.727-15.8-2.54l9.324-52.886-17.726-3.127-9.406 53.35C365.982 63.31 310.982 59.04 256 59.04c-54.98 0-109.983 4.27-169.102 12.767l-9.406-53.35zM256 76.98c35.53 0 71.07 1.83 107.822 5.463-14.082 34.858-38.454 73.504-63.203 101.967C290.293 199.27 274.35 209 256 209c-18.35 0-34.294-9.73-44.62-24.59-24.748-28.463-49.12-67.11-63.202-101.967 36.75-3.633 72.29-5.463 107.822-5.463zM256 97c-20.835 0-39 20.24-39 47s18.165 47 39 47 39-20.24 39-47-18.165-47-39-47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WeightScale;

impl IconShape for WeightScale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M69.14 41L41 67.85V444.3L67.12 471H444.3l26.7-26.7V67.73L444.3 41H69.14zM247 72.07V112h18V72.07c25.3.3 50.5 1.83 74.6 4.63l-12.3 49.1 17.4 4.4 12.8-51.15C384.7 83.02 410 88.67 432 96l-48 112c-26.1-6.5-62.9-10.4-101.5-11.6 4.1 5.5 6.5 12.3 6.5 19.6 0 18.1-14.9 33-33 33s-33-14.9-33-33c0-7.3 2.4-14.1 6.5-19.6-38.7 1.2-75.4 5.1-101.5 11.6L80 96c22-7.33 47.3-12.98 74.5-16.95l12.8 51.15 17.4-4.4-12.3-49.1c24.1-2.8 49.3-4.33 74.6-4.63zm-30.7 20.39l-16.6 7.08 38.1 88.96c5.1-3.3 11-5.3 17.4-5.5l-38.9-90.54zM256 201c-8.4 0-15 6.6-15 15s6.6 15 15 15 15-6.6 15-15-6.6-15-15-15zM128 359h256v18H128v-18zm0 48h256v18H128v-18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Well;

impl IconShape for Well {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.236 28.564l-41.248 110h422.024l-41.248-110zm32.764 128v176.07c76.024 28.87 197.976 28.87 274 0v-176.07h-18v137.428c-7.16-3.66-15.96-6.65-26.307-9.236-24.208-6.052-56.74-9.64-92.693-9.64-7.85 0-15.526.18-23 .51-.017-12.01.002-24.02.04-36.032l24.013-60.03H238.05L215 237.194v39.566c-19.528 1.612-37.125 4.354-51.693 7.996-10.346 2.586-19.147 5.577-26.307 9.236V156.564zm89 23v16h4.266l6.4-16zm68.44 0l-25.6 64h17.867l25.602-64zm-196.44 23v18h21v-18zm75 0v18h42v-18zm149.492 0l-16.4 41H304v-23h53v-18zm106.508 0v18h12v80h57v-18h-39v-80zm-155 90.55c34.738 0 66.208 3.575 88.326 9.105 11.06 2.763 19.795 6.09 25.035 9.186 4.377 2.587 5.365 4.425 5.576 4.71.04-.057.064-.074.064 0 0 .073-.023.055-.064 0-.21.283-1.2 2.12-5.575 4.706-5.24 3.098-13.975 6.425-25.034 9.19-22.118 5.53-53.588 9.103-88.326 9.103-34.738 0-66.208-3.574-88.326-9.103-11.06-2.765-19.795-6.092-25.035-9.19-4.377-2.586-5.365-4.423-5.576-4.707-.04.056-.064.074-.064 0 0-.073.023-.056.064 0 .21-.284 1.2-2.122 5.575-4.71 5.24-3.096 13.975-6.422 25.034-9.186 12.965-3.243 29.16-5.805 47.326-7.376v28.72h18v-29.91c7.456-.347 15.138-.54 23-.54zm137 58.665c-32.96 11.616-71.95 18.42-112 20.417v27.45c40.88-2.024 80.4-9.035 112-21.038zm-274 .02v26.83c9.95 3.777 20.683 7.063 32 9.852V361.16c-11.143-2.664-21.856-5.785-32-9.36zm50 13.202v27.408c29.46 5.657 61.842 8.253 94 7.81v-27.447c-31.99.444-64.16-2.134-94-7.77zm224 32.777c-5.196 1.83-10.525 3.553-16 5.146v25.158c5.527-1.687 10.863-3.51 16-5.46zm-274 .01v24.827c27.454 10.426 60.89 17.082 96 19.98v-25.44c-34.372-2.842-67.45-9.302-96-19.366zm240 9.837c-38.988 9.09-83.038 12.637-126 10.67v25.445c43.22 1.968 87.805-1.613 126-10.777zM119 441.78c1.642 9.154 8.428 17.585 16 21.704v-16.558c-5.475-1.593-10.804-3.317-16-5.147zm274 .007c-12.8 4.513-26.5 8.312-40.834 11.373v19.73c16.52-4.255 40.596-15.226 40.834-31.103zm-240 9.84v19.275c33.85 9.257 73.556 12.422 103 12.534 29.185 0 56.113-2.365 78.166-6.493v-20.37c-58.66 9.767-125.146 8.115-181.166-4.946z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WesternHat;

impl IconShape for WesternHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.117 111.268c-2.435.007-4.816.524-7.117 1.675-18.365 9.194-38.59 129.65-50.16 164.987 45.64 13.262 87.106 16.556 115.314 16.425 28.21-.13 68.652-3.635 112.97-16.49C358.53 242.48 338.34 122.123 320 112.943c-21.065-10.53-48.73 31.998-64 32-13.6.002-37.05-33.734-56.883-33.675zM224 160c11.53 40.5 9.107 74.724 0 96-9.107 21.276-32 11.235-32 0 25.333-6.927 26.21-35.5 32-96zm64 0c5.79 60.5 6.667 89.073 32 96 0 11.235-22.893 21.276-32 0s-11.53-55.5 0-96zM46.79 263.127c-17.5.4-24.138 17.83-14.79 40.873 11.088 30.345 58.972 96.774 112 96 24.103-.352 31.438-15.483 112-16 80.562-.517 87.88 15.648 112 16 53.017.774 100.907-65.655 112-96 13.006-32.066-4.934-53.25-40.016-32.84-21.85 11.926-44.06 17.898-65.984 24.48-.02 0-.044.024-.064.024v-.006c-45.8 13.756-87.924 17.486-116.754 17.615-28.83.13-72.027-3.357-119.145-17.548-21.897-6.618-44.09-12.59-66.027-24.565-9.866-5.74-18.374-8.19-25.22-8.033z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WhaleTail;

impl IconShape for WhaleTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M453.004 35.117c-65.314 46.61-189.755 41.018-213.559 125.426C184.41 101.41 98.625 83.031 21.771 63.209c6.532 139.103 71.38 147.437 192.44 194.547 23.71 25.786 29.786 49.93 19.254 82.705 46.403 5.1 71.504 15.468 106.754 27.742-.708-71.67-25.14-108.928-75.518-175.035 11.058 4.233 44.979 37.02 56.578 58.607 109.419-42.421 147.64-112.074 131.725-216.658zM180.178 353.9c-60.89-.24-114.034 19.49-158.426 74.221 167.075-48.84 292.003-13.21 471.893 7.895-118.936-38.752-224.474-81.763-313.467-82.116zm98.043 77.844c-99.28.255-206.34 18.738-256.866 63.139 168.002-26.61 356.801-28.408 470.8-4.967 1.102-35.337-101.418-58.46-213.934-58.172z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wheelbarrow;

impl IconShape for Wheelbarrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M34.227 44.89l-6.653 16.725L73.852 80.02l50.056 49.113-4.836 117.804.006.272c.39 20.225-.294 42.575 2.85 62.708 3.144 20.133 10.658 39.31 28.722 48.945 6.157 3.284 13.375 4.44 21.32 3.862 7.947-.578 16.926-2.662 28.51-5.996 22.22-6.398 54.32-17.63 104.313-33.312l-23.898-11.322c-39.855 12.72-66.882 22.007-85.395 27.336-11.075 3.188-19.144 4.928-24.834 5.34-5.69.415-8.695-.27-11.545-1.79-11.158-5.95-16.65-18.19-19.407-35.84-2.743-17.568-2.243-39.245-2.635-59.982l4.774-116.283.36-9-58.34-57.244L34.226 44.89zm345.855 74.452c-25.585-.552-44.19 40.905-70.13 36.79-10.583-1.68-12.736-18.994-22.81-22.644-24.377-8.83-69.052-.36-92.956 5.3L466.2 228.374c1.337-10.412 2.622-27.265-1.528-36.418-15.067-33.227-45.89-67.768-82.092-72.428-.84-.11-1.673-.17-2.498-.188zm-220.832 26.89l-3.475 86.666 200.145 94.827 103.115-51.965 18.424-24.727-318.21-104.8zm299.12 150.02l-20.583 10.373-14.156 67.135-16.015-16.276a40.063 40.68 18.916 0 1 .02-.013L389.7 339.247a65.908 65.948 90 0 0-.018.016l-5.522-5.612-16.88 8.506 55.284 56.18a9 9 0 0 0 15.22-4.457l20.587-97.628zm-41.464 31.04a65.908 65.948 90 0 0-10.76 3.003l8.338 8.475 2.422-11.48zm50.795 11.48l-6.245 29.624a40.063 40.68 18.916 0 1 5.15 36.02 40.063 40.68 18.916 0 1-50.793 26.1 40.063 40.68 18.916 0 1-27.218-41.405l-20.936-21.274a65.908 65.948 90 0 0-1.314 3.56 65.908 65.948 90 0 0 41.994 83.223 65.908 65.948 90 0 0 83.275-41.968 65.908 65.948 90 0 0-23.912-73.88z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Whisk;

impl IconShape for Whisk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41.84 23.79c-4.42-.12-9.53 1.11-13.24 4.82-3.71 3.71-4.94 8.82-4.82 13.24.13 4.42 1.34 8.64 3.19 12.95 3.7 8.62 10.1 17.64 18.6 26.14 3.72 3.72 7.53 7.01 11.37 9.87l12.91-12.94c-3.75-2.59-7.72-5.83-11.55-9.66-7.13-7.12-12.34-14.78-14.78-20.5-1.1-2.56-1.54-4.58-1.66-5.84 1.25.12 3.28.56 5.84 1.66 5.71 2.45 13.37 7.66 20.49 14.78 3.83 3.82 7.08 7.79 9.67 11.54l12.91-12.93c-2.86-3.83-6.14-7.63-9.85-11.34-8.5-8.5-17.51-14.9-26.13-18.6-4.31-1.84-8.53-3.07-12.95-3.19zm60.96 46.54L70.31 102.9 216 248.5l32.5-32.5L102.8 70.33zM263.9 226l-16.7 16.7c24.2 20.8 54.6 49.2 86.9 81.5 35.8 35.8 66.9 69.4 88.1 94.7 5.4 6.4 10.1 12.2 14.1 17.4-5.2-4-11-8.7-17.4-14-25.3-21.3-58.9-52.4-94.7-88.2-32.3-32.3-60.7-62.7-81.5-86.9L226 263.9c23.9 36.3 39.5 77.1 55.3 114 17 39.9 34.3 75.9 65.8 94.7l.3.2.3.2c47.4 23.6 91.4 18.5 117.3-6.9.2-.1.4-.3.6-.5.2-.2.4-.4.5-.6 25.4-25.9 30.5-69.9 6.9-117.2-13.8-27.5-49.5-43.8-90.7-62.2-38.2-17.1-81.7-35.3-118.4-59.6zm49.9 48.3c21 10.1 41.9 19.1 61.1 27.7 40.9 18.3 73.1 36 81.9 53.8 3.3 6.7 6 13.1 8 19.4-19.3-4.7-48.1-19.7-82.3-44.8-20.8-15.3-43.8-34.1-68.7-56.1zm-41.5 37.3c22.8 25.7 42.4 49.5 58.1 70.9 25.1 34.3 40.1 63.1 44.8 82.4-6.2-2-12.6-4.6-19.1-7.9-24.9-15.1-41.5-47-58.3-86.2-8-18.7-16.1-38.8-25.5-59.2zm122 49c29.4 19.6 54.2 31.5 75.1 33.7 2.7 18.5-.4 34.4-7.5 46.8-.3-.5-.6-.9-.9-1.4-5.6-8.5-14.1-19.4-24.9-32.3-11.5-13.6-25.7-29.5-41.8-46.8zm-33.6 33.8c17.2 16.1 33.1 30.2 46.7 41.7 12.9 10.8 23.8 19.3 32.3 24.9.5.3.9.6 1.4.9-12.4 7.1-28.3 10.2-46.8 7.5-2.1-20.8-14-45.6-33.6-75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Whistle;

impl IconShape for Whistle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93.75 81.443c-5.38 0-12.368 2.49-22.358 8.967 3.966 4.682 8.167 9.687 16.47 19.256 5.782 6.663 11.618 13.29 16.026 18.088.038.042.055.055.092.096l30.894-17.932-14.652-14.148c-11.292-9.404-18.644-13.866-25.418-14.293-.345-.022-.696-.034-1.055-.034zm120.08 15.082c-.885-.01-1.767-.006-2.643.01-10.46.193-20.2 2.23-26.742 5.424l-67.262 39.038c2.45.544 4.885 1.196 7.287 2.02 17.275 5.923 33.093 18.223 49.568 34.7l216.44 213.5 80.978-44.433L258.54 111.38c-8.656-7.84-22.49-12.908-36.693-14.394-2.677-.28-5.363-.43-8.018-.46zM58.192 102.74c-17.543 20.723-20.57 37.186-15.326 57.004.692 2.618 3.057 6.357 6.373 10.47 2.195-3.144 4.55-6.304 7.086-9.478 3.99-4.995 8.385-9.183 13.085-12.558l-.106-.2 2.768-1.61c1.354-.862 2.73-1.66 4.13-2.393l11.868-6.89c-4.175-4.618-8.94-10.017-13.803-15.622-5.956-6.864-11.732-13.62-16.074-18.723zm184.093 13.438l58.415 61.67c-46.086-5.037-56.79 13.2-69.027 34.2l-57.334-59.304 67.946-36.566zM103.702 157.23c-.714-.016-1.43-.016-2.15.002-6.976.18-14.207 2.058-22.252 5.885-3.035 2.29-5.99 5.196-8.91 8.852-25.77 32.264-30.45 59.135-25.484 83.477 4.965 24.343 20.536 46.656 37.916 66.455 13.314 15.168 28.86 23.992 48.472 27.93 19.614 3.94 43.438 2.708 71.98-3.475 33.246-7.2 66.01 8.42 95.81 27.665 26.118 16.868 50.676 37.09 70.98 49.95l8.79-18.935-217.52-214.57-.022-.022c-15.524-15.524-29.565-25.905-42.682-30.402-5.02-1.722-9.925-2.695-14.928-2.813zm367.08 210.456l-73.45 40.304-10.48 22.567 70.833-38.41 13.096-24.46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WifiRouter;

impl IconShape for WifiRouter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M311.4 32.82C279.9 53.58 259 89.29 259 129.8c0 39.9 20.3 75.2 51.1 96.1l8.1-16.2c-25-17.8-41.2-46.9-41.2-79.9 0-33.59 16.8-63.17 42.5-80.82l-8.1-16.16zm127.2 0l-8.1 16.16C456.2 66.63 473 96.21 473 129.8c0 33-16.2 62.1-41.2 79.9l8.1 16.2c30.8-20.9 51.1-56.2 51.1-96.1 0-40.51-20.9-76.22-52.4-96.98zm-110 34.35C309.4 81.41 297 104.2 297 129.8c0 25 11.9 47.3 30.3 61.6l8.2-16.4c-12.6-11-20.5-27.1-20.5-45.2 0-18.7 8.5-35.3 21.8-46.29l-8.2-16.34zm92.8 0l-8.2 16.34C426.5 94.5 435 111.1 435 129.8c0 18.1-7.9 34.2-20.5 45.2l8.2 16.4c18.4-14.3 30.3-36.6 30.3-61.6 0-25.6-12.4-48.39-31.6-62.63zm-75.3 35.03c-6.9 7.2-11.2 16.9-11.2 27.6 0 10.1 3.8 19.3 10 26.4l9.4-18.7c-.9-2.4-1.4-5-1.4-7.7 0-3.5.8-6.7 2.2-9.6l-9-18zm57.8 0l-9 18c1.4 2.9 2.2 6.1 2.2 9.6 0 2.7-.5 5.3-1.4 7.7l9.4 18.7c6.2-7.1 10-16.3 10-26.4 0-10.7-4.3-20.4-11.2-27.6zM366 144v183h18V144h-18zM25 345v110h462V345H25zm55 39a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm48 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm48 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zM73 473v16h46v-16H73zm320 0v16h46v-16h-46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WindTurbine;

impl IconShape for WindTurbine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272 16c-32 48-38.97 115.99-38 176 .118 7.3 2.486 17.54 5.086 26.69 5.166-2.36 10.89-3.69 16.914-3.69 3.04 0 6 .346 8.857.982L272 16zm-16 217c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm40.8 27.033c-.897 9.054-4.776 17.268-10.632 23.643L455.812 389.87c-25.57-51.714-80.964-91.744-133.42-120.91-6.366-3.54-16.386-6.605-25.593-8.927zm-79.896 8.274L40.124 362.12c57.57 3.714 119.937-24.243 171.423-55.09 6.274-3.758 13.95-10.936 20.58-17.77-7.1-5.122-12.522-12.447-15.223-20.953zm55.86 25.07c-5.127 2.32-10.8 3.623-16.764 3.623-5.964 0-11.637-1.302-16.764-3.62L232 496h48l-7.236-202.623z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Windmill;

impl IconShape for Windmill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.188 22L102.25 41.656 230.063 169.47l.843-.845 2.406-2.406L161.188 22zm246.906 18L280.28 167.813l.814.812 2.406 2.406 144.25-72.124L408.094 40zM256 40.938l-53.97 26.968 45.657 91.344c2.727-.648 5.52-.97 8.313-.97 3.306 0 6.614.467 9.813 1.376l75.875-75.875L256 40.938zm-88 89.093V184h53.906c.006-.02-.005-.043 0-.063L168 130.03zm176 28.657L293.375 184H344v-25.313zm-88 15.5c-4.975 0-9.94 1.908-13.78 5.75-7.686 7.685-7.686 19.91 0 27.594 7.683 7.686 19.877 7.686 27.56 0 7.686-7.683 7.686-19.908 0-27.593-3.84-3.842-8.805-5.75-13.78-5.75zM199.312 201l-2.875 13.594 25.094-12.563c-.08-.345-.146-.682-.218-1.03h-22zm91.375 0c-.176.856-.353 1.72-.593 2.563l29.312 29.312-6.72-31.875H290.69zM228.5 216.47L84.25 288.562l19.656 58.937L231.72 219.687l-.814-.843-2.406-2.375zm53.438 1.56l-.844.814-2.375 2.406L350.81 365.5l58.938-19.656L281.937 218.03zm-35.75 9.814l-66.532 66.53L139.094 487H216v-63h80v63h76.906l-22.03-104.688-1.595.532-6.56 2.22-3.126-6.22-75.28-150.625c-5.956 1.416-12.227 1.302-18.127-.376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Window;

impl IconShape for Window {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 66.75V425.8l78-26V92.74zm462 0l-78 25.99V399.8l78 26V267.5c-1 3.2-2.4 6.2-4.2 8.8-4.1 6.1-10.7 11-18.8 11-8.1 0-14.7-4.9-18.8-11-4.1-6.1-6.2-13.8-6.2-22s2.1-15.9 6.2-22 10.7-11 18.8-11c8.1 0 14.7 4.9 18.8 11 1.8 2.6 3.2 5.6 4.2 8.8zm-366 28.5V397.3h126V95.25zm144 0V397.3h126V95.25zM135 109.3h98v274h-98v-265zm144 0h98v274h-98v-265zm-126 18v110h62v-110zm144 0v110h62v-110zm167 112c-.8 0-2.1.4-3.8 3-1.7 2.6-3.2 7-3.2 12s1.5 9.4 3.2 12c1.7 2.6 3 3 3.8 3 .8 0 2.1-.4 3.8-3 1.7-2.6 3.2-7 3.2-12s-1.5-9.4-3.2-12c-1.7-2.6-3-3-3.8-3zm-311 16v110h62v-110zm144 0v110h62v-110zm-184 160v30h286v-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WindowBars;

impl IconShape for WindowBars {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 25.148c-15.572.503-31.055 2.31-46 5.424V55h46V25.148zm18 0V55h46V30.572c-14.945-3.115-30.428-4.92-46-5.424zm-82 9.9c-16.506 4.784-32.067 11.272-46 19.473V55h46V35.049zm146 0V55h46v-.479c-13.933-8.201-29.494-14.689-46-19.472zM111.73 73C87.921 94.666 73 123.662 73 160v23h46V73h-7.27zM137 73v110h46V73h-46zm64 0v110h46V73h-46zm64 0v110h46V73h-46zm64 0v110h46V73h-46zm64 0v110h46v-23c0-36.338-14.921-65.334-38.73-87H393zM73 201v110h46V201H73zm64 0v110h46V201h-46zm64 0v110h46V201h-46zm64 0v110h46V201h-46zm64 0v110h46V201h-46zm64 0v110h46V201h-46zM73 329v110h46V329H73zm64 0v110h46V329h-46zm64 0v110h46V329h-46zm64 0v110h46V329h-46zm64 0v110h46V329h-46zm64 0v110h46V329h-46zM41 457v30h430v-30H41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Windpump;

impl IconShape for Windpump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M370.506 32l-32 16v60h16l16-76zm-56.988 1.912l-19.713 29.856 30 51.962 13.855-8-24.142-73.818zm71.584 22.783l-30 51.96 13.855 8 51.857-57.817-35.712-2.143zM265.12 64.063l-2.143 35.712 51.96 30 8-13.857-57.818-51.856zm155.987 23.46l-51.96 30 8 13.856 73.818-24.144-29.858-19.713zM59.123 95.928l15.045 47.988-15.045 47.988 136.522-14.515 11.47-24.39h26.463v-18h-26.385l-11.548-24.557-5.038-.535-131.484-13.98zM238.28 114.37l16 32h60v-16l-76-16zm138.597 17.855v16l76 16-16-32h-60zm-62.865 14.99l-73.82 24.144 29.857 19.712 51.962-30-8-13.857zm62.207 1.605l-8 13.858 57.817 51.855 2.145-35.713-51.963-30zm-54.02 13.12l-51.858 57.816 35.713 2.144 30-51.96-13.856-8zm45.154.925l-13.858 8 24.145 73.82 19.714-29.86-30-51.96zm-30.702 7.73l-16 76 32-16v-60h-16zM304.598 255.4l-1.575 23.6h-21.445v18h20.246l-13.226 198.4 17.96 1.2 2.64-39.6h27.38v39h18v-39h27.38l2.64 39.6 17.96-1.2L389.333 297h20.246v-18h-21.445l-1.574-23.6-17.962 1.2 1.494 22.4h-15.514v-23h-18v23h-15.514l1.495-22.4-17.962-1.2zm15.267 41.6h16.713v78h-21.912l5.2-78zm34.713 0h16.713l5.2 78h-21.912v-78zm-41 94.307V393h23v46h-26.18l3.18-47.693zm64 0l3.18 47.693h-26.18v-46h23v-1.693z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Windsock;

impl IconShape for Windsock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M63.6 33c-17.23 0-31 13.77-31 31s13.77 31 31 31 31-13.77 31-31-13.77-31-31-31zm171.7 6.74l-122.7 25.6c-.4 14.13-6.9 26.86-16.83 35.56l42.83 114.5 11.5-20.8-41.2-110.1 115-24 9.4-17.15zm8.5 21.9L161.7 210.8l53.6 16.9 71.4-129.9zM48.6 110.6V479h30V110.6c-4.73 1.6-9.77 2.4-15 2.4s-10.27-.8-15-2.4zm288 29.3l-59.2 107.4 62.3 19.6 46.8-85zm99.9 84.1l-34.4 62.5 53.5 16.9 23.8-43.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WineBottle;

impl IconShape for WineBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.99 28v23.512h52.02V28h-52.02zm0 41.51v90.705c-26.01 17.34-43.347 39.014-43.347 56.353v260.735S90.64 494 107.98 494h103.967c17.411 0 17.41-17.34 17.41-17.34V216.568c0-17.34-17.338-39.014-43.347-56.353V69.51h-52.02zM107 252h106v162H107V252zm194.514 3l-2.051 6.154c-8.474 25.423-12.793 58.44-6.233 86.87 3.28 14.215 9.429 27.45 19.846 37.273 8.61 8.118 20.105 13.533 33.924 15.172v74.64C327.601 479.296 302 494 302 494h108s-25.601-14.705-45-18.89v-74.641c13.82-1.639 25.314-7.054 33.924-15.172 10.417-9.822 16.565-23.058 19.846-37.274 6.56-28.43 2.241-61.446-6.233-86.869l-2.05-6.154H301.513zM125 270v126h70V270h-70zm189.703 3h82.594c2.639 9.261 4.629 19.565 5.68 30h-93.954c1.051-10.435 3.041-20.739 5.68-30zm-6.486 48h95.566c-.116 8.04-.907 15.846-2.553 22.977-2.72 11.784-7.571 21.548-14.654 28.226C379.494 378.881 370.126 383 356 383c-14.125 0-23.494-4.12-30.576-10.797-7.083-6.678-11.935-16.442-14.654-28.226-1.646-7.131-2.437-14.938-2.553-22.977z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedScepter;

impl IconShape for WingedScepter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 16c-40.2 0-73 32.79-73 73 0 32.2 21 59.6 50 69.3V496h46V158.3c29-9.7 50-37.1 50-69.3 0-40.21-32.8-73-73-73zm0 18c30.5 0 55 24.52 55 55 0 30.5-24.5 55-55 55s-55-24.5-55-55c0-3.55.3-7.02 1-10.38C207.2 90.01 218.7 98 232 98c18.1 0 33-14.88 33-33 0-13.27-8-24.79-19.4-30.02 3.4-.63 6.8-.98 10.4-.98zM29.51 65.88c4.35 23.5 9.23 45.72 14.87 66.82 46.3 25.2 114.92 54.7 170.62 69.5V192C149.6 159 75.7 106.7 29.51 65.88zm452.99 0C436.3 106.7 362.4 159 297 192v10.2c55.7-14.8 124.3-44.3 170.6-69.5 5.7-21.1 10.6-43.33 14.9-66.82zM28.58 144.6c6.32 15.5 12.81 30.2 19.55 44.1C94.15 206 159.6 224.2 215 232.4v-11.6c-62-15.6-137.33-48.3-186.42-76.2zm454.82 0C434.3 172.5 359 205.2 297 220.8v11.6c55.4-8.2 120.9-26.4 166.9-43.7 6.7-13.9 13.2-28.6 19.5-44.1zM247 161.4c3 .4 6 .6 9 .6s6-.2 9-.6V425h-18zm-213.63 41c9.56 16.5 19.21 31.9 29.08 46.4 43.15 8.5 102.75 15 152.55 14.6v-12.7c-61.3-8.6-132.95-29-181.63-48.3zm445.23 0C430 221.7 358.3 242.1 297 250.7v12.7c49.8.4 109.5-6.1 152.5-14.6 9.9-14.5 19.6-29.9 29.1-46.4zm-427 62.5c36.7 44.2 72.6 78.2 112.6 100.4 19.5 10.9 34.6 18.6 50.8 23.4V281.4c-54.5.7-118.2-6.7-163.4-16.5zm408.8 0c-45.2 9.8-108.9 17.2-163.4 16.5v107.3c16.2-4.8 31.3-12.5 50.8-23.4 40-22.2 75.9-56.2 112.6-100.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WinterGloves;

impl IconShape for WinterGloves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.5 21.92c-1.3 0-2.5 0-3.8.1-16.8.86-35.7 7.64-53 18.52-27.82 17.42-50.42 44.95-54.61 67.66-14.5 78.7 9.32 146.2 44.82 210 46.99 3.4 90.89-1.2 132.99-11.2-3.2-14.4-5.7-33.9-3.7-51.5 1-8.8 3-17.2 7.5-24.4 4.4-7.1 12-12.9 21.4-14 5.8-.7 11.3.3 16.4 2.3 2.2-7.8 4.3-15.8 6-23.6 2.8-12.8 5-31.2 3.4-45.5-.8-7.1-2.6-13.1-4.9-16.8-2.3-3.7-4.3-5.2-8.2-5.7-5.3-.6-11.1 2-17.6 8-6.4 6.1-12.9 15.1-18.4 24.6-10.8 18.8-17.7 38.4-17.7 38.4l-17.1-5s9.3-36.9 12.2-76.6c1.4-19.97 1.2-40.55-2.3-57.02-3.5-16.47-10-27.95-19.7-32.99-7-3.59-15-5.26-23.7-5.27zM355 128.5c-8.7 0-16.8 1.7-23.8 5.3-9.8 5.1-16.3 16.6-19.8 33.1-3.5 16.6-3.7 37.2-2.3 57.2 2.9 40 12.3 77 12.3 77l-17.2 5.1s-6.9-19.7-17.8-38.6c-5.5-9.5-12-18.6-18.5-24.7-6.5-6-12.3-8.6-17.6-8-4 .5-6 2-8.3 5.7-2.3 3.7-4.1 9.7-4.9 16.9-1.6 14.3.6 32.8 3.4 45.7 10.5 47.7 33.1 99.2 37.5 109 45.4 11.9 92.9 17.6 143.9 13.9 35.7-64.1 59.5-131.9 45-210.9-4.2-22.8-26.9-50.4-54.8-67.9-17.4-11-36.4-17.8-53.3-18.7-1.3-.1-2.5-.1-3.8-.1zm-127.8 196c-5.5 1.3-10.9 2.4-16.4 3.6l8.4 45c7.3-1.2 14.7-2.6 22-4.1-4.9-13.8-9.9-29.1-14-44.5zm-34 6.8c-8.8 1.5-17.7 2.7-26.7 3.6l7.6 44.2c9.2-.9 18.4-2 27.4-3.3zm-101.57 5.1l.37 46.5c6.56 0 13-.1 19.5-.3l-2.5-45.4c-5.8-.2-11.55-.4-17.37-.8zm56.77 0c-7 .5-14.2.7-21.5.9l2.5 44.7c9.1-.3 17.9-.8 26.8-1.4zm129.3 94.4l-11.2 44.6c8.5 1.8 16.9 3.4 25.2 4.8l8.3-44.3c-7.5-1.5-14.9-3.2-22.3-5.1zm39.9 8.4l-8.2 43.7c9.1 1.3 18.3 2.4 27.4 3.3l7.5-43.4c-9-1-17.9-2.2-26.7-3.6zm44.7 5.2l-7.5 43.3c8.8.7 17.7 1.2 26.7 1.5l2.4-44c-7.2-.1-14.4-.4-21.6-.8zm57.1 0c-5.9.4-11.7.7-17.5.8l-2.4 44.6c6.4.2 12.9.3 19.5.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WinterHat;

impl IconShape for WinterHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M432 20.25c-30.5 0-55 24.52-55 55 0 30.45 24.5 54.95 55 54.95s55-24.5 55-54.95c0-30.48-24.5-55-55-55zM362.8 98.5c-51.5 28.9-108 60.6-158.1 94.9-63.1 43.2-114.49 90.7-132.73 139.4C189.3 360.6 308.8 394.7 453.8 394c9.2-83.5 18.1-171.1-.5-249a71.8 71.8 0 0 1-21.3 3.2c-32.1 0-59.4-20.8-69.2-49.7zM52 346.7c-19.24 28.5-25.15 57.6-25.05 85.3 9.72 3.3 20.13 6.5 31.06 9.6 1.19-13.4 5.49-31 13.2-55.1l17.14 5.4c-8.24 25.7-12 43.9-12.6 54.5 12.47 3.2 25.55 6.3 38.95 9.2 3.2-18.5 9-35.9 14.8-53l17 5.8c-5.9 17.1-11.4 34-14.1 50.9 14.9 2.9 30.2 5.7 45.7 8.3l9.5-51.7 17.8 3.2-9.4 51.4c16.1 2.5 32.4 4.7 48.7 6.8l7.3-49.8 17.8 2.6-7.3 49.3c17.8 2 35.5 3.8 52.9 5.2l5.9-47.4 17.8 2.2-5.8 46.6c19.6 1.4 38.7 2.4 56.8 2.9 3.7-15.4 4.4-27.9 5.4-44.6l18 1.2c-1 15.3-1.7 28.5-5.1 43.8 15.5.3 30.2.1 43.7-.4 15-24.1 23.4-53.4 20.7-77.3-163.2 4-294.2-35.6-420.8-64.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WireCoil;

impl IconShape for WireCoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.8 21.95c-43.8 0-83.33 3.58-111.42 9.2-14.05 2.81-25.26 6.19-32.21 9.5-3.48 1.64-5.84 3.29-6.88 4.31 1.04 1.02 3.4 2.67 6.88 4.31 6.95 3.29 18.16 6.67 32.21 9.48 28.09 5.62 67.62 9.2 111.42 9.2 43.7 0 83.3-3.58 111.3-9.22 14-2.81 25.2-6.19 32.2-9.48 3.5-1.64 5.8-3.29 6.9-4.31-1.1-1.02-3.4-2.67-6.9-4.31-7-3.29-18.2-6.67-32.2-9.48-28.1-5.62-67.6-9.2-111.3-9.2zM405 24.38c-3 0-6.2.1-9.2.26-19 1.13-39.4 5.84-59.3 12.14 1.3 2.4 2.3 5.15 2.3 8.16 0 4.58-2.2 8.57-4.8 11.61 21.6-7.31 43.8-12.81 62.8-13.95 21.8-1.3 38.7 2.92 48.5 14.31 15.7 18.1 15.8 36.34 7.3 59.19-8.5 22.8-26.5 48.6-46.3 75.3-19.7 26.8-41.1 54.6-55.8 82.9-14.9 28.4-23.4 58.1-14.9 87.4 9.9 34.8 48.2 63.6 82.9 85.6 34.9 22.1 67.5 36.4 67.5 36.4l7.2-16.4s-31.5-14-65.1-35.2c-33.5-21.2-68.1-50.5-75.1-75.4h-.2c-6.6-23-.2-47.7 13.7-74 13.6-26.4 34.5-53.6 54.3-80.6 19.9-26.9 38.9-53.4 48.7-79.7 9.8-26.47 9.3-54.21-10.6-77.26-13.1-15.14-32.7-20.62-54-20.77zm-235.2 8.57a64 8 0 0 1 64 8 64 8 0 0 1-64 8 64 8 0 0 1-64.1-8 64 8 0 0 1 64.1-8zM50.75 75.54v17.95c33.14.18 66.05-3.01 95.65-7.88-35.4-1.01-67.02-4.3-91.55-9.21-1.4-.28-2.75-.57-4.1-.86zm238.05 0c-1.4.29-2.7.58-4.2.86-15.5 3.1-33.8 5.55-54.1 7.19v.1C189.6 97.95 121.2 111.9 50.75 111.5v11.3c83.35 2.5 162.65-12.1 238.05-32.61zm0 33.36c-74.9 20-154.3 34.5-238.05 32v13.3c81.65 1.3 161.25-4.6 238.05-23.5zm0 40.3c-77.4 18.6-156.9 24.3-238.05 23v11.5c88.35 6.1 171.25 7 238.05-6.8zm0 46.1c-68.8 13.6-151.1 12.4-238.05 6.4v12c73.05 17.6 154.55 24.6 238.05 29.4v-15.7l-65.7-3.3 65.7-9.2zM50.75 232.2v24.1c90.05 22.1 163.05 26 238.05 26.2v-21.3c-82.5-4.8-164-11.6-238.05-29zm0 42.6v22.8l83.15 11.6-83.15 4.2v14.8c84.25 1.4 166.15-.3 238.05-17.3v-10.4c-74.4-.1-148.2-4-238.05-25.7zm238.05 54.6c-73.4 16.7-155.1 18.2-238.05 16.8v23.6c104.95 7.4 189.75-6 238.05-20.9zm0 38.2c-51.4 15.2-135 27.5-238.05 20.3v25.5c89.35 1.1 176.05-2.2 238.05-29.8zm0 35.6c-65.6 26.8-150 29.3-235.89 28.3 30.05 10.5 73.29 16 116.89 15.9 44.4-.1 88.8-6.1 119-16.8zM32.75 442.5c-2.06 1-3.92 2.1-5.53 3.1-6.84 4.5-8.47 8-8.47 9.6 0 1.6 1.63 5.1 8.47 9.6 6.84 4.4 17.86 9 31.78 12.8 27.82 7.6 67.2 12.5 110.8 12.5 43.5 0 82.9-4.9 110.8-12.5 13.9-3.8 24.9-8.4 31.7-12.8 6.8-4.5 8.5-8 8.5-9.6 0-1.6-1.7-5.1-8.5-9.6-1.7-1-3.5-2.1-5.5-3.1v.6l-5.7 2.3c-33.9 13.4-82.5 19.9-131.3 20-48.8.1-97.49-6.1-131.47-20.1l-5.58-2.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WireframeGlobe;

impl IconShape for WireframeGlobe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.4 23 23 127.4 23 256s104.4 233 233 233 233-104.4 233-233S384.6 23 256 23zm-33.7 20.63C190 66.85 163.6 92.25 143.2 119H90.26C122.9 79.54 169.4 51.95 222.3 43.63zm67.4 0c52.9 8.32 99.4 35.91 132 75.37h-52.9c-20.4-26.75-46.8-52.15-79.1-75.37zm-60.2 16.98C219 80.42 210 99.85 202.5 119h-36.3c17.1-20.39 38.2-40 63.3-58.39zm53 0c25.1 18.39 46.2 38 63.3 58.39h-36.3c-7.5-19.15-16.5-38.58-27-58.39zM247 65.99V119h-25.1c7-17.3 15.4-34.95 25.1-53.01zm18 0c9.7 18.06 18.1 35.71 25.1 53.01H265V65.99zM76.89 137h53.51c-9.8 15-17.8 30.4-23.9 46H53.71c5.89-16.3 13.71-31.8 23.18-46zm75.21 0h43.8c-5.4 15.5-9.6 30.8-12.9 46h-57.1c6.7-15.6 15.5-30.9 26.2-46zm62.8 0H247v46h-45.6c3.4-15.2 7.9-30.5 13.5-46zm50.1 0h32.1c5.6 15.5 10.1 30.8 13.5 46H265v-46zm51.1 0h43.8c10.7 15.1 19.5 30.4 26.2 46H329c-3.3-15.2-7.5-30.5-12.9-46zm65.5 0h53.5c9.5 14.2 17.3 29.7 23.2 46h-52.8c-6.1-15.6-14.1-31-23.9-46zM48.1 201h52.1c-4.63 15.2-7.5 30.6-8.64 46H41.2c.65-15.8 3.01-31.2 6.9-46zm70.9 0h60.5c-2.5 15.4-3.9 30.7-4.4 46h-65.5c1.2-15.3 4.4-30.7 9.4-46zm78.8 0H247v46h-53.9c.5-15.3 2-30.6 4.7-46zm67.2 0h49.2c2.7 15.4 4.2 30.7 4.7 46H265v-46zm67.5 0H393c5 15.3 8.2 30.7 9.4 46h-65.5c-.5-15.3-1.9-30.6-4.4-46zm79.3 0h52.1c3.9 14.8 6.2 30.2 6.9 46h-50.4c-1.1-15.4-4-30.8-8.6-46zM41.2 265h49.83c.23 15.5 2.24 30.9 6.02 46H48.1c-3.89-14.8-6.25-30.2-6.9-46zm67.8 0h66.1c.5 15.3 1.9 30.6 4.4 46h-63.9c-4.1-15.2-6.3-30.6-6.6-46zm84.1 0H247v46h-49.2c-2.7-15.4-4.2-30.7-4.7-46zm71.9 0h53.9c-.5 15.3-2 30.6-4.7 46H265v-46zm71.9 0H403c-.3 15.4-2.5 30.8-6.6 46h-63.9c2.5-15.4 3.9-30.7 4.4-46zm84.1 0h49.8c-.7 15.8-3 31.2-6.9 46H415c3.7-15.1 5.7-30.5 6-46zM53.71 329h48.69c5.4 15.7 12.8 31.1 22.1 46H76.89c-9.47-14.2-17.29-29.7-23.18-46zm67.69 0H183c3.3 15.2 7.5 30.5 12.9 46h-50c-10.4-14.9-18.5-30.3-24.5-46zm80 0H247v46h-32.1c-5.6-15.5-10.1-30.8-13.5-46zm63.6 0h45.6c-3.4 15.2-7.9 30.5-13.5 46H265v-46zm64 0h61.6c-6 15.7-14.1 31.1-24.5 46h-50c5.4-15.5 9.6-30.8 12.9-46zm80.6 0h48.7c-5.9 16.3-13.7 31.8-23.2 46h-47.6c9.3-14.9 16.7-30.3 22.1-46zM90.26 393h46.64c20.3 27.1 47.3 52.3 80.9 74.6-51-9.1-95.8-36.3-127.54-74.6zm69.34 0h42.9c7.9 20.4 17.6 41 29 62.1-29.3-18.9-53.2-39.8-71.9-62.1zm62.3 0H247v53c-9.7-18-18.1-35.7-25.1-53zm43.1 0h25.1c-7 17.3-15.4 35-25.1 53v-53zm44.5 0h42.9c-18.7 22.3-42.6 43.2-71.9 62.1 11.4-21.1 21.1-41.7 29-62.1zm65.6 0h46.6c-31.7 38.3-76.5 65.5-127.5 74.6 33.6-22.3 60.6-47.5 80.9-74.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wisdom;

impl IconShape for Wisdom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M66.89 18L128 128 18 117v32.5L96 208l-78 39v35l110 22-3.6 16c-12.6 12.1-21.9 26.5-28.46 42.5-14.43 35.2-16.64 85.7-16.9 131.5h18.1c.34-44.1 2.78-93.8 15.46-124.7 8.9-21.9 22.4-39.6 44.6-52.1-4.1-22-6.2-43.5-6.2-61.2v-14.6l13 6.6c9.6 4.7 16.5 6.2 23.1 5.7-5.2-14-8.1-29.6-8.1-45.7 0-29.1 9.1-55.2 23.3-73.7 14.2-18.5 33.1-29.3 53.7-29.3s39.5 10.8 53.7 29.3c14.2 18.5 23.3 44.6 23.3 73.7 0 16.1-2.9 31.7-8.1 45.7 6.6.5 13.6-1 23.1-5.7l13-6.6V256c0 17.7-2.1 39.2-6.2 61.2 22.2 12.5 35.7 30.2 44.6 52.1 12.7 30.9 15.1 80.6 15.5 124.7H433c-.3-45.8-2.5-96.3-16.9-131.5-6.6-16-15.9-30.5-28.6-42.6L384 304l110-22v-35l-78-39 78-58.5V117l-110 11 61.1-110h-37.8L304 80l-18.6-62h-58.8L208 80 104.7 18zM208 215v18h32v-18zm64 0v18h32v-18zm-33.6 36.1c-12.7 6.7-23.7 13.5-35.6 17.4-10 3.4-21.1 4.1-33.3.8.5 8 1.3 16.7 2.4 25.7 27.2-.4 51.7-3.3 77.7-29.4l1.7-1.6zm35.2 0L260.7 264l1.7 1.6c26 26.1 50.5 29 77.7 29.4 1.1-9 1.9-17.7 2.4-25.7-12.2 3.3-23.3 2.6-33.3-.8-11.9-3.9-22.9-10.7-35.6-17.4zM256 284.3c-27 23.7-55.2 27.8-81.3 28.5 1.7 9 3.6 18 6 26.9 2.2 8.3 4.8 16.3 7.6 23.9C193.9 353.1 201 343 208 336c0 21-6.9 35-11.6 46.8 3.8 7.6 7.8 14.4 12.1 20l24.5-24.5V400c0 14.5 2.8 19.1 7.4 23.6 3.4 3.5 9.1 6.9 15.6 12.3 6.5-5.4 12.2-8.8 15.6-12.3 4.6-4.5 7.4-9.1 7.4-23.6v-21.7l24.5 24.5c4.3-5.6 8.3-12.4 12.1-20C310.9 371 304 357 304 336c7 7 14.1 17.1 19.7 27.6 2.8-7.6 5.4-15.6 7.6-23.9 2.4-8.9 4.3-17.9 6-26.9-26.1-.7-54.3-4.8-81.3-28.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WizardFace;

impl IconShape for WizardFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.3 19.42C204 57.2 177.2 111 152.5 160.7c43.4-24.6 101.7-32.9 126.9-28.7-63.8 10.6-108 25.8-144.4 64.3-2.2 4.5-4.1 8.3-6.4 13.1 115.4-27.8 134.4-27 250.9-.7C368 158.6 343 126.6 304 65.83 345.9 118.4 428.1 208.1 424.3 190.6 401.4 85.73 324.2 23.49 256.3 19.42zM88 231.3c-31 7.4-53.9 17.5-62.8 26.7.9 11.7 6.7 22.1 17.5 32 11.8 10.8 29.6 20.4 51.3 28.1 2.69.9 5.39 1.8 8.1 2.7-8.4-11-11.2-26.3-13-41.1 0-15.4-3-33.5-1.1-48.4zm336 0c2.2 16.2.6 34.5-1.1 48.4-1.8 14.8-4.6 30.1-13 41.1 20.2-7 44.6-17.6 59.4-30.8 10.8-9.9 16.6-20.3 17.5-32-8.9-9.2-31.7-19.3-62.8-26.7zm-274.4.3l-7 14h98.8l-7-14zm128 0l-7 14h98.8l-7-14zM119 241c-4.7 1.3-9.4 2.6-14 4.1 1 19.9.6 47.6 11.6 64.5h2.4zm274 0v68.6h2.4c10.5-20.7 11.3-41.8 11.6-64.5-4.6-1.5-9.3-2.8-14-4.1zm-255.9 22.6c-.3 18.8 2 39.5 6.2 55.7 21.1-14.1 41.9-25.7 64.7-25.7 3.2 0 6.4.2 9.4.4l5.2-15.7c-5.6 5.7-12.9 8.9-23.2 8.5-25.2-.8-33.9-11.1-37.5-23.2zm109.4 0l-12.4 37.2 21.9 27.4 21.9-27.4-12.4-37.2zm103.6 0c-3.6 12.1-12.3 22.4-37.5 23.2-10.3.4-17.6-2.8-23.2-8.5l5.2 15.7c3.1-.3 6.3-.4 9.4-.4 22.8 0 43.6 11.6 64.7 25.7 4.4-20.1 6.8-37.6 6.2-55.7zm-142.1 48c-20 0-43 14.5-68.9 32.4-19.2 13.3-39.9 28.1-63.3 38.4 28.6 6.1 65.8 4.8 98.2-2.6 21.3-4.8 40.5-12.1 53.7-20.5 8.5-5.5 14.1-11.1 17-16.4l-24.2-30.3c-3.7-.6-7.9-1-12.5-1zm96 0c-4.6 0-8.8.4-12.5 1l-24.2 30.3c2.9 5.3 8.5 10.9 17 16.4 13.2 8.4 32.4 15.7 53.7 20.5 32.4 7.4 69.6 8.7 98.2 2.6-23.4-10.3-44.1-25.1-63.3-38.4-25.9-17.9-48.9-32.4-68.9-32.4zm-48 46.7c-4.6 5.7-10.6 10.8-17.4 15.3h34.8c-6.8-4.5-12.8-9.6-17.4-15.3zm-56.7 33.3c-6.9 2.2-14 4.1-21.3 5.8-9.5 2.2-19.2 3.9-28.9 5.1 6.1 19.6 14.1 39.5 23 58.2l.1.2c4.3-6.7 9.4-13.1 13.5-19.8-2.4 13.9-3.3 27.9-2.3 41.8 1.7 3.3 3.5 6.5 5.3 9.7h134.6c3.6-6.3 7-12.7 10.3-19.2 5.4-21.9 3.9-42.8 5.4-64.2 3.1 11.5 6.1 23 8.5 34.7 5.8-13.6 11.1-27.6 15.4-41.4-9.7-1.2-19.4-2.9-28.9-5.1-7.3-1.7-14.4-3.6-21.3-5.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WolverineClaws;

impl IconShape for WolverineClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M280.3 30.04c-33.4 19.78-70.7 55.47-104.5 97.06-47.4 58.3-88.85 127.5-109.81 176.6l1.69 8.9 7.61-1.4.83-1.5c16.57-30.5 41.98-66 72.18-101.7 38.3-61.4 84.1-127.56 132-177.96zm113.9 2.72c-43 15.92-96.3 52.79-146.1 97.94-64.9 59-124.9 131.3-154.73 185.2l1.6 11.6 12.93-5.8c8.3-9.9 17-19.9 24.4-28 64.8-85.2 170.9-189.4 261.9-260.94zM473 81.09c-47.5 7.72-106.6 38.31-163.9 79.31-71.2 50.9-140 116.6-183.9 168.7l1.4 19.5L151 347c73.7-85.1 198.4-193.7 322-265.91zM47.34 303L18 344v144l37.32-14s50.58 17.1 72.68 17.7c31.5.8 72.7-48.2 74.7-57.7 1.6-7.9-3.8-14.7-8.8-21.4-19.9 14.2-35.1 20.7-61.8 6.5 30.6-6.1 34.2-5.7 53.6-21.9 10-9 12.3-19.8 11.5-29.5-.5-6-14.3-10.5-22.4-20.5-5.6 6.2-10 11.3-15.1 17.2l-49.7 3.4-1.9-26.5-28.48 10-2.58-22.1-23.74 4.2c-1.9-10.6-4.11-21.6-5.96-30.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WomanElfFace;

impl IconShape for WomanElfFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 41c-28.25 0-58.36 18.25-81.166 44.857-3.138 3.66-6.123 7.477-8.947 11.403L208 69.184l23.127 15.418c.506-6.936 2.568-13.312 6.07-18.565C241.265 59.937 247.934 55 256 55s14.735 4.936 18.803 11.037c3.502 5.253 5.564 11.63 6.07 18.565L304 69.184l42.113 28.076c-2.824-3.926-5.81-7.742-8.947-11.403C314.36 59.25 284.25 41 256 41zm0 32c-.77 0-2.103.436-3.826 3.02C250.45 78.608 249 82.995 249 88c0 3.83.85 7.29 2.02 9.865l4.98 3.32 4.98-3.32C262.15 95.29 263 91.83 263 88c0-5.006-1.45-9.393-3.174-11.98C258.103 73.437 256.77 73 256 73zm-48 17.816l-28.623 19.08 5.336 1.067c16.922 2.09 36.528 3.426 56.605 3.867-1.384-1.3-2.626-2.74-3.7-4.268L208 90.817zm96 0l-29.617 19.747c-1.075 1.527-2.317 2.968-3.7 4.267 20.077-.442 39.685-1.777 56.608-3.867l5.333-1.067L304 90.816zM32 112c33.318 33.318 58.914 89.742 71.463 126.506 3.176-25.792 7.433-52.057 12.54-74.658 1.177-5.203 2.363-10.177 3.585-14.922C98.66 132.53 44.818 112 32 112zm448 0c-12.818 0-66.66 20.53-87.588 36.926 1.222 4.745 2.408 9.72 3.584 14.922 5.108 22.6 9.365 48.866 12.54 74.658C421.087 201.742 446.683 145.318 480 112zm-331.47 10.086c-4.642 8.756-10.375 25.398-14.97 45.73-5.475 24.23-10.06 53.44-13.257 81.444-2.72 23.812-4.36 46.505-4.832 64.775 6.863-23.28 15.328-51.522 26.116-79.943 14.948-39.38 33.48-78.513 59.758-101.444l-52.813-10.562zm214.94 0l-52.814 10.562c26.277 22.93 44.81 62.063 59.758 101.444 10.788 28.42 19.253 56.664 26.115 79.943-.474-18.27-2.114-40.963-4.833-64.775-3.197-28.003-7.782-57.213-13.258-81.444-4.595-20.332-10.328-36.974-14.97-45.73zm-128.755 10.62l-6.69 3.345c-6.37 3.187-12.575 8.02-18.574 14.118 6.667.82 12.99 2.112 18.59 3.863 8.714 2.728 16.785 5.412 20.364 14.75l-16.808 6.44c.716 1.868-2.263-1.923-8.932-4.01-6.67-2.085-15.925-3.606-25.332-3.99-.636-.025-1.273-.033-1.91-.048-3.23 4.555-6.38 9.44-9.442 14.596 4.823-1.175 9.422-1.768 14.02-1.768 12 0 24 4 40 12 0 16-16 32-32 32-9.86 0-25.784-6.078-36.563-14.484-4.653 9.97-9.01 20.393-13.023 30.964-2.324 6.122-4.538 12.267-6.662 18.38 9.174 24.796 21.778 46.163 35.352 63.615 13.475 17.326 27.913 30.755 40.576 39.666C240.342 371.05 251.75 375 256 375s15.658-3.95 28.32-12.86c12.663-8.91 27.1-22.34 40.576-39.665 13.574-17.452 26.178-38.82 35.352-63.614-2.124-6.113-4.338-12.258-6.662-18.38-4.013-10.57-8.37-20.995-13.024-30.964C329.784 217.922 313.86 224 304 224c-16 0-32-16-32-32 16-8 28-12 40-12 4.598 0 9.197.593 14.02 1.768-3.043-5.124-6.173-9.98-9.383-14.512-9.19.424-18.187 1.915-24.707 3.955-6.67 2.087-9.648 5.878-8.932 4.01l-16.81-6.44c3.58-9.338 11.653-12.022 20.37-14.75 4.95-1.548 10.476-2.728 16.296-3.55-6.093-6.248-12.4-11.19-18.88-14.43l-6.69-3.345c-7.034.196-14.15.295-21.284.295-7.133 0-14.25-.1-21.285-.295zM200 192a8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0-8-8zm111.648 0a8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0-8-8zM240 256l16 4.098L272 256c0 16-16 16-16 16s-16 0-16-16zm-96.836 28.87c-4.49 14.25-8.274 27.123-11.822 39.16-9.37 62.528-29.578 99.06-52.65 146.353 4.716-.48 9.643-1.316 14.462-2.922 10.293-3.43 19.87-9.632 26.795-23.485l8.05-16.1 8.05 16.1c7.835 15.668 12.134 21.143 14.272 22.773 1.07.815 1.84 1.144 3.942 1.793.25.08.683.214.984.308 12.907-29.755 25.753-81.982 27.535-123.414-3.33-3.765-6.635-7.728-9.887-11.91-10.863-13.966-21.126-30.27-29.732-48.655zm225.672 0c-8.606 18.385-18.87 34.688-29.732 48.655-3.252 4.18-6.557 8.144-9.887 11.91 1.824 42.395 15.232 96.096 28.435 125.454.942-.053 1.702-.12 2.155-.21 1.098-.223.9-.08 1.836-1.022 1.873-1.886 6.306-9.683 14.306-25.683l8.05-16.1 8.05 16.1c6.927 13.853 16.503 20.055 26.796 23.486 5.303 1.77 10.72 2.63 15.857 3.073-17.65-45.806-38.75-79.5-50.51-134.562-4.353-14.547-9.39-32.163-15.357-51.1zM240 288s16 0 16 6.693C256 288 272 288 272 288c16 0 32 16 48 16 0 0-28.9 29.78-48 32-5.653.657-16-5.96-16-5.96s-10.347 6.617-16 5.96c-19.1-2.22-48-32-48-32 16 0 32.012-15.997 48-16zm-40.482 74.475c-.435 4.7-.954 9.44-1.58 14.207l1.55 2.326 25.91 38.865 24.24-24.236 1.048-1.05c-10.23-1.496-21.165-7.142-33.366-15.728-5.783-4.07-11.77-8.882-17.802-14.385zm112.964 0c-6.033 5.503-12.02 10.314-17.802 14.384-12.2 8.585-23.134 14.23-33.364 15.728l25.286 25.285 25.91-38.865 1.55-2.326c-.626-4.767-1.145-9.508-1.58-14.207zm-118.82 40.242c-4.95 25.17-12.022 49.39-19.78 68.283h70.358l-28.166-35.072-22.412-33.21zm124.676 0l-22.412 33.21L267.76 471h70.36c-7.76-18.893-14.83-43.113-19.782-68.283zM256 412.727l-19.88 19.882L256 456.942l19.88-24.334L256 412.726z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodBeam;

impl IconShape for WoodBeam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M268.4 48.99L42.55 335H82.2l75.9-104.2 14.6 10.6-68.3 93.6h27.5l28.2-30.4-1.6 30.4h116.8L470.9 48.99h-50.6l-150 219.91-14.8-10.2L398.6 48.99h-34.9l-47.8 66.51-14.6-10.6 40.2-55.91zM479 69.08L289 346.8v30.7l68.9-100.8 14.8 10.2L289 409.3v32.3l190-292.3v-11.7l-22 5.8 22-33.3zM32.98 353v110h23.83l10.54-38.1L78.48 463h37.62c-2.2-5.7-3.4-11.8-3.4-18.2 0-18.6 10.4-35 25.9-46.3 15.5-11.2 36.2-17.8 58.9-17.8 22.7 0 43.4 6.6 58.9 17.8 5.6 4.1 10.6 8.9 14.6 14.2V353zm164.52 45.7c-19.2 0-36.4 5.7-48.3 14.4-12 8.7-18.5 19.8-18.5 31.7 0 6.4 1.9 12.5 5.5 18.2h16.3c-3.3-4.7-5.4-10.1-5.4-16.1 0-11.2 7.1-20.4 16.5-26.3 9.3-6 21.3-9.2 34.4-9.2 13.1 0 25.1 3.2 34.4 9.2 9.4 5.9 16.5 15.1 16.5 26.3 0 6-2.1 11.4-5.4 16.1h15.3c3.6-5.7 5.5-11.8 5.5-18.2 0-11.9-6.5-23-18.5-31.7-11.9-8.7-29.1-14.4-48.3-14.4zm.5 30.7c-10 0-19 2.7-24.8 6.4-5.8 3.7-8.1 7.6-8.1 11.1s2.3 7.4 8.1 11.1c3.3 2.1 7.6 3.9 12.5 5h24.6c4.9-1.1 9.2-2.9 12.5-5 5.8-3.7 8.1-7.6 8.1-11.1s-2.3-7.4-8.1-11.1c-5.8-3.7-14.8-6.4-24.8-6.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodCabin;

impl IconShape for WoodCabin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M495.145 15.451l-178.215.205s7.918 25.215 15.652 35.63c13.155 17.712 67.295 2.752 59.79 35.714h55.4c6.995-6.98 14.212-15.862 15.064-23.44 1.035-9.207-15.175-16.126-12.29-24.931 5.22-15.92 44.599-23.178 44.599-23.178zM256 28.311L30.455 238.82l32.666 21.777L256 83.79l192.879 176.807 32.666-21.778L256 28.31zM393 105v26.555l46 42.933V105h-46zm-137 3.209L209.318 151h93.364L256 108.209zM189.682 169l-32.727 30H279v-30h-89.318zM297 169v30h58.045l-32.727-30H297zm-159.682 48l-34.564 31.684 64.246-.288V217h-29.682zM185 217v31.316l222.76-.994L374.682 217H185zm242.303 48.236L83.02 266.773l-18.141 16.63-.932-.622A31.64 31.64 0 0 1 60.737 295H451.263a31.64 31.64 0 0 1-3.211-12.219l-.932.621-19.818-18.166zM32 267c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm448 0c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zM59.656 313a31.659 31.659 0 0 1 1.08 30H103v-30H59.656zM121 313v78h46v-78h-46zm64 0v78h46v-78h-46zm64 0v30h30v-30h-30zm48 0v174h94V313h-94zm112 0v30h42.264a31.659 31.659 0 0 1 1.08-30H409zm-377 2c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm448 0c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zM59.656 361a31.659 31.659 0 0 1 1.08 30H103v-30H59.656zM249 361v30h30v-30h-30zm160 0v30h42.264a31.659 31.659 0 0 1 1.08-30H409zm-377 2c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm448 0c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm-128 28h22v18h-22v-18zM59.656 409a31.659 31.659 0 0 1 1.08 30H279v-30H59.656zM409 409v30h42.264a31.659 31.659 0 0 1 1.08-30H409zm-377 2c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm448 0c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zM32 457c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14zm28.736 0a31.659 31.659 0 0 1-1.08 30H87v-30H60.736zM105 457v30h174v-30H105zm304 0v30h43.344a31.659 31.659 0 0 1-1.08-30H409zm71 0c-7.839 0-14 6.161-14 14s6.161 14 14 14 14-6.161 14-14-6.161-14-14-14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodCanoe;

impl IconShape for WoodCanoe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M482.2 66.37c-62.8 22.61-139.5 57.53-219.3 96.03H408c31.3-31.8 55-66.02 74.2-96.03zm9.1 18.91C462.4 129.7 423 182.1 363.8 223.3c-67.2 46.8-159.8 78.3-288.82 66.9 2.19 55.4 28.92 97.4 67.92 143.7 184.6-62.2 266.8-127.6 306-191.2 32.4-52.7 35.9-105.4 42.4-157.42zM226 180.4c-9.5 4.7-19.1 9.4-28.6 14.1h175c5.8-4.6 11.3-9.3 16.7-14.1zm-64.8 32.1c-33.3 16.7-66.19 33.2-98.25 49.4.26.1.52.3.77.4 4.1 2.4 7.87 5.7 10.24 9.9 123.04 11.6 209.84-17 273.84-59.7zm-121.63 62c-6.3 0-11.89 1.6-15.22 3.5s-3.62 3.3-3.62 3.4c0 .1.29 1.5 3.62 3.4s8.92 3.5 15.22 3.5c6.3 0 11.89-1.6 15.22-3.5s3.62-3.3 3.62-3.4c0-.1-.29-1.5-3.62-3.4s-8.92-3.5-15.22-3.5zm18.34 28.7c-5.5 2-11.72 3.1-18.34 3.1-4.33 0-8.48-.5-12.38-1.4 2.45 28.1 12.83 60.1 26.72 86.3 9.54 18.1 20.63 33.5 30.85 43.1 10.22 9.7 18.54 12.4 22.94 11 5.7-1.8 11.3-3.6 16.8-5.4-34.9-42.2-61.13-84.1-66.59-136.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodClub;

impl IconShape for WoodClub {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M483.424 24.638L449.83 39.98c.944.974 1.864 1.99 2.754 3.068 3.544 4.29 6.546 8.89 9.07 13.745l21.77-32.155zm-221.18 14.426l4.217 42.527c7.223-6.983 14.875-13.594 22.97-19.575l-27.186-22.95zm143.17 2.358c-2 .03-4.06.133-6.18.298-11.58.906-24.367 3.983-37.02 7.41l23.55 36.178.404.62.297.68c3.1 7.08 2.3 14.488-.006 21.41-2.308 6.924-6.405 13.565-12.487 18.53-6.082 4.962-14.756 8.037-23.813 6.118-9.056-1.92-17.6-8.213-25.506-18.803l-1.718-2.305-1.104-48.535c-25.135 12.94-47.54 34.326-66.178 57.047l17.14 9.428 2.892 1.59 1.177 3.08c4.892 12.782 5.147 26.122-1.43 37.13-6.575 11.01-18.66 18.744-35.435 24.293l-6.9 2.285-11.653-19.82c-1.71 3.762-3.41 7.56-5.093 11.43l-17.225 108.624-2.75-61.597c-10.444 24.205-21.82 48.42-36.09 70.063C119.643 368.216 28.322 462.01 28.322 462.01l-.07.072-.07.07c-3.905 3.85-3.91 5.573-3.475 7.693.29 1.418 1.348 3.368 3.168 5.43l97.166-78.713-84.007 87.3c5.778 2.305 11.906 3.587 15.895 3.495 6.885-6.482 66.713-62.5 107.11-88.644 38.117-24.67 69.79-54.084 106.32-82.045l12.213-70.723.37-2.147 1.312-1.74c6.783-8.997 15.585-14.236 24.506-15.33a31.905 31.905 0 0 1 6.588-.113c6.464.56 12.5 3.047 17.584 6.59 11.895 8.287 20.172 22.808 18.008 37.68 6.76-3 13.436-6.003 19.883-9.153 20.67-10.1 38.705-21.33 51.063-37.56-7.023-.544-13.58-3.672-19.03-7.846-7.455-5.707-13.412-13.558-17.25-22.2-3.84-8.64-5.723-18.287-2.974-27.615 2.75-9.326 11.142-17.274 22.833-20.01l.645-.153 45.662-3.797c.92-5.208 1.667-10.42 2.19-15.58 1.022-10.1 1.175-19.927.35-29.187l-28.927 31.25 19.88-64.613c-1.88-3.562-4.056-6.88-6.556-9.907-7.064-8.55-16.195-12.217-27.474-12.957a72.25 72.25 0 0 0-5.82-.134zm-65.937 5.773l1.316 57.93c5.447 6.628 10.038 9.285 13.098 9.933 3.385.717 5.85-.13 8.702-2.457 2.852-2.327 5.483-6.348 6.79-10.272 1.253-3.757 1.01-7.105.624-8.23l-30.53-46.903zm-136.057 64.69l37.62 63.984c10.068-4.252 16.137-9.108 18.94-13.802 3.017-5.05 3.41-10.74.962-18.547l-57.522-31.636zm284.063 45.76l-78.336 6.513c-6.528 1.622-8.23 3.973-9.252 7.443-1.05 3.558-.457 9.338 2.156 15.218 2.614 5.88 7.085 11.648 11.745 15.217 4.102 3.14 7.867 4.322 10.924 4.105.6-.433 1.22-.876 2.16-1.576a960.486 960.486 0 0 0 10.226-7.758c8.388-6.43 19.428-14.995 30.408-23.547 10.038-7.82 12.08-9.442 19.97-15.616zM312.38 244.497c-.48.007-.957.04-1.43.097-3.424.42-7.092 2.18-11.067 6.868l-16.496 95.523 49.18-76.508c2.014-7.113-2.495-17.326-9.926-22.504-2.873-2.002-5.883-3.162-8.806-3.422a14.095 14.095 0 0 0-1.453-.054zm74.02 29.52a328.805 328.805 0 0 1-7.677 3.886c-5.127 2.505-10.308 4.887-15.488 7.232l27.76 17.047-4.594-28.166z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodFrame;

impl IconShape for WoodFrame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M100.3 19.86l-36.62 2.02-.72 13.1a16 16 0 0 1 5.18-.86 16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 2.38-8.4l-6.44-18.98-15.63.86-.78 377.3 23.01-.8.55-105.9 12.23 105.5 46.84-1.6zm353.5 11.6L121.5 41.71l2.6 58.39L485 85.15l3.5-36.38zm7 72.74l-25.4 1-15 39-13.2-37.8-22.5 1-2.8 83.3 7.6 34-9.5 24.1-7.5 226.6 14.1.7 11.3-33.5 11.3 34.7 4.7.3 14.1-21.1 4.6 22 18.3 1zm-61.1 299a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm85.3.8l-14.1.5-1.9 75.2 16.2-.1zm-128.3 4.2l-93 3-43.7 20.3-22-18.1-174.24 5.7-.28 63.8 330.82-2.3 1.3-40c-12.9-.3-87.9-2.3-89.6-2.3-1.6 0 69-9.9 90.1-13zM103 431.7a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-15.96-16 16 16 0 0 1 15.96-16zm-51.48.3a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodPile;

impl IconShape for WoodPile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M353.86 48.45c-10.626-.16-20.45 3.456-29.14 13.253l-.193.217-50.586 50.098.628.703c3.395 3.7 3.106 9.463-.642 12.804-3.748 3.342-9.505 2.97-12.793-.825l-5.985-6.712c-.784 1.096-1.627 2.16-2.544 3.178-5.116 5.68-11.746 9.448-18.688 11.023l5.438 20.302c2.54 8.98-8.582 15.417-15.102 8.738l-41.2 40.803c1.41-.082 2.83-.135 4.26-.135 40.63 0 73.616 33.616 73.616 74.672 0 .803-.036 1.598-.06 2.395l141.94-153.74c8.252-10.316 9.687-20.888 6.985-31.832C407.08 82.4 399.6 71.29 389.653 62.967c-3.085-2.583-6.396-4.885-9.835-6.854L258.56 182.725c-3.418 3.685-9.193 3.856-12.824.38-3.63-3.478-3.71-9.255-.175-12.83l115.932-121.05c-1.843-.34-3.68-.584-5.494-.694-.715-.042-1.428-.07-2.137-.08zM232.31 85.597c-4.224-.048-8.876 1.842-12.583 5.96-6.327 7.024-5.918 16.11-.913 20.62 5.006 4.508 14.088 3.968 20.415-3.057 6.325-7.024 5.917-16.112.91-20.62-1.877-1.69-4.328-2.672-6.992-2.867-.277-.02-.556-.032-.837-.035zm-27.95 63.94c-7.19-.12-13.63 2.222-19.577 8.925l-.19.217-99.734 98.77c10.89.53 20.967 4.222 29.386 10.167 1.406-11.834 5.547-22.84 11.785-32.332l.44-.67 6.39-8.21c1.915-2.138 3.963-4.148 6.11-6.05l70.907-70.224c-1.372-.268-2.734-.453-4.07-.534-.486-.03-.968-.05-1.448-.057zm193.3 14.415c-2.226.018-4.423.188-6.588.52L245.744 321.88c-2.968 3.93-6.313 7.544-9.976 10.806l-5.715 6.19c9.9 2.162 19.137 6.16 27.34 11.628-.004-.254-.02-.505-.02-.76 0-12.38 4.545-23.756 12.03-32.496l-.087-.086 1.358-1.344c1.008-1.09 2.06-2.135 3.16-3.13L381.01 206.545c8.52-9.363 20.055-13.314 30.816-12.662 10.908.66 21.093 5.423 29.33 12.316 8.238 6.892 14.684 16.035 17.278 26.538.788 3.194 1.158 6.54 1.078 9.922 4.62-9.422 4.9-19.095 2.242-28.918-3.484-12.87-12.614-25.674-24.47-34.967v.002c-11.194-8.77-24.658-14.314-37.27-14.79-.79-.028-1.573-.04-2.354-.034zm11.926 47.852c-5.712-.106-10.696 1.69-15.463 7.064l-.193.216-82.07 81.28c22.277 2.517 40.072 20.28 43.12 42.585l82.31-89.153c4.454-5.58 5.124-10.833 3.665-16.742-1.468-5.945-5.675-12.3-11.35-17.05-5.678-4.75-12.668-7.778-18.867-8.153-.387-.024-.77-.04-1.152-.047zm-222.274 8.097c-4.898 0-9.644.647-14.167 1.85 1.964-.262 3.962-.41 5.994-.41 24.715 0 45.067 19.99 45.067 44.566 0 24.576-20.355 44.567-45.068 44.567-24.718 0-45.07-19.992-45.07-44.567 0-2.83.282-5.593.797-8.277-2.044 5.915-3.166 12.284-3.166 18.94 0 31.482 24.873 56.668 55.613 56.668s55.61-25.185 55.61-56.668c0-31.482-24.87-56.668-55.61-56.668zm-8.173 19.44c-15.12 0-27.07 11.857-27.07 26.566 0 14.71 11.945 26.567 27.07 26.567 15.117 0 27.067-11.858 27.067-26.567 0-14.71-11.944-26.566-27.068-26.566zm-3.388 7.357c8.742 0 16.023 7.276 16.023 16.02s-7.285 16.02-16.023 16.02c-8.742 0-16.025-7.275-16.025-16.02 0-8.743 7.287-16.02 16.025-16.02zm-93.61 28.68c-21.25 0-38.427 17.364-38.427 39.2 0 21.835 17.177 39.2 38.426 39.2 21.25 0 38.426-17.364 38.426-39.2 0-3.01-.338-5.933-.957-8.74-1.208-2.858-2.23-5.813-3.08-8.838-6.297-12.877-19.314-21.623-34.39-21.623zm-.36 11.016c15.59 0 27.085 14.1 27.085 29.823 0 15.724-11.498 29.82-27.086 29.82-15.59 0-27.087-14.098-27.087-29.82 0-15.727 11.5-29.824 27.088-29.824zm372.58.325c-6.907-.118-13.068 2.118-18.79 8.567l-.193.22-96.345 95.415c27.285 1.628 49.25 23.576 51.547 50.926l96.64-104.672c5.384-6.735 6.24-13.283 4.48-20.42-.234-.944-.527-1.893-.868-2.844l-63.383 66.342c-3.41 3.703-9.196 3.888-12.837.41-3.64-3.48-3.72-9.267-.175-12.844l65.103-68.144c.345-.37.72-.71 1.122-1.018-.786-.76-1.604-1.497-2.447-2.203-6.715-5.62-14.988-9.227-22.463-9.68-.467-.028-.93-.046-1.39-.054zm-372.9 14.73c-7.59 0-13.74 7.046-13.74 15.738 0 8.69 6.15 15.736 13.74 15.736s13.743-7.045 13.743-15.736c0-8.69-6.152-15.737-13.742-15.737zm224.952 16.6c-17.17 0-31.04 14.004-31.04 31.694 0 17.69 13.87 31.695 31.04 31.695s31.04-14.006 31.04-31.696-13.87-31.693-31.04-31.693zm-2.285 11.155c11.398 0 19.28 10.28 19.28 21.092 0 10.814-7.884 21.09-19.28 21.09-11.4 0-19.282-10.277-19.282-21.09 0-10.814 7.883-21.092 19.28-21.092zm-163.378 5.13l-14.027 15.192c-2.17 2.835-4.59 5.46-7.235 7.838l-3.986 4.317c9.624 5.793 17.842 13.746 24.006 23.185 6.715-14.72 17.602-27.106 31.113-35.588-11.134-2.634-21.307-7.826-29.87-14.946zm72.31 20.704c-34.83 0-63.015 28.553-63.015 64.192 0 35.64 28.186 64.194 63.016 64.194s63.017-28.554 63.017-64.194c0-35.638-28.188-64.193-63.017-64.193zM68.68 370.114C42.442 374.65 22.5 397.775 22.5 425.96c0 14.03 4.95 26.802 13.146 36.66-5.09-7.662-8.066-16.868-8.064-26.725v-.004c-.005-26.31 21.188-47.994 47.29-47.994 26.105 0 47.298 21.684 47.292 47.996.005 20.913-13.386 38.89-31.986 45.393 22.622-5.065 40.05-24.075 43.076-47.908-.792-4.6-1.207-9.324-1.207-14.145 0-2.07.077-4.125.226-6.16-4.7-20.763-20.513-37.028-40.71-42.11-3.065.528-6.21.817-9.422.817-4.64 0-9.146-.586-13.462-1.665zm140.48.643c27.187 0 49.2 22.702 49.2 50.203 0 27.503-22.016 50.204-49.2 50.204-27.187 0-49.2-22.702-49.2-50.203 0-27.5 22.017-50.202 49.2-50.202zm0 17.998c-17.21 0-31.2 14.195-31.2 32.205 0 18.012 13.983 32.206 31.2 32.206 17.212 0 31.2-14.195 31.2-32.205 0-18.01-13.982-32.204-31.2-32.204zm81.856 8.148c1.256 4.498 2.16 9.143 2.642 13.912 3.67-4.432 8.01-8.273 12.852-11.38-.032.002-.062.003-.094.003-5.38 0-10.554-.9-15.4-2.536zm-216.14 8.992c-16.2 0-29.295 13.238-29.29 29.995v.005c-.005 16.756 13.09 29.994 29.29 29.994 16.197 0 29.295-13.24 29.29-29.995v-.004c.005-16.756-13.093-29.994-29.29-29.994zm133.706.256c8.967 0 14.96 7.945 14.96 15.953 0 8.01-5.993 15.952-14.96 15.952-8.966 0-14.96-7.943-14.96-15.952 0-8.008 5.994-15.953 14.96-15.953zm127.203 2.664c-20.47 0-37.013 16.723-37.013 37.766 0 21.042 16.544 37.766 37.013 37.766 20.47 0 37.012-16.723 37.012-37.766 0-21.042-16.543-37.766-37.012-37.766zM71.833 422.39c8.965 0 14.958 7.943 14.958 15.952 0 8.01-5.992 15.953-14.958 15.953-8.966 0-14.96-7.944-14.96-15.953 0-8.01 5.994-15.953 14.96-15.953zm267.923 1.423c14.727 0 26.683 12.307 26.683 27.037 0 14.73-11.958 27.037-26.684 27.037-14.728 0-26.682-12.308-26.682-27.037 0-14.73 11.955-27.038 26.682-27.038zm0 18c-4.802 0-8.682 3.845-8.682 9.037s3.877 9.037 8.682 9.037c4.8 0 8.683-3.846 8.683-9.037 0-5.193-3.88-9.038-8.684-9.038z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodStick;

impl IconShape for WoodStick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.5 32.86l-11.2 2.46-24.6 110.98-62.1-48.6c-1.5 2.4-2.6 4.6-3 6.8-.9 3.7-.5 7.6 2.3 13l58.2 47.6-12.9 93.5-2.4 2.2c-57.5 53.5-130.5 102.9-198.52 153 9.71 2.4 18.73 6.9 25.22 14.3 7 7.8 9.9 18.3 10.1 28.7C226.7 353.3 375.8 223.5 473 114.2c2.2-8.5.9-10.9-1.3-13.4-1.4-1.73-4.4-3.63-7.7-5.83C427.2 131.7 362.8 196.9 316.8 229.4l-16.9 12zM292.4 374.9c-25.4 6.8-50 9.3-74.5 10.1-6.9 6.1-13.7 12.2-20.5 18.3 17.2 0 34.6-.5 52.4-2.4 11.8 23 33.9 36.3 53 49.5l10.2-14.8c-17.4-12-33.9-22.6-43.8-37.3 9.1-1.5 18.4-3.5 27.8-6zm-234.53 55c-8.44.2-15.64 3-18.86 6.9-1.35 1.7-1.73 5 .1 10.3 1.83 5.4 5.79 11.6 9.31 15.4 4.78 5.2 12.43 11.1 19.57 14.2 7.13 3 12.6 3.2 16.09.9 3.67-2.4 6.98-9.2 7.44-17.2.46-8.1-2.11-16.5-5.48-20.3-4.41-5-14.5-9.4-24.48-10.1-1.25-.1-2.48-.1-3.68-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenChair;

impl IconShape for WoodenChair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 27.12c-44.3 0-88.4 3.36-119 9.99v63.79h238V37.11c-30.6-6.63-74.7-9.99-119-9.99zm-91.6 91.78l15.8 132c5.8-.3 11.8-.6 18-.9l-15.7-131.1zm82.5 0l-1.6 130h18l1.6-130zm82.6 0L313.8 250c6.2.3 12.2.6 18 .9l15.8-132zm-73.5 148c-31.8 0-63.6 1-89.3 3-12.8 1-24.1 2.2-33 3.6-5.4.9-9.5 1.9-12.7 2.8v32.6h270v-32.6c-3.2-.9-7.3-1.9-12.7-2.8-8.9-1.4-20.2-2.6-33-3.6-25.7-2-57.5-3-89.3-3zm-103 60v158h30v-158zm176 0v158h30v-158zm-128 64v16h110v-16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenClogs;

impl IconShape for WoodenClogs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.546 94.469c-3.588 2.228-8.21 5.362-13.999 9.707-8.22 6.169-17.985 13.746-28.37 21.034-20.77 14.577-43.457 29.113-65.617 26.668-25.055-2.765-56.964-15.414-86.102-29.535-19.904-9.646-37.766-19.705-51.222-28.424 1.792 32.743.28 58.3.59 78.079 14.629 2.896 30.5 8.504 47.423 14.69 38.52 14.08 82.286 31.031 121.989 28.99 5.909-4.389 11.594-8.727 16.789-12.626 8.394-6.3 15.15-11.41 21.667-14.265l4.456-1.952 4.017 2.794c16.5 11.469 23.616 27.366 32.397 43.616 8.782 16.25 19.32 33.829 42.82 53.028 13.448 10.989 45.313 13.51 72.66 17.609 2.753.412 5.45.854 8.108 1.331 27.013-16.499 46.25-42.476 55.362-72.48 1.565-5.154 1.447-8.405.83-10.529-.616-2.123-1.71-3.651-4.2-5.442-4.979-3.582-15.706-6.522-28.6-8.454-25.786-3.864-59.643-3.799-81.176-21.392-25.673-20.974-38.161-41.568-47.266-58.417-7.957-14.724-13.263-25.842-22.556-34.03zm-66.248 24.9c-36.388-3.755-72.093-17.843-102.952-29.124C114.62 83.034 96.825 77.01 83.003 75.19c-8.134-1.072-14.374-.836-19.357.932 12.514 8.345 32.246 19.75 53.35 29.977 28.222 13.677 59.716 25.604 80.4 27.886 9.278 1.024 24.371-5.287 39.902-14.615zm32.243 88.478c-3.589 2.229-8.21 5.363-14 9.71-8.22 6.168-17.985 13.743-28.37 21.032-20.77 14.576-43.457 29.112-65.616 26.667-25.055-2.765-56.965-15.412-86.104-29.533-19.903-9.646-37.765-19.706-51.221-28.426 2.545 46.512-1.596 78.578 2.323 100.082 2.214 12.154 6.315 20.844 15.743 29.421 9.428 8.577 24.775 16.845 48.994 25.169 16.292 5.6 29.497 3.832 43.238 1.171 13.74-2.661 28.152-6.717 44.129-2.343 18.199 4.982 32.265 20.962 49.285 36.16 17.02 15.198 36.147 30.06 60.25 35.745 84.003 19.814 145.572-24.874 164.316-86.59 1.566-5.155 1.447-8.406.83-10.53-.616-2.123-1.711-3.649-4.2-5.44-4.98-3.581-15.705-6.523-28.599-8.456-25.787-3.864-59.644-3.798-81.177-21.391-25.673-20.975-38.162-41.567-47.267-58.416-7.956-14.724-13.261-25.843-22.554-34.032zM203.29 232.75c-36.387-3.756-72.091-17.845-102.95-29.126-19.726-7.21-37.522-13.233-51.343-15.054-8.133-1.072-14.37-.834-19.353.933 12.514 8.345 32.245 19.748 53.347 29.974 28.222 13.677 59.715 25.606 80.398 27.889 9.278 1.023 24.37-5.289 39.9-14.616z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenCrate;

impl IconShape for WoodenCrate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M37.727 25l78 78h280.546l78-78H37.727zM25 37.727v436.546l78-78V115.727l-78-78zm462 0l-78 78v280.546l78 78V37.727zM79.957 40a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM432 40.793a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM112 72a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm287.45 0a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm63.42 0a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM48 73.047a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM79.395 104a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm352.605.2a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM121 121v193.273l53.7-53.7L174.065 121H121zm71.064 0l.555 121.654 54.38-54.38V121h-54.936zM265 121v49.273L314.273 121H265zm74.727 0L121 339.727V391h51.273L391 172.273V121h-51.273zM391 197.727l-53.023 53.023V391H391V197.727zm-71.023 71.023L265 323.727V391h54.977V268.75zM247 341.727L197.727 391H247v-49.273zM77.97 392a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm354.03.658a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM115.727 409l-78 78h436.546l-78-78H115.727zM48 423.752a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm64 .8a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm288 .712a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm64 4.74a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zM432 456a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm-352 2.56a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenPegleg;

impl IconShape for WoodenPegleg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71.934 18c.485 15.14 1.357 31.058 2.935 42.4 2.76 19.85 10.513 50.143 16.017 70.364 9.138-4.04 18.895-7.028 28.937-9.192-3.463-16.14-9.658-46.268-11.994-65.9-1.27-10.676-2.216-24.19-2.935-37.672zm69.086 0c.67 12.48 1.505 24.57 2.558 33.418 2.073 17.426 8.91 50.5 12.115 65.57 5.652-.31 11.272-.473 16.797-.488 2.06-.006 4.095.017 6.125.045 2.3-14.427 8.78-55.99 10.604-78.28.457-5.6.81-12.688 1.094-20.265zm85.36 0c-.317 8.4-.73 16.463-1.28 23.2-1.866 22.8-7.498 59.604-10.334 77.415a461.44 461.44 0 0 1 25.1 3.2c4.21-17.332 9.348-38.773 12.53-53.102C255.408 55.13 259.4 35.73 262.995 18zm81.985 0c9.414 41.476 25.243 91.922 57.447 117.125 10.246 7.392 26.79 9.957 42.98 7.24 16.187-2.717 34.53-8.897 39.427-20.806 13.3-32.353 19.886-70.087 17.676-103.56zM87.575 152.754c-6.472 4.746-11.16 10.35-14.432 16.88-5.926 11.832-7.48 27.542-4.606 48.225 2.366 17.027 7.872 37.395 15.828 60.722 7.33-11.772 20.21-22.684 37.87-29.53-6.93-31.903-6.845-63.815-6.495-95.718l.55-.014c6.325 32.274 12.75 64.58 24.93 98.68 23.19-6.48 49.524-10.395 73.227-10.764 20.597-.32 39.06 1.51 52.38 8.166 1.47-44.267 2.522-74.153-5.61-90.3-4.44-8.81-10.85-16.326-24.03-19.067-40.296-8.377-107.204-7.592-149.61 12.72zm353.43-2.473c-18.843 9.395-40.083 13.222-59.482 10.044l3.844 18.006c26.837 2.207 32.874 1.026 57.71-9.348zm4.124 37.216c-17.018 6.656-25.32 9.495-38.1 9.81l9.654 55.043-16.24-55.08c-3.32-.095-6.963-.287-11.157-.586l51.604 245.08c5.43.883 11.167.885 16.81-.028a53.786 53.786 0 0 0 3.484-.69l-9.192-98.6 14.744 97a51.322 51.322 0 0 0 6.71-2.866zm-225.823 71.707c1.492-.373-3.103-.003-4.67.022-25.09.39-53.942 5.062-77.625 12.496l-1.82-7.23-8.29 1.592a75.133 75.133 0 0 0-9.902 4.725c7.086 25.256 9.957 46.182 6.322 72.728 8.09-6.685 16.802-9.395 25.666-9.195 17.48.393 35.54 16.062 50.535 30.674-29.688-14.594-56.878-18.71-79.046-1.87a196.7 196.7 0 0 1-5.13 18.25 35.53 35.53 0 0 1 7.62-.726c21.365.34 40.238 19.874 53.717 42.283-26.104-23.325-51.962-35.416-78.067-23.84l-.162.044c-1.58.443-52.92 20.927-67.807 43.828-13.01 20.014-22.782 50.122 2.073 50.122h172.81c13.715 0 23.896-5.363 29.476-18.743-22.274 7.332-44.18 8.164-65.985 7.185 25.95-7.275 52.874-13.347 70.656-30.63 4.894-73.38 3.61-132.378-2.992-190.61a162.725 162.725 0 0 0-17.377-1.102zm268.263 189.93c-8.098 5.324-17.417 8.823-26.998 10.373-9.543 1.544-19.444 1.167-28.775-1.305.67 1.996 1.025 3.502 1.82 5.605 4.764 12.6 12.888 25.522 17.563 27.982 7.55 3.972 22.58 1.542 28.48-4.603 3.915-4.08 7.464-18.818 7.973-32.21.085-2.23-.063-3.752-.063-5.84z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenPier;

impl IconShape for WoodenPier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24 87.002v17.996h472V87.002zm127.04 114.084c-4.514-.074-9.04 2.158-9.04 6.914v60.988l18-34V208c.053-4.462-4.448-6.84-8.96-6.914zm209.92 0c-4.512.074-9.013 2.452-8.96 6.914v26.988l18 34V208c0-4.756-4.526-6.988-9.04-6.914zM181.419 233L72.359 439h77.42l54.53-206zm41.508 0l-12.176 46H247v-46zM265 233v126h56.4l-34.279-126zm40.775 0l69.104 254h17.935l-11.447-49.799L412.564 487h52.489L330.582 233zM64 281c-7.62 0-14.45 1.658-18.604 3.734-3.271 1.636-4.106 2.98-4.318 3.266.212.287 1.047 1.63 4.318 3.266C49.55 293.342 56.38 295 64 295c7.62 0 14.45-1.658 18.604-3.734 3.271-1.636 4.106-2.98 4.318-3.266-.212-.287-1.047-1.63-4.318-3.266C78.45 282.658 71.62 281 64 281zm22.922 7c.057.077.078.095.078 0s-.021-.077-.078 0zm-45.844 0c-.057-.077-.078-.094-.078 0 0 .095.021.077.078 0zM448 281c-7.62 0-14.45 1.658-18.604 3.734-3.271 1.636-4.106 2.98-4.318 3.266.212.287 1.047 1.63 4.318 3.266C433.55 293.342 440.38 295 448 295c7.62 0 14.45-1.658 18.604-3.734 3.271-1.636 4.106-2.98 4.318-3.266-.212-.287-1.047-1.63-4.318-3.266C462.45 282.658 455.62 281 448 281zm22.922 7c.057.077.078.095.078 0s-.021-.077-.078 0zm-45.844 0c-.057-.077-.078-.095-.078 0s.021.077.078 0zm-219.094 9l-50.293 190h22.9l15.253-76.838-3.52 76.838H247V297zM41 308.984v150.782l46-86.889v-63.893C80.3 311.632 72.464 313 64 313s-16.3-1.368-23-4.016zm384 0v63.893l46 86.889V308.984c-6.7 2.648-14.536 4.016-23 4.016s-16.3-1.368-23-4.016zm-368.297 19.29c4.418 0 8 7.163 8 16 0 8.836-3.582 16-8 16s-8-7.164-8-16c0-8.837 3.582-16 8-16zM265 377v110h91.225l-29.926-110zM62.83 457l-15.883 30h90.127l7.942-30H62.83z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wool;

impl IconShape for Wool {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.04 27.759c-4.596 2.47-10.075 7.56-14.275 14.453-2.602 5.644-11.487 22.4-3.68 27.5 9.571 1.4 18.325-8.765 22.752-15.879 4.2-6.894 6.212-14.097 6.3-19.314.25-9.162-5.102-9.93-11.097-6.76zm-35.082 49.057c-17.085 22.447-30.962 44.18-45.3 64.636a1290.558 1290.558 0 0 0-35.102-24.556c-21.021-10.201-22.682-3.57-28.057.078 17.396 13.455 34.746 26.954 51.877 40.576l-10.354 14.775c-21.77-17.33-43.972-34.51-66.23-51.7a181.82 181.82 0 0 0-13.441 3.48c5.576 9.819 11.085 19.699 16.523 29.632 15.874 12.41 32.705 25.03 49.549 37.993l-10.442 14.898a5040.63 5040.63 0 0 0-18.484-14.2c8.628 16.656 17.002 33.46 25.057 50.409 20.13 13.193 44.62 31.66 62.4 44.44 3.916-.75 7.82-1.533 11.715-2.337l-18.424 21.84a767.571 767.571 0 0 1-25.52 4.08c2.098 5.112 4.148 10.24 6.174 15.375a899.026 899.026 0 0 0 137.143-28.658c5.08-7.527 6.204-14.563-1.344-20.562-28.95 9.639-58.497 17.842-88.736 24.341l19.406-22.945a814.417 814.417 0 0 0 28.172-7.504 944.014 944.014 0 0 0-12.02-11.593l11.653-13.78a940.439 940.439 0 0 1 19.992 19.51 875.505 875.505 0 0 0 18.436-5.963 182.274 182.274 0 0 0-4.067-15.088 1686.485 1686.485 0 0 0-18.842-16.808l67.805-80.17c-6.175-1.897-11.06-6.287-13.598-11.723l-55.459 65.746c-18.82-29.505-45.863-53.235-77.923-67.972L311.31 87.7c-6.206-1.37-11.54-5.817-14.352-10.884zm156.94 13.267c-4.9 1.797-11.044 6.058-16.176 12.29-3.37 5.216-14.532 20.556-7.528 26.704 9.276 2.736 19.38-6.087 24.768-12.504 5.132-6.231 8.138-13.077 8.963-18.23.825-5.153-.34-7.571-1.438-8.475-2.728-1.57-6.156-.662-8.59.215zm-320.524 40.723c-9.202-3.944-14.229-1.076-15.666 7.63 61.04 106.67 106.595 219.245 144.486 334.592 11.13 4.931 10.359-1.798 13.073-4.56-27.876-117.522-81.03-230.756-141.893-337.662zm143.127 6.564c27.765 20.66 54.483 42.173 80.338 64.383l-11.604 13.756c-25.474-21.888-51.767-43.07-79.064-63.399zm-174.16 10.447c-15.251-4.231-12.5 5.804-15.385 11.512 76.376 111.834 103.795 216.838 143.553 321.967 8.333 6.566 12.036 2.365 14.379-3.275-37.546-114.2-82.537-225.242-142.547-330.204zm152.117 21.004c26.123 21.061 51.575 42.484 75.68 64.586l-11.623 13.778c-23.597-21.658-48.62-42.759-74.416-63.582zm-181.01 2.662c-9.338-2.596-11.688 3.193-11.44 12.083 55.283 98.074 99.863 193.737 132.585 300.882 10.108 5.981 14.405 3.828 17.693-.463-39.185-104.242-66.175-205.338-138.838-312.502zm-23.406 27.44a182.045 182.045 0 0 0-22.596 48.787l40.008-17.041a2110.528 2110.528 0 0 0-17.412-31.746zm180.613 3.863c25.72 20.202 50.754 41.287 71.557 63.725l-11.715 13.89C270.68 258.862 246 238.05 220.192 217.716zM75.927 246.624l-53.412 22.75c-5.851 3.791-7.273 9.93-2.15 19.541l64.513-25.027a1802.274 1802.274 0 0 0-8.951-17.264zm151.459 28.426a1342.948 1342.948 0 0 1 8.146 18.674c4.905-.67 9.798-1.37 14.666-2.133-7.36-5.36-15.139-11.038-22.812-16.541zm-134.36 4.984l-40.375 15.662a758.774 758.774 0 0 0 49.996 3.977c-3.154-6.556-6.364-13.1-9.62-19.639zm-72.672 29.547c-1.801 5.343-5.821 10.118 1.733 17.072a917.72 917.72 0 0 0 96.285 6.766 1472.581 1472.581 0 0 0-7.057-15.416c-29.61-.99-59.907-3.728-90.96-8.422zm364.907 6.96a916.802 916.802 0 0 1-129.692 26.968 1126.15 1126.15 0 0 1 5.49 14.918c39.738-4.882 80.213-12.616 121.637-23.924 6.55-4.86 10.362-10.291 2.565-17.963zM25.845 345.238c-2.76 3.598-7.863 6.493 4.052 13.528 33.771 3.469 67.817 5.712 102.278 6.261a1381.957 1381.957 0 0 0-5.781-13.49 933.945 933.945 0 0 1-100.55-6.299zm351.783 9.233a874.569 874.569 0 0 1-57.195 12.877l47.392 17.822c9.683 3.145 30.587 11.951 29.406 20.983-2.359 13.928-27.517 11.142-34.53 21.632-1.93 3.205-2.83 7.536-2.182 11.524 18.943 40.217 75.27 45.85 114.746 46.886 15.587.961 10.116-14.706-1.11-15.016-24.701-3.81-85.094-6.218-90.271-29.144-2.465-15.017 32.627-16.775 32.57-31.993-.078-20.225-26.292-36.584-43.61-42.188a182.112 182.112 0 0 0 4.784-13.383zm-92.469 18.844a886.555 886.555 0 0 1-18.008 2.476c2.045 5.99 4.035 11.994 5.967 18.014l65.526 28.564c8.046-2.521 20.204-1.952 17.373-22.408zm-247.607 4.3a182.7 182.7 0 0 0 17.13 28.987l-.45-27.498c-5.57-.463-11.131-.957-16.68-1.489zm34.705 2.858l.783 47.773c2.852 16.181 11.086 16.074 19.26 16.893l.086-63.448c-6.727-.347-13.435-.76-20.13-1.218zm38.129 1.994l-.102 74.74c3.905 9.613 9.563 15.077 19.51 9.957l-1.48-84.203a1086.56 1086.56 0 0 1-17.928-.494zm36.244 18.256l1.285 73.234a182.304 182.304 0 0 0 26.596 6.229 1271.945 1271.945 0 0 0-27.881-79.463zm133.476 15.763a923.38 923.38 0 0 1 11.604 43.082 183.267 183.267 0 0 0 33.178-23.56z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Worms;

impl IconShape for Worms {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M462.6 28.88C448.9 41.67 441 50.8 428.1 60.77l12.8 12.87c11.9-10.01 23.7-20.95 34.7-32.29 5.7-8.85-8.8-16.05-13-12.47zm-270.1.39l.9 17.98c45.6-1.2 85.9 4.21 85.9 4.21 6.9.63 12.8-16.1 2.3-17.84-35.2-3.19-57.4-5.01-89.1-4.35zm-18 .82c-19.3 1.27-39 3.91-57 8.86-2.5.71-5 1.47-7.5 2.28L120 57c18.6-4.94 38.8-7.74 55.4-8.91zM92.89 47.94c-12.45 5.94-23.15 13.78-30.73 24.34-2.5 3.47-4.28 7.15-5.48 10.93l17.09 5.27c.69-1.96 1.68-3.84 3.01-5.7 5.59-7.79 14.58-14.28 25.92-19.43zM414 71.93c-13.4 9.9-27.2 18.39-37.4 21.34-2 .57-4.1 1.07-6.5 1.49 1.1 5.94 5.5 11.04 13.3 15.24 14.5-4.6 29.5-14.28 43.5-25.01zM241.4 82.62C228 80.9 228.3 97.16 237 100.1c0 0 23.3 5.8 52.3 10l-4.2-18.81c-24.8-4-43.7-8.67-43.7-8.67zm62.7 11.39l4.2 18.59c18.3 2.1 37.7 3.2 54.8 1.4-6.9-4.5-12.8-9.7-15.1-17.38-13.7.3-29.2-.8-43.9-2.61zM54.89 101.5c.23 2.6.63 5.2 1.18 7.7 3.44 13.6 9.35 26.1 14.5 37l18-4c-.8-1.7-1.61-3.4-2.4-5.1-5.06-10.6-9.72-20.8-12.01-29.7zm104.01 3.1c-10.5-1.8-14.3 13.8-2.8 17.8 0 0 20 3.2 42.3 10.3l9.8-15.7c-25.6-8.6-49.3-12.4-49.3-12.4zm66.5 18.8l-9.7 15.5c8.7 3.5 17 7.5 23.7 12.1 4.5 3 8.1 6.1 10.9 9.3 8.2 3.2 15.3 3.4 21.3.6-4.1-10.3-12.5-18.4-22.2-24.9-7.3-4.9-15.5-9-24-12.6zm134.2 19.8c-9-6.1-15.4 10.5-9.8 15 0 0 9.7 6.4 22.6 16.4l10.2-14.8c-13.1-10.1-23-16.6-23-16.6zM96.15 159l-17.9 3.9c2.18 5.2 4.05 10.1 5.31 14.8 2.36 8.6 2.73 15.8.37 22.2l10.86 16.9c1.46-1.8 2.76-3.7 3.86-5.8 6.35-12.2 5.55-25.7 2.35-38.1-1.35-4.7-3.05-9.3-4.85-13.9zm300.75 12.2L386.5 186c11.4 10.2 23.4 21.6 32.1 32.3l13-13.3c-11.4-12.8-22.8-24.2-34.7-33.8zm-141.8 7.3c-1.1 2.2-2.8 4.5-5.4 7.2-4.8 4.9-12.2 10.1-20.3 15.4l11.8 13.8c7.6-5 15.2-10.3 21.4-16.7 5-5.2 9.2-11.8 10.8-19.2-5.9 2.5-12 2.6-18.3-.5zm-112.7 6.4s-3.3 16-9 37.4l18.5.4c5.2-19.8 8.1-34.2 8.1-34.2 1.9-8.8-14.4-22.5-17.6-3.6zm72 26.1c-5.7 3.9-11.1 8.1-15.8 12.8-7.9 7.9-13.8 18.8-11.8 31.2.9 5.4 3.2 10.2 6.4 14.4l14.7-10.5c-1.9-2.5-3-4.8-3.3-6.9-1-5.6 1.1-9.8 6.8-15.6 3.7-3.7 8.9-7.6 14.7-11.6zm-144.12 1c-9.84 5-19.99 8.1-31.13 10.4-7.23 2.7-4.56 19 3.38 17.6 13.96-3.3 25.45-6.3 37.84-12.3zm372.02 7.9L429 233.4c1.8 3.4 3.1 6.7 4 9.7 1.8 6.9.8 17.9-1.7 29.8 5.2 5.2 10.4 9.8 17 8.4 3.7-14.6 5.6-29.6 2.1-42.8-1.8-6.4-4.5-12.6-8.1-18.6zm-313.9 20.3c-4.2 13.5-8.9 27.8-14.2 40.8l18.3 3.2c5.6-14.2 10.3-29.1 14.3-43 .1-.2.1-.4.2-.6zm200.7 23.4s-5.5 8.4-12.3 20.8l16.3 7.5c6.4-11.1 11.2-18.7 11.2-18.7 3.7-8.3-7.7-20-15.2-9.6zM222 270.8L206.5 282c7.6 5.6 16.4 10.2 25.1 14 19 8.4 37.2 12.9 37.2 12.9 6.9 1 18.7-12.5 4.3-17.4 0 0-17-4.3-34.3-12-5.8-2.5-11.7-5.5-16.8-8.7zm204.6 19.9c-4.5 14.4-10.4 28.7-17.3 42.5-2.9 8.4 8.1 16.5 16 8.2 7.6-16.7 12.3-27.3 17.7-42.5-5.8.2-11.3-2.3-16.4-8.2zm-320.1 7.4c-5.7 12.9-15.62 23.5-25.08 31.5l12.74 13c14.24-11.2 23.94-26.8 31.04-41.4zm201.6 2.2c-6.5 12.9-13.3 27.4-17.8 41.4 7.5-3.8 14.2-4.5 20.2-2.3 3.9-10.4 9-21.5 14-31.4 0-.1.1-.2.1-.2zm55.3 36.3c-3.6-6.8-19.6-3.5-17.3 5.6 5 15.3 10.5 29.2 16.5 41.9l16.2-7.6c-5.5-11.9-10.7-25.1-15.4-39.9zm-296.35 4c-10.71 7.8-22.03 14.9-33.8 21.7-10.75 6.8 1.74 18.9 8.82 15.6 0 0 12.88-7.2 27.85-17.3 3.23-2.2 6.56-4.5 9.89-6.9zm237.55 17.5c-6.8-3-12.9-1.2-18.7 2.2-1.6 12-.2 25.4 1.7 35.7l18.3-2.1c-2.6-12.3-3.5-24.5-1.3-35.8zm-196.1 29.5c4.8 4.1 8.5 9 10.3 15.6 10.1-6.8 19.9-13.6 31.4-12.7l-.4-18.3c-15.2-.1-30.8 7.7-41.3 15.4zm59.4-12.7l.4 19.6c7.6 2.5 15.7 6 23.5 9.9l5.1-17.7c-9.3-4.8-19.1-9.1-29-11.8zm219 17.6l-16 7.5c9.9 17.5 21.2 32.3 34.4 44.6l4.6-20.1c-8.5-9.1-16.1-19.7-23-32zm-173.9 3l-5.2 17.9c16.2 9.8 28 19 28 19 8.4 4.1 16.8-8.2 11-14.2 0 0-14.5-11.3-33.8-22.7zm-118.36 3.9c-9.56 9.3-17.37 18.1-25.08 27.4l15.15 9.9C91.09 429 98.52 421 105 414.9c-.6-7.4-5.33-11.6-10.36-15.5zm215.36 12l-18.2 2.2c6.2 22.3 13.4 43.2 22.8 65.1 6.7 7.4 17.8 3.2 16.5-7.2-8.7-22-15.4-38.4-21.1-60.1zm115.1 27.3l-4.2 18.7c15.2 10.9 32.5 19.4 52.5 25.7 12.7 3.7 13.7-16.1 5.4-17.2-21.2-6.6-38.7-15.4-53.7-27.2zm-366.65 2.2c-8.98 12-14.61 20.9-14.61 20.9-4.1 7.7 6.24 17.7 15.2 9.6 0 0 5.64-8.8 14.51-20.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Xylophone;

impl IconShape for Xylophone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25 57v270h78V57H25zm96 16v238h78V73h-78zm-57 7a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm153 9v206h78V89h-78zm-57 7a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm153 9v174h78V105h-78zm-57 7a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm153 9v142h78V121h-78zm-57 7a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm96 16a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm0 64a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-96 16a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-96 16a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-96 16a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-96 16a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm352 57c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-40.977 23.967l-162.242 40.56L65.117 375.07l-2.234 17.86 101.53 12.691L29.815 439.27l4.368 17.46 179.7-44.925 193.313 24.164a40.592 40.592 0 0 1 2.246-17.857l-147.187-18.4 117.162-29.29a40.58 40.58 0 0 1-4.395-17.455zM448 409c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Yarn;

impl IconShape for Yarn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M338.6 27.83c-8.1-.03-14.8 2.23-20.9 6.37-19.1 12.88-32.9 49.62-39.4 103.4l10.7 9c15.1-43.5 29.9-88.7 57.2-118.14-2.7-.42-5.2-.63-7.6-.63zm27.3 6.7C338.2 60.14 321.3 109.5 303.8 159l10.8 9.1c11.2-24 22.3-49.1 35.1-71.07 11.5-19.85 24.5-37.4 41.2-48.43-9.1-6.1-17.4-10.75-25-14.07zm40.8 25.68c-15.2 7.85-28.7 24.06-41 45.09 26.3-16.06 44.7-24.41 59.7-29.18-3.3-3.05-6.8-6.16-10.6-9.33-2.7-2.31-5.4-4.49-8.1-6.58zm33.4 30.48c-19 4.43-42.7 14.21-91.3 46.91-3.3 6.7-6.4 13.5-9.6 20.3 39.6-19 81.7-41.1 119.1-43.4-4.3-7.3-10.3-15.29-18.2-23.81zm24.8 41.71c-6 0-12.5.9-19.4 2.4-7.4 9-12.5 21.3-15 33.7-1.5 7.1-2 14.3-1.9 20.7 18.1-10.2 30.1-21.1 35.1-32.4 3.4-7.5 4.3-15.3 2.1-24.4h-.9zm-45 9.9c-9.4 3.4-19.3 7.5-29.4 11.9-10.4 20.1-14.8 39.9-15.2 57.2 13.2-4.2 25.1-8.7 35.7-13.4-1.2-10-.6-21.4 1.8-33.1 1.5-7.6 3.9-15.2 7.1-22.6zM269.8 154l-19.3 23 84.2 70.7 19.3-23-84.2-70.7zm96.3 11.3c-11.8 5.5-23.6 11.1-35.3 16.4l26.9 22.5c.9-12.4 3.6-25.5 8.4-38.9zm-127.2 25.5l-50.1 59.7 84.3 70.7 50.1-59.7-84.3-70.7zm178.3 24.6c-10.4 4.5-21.9 8.7-34.2 12.6 8.2.9 18.7 2.4 29.4 4.8 11.2 2.5 22.4 6.2 30.3 10.6 7.9 4.5 11.8 9.1 12.4 13.7v.1c.8 6.3-.4 10.8-3.2 15.2-2.8 4.4-7.6 8.7-14.1 12.8-13.2 8-33.1 14.5-53.7 21-20.5 6.6-41.8 13.1-58.8 22.9-17 9.9-30.6 24.7-30.3 45.1.2 19.1 11.8 35.5 27.1 49.2 15.3 13.7 34.8 25.3 54.2 34.9 38.8 19.1 77.2 30.3 77.2 30.3l5-17.2s-37.2-10.9-74.2-29.3c-18.5-9.1-36.9-20.2-50.2-32.1-13.3-12-20.9-24.3-21.1-36-.2-12.8 7.1-21 21.3-29.3 14.3-8.2 34.7-14.8 55.3-21.3 20.6-6.5 41.4-13 57.6-22.9 8-4.9 15.1-10.8 19.9-18.5 4.9-7.6 7.1-17.1 5.8-27.1-1.6-12.5-10.8-21.2-21.3-27.2-10.2-5.8-22.4-9.5-34.4-12.3zm-239.9 48.9l-19.3 23 84.2 70.7 19.3-23-84.2-70.7zm-40.6 36.3c-13.2 4.2-25.2 8.7-35.7 13.4 1.2 10 .6 21.4-1.83 33.1-1.55 7.6-3.88 15.3-7.14 22.6 9.47-3.4 19.37-7.5 29.47-11.9 10.4-20.1 14.8-39.9 15.2-57.2zm17.6 7.2c-.9 12.4-3.6 25.5-8.4 38.9 11.8-5.5 23.6-11.1 35.2-16.4l-5.2-4.4-21.6-18.1zm-70.85 15c-18.08 10.2-30.14 21.1-35.17 32.4-3.35 7.5-4.27 15.3-2.07 24.4 6.27.1 13.1-.8 20.37-2.4 7.37-9 12.44-21.3 14.96-33.7 1.47-7.1 2.03-14.3 1.91-20.7zm113.95 21.1c-11.2 24-22.3 49.1-35.1 71.1-11.5 19.8-24.5 37.3-41.1 48.4 9 6.1 17.3 10.7 24.9 14.1 27.7-25.6 44.6-75 62.1-124.5l-10.8-9.1zm-24.6 10.2c-39.6 19-81.77 41.1-119.05 43.4 4.28 7.3 10.29 15.3 18.15 23.8 19.08-4.4 42.7-14.3 91.3-46.9 3.3-6.7 6.4-13.5 9.6-20.3zm50.2 11.3c-15.1 43.5-29.9 88.7-57.2 118.1 11.6 1.9 20.5-.3 28.5-5.7 19.1-12.9 32.9-49.6 39.4-103.4l-10.7-9zm-76.7 41.3c-26.3 16.1-44.7 24.4-59.73 29.1 3.35 3.1 6.88 6.2 10.67 9.4 2.75 2.3 5.46 4.5 8.06 6.6 15.2-7.9 28.7-24 41-45.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct YinYang;

impl IconShape for YinYang {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23C127.424 23 23 127.424 23 256s104.424 233 233 233 233-104.424 233-233S384.576 23 256 23zm-6.094 18.09C128.036 47.807 130.066 256 256 256c125.215 0 127.935 205.872 8.168 214.83-2.71.1-5.432.17-8.168.17-118.848 0-215-96.152-215-215 0-116.81 92.883-211.69 208.906-214.91zM256 103c22.537 0 41 18.463 41 41s-18.463 41-41 41-41-18.463-41-41 18.463-41 41-41zm0 224c-22.537 0-41 18.463-41 41s18.463 41 41 41 41-18.463 41-41-18.463-41-41-41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Yunluo;

impl IconShape for Yunluo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-30.5 0-53.2 7.56-79.4 15.6-24.1 7.43-51.1 15.05-87.6 16.17V71h334V56.77c-36.5-1.12-63.5-8.74-87.6-16.17C309.2 32.56 286.5 25 256 25zM25 89v30h462V89H25zm32 48v350h30V137zm48 0v32.6c1.1 2.1 2.2 4.3 3.3 6.4 3.2-5.7 7.6-10.7 12.8-14.8-3.8-8.1-6.7-16.6-8.1-24.2zm84.1 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 3.9-7.2 7.2-14.9 9.7-22.7 2.5 7.7 5.8 15.2 9.7 22.3 3.2-5.7 7.6-10.7 12.8-14.8-3.8-8.1-6.7-16.6-8.1-24.2zm105 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 3.9-7.2 7.2-14.9 9.7-22.7 2.5 7.7 5.8 15.2 9.7 22.3 3.2-5.7 7.6-10.7 12.8-14.8-3.8-8.1-6.7-16.6-8.1-24.2zm105 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 1.1-2 2.1-4 3.1-6.1V137zm25.9 0v350h30V137zm-274 32c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm105 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm105 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm-256 96v30h302v-30zm0 48v32.6c1.1 2.1 2.2 4.3 3.3 6.4 3.2-5.7 7.6-10.8 12.8-14.8-3.8-8.2-6.8-16.7-8.2-24.2zm84.1 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 3.9-7.2 7.2-14.8 9.7-22.5 2.5 7.6 5.9 15 9.7 22.1 3.2-5.7 7.6-10.8 12.8-14.8-3.8-8.2-6.8-16.7-8.2-24.2zm105 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 3.9-7.2 7.2-14.8 9.7-22.5 2.5 7.6 5.9 15 9.7 22.1 3.2-5.7 7.6-10.8 12.8-14.8-3.8-8.2-6.8-16.7-8.2-24.2zm105 0c-1.3 7.7-4.2 16.2-8 24.4 5.2 4.1 9.6 9.2 12.8 15 1.1-2 2.1-4 3.1-6.1V313zM151 345c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm105 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm105 0c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZBrick;

impl IconShape for ZBrick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93 141a9.5 9.5 0 0 0-9.5 9.5v96A9.5 9.5 0 0 0 93 256h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0-9.5 9.5v96a9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5 9.5 9.5 0 0 0 9.5 9.5h96a9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5 9.5 9.5 0 0 0 9.5-9.5v-96a9.5 9.5 0 0 0-9.5-9.5h-96a9.5 9.5 0 0 0-9.5 9.5 9.5 9.5 0 0 0-9.5-9.5H93zm9.5 19h77v77h-77v-77zm115 0h77v77h-77v-77zm0 115h77v77h-77v-77zm115 0h77v77h-77v-77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZatGun;

impl IconShape for ZatGun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M358.2 32.72c-105.9 2.73-204.7 6.04-273.77 9.62 1.04 16.17 19.07 18.29 18.77 18.31 12-1.05 28-4.1 44.8-6.74 16.9-2.63 34.6-4.88 50.8-4.04 14.5.76 28.5 4.04 38.7 13.1 43.8-4.51 89.2-10 129.7-23.99zm21 21.21c-7.1 2.63-14.4 4.99-21.6 7.11 3.5 16.13 7.5 33.23 8.7 52.66 42.8-.7 98.3-7.2 94.9-20.42-4.4-17.05-41-31.81-82-39.35zM340 65.66c-41.5 7.92-75.3 12.61-109.5 16.18-10.7-10.59-25.5-14.15-39-14.1.6 16.36 12.2 35.16 22.2 53.06 49.8 1.2 91.8 2.2 134.6-6-1.1-17.34-4.7-33.13-8.3-49.14zm-166.5 3.1c-39.6 3.89-58.1 13.64-81.46 46.64 31.16 4.9 62.76 15.6 92.86 29.1l12.3-16.1c-9.5-16.7-23.1-36.91-23.7-59.64zM80.81 132c-13.43 24.7-14.14 66.6 62.49 106.7 16.5 8.7 33.6 15.7 50.9 21.8-38.6-31.4-67.9-71.9-76.5-121.2-12.5-3.3-24.82-5.8-36.89-7.3zm56.39 13.2c13.9 58.2 61.1 103.6 117.9 134 12.2 3.5 24.5 6.9 36.6 10.5 4 1.2 7.8 2.3 11.7 3.4v-.1c-21.5-24.8-33.9-51.3-40.4-76.8-35.4-12.3-66.7-28.8-76.7-51.3-16.1-7.6-32.6-14.3-49.1-19.7zm146.4 77.6c8.3 25.6 23.7 51.8 50.5 75.8 0 0 60.3 10 60.3 9.9 8.1-13.7 26.4-55.2-30.4-66.5-21.5-4.5-51.3-10.6-80.4-19.2zm55.3 42.9c5 0 9 4 9 9s-4 9-9 9-9-4-9-9 4-9 9-9zm-15.4 50c-86.7 23.4-110.3 55-145.7 85.2 4 9.5 3.1 19.6-1.1 28 66.2-20.2 133.9-61.9 165.9-110.4-1.8-.2-15.4-2.5-19.1-2.8zm38.2 6.3c-38.9 66.1-129.8 115.6-211.8 132.2-14.4 9-31 17.1-44.5 24.3 94.5-8.5 180.3-45.7 259-93.4 18.7-12.4 19-29.3 19.5-46.1l3.3-12.4zm-198.8 90.7c-4.1 3.1-8.4 6.1-13.1 9.1-14.3 7.1-28 14.3-41.6 14.5l-26.62-16.4c-12.05 11.6-29.81 25.2-30.91 41.1 1.57 8.9 5 16.1 17.97 18.3 22.75-10.8 70.76-30.7 90.46-56.1 3-4 4.4-6.9 3.8-10.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZigzagHieroglyph;

impl IconShape for ZigzagHieroglyph {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.3 118.4L152.5 188l-51.3-69.1L20.99 220l21.94 17.4 57.47-72.5 52.1 69.9 51.8-69.4 51.6 69.5 51.7-69.6 51.8 69.6 52-70 57.6 72.5 22-17.4-80.4-101.1-51.2 69-51.8-69.4-51.7 69.4-51.6-69.5zm0 156.4l-51.8 69.3-51.3-68.8-80.17 100.8 21.92 17.4 57.55-72.4 52 69.8 51.8-69.3 51.6 69.3 51.7-69.3 51.8 69.3 52-69.8 57.7 72.4 21.8-17.4-80.3-100.8-51.2 68.8-51.8-69.3-51.7 69.3-51.6-69.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Zipper;

impl IconShape for Zipper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.023 17.25L92.71 45.738l16.086 8.08 14.312-28.486zm328.497 4.557l-16.688 6.748 11.95 29.556 16.687-6.746zm-289.79 12.6l-15.335 27.948 15.779 8.66 15.338-27.949zm255.032 1.67l-16.084 8.081 14.312 28.487 16.084-8.08zm-34.914 17.9l-15.032 9.9 17.534 26.625 15.033-9.9zM178.754 55.77l-18.275 26.122 14.748 10.318 18.275-26.121zm155.29 18.243L319.86 85.092l19.623 25.127 14.186-11.08zm-124.47 5.42l-21.847 23.216 13.107 12.336 21.85-23.215zm96.342 18.888l-12.066 13.356 23.656 21.373 12.066-13.356zm-68.059 10.137l-25.48 19.158 10.816 14.387 25.483-19.158zm41.184 21.424l-8.129 16.06 28.445 14.397 8.13-16.059zM256 165c-16.4 0-34.344 10.07-57.637 33.363-2.94 2.94-3.524 4.645-3.629 6.416-.104 1.772.528 4.498 2.983 8.59 4.516 7.526 15.2 18.68 29.283 32.826V199h58v47.195c14.083-14.146 24.767-25.3 29.283-32.826 2.455-4.092 3.087-6.818 2.983-8.59-.105-1.771-.69-3.476-3.63-6.416C290.345 175.07 272.4 165 256 165zm-11 52v86.275c1.705 12.707 7.374 15.725 11 15.725 3.626 0 9.295-3.018 11-15.725V217zm-18 75.738l-25.924 155.547c.089 1.188 1.12 4.786 3.912 8.973 2.915 4.372 7.378 9.332 12.774 13.828C228.552 480.078 243 487 256 487s27.447-6.922 38.238-15.914c5.396-4.496 9.859-9.456 12.774-13.828 2.791-4.187 3.823-7.785 3.912-8.973L285 292.748c1.957 20.065-12.043 43.674-29 44.252-18.338-.45-29-22.772-29-44.262zM256 412c17.673 0 32 10.745 32 24s-14.327 24-32 24c-17.673 0-32-10.745-32-24s14.327-24 32-24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}