From b99281d42a2b5de6d7ffa54372f539d3cd102258 Mon Sep 17 00:00:00 2001
From: Adam Piontek <adam@73k.us>
Date: Sun, 4 Jul 2021 09:26:44 -0400
Subject: [PATCH] svg icons working with theme function

---
 TODO.md                    |   16 +-
 assets/css/_svg-icons.scss |   22 +
 assets/css/app.scss        |    3 +
 assets/images/favicon.png  |  Bin 0 -> 1382 bytes
 assets/js/main.js          |    7 +
 functions.php              |   10 +
 header.php                 |   61 +-
 package-lock.json          | 1492 +++++++++++++++++++++++++++++++++---
 package.json               |    1 +
 webpack.config.js          |   28 +-
 10 files changed, 1506 insertions(+), 134 deletions(-)
 create mode 100644 assets/css/_svg-icons.scss
 create mode 100755 assets/images/favicon.png

diff --git a/TODO.md b/TODO.md
index bc4a5ad..f7a1def 100644
--- a/TODO.md
+++ b/TODO.md
@@ -3,12 +3,16 @@
 - [X] ~~*fork*~~ [2021-07-02]
 - [X] ~~*rebrand*~~ [2021-07-02]
 - [X] ~~*initial updating of node modules/webpack*~~ [2021-07-02]
-- [ ] replace tailwind with bootstrap
-  - [ ] initial webpack config for development
-  - [ ] pore through template files to update theming
-  - [ ] purgecss/webpack config for production
+- [X] ~~*replace tailwind with bootstrap*~~ [2021-07-03]
+- [X] ~~*initial webpack config for development*~~ [2021-07-04]
+- [X] ~~*add font handling if possible*~~ [2021-07-04]
+- [X] ~~*add svg sprite handling if possible*~~ [2021-07-04]
+- [ ] svg theme function?
+- [ ] navbar menu
+- [ ] navbar hamburger mobile toggler
+- [ ] properly incorporate favicons (meta links etc)
+- [ ] pore through template files to update theming
+- [ ] purgecss/webpack config for production
 - [ ] double-check npm run build output to ensure it's all working
-- [ ] add font handling if possible
-- [ ] add svg sprite handling if possible
 - [ ] ...
 - [ ] profit!
\ No newline at end of file
diff --git a/assets/css/_svg-icons.scss b/assets/css/_svg-icons.scss
new file mode 100644
index 0000000..09030d0
--- /dev/null
+++ b/assets/css/_svg-icons.scss
@@ -0,0 +1,22 @@
+/*
+  SVG ICON SYSTEM
+  per https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4
+  */
+  .icon {
+    display: inline-flex;
+    align-self: center;
+  }
+  
+  .icon svg,
+  .icon img {
+    height: 1em;
+    width: 1em;
+    fill: currentColor;
+  }
+  
+  .icon.baseline svg,
+  .icon img {
+    top: 0.125em;
+    position: relative;
+  }
+  
\ No newline at end of file
diff --git a/assets/css/app.scss b/assets/css/app.scss
index d4fcadc..75df672 100644
--- a/assets/css/app.scss
+++ b/assets/css/app.scss
@@ -4,6 +4,9 @@
 /* Load Bootstrap v5 and customizations */
 @import "bs-load";
 
+/*SVG ICON SYSTEM*/
+@import "svg-icons";
+
 
 
 /* main */
diff --git a/assets/images/favicon.png b/assets/images/favicon.png
new file mode 100755
index 0000000000000000000000000000000000000000..c9d5b2b991ffc6fa5673b0e80868ca180e6b28aa
GIT binary patch
literal 1382
zcmbtSi&qk66vwcJk8G!GmY$tDr6+B(S*_+OJ7t>bw3Hs(Ds!7Pr)KH~*2D*)C?G0^
zmI_l$4bi}S=A+W^k(!SbGyz4#2P%pJ3M8+6ozB@mu<zXOyN~ald++aeF5dsV*Jg8D
za|i^o+54Oa9O&I2FANG^j}k&B1hOH@-}jOyaPOrM!ebNeV)4NEpAr;_Kqlir5u?%A
z-qTAiDEd?oxLTd=lfAqmk4eTMl2Vhia%x|^0)4^n<n&BtegTLB!DNy_5S^YiE}9IF
zO)O+Q1qs23dsDNLPjx^tm0rHSt_3bQ(j^&420>u|hav`x2ln5oX(&7qg-?&g5lPfS
z5~VPKNJ=F?%A(RhyX35FVlIXAp2rtXG`((HQ>oTeYL!|&CzW>g_Ng_R)iu@Jg7kjI
zgP3G|cHv`CpUdM9^Z0#3T!X=oNF;%2XXfT5^9x`YgTctEZ+O|>DOp%pSX=~n!C_R_
z0;FKP99pqLxw@iI5Ob*sX_-l+Y<5>qKW7;G;9&{#+1(TZ;Eh$^XfPUwMn?a_qyW@9
zy?%6Te1JO=hfg2j3o2^rvkQy!O6bFUL1%A&Y-(CFyIrr>D_7TKD{{ia{15Bv`K4vZ
zq}0;Ns%gm_;C6sJJUS)>ya7rVWy^A<l2TeGm=Kj!)wXrNotm8mq|MIFuWPmCHT4tX
zDHM*lBwNPk<i-;+5{Q{C9dGhW=)Hp+S~)X4kD6Efgg-v9ESHOCW;L1*(xs)IfkB;4
z&#Z4iCgB*>b=?DlRgKN@X&KZfjOVXf$0x;O6QVbL1Hwu1i?)t9LV6q_qiolmI<RwI
z2>AJnKtoKOBA9%Io_8Di-J=PuEn(pZ+i?2m2EvA~;q&vZiwfcX1#LuKE6<?O>v>Nj
zv}yZ=6Ps8TWTm|Ig^3x#3}%Z*ZY4W{b-v;4ar%<$TP*p9aO>07*p`cd9F7|&U|UdD
zK%V9tY)|whON<C=9qoh>^}iGi`CVrup8C-MjoznWr|$_k^V<%GJ%8Y8;Kg{?{F~yN
zP0iOwU%BMgIJv6*kwyLc4t105%|gW2ISw*<;g?zVOWnP{N~jcM3-oayzoXC=DLZ_?
z0(W`H$}n<R@+5lq=iwnLdF3X-Ns$Y#-&3+knfHLz3Cz<fY!hP+{lmASaT|77(9!!s
zO$t&XBfJ$R_D-Ar%s<F*^6}ZqPd*x&31RHKc|US;`dD3@-+@;Dur0Ti^J2Zk&}ZzN
z;oh-f#qZ6`z8SGQ%em|A)oYfsk0eSZgU&NmcI>De#68A2mV2(9Egp3If??BHeNB5|
zXLu9o+wE@NUcNT|??&X}%w30O#9svqPsCcM9I?9%@r#H!+7?BnSw?vX%)4Mpmy$|<
zDC1oiHn?}=b~NQpY6a?6QMfu7!?Q-*eivez5eC!1yS1O$OXpx^rhCztHut9EjSgXK
zGZf{5U69>HLS(>xE*i^D(oQa+<(0v$T(=!6l&>x!9+!AzW6cK^f-b0VaiG}_TxQ!<
z3r@0%6s!{_A>`;eX6)t89zW6aR6&@qrr^pDYQ~QA-qcs~K2Q3M)$0Hw?F!dT8VYMM
ziE=i{rAN=gcmC8B=&0Uu=lR*YJ~!r_qpogyRw^{e;cx-3DoDcNTXe4vHQqNB#W&hC
zj6K-Pyum$%K{cLXA79nA<eWhy1lHDC9-y>4|EzU*eGnadOlGG?o#fkGFuF&E-aD*Q
dGCfy}R)XWx-y>%#13xaUx952emisT5e*sK-AL;-A

literal 0
HcmV?d00001

diff --git a/assets/js/main.js b/assets/js/main.js
index f16ecf0..874cd42 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -1,6 +1,13 @@
 // Import SCSS
 import '../css/app.scss'
 
+// Import icons for sprite-loader
+// navbar brand icon
+import "../../node_modules/@mdi/svg/svg/desktop-classic.svg"; // brand
+// other:
+import "../../node_modules/@mdi/svg/svg/home.svg";
+import "../../node_modules/@mdi/svg/svg/information.svg";
+
 // Import Bootstrap JS
 import 'bootstrap/js/dist/collapse';
 import 'bootstrap/js/dist/alert';
diff --git a/functions.php b/functions.php
index 73a63da..69d80e2 100644
--- a/functions.php
+++ b/functions.php
@@ -9,6 +9,16 @@ define( 'WP_73k_VERSION', wp_get_theme()->version );
 define( 'WP_73k_DIR', __DIR__ );
 define( 'WP_73k_URL', get_template_directory_uri() );
 
+function svg_icon_use($icon_name, $div_class) {
+  echo "<div class=\"$div_class $icon_name\">";
+  echo "<svg class=\"$icon_name\" aria-hidden=\"true\">";
+
+  echo "<use xlink:href=\"" . get_stylesheet_directory_uri() . "/dist/images/icons.svg#$icon_name\"></use>";
+
+  echo "</svg>";
+  echo "</div>";
+};
+
 require_once( WP_73k_DIR . '/vendor/autoload.php' );
 
 \A7\autoload( __DIR__ . '/src' );
diff --git a/header.php b/header.php
index d9d520e..a3b76b9 100644
--- a/header.php
+++ b/header.php
@@ -27,17 +27,23 @@ namespace WP_73k;
 <nav class="navbar navbar-expand-lg navbar-dark bg-dark px-1 px-sm-2 px-lg-3 px-xl-4 px-xxl-5 py-3">
   <div class="container-fluid">
 
+    <h1 class="my-0 py-0 lh-base">
+      <?php
+        printf( '<a class="navbar-brand fs-1 text-secondary" href="%1$s" rel="home">',
+          esc_url( home_url( '/' ) )
+        );
+
+        svg_icon_use("mdi-desktop-classic", "icon baseline");
+
+        printf( ' <span class="fw-light font-brand">\\\\%1$s</span>',
+          esc_html( get_bloginfo( 'name' ) )
+        );
+
+        echo "</a>";
+      ?>
+    </h1>
+
     <?php
-			$tag = 'p';
-			if ( is_front_page() || is_home() ) {
-				$tag = 'h1';
-			}
-
-			printf( '<h1 class="my-0 py-0 lh-base"><a class="navbar-brand fs-1 text-secondary" href="%1$s" rel="home"><span class="fw-light font-brand">\\\\%2$s</span></a></h1>',
-				esc_url( home_url( '/' ) ),
-				esc_html( get_bloginfo( 'name' ) )
-			);
-
 			if ( has_nav_menu( 'primary' ) ) {
 				wp_nav_menu([
 					'theme_location'  => 'primary',
@@ -66,25 +72,26 @@ namespace WP_73k;
 	<header class="header">
 		<div class="container mx-auto">
 			<?php
-			$tag = 'p';
-			if ( is_front_page() || is_home() ) {
-				$tag = 'h1';
-			}
+			// $tag = 'p';
+			// if ( is_front_page() || is_home() ) {
+			// 	$tag = 'h1';
+			// }
 
-			printf( '<%1$s class="h1 m-0"><a class="text-xl no-underline uppercase" href="%2$s" rel="home">%3$s</a></%1$s>',
-				$tag,
-				esc_url( home_url( '/' ) ),
-				esc_html( get_bloginfo( 'name' ) )
-			);
+			// printf( '<%1$s class="h1 m-0"><a class="text-xl no-underline uppercase" href="%2$s" rel="home">%3$s</a></%1$s>',
+			// 	$tag,
+			// 	esc_url( home_url( '/' ) ),
+			// 	esc_html( get_bloginfo( 'name' ) )
+			// );
 
-			if ( has_nav_menu( 'primary' ) ) {
-				wp_nav_menu([
-					'theme_location'  => 'primary',
-					'container'       => 'nav',
-					'container_class' => 'nav-primary ml-auto',
-					'menu_class'      => 'list-reset m-0 md:flex md:justify-end md:items-center'
-				]);
-			} ?>
+			// if ( has_nav_menu( 'primary' ) ) {
+			// 	wp_nav_menu([
+			// 		'theme_location'  => 'primary',
+			// 		'container'       => 'nav',
+			// 		'container_class' => 'nav-primary ml-auto',
+			// 		'menu_class'      => 'list-reset m-0 md:flex md:justify-end md:items-center'
+			// 	]);
+			// }
+      ?>
 			<div class="menu-item">
 				<button class="toggle highlight">Menu</button>
 			</div>
diff --git a/package-lock.json b/package-lock.json
index f8916c1..1035bac 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -44,6 +44,7 @@
 				"postcss-scss": "^3.0.4",
 				"sass": "^1.x",
 				"sass-loader": "^12.x",
+				"svg-sprite-loader": "^6.x",
 				"webpack": "^5.x",
 				"webpack-cli": "^4.x"
 			},
@@ -2537,6 +2538,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/base/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/base64-arraybuffer": {
 			"version": "0.1.4",
 			"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
@@ -2941,12 +2951,48 @@
 				"safe-buffer": "^5.1.1"
 			}
 		},
+		"node_modules/bl/node_modules/isarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
+		},
+		"node_modules/bl/node_modules/readable-stream": {
+			"version": "2.3.7",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+			"dev": true,
+			"dependencies": {
+				"core-util-is": "~1.0.0",
+				"inherits": "~2.0.3",
+				"isarray": "~1.0.0",
+				"process-nextick-args": "~2.0.0",
+				"safe-buffer": "~5.1.1",
+				"string_decoder": "~1.1.1",
+				"util-deprecate": "~1.0.1"
+			}
+		},
+		"node_modules/bl/node_modules/string_decoder": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+			"dev": true,
+			"dependencies": {
+				"safe-buffer": "~5.1.0"
+			}
+		},
 		"node_modules/blob": {
 			"version": "0.0.5",
 			"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
 			"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
 			"dev": true
 		},
+		"node_modules/bluebird": {
+			"version": "3.7.2",
+			"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+			"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+			"dev": true
+		},
 		"node_modules/boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -3204,6 +3250,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/cache-base/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/cacheable-request": {
 			"version": "2.1.4",
 			"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
@@ -3251,6 +3306,20 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/cacheable-request/node_modules/query-string": {
+			"version": "5.1.1",
+			"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+			"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+			"dev": true,
+			"dependencies": {
+				"decode-uri-component": "^0.2.0",
+				"object-assign": "^4.1.0",
+				"strict-uri-encode": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/cacheable-request/node_modules/sort-keys": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
@@ -3481,6 +3550,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/class-utils/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/class-utils/node_modules/kind-of": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
@@ -3501,6 +3579,15 @@
 				"wrap-ansi": "^6.2.0"
 			}
 		},
+		"node_modules/clone": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+			"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.8"
+			}
+		},
 		"node_modules/clone-deep": {
 			"version": "4.0.1",
 			"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -4717,6 +4804,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/deepmerge": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz",
+			"integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/define-properties": {
 			"version": "1.1.3",
 			"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -4742,6 +4838,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/define-property/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/defined": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -4823,6 +4928,15 @@
 				}
 			]
 		},
+		"node_modules/dom-serializer/node_modules/entities": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+			"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+			"dev": true,
+			"funding": {
+				"url": "https://github.com/fb55/entities?sponsor=1"
+			}
+		},
 		"node_modules/domelementtype": {
 			"version": "1.3.1",
 			"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
@@ -4830,31 +4944,19 @@
 			"dev": true
 		},
 		"node_modules/domhandler": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
-			"integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+			"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
 			"dev": true,
 			"dependencies": {
-				"domelementtype": "^2.2.0"
-			},
-			"engines": {
-				"node": ">= 4"
-			},
-			"funding": {
-				"url": "https://github.com/fb55/domhandler?sponsor=1"
+				"domelementtype": "1"
 			}
 		},
-		"node_modules/domhandler/node_modules/domelementtype": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
-			"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/fb55"
-				}
-			]
+		"node_modules/domready": {
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz",
+			"integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=",
+			"dev": true
 		},
 		"node_modules/domutils": {
 			"version": "1.7.0",
@@ -5080,13 +5182,10 @@
 			}
 		},
 		"node_modules/entities": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
-			"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
-			"dev": true,
-			"funding": {
-				"url": "https://github.com/fb55/entities?sponsor=1"
-			}
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+			"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+			"dev": true
 		},
 		"node_modules/envinfo": {
 			"version": "7.8.1",
@@ -5954,6 +6053,36 @@
 				"readable-stream": "^2.0.0"
 			}
 		},
+		"node_modules/from2/node_modules/isarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
+		},
+		"node_modules/from2/node_modules/readable-stream": {
+			"version": "2.3.7",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+			"dev": true,
+			"dependencies": {
+				"core-util-is": "~1.0.0",
+				"inherits": "~2.0.3",
+				"isarray": "~1.0.0",
+				"process-nextick-args": "~2.0.0",
+				"safe-buffer": "~5.1.1",
+				"string_decoder": "~1.1.1",
+				"util-deprecate": "~1.0.1"
+			}
+		},
+		"node_modules/from2/node_modules/string_decoder": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+			"dev": true,
+			"dependencies": {
+				"safe-buffer": "~5.1.0"
+			}
+		},
 		"node_modules/fs-constants": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@@ -6394,6 +6523,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/has-value/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/has-values": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
@@ -6443,6 +6581,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/he": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+			"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+			"dev": true,
+			"bin": {
+				"he": "bin/he"
+			}
+		},
 		"node_modules/hex-color-regex": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
@@ -6467,6 +6614,20 @@
 			"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
 			"dev": true
 		},
+		"node_modules/htmlparser2": {
+			"version": "3.10.1",
+			"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+			"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+			"dev": true,
+			"dependencies": {
+				"domelementtype": "^1.3.1",
+				"domhandler": "^2.3.0",
+				"domutils": "^1.5.1",
+				"entities": "^1.1.1",
+				"inherits": "^2.0.1",
+				"readable-stream": "^3.1.1"
+			}
+		},
 		"node_modules/http-cache-semantics": {
 			"version": "3.8.1",
 			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
@@ -6573,6 +6734,18 @@
 				"node": ">= 4"
 			}
 		},
+		"node_modules/image-size": {
+			"version": "0.5.5",
+			"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+			"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+			"dev": true,
+			"bin": {
+				"image-size": "bin/image-size.js"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/imagemin": {
 			"version": "6.1.0",
 			"resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz",
@@ -6976,6 +7149,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/imagemin/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/imagemin/node_modules/make-dir": {
 			"version": "1.3.0",
 			"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
@@ -7488,6 +7670,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/is-plain-object/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/is-png": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
@@ -7627,14 +7818,23 @@
 			"dev": true
 		},
 		"node_modules/isobject": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+			"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
 			"dev": true,
+			"dependencies": {
+				"isarray": "1.0.0"
+			},
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/isobject/node_modules/isarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
+		},
 		"node_modules/isurl": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
@@ -7704,6 +7904,12 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/js-base64": {
+			"version": "2.6.4",
+			"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+			"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+			"dev": true
+		},
 		"node_modules/js-tokens": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -8217,6 +8423,18 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/merge-options": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz",
+			"integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==",
+			"dev": true,
+			"dependencies": {
+				"is-plain-obj": "^1.1"
+			},
+			"engines": {
+				"node": ">=4"
+			}
+		},
 		"node_modules/merge-stream": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -8684,6 +8902,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/object-visit/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/object.assign": {
 			"version": "4.1.2",
 			"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
@@ -8731,6 +8958,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/object.pick/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/object.values": {
 			"version": "1.1.4",
 			"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz",
@@ -9869,6 +10105,15 @@
 				"postcss": "^8.2.15"
 			}
 		},
+		"node_modules/postcss-prefix-selector": {
+			"version": "1.10.0",
+			"resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.10.0.tgz",
+			"integrity": "sha512-VcC/zCXVfFdGyn+Fo9+mxnxBu+hT61uMJJBdfWBbIeDrcE6g8s+26SUPTMpz8kc9wfoLpJGAZZ4QwbVqwxpNRA==",
+			"dev": true,
+			"dependencies": {
+				"postcss": "^8.2.10"
+			}
+		},
 		"node_modules/postcss-reduce-initial": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz",
@@ -10070,6 +10315,21 @@
 				}
 			]
 		},
+		"node_modules/postcss-svgo/node_modules/domhandler": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
+			"integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+			"dev": true,
+			"dependencies": {
+				"domelementtype": "^2.2.0"
+			},
+			"engines": {
+				"node": ">= 4"
+			},
+			"funding": {
+				"url": "https://github.com/fb55/domhandler?sponsor=1"
+			}
+		},
 		"node_modules/postcss-svgo/node_modules/domutils": {
 			"version": "2.7.0",
 			"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz",
@@ -10084,6 +10344,15 @@
 				"url": "https://github.com/fb55/domutils?sponsor=1"
 			}
 		},
+		"node_modules/postcss-svgo/node_modules/entities": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+			"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+			"dev": true,
+			"funding": {
+				"url": "https://github.com/fb55/entities?sponsor=1"
+			}
+		},
 		"node_modules/postcss-svgo/node_modules/has-flag": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -10231,6 +10500,59 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/posthtml": {
+			"version": "0.9.2",
+			"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz",
+			"integrity": "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=",
+			"dev": true,
+			"dependencies": {
+				"posthtml-parser": "^0.2.0",
+				"posthtml-render": "^1.0.5"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/posthtml-parser": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz",
+			"integrity": "sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=",
+			"dev": true,
+			"dependencies": {
+				"htmlparser2": "^3.8.3",
+				"isobject": "^2.1.0"
+			}
+		},
+		"node_modules/posthtml-rename-id": {
+			"version": "1.0.12",
+			"resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz",
+			"integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==",
+			"dev": true,
+			"dependencies": {
+				"escape-string-regexp": "1.0.5"
+			}
+		},
+		"node_modules/posthtml-render": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz",
+			"integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/posthtml-svg-mode": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz",
+			"integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==",
+			"dev": true,
+			"dependencies": {
+				"merge-options": "1.0.1",
+				"posthtml": "^0.9.2",
+				"posthtml-parser": "^0.2.1",
+				"posthtml-render": "^1.0.6"
+			}
+		},
 		"node_modules/prepend-http": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
@@ -10358,12 +10680,11 @@
 			}
 		},
 		"node_modules/query-string": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
-			"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+			"version": "4.3.4",
+			"resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+			"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
 			"dev": true,
 			"dependencies": {
-				"decode-uri-component": "^0.2.0",
 				"object-assign": "^4.1.0",
 				"strict-uri-encode": "^1.0.0"
 			},
@@ -10552,26 +10873,19 @@
 			}
 		},
 		"node_modules/readable-stream": {
-			"version": "2.3.7",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+			"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
 			"dev": true,
 			"dependencies": {
-				"core-util-is": "~1.0.0",
-				"inherits": "~2.0.3",
-				"isarray": "~1.0.0",
-				"process-nextick-args": "~2.0.0",
-				"safe-buffer": "~5.1.1",
-				"string_decoder": "~1.1.1",
-				"util-deprecate": "~1.0.1"
+				"inherits": "^2.0.3",
+				"string_decoder": "^1.1.1",
+				"util-deprecate": "^1.0.1"
+			},
+			"engines": {
+				"node": ">= 6"
 			}
 		},
-		"node_modules/readable-stream/node_modules/isarray": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-			"dev": true
-		},
 		"node_modules/readdirp": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -11456,6 +11770,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/snapdragon-node/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/snapdragon-util": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
@@ -12054,14 +12377,34 @@
 			}
 		},
 		"node_modules/string_decoder": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 			"dev": true,
 			"dependencies": {
-				"safe-buffer": "~5.1.0"
+				"safe-buffer": "~5.2.0"
 			}
 		},
+		"node_modules/string_decoder/node_modules/safe-buffer": {
+			"version": "5.2.1",
+			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+			"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/feross"
+				},
+				{
+					"type": "patreon",
+					"url": "https://www.patreon.com/feross"
+				},
+				{
+					"type": "consulting",
+					"url": "https://feross.org/support"
+				}
+			]
+		},
 		"node_modules/string-width": {
 			"version": "4.2.2",
 			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -12207,6 +12550,302 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/svg-baker": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz",
+			"integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==",
+			"dev": true,
+			"dependencies": {
+				"bluebird": "^3.5.0",
+				"clone": "^2.1.1",
+				"he": "^1.1.1",
+				"image-size": "^0.5.1",
+				"loader-utils": "^1.1.0",
+				"merge-options": "1.0.1",
+				"micromatch": "3.1.0",
+				"postcss": "^5.2.17",
+				"postcss-prefix-selector": "^1.6.0",
+				"posthtml-rename-id": "^1.0",
+				"posthtml-svg-mode": "^1.0.3",
+				"query-string": "^4.3.2",
+				"traverse": "^0.6.6"
+			}
+		},
+		"node_modules/svg-baker-runtime": {
+			"version": "1.4.7",
+			"resolved": "https://registry.npmjs.org/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz",
+			"integrity": "sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==",
+			"dev": true,
+			"dependencies": {
+				"deepmerge": "1.3.2",
+				"mitt": "1.1.2",
+				"svg-baker": "^1.7.0"
+			}
+		},
+		"node_modules/svg-baker-runtime/node_modules/mitt": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.2.tgz",
+			"integrity": "sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=",
+			"dev": true
+		},
+		"node_modules/svg-baker/node_modules/ansi-regex": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+			"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/ansi-styles": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+			"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/braces": {
+			"version": "2.3.2",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+			"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+			"dev": true,
+			"dependencies": {
+				"arr-flatten": "^1.1.0",
+				"array-unique": "^0.3.2",
+				"extend-shallow": "^2.0.1",
+				"fill-range": "^4.0.0",
+				"isobject": "^3.0.1",
+				"repeat-element": "^1.1.2",
+				"snapdragon": "^0.8.1",
+				"snapdragon-node": "^2.0.1",
+				"split-string": "^3.0.2",
+				"to-regex": "^3.0.1"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/chalk": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+			"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+			"dev": true,
+			"dependencies": {
+				"ansi-styles": "^2.2.1",
+				"escape-string-regexp": "^1.0.2",
+				"has-ansi": "^2.0.0",
+				"strip-ansi": "^3.0.0",
+				"supports-color": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/chalk/node_modules/supports-color": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+			"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.8.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/define-property": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+			"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+			"dev": true,
+			"dependencies": {
+				"is-descriptor": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/extend-shallow": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+			"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+			"dev": true,
+			"dependencies": {
+				"is-extendable": "^0.1.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/fill-range": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+			"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+			"dev": true,
+			"dependencies": {
+				"extend-shallow": "^2.0.1",
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1",
+				"to-regex-range": "^2.1.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/has-flag": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+			"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/is-extendable": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+			"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/is-number": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+			"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+			"dev": true,
+			"dependencies": {
+				"kind-of": "^3.0.2"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/is-number/node_modules/kind-of": {
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+			"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+			"dev": true,
+			"dependencies": {
+				"is-buffer": "^1.1.5"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/kind-of": {
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+			"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/micromatch": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz",
+			"integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==",
+			"dev": true,
+			"dependencies": {
+				"arr-diff": "^4.0.0",
+				"array-unique": "^0.3.2",
+				"braces": "^2.2.2",
+				"define-property": "^1.0.0",
+				"extend-shallow": "^2.0.1",
+				"extglob": "^2.0.2",
+				"fragment-cache": "^0.2.1",
+				"kind-of": "^5.0.2",
+				"nanomatch": "^1.2.1",
+				"object.pick": "^1.3.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/postcss": {
+			"version": "5.2.18",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+			"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+			"dev": true,
+			"dependencies": {
+				"chalk": "^1.1.3",
+				"js-base64": "^2.1.9",
+				"source-map": "^0.5.6",
+				"supports-color": "^3.2.3"
+			},
+			"engines": {
+				"node": ">=0.12"
+			}
+		},
+		"node_modules/svg-baker/node_modules/strip-ansi": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+			"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+			"dev": true,
+			"dependencies": {
+				"ansi-regex": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/supports-color": {
+			"version": "3.2.3",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+			"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+			"dev": true,
+			"dependencies": {
+				"has-flag": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=0.8.0"
+			}
+		},
+		"node_modules/svg-baker/node_modules/to-regex-range": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+			"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+			"dev": true,
+			"dependencies": {
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/svg-sprite-loader": {
+			"version": "6.0.9",
+			"resolved": "https://registry.npmjs.org/svg-sprite-loader/-/svg-sprite-loader-6.0.9.tgz",
+			"integrity": "sha512-V/F3iI1J/xWeO0cRXkEFvhujvBQ3deAPFlhip+AW00Hs+9gighu619mblucIWdRPmDMfcSWJD/ZuXf6HldIskw==",
+			"dev": true,
+			"dependencies": {
+				"bluebird": "^3.5.0",
+				"deepmerge": "1.3.2",
+				"domready": "1.0.8",
+				"escape-string-regexp": "1.0.5",
+				"loader-utils": "^1.1.0",
+				"svg-baker": "^1.5.0",
+				"svg-baker-runtime": "^1.4.7",
+				"url-slug": "2.0.0"
+			},
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/svgo": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@@ -12285,6 +12924,36 @@
 				"node": ">= 0.8.0"
 			}
 		},
+		"node_modules/tar-stream/node_modules/isarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
+		},
+		"node_modules/tar-stream/node_modules/readable-stream": {
+			"version": "2.3.7",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+			"dev": true,
+			"dependencies": {
+				"core-util-is": "~1.0.0",
+				"inherits": "~2.0.3",
+				"isarray": "~1.0.0",
+				"process-nextick-args": "~2.0.0",
+				"safe-buffer": "~5.1.1",
+				"string_decoder": "~1.1.1",
+				"util-deprecate": "~1.0.1"
+			}
+		},
+		"node_modules/tar-stream/node_modules/string_decoder": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+			"dev": true,
+			"dependencies": {
+				"safe-buffer": "~5.1.0"
+			}
+		},
 		"node_modules/temp-dir": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
@@ -12563,6 +13232,12 @@
 				"node": ">=0.6"
 			}
 		},
+		"node_modules/traverse": {
+			"version": "0.6.6",
+			"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
+			"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
+			"dev": true
+		},
 		"node_modules/tree-kill": {
 			"version": "1.2.2",
 			"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -12695,6 +13370,15 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/unidecode": {
+			"version": "0.1.8",
+			"resolved": "https://registry.npmjs.org/unidecode/-/unidecode-0.1.8.tgz",
+			"integrity": "sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4.12"
+			}
+		},
 		"node_modules/union-value": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -12803,6 +13487,15 @@
 			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
 			"dev": true
 		},
+		"node_modules/unset-value/node_modules/isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true,
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/uri-js": {
 			"version": "4.4.1",
 			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -12843,6 +13536,15 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/url-slug": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/url-slug/-/url-slug-2.0.0.tgz",
+			"integrity": "sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=",
+			"dev": true,
+			"dependencies": {
+				"unidecode": "0.1.8"
+			}
+		},
 		"node_modules/url-to-options": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
@@ -15250,6 +15952,12 @@
 					"requires": {
 						"is-descriptor": "^1.0.0"
 					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
 				}
 			}
 		},
@@ -15563,6 +16271,38 @@
 			"requires": {
 				"readable-stream": "^2.3.5",
 				"safe-buffer": "^5.1.1"
+			},
+			"dependencies": {
+				"isarray": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+					"dev": true
+				},
+				"readable-stream": {
+					"version": "2.3.7",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+					"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
 			}
 		},
 		"blob": {
@@ -15571,6 +16311,12 @@
 			"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
 			"dev": true
 		},
+		"bluebird": {
+			"version": "3.7.2",
+			"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+			"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+			"dev": true
+		},
 		"boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -15768,6 +16514,14 @@
 				"to-object-path": "^0.3.0",
 				"union-value": "^1.0.0",
 				"unset-value": "^1.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"cacheable-request": {
@@ -15808,6 +16562,17 @@
 					"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
 					"dev": true
 				},
+				"query-string": {
+					"version": "5.1.1",
+					"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+					"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+					"dev": true,
+					"requires": {
+						"decode-uri-component": "^0.2.0",
+						"object-assign": "^4.1.0",
+						"strict-uri-encode": "^1.0.0"
+					}
+				},
 				"sort-keys": {
 					"version": "2.0.0",
 					"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
@@ -15990,6 +16755,12 @@
 						"kind-of": "^5.0.0"
 					}
 				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
 				"kind-of": {
 					"version": "5.1.0",
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
@@ -16009,6 +16780,12 @@
 				"wrap-ansi": "^6.2.0"
 			}
 		},
+		"clone": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+			"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+			"dev": true
+		},
 		"clone-deep": {
 			"version": "4.0.1",
 			"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -16934,6 +17711,12 @@
 				}
 			}
 		},
+		"deepmerge": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz",
+			"integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=",
+			"dev": true
+		},
 		"define-properties": {
 			"version": "1.1.3",
 			"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -16951,6 +17734,14 @@
 			"requires": {
 				"is-descriptor": "^1.0.2",
 				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"defined": {
@@ -17015,6 +17806,12 @@
 					"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
 					"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
 					"dev": true
+				},
+				"entities": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+					"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+					"dev": true
 				}
 			}
 		},
@@ -17025,22 +17822,20 @@
 			"dev": true
 		},
 		"domhandler": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
-			"integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+			"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
 			"dev": true,
 			"requires": {
-				"domelementtype": "^2.2.0"
-			},
-			"dependencies": {
-				"domelementtype": {
-					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
-					"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
-					"dev": true
-				}
+				"domelementtype": "1"
 			}
 		},
+		"domready": {
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz",
+			"integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=",
+			"dev": true
+		},
 		"domutils": {
 			"version": "1.7.0",
 			"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
@@ -17240,9 +18035,9 @@
 			}
 		},
 		"entities": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
-			"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+			"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
 			"dev": true
 		},
 		"envinfo": {
@@ -17912,6 +18707,38 @@
 			"requires": {
 				"inherits": "^2.0.1",
 				"readable-stream": "^2.0.0"
+			},
+			"dependencies": {
+				"isarray": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+					"dev": true
+				},
+				"readable-stream": {
+					"version": "2.3.7",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+					"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
 			}
 		},
 		"fs-constants": {
@@ -18246,6 +19073,14 @@
 				"get-value": "^2.0.6",
 				"has-values": "^1.0.0",
 				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"has-values": {
@@ -18289,6 +19124,12 @@
 				}
 			}
 		},
+		"he": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+			"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+			"dev": true
+		},
 		"hex-color-regex": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
@@ -18313,6 +19154,20 @@
 			"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
 			"dev": true
 		},
+		"htmlparser2": {
+			"version": "3.10.1",
+			"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+			"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+			"dev": true,
+			"requires": {
+				"domelementtype": "^1.3.1",
+				"domhandler": "^2.3.0",
+				"domutils": "^1.5.1",
+				"entities": "^1.1.1",
+				"inherits": "^2.0.1",
+				"readable-stream": "^3.1.1"
+			}
+		},
 		"http-cache-semantics": {
 			"version": "3.8.1",
 			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
@@ -18384,6 +19239,12 @@
 			"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
 			"dev": true
 		},
+		"image-size": {
+			"version": "0.5.5",
+			"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+			"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+			"dev": true
+		},
 		"imagemin": {
 			"version": "6.1.0",
 			"resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz",
@@ -18565,6 +19426,12 @@
 						}
 					}
 				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
 				"make-dir": {
 					"version": "1.3.0",
 					"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
@@ -19089,6 +19956,14 @@
 			"dev": true,
 			"requires": {
 				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"is-png": {
@@ -19188,10 +20063,21 @@
 			"dev": true
 		},
 		"isobject": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-			"dev": true
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+			"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+			"dev": true,
+			"requires": {
+				"isarray": "1.0.0"
+			},
+			"dependencies": {
+				"isarray": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+					"dev": true
+				}
+			}
 		},
 		"isurl": {
 			"version": "1.0.0",
@@ -19242,6 +20128,12 @@
 				"logalot": "^2.0.0"
 			}
 		},
+		"js-base64": {
+			"version": "2.6.4",
+			"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+			"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+			"dev": true
+		},
 		"js-tokens": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -19642,6 +20534,15 @@
 				"trim-newlines": "^1.0.0"
 			}
 		},
+		"merge-options": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz",
+			"integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==",
+			"dev": true,
+			"requires": {
+				"is-plain-obj": "^1.1"
+			}
+		},
 		"merge-stream": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -19997,6 +20898,14 @@
 			"dev": true,
 			"requires": {
 				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"object.assign": {
@@ -20029,6 +20938,14 @@
 			"dev": true,
 			"requires": {
 				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
 			}
 		},
 		"object.values": {
@@ -20809,6 +21726,15 @@
 				"postcss-value-parser": "^4.1.0"
 			}
 		},
+		"postcss-prefix-selector": {
+			"version": "1.10.0",
+			"resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.10.0.tgz",
+			"integrity": "sha512-VcC/zCXVfFdGyn+Fo9+mxnxBu+hT61uMJJBdfWBbIeDrcE6g8s+26SUPTMpz8kc9wfoLpJGAZZ4QwbVqwxpNRA==",
+			"dev": true,
+			"requires": {
+				"postcss": "^8.2.10"
+			}
+		},
 		"postcss-reduce-initial": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz",
@@ -20943,6 +21869,15 @@
 					"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
 					"dev": true
 				},
+				"domhandler": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
+					"integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+					"dev": true,
+					"requires": {
+						"domelementtype": "^2.2.0"
+					}
+				},
 				"domutils": {
 					"version": "2.7.0",
 					"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz",
@@ -20954,6 +21889,12 @@
 						"domhandler": "^4.2.0"
 					}
 				},
+				"entities": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+					"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+					"dev": true
+				},
 				"has-flag": {
 					"version": "4.0.0",
 					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -21065,6 +22006,53 @@
 				}
 			}
 		},
+		"posthtml": {
+			"version": "0.9.2",
+			"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz",
+			"integrity": "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=",
+			"dev": true,
+			"requires": {
+				"posthtml-parser": "^0.2.0",
+				"posthtml-render": "^1.0.5"
+			}
+		},
+		"posthtml-parser": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz",
+			"integrity": "sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=",
+			"dev": true,
+			"requires": {
+				"htmlparser2": "^3.8.3",
+				"isobject": "^2.1.0"
+			}
+		},
+		"posthtml-rename-id": {
+			"version": "1.0.12",
+			"resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz",
+			"integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==",
+			"dev": true,
+			"requires": {
+				"escape-string-regexp": "1.0.5"
+			}
+		},
+		"posthtml-render": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz",
+			"integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==",
+			"dev": true
+		},
+		"posthtml-svg-mode": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz",
+			"integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==",
+			"dev": true,
+			"requires": {
+				"merge-options": "1.0.1",
+				"posthtml": "^0.9.2",
+				"posthtml-parser": "^0.2.1",
+				"posthtml-render": "^1.0.6"
+			}
+		},
 		"prepend-http": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
@@ -21162,12 +22150,11 @@
 			"dev": true
 		},
 		"query-string": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
-			"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+			"version": "4.3.4",
+			"resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+			"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
 			"dev": true,
 			"requires": {
-				"decode-uri-component": "^0.2.0",
 				"object-assign": "^4.1.0",
 				"strict-uri-encode": "^1.0.0"
 			}
@@ -21309,26 +22296,14 @@
 			}
 		},
 		"readable-stream": {
-			"version": "2.3.7",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+			"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
 			"dev": true,
 			"requires": {
-				"core-util-is": "~1.0.0",
-				"inherits": "~2.0.3",
-				"isarray": "~1.0.0",
-				"process-nextick-args": "~2.0.0",
-				"safe-buffer": "~5.1.1",
-				"string_decoder": "~1.1.1",
-				"util-deprecate": "~1.0.1"
-			},
-			"dependencies": {
-				"isarray": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-					"dev": true
-				}
+				"inherits": "^2.0.3",
+				"string_decoder": "^1.1.1",
+				"util-deprecate": "^1.0.1"
 			}
 		},
 		"readdirp": {
@@ -22134,6 +23109,12 @@
 					"requires": {
 						"is-descriptor": "^1.0.0"
 					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
 				}
 			}
 		},
@@ -22556,12 +23537,20 @@
 			"dev": true
 		},
 		"string_decoder": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 			"dev": true,
 			"requires": {
-				"safe-buffer": "~5.1.0"
+				"safe-buffer": "~5.2.0"
+			},
+			"dependencies": {
+				"safe-buffer": {
+					"version": "5.2.1",
+					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+					"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+					"dev": true
+				}
 			}
 		},
 		"string-width": {
@@ -22670,6 +23659,250 @@
 				"has-flag": "^3.0.0"
 			}
 		},
+		"svg-baker": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz",
+			"integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==",
+			"dev": true,
+			"requires": {
+				"bluebird": "^3.5.0",
+				"clone": "^2.1.1",
+				"he": "^1.1.1",
+				"image-size": "^0.5.1",
+				"loader-utils": "^1.1.0",
+				"merge-options": "1.0.1",
+				"micromatch": "3.1.0",
+				"postcss": "^5.2.17",
+				"postcss-prefix-selector": "^1.6.0",
+				"posthtml-rename-id": "^1.0",
+				"posthtml-svg-mode": "^1.0.3",
+				"query-string": "^4.3.2",
+				"traverse": "^0.6.6"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"ansi-styles": {
+					"version": "2.2.1",
+					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+					"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+					"dev": true
+				},
+				"braces": {
+					"version": "2.3.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+					"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+					"dev": true,
+					"requires": {
+						"arr-flatten": "^1.1.0",
+						"array-unique": "^0.3.2",
+						"extend-shallow": "^2.0.1",
+						"fill-range": "^4.0.0",
+						"isobject": "^3.0.1",
+						"repeat-element": "^1.1.2",
+						"snapdragon": "^0.8.1",
+						"snapdragon-node": "^2.0.1",
+						"split-string": "^3.0.2",
+						"to-regex": "^3.0.1"
+					}
+				},
+				"chalk": {
+					"version": "1.1.3",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+					"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+					"dev": true,
+					"requires": {
+						"ansi-styles": "^2.2.1",
+						"escape-string-regexp": "^1.0.2",
+						"has-ansi": "^2.0.0",
+						"strip-ansi": "^3.0.0",
+						"supports-color": "^2.0.0"
+					},
+					"dependencies": {
+						"supports-color": {
+							"version": "2.0.0",
+							"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+							"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+							"dev": true
+						}
+					}
+				},
+				"define-property": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^1.0.0"
+					}
+				},
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"fill-range": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1",
+						"to-regex-range": "^2.1.0"
+					}
+				},
+				"has-flag": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+					"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+					"dev": true
+				},
+				"is-extendable": {
+					"version": "0.1.1",
+					"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+					"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+					"dev": true
+				},
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "3.2.2",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+							"dev": true,
+							"requires": {
+								"is-buffer": "^1.1.5"
+							}
+						}
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+					"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz",
+					"integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==",
+					"dev": true,
+					"requires": {
+						"arr-diff": "^4.0.0",
+						"array-unique": "^0.3.2",
+						"braces": "^2.2.2",
+						"define-property": "^1.0.0",
+						"extend-shallow": "^2.0.1",
+						"extglob": "^2.0.2",
+						"fragment-cache": "^0.2.1",
+						"kind-of": "^5.0.2",
+						"nanomatch": "^1.2.1",
+						"object.pick": "^1.3.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					}
+				},
+				"postcss": {
+					"version": "5.2.18",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+					"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+					"dev": true,
+					"requires": {
+						"chalk": "^1.1.3",
+						"js-base64": "^2.1.9",
+						"source-map": "^0.5.6",
+						"supports-color": "^3.2.3"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"supports-color": {
+					"version": "3.2.3",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+					"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+					"dev": true,
+					"requires": {
+						"has-flag": "^1.0.0"
+					}
+				},
+				"to-regex-range": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+					"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+					"dev": true,
+					"requires": {
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1"
+					}
+				}
+			}
+		},
+		"svg-baker-runtime": {
+			"version": "1.4.7",
+			"resolved": "https://registry.npmjs.org/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz",
+			"integrity": "sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==",
+			"dev": true,
+			"requires": {
+				"deepmerge": "1.3.2",
+				"mitt": "1.1.2",
+				"svg-baker": "^1.7.0"
+			},
+			"dependencies": {
+				"mitt": {
+					"version": "1.1.2",
+					"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.2.tgz",
+					"integrity": "sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=",
+					"dev": true
+				}
+			}
+		},
+		"svg-sprite-loader": {
+			"version": "6.0.9",
+			"resolved": "https://registry.npmjs.org/svg-sprite-loader/-/svg-sprite-loader-6.0.9.tgz",
+			"integrity": "sha512-V/F3iI1J/xWeO0cRXkEFvhujvBQ3deAPFlhip+AW00Hs+9gighu619mblucIWdRPmDMfcSWJD/ZuXf6HldIskw==",
+			"dev": true,
+			"requires": {
+				"bluebird": "^3.5.0",
+				"deepmerge": "1.3.2",
+				"domready": "1.0.8",
+				"escape-string-regexp": "1.0.5",
+				"loader-utils": "^1.1.0",
+				"svg-baker": "^1.5.0",
+				"svg-baker-runtime": "^1.4.7",
+				"url-slug": "2.0.0"
+			}
+		},
 		"svgo": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@@ -22730,6 +23963,38 @@
 				"readable-stream": "^2.3.0",
 				"to-buffer": "^1.1.1",
 				"xtend": "^4.0.0"
+			},
+			"dependencies": {
+				"isarray": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+					"dev": true
+				},
+				"readable-stream": {
+					"version": "2.3.7",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+					"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
 			}
 		},
 		"temp-dir": {
@@ -22944,6 +24209,12 @@
 			"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
 			"dev": true
 		},
+		"traverse": {
+			"version": "0.6.6",
+			"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
+			"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
+			"dev": true
+		},
 		"tree-kill": {
 			"version": "1.2.2",
 			"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -23036,6 +24307,12 @@
 			"integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
 			"dev": true
 		},
+		"unidecode": {
+			"version": "0.1.8",
+			"resolved": "https://registry.npmjs.org/unidecode/-/unidecode-0.1.8.tgz",
+			"integrity": "sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=",
+			"dev": true
+		},
 		"union-value": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -23123,6 +24400,12 @@
 					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
 					"dev": true
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
 				}
 			}
 		},
@@ -23159,6 +24442,15 @@
 				"tlds": "^1.203.0"
 			}
 		},
+		"url-slug": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/url-slug/-/url-slug-2.0.0.tgz",
+			"integrity": "sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=",
+			"dev": true,
+			"requires": {
+				"unidecode": "0.1.8"
+			}
+		},
 		"url-to-options": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
diff --git a/package.json b/package.json
index 89646e5..d92c064 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
     "postcss-scss": "^3.0.4",
     "sass": "^1.x",
     "sass-loader": "^12.x",
+    "svg-sprite-loader": "^6.x",
     "webpack": "^5.x",
     "webpack-cli": "^4.x"
 	},
diff --git a/webpack.config.js b/webpack.config.js
index 9a6c640..2cc8b53 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -3,6 +3,7 @@ const path                 = require('path');
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
 const CopyWebpackPlugin    = require('copy-webpack-plugin');
+const SpriteLoaderPlugin = require("svg-sprite-loader/plugin");
 
 const ImageminPlugin       = require('imagemin-webpack-plugin').default;
 const BrowserSyncPlugin    = require('browser-sync-webpack-plugin');
@@ -90,6 +91,30 @@ const config = {
           },
         ],
       },
+      {
+        test: /\.svg$/,
+        loader: "svg-sprite-loader",
+        options: {
+          extract: true,
+          spriteFilename: "icons.svg",
+          publicPath: "./images/",
+          symbolId: (filePath) => {
+            if (filePath.includes("bootstrap-icons")) {
+              return `bi-${path.basename(filePath).slice(0, -4)}`;
+            } else if (filePath.includes("@mdi")) {
+              return `mdi-${path.basename(filePath).slice(0, -4)}`;
+            } else if (filePath.includes("heroicons")) {
+              if (filePath.includes("outline")) {
+                return `hio-${path.basename(filePath).slice(0, -4)}`;
+              } else {
+                return `his-${path.basename(filePath).slice(0, -4)}`;
+              }
+            } else {
+              return `${path.basename(filePath).slice(0, -4)}`;
+            }
+          },
+        },
+      },
     ]
 	},
 	optimization: {
@@ -104,6 +129,7 @@ const config = {
 	},
 	plugins: [
 		new MiniCssExtractPlugin({ filename: `[name]${prefix}.css` }),
+    new SpriteLoaderPlugin({ plainSprite: true }),
 		new CopyWebpackPlugin({
 			patterns: [{
                         	from: './assets/images/',
@@ -115,7 +141,7 @@ const config = {
 				}
 			}]
 		}),
-		new ImageminPlugin({ test: /\.(jpe?g|png|gif|svg)$/i })
+		new ImageminPlugin({ test: /\.(jpe?g|png|gif)$/i })
 	]
 }