From e7673461ca8a75f37f8f4d6054d2bfcff84741bd Mon Sep 17 00:00:00 2001 From: AlxMedia Date: Thu, 8 Sep 2022 20:10:51 +0200 Subject: [PATCH] Initial commit --- 404.php | 11 + archive.php | 21 + comments.php | 61 + content.php | 17 + dark.css | 302 + fonts/all.css | 4619 +++++++++ fonts/all.min.css | 5 + fonts/fa-brands-400.eot | Bin 0 -> 136822 bytes fonts/fa-brands-400.svg | 3717 ++++++++ fonts/fa-brands-400.ttf | Bin 0 -> 136516 bytes fonts/fa-brands-400.woff | Bin 0 -> 92136 bytes fonts/fa-brands-400.woff2 | Bin 0 -> 78472 bytes fonts/fa-regular-400.eot | Bin 0 -> 34350 bytes fonts/fa-regular-400.svg | 801 ++ fonts/fa-regular-400.ttf | Bin 0 -> 34052 bytes fonts/fa-regular-400.woff | Bin 0 -> 16776 bytes fonts/fa-regular-400.woff2 | Bin 0 -> 13588 bytes fonts/fa-solid-900.eot | Bin 0 -> 204814 bytes fonts/fa-solid-900.svg | 5028 ++++++++++ fonts/fa-solid-900.ttf | Bin 0 -> 204528 bytes fonts/fa-solid-900.woff | Bin 0 -> 104280 bytes fonts/fa-solid-900.woff2 | Bin 0 -> 80252 bytes fonts/titillium-light-webfont.eot | Bin 0 -> 21236 bytes fonts/titillium-light-webfont.svg | 240 + fonts/titillium-light-webfont.ttf | Bin 0 -> 42728 bytes fonts/titillium-light-webfont.woff | Bin 0 -> 24712 bytes fonts/titillium-lightitalic-webfont.eot | Bin 0 -> 22955 bytes fonts/titillium-lightitalic-webfont.svg | 240 + fonts/titillium-lightitalic-webfont.ttf | Bin 0 -> 48716 bytes fonts/titillium-lightitalic-webfont.woff | Bin 0 -> 26760 bytes fonts/titillium-regular-webfont.eot | Bin 0 -> 21232 bytes fonts/titillium-regular-webfont.svg | 240 + fonts/titillium-regular-webfont.ttf | Bin 0 -> 42248 bytes fonts/titillium-regular-webfont.woff | Bin 0 -> 24696 bytes fonts/titillium-regularitalic-webfont.eot | Bin 0 -> 22813 bytes fonts/titillium-regularitalic-webfont.svg | 240 + fonts/titillium-regularitalic-webfont.ttf | Bin 0 -> 47636 bytes fonts/titillium-regularitalic-webfont.woff | Bin 0 -> 26588 bytes fonts/titillium-semibold-webfont.eot | Bin 0 -> 21238 bytes fonts/titillium-semibold-webfont.svg | 240 + fonts/titillium-semibold-webfont.ttf | Bin 0 -> 41984 bytes fonts/titillium-semibold-webfont.woff | Bin 0 -> 24732 bytes footer.php | 90 + functions.php | 729 ++ functions/class-tgm-plugin-activation.php | 3760 ++++++++ functions/dynamic-styles.php | 176 + functions/images/col-1c.png | Bin 0 -> 138 bytes functions/images/col-2cl.png | Bin 0 -> 187 bytes functions/images/col-2cr.png | Bin 0 -> 190 bytes functions/images/col-3cl.png | Bin 0 -> 198 bytes functions/images/col-3cm.png | Bin 0 -> 179 bytes functions/images/col-3cr.png | Bin 0 -> 137 bytes functions/images/footer-widgets-0.png | Bin 0 -> 138 bytes functions/images/footer-widgets-1.png | Bin 0 -> 139 bytes functions/images/footer-widgets-2.png | Bin 0 -> 148 bytes functions/images/footer-widgets-3.png | Bin 0 -> 146 bytes functions/images/footer-widgets-4.png | Bin 0 -> 144 bytes functions/images/layout-off.png | Bin 0 -> 630 bytes functions/kirki/CHANGELOG.md | 1487 +++ functions/kirki/LICENSE | 21 + functions/kirki/README.md | 91 + functions/kirki/assets/images/1c.png | Bin 0 -> 786 bytes functions/kirki/assets/images/2cl.png | Bin 0 -> 866 bytes functions/kirki/assets/images/2cr.png | Bin 0 -> 869 bytes functions/kirki/assets/images/3cl.png | Bin 0 -> 929 bytes functions/kirki/assets/images/3cm.png | Bin 0 -> 932 bytes functions/kirki/assets/images/3cr.png | Bin 0 -> 935 bytes .../images/jquery.fs.stepper-arrows.png | Bin 0 -> 306 bytes .../kirki/assets/images/kirki-bottom.png | Bin 0 -> 1549 bytes .../kirki/assets/images/kirki-bottom.svg | 91 + functions/kirki/example.php | 1329 +++ functions/kirki/inc/bootstrap.php | 17 + functions/kirki/kirki.php | 97 + functions/kirki/lib/class-aricolor.php | 982 ++ functions/kirki/lib/class-kirki-color.php | 342 + functions/kirki/packages/autoload.php | 12 + .../kirki/packages/composer/ClassLoader.php | 572 ++ .../packages/composer/InstalledVersions.php | 352 + functions/kirki/packages/composer/LICENSE | 21 + .../packages/composer/autoload_classmap.php | 10 + .../packages/composer/autoload_namespaces.php | 9 + .../kirki/packages/composer/autoload_psr4.php | 19 + .../kirki/packages/composer/autoload_real.php | 42 + .../packages/composer/autoload_static.php | 150 + .../kirki/packages/composer/include_paths.php | 11 + .../kirki/packages/composer/installed.php | 511 + .../packages/composer/platform_check.php | 26 + .../kirki-framework/compatibility/LICENSE | 21 + .../compatibility/src/Aliases.php | 184 + .../compatibility/src/Config.php | 179 + .../compatibility/src/Control.php | 129 + .../compatibility/src/Deprecated.php | 32 + .../compatibility/src/Field.php | 677 ++ .../compatibility/src/Framework.php | 47 + .../compatibility/src/Init.php | 310 + .../compatibility/src/Kirki.php | 304 + .../compatibility/src/Modules.php | 160 + .../compatibility/src/Sanitize_Values.php | 209 + .../compatibility/src/Scripts.php | 58 + .../compatibility/src/Settings.php | 157 + .../compatibility/src/Values.php | 124 + .../compatibility/src/deprecated/classes.php | 35 + .../compatibility/src/deprecated/filters.php | 112 + .../src/deprecated/functions.php | 57 + .../compatibility/src/scripts/hooks.js | 623 ++ .../compatibility/src/scripts/i18n.js | 1140 +++ .../compatibility/src/scripts/wp-polyfill.js | 6953 ++++++++++++++ .../kirki-framework/control-base/LICENSE | 21 + .../kirki-framework/control-base/README.md | 5 + .../control-base/dist/control.css | 2 + .../control-base/dist/control.js | 2 + .../control-base/src/Control/Base.php | 347 + .../control-base/src/control.js | 2 + .../control-base/src/dynamic-control.js | 289 + .../control-checkbox/dist/control.css | 2 + .../control-checkbox/dist/control.js | 2 + .../control-checkbox/src/Control/Checkbox.php | 90 + .../src/Control/Checkbox_Switch.php | 134 + .../src/Control/Checkbox_Toggle.php | 34 + .../control-checkbox/src/Field/Checkbox.php | 99 + .../src/Field/Checkbox_Switch.php | 57 + .../src/Field/Checkbox_Toggle.php | 55 + .../kirki-framework/control-code/LICENSE | 21 + .../kirki-framework/control-code/README.md | 14 + .../control-code/src/Control/Code.php | 125 + .../control-code/src/Field/Code.php | 140 + .../control-color-palette/.babelrc | 10 + .../control-color-palette/README.md | 98 + .../control-color-palette/dist/control.css | 2 + .../control-color-palette/dist/control.js | 2 + .../src/Control/Color_Palette.php | 123 + .../src/Field/Color_Palette.php | 147 + .../src/KirkiColorPaletteControl.js | 128 + .../src/KirkiColorPaletteForm.js | 78 + .../control-color-palette/src/control.js | 6 + .../control-color-palette/webpack.config.js | 41 + .../kirki-framework/control-color/LICENSE | 21 + .../control-color/src/Field/Color.php | 23 + .../control-cropped-image/LICENSE | 21 + .../control-cropped-image/README.md | 1 + .../src/Cropped_Image.php | 28 + .../kirki-framework/control-custom/LICENSE | 21 + .../kirki-framework/control-custom/README.md | 55 + .../control-custom/src/Control/Custom.php | 64 + .../control-custom/src/Field/Custom.php | 84 + .../kirki-framework/control-dashicons/LICENSE | 21 + .../control-dashicons/README.md | 55 + .../control-dashicons/dist/control.css | 2 + .../control-dashicons/dist/control.js | 2 + .../src/Control/Dashicons.php | 140 + .../control-dashicons/src/Field/Dashicons.php | 84 + .../control-dashicons/src/Util/Dashicons.php | 47 + .../control-dashicons/src/control.js | 3 + .../kirki-framework/control-date/LICENSE | 21 + .../kirki-framework/control-date/README.md | 55 + .../control-date/dist/control.css | 2 + .../control-date/dist/control.js | 2 + .../control-date/src/Control/Date.php | 82 + .../control-date/src/Field/Date.php | 86 + .../control-date/src/control.js | 39 + .../kirki-framework/control-dimension/LICENSE | 21 + .../control-dimension/README.md | 55 + .../control-dimension/dist/control.css | 2 + .../control-dimension/dist/control.js | 2 + .../src/Control/Dimension.php | 159 + .../control-dimension/src/Field/Dimension.php | 84 + .../control-dimension/src/control.js | 91 + .../kirki-framework/control-editor/LICENSE | 21 + .../kirki-framework/control-editor/README.md | 54 + .../control-editor/dist/control.css | 2 + .../control-editor/dist/control.js | 2 + .../control-editor/src/Control/Editor.php | 107 + .../control-editor/src/Field/Editor.php | 84 + .../control-editor/src/control.js | 37 + .../kirki-framework/control-generic/LICENSE | 21 + .../kirki-framework/control-generic/README.md | 61 + .../control-generic/dist/control.js | 2 + .../control-generic/src/Control/Generic.php | 110 + .../control-generic/src/Field/Generic.php | 98 + .../control-generic/src/Field/Number.php | 110 + .../control-generic/src/Field/Text.php | 73 + .../control-generic/src/Field/Textarea.php | 50 + .../control-generic/src/Field/URL.php | 49 + .../control-generic/src/control.js | 28 + .../kirki-framework/control-image/LICENSE | 21 + .../kirki-framework/control-image/README.md | 58 + .../control-image/dist/control.js | 2 + .../control-image/src/Control/Image.php | 94 + .../control-image/src/Field/CSS/Image.php | 54 + .../control-image/src/Field/Image.php | 166 + .../control-image/src/control.js | 128 + .../control-multicheck/LICENSE | 21 + .../control-multicheck/README.md | 62 + .../control-multicheck/dist/control.css | 2 + .../control-multicheck/dist/control.js | 2 + .../src/Control/Multicheck.php | 93 + .../src/Field/Multicheck.php | 100 + .../control-multicheck/src/control.js | 28 + .../kirki-framework/control-palette/LICENSE | 21 + .../kirki-framework/control-palette/README.md | 58 + .../control-palette/dist/control.css | 2 + .../control-palette/dist/control.js | 2 + .../control-palette/src/Control/Palette.php | 100 + .../control-palette/src/Field/Palette.php | 54 + .../control-palette/src/control.js | 3 + .../kirki-framework/control-radio/LICENSE | 21 + .../kirki-framework/control-radio/README.md | 99 + .../control-radio/dist/control.css | 2 + .../control-radio/dist/control.js | 2 + .../control-radio/src/Control/Radio.php | 97 + .../src/Control/Radio_Buttonset.php | 75 + .../control-radio/src/Control/Radio_Image.php | 105 + .../control-radio/src/Field/Radio.php | 91 + .../src/Field/Radio_Buttonset.php | 54 + .../control-radio/src/Field/Radio_Image.php | 54 + .../control-radio/src/control.js | 5 + .../control-react-colorful/.prettierignore | 1 + .../control-react-colorful/dist/control.css | 2 + .../control-react-colorful/dist/control.js | 2 + .../control-react-colorful/dist/preview.js | 2 + .../src/Control/ReactColorful.php | 209 + .../src/Field/CSS/ReactColorful.php | 85 + .../src/Field/ReactColorful.php | 298 + .../js/components/KirkiReactColorfulCircle.js | 49 + .../js/components/KirkiReactColorfulInput.js | 93 + .../components/KirkiReactColorfulSwatches.js | 22 + .../src/js/hooks/useClickOutside.js | 45 + .../src/js/hooks/useFocusOutside.js | 23 + .../src/js/hooks/useWindowResize.js | 17 + .../src/js/utils/convertColorForCustomizer.js | 153 + .../src/js/utils/convertColorForInput.js | 182 + .../src/js/utils/convertColorForPicker.js | 106 + .../src/js/utils/util.js | 0 .../control-react-select/dist/control.css | 3 + .../control-react-select/dist/control.js | 3 + .../dist/control.js.LICENSE.txt | 8 + .../src/Control/ReactSelect.php | 174 + .../src/Field/ReactSelect.php | 201 + .../kirki-framework/control-repeater/LICENSE | 21 + .../control-repeater/README.md | 98 + .../control-repeater/dist/control.css | 2 + .../control-repeater/dist/control.js | 2 + .../dist/wp-color-picker-alpha.min.js | 11 + .../control-repeater/src/Control/Repeater.php | 552 ++ .../control-repeater/src/Field/Repeater.php | 202 + .../src/Settings/Repeater.php | 79 + .../control-repeater/src/control.js | 931 ++ .../kirki-framework/control-select/README.md | 99 + .../src/Field/Dropdown_Pages.php | 40 + .../control-select/src/Field/Preset.php | 41 + .../control-select/src/Field/Select.php | 18 + .../kirki-framework/control-slider/.babelrc | 3 + .../kirki-framework/control-slider/README.md | 105 + .../control-slider/dist/control.css | 3 + .../control-slider/dist/control.js | 2 + .../control-slider/src/Control/Slider.php | 111 + .../control-slider/src/Field/Slider.php | 92 + .../control-slider/src/KirkiSliderControl.js | 128 + .../control-slider/src/KirkiSliderForm.js | 104 + .../control-slider/src/control.js | 6 + .../control-slider/webpack.config.js | 41 + .../kirki-framework/control-sortable/LICENSE | 21 + .../control-sortable/README.md | 69 + .../control-sortable/dist/control.css | 2 + .../control-sortable/dist/control.js | 2 + .../control-sortable/src/Control/Sortable.php | 102 + .../control-sortable/src/Field/Sortable.php | 104 + .../control-sortable/src/control.js | 46 + .../kirki-framework/control-upload/LICENSE | 21 + .../kirki-framework/control-upload/README.md | 55 + .../control-upload/src/Control/Upload.php | 72 + .../control-upload/src/Field/Upload.php | 152 + .../kirki-framework/data-option/LICENSE | 21 + .../kirki-framework/data-option/README.md | 1 + .../data-option/src/Option.php | 181 + .../kirki-framework/field-background/LICENSE | 21 + .../field-background/README.md | 16 + .../field-background/src/Background.php | 467 + .../field-background/src/CSS/Background.php | 51 + .../field-background/src/script.js | 53 + .../kirki-framework/field-dimensions/LICENSE | 21 + .../field-dimensions/README.md | 58 + .../field-dimensions/dist/control.css | 2 + .../field-dimensions/dist/preview.js | 2 + .../field-dimensions/src/CSS/Dimensions.php | 60 + .../field-dimensions/src/Dimensions.php | 267 + .../field-dimensions/src/preview.js | 53 + .../kirki-framework/field-fontawesome/LICENSE | 21 + .../field-fontawesome/README.md | 16 + .../src/Field/FontAwesome.php | 48 + .../src/Field/fontawesome.json | 8315 +++++++++++++++++ .../kirki-framework/field-multicolor/LICENSE | 21 + .../field-multicolor/README.md | 65 + .../src/Field/CSS/Multicolor.php | 58 + .../field-multicolor/src/Field/Multicolor.php | 259 + .../kirki-framework/field-typography/LICENSE | 21 + .../field-typography/dist/control.css | 2 + .../field-typography/dist/control.js | 2 + .../field-typography/dist/preview.js | 2 + .../src/Field/CSS/Typography.php | 95 + .../field-typography/src/Field/Typography.php | 1016 ++ .../field-typography/src/control.js | 105 + .../field-typography/src/preview.js | 92 + .../packages/kirki-framework/field/LICENSE | 21 + .../kirki-framework/field/src/Field.php | 272 + .../kirki-framework/field/src/Field/None.php | 20 + .../googlefonts/src/GoogleFonts.php | 187 + .../googlefonts/src/webfont-files.json | 1 + .../googlefonts/src/webfont-names.json | 1 + .../googlefonts/src/webfonts.json | 1 + .../packages/kirki-framework/l10n/LICENSE | 21 + .../packages/kirki-framework/l10n/README.md | 2 + .../kirki-framework/l10n/src/L10n.php | 163 + .../kirki-framework/module-css/LICENSE | 21 + .../kirki-framework/module-css/README.md | 2 + .../kirki-framework/module-css/src/CSS.php | 462 + .../module-css/src/CSS/Generator.php | 286 + .../module-css/src/CSS/Output.php | 377 + .../module-css/src/CSS/Property.php | 66 + .../src/CSS/Property/Background_Image.php | 41 + .../src/CSS/Property/Background_Position.php | 75 + .../src/CSS/Property/Font_Family.php | 47 + .../module-editor-styles/LICENSE | 21 + .../src/Editor_Styles.php | 205 + .../module-field-dependencies/dist/control.js | 2 + .../src/Field_Dependencies.php | 109 + .../module-field-dependencies/src/control.js | 323 + .../kirki-framework/module-panels/LICENSE | 21 + .../module-panels/src/Panel.php | 135 + .../module-panels/src/Panel_Types/Nested.php | 63 + .../module-panels/src/script.js | 109 + .../module-postmessage/src/Postmessage.php | 125 + .../module-postmessage/src/postMessage.js | 370 + .../module-preset/src/Preset.php | 67 + .../module-preset/src/script.js | 16 + .../module-section-icons/LICENSE | 21 + .../src/Section_Icons.php | 131 + .../module-section-icons/src/icons.js | 30 + .../module-sections/src/Section.php | 180 + .../src/Section_Types/Expanded.php | 26 + .../src/Section_Types/Link.php | 79 + .../src/Section_Types/Nested.php | 69 + .../src/Section_Types/Outer.php | 26 + .../module-sections/src/script.js | 156 + .../module-sections/src/styles.css | 40 + .../src/Selective_Refresh.php | 77 + .../module-tooltips/.prettierrc.js | 3 + .../module-tooltips/dist/control.css | 2 + .../module-tooltips/dist/control.js | 2 + .../module-tooltips/src/Tooltips.php | 79 + .../module-tooltips/src/control.js | 84 + .../module-webfonts/src/Webfonts.php | 132 + .../module-webfonts/src/Webfonts/Async.php | 175 + .../src/Webfonts/Downloader.php | 289 + .../module-webfonts/src/Webfonts/Embed.php | 195 + .../module-webfonts/src/Webfonts/Fonts.php | 219 + .../module-webfonts/src/Webfonts/Google.php | 243 + .../scripts/vendor-typekit/src/closure.js | 2 + .../vendor-typekit/src/core/cssclassname.js | 46 + .../vendor-typekit/src/core/domhelper.js | 405 + .../src/core/eventdispatcher.js | 195 + .../scripts/vendor-typekit/src/core/font.js | 140 + .../vendor-typekit/src/core/fontmodule.js | 16 + .../src/core/fontmoduleloader.js | 47 + .../vendor-typekit/src/core/fontruler.js | 60 + .../vendor-typekit/src/core/fontwatcher.js | 171 + .../src/core/fontwatchrunner.js | 249 + .../vendor-typekit/src/core/initialize.js | 97 + .../src/core/nativefontwatchrunner.js | 69 + .../src/core/stylesheetwaiter.js | 48 + .../vendor-typekit/src/core/webfont.js | 97 + .../scripts/vendor-typekit/src/modules.yml | 34 + .../vendor-typekit/src/modules/custom.js | 63 + .../vendor-typekit/src/modules/fontdeck.js | 66 + .../src/modules/google/fontapiparser.js | 181 + .../src/modules/google/fontapiurlbuilder.js | 77 + .../src/modules/google/googlefontapi.js | 54 + .../vendor-typekit/src/modules/monotype.js | 110 + .../vendor-typekit/src/modules/typekit.js | 73 + .../scripts/vendor-typekit/webfontloader.js | 17 + .../kirki-framework/url-getter/src/URL.php | 203 + .../packages/kirki-framework/util/LICENSE | 21 + .../packages/kirki-framework/util/README.md | 2 + .../kirki-framework/util/src/Helper.php | 412 + .../util/src/MaterialColors.php | 109 + .../util/src/Setting/Site_Option.php | 75 + .../util/src/Setting/User_Meta.php | 95 + .../kirki-framework/util/src/Util.php | 220 + functions/kirki/readme.txt | 87 + functions/kirki/upgrade-notifications.php | 38 + functions/nav.php | 308 + functions/theme-options.php | 449 + header.php | 133 + img/ajax-loader.gif | Bin 0 -> 4178 bytes img/cubes-dark.png | Bin 0 -> 2278 bytes img/cubes-light.png | Bin 0 -> 1833 bytes img/thumb-medium.png | Bin 0 -> 3589 bytes img/thumb-small.png | Bin 0 -> 2399 bytes inc/page-title.php | 71 + inc/pagination.php | 10 + inc/post-formats.php | 80 + inc/post-nav.php | 6 + inc/related-posts.php | 44 + index.php | 23 + js/jq-sticky-anything.js | 214 + js/jq-sticky-anything.min.js | 5 + js/jquery.fitvids.js | 82 + js/nav.js | 319 + js/scripts.js | 148 + js/slick.js | 3037 ++++++ js/slick.min.js | 18 + js/theme-toggle.js | 22 + languages/microtype.pot | 632 ++ license.txt | 621 ++ page.php | 30 + readme.txt | 88 + responsive.css | 147 + screenshot.png | Bin 0 -> 335739 bytes search.php | 21 + searchform.php | 5 + sidebar.php | 0 single.php | 65 + style.css | 1391 +++ 423 files changed, 78139 insertions(+) create mode 100644 404.php create mode 100644 archive.php create mode 100644 comments.php create mode 100644 content.php create mode 100644 dark.css create mode 100644 fonts/all.css create mode 100644 fonts/all.min.css create mode 100644 fonts/fa-brands-400.eot create mode 100644 fonts/fa-brands-400.svg create mode 100644 fonts/fa-brands-400.ttf create mode 100644 fonts/fa-brands-400.woff create mode 100644 fonts/fa-brands-400.woff2 create mode 100644 fonts/fa-regular-400.eot create mode 100644 fonts/fa-regular-400.svg create mode 100644 fonts/fa-regular-400.ttf create mode 100644 fonts/fa-regular-400.woff create mode 100644 fonts/fa-regular-400.woff2 create mode 100644 fonts/fa-solid-900.eot create mode 100644 fonts/fa-solid-900.svg create mode 100644 fonts/fa-solid-900.ttf create mode 100644 fonts/fa-solid-900.woff create mode 100644 fonts/fa-solid-900.woff2 create mode 100644 fonts/titillium-light-webfont.eot create mode 100644 fonts/titillium-light-webfont.svg create mode 100644 fonts/titillium-light-webfont.ttf create mode 100644 fonts/titillium-light-webfont.woff create mode 100644 fonts/titillium-lightitalic-webfont.eot create mode 100644 fonts/titillium-lightitalic-webfont.svg create mode 100644 fonts/titillium-lightitalic-webfont.ttf create mode 100644 fonts/titillium-lightitalic-webfont.woff create mode 100644 fonts/titillium-regular-webfont.eot create mode 100644 fonts/titillium-regular-webfont.svg create mode 100644 fonts/titillium-regular-webfont.ttf create mode 100644 fonts/titillium-regular-webfont.woff create mode 100644 fonts/titillium-regularitalic-webfont.eot create mode 100644 fonts/titillium-regularitalic-webfont.svg create mode 100644 fonts/titillium-regularitalic-webfont.ttf create mode 100644 fonts/titillium-regularitalic-webfont.woff create mode 100644 fonts/titillium-semibold-webfont.eot create mode 100644 fonts/titillium-semibold-webfont.svg create mode 100644 fonts/titillium-semibold-webfont.ttf create mode 100644 fonts/titillium-semibold-webfont.woff create mode 100644 footer.php create mode 100644 functions.php create mode 100644 functions/class-tgm-plugin-activation.php create mode 100644 functions/dynamic-styles.php create mode 100644 functions/images/col-1c.png create mode 100644 functions/images/col-2cl.png create mode 100644 functions/images/col-2cr.png create mode 100644 functions/images/col-3cl.png create mode 100644 functions/images/col-3cm.png create mode 100644 functions/images/col-3cr.png create mode 100644 functions/images/footer-widgets-0.png create mode 100644 functions/images/footer-widgets-1.png create mode 100644 functions/images/footer-widgets-2.png create mode 100644 functions/images/footer-widgets-3.png create mode 100644 functions/images/footer-widgets-4.png create mode 100644 functions/images/layout-off.png create mode 100644 functions/kirki/CHANGELOG.md create mode 100644 functions/kirki/LICENSE create mode 100644 functions/kirki/README.md create mode 100644 functions/kirki/assets/images/1c.png create mode 100644 functions/kirki/assets/images/2cl.png create mode 100644 functions/kirki/assets/images/2cr.png create mode 100644 functions/kirki/assets/images/3cl.png create mode 100644 functions/kirki/assets/images/3cm.png create mode 100644 functions/kirki/assets/images/3cr.png create mode 100644 functions/kirki/assets/images/jquery.fs.stepper-arrows.png create mode 100644 functions/kirki/assets/images/kirki-bottom.png create mode 100644 functions/kirki/assets/images/kirki-bottom.svg create mode 100644 functions/kirki/example.php create mode 100644 functions/kirki/inc/bootstrap.php create mode 100644 functions/kirki/kirki.php create mode 100644 functions/kirki/lib/class-aricolor.php create mode 100644 functions/kirki/lib/class-kirki-color.php create mode 100644 functions/kirki/packages/autoload.php create mode 100644 functions/kirki/packages/composer/ClassLoader.php create mode 100644 functions/kirki/packages/composer/InstalledVersions.php create mode 100644 functions/kirki/packages/composer/LICENSE create mode 100644 functions/kirki/packages/composer/autoload_classmap.php create mode 100644 functions/kirki/packages/composer/autoload_namespaces.php create mode 100644 functions/kirki/packages/composer/autoload_psr4.php create mode 100644 functions/kirki/packages/composer/autoload_real.php create mode 100644 functions/kirki/packages/composer/autoload_static.php create mode 100644 functions/kirki/packages/composer/include_paths.php create mode 100644 functions/kirki/packages/composer/installed.php create mode 100644 functions/kirki/packages/composer/platform_check.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Aliases.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Config.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Control.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Deprecated.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Field.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Framework.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Init.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Kirki.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Modules.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Sanitize_Values.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Scripts.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Settings.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/Values.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/deprecated/classes.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/deprecated/filters.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/deprecated/functions.php create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/scripts/hooks.js create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/scripts/i18n.js create mode 100644 functions/kirki/packages/kirki-framework/compatibility/src/scripts/wp-polyfill.js create mode 100644 functions/kirki/packages/kirki-framework/control-base/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-base/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-base/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-base/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-base/src/Control/Base.php create mode 100644 functions/kirki/packages/kirki-framework/control-base/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-base/src/dynamic-control.js create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox.php create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox_Switch.php create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox_Toggle.php create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox.php create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Switch.php create mode 100644 functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Toggle.php create mode 100644 functions/kirki/packages/kirki-framework/control-code/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-code/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-code/src/Control/Code.php create mode 100644 functions/kirki/packages/kirki-framework/control-code/src/Field/Code.php create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/.babelrc create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/src/Control/Color_Palette.php create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/src/Field/Color_Palette.php create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteControl.js create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteForm.js create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-color-palette/webpack.config.js create mode 100644 functions/kirki/packages/kirki-framework/control-color/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-color/src/Field/Color.php create mode 100644 functions/kirki/packages/kirki-framework/control-cropped-image/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-cropped-image/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-cropped-image/src/Cropped_Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-custom/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-custom/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-custom/src/Control/Custom.php create mode 100644 functions/kirki/packages/kirki-framework/control-custom/src/Field/Custom.php create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/src/Control/Dashicons.php create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/src/Field/Dashicons.php create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/src/Util/Dashicons.php create mode 100644 functions/kirki/packages/kirki-framework/control-dashicons/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-date/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-date/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-date/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-date/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-date/src/Control/Date.php create mode 100644 functions/kirki/packages/kirki-framework/control-date/src/Field/Date.php create mode 100644 functions/kirki/packages/kirki-framework/control-date/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/src/Control/Dimension.php create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/src/Field/Dimension.php create mode 100644 functions/kirki/packages/kirki-framework/control-dimension/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-editor/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-editor/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-editor/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-editor/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-editor/src/Control/Editor.php create mode 100644 functions/kirki/packages/kirki-framework/control-editor/src/Field/Editor.php create mode 100644 functions/kirki/packages/kirki-framework/control-editor/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-generic/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-generic/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-generic/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Control/Generic.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Field/Generic.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Field/Number.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Field/Text.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Field/Textarea.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/Field/URL.php create mode 100644 functions/kirki/packages/kirki-framework/control-generic/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-image/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-image/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-image/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-image/src/Control/Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-image/src/Field/CSS/Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-image/src/Field/Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-image/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/src/Control/Multicheck.php create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/src/Field/Multicheck.php create mode 100644 functions/kirki/packages/kirki-framework/control-multicheck/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-palette/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-palette/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-palette/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-palette/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-palette/src/Control/Palette.php create mode 100644 functions/kirki/packages/kirki-framework/control-palette/src/Field/Palette.php create mode 100644 functions/kirki/packages/kirki-framework/control-palette/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-radio/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-radio/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-radio/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-radio/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio_Buttonset.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio_Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Buttonset.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Image.php create mode 100644 functions/kirki/packages/kirki-framework/control-radio/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/.prettierignore create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/dist/preview.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/Control/ReactColorful.php create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/CSS/ReactColorful.php create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/ReactColorful.php create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulCircle.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulInput.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulSwatches.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useClickOutside.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useFocusOutside.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useWindowResize.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForCustomizer.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForInput.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForPicker.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/util.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-select/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-react-select/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-react-select/dist/control.js.LICENSE.txt create mode 100644 functions/kirki/packages/kirki-framework/control-react-select/src/Control/ReactSelect.php create mode 100644 functions/kirki/packages/kirki-framework/control-react-select/src/Field/ReactSelect.php create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/dist/wp-color-picker-alpha.min.js create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/src/Control/Repeater.php create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/src/Field/Repeater.php create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/src/Settings/Repeater.php create mode 100644 functions/kirki/packages/kirki-framework/control-repeater/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-select/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-select/src/Field/Dropdown_Pages.php create mode 100644 functions/kirki/packages/kirki-framework/control-select/src/Field/Preset.php create mode 100644 functions/kirki/packages/kirki-framework/control-select/src/Field/Select.php create mode 100644 functions/kirki/packages/kirki-framework/control-slider/.babelrc create mode 100644 functions/kirki/packages/kirki-framework/control-slider/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-slider/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-slider/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-slider/src/Control/Slider.php create mode 100644 functions/kirki/packages/kirki-framework/control-slider/src/Field/Slider.php create mode 100644 functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderControl.js create mode 100644 functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderForm.js create mode 100644 functions/kirki/packages/kirki-framework/control-slider/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-slider/webpack.config.js create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/src/Control/Sortable.php create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/src/Field/Sortable.php create mode 100644 functions/kirki/packages/kirki-framework/control-sortable/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/control-upload/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/control-upload/README.md create mode 100644 functions/kirki/packages/kirki-framework/control-upload/src/Control/Upload.php create mode 100644 functions/kirki/packages/kirki-framework/control-upload/src/Field/Upload.php create mode 100644 functions/kirki/packages/kirki-framework/data-option/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/data-option/README.md create mode 100644 functions/kirki/packages/kirki-framework/data-option/src/Option.php create mode 100644 functions/kirki/packages/kirki-framework/field-background/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field-background/README.md create mode 100644 functions/kirki/packages/kirki-framework/field-background/src/Background.php create mode 100644 functions/kirki/packages/kirki-framework/field-background/src/CSS/Background.php create mode 100644 functions/kirki/packages/kirki-framework/field-background/src/script.js create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/README.md create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/dist/preview.js create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/src/CSS/Dimensions.php create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/src/Dimensions.php create mode 100644 functions/kirki/packages/kirki-framework/field-dimensions/src/preview.js create mode 100644 functions/kirki/packages/kirki-framework/field-fontawesome/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field-fontawesome/README.md create mode 100644 functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/FontAwesome.php create mode 100644 functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/fontawesome.json create mode 100644 functions/kirki/packages/kirki-framework/field-multicolor/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field-multicolor/README.md create mode 100644 functions/kirki/packages/kirki-framework/field-multicolor/src/Field/CSS/Multicolor.php create mode 100644 functions/kirki/packages/kirki-framework/field-multicolor/src/Field/Multicolor.php create mode 100644 functions/kirki/packages/kirki-framework/field-typography/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field-typography/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/field-typography/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/field-typography/dist/preview.js create mode 100644 functions/kirki/packages/kirki-framework/field-typography/src/Field/CSS/Typography.php create mode 100644 functions/kirki/packages/kirki-framework/field-typography/src/Field/Typography.php create mode 100644 functions/kirki/packages/kirki-framework/field-typography/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/field-typography/src/preview.js create mode 100644 functions/kirki/packages/kirki-framework/field/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/field/src/Field.php create mode 100644 functions/kirki/packages/kirki-framework/field/src/Field/None.php create mode 100644 functions/kirki/packages/kirki-framework/googlefonts/src/GoogleFonts.php create mode 100644 functions/kirki/packages/kirki-framework/googlefonts/src/webfont-files.json create mode 100644 functions/kirki/packages/kirki-framework/googlefonts/src/webfont-names.json create mode 100644 functions/kirki/packages/kirki-framework/googlefonts/src/webfonts.json create mode 100644 functions/kirki/packages/kirki-framework/l10n/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/l10n/README.md create mode 100644 functions/kirki/packages/kirki-framework/l10n/src/L10n.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/module-css/README.md create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Generator.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Output.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Property.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Property/Background_Image.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Property/Background_Position.php create mode 100644 functions/kirki/packages/kirki-framework/module-css/src/CSS/Property/Font_Family.php create mode 100644 functions/kirki/packages/kirki-framework/module-editor-styles/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/module-editor-styles/src/Editor_Styles.php create mode 100644 functions/kirki/packages/kirki-framework/module-field-dependencies/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/module-field-dependencies/src/Field_Dependencies.php create mode 100644 functions/kirki/packages/kirki-framework/module-field-dependencies/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/module-panels/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/module-panels/src/Panel.php create mode 100644 functions/kirki/packages/kirki-framework/module-panels/src/Panel_Types/Nested.php create mode 100644 functions/kirki/packages/kirki-framework/module-panels/src/script.js create mode 100644 functions/kirki/packages/kirki-framework/module-postmessage/src/Postmessage.php create mode 100644 functions/kirki/packages/kirki-framework/module-postmessage/src/postMessage.js create mode 100644 functions/kirki/packages/kirki-framework/module-preset/src/Preset.php create mode 100644 functions/kirki/packages/kirki-framework/module-preset/src/script.js create mode 100644 functions/kirki/packages/kirki-framework/module-section-icons/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/module-section-icons/src/Section_Icons.php create mode 100644 functions/kirki/packages/kirki-framework/module-section-icons/src/icons.js create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/Section.php create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Expanded.php create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Link.php create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Nested.php create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Outer.php create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/script.js create mode 100644 functions/kirki/packages/kirki-framework/module-sections/src/styles.css create mode 100644 functions/kirki/packages/kirki-framework/module-selective-refresh/src/Selective_Refresh.php create mode 100644 functions/kirki/packages/kirki-framework/module-tooltips/.prettierrc.js create mode 100644 functions/kirki/packages/kirki-framework/module-tooltips/dist/control.css create mode 100644 functions/kirki/packages/kirki-framework/module-tooltips/dist/control.js create mode 100644 functions/kirki/packages/kirki-framework/module-tooltips/src/Tooltips.php create mode 100644 functions/kirki/packages/kirki-framework/module-tooltips/src/control.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Async.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Downloader.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Embed.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Fonts.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Google.php create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/closure.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/cssclassname.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/domhelper.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/eventdispatcher.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/font.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/fontmodule.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/fontmoduleloader.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/fontruler.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/fontwatcher.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/fontwatchrunner.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/initialize.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/nativefontwatchrunner.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/stylesheetwaiter.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/core/webfont.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules.yml create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/custom.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/fontdeck.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/google/fontapiparser.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/google/fontapiurlbuilder.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/google/googlefontapi.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/monotype.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/src/modules/typekit.js create mode 100644 functions/kirki/packages/kirki-framework/module-webfonts/src/assets/scripts/vendor-typekit/webfontloader.js create mode 100644 functions/kirki/packages/kirki-framework/url-getter/src/URL.php create mode 100644 functions/kirki/packages/kirki-framework/util/LICENSE create mode 100644 functions/kirki/packages/kirki-framework/util/README.md create mode 100644 functions/kirki/packages/kirki-framework/util/src/Helper.php create mode 100644 functions/kirki/packages/kirki-framework/util/src/MaterialColors.php create mode 100644 functions/kirki/packages/kirki-framework/util/src/Setting/Site_Option.php create mode 100644 functions/kirki/packages/kirki-framework/util/src/Setting/User_Meta.php create mode 100644 functions/kirki/packages/kirki-framework/util/src/Util.php create mode 100644 functions/kirki/readme.txt create mode 100644 functions/kirki/upgrade-notifications.php create mode 100644 functions/nav.php create mode 100644 functions/theme-options.php create mode 100644 header.php create mode 100644 img/ajax-loader.gif create mode 100644 img/cubes-dark.png create mode 100644 img/cubes-light.png create mode 100644 img/thumb-medium.png create mode 100644 img/thumb-small.png create mode 100644 inc/page-title.php create mode 100644 inc/pagination.php create mode 100644 inc/post-formats.php create mode 100644 inc/post-nav.php create mode 100644 inc/related-posts.php create mode 100644 index.php create mode 100644 js/jq-sticky-anything.js create mode 100644 js/jq-sticky-anything.min.js create mode 100644 js/jquery.fitvids.js create mode 100644 js/nav.js create mode 100644 js/scripts.js create mode 100644 js/slick.js create mode 100644 js/slick.min.js create mode 100644 js/theme-toggle.js create mode 100644 languages/microtype.pot create mode 100644 license.txt create mode 100644 page.php create mode 100644 readme.txt create mode 100644 responsive.css create mode 100644 screenshot.png create mode 100644 search.php create mode 100644 searchform.php create mode 100644 sidebar.php create mode 100644 single.php create mode 100644 style.css diff --git a/404.php b/404.php new file mode 100644 index 0000000..e1fb6ab --- /dev/null +++ b/404.php @@ -0,0 +1,11 @@ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/archive.php b/archive.php new file mode 100644 index 0000000..089c1ac --- /dev/null +++ b/archive.php @@ -0,0 +1,21 @@ + + +
+ + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/comments.php b/comments.php new file mode 100644 index 0000000..046316a --- /dev/null +++ b/comments.php @@ -0,0 +1,61 @@ + + +
+ + + +

+ + + + +
+ +
    + +
+ + 1 && get_option('page_comments') ) : ?> + + + +
+ + + +
+ +
    + +
  1. + +
    +
    +
  2. + +
+ +
+ + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/content.php b/content.php new file mode 100644 index 0000000..1ad29fd --- /dev/null +++ b/content.php @@ -0,0 +1,17 @@ +
> + + + +
+ + '; ?> + '; ?> + '; ?> +
+ + +

+ + +
+
\ No newline at end of file diff --git a/dark.css b/dark.css new file mode 100644 index 0000000..af20f67 --- /dev/null +++ b/dark.css @@ -0,0 +1,302 @@ +/* base */ +body:where(.dark) { color: rgba(255,255,255,0.6); background: url(img/cubes-dark.png) repeat top center; } +body:where(.dark) a, +body:where(.dark) a:hover { color: #fff; } +body:where(.dark) { background-color: #181a20; } +body:where(.dark) #header { background-color: #1f2128; border-bottom: 1px solid rgba(255,255,255,0.06); } +body:where(.dark) .sticky-element-sticky #header { border-bottom: 1px solid rgba(255,255,255,0.06); } +body:where(.dark) #footer { background-color: #1f2128; } +body:where(.dark) #wrapper { border-top: 1px solid #1f2128; } +body:where(.dark) #wrapper-inner { background: #1f2128; box-shadow: 40px 80px 80px rgba(0,0,0,0.6); } +body:where(.dark) #subheader, +body:where(.dark) #curve:before, +body:where(.dark) #curve:after { background: #1f2128; } + +@media only screen and (max-width: 719px) { + body:where(.dark) #header-right { border-top-color: rgba(255,255,255,0.06); } +} + +/* box */ +body:where(.dark) #box-header { background: #181a20; } +body:where(.dark) .box a { border-top: 1px solid rgba(255,255,255,0.06); } +body:where(.dark) .box a:hover { background: rgba(0,0,0,0.12); } +body:where(.dark) .box-title { color: #fff; } +body:where(.dark) .box-date { color: rgba(255,255,255,0.3); } + +/* header */ +body:where(.dark) .site-title a { color: #fff; } +body:where(.dark) .site-description { color: rgba(255,255,255,0.4); } +body:where(.dark.invert-dark-logo) .site-title a img, +body:where(.dark.invert-dark-logo) .site-title a svg { filter: invert(1); } + +/* profile */ +body:where(.dark) #profile-inner { background: rgba(24,26,32,0.6); box-shadow: 0 1px 0 rgba(255,255,255,0.06); } +body:where(.dark) #profile-image { box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); } +body:where(.dark) #profile-image:after { background: #1f2128; } +body:where(.dark) #profile-image img { border-color: #1f2128; } +body:where(.dark) #profile-name { color: #fff; } +body:where(.dark) #profile-description { color: rgba(255,255,255,0.4); } +body:where(.dark) #profile-description a { color: rgba(255,255,255,0.75); } +body:where(.dark) #profile-description a:hover { color: rgba(255,255,255,0.6); } + +/* header */ +body:where(.dark) .search-expand { background-color: #1f2128; } +body:where(.dark) .toggle-search.active { background-color: transparent; } +body:where(.dark) .toggle-search .svg-icon { fill: rgba(255,255,255,0.8); } +body:where(.dark) .toggle-search.active #svg-close { fill: rgba(255,255,255,0.8); } +body:where(.dark) .toggle-search:focus #svg-search { fill: rgba(255,255,255,0.5); } +body:where(.dark) .toggle-search:focus #svg-close { fill: rgba(255,255,255,0.5); } + +body:where(.dark) .social-links .social-tooltip { color: rgba(255,255,255,0.6); } +body:where(.dark) .social-links .social-tooltip:hover { color: rgba(255,255,255,0.9); } + +@media only screen and (min-width: 720px) { + body:where(.dark) .toggle-search { border-left: 1px solid rgba(255,255,255,0.06); } +} +@media only screen and (max-width: 719px) { + body:where(.dark) .search-expand .themeform.searchform div input { background: #181a20; } +} + +/* footer */ +body:where(.dark) #footer { box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); } +body:where(.dark) #footer-bottom #back-to-top { background: none; color: #fff; } +body:where(.dark) #footer-bottom #back-to-top:hover { color: rgba(255,255,255,0.7); } +body:where(.dark) #footer-bottom a { color: rgba(255,255,255,0.75); } +body:where(.dark) #footer-bottom a:hover { color: #fff; } +body:where(.dark) #footer-bottom #copyright, +body:where(.dark) #footer-bottom #credit { color: rgba(255,255,255,0.5); } +body:where(.dark) #footer-bottom .social-links a { color: rgba(255,255,255,0.6); } +body:where(.dark) #footer-bottom .social-links a:hover { color: #fff; } +body:where(.dark) #footer-bottom .social-links .social-tooltip:hover:after { background: #fff; color: #333; } +body:where(.dark) #footer-bottom .social-links .social-tooltip:hover:before { border-color: #fff transparent; } + +/* page title */ +body:where(.dark) .notebox { color: rgba(255,255,255,0.5); } +body:where(.dark) .page-title h1, +body:where(.dark) .page-title h2, +body:where(.dark) .page-title h3, +body:where(.dark) .page-title h4 { color: #fff; } +body:where(.dark) .page-title span { color: rgba(255,255,255,0.5); } +body:where(.dark) .page-title .category { color: rgba(255,255,255,0.2); } + +/* forms */ +body:where(.dark) .themeform label { color: #fff; } +body:where(.dark) .themeform input[type="search"], +body:where(.dark) .themeform input[type="text"], +body:where(.dark) .themeform input[type="password"], +body:where(.dark) .themeform input[type="email"], +body:where(.dark) .themeform input[type="url"], +body:where(.dark) .themeform input[type="tel"], +body:where(.dark) .themeform input[type="number"], +body:where(.dark) .themeform select, +body:where(.dark) .themeform textarea { background: #1f2128; color: rgba(255,255,255,0.7); border: 1px solid rgba(255,255,255,0.08); } +body:where(.dark) .themeform input[type="search"]:focus, +body:where(.dark) .themeform input[type="text"]:focus, +body:where(.dark) .themeform input[type="password"]:focus, +body:where(.dark) .themeform input[type="email"]:focus, +body:where(.dark) .themeform input[type="url"]:focus, +body:where(.dark) .themeform input[type="tel"]:focus, +body:where(.dark) .themeform input[type="number"]:focus, +body:where(.dark) .themeform select:focus, +body:where(.dark) .themeform textarea:focus { border-color: rgba(255,255,255,0.14); color: rgba(255,255,255,0.7); } +body:where(.dark) .themeform label .required { color: #fff; } +body:where(.dark) .themeform input[type="button"], +body:where(.dark) .themeform input[type="reset"], +body:where(.dark) .themeform input[type="submit"], +body:where(.dark) .themeform button[type="button"], +body:where(.dark) .themeform button[type="reset"], +body:where(.dark) .themeform button[type="submit"] { background: #fff; color: #000; } +body:where(.dark) .themeform input[type="button"]:hover, +body:where(.dark) .themeform input[type="reset"]:hover, +body:where(.dark) .themeform input[type="submit"]:hover, +body:where(.dark) .themeform button[type="button"]:hover, +body:where(.dark) .themeform button[type="reset"]:hover, +body:where(.dark) .themeform button[type="submit"]:hover { background: #fff; } + +body:where(.dark) .themeform.searchform div input { background: #1f2128; } + +/* post tags */ +body:where(.dark) .post-tags span { color: rgba(255,255,255,0.5); } +body:where(.dark) .post-tags a { background: rgba(255,255,255,0.1); } +body:where(.dark) .post-tags a:hover { background-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.8); } + +/* author bio */ +body:where(.dark) .author-bio { background-color: #181a20; } +body:where(.dark) .author-bio .bio-name { color: #fff; } +body:where(.dark) .author-bio .bio-desc { color: rgba(255,255,255,0.5); } + +/* related posts */ +body:where(.dark) .related-title a { color: #fff; } +body:where(.dark) .related-title a:hover { color: rgba(255,255,255,0.5); } + +/* post-nav */ +body:where(.dark) .post-nav { background: #181a20; } +body:where(.dark) .post-nav li i { color: rgba(255,255,255,0.4); } +body:where(.dark) .post-nav li a strong { color: rgba(255,255,255,0.4); } +body:where(.dark) .post-nav li a span { color: #fff; } +body:where(.dark) .post-nav li a:hover span { color: #fff; } +body:where(.dark) .post-nav li a:hover i { color: #fff; } +body:where(.dark) .post-nav li.next a { border-left: 1px solid rgba(255,255,255,0.08); } + +@media only screen and (max-width: 719px) { + body:where(.dark) .post-nav li.previous { border-top: 1px solid rgba(255,255,255,0.08); } +} + +/* comments */ +body:where(.dark) .comment-tabs li a { background: #181a20; color: rgba(255,255,255,0.5); } +body:where(.dark) .comment-tabs li a:hover, +body:where(.dark) .comment-tabs li.active a { color: #fff; } +body:where(.dark) .comment-tabs li span { background-color: rgba(255,255,255,0.1); } + +body:where(.dark) .commentlist .fn, +body:where(.dark) .pinglist .ping-link { color: #fff; } +body:where(.dark) .commentlist .comment-meta:before, .pinglist .ping-meta:before { color: rgba(255,255,255,0.2); } +body:where(.dark) .commentlist .comment-meta a, .pinglist .ping-meta { color: rgba(255,255,255,0.5); } +body:where(.dark) .commentlist .reply a { color: rgba(255,255,255,0.5); } +body:where(.dark) .commentlist .reply a:hover { color: #fff; } +body:where(.dark) .comment-awaiting-moderation { color: #fff; } +body:where(.dark) .commentlist .comment-body p { color: rgba(255,255,255,0.7); } + +body:where(.dark) #cancel-comment-reply-link { color: rgba(255,255,255,0.5); } +body:where(.dark) #cancel-comment-reply-link:hover { color: #fff; } +body:where(.dark) #commentform { background: #181a20; } + +/* pagination */ +body:where(.dark) .pagination ul li a { background: rgba(0,0,0,0.12); color: #fff; } + +/* wp-pagenavi */ +body:where(.dark) .wp-pagenavi a, +body:where(.dark) .wp-pagenavi span { color: rgba(255,255,255,0.4); } +body:where(.dark) .wp-pagenavi a:hover, +body:where(.dark) .wp-pagenavi a:active, +body:where(.dark) .wp-pagenavi span.current { color: #fff; } + +body:where(.dark) .wp-pagenavi a { background: rgba(255,255,255,0.08); color: #fff; } + +/* single */ +body:where(.dark) .entry-media { border-bottom: 1px solid rgba(255,255,255,0.06); } + +/* entry */ +body:where(.dark) h1, +body:where(.dark) h2, +body:where(.dark) h3, +body:where(.dark) h4, +body:where(.dark) h5, +body:where(.dark) h6 { color: #fff; } +body:where(.dark) .entry hr { background: rgba(255,255,255,0.06); } +body:where(.dark) .entry dt { color: #fff; } +body:where(.dark) .entry blockquote, +body:where(.dark) .entry blockquote p { color: rgba(255,255,255,0.8); } +body:where(.dark) .entry blockquote:before { color: rgba(255,255,255,0.3); } +body:where(.dark) .entry pre { border: 1px solid rgba(255,255,255,0.12); } +body:where(.dark) .entry code { background: rgba(255,255,255,0.06); } +body:where(.dark) .entry ins { background: rgba(255,255,255,0.2); } +body:where(.dark) .entry .wp-caption { background: rgba(255,255,255,0.06); } +body:where(.dark) .entry .wp-caption-text { color: rgba(255,255,255,0.5); } +body:where(.dark) .entry table tr.alt { background: rgba(255,255,255,0.06); } +body:where(.dark) .entry table td { color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.06); } +body:where(.dark) .entry table th { border: 1px solid rgba(255,255,255,0.06); } +body:where(.dark) .wp-block-calendar table th { background: rgba(255,255,255,0.14); } + +/* menu styling */ +body:where(.dark) .menu-toggle-icon span { background: #fff; } +body:where(.dark) .nav-menu.mobile button:focus, +body:where(.dark) .menu-toggle:focus { background: rgba(255,255,255,0.04); } +body:where(.dark) .nav-menu a { color: #fff; } +body:where(.dark) .nav-menu .svg-icon { fill: #fff; } +body:where(.dark) .nav-menu:not(.mobile) .menu ul { background: #fff; color: #fff; } +body:where(.dark) .nav-menu:not(.mobile) .menu ul:after { border-bottom-color: #fff; } +body:where(.dark) .nav-menu:not(.mobile) .menu ul ul:after { border-bottom-color: transparent; border-right-color: #fff; } +body:where(.dark) .nav-menu-dropdown-left .nav-menu:not(.mobile) .menu ul ul:after { border-left-color: #fff; border-bottom-color: transparent; } + +body:where(.dark) .nav-menu:not(.mobile) a { color: rgba(255,255,255,0.6); } +body:where(.dark) .nav-menu:not(.mobile) a:hover { color: #fff; } +body:where(.dark) .nav-menu:not(.mobile) ul ul a:hover { color: #555; } +body:where(.dark) .nav-menu:not(.mobile) ul ul > li:hover > span { background: rgba(255,255,255,0.1); } +body:where(.dark) .nav-menu:not(.mobile) ul ul a { color: #333; } +body:where(.dark) .nav-menu:not(.mobile) button { color: #666; } +body:where(.dark) .nav-menu:not(.mobile) button.active { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); } +body:where(.dark) .nav-menu:not(.mobile) button .svg-icon { fill: rgba(255,255,255,0.3); } +body:where(.dark) .nav-menu:not(.mobile) ul ul button { color: #333; } +body:where(.dark) .nav-menu:not(.mobile) ul ul button.active { background: #eee; color: rgba(255,255,255,0.5); } +body:where(.dark) .nav-menu:not(.mobile) ul ul button .svg-icon { fill: rgba(0,0,0,0.5); } + +body:where(.dark) .nav-menu:not(.mobile) li.current_page_item > span > a, +body:where(.dark) .nav-menu:not(.mobile) li.current-menu-item > span > a, +body:where(.dark) .nav-menu:not(.mobile) li.current-menu-ancestor > span > a, +body:where(.dark) .nav-menu:not(.mobile) li.current-post-parent > span > a { color: #fff; } +body:where(.dark) .nav-menu:not(.mobile) ul ul li.current_page_item > span > a, +body:where(.dark) .nav-menu:not(.mobile) ul ul li.current-menu-item > span > a, +body:where(.dark) .nav-menu:not(.mobile) ul ul li.current-menu-ancestor > span > a, +body:where(.dark) .nav-menu:not(.mobile) ul ul li.current-post-parent > span > a { color: #777; } + +body:where(.dark) .nav-menu.mobile { } +body:where(.dark) .nav-menu.mobile button.active .svg-icon { fill: #fff; } +body:where(.dark) .nav-menu.mobile ul ul { background: rgba(0,0,0,0.15); } +body:where(.dark) .nav-menu.mobile ul li .menu-item-wrapper, +body:where(.dark) .nav-menu.mobile ul ul li .menu-item-wrapper { border-bottom: 1px solid rgba(255,255,255,0.07); } +body:where(.dark) .nav-menu.mobile ul li a { color: #fff; } +body:where(.dark) .nav-menu.mobile ul button, +body:where(.dark) .nav-menu.mobile ul ul button { border-left: 1px solid rgba(255,255,255,0.07); } +body:where(.dark) .nav-menu.mobile > div > ul { border-top: 1px solid rgba(255,255,255,0.07); } + +@media only screen and (max-width: 719px) { + body:where(.dark) .toggle-search .svg-icon, + body:where(.dark) .toggle-search.active #svg-close { fill: #fff; } + body:where(.dark) .toggle-search:focus #svg-search, + body:where(.dark) .toggle-search:focus #svg-close { fill: rgba(255,255,255,0.6); } +} + +/* widgets */ +body:where(.dark) .sidebar .widget { border-bottom: 1px solid rgba(255,255,255,0.06); } + +body:where(.dark) .widget { color: rgba(255,255,255,0.6); } +body:where(.dark) .widget a { color: rgba(255,255,255,0.6); } +body:where(.dark) .widget a:hover { color: #fff; } +body:where(.dark) .widget > h3 { color: #fff; } +body:where(.dark) .widget > h3 a, +body:where(.dark) .widget > h3 a:hover { color: #fff; } +body:where(.dark) .widget select { background: #181a20; border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.8); } + +body:where(.dark) .widget > ul li:before, +body:where(.dark) .widget > ul li a:before, +body:where(.dark) .widget > div > ul li a:before, +body:where(.dark) .widget_calendar caption:before { color: rgba(255,255,255,0.4); } +body:where(.dark) .widget > ul li a:hover:before { color: rgba(255,255,255,0.7); } + +body:where(.dark) .widget_archive ul li, +body:where(.dark) .widget_categories ul li, +body:where(.dark) .widget_links ul li { color: rgba(255,255,255,0.3); } + +body:where(.dark) .widget_recent_comments ul li, +body:where(.dark) .widget_recent_entries ul li { color: rgba(255,255,255,0.5); } + +body:where(.dark) .widget_rss ul li a { color: rgba(255,255,255,0.9); } +body:where(.dark) .widget_rss ul li span.rss-date { color: rgba(255,255,255,0.5); } +body:where(.dark) .widget_rss ul li cite { color: rgba(255,255,255,0.3); } + +body:where(.dark) .widget_search input.search { color: #999; } + +body:where(.dark) .widget_calendar a { color: #fff; } +body:where(.dark) .widget_calendar a:hover { color: #fff!important; } +body:where(.dark) .widget_calendar caption { background: rgba(255,255,255,0.1); color: #fff; } +body:where(.dark) .widget_calendar caption:before { color: #fff; color: rgba(255,255,255,0.7); } +body:where(.dark) .widget_calendar thead { background: rgba(255,255,255,0.06); box-shadow: inset 0 -1px 0 rgba(255,255,255,0.04); } +body:where(.dark) .widget_calendar th, +body:where(.dark) .widget_calendar td { border: 1px solid rgba(255,255,255,0.06); } + +body:where(.dark) .alx-tabs-nav { background: rgba(255,255,255,0.08); } +body:where(.dark) .alx-tabs-nav li a { color: rgba(255,255,255,0.7); } + +body:where(.dark) .alx-tab .tab-item-category, +body:where(.dark) .alx-posts .post-item-category { color: rgba(255,255,255,0.5); } +body:where(.dark) .alx-tab .tab-item-title a, +body:where(.dark) .alx-tab .tab-item-comment a, +body:where(.dark) .alx-posts .post-item-title a { color: #fff; } +body:where(.dark) .alx-tab .tab-item-category a:hover, +body:where(.dark) .alx-posts .post-item-category a:hover { color: #fff!important; } +body:where(.dark) .alx-tab .tab-item-date, +body:where(.dark) .alx-tab .tab-item-name, +body:where(.dark) .alx-posts .post-item-date { color: rgba(255,255,255,0.5); } +body:where(.dark) .alx-tab li:hover .thumb-icon, +body:where(.dark) .alx-posts li:hover .thumb-icon { background: #fff; color: #fff; } diff --git a/fonts/all.css b/fonts/all.css new file mode 100644 index 0000000..b33b27d --- /dev/null +++ b/fonts/all.css @@ -0,0 +1,4619 @@ +/*! + * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/fonts/all.min.css b/fonts/all.min.css new file mode 100644 index 0000000..ed9dad8 --- /dev/null +++ b/fonts/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(fa-brands-400.eot);src:url(fa-brands-400.eot?#iefix) format("embedded-opentype"),url(fa-brands-400.woff2) format("woff2"),url(fa-brands-400.woff) format("woff"),url(fa-brands-400.ttf) format("truetype"),url(fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(fa-regular-400.eot);src:url(fa-regular-400.eot?#iefix) format("embedded-opentype"),url(fa-regular-400.woff2) format("woff2"),url(fa-regular-400.woff) format("woff"),url(fa-regular-400.ttf) format("truetype"),url(fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(fa-solid-900.eot);src:url(fa-solid-900.eot?#iefix) format("embedded-opentype"),url(fa-solid-900.woff2) format("woff2"),url(fa-solid-900.woff) format("woff"),url(fa-solid-900.ttf) format("truetype"),url(fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/fonts/fa-brands-400.eot b/fonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..cdef69f09be0ba253b6a8fcf74a683b2849424fd GIT binary patch literal 136822 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 &=&^OXx>DnU;mPNd2~DZS<1txA+=Q&CwkkVL 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 b)_CDZ?P2@cUmg6udjF%sU(l=3dY|||3h!_* literal 0 HcmV?d00001 diff --git a/fonts/fa-brands-400.svg b/fonts/fa-brands-400.svg new file mode 100644 index 0000000..54da424 --- /dev/null +++ b/fonts/fa-brands-400.svg @@ -0,0 +1,3717 @@ + + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:55 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/fa-brands-400.ttf b/fonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8ecb67b04090d546a75fff5b110a75887a5dfd79 GIT binary patch literal 136516 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

P=Dl^Rj^C)5i_MLUN1jaQkTwY#yUE~OY%Uf% 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 literal 0 HcmV?d00001 diff --git a/fonts/fa-brands-400.woff b/fonts/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bd812abc35c6ce879a42e0a38ad38412ea27bf2 GIT binary patch literal 92136 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 PTwI$BE<67V$F61&bYTzk literal 0 HcmV?d00001 diff --git a/fonts/fa-brands-400.woff2 b/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2acd92d78fcbf7794e5c03f3b580f60b9305c8dc GIT binary patch literal 78472 zcmV(`K-0f>Pew8T0RR910WydH4FCWD0u@960WvNDONF5T00000000000000000000 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

GeiDTd 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 literal 0 HcmV?d00001 diff --git a/fonts/fa-regular-400.eot b/fonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..21808cc74b4894d5a43e3062729225097d9582ed GIT binary patch literal 34350 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℘?hW)Ts# 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 + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:54 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/fa-regular-400.ttf b/fonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2775fa1e16f5acde9c37852ed01f009bf1ca2792 GIT binary patch literal 34052 zcmdtLdwg71eJ{G#e(ybd_Pl40q>(h5(ah-m9L?C4Ez6HMPVB@Yag51RvL!zf*%FeR z7Xef-DUU#%;HHq$gQ1YarIh*r<)i_64CO%D22P+Yr-yP*^`V6ihf7=8A#I>AzTe;4 zd!!jza%k_pf7~n0?7jBdYp?xVYyH;mz19d!5Cp%lC`iKCo;?R|d4J(gV}fw@N61ay zxci1ZLWghx*Dv6@>A>y113R9&y+IJzVO)B8o;f=4gQ*vg)&LJHo|<@gR`{{-2S{&1`PAu&Q&XG&W;iVf521{5*X+#v z!Y@wl_<|t38TDzuC!lR?-#b3C^zd(d=f1$!R|KDk$MEvjAD|8VoWA;#tA8Z^I{Q;x z>VkV458-p^>LtLic=abZ{yOE<{GH=D&j_CqY@Sa~GM+c;m6O>&uycZf?EUN*@^19b zuLyO*S=1>g=%@Am#*W=EDJ(9_ue`uv=wUAk2T_hgz_zfDBb^dh1ytdaRM*vi6-R{t zyF_V0r+XZrMfZ$*m3+FV^K0C5%U}HkFYlHS#8F(MF4Xx;oN?{dA-Lt~nd&cp&-gWY zI$K7b_Z3Io`}FS0vpkRPU#j{pB8@MHM_4&KRA%K_uMCyj=u2e*|5dhp^&iAhJiB=H z=Wd=?C-S^HSKf!d{w04el^5v#)nDTKuk>6EjF)hK)T@WT2k%;}JmcQu?WVlZm2#Cj z|CPTN`CdES@u<`@dbM1s3-JG<(tp3|*=;l4xrq9!`oAXqs(VjZ|BrBzzDXC~#J|K9 zVO~;@Ma(f^+oGTf9m~qHw(KmYms^*6mPeL%FTY{=^z!WT{PLOQ$CekDA76gg^7-Z8 zS-!CRAD92@@(asL%m3%{%ge7WmoJAd*I!Ov9=yE!@}A2#U%vJ7ZI|!9Jazf;%THbY z{mXxP`5Tx2`tsjh{_*91zWlQ*=9QbS+;ZivEB9Pkxbo$;l?2; z!eRYG57sYVd1(dK!)suDfQ?T;P3yvw_C~j|LtJ+!=U7U}s=cpg+(ZXbZ#x!9c+Nnf<@*AK5>! z|IYrt{ayPn?9bVsw9naZwjZ@;?PK=1eTRL!z01~Y**LmO-=F(F>}&N!eUf?A{Acr@%*bHi zONyoJRX(qFsJE&wYW3Qr7E>sMCE}RQbhCdp9F>-U{#purHv(a+w=GYhG_3``T-*>v4 z`<<^Pb|yZSxKcM+_mA~Y*T2vZZaCcV$%c9*B9@5yx;7<(ErZ^cMg1a@X^7q6j}>! zDST(h9C~c%C&k^x&lHzS`+)}H)t_JeTTuny4GXQnq$Z{Yn40coJ*-$N#+?!76btzr zGV?u5Q=`o+USfaNnus_2L9i?M2MzH=Yv-Acjx*85)}{l=OeT4tskQNcCSZaEGI-xdZGL32?{raZQ$TGcO2wZ($>}OvV5<;54Kfs*0+KYGP zwzGV$xLqs`G>fHPhJ3B$h{333-(M%CLT`V2C?(b1Z(Gr)b{K8O4sG&1BO~vbbRK(* zMa7(b{Hcgz?A~oAB2OK+b7K5#IDGb_N1|_eOZ3QlcJ37L?yHv={)GtM+aU}HLUthD z$f9bdC7s*G3dO;J_(0JaD&#V0HIt@eBP*tJh2lUwnoFxu+%2#zr31-m`9d^#pyVGc z6pjpLq|HrDo2AU)PaZya@Zp0e#x`vl+jQ7|I20o-;eSy6S$xsslLbD)*@fsDc3*$BPIwem~4YPqp^bdyUgWr7e$!|XS@n_GR zdG-ub?@+9iwad`L8hZ}ePkyufE##kh);}VvAG56Y^=W3kNwZ!@yO%_PUBFu!guE~) zY!_}64hXMD-w(uNA-DZQA+(O3t*Y#P>ji7g=NGZ2SnY>ha61>z;py_M$`0c3PpNk&EGuChtU4O}(KA&?j$0UG zwDl`On*fQL4FI7r!kRmrS}dxfO}U{^Zm3XnnwS%fMKv1s$WWyOT@4Pfv92A7&iJ-n z+2ipY+YK$K8HuJ?s9qHF?b+i`-!R;CtZ8$1VLzSNY|>2DFW1{`sm9wi!_e5%b~2V^ zED@3PLwb7oLEFi@-q>Sm^eDUgKTwb$p49MU$5-u4~ zh*vN1F-+m*7gbCZg6UNha?<~)uTpLd>JrT@aR=sf5;Ln;C}D27UC$>MN3NCuLgG#q zY8fh&+{w-`(OEpI%WNOGWlnN;X%JAgsu8N|dg!@eh}Oc4ssxnoJAzg*!tF zTb|c;{A;JKHE(Iwj;CZ4KsEo?+a@A>8&}-N2Yt zw||o`x=s&7ZIK8hO&U;w5wSEPaq?)peNv*?QXv90T{0L?#xAE4+1$-gP z(2S&^W=C_|chsfp>e98H^KK_)2X$4^G{vx@K}}WgxMBr0%V%gY%`6taKo8aNe!@W< z1^$PC{k@?g2|Fltw`6w1Hx&hox1mNo1+s9XsyXA^UBo zMGLTQN$U8(U0Y`kB`NXw54?QyTeI1>o_}jLar0fQ4+VGh1Or-&WBZi}(1Njv?gK;o zJn>Jr?Amq9ExWpQWCZ2vRm_23|1ZtP_!)(aqdxMqpKwJv7 zfGf2OoNu$NHftQ;jZT-mdle$mhwDXr`=ZId@&)237u*sSRpEW!SxKzqe2h$SlN#W)>OBK%UEls)_vj{YL51*Kv4)jV7ZjWZfv0mzQu@ z0_~y7_hL@PARnPskd6p-Aso3CJ3!k;mW^T7gM@dod?w9GEt(iiCIe%3LwT0E>%u5{ ztvt5fZeR)Z)1!~8?A%!S9k(p?Cl(!IYSAR#-gp21KH+qzqvfT=ML}^J#d%pX=JIZ` z4rN`546Wg<^9T^N&TZ{r?fr~%O)o&QDXl5Q-mB=k5~ss=R#G>wq<){6ce&3W;rxEv zO8&U6{E#mA;cJxQhsP;}Lmw|5@v|}h{G~o!*+aK*5G0N#H$e8v2u0x*w5v&ktm~ml zKIdXgkr0Lxg(en@W}P@l7)gK?w|8V8_;`rqSbx zfIYl3V41N{*Q19kFkfFM*CUsZ3F$c)g_{#SX`C^ zBX)zI`I339*dK8?seHHz+LwFr(ZepO~aa+x)n%V>Y!*U~P9D0gV%;84PmgBe)M}B-@gkkRGiaF$< zpKRze$c8}i-#UDLS=41SKeBt%rnameFJ6-~WOju@gT<|TcBdqj`EV8JXd4_DZcNkl z1<^Fx#}(!eLHt-K>Fkd>ig7*LwrSJuk(^J~McMDWCg)_h)ATV_O6}gWwKy2Ul_9HI zOES$bLw=@=w;QJD*Gmf;Y3!H>pedukl^`^ul+fi$ut13_$~fqx8yRL_CN!{(wZx)> zr7F?fsY;7Mf7}lWhzXa3*v6J1x~0^2TYD{hE?FRV@3hzjlv$;6eQHOC3Ih4bPpXqE zRIrWH9CwZqzm0(Ylf(&mDZ4^=AR7>CYXNW5TJn*hmRPH&5mbZ&v1GWw7$@yIX4l!} zKfjfI^461O;7p`G5~;t1AOF${yo&&SSHSwMSgc`omMFw6bl>}+pFpQP+B+cJA;9(y znt+)hb~06qW7vsSAYDZ=K)6c%MaV87U=a8n5)e?NfKw(-q743HO(KX(euU9S<@#5A zfc<{D-|sYqT18ckvZ0<>`gT(?{Gi`gG;=#tH#;)|vl zLLD8E*f!HLbeow!x1+WlWySt(?k?#>R=~y%#LzjrMCvNtq4~YXE!Fnq!8=)8)>>t&9 zhT^u~ygeQ38Dddc6I3vfW7@R(({{|v`2#6!TTZ+vx5mSIb0`z-(iGGG6z@WB{9RdO z&>jB>Z#ipZafg&T;)Y1$Qll>J_+tUnzk)oKiSsL?jvez5 z$I~&n{iXpr=4N3hW-LI-ZnsJ)B~6`)1oN%k2#86EQk zBAh=JwHMU!X!2&z%!BG-)4pF-zbp2MP(0saN6SBj49TU!QJ%2NBWed8R?9D{@)yP~<1>4|JY99)lN zTT%Pg#l=Te@mAZsXxbgB`uN^LVQ=9^uEw(w7hG3@wbNteWtGXIc0 zg}wW^I?v_Gt4kbKvMF$?TFrQ>ZA0uF^??V*o!meJCb^P>?pw9ocygt{<+~JF-H2XS z*Q~U};!d4}RZ1=i;qwGH$VY|F&1Yk7~1EJ{NO<=j%EiKVdKrFwHZR&y; z`0he(@sMdjJ`U)X$)rGHSJ#$9z8FnvaIKxWu3d?MqzzB99*B%=^3Sskz#~B;+Yq0( z72R>4Fd@7dnxm)Ok#ab=szhe0wMC~Y--$u+8D?C`L6cnSMl3xvIFMb@6hj%08ej^Q zGNh+KV#?qf9meFsL)+LOz6H_<@p*#leGBfzetz*pc@$I2JZzh@rVR=ZwaVvaQDAnI z=ZrpI52>bJ#fMHWR*6an`SS(0vd3CmE%qkEYNPqqW*Oyouw9n5i`|!?j6~l`4ZI>x zuHo~q0hEF)Xe7>gBAusXuc*V-+A=5zwBw51wq<~gTZdsAK5TiX@#=}$M-!h&+e=j? zti$J5#XwSWU85_}glZenH5Td`lTVEm8skp#>&>*2Y~iuLBFY{a71; zKSEQ}`5YvACqBR}+n&w)9b5=}FFz*LXh2kZ&-bcgAgZ<;tF^!{KdNos ztVR8zo?jQPzK!9k&|h@`Y8%v=d@k*37S{qc&jFixOS>v+Ixyol;0It_53+6!->H5r zs%oO%+{{4)XzTRZI(ErQpH*Ok?(6bD$Uz%{#gPz9!ZtUC=gpjNa~YE#M3VPceFppB zF*pi~&zpo_7v3*?SopnbDLLk*=RIf{$kMdNJj0Buu?1Dze5%t*Rr%`lzqOv~I;$xO z+(^W;xIV;wq?c2=&X)A@Q&!T#XMDX=`J$W47Tt5%JFi>V%RFNJwS`YDBPw5HcwKo( ze>c5rozLm2%y(9$uPyw%Wd*H@9mu1r&G721<*L`1&`7=@3tBbru2{yn+Q&h@z=azy z@QTTc7&$k2fsa>cfh9y?=LfGL&e%g@bJ3AKg-`ZmN48*D7mc7VVX;EBd+OU-Qk#+` zzwwf7Yw;?NmaErs`saiEffkjjX#e%--Lz%>$g-x_rE(twA;jm!^~qb+I|I;cGuQOu zAiNc!tY`nP*#4_~kd2owu&p&#_qefE6rw^`R*mmZ7)IRibkxKbk+LmKcr-zLwC5K$Kr0G<|NK7*l^+BUB?MUElAtomd*!DSR zxW7~P6_ahzmu#>+5``YE^phtffc8l5~jk36{3o zP)A*=C`VF>RC}myU-xiZODG_1P9@^yKR$QvgrtY++Us}Z*+N zOEx6k6glUqN6TGV-sKH`$iH&{)#ZRf_m#ln1}ImBbKbkNP*b>PDXv}*&DpNim!Dbp-RCOrUiy{aO|l_e zaMbPWI_}Nxs4CT=gjb@0; zlm@E@8B+&ckcSH9y*k8F)+a3b@B@oh0dmk@+%FR#FL2s?&?V+ytODtvy|n^Uc^tUz zwtES1^}w=yH_=V9Q;C@l?w!i4SScXUl7|g?5NR3Y6v7GCs48<+kA&iyEkQ0EfDMQ2 zRdU5v^=&Pv#F;aglY&zB4ZR^Lv?m?q9(H7qqU_LDn51wdbiV?AO zJE$e&4W_T|R4zM;n3(bxxE%12mZsL`WJg^zYT6P1vOl7wGKRdRw=m>5b@_Pxt$}tk zVcUuD=7{MFo4S5uP|G$Zp3m*n(sxvhRn=`TlC6U4C!NsSNy~z34xbFy-HC~yK`_;g zu)!@5(INe5ak&x-fn3tIin%;}Fo-HtW^$Y1Luz9oH^jbe545%#gWU~{mgMU*H8boQ z>MX+-=(({Q-Lh#Diz~tMJsdoC#0*0l^s#`BR*zfLO|xw7iygGzx$zIXRCCu2=#7F&y4% z%Yi`b#x{Sa)pld7Nw&B0ye4E>U0&AEEw_a4DirPtd*|m5ZQFKe+v|E-T6$W(Z*^Mj zH^u^il_%qS+TA>=EEK{EP}y6DRvy2bs`(dGu_SM$}#7Dc)}7+EN(=avlAl-IB7jG3}4uxzB?KZo*n3j zjKWtY%b7MaJkq*-%u+YkcMq_a;2djj4W7DV;9vrXMYx4o1>1^8NAW@;;2@>(>(bF+ zg_vDjmzJ^2DlxlZLt0jmg(!B%!7TR-hOH|j<;KLY+qq}H{4LI+{`=0}-krVdo!lY+ zan6z)Wc0%D;Ku3H>dE9|eSq5E8XM81v#I-u{bEJlp_qy8ff8fE26r)tl8%n}9_yKPw50Go)+lWgm;}fLp*gA{#gus%s7u^9`1$^aP`RRce(K z)2bW%BQ2oU-zqXmYU(z_mj7V|rv8YyAuB2`!)z^uc84^7Jdy0_iv+}o-O(J-?qW*F zuKSz~hfMmNA<^$-0`M-uB~Rne=|vTPyzRBx4q6Eo;YxgYxC1>q6%6^HCPYg?WgS?7 zc+yESxIl^-+j&SeaZtwI2BZB>vyA@6pw4H~f5x*?g7Ri60W{LvB4(od2 zt8K|-TXJLA&W%<|E-s^BvJDix(vOm$L4FGeEr?C+2iM#$jDh|Q#xkW?W=O*spP^EX z0h#byTb15$KNBiBaSHwchQNS3IG~aYh1efrN>tHeDm99jJRH7VEoC-w(XKBw_EcE% z*9YsGl}IXXb~nJ{8Mckl6icP>B>gqjNTIokz!wab$G`UaU}HF+m`J4_5BfB}hL7*_ zsnkl}U-IPNUeLJL>U&~nTpT9h2&65>Lvu%9#D%KYvk|^P4`@wN7*(=W3AAgPX(X&@ z)K|YTl9xXPy{1)DHpzOcs_JjhqMF&Dnz1c0pPs0qO%>Q-oxDEQIIebD<xHaW($ce7!BN2dt7-_5< z8uaR-sundZ%v81Uf31&3Cgj&G*CInb_owDLb@IBNp_rzB;}9v&h`!s47`oYA@6Q%9E!yPZr1mykOE=YfVdBFHt$3f2gn>? z?78{@d8-`tS*9`DX}725l5+hgve~~HE{{+Dg)gQ*!JfBUn#zwkK2_=&4#~;*!9L&C zz;_1%t?cc~-G5|6tUtr61r@8_UO?Q)bBLX&6H>r{9@738*=#X?zz-=@5te0=5%Lsg zn#*f3fTC)UxQCL*x#q_oyg@6oUP;M!hL(USW1lLZ>;MoWViK>-uRuZ zIrGNRdpZ+0=2>=X%V@moKqvDb`Ohiq-dpI{aqBBVv!gc~-@oljAzFWPZ~V>C!ce^T z=JL|W%}#cE;igEWZyRR6z>Oi|D5JOviW%&Ljhv*u+lBi8J&9=579MCuQk49dWR;3) z)%G!HuR~gulvwRsagDI9?i;HrBXXl~Iq0<5W~WjY7!3y55}az=C^p2J9($Nh??kZ3 z32V)VEkb~UHMzxMK?rl<@^iZW>Q#ZI%0H6jhha>`XRNL52_CMExNUqs#E)C~5r}&A zXMC07*Fo!>xORj{Nz6P%Nz%-V3_303e#2mm$U_dKIEsv{a$`BT`<-#4!C9{8)d%Pv!G{ z5d>y1(J<@lI}(}QKZrEe>8rl2Qm)sD!?9H!&o+dbLKwSMdnoAug=>8X3ZWi+@=#_; z6r<+lDBc8m5du<*gm1BEjSFS4efzcpt)p$jIav&AzGO?HHQdqK+Jx9oh+Q=fmSFqq zw&q8(8Cj8}MxPOnW#j3A2ARnXvZRnKNy-`UitP7;!oF*;sV3IHL|Pg^CE1yS3IAuD z!o=6lcWS({UVQ(TCAt2#(H*zdNn%J=n?|=aEAqD`slm--VOeP&9chBByI8TNP%z+X zRQVxUPAbLTo`O^dIa`$zv2@mHP}GJE@@ejPaX>U{2H`Oq#;S&+Zd59Q9|u>=JuRzo zQLyk-rUQ2-QW=^%E%=6pGVm~FVtHPOKg26R!NL4WWvdm?a}LUrmyZ3Ej758`@+FF} za?@-S>CseqG?ikPQo2Pq@rP{8f)_|Jdck_`-1sJIKO4O&R6SRf#gD%{3R;O4~r?biR-3#;4tMCaDVB->f`8NTwI%x!deUz#drv* z)L&aDfxipZdDM=i`+j;BqsEI=*%&;VWtOIKMM>dGv{cGOT0&?QBs6x(K3E-fvABQ# zSoy*dtdo;b+;KxOfc_ub&w}L(up-i!aT^)t>LqZ1HliaQ-6!Ag%B#qoQ$&miI=MQg z1tB8^uTAUc~v5d$T%zrHq)rmGBi-;00G;;?)fb=Otp zPYy)mBIKPo%yzj-2>_czMA*tQhHEcKRd8$I_dxeJo`Myz54P?yI^~G}7ybxi>_~o7 zM!cytJ{nJK*;`+4XqslMJ;}O^H4I99y)zO0p5CdjHwL@f<`S_44JSbk>Q#-Dms%k9a8CzZSU%JGZAyKSQeUFf2PySU zOEYq+Bpa6c(T9iyui(bBkooT6_D7&3RwR%a(t)%&!kTHx4)>JN#LZLiG@{=q_=~P- z)HT&1R_t|%8izW0?FHg|;!H@lnZb~BxVf{l`Q8JKiTI|*Cp-I(q#K=wG=0w=QG6(1 z90{0lS(l_|9n%+)#1EN<_W7V~2R~1(NTQ8al2S;diYYS_?cCaFM0}ezC48HPl2`=w z4JWHKh<&U<3Vg$-lys{>WurzkW-)PC_F1Y~SI2vHrMta8Aex^<%rq?Q2zMFE!2Al{Fd&2}qYk5Nhi~?sV-U-caM(jl+6T2fzld^o)X(_bMg}>U;3n?#` zk3DETrTNR>)g%7Dio~^q4Ebs<# zWP!S1ELShviqc-M1`;u)Ga$#4a-Gy5HcIiNl#=S@UT7S0r<9aaa$`(sMFe-jmsHKW znmgD7$xe;!565)l3Kr!ail-W5P5N!7uMsP5)Cv46C zo=`*&{P6rR{{ zRui@sLGqNG+hXRSIMKfq-_pv2=k9ubwdP))D1?Xm94B(6)eKG$aE<%G93Tuk*0Nb_ zP_oWv($Q0#4&+Pu7AMwS{u!2Psi#!qGXbfAg(I@2RHy<7V>k>F=Fx@SFgd6QomV8B z_Txe^3{hgtRY6gr$J25#Znj9!u z;u<8OVcw0U`xQCNDn2X$@47S`2yz2X@!Ipamc;H-@22gu9@ z$)!fEDTlQ(uFD6GwTW9&N;ue1tJGuwjHKRqkZf14D%u@`ajCt<^y{NU z>s?(Is!Ri7O8QZT@N<4DP-uyqHctAI_Wi6q~UGQi8rlR-g~Y);>}hUhiCqc)DKvPGy+g2&m@w8TvlHe70*wN083-L!$l^OKkV?^|alm z-H;yAyS+6$jY11NqOi%iPu%sjJLddduIZ zc~jxFmtZICsK5h)POxxw0`S0h0;wHxfeKv$R4TR|%(lob)#q~c=iV&I);OiuIlOt1 z$jP}~{tKGHF6HXWOZB;XMe88$rs{JDhDynjVS6(izA|Ms~XicrVjd`beq=gvfRg?bH~b+5idcf84||P zht=j#G7TyNO|pZ%8?akRKHVc?-4d;20po_Knx=4Sqi$v;1R}>0~Rcq zI-=!EK`N@Nek(bqX&$DbfEmDvMBCscT6lwNM!dg zsjPm*)VeLV5UorQt!_lF7+RMfg|I$Kw?u!JhM7dP#g$R=oTnh31Qr+1ys~m$H5s52 zAQ|%e#8E0y!y4HSFyU#N3p%2^)C~JvG-|;|gfBYf5(j=1No%Zp>G?tq3idOGKM&)4 zAW$zS^L~S+M!_8E>zWf*$bI=GTBh+5p2!uR_34pBTG!Kwi0%`#71~I#mJQrTvzONT zuA$>R=JLAG))>B5tX0uWzA9Z4?z>b@t=kH0+b~=ESub?+;vbv zzyBkoLW3yLY8b49abxq>#hfuhmdZ9E<)v{Vy!;Sf7jMW2g-Hif7*M9%N65m)K{fDM zr=N)qkZ*5EB>gr3FBf_C_L5I{J**idjdumJA&~wmm{MupT8wF7s|e3F*P;oqrp%jn z4ZftxOLEvn`mj8<9-54EbXv7tP`eO8bWM9;lO{q|V{1om5j9%#)(3z5V{{VZ{UpE= z;=@40f5KIM3?Q63JP?jug8eDw2E?LYtL=`B6usp^u%6u!uw+B9krTPN*3!6CzJzhS zv=mLQZ)1GvrExY2i{z5Pu=ms@_BF`xABFthgdLusw3DkIiCnK3^W3j1Oqe9q9HgZo zVw@3J#`X?_0s4G(h8on2I&ec--m*6)`qY4?ibh`b^YYkZ zM3j*^ws-HC>O+!NwAebYN>nw}#A185tf|T8tE#C@*|?^AWD6Ry?xYo+R`hA=>pBh& z11QU?>!I1#Q;)Q4%Uch2yv_q8<3OCGXABXspPI_z9UXB5=^^}4#BMP*uMX*rYV-Mi z)ygU~hHQ~Op&Oigvv32(x{5SMT&9DafGW(&vrtip185GEY;BMWI1%uz>M6`1CBQ!a z1hq2gQXLF~q1~3odcdTe{!I9ZuqfRteWknvRShLm-fE07zDGm(A}2iV#b(FZ+}PMC zf&Pq@FZQ_wiQW*6bm>h3^rirMb0gO^t8DRDBkf8V+gOC#(lAfKREKI6l0i2FusEO* z+R-=G!j=H`B7qS!VUk}^?<_yT&zy?#8xQmKnEezYb3)hmmX}gN4z@s1=08ll^!d)pQy`G8zPyOJMiKU8!>(^(YFSl!OG2j4e-N4Oy#YwNlXkTDdzdT(b_W z+gLbXeC%8`@;JbkxUYq}-y3JU#dG(i9 z|BJW_xI=OR?fB3HeYTZw2rYrYPWu^=602mK!7OHLMjI??PJYlSX{8K%NtH27<)28F zg#E&lNrczkvbnIk{4a&C6#i`c?!x55y9XyGLJt?%CFQ)Pm48o`*&Uj8Ug;a>f9Eb- zc=_cE7r4v|MoGGqhBYEXL`eiM!WQPrPB_JYufQ1EDJ2f8k2^6zLqKDyVO_f$65+Smf-T$JHeoBO$}gs5JdKf5b8$tSIJBBOX8J&v9BRZ4*!NMyO3plv=z$T z$AbD{>?I;$DYY%J5-MQOfy%r*1D`D~U!Vv0fzQDu*tv_i`AhjD>w>#VN*V%8Z zRtj)8)H|=1z)dtgJI!d**Vi zx0TJtyB@urFN>@`KL48gAT7H>O4adCUVCFCqT8#oH_5hG553lU*;=!@v{cM_vTcdh z8xTbxY@$7!I6E27c0|Mk zt!~Eq?@zl+QzIi0zBDxtkd&lhsv&dCFeT+Ps%az@WQG+{gyDW{&0^7pc6Y&QJkA%a zzLBN~?d^uWFrAqw;$tvg!V?-lz(+?)SeMJDxhTprgGA1oof0R|4`uh52@jcOo3uM(cv3k{dCK*l9lQ@hg zbj@f>7@FReNUVGkdctVNjl`PqaIx*0_GXI|%H{5cScI7{=e4`i{^~Zc0Szl4ZfUPC zwn?I;wZH8w?|XOQeJ#jo$<)(5(Og_NCI78_bli=aYVgDl-bc1j(Bl#UIdBb6-Rp59n<^|dM?&4d27TNDoa3t)-qG??R><9B(By*+c? zX7r?~71#7KToRnOs%Ibvpl$s9EtaMypAa)lfVhQbkc~YG1uvY1h~JdZ|vd>Q0OjXClCeSX83* zcsW82D8N9LVuc-2+o&Z7opxt6;u%#fhnc~{eG2)3R^pm9UBJHC)!d_LJ+IUk^D-ZZ zc8*lzmA0u~+a@jQm*cy(*wVljSgM{qAK_%KHm+=y7E6_mpmFQ zzvR=>J)e}6>K1op+m6#t$?0S`MFRcpEzOeKA5}e6O~?G8VWj8nhMvcpUcouCIH2v| zMTjfn)`}AGSn3#{Fu8+q6xZS{JHne|h9yoPVg;!9BVdl|w-z zY)R1IZOgn;g~PwWrOa!`S zix?a7X@RX-aSL_ANb8_NK;YYhv?F#|Qf~wY~fHE&ah=tL4l8hy_xj!AzzU zOwqivU`PrwV1?z^xt@p|kR#D82b)!<1qExcoVcW{Ud{Gqp_4Tq+!Bl8713(kCON(ldr!h3 zus#i|;5yWnSh9GPBRF0t5=yW zH#f^VqiAJZAsm2TR+U>1SKJA3V+w?5n$P?!NNx`ts@xr`~ev1~q5-X3x+5 zU8Vmxsf?_pl>c=-qIhW)JzS){jqq_S6&M&E9tfoRhlhWk=_AL6hmUPH*xvE+SKU74 zbn~%VvYEavjnsfe6m?N0!zwVZ5;f!jSOHiYFzqmt_)2Z^WyBrWJF0sQZruv4tjM!2 z7O_oXUrdxlTNI_3FPyCpH-(b@!yw+n{j#&lKV;`iTom~%KYA#0waZXo@YJwPv`;ZQ z>+_*Tt?s_fZDg#*=*ndx_eZXIj)wEob#x^7YCS`y38g1sooIU>Ph{7y0ijBv)s;wG& zI8nGp$@ybGB>zVAsiv*ux5;uFH(8~syQ%1EZ*lnZNR+D3k85@_DYR8g2yVmg1wa`{{)!*hoej<};$2xzJsi9abB+GPE;U@_;gnjN{dB0TQb0=$%!}`X! zZO0MzrK%GACy-ryA|j}DUDP1$8CHO0`Jj04|1N(9__;by$#a~6?235`8=u3ixSq{M zuHazh2Q;#;(LmsCbp^#wK=`&K(;`CacZJVjb>|D$X|e)2ef3$9wXI0risVY>=c-%Q z{2Kl6o7ImudF}rN_*n~=R1XN#kX5hOyul`^R551JzPG?mZdW0mr&NSkimi>45KH_I zq7%6cVIPe`xCblbE@>j_tnWGv-{Z@1+!d{0)O0OkukvAIcWR+9_RDo7Eo_C7vZM!_ zKjIU63lPqaAAd6B!*64lTt4r9A|9~gfd;t7uwtu%6*!X)0HoM&nq)4+Zc-{YpIHr& zNCSR{r$vd2#_g696var;5S2iGo5r>A<2_xH-`AYt`UKIpRs3=7nl&~H!Bsco6`R1y z+{K!6H%J!T-`iP@?IRWC%temVpXJAoYC2PI=&^flfS9x9$5_t%hOg@rZ+``3e*^#S!< z$pDz!1o_QXBYD;>t4&zbh9r0fV)E9uA>vX+qAMhUy87}taTvlVRuw)vMUd=Gr^ z{B_}$SM&)bpdZ0^MZvgj1?t*4|m{{ zOp4os2ROQ{B8q&CZEK~6D@3lsfGcNL&Twh(1662RD`2~nb;VYrt$7deie2m3X)8Pc z>>puQu0a4+Xh?e%i>2ln1y=8EXtNZzc64m*D5agS2rD1);;ildKs6iqK+!)5i@x4_C?E6c6~;J{f&wm?`xcq*2wm_ac4 zXlo{{FIvOuYfRAWotr=)HsPh+$GUO+Y(OqidSH~}w7ccy zn6CFnLWx8OKYmm_9`yTH>)YAZ><60XJH1q!+G>UaT3C&BnXTO?^mnhdEBSL5s%>m! zn5u0|ea#M{@8y=YDoav4yTYrv&24>tlV7Ec*Ua2nTY2>a{xtVYxT2G5Bd-N*n2-IN z_(1S(zJ}KkUB)kARp@f%-L2Jn3Y_pFfSn~QmF$QNZ(MgIs%c8H>w_+LG27H*nB;(M2u7NM#9 zp_i6~G;@E;ll;UD>|QTl5pwJWFRcm*vBgW9LYH{nOT#K4UiQ*KAtLpA>5!mFcX;Wr z&>;P$myV&#|M1drl=&q*yG#Zn2i8)=0i_urew~*V@hiF?_tFyVieK{5vQT6>FRcjs z*`r=s75dmed1+HPEN=1AKA}havX>4DImz(SA;Fez@X}$SDBa_wV<_{VymTC8{sB~O z2J43&5$0h1I1Ve?0^-Bkuu8fe=RLT0n&<2g9)h+vkLy#U_3fIOePr(B@e>QFwxjK- zJu{~lQac`+nx8p^dmBBJf_t8-oI?duNZp3xap4RE)d}PY)s>`%QhVm6rc$>}9X~TY zftzc}uH^sw-bF!2Jz!vT#CGG?d2{zrPybL4mD!*t{_iwu5Im+IAPfPB0p9ByzvV%6 z)*Sl(B!^=QN>?|bT@VHb`+KlUN2;x+H4jeB&7Yh(y(Q(g1LZ2Os2$Lum2v4_+t*Z| zH?~7GDBUZae-PM014)>11U}4pq)!39d5$r&NX@PcZwipp-oU3(W*+4U%O-F&iSq*T zXMhF|pv(gLLpXS1D)rFRk^Fq>6n@`2H9Ip)Sdcn-bmnwwerh2#ae6YfFf%j#z{v%a zCX`*ktL9L+W5 zcs*?Se;Pm6d&lZr_CM_^=t z1zCuNS%gKg+X42OWC>Qs>RAIzVyPUtLQ<>+>jE>Zm1S9u=1js@NRaPy@B1y?qYYdd)U3~J~qxK*b#P=O|mI=j2&ku z*hzLjdw@-|Q|vUGVYBRwY>v&d1$Kr#$R1)3vq#vY>`m-3_Gb1LMhk3yjlGS%ot?!tscAotvmQLW;-scwN`Gtu&`ON&(oN^Su z@BV;3eR6)Gdt!P)J~lmZTt6~1^T4Tzxd)V!rzVb1$y1Xj7p#Sor>5q+kDi=6Iz43_ zJu!9k0q-L4#xqm%3z*T~wKVm}l!0&e{Pe{93G3*@^wjCei8-oW15%%wI=!GCo0*=R zn)A7*?wQ%C)5g&gfUEn+#GLLGnl}i@?h_N!$CT-*Q!}T1N9PEV?xPcPlhTRF$>0f0 zy6)MTlcyKDIpGgfWlT>UTkuz1pP8+`J2~^vY56D^hCDy<;FLQ5#xoOhQ~K2D2dAb1 zj4@4Y1qAM%>3-hg^6k3?DU!WZnv=N_JlHj>g4p4a%>J2N~fky=nqUi za%2Vo>Xmlmp@~N-{dVf)>6IG1PIRlY=Fxm~83%;AX?9|MK7^J|EqIyT1aqJ!=ge%l z=9+hcd<+2Tbf6wL7EYWwb!5K#%&gB#Q8m*1nbY#AnVHkIZ=gOiCuh*Ze3bPgXHHH} zo;-crt!;Mln8B-kXl8EG>A&=>w7;ec+Mq(=!WGg!QMVj1x0w z=8gkP=M9c2bC?OHi!%g(i$3#5PtMQJ%+34wjp>t*VsPC;^Rp;#t>W0!ocHk5#L+2# zW&F{MGxPS!6~}dR?N(LX%00I=Yc7I1$Fsc zvL+@c=ceZ8yJ;S;T+p=f(Uh+Y@5xC_x5?vE8WMCf@X*QAz>e-y6Azy}b@I`vmFttI z`L*rcN7V~6b5q9r>6wQ>E*_XN7UnS12~?F2`@C^<`s6I12C<1bObxo_y_KW!wYh|P z@oUO*gpOR3eP&iVK6T0lNtk-1`^ZV41ND*z9mff)(tW_@d6Uo4Zrp!BnE)<4qD-EA z^wCGOV;GndQ$S^!yu9PI<8x@h(J2|{(>fifW`ie=Oii2$tfac zCNRiRi08ZM?gbFsdDG1SLGzM4*L`MT=JfG1Q(<1hP1BS|HNomE0^fy%Qt|`9N`nsF z959}u8{HflWqRVw@e?LL@&cBdbnErJ zqSKkc_4<+Cr_Z06o1Hs3Kcy_31W_jL%&uMq$7V>;M*neq=}Hnlh%+og6>iQ;2;cp2 S`M)Di_+IM|C>n~+>HiDY3xA9N literal 0 HcmV?d00001 diff --git a/fonts/fa-regular-400.woff b/fonts/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..e4acf9193fc37803cd524cb2e6a57bcea8caca11 GIT binary patch literal 16776 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 aueZU3d1dPmCNApWs_bP53vP>X4%m{}NRD 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 + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:55 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/fa-solid-900.ttf b/fonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bc640928c36e0d678aa1d199dd128602f4c7f97c GIT binary patch literal 204528 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 N@t^#^6n6Z>e*u;g-iH7H literal 0 HcmV?d00001 diff --git a/fonts/fa-solid-900.woff b/fonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..7a14a11eb7d8746f60f949ee2b159c2460d1c0f2 GIT binary patch literal 104280 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 z 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 literal 0 HcmV?d00001 diff --git a/fonts/fa-solid-900.woff2 b/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9a4633d9c4eccaa7c60974214eac25a62f6d2289 GIT binary patch literal 80252 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�tM34^MY1QD(;HrI9KuqY&HVUS@jw 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 literal 0 HcmV?d00001 diff --git a/fonts/titillium-light-webfont.svg b/fonts/titillium-light-webfont.svg new file mode 100644 index 0000000..4a7411e --- /dev/null +++ b/fonts/titillium-light-webfont.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/titillium-light-webfont.ttf b/fonts/titillium-light-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ff5ec1db8b7c9e32246dc1be07394d396264ee52 GIT binary patch literal 42728 zcmd?S34B!Ly+3@Ob7sqAGMP1#WU|a;vQLsBGnp(TVF?hn$Swwm$i7Jk5ZOcwh=`zw z6h*|1Qbdc?o->JvXl=x;)^e@&ifye`tKODYsa0zglf(b}d(MPK&`a;jNwCvH8Ll@5m+;heZ$9%of!H@ z_UkxajpLQWCtlg$&GbEj<4*g(;-#W1?gx~ABan0QMGuxNqyiE{{h1iHK@)%o+ZBy0&kh&0Y%VnBu>r z`_Qu)&M?6&=<(;mef2`FP>=IB3A=HxJ;Gk0TsVgRs)ZNuUrqei|JHNoEuT62g6C@U zHVG1*?7$z*QkxHr$|2k+bO`GON%{jT!FY7~i0(MP-=l5C<3hbSkAA=>M>|+v{BcOq z!Ih)08iS4RJpfq6joxl(0vC8S&q~z(+*KI^j{A&&PE-+~h{# z44cSSi!X_P@R@xsU%D^Lm*dO#g?#;e*Z2j=lHu_nv+4>GzJjC%^Z|dmG=YdiR)*R{1jjF~G9#Vn$d& zf9L>&C4$+EGiC`l$M41m4_o0 z(aNgon*OzQ^#cYD8r(1hR6Kmd$Wf!4t{5|R-1rF-CtW%Ds^%$Er?p%?{hApwg9rrOTqNAO zM`#y>`K$OK7vCT}dUV6=C3Mib?vJx>+H}vc=ifZ>`?ufv?Nh>YF9;vJ_ddQ^^SeI? zH{ZT-+t%%O?zrRbUBX@WKX9M$;!Df$)%EmC{NwAo1o%2lm?g{;775FRRl-K$DqzxT z{B0CA3wH=BgayJB;c8(qes+T}Lzn~VSt<)9vfvyoH;rqSN3EP93xR>DvLV=9KZT!L zH^uj#GIN%tmddQe_j}nAES1HQ(G!}71*Z5*WvOIgs!tv?uGudSno=t3O6aHlfdBgD zcf7}^cyV2GulJKF-hf}$2b<-_l~ec^Q>Ng4`jVuUsim@^M9E>d;_1FyTUxxbfZG^L zlw5vl(AiU_5{KPa6DpMxN_^|+Aur(mK3U2e8Su%v{86$nu6gU+tuuYJQ|Yz($E`+UO#jWZYdntgL-X}6&3lIY2Jv~R0# z_}0dmfvvu+0sgpvEKF#Y2jNQ0j~*)zno9@xjg>#C{zR(Z@AaM73NYYDBQdrs<7314 za9MImz;`14@PMy*^hB>;W>cECVnQPWTLZqWBew=-(nx4J^hx8f(K0x&40f6T?Kr+Q z0Sq+I7?``

AtgBrC-gXxkQ5Hb^g45}bC5nUAt)O$ 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 literal 0 HcmV?d00001 diff --git a/fonts/titillium-lightitalic-webfont.eot b/fonts/titillium-lightitalic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..2920cd5db38b7711e4cfe5924f731393c44876ab GIT binary patch literal 22955 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 M$`NmjNFxZ?h8!UQng9R* literal 0 HcmV?d00001 diff --git a/fonts/titillium-lightitalic-webfont.svg b/fonts/titillium-lightitalic-webfont.svg new file mode 100644 index 0000000..ea4b00a --- /dev/null +++ b/fonts/titillium-lightitalic-webfont.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/titillium-lightitalic-webfont.ttf b/fonts/titillium-lightitalic-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..425f7374f3a506a6e80b9b4d9ee0ca9d4889ab15 GIT binary patch literal 48716 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 J=VD=8`@dQubu0h? literal 0 HcmV?d00001 diff --git a/fonts/titillium-lightitalic-webfont.woff b/fonts/titillium-lightitalic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..359b7c43cc4fb6adca327f5c4f4b06339824d2b6 GIT binary patch literal 26760 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 I`uelTAMb*eP=ZeAe`lv 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 literal 0 HcmV?d00001 diff --git a/fonts/titillium-regular-webfont.eot b/fonts/titillium-regular-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..04426301f934cd56c04d39db66ba970a0c0e252d GIT binary patch literal 21232 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

1Y z0J0C0AY6*b7a{$2E=F9_*vSAH4T{Hc!?@VZJO&+c9)XRtf&=8?*l>t|m^(i9MXg?P{>frT-nvdpFBu!e{MY9!2{fMm7G z^J~fv1Ib`236>U_GD~JiIF|49LP{6?=>}!}#`<(MGLQ{;0wlJ~0?BL&;U;|?bjR76 zl*A>I!g$jZ+{d=lKCv;(%!~=9W0)&2=6LkRtwU2iDig;tWIXZ3!kALY;HJ_N6@QLI zXN6O)E`U%R=@e>1Pz?um;ou68SVAOfbfpItl!c&3$3)h+r;ReC<`3r04>e;wB-lNVeB zW~V7YoK>;4+3D24=$-x`sNp_ z8Fl9la0cZdW7@i1cvNHCoO8;QHe=v5GFGI_PLRD{)c(CP64DOe1G74a_EsLn)Gg!y z(0N-OAbK#-hsS8tWpz(jQKkZ!qKzT48<2F@09`+}8Nwd1DPQ{Zk5G5SXtk!LkR04cV|!Vc*NQFE{JoJ%O4bzjPg@+jQx0~o=hl;TTq zm@A*uZU~-xT3diUSgkA}&+kO_t-?w~oV%?n3=K3}sR5!WLE8wKi->88%`*VSlbP5U zvT$`=2*^!nWE+@>J5Q6|ERWrh4kc5tNkM~UQre=nv2C<%xV5Ue6w;Kjk)kdQ1DJmpNXe<%1=DrR8umozUfcO?U+VVn|)A>7X2t%A= z$W|1)dubd@gpA?=Bmox)e?9bNarM$)5^l1j}A zT-xr8vSgKI1nNRqg|NxFLlTi%8}=y3Hpy3DLDj)AcoG!mKAl7*n`kmL8096bA`V+^ zb#GuiU!NcXdi_t&Mu4j?P^nb8n1XK7n~II~GF?xuL<+$)J*!0oyNX?j~jHb_iZ1{0NJg^w*%_I2tC7oOyfxtmvnF$1yb2`q4#GV3n;`3<6w7L-7 zdh4msPu_Ttom%Aau3Qq+E)UDGQw5))$f^z=(Tkovid&iwHUUOBOp#)DFbRY}&&E#$ z7j>}lyqt^yS$)s>zNQU^+KtvDn40cBS#=8kjNOsQlW`8L!$SBfGQMxzkqk|i)r{0O z{cV$@oK;O# z9=+b|R52sMgc@N1EsnvlNQYL%= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/titillium-regular-webfont.ttf b/fonts/titillium-regular-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5febb3d6db0faf6f91ecf6128cc7ed932e61721c GIT binary patch literal 42248 zcmdqK33ycHy+3~5b7r4p_Q_24nM{&N$TG=H76u4m3426}fMF5Y1tAKui-?G*AtEB8 z7!eVXQfuislc*G}g4%kmwbokUdaV^}txYer>h)I<$l>?-zGnskBG=yMcc1_B{L##u zZO(b$@B7`iBQQY_-1yK5Rl|o*xMJp}NB@r?umL!lGooqOaOTDtfwf>iFk;-5S4FwntK85{3g0R&z zf9}jVXGeaMD+oJA;(XnF9I)SRY{mX<*e{&lx@^_$gC^qsJN62Kv}4hYvuD0_+mHWE z5O!id>^H45S1lGLF(wGR(r|s?hMBE%8@w%l!hSiPpICh3(q&^xuKrpOb|1(73yW`> zySTo-b*Labu@k?awQ}yPdBv|^`Jo^@iJuDw{1Nno*V}Hartde-Tzw0D|5|r!1V3ZL zj-QSQBKDc^3H|_0>}kKW2vx#BL2Me{JVCH6nz`%-A&Z|E&YtDJr)yK&Z1!S6$CUgf z-G`pdaD)jKL61KV?yDCHg$5kIUD$zpbqKqKYT;%4*H?HI|HYHP{+FIR@1~ivFL5GW2r0{sHl2A&QU948plU3atb$?JrGBj69@B(IB~ zzwYeEXJ0H?A3QD}|Kafs$Ll|QIY6uYJ^wMlGIcQ{ ztf0T%|8P>$=?zAc*dvU76t@&mzwP+?JVxTLgCS$Rceq^dd^ ztEsK4?;G#ee?Y^)#zBLJ373(x=jMd7A7a~FKD>hZ-3|GeUQ z;qDG$sUTdpk`HpxEyDgo>u29UJFRQ~IP3O}554@#yGQ@y{bT?BGvUaq!pFxy!kN|Y z{Xw|no(-EfZMkpjz1trY9@zQlBf>9!xdf+freES8U)Oe_69?7{8-=aHPORWEVVAI1 zcnFyMFfjQM9D5W;b_;ue3-f_vi-hgMW}!`3A>1Nt5PZTM;YMMiER@TFdyL#Xu0CV&Ay8ilb+7t?G8nr1jlSV?* zp-&o*gOP6jB6Q?eHdpv z<(t%*q5s$DA(N5U;9^)yBM1ObR`V^&KPBw@Ba2%_&`K%~?Wtb&|g-W50y(lCy zFjK{sjVVQp-Eu)xPK(GD5k)k1D>`EoGpeTrR7&jKa*0FHv$8IOUkDQH9g3Beb$YBG zTbUBW=~zVZ*t?a!tW2)UI@Eac*Y614GK)^uSK8#P!#c%~`HfBXAC`-=n386#d|gni zX_c?jwO_9}d_P@llhYis?XYZh$fm=3Im^+h%hJ2cWWS@+=r_2_4t@R1;Z3;EDw`ag zW|P%j)@h+n#g=BGi)?gJr=33aoj&@adt}o+It%ENMs<{K&>7+f%lKzGed_535&o3M zHD7&WMvfe^zz@&POi3fG(B?0YD{!)1~AG;&EB;l*PE9L^41t`EfbT*(rDeC51ka zjoT57`heJZET0*R!&08)bp%7k;@bL37Gd=nK6j;5@4;6nz+%z5+M43bU&e`8k8`FD-TKx@+iyJLXsJxN%E=kNQ4y>F(b$Z=LidyIy1_ z^-H}&uV3f1s3Cvs2P-D3Gfx;yf7ZJV#w3DXV$fOAS}HQ zKl{FJh<>SH7Q8~H5CYb{D?L@|C||wKh^$AF1qH7rBe= zovlv$XxYL=D^~q}`I^eQcx7e0u2MH-OZ%q#w%&K&*6CBHPQPa2#M6`YYl5fRSZvFt zcJ=suTen_2b;=79CK3;mgh^*l=%?s+3PGWdPzPNi0b>Ca5L1ez?t}%LQ>ig_rwF>h z4QkhzWSOH|E^{c=09iUV(;bQjn_e5IWu?rB`Rn3xwX@5TTU6oz=E>8i0=9eAZDRSY zGy65HTma1v@M1!n^a=}c*^;kGmUD7M7m+nNLJW^sF$70jhlR@wf;AK7!$^4>3anpn z3ykoW9aYlPy9o<%y{pDGkTtTHO%lBx7m;VEQkq{rurVX!0aMn{nm#4{;vUZf=A6-e z*@=_PfBc1-8gKLQ->WBXY*kMmd#pmK3`c=>spq%{O0L=(k*GbE zC%HVLjoDcpH#p6-GN9% zo70WrN%4$+4{RF91q%a>8m+=O&>KX89yDm@qFju2nbQR$4x1f{0d!@JDxgI0aZX-( z1Cf_OuaVb)_fJ$2dD&#WL)L+(8yvFnQX=4$>Jw?&g%APhxDYbHa#(_nkX~8II>9yZ z&3U6@25XcV(9V(u@)K;pL!%Q1WW7rfB~Fa>;d-CjCk4Ghw^1_Q_`!RP?@gFHo>|l{ zC(NDjzVy_dM<+eT#Gra+-dQ1^iF>s9FA++07U`H^6~+sY{IU^pUm~R?Autlpg2h~x zfWe7PCYhnz04|oJvIuPk8iy{LFk9%H8M;8iVx~@II(HKw}_X3W^Sc-a-6NOcxxwvLsRx=N~@(skSrh zm|9A>(#}p`1=rxW1@v2mnY!tZeyj-Kg%V%36iU|yz3pNvJF#U8rv-de3*Go_gd-pfGDhPKzlX?6{$P~M5C9d7Kp=re)sUP_HCp1@V4@1)0tP8)mWE9?ZEH%4pyX(z zDchZj$w#Xbt7QXq8eg}w@Ib5!gd`*Y3wk%Rdm0aJ3|-G zS9gf}HnQD=o92$38riVWXSHrHxbhFYFnj-|x$4$7z;4~y6VjK!p(^1&gaqsnKpfyQ zM-&S*SZ_pjMr2n^$-=QrfUr6uXB;I)rS$Q2%eKH#r;-btik^p>H-n&-;nkpK`N3gQ z5xGVnXC9Wl4%v11km=arM>*8oUKhaRp--p`oxY4r?E2|5f$d&U^T!joilF8O)I4tJ z9r(wd@wl*=N!ux?nI&K|>jQ2o)5E z*V#Te^57P=Tm76lChflU!K+@Vt+i*2`Q6n2{Dm_ZsLC#5{l*Ln{Ql!>|2QbLzJlGp z;lHeRZCbQ!uGeB&Yj6klA1u3~e|gxQ$-I3=ExGbHujkkRa8tE5j#;|?rly>zbBQM|jv!Ce<7*9~RLP$WhJh$e= zJX|o!h|d*7WQfOXtZoR)oedRTaX5)zNO_=0AugMpoh;p!O)5;L3+tkRxfgidV9?S) zT`b_#V7uORqU+u#9@sSI@v^c-g_5`DhC+jH`l zbe}p>O3Te~sZ0LyMILtyio!hbyAbF+ODGi<2njeuL9iHdF$_z5St5kHOzy+k9!4&w zN9Ak>AHNrDwhZ$KWjkG+7Rl|WVS7PY&`JfRI6y4W3*qN>f-Yr?OE$%2$tfF28+8bv zG%^Z+HQst~NNqx*I}gl~3;`TB&STy)%|ENFw;g<1dBNiyIblvId+qB#{qwUutZ?+L z6Cc|3=zYVVjEGOMS!|rkWL}^7em zUyGYd!Vti*9yFgPlneF3O+q4*AQ?1u19VCiAXyht(g+9oa!BSwfS8HYE3lF8fC~yn zE;eiEm<@o9<3J6l?Kx|jAv0Lo#|7XDN}nJB6`V`1aw;y!8oAD;n4w`{d^H0luFMt& zbex58W2=A+EKZ-5VmL&KY=)1MZ7?vzSJc=Txp590u&**x^)*)w_`&c3Rh)R=?Ne)i z$i_X<85({?{Mh2fzFF5DyP;J*4BNeB;GE%&WtsJxSO2)P^Cy#*H5X;qUD-N9UF)s= z!MfIyD>ug{^bI-kSBbW%Hx`C&oboZjT@)q&HZG21MZ)z$!b*^F0VJ6)sqhs_;#jeU zV}Jq>%nSAxj4B3zB22Ubs#NR_OxWw}vbv zMItYTQHWijr9i{!(sQrVMGhx;nv9qtp<2?*#I=?E&{xE5fBTyTzgf_^u20@KEL?Oi z$o1qM6eDm|kr=42s@fNGha}u<*1EQ*E&HH?v4glB6V?jZ(%aG}&<_MKIIo#`*Gdz5 zMvKp~7w=||J*K{>9(4_bfBFQ1w6II}EgS7liyR=;0 zyqT@pycy5gkLR4xo>O0IW_Z+o@!6iy(uC~C*+@3zF?HtM9A?deC^hPLAubSr?>Zrp z73jy4{0=#XXhG0-%ej%Ryd>~~5jpp$Y>z4dK+Osh(dy_**NpD;h#cT}qv&1TaPvYn zgZPKDjpP=XQNrvpapf!r%r>F-reOzUL&h)Jem0iNLdCEJ>r;lFox#K9ZGP*ncYZZu zW2@z`3JKWPFQ%2Kh1hN|C3Ju zzxnD6<4XPO!X#m_@FO9S4V;(lG36S#t?K&1p>|C+@tJGNA%Tiv$ta7U8jOo5qwqBZ zKqfnQ38#l)nB*`Ax!jbiv3a#aSpd@L6ICjl-ExIP8Hf{RceipAz875WbUmA`FCH># z+%?3EE1aFaE5^>F&4ENGf|5N71an1PzQ!rz;38K-7#0K^T3gY2ti!xaOpTT`5^2oC9%juEPS9L2E*D3Hf|H= zula&q^$~lW?JJ01J8wjvkyXVRHc|48d2v|(Yvv5;Q#$>L73C`mi#nL3vsm4pK+s=W zTc7V%Wp%B(Qr)+yx^RP~DNM?TotoN4oBWqXZATggz*pw^dezw^cRp;@-{pt`zw&VqqMf+1U) zWUs%jbA2wmnN3u0Q75Z!s~wM6_4+nsW4S^}=?n zFZpA)!8SL-8vBVx>j_C`jKyLJ#EPJG#1t#m(h}`5Ks`u@F&ZNS0y+pc%iyszVl|Bp z_?V$80AXQ;k*l%ciO+sX+MO&oWOf)A$kxM$ULN%iJ3pu+qf?d~vUnIyrcS*@2QAO& z=rkC~*Jz?oI&P-p(sNAI8z?rV>2h3~BQC>&EF=XbcTfsdvyH5UZG7aqo;~y0#LQz0 z^=+qCa_8(RiK3a3Z~*gMk9pdlA%uihZKjGH4jY=L5|X;Rva@J{N;WZuLXNX`Xj$1& z==0n{(nD*2b!{bbc4xqDh$z;KZlwql&$j~|O~A`6+OWpuY$s_6A(yNNHo_d$XfuzI zDp{n-F)4IT;|v}U#dqGBI(5OSKmA@^&sN`aU!MUJhZn2&vqg8Ty8Ui-kG}1|p*wc; zDSTwh(dXKiJ)SR6Be!%5NArf%+7 zIOWdUTAIuKMR%2zUcLOO=P`WXAgxUoUzEqoZP3A!ij zF+s`GAg=+LRCUlh08GXZtkU2Cc53x=%SY$tj9T`yo7KH++Q^&6*5{?Ws>iLLr0&(X z4PBx9+pX*0dhxa~?d4Z3*wp@mS&!UzZ5%MAF{NQlR$)YPMCKH(KsE2ub7Ihh2)q** zoEd{7*92GC%~n#_qneK*>6p-*66BZ&dJjm`dj^TadY%^#>)YDZj5bwhCs^?3N-Caf z76v7$k>e*l)1>G4X(E7FF7ZsbN|FymynqOVdqL=d2c&U5W5p3YKf}X%j#HItkN z*=~rWbVG>Cr_2x#DiBxl;I&lTP-WzFC((w%C0mk;-Z|yjhLt0JTaQRg&}q;S3tpbz ze9H^B&iHFnlR-T+t9?q1#}k{}K5Od(C)iy>)%WMz_R=k5^2H;LDMlfc z$tQqyRg4;I<6s3~o#bx-V0VdcKk`UVMBmo4QCxFsrMSLl-MQznW;{=VCB-qCKkS@m z2ObRaVkA8~xZ8nU#Im&C7M*QnPvN&tp(crYPOJ;jFoOvu8;`;x*PSqOCz#O*(7TBe z1Si042Vi}K{mz)%W7CC-YWok!@f&xF?uz(~S)&b-BRe*-PA8x4cf}3Om6^mFHC(?Q z&r3^17G=|U*jSN)0W7c*7CRHUpLd=NCbhCwB>h6s}D@KHy6j4XE zUOH*#l7%=Q*4PZIIphpsMj__`XjNO;{VeCvTy>7D&dI^!$LkK9TB-YpzE9_;;7D__ z3d4m2Knq(wMrLOU&r%YTkPDba5;KWbiVkp8MCf$_T%p)Brv?GX7KXw{5Ek>x9#N0? zycfp9MV*R=tEWZqPom>@LC0Q1eNw(YNC1tJOKIVFR7c5x07LYJY<4S{K4LXW2+=Nu zoPB~)nuASi(&B(6d(PKKv{wok6{h%es%!J!p{uYE;5{j(RM!@e)MN`2b;%=+B?(^ecMN$o;az7#QALU-iHaE>M;&a zKRjPo2?;lG#{3jK%jn_N{Nb5^C!)-x01!Ok>EaI4PJ_d3BVE<%TUNC zJ%@H#o%nq#ptv9nG}jC{V%21s#m2iLlxSmRd=xL3Es(2ZH`1Q2UQLK6;FU`L^zO=+0-ZTzq{~txp$XYdse0#)3~Pn`#Pz zUPor_q_xx3=8QD!hNAZSm(2<}1CjW+`GornIT3;`8*5?|`Uwdbwg`fdEEb@*N#J0} z@PKm%MqvVhZ%AD|1b)JxzrfF<`FDtKW$Og>%13l(Hg7(y)1Be>-wQsm0rz*pvy-qB zRzs85n3E;OMGKZ0Y!`|-nZ-&P%rS@-h5V+3$+$U~krsBP4d89@-d#W1^W&fHJag*H zuh{|V{WHPG@4x?X>BBQce}DH~niJU>diC3N~UOpgt+iaceHC+wx{B77sH&Zn(S9G@h` z8uotKp9K%H;D9gos2{1v)&EkzQa|Ky`0})k3z9>phimW%W4$QP$coHHE|*CcAa91O z$0DUgxH7AVL|{5iMwv74btTkC)Ca|9#dmu4h|_zjdxne6 zJzc;FxG{BcJi`S3%5g$VH$riLy0yAU@(Y=XbF1s`B~`9m<0pxg3eS6?+^Kayg_e^ z_;F9J)X|eA{zZINms`<(@bt%}iIw$|J&*dx`wk&7{5=DB|bhHBaew{TCNY4$lKDQGY`CQH?rDP-68gw{sgW^{8i%d zSK9^gS43lz>akR>H;T3F`7-_dJ6>M^VjK_u_Xj!;GRVr1tEpvQWW)!$^8xU}3m;^p!8Y~MBZil)aa zBkJ4J# z{~|Q00%1au<9k5~MuHIRYQDxH4kWjo+dE0)&H~0yo_sRr6r-KALoeCci0tG!VZ6yk zEtXIZDZu?{P7j|>m|W8o5Qe`1L9}fWdaS zN<{q&s@>!dpHTn$=o=gBt@;g?K>r16rv3V-xpv4V!pHd-e;L*p8IwXHhvXGTPjNy& z`8BfiV9+!Z3!xbtst{iA5Rk_dDGPoWqJjxS?-i>d@N2Oe8`4Ecp@s9DyEDZ3zxbq2 zdv@7T#po3d?1!{%QRT3uFVcxn2Y$7hv@E|zh^ZZxfRg{QYIoN?QA@m#Y`zb>cW zUB4nYBlaZi1DxG}^Hc#Y0Ei0`CET3mLkz%$W*W4>M)4S5FNYZpn-KhAnw<{i@w#bBo<>@mc>bIlj<5 z4glV6_{b1LbJ7$j)N4Ve2tnL#h4w`d_Zz_6JWdgIp-~UuXLI0_BhV8iUm$`Wir(3+ zJrm1Jz&G$F` ze82!*_r5<~Sx+wR)LPKjBco?Q0hC$J8y14xs-@`asGa6XC!*`t34IdF(yQWP-3 zFk;yqgA5_|fY84J4~m=yg(@o|`*~W44=!j|G~x4;F6Hw=t@87*zn{Wq@OBUftc{)X z9rI{kE<)?1XEm(P9X5At{`|s1acRTVgITG1tV3F}aoUadO)4}Y)o;)+O%Xf-zk>V%Go#2tBco4FOhw)> zMIAx~VFM@%$&Y!UEYb^8*?Dlng?YFR#HOw3sLAmHr|a=Ix+)gt<+I2uO)tJ#Us;ql zYt>C#W|e&U;Xhy5vHGb;?sWx+j2igC&?;N&>h;$zylr*s(^t(O8lLC;K_D>d#4|ri zHyTVEbWLqX9yU$Rt_ayPo0d)c(aw!8ESfNRZe(Dw+hD04CFQKTZthp}7jRyJv>)je z&}gOqO1vq{Xxw8X;HXv~>zU>GN!_6TmM#>JQFe;hl#QI<$ z0131V7&~)r>u@#hYnr%XT!p*Ck`--^587H%qJL2}n={J_N8GaOrk;<*%&Qkqk7noF z?Po~AB0deotJB*|e;aFKxThT#12U;Z63-Uur7$1Ud_)5xi8VCi*wsmxL=!7$Z z?$gdrK|H%tt>^c&f%}J%|3k`;9k(;_+rfB-#(?mX#nvr5qugk&s+I=o;Wq*=XGV$` z&FMRAV8CyDsQ*2ifBukqAXrgbIe27D`s7UJ`p0e_X^`<8Mq`%_0InDKj`Vm4C6(&I zAS93-rS2qsM;yGD^BryL*v*O#s0lXhfcn-R{flRIn%FM2wC5Om-=LQ9wcHJO#qmrD z8i1yw(gS$rmLfsA)8Bc|+U|$-FP<7gya8i1gh6}NsOsRqQ!)xE&VkW#RFEApr5xCh z3*Hdr*ifxuL$zk)7b0mBDX-*z&H(&l_%5pEh#?m`6$=7TWMVp?7{H5DPPCWw;>5gM zO8SuSKm@`O2I3zgGUGz*+2QQ}*r4mylo+$G8oxAl{T)~4cGx2mhBe(+T%7f=Ijg$4 z@1VBABAqbOk{_$;tFsm6WW?4!yOoft^|l#BVCGGq_M8wMQtFkS1|AF zlrLKb?w^~r0s>(2C9xlJ=>qI$y|AB8>0<2P;con4(^t7qKOABUtFbDP6*BNTPI5y+?uk`e`P|T*kmXLUqR4(tL7{=0;bKlIC?0rCNkKuN zOB3RC+;IZb=9(b#Gq`r8MNa1(W9g9}4;;9|(f8p&zg2eLbVuXeMTP4c=Byu;!#-z` z|6|eXPsQ0kO&LXBGS{omK?4-uNvm1}f=%MDxJTy`(m}ZzcRY{0CNq%N#)&mu<1OIZ zf?|TMp5oKM)Os%^>^isY@C^S&%cMimm`-T7m9;o`I)`Uv^*F#Ara||a0oYWKuZgNs zlpxuRw5VxBAC>$Oc02+RD8fD;m`nuUcCrfc@Zc7{cr!|e6mx}<&-EmvmL>CVb(DV#=8&c3-$Gna zkSmK6C7yqq#q)2e=7wk!mO9x9l<)-!0$D;j(gm6}g6Z}5Kg5QshYXHjO=;%TV9?Sw zvUNp0bS4&8U)!i=jG8n$Ow~KI!(U{w?K2IYLG>3SYizK9v774mPCqLvQ zFyvQ|4L}kS4lEZ;Je2r2L4$c%CKvgzDD}t!;?o95qArizdeEQG>(p%>dS`A`Q&rPF zg@qj*&i=cHUcK_lawqE+eLW|d=T5CDv4eX_jb}I$4h_HcF+RQ+g|QpQ~a2XUF)#%lf(8F>?0A_I^I*(HD25#(2)h)$rtJZ}NlZ zd|Y{&kL%@YKYM{rT-wJq`-|talm9~>7fl+;*+DA{Hg>!f{IA_#g?`=f)mh=a_s*i) z69BmG%)$Ez`h?c$Q+oCY&`oY?8Tzur0@e z#hDnZReStXK)Tu%e`uMX_^R z8nDn@4nx#<8fEtwKYl@w`K zjKpkF7l5Qlt;mpZS6a|JNo?qOMLgN_vN*6!{H(35$3>}SLbZBITxYPr!`N4l^N>6T zGO_ZkVkU89NPD@@`D*Itr+WWHO}g}u9-_dKd#CqHBHp*NchtIFGS)WLsb(3ETbCixI3~6>amz9vMJAr&=+T@dTkvz#j1ReGkpJNzv zOwA`;&r?V+U!OKr$P456JLjgeDQnlY*yi3TzJ0(pZ~3z8Y(M$!dgF?vCHwMkUt3tT zazoC~Lra%nVtapH@@m%PMcHcutt}Y`%YU}dh_SY@Ez&>54j~sU2Pm%_zBKSv*&OZ6 zw0KP@3)E76j8KcQS|}DEEIrZkistL~SIXu}MtUvIa?5{e3%abnf57gH7HoOp-Fv9S{mmx|5Mi0|lpYp1by(EDd zZQK8ZWwS-f{^XO>)1+s4aV-}l#BPa8UzEB+tT_(YJoxtZG*djYohkrSIQEKJ%|4496jDG*5}%6GBj zi&Cl-*P<{L@hI7^*&yo-q>qRMg6vFqTtuEoC}PH>Bg23qrUJc5N9BNu8?Fo)dU6^i z$in*8N_H>hkqOrOjC&8XwH1tAIHBt9@^W$Sw3#E=wd&(+z^<(QcZs7nF1h8g$wA~< zuk|f^V&2A{XM-Dxh~J6AN})lgliq+{6hh{+><6xc43O5#v!##{hFY~;06tesV|1dZ zm}0-VP%S!{-pJG4gU(Ja!ddITab2jW9#($7Hw^4*t+Px>8&?T zz3;|NFSob9{M44Ii(98}X}y2o!24UbOuO->$=bG9^71BJKzu2J*h@2f{C>({CJTnD zI8X@V!a`Z1at0g&F~x@+eU#W8#bi))XFrN68O7!yrhpn1S~Oc4@D`YAx6z&*X((7w zD$7%BqyqA&jgN1DV0qLAx}Xu^6>^$EKGcTs0e(7zT_dY|ScbaO$yTaukE$El8mIaI z%hQkSIVP6&yu2~oz7g(#u^ZdN8?|-X3!dDc^JF7rI-&=>Y7S8liAxRl_?sB{JZt#4>dVH&LKA+R(#-( zIfoCOc<$v>bXab1$aRO6p?TlP!w$lZ8|U+9=b&XrL-Q3He@%U| z%b(_vk3p#LNJwSna1<(4;4RNM%;Cxb69|EeoC#Y2Vj{rt$}pB2W!nyCr@>ZKPG`;M zqaa*_opZpGw~$BIA-^Ef9Kn>)gS0(USgWSa@C_8PD~5~1Mw{XKs{@tgzj|rF{<=ET zhqE@Uv=x?)86KZ{!<6EN+;EY)x?k6T2K$FgPV4N}Ja;5}aHw?J%4>Oj=w34dEQeV2)kEC3`FFz*$96I}{?xg6`%Uq5` zxVC`&Bc|h=TCW2dX)$gISOWP$TAwkAqwu|fIS28V`2aIKs5^NO|A6e0u$qlVW&eKo zM{*IhUoRj8+vTwe8Hh600!LBFT@q1(_{xrS>G<(vX-1dBFL-bjWCrY?t}-pT9OcJw zUv-)IIbNLMD?@Qcnn#x%EQ-})&9IKOSjSjgE^$6%2r!0Nz)+0<@{@Yt$QqR7( z=+5FRJs#5)L$0W-8Id(I!)F>Z;f_Vp>Yeb|J#_Zro$B`OOz61n*saX*i`)Kvo%;8e z_dN`UL2LT78(ZfXCEfLz9U5P_QG8$AuOALs)Cb*KNYX-+DFAHX_AlX8?gTdE{3DRT zOK;peH>c>TIEpqj5oH3`XswT9&w2%JY`O8{e<+>{eXQh`di(GZhU84dMva%kn z2unLAOfsZZR1`t-&dQ&%ME%rno#W3nxN_%B9tSLKvq;4NfGA8urS)slbkszkkc_G# zj6N@Yr8Dm|wn0^AvyD_*$zEK;iXJ_3Y&WY-Zs6cX;dALr@df1LRq@z1g4(HST&{#5 zCyy#G{m}n;Wf96{fxZybm~Abw^o>&MePVUHTEhmDoH<`3i;?uIfQ9(!h0{4$si^Qn zj@51rt4kwYWmaJzIu?|ckz^?iL$c&X;gIdh=f@EdIfv;nTEkwL4i`jMAFVe*Syb-h zAP-Gffp!2z_()hvp?(dPIMT=I>Vn56tRn<3a00>Q43}IC8YnBpDU%~ZD56tQCmIu6 z3ina{l|p?O09ul_FBA@;$qI?CNH?6CF?)mf1mZQz9CBZ&dz?UQ^9Xmf=eXpkoBlTrdZMW zI%L!NC^}XlSFF*gt5*Y8Shh4xnt_}_3$g~s2?+`DfiA27;0^-mvhgiO>Hy$t)c}Yj zEBFAY69o7Q_kuf+@s)s;$=Sb~@+h??4XmavpoN7f4wUj;GL+1Sdmg`i{p0iJK6U-| z6DQ2mtzEx+_xjr(d+hc}3l>b8xPU@6z~d#tSk#Aqf_d46Yg5=r3Z)eaB{xiv21B@^ zvq5n@-x!8LUduMFU#5esQ9hZ@m6LQNN>Q@1jVskQU@mA~adPBM7XH9`(=?MM(!*!2 zOO=g}ZEqJX?MzhFcI2$VLO`B|^bYGb%tMyL2tG0|)OO@n*a+-?C?ZD{sD%l=lZL0K zCm~{&N&2ieX(St+3B47?l5yEaEQ830SL$#JM&lJ81O|fMhG*)cbF!|^&(p1*vS4Ps zX+1MY?<`5wH1}z?==96|Q)V>HX;{0GkLg9GVoaszPDQq+gfUT-E;yevqWFmclFE`n zTn`11NFoaXJRygSK1-<5!?rC#76q?@q-suNZ3{f>OJOiXWs4IBWG^aav$+z*3(#t7 z%1}g;T3b}iayExN0Fvk2iy3Y(FKelZ&A9W<+^Vwb@bv5))9RMi>pl4%bF^~tg7RgB z(mP9?l_f2$wMB&mCY`jzbJgTf9Ch4|VPodZw(y*kTHPVB==0q3{q>>O z??3`St=H4=$-IS?%lb~gA$Qno5$r4|cnJPwUEn>0#ie--6?Z0|K5*q*e#5Zy>2LWB z*9;?{{3V=*1<5$pNHD|s$WyY@*w8ExB``5gi9G5~6*j=rR~!cW~IW zvv*lcq&Qj$;c~K{RPyUwKn-bl)QBMI=75UQzMs8|HUvzVq&Bf%fL=Yq7=g?P%60~_ z86#a*&dU`uDLrr~m^cq1Z3H|7HzJ(l*`uHY1QdAbu#rTljp%{UOT#WN=cv#g!jlZ+ z>ZeSZG-36^xl>A7{Ob5whOxsB&l@uRnyE(U?@Sm1x@+N7^iGQGaGf+`T*+E*JBAkH_;=3g7zb{{+P zsQUgI^^N2P{azAAo{i~rfD1C|krVNlK-Qcmrr5Af$au)){4vu9HfrO|vuqBqEQ+Qg zHv+3>)U-yVbfjT|#8lC=#%DzdV6-bkJLilhGI+8?h6i`?@%~yq81%eK1WGfdu8`So ziz^va$H+vo6>QX4f?{_vb9M=$(Ub-`TUAZ1EF^7N7#zE?`j{8}xZt1&j+6?CIidH0pTa)bsX2M`VdD#S ziTnTxqXZ<(3yl84XD}+X2U&fe~R<#!TD!#&aY0mXre>T34+Y2NkPEZ zdk)q+3|UZu43qxo0VVg3$aOKL3hP}HP4urKxzs<7m8$Abn^jRv3_U?eWI!~a@qigu zeoJZ$;8LRi>tFCKsX^V1DCs(avk?c`6moU6tFML~v1p=ioF3G-4$qADrOkMMU`GRf zQ9z;wt+pziausl*24XW%m8cw_WGcPtqkAaQvk8^0!RWn=`X~iIb0^q z+_*8fnq*Q=wrLe)Qc;dADU$M}5Y~Y`uzAb&6pCF!N>z;Xo03B6%tDTV;(5g5bURj^ zBMpJvN!A1B!D-%=%YBNJ(L*f>+zvT|ynS2C@bg_p=gx_Fu_D}d$HLx!&ZSBB^b$KWV<~T+<-P?>y;Vrd7c0HGj z$zD`7YKQy8hLqGasw0ro&sU8?roo+gQPn8K7&(={T{UXIuxb<$C#`DKhN@B9xvEh+ zd?aZ`e4@CgGo6lWRio6+H09`kCj*`K04)<7qA*(!F4O8qkzUF!sv%up%ML}ZBr^tv;8OMw1xCR{R?E7utpg9NXsNm^93#3BMQqB>~ z#o-r9twEE4ivSnX*~GXcffOMcRvtWfdV^$Q%ek8{ z#g7bcAh*XO1ck4X5K2pTP$j>gvj03lK6jMYa_}aFU3RB{3|?yCg!B*aYE)S(1`%b8NjLh4y3>J;=!s=_cz~Qv`lRD7I*y)n3?={UIcBAZg4@#@M{^JtM6g*4 ztneIHVrI#-RK!irbp{Bh8pRNjR_zLAi5>EI2)Ak;McL0E+x82k?{5!|6t_J;02PlGtJ=b-q?nLRz~%029u zcwE1AyIT67YJ8B*Q#+U{s<53_t4+LrKtJ@o=KTZY+SvDMAwa(82=v8Rq^lt5dxp9R z+)4J8tJS=3WcWcztOm9qLZS@7ce2@lT z?V$HKrjes%(D{Mv<61!q9`gYY7j>h+*rqvk`idshk?jx{3!$wJ|9)wI|(^iRYJA=74GB@<7S-T9$W%=gm zRL=wH>_@o2&lutJwNmd3*iKp&JcXf6S{%&``K|S5K;q507#cEz;h^B69AMYFfKoV( zo=TE5|H1lQ^$(E9{HBc_NL!p{z{_=qz{_2bnAauiUBJIJ7hJBX8?}l~2@*07Ns(ad z0X!X|(aAF*-H?vC(S(~jdffpSw@#kU;Uu3gxHNA)4!0RZqn68{STeZx5Sa@>sv4k1 zB|)bF>;N6#`*{=QYiX zS`tt%4{Ax!DVoyAoq;J(5S_XbD23$HDM6&fsieUlEW2C?Jaa@xU>%b~uYzwS=x7?^ z0d~HHf#q`AVX8!z`WqN7sT^YcB(3iOaGUxbM2Y)4h}&G)`G7}=F7A9l!5`{;(CIKl zs`>Q(rRE22P~7)!fUuEF$?x9zn)nsHCO+`Oi7W9YaNWqjG2Bk04vG|_*E;oHs(Z(G(C7DF_sDk= z@0jeYe*sWkm$Lf+HpGZE{D>rJyN)_hev7)PtqCgit01Opz?-!fC?wH^QuCt_5>W@Q z)2V}HSLZm_`ULMzP-0PH06C=wz)}ezSw;^2%gB@z=-(S~H$BMGw*3nLYE0&VFubj1 zlGH670B;xS%?$th%*<$JTUoQ(HJ6QGqi3m|?21|Hv+8pP*=RO$mfFR}((bdf=#nHZ zx^(Xv<{%bUjJ}SmlbuaUVf>XkjE5=2T+r%lL<0miZcEmh%ip*T7rC{o;{ zj1-QBjbV2&l1Var46?!|xe){64UNMZY&+&JU9oCj3pJbBI(PZ9RjpI^R1RRDj#3#Hq$dTN9#ZHRQCv| z9s=);0a@Y%#`V8ccMKj1zqmUFg?*?yM#AnwzckW#Na^6ImAsP90B0*ni(Xwa{$2-p z@U2!EhB9LN|GVP=XYVzRuQ>1i)15Q|R1V?N;Fr#?Kq*6D(7A&4Wv(7UKx2&Ml? z6zE3g8Jepg`;p3iFAWw=HS9H_hg16dw+FQ?$x)@`Iz{+8Wg_F{TO*?mSxEbFgDLpH z6cEQcKTOnw(CZdZLeBLwyf}vX_fQ=+m1a>}GbHLD-;t7%u~OlbhSX^2rHFXP4)ykd1*#a)(FB-{oCO5zQr*40 zS`Wie&eNvQ*TChr_oyg*;t7b=*kFc zaJv=K0!nJJR=FrrRw{vVT{??DpJ(eBoyl(0`Gko%&_x z#REJ{M{29rx$V%uzjJ8pl+lraY{^ys4H;b3uIptf(g{}odj-~I`j2CUCmv~=R+Aq}&y95tyh*gSaJ=<6RmjShU0 z*2e<54b;aXB0O=KP8L-hi!as50!|fjz5UNSSv-SI7UdNYV$g1vl8Nw}@c*Qp1+l&F z+0w!U6}jyD^|g??sRhXY?_mdW|DLcDiH#5Vp1|8nX)!6hdmngL47+LHdA#d$aR(L6 zdJ2OW!&;D67eSp0bx?r`b!ohdPzRMN-a#c&MJ`)(P{B9PBMyTg(X&1PQbf@ASzunU zps+ZFdPp@wXYgch<-giV1!Y=pir%E^PXC*RDoai;P&>AFEc#x3Rdm%XU;U`F^Gs{+ z1}iBz9swNV=qhmdJRBP?gd=6@7VEn^ON(p4#iEo%GMp21KLEC$Lm3QarW=w3?1=9I z><|L%P!8B3Lz95THwSD#0Jf6=ORyZwAzNG;rF32pbt1C@R1Mgg8UTJF*`J0oRh3fc zz=;5z~*M{AmS!tnuGfTamGqt^!12zNi3xxdZeAI75py9rBenr9;tq2NHs$xnI zN)wP*wftWYMk?pEz;Lhd zFfyZZ+@bUXZBPk3co!{&Y2x8_idN}l13GEx59^fLd{99hs6cP1t<$JLk8e%|6<}9N zI#Li|6Ly*%eX592#a#(kQH(@GKWD;|18G22^a+0e1)o@`e7rJ(60|eXVyl8KQ_OL? z3%YI5LZQYVeYQADqD)k(p}MH45Q<37x7

8%T&Et)y#UO?>{@j@_ga&sUpx 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 amtbBD@er&RH<@DW;XGlX)POs+p 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/titillium-regularitalic-webfont.ttf b/fonts/titillium-regularitalic-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..92ebc1fc1dedb94d5ddd1241b09a4dc253b9cde2 GIT binary patch literal 47636 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 literal 0 HcmV?d00001 diff --git a/fonts/titillium-semibold-webfont.eot b/fonts/titillium-semibold-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..ec42bbfc4495c51e3bc56ba218163920fc69df02 GIT binary patch literal 21238 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�z7S>6D<}Cfwv8b$zY~hHE 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 literal 0 HcmV?d00001 diff --git a/fonts/titillium-semibold-webfont.svg b/fonts/titillium-semibold-webfont.svg new file mode 100644 index 0000000..f319eaa --- /dev/null +++ b/fonts/titillium-semibold-webfont.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/titillium-semibold-webfont.ttf b/fonts/titillium-semibold-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e05a0753a57fc9c043cb70d655288a6ffed4728a GIT binary patch literal 41984 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 DX7r-R literal 0 HcmV?d00001 diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..85107bc --- /dev/null +++ b/footer.php @@ -0,0 +1,90 @@ + + + + + +

+ + + + + + + \ No newline at end of file diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..2795154 --- /dev/null +++ b/functions.php @@ -0,0 +1,729 @@ + esc_html__( 'Mobile', 'microtype' ), + 'header' => esc_html__( 'Header', 'microtype' ), + ) ); + } + +} +add_action( 'after_setup_theme', 'microtype_setup' ); + + +/* Custom navigation +/* ------------------------------------ */ +if ( ! class_exists( '\Microtype\Nav' ) ) { + require_once 'functions/nav.php'; +} +add_action( 'wp', function() { + $nav = new \Microtype\Nav(); + $nav->enqueue( + [ + 'script' => 'js/nav.js', + 'inline' => false, + ] + ); + $nav->init(); +} ); + + +/* Custom logo +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_custom_logo' ) ) { + + function microtype_custom_logo() { + $defaults = array( + 'height' => 120, + 'width' => 400, + 'flex-height' => true, + 'flex-width' => true, + 'header-text' => array( 'site-title', 'site-description' ), + ); + add_theme_support( 'custom-logo', $defaults ); + } + +} +add_action( 'after_setup_theme', 'microtype_custom_logo' ); + + +/* Custom header +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_custom_header' ) ) { + + function microtype_custom_header() { + $args = array( + 'default-image' => false, + 'default-text' => false, + 'width' => 600, + 'height' => 600, + 'flex-width' => true, + 'flex-height' => true, + ); + add_theme_support( 'custom-header', $args ); + } + +} +add_action( 'after_setup_theme', 'microtype_custom_header' ); + + +/* Custom background +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_custom_background' ) ) { + + function microtype_custom_background() { + $args = array(); + add_theme_support( 'custom-background', $args ); + } + +} +add_action( 'after_setup_theme', 'microtype_custom_background' ); + + +/* Deregister +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_deregister' ) ) { + + function microtype_deregister() { + wp_deregister_style( 'wp-pagenavi' ); + } + +} +add_action( 'wp_enqueue_scripts', 'microtype_deregister', 100 ); + + +/* Register sidebars +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_sidebars' ) ) { + + function microtype_sidebars() { + register_sidebar(array( 'name' => esc_html__('Primary','microtype'),'id' => 'primary','description' => esc_html__("Normal full width sidebar","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); + + if ( get_theme_mod('footer-ads') == 'on' ) { register_sidebar(array( 'name' => esc_html__('Footer Ads',"microtype"),'id' => 'footer-ads', 'description' => esc_html__("Footer ads area","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } + + if ( get_theme_mod('footer-widgets') >= '1' ) { register_sidebar(array( 'name' => esc_html__('Footer 1','microtype'),'id' => 'footer-1', 'description' => esc_html__("Widgetized footer","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } + if ( get_theme_mod('footer-widgets') >= '2' ) { register_sidebar(array( 'name' => esc_html__('Footer 2','microtype'),'id' => 'footer-2', 'description' => esc_html__("Widgetized footer","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } + if ( get_theme_mod('footer-widgets') >= '3' ) { register_sidebar(array( 'name' => esc_html__('Footer 3','microtype'),'id' => 'footer-3', 'description' => esc_html__("Widgetized footer","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } + if ( get_theme_mod('footer-widgets') >= '4' ) { register_sidebar(array( 'name' => esc_html__('Footer 4','microtype'),'id' => 'footer-4', 'description' => esc_html__("Widgetized footer","microtype"), 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } + } + +} +add_action( 'widgets_init', 'microtype_sidebars' ); + + +/* Enqueue javascript +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_scripts' ) ) { + + function microtype_scripts() { + wp_enqueue_script( 'microtype-slick', get_template_directory_uri() . '/js/slick.min.js', array( 'jquery' ),'', false ); + wp_enqueue_script( 'microtype-fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array( 'jquery' ),'', true ); + if ( get_theme_mod( 'theme-toggle','on' ) == 'on' ) { wp_enqueue_script( 'microtype-theme-toggle', get_template_directory_uri() . '/js/theme-toggle.js', array( 'jquery' ),'', true ); } + wp_enqueue_script( 'microtype-jq-sticky-anything', get_template_directory_uri() . '/js/jq-sticky-anything.min.js', array( 'jquery' ),'', true ); + wp_enqueue_script( 'microtype-scripts', get_template_directory_uri() . '/js/scripts.js', array( 'jquery' ),'', true ); + if ( is_singular() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } + } + +} +add_action( 'wp_enqueue_scripts', 'microtype_scripts' ); + + +/* Enqueue css +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_styles' ) ) { + + function microtype_styles() { + wp_enqueue_style( 'microtype-style', get_stylesheet_uri() ); + wp_enqueue_style( 'microtype-responsive', get_template_directory_uri().'/responsive.css' ); + if ( ( get_theme_mod( 'dark-theme','off' ) == 'on' ) || ( get_theme_mod( 'theme-toggle','on' ) == 'on' ) ) { wp_enqueue_style( 'microtype-dark', get_template_directory_uri().'/dark.css' ); } + wp_enqueue_style( 'microtype-font-awesome', get_template_directory_uri().'/fonts/all.min.css' ); + } + +} +add_action( 'wp_enqueue_scripts', 'microtype_styles' ); + + +/* ------------------------------------------------------------------------- * + * Template functions +/* ------------------------------------------------------------------------- */ + +/* Layout class +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_layout_class' ) ) { + + function microtype_layout_class() { + // Default layout + $layout = 'col-1c'; + $default = 'col-1c'; + + // Check for page/post specific layout + if ( is_page() || is_single() ) { + // Reset post data + wp_reset_postdata(); + global $post; + // Get meta + $meta = get_post_meta($post->ID,'_layout',true); + // Get if set and not set to inherit + if ( isset($meta) && !empty($meta) && $meta != 'inherit' ) { $layout = $meta; } + // Else check for page-global / single-global + elseif ( is_single() && ( get_theme_mod('layout-single','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-single',''.$default.''); + elseif ( is_page() && ( get_theme_mod('layout-page','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-page',''.$default.''); + // Else get global option + else $layout = get_theme_mod('layout-global',''.$default.''); + } + + // Set layout based on page + elseif ( is_home() && ( get_theme_mod('layout-home','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-home',''.$default.''); + elseif ( is_category() && ( get_theme_mod('layout-archive-category','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-archive-category',''.$default.''); + elseif ( is_archive() && ( get_theme_mod('layout-archive','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-archive',''.$default.''); + elseif ( is_search() && ( get_theme_mod('layout-search','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-search',''.$default.''); + elseif ( is_404() && ( get_theme_mod('layout-404','inherit') !='inherit' ) ) $layout = get_theme_mod('layout-404',''.$default.''); + + // Global option + else $layout = get_theme_mod('layout-global',''.$default.''); + + // Return layout class + return esc_attr( $layout ); + } + +} + + +/* Dynamic sidebar primary +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_sidebar_primary' ) ) { + + function microtype_sidebar_primary() { + // Default sidebar + $sidebar = 'primary'; + + // Set sidebar based on page + if ( is_home() && get_theme_mod('s1-home') ) $sidebar = get_theme_mod('s1-home'); + if ( is_single() && get_theme_mod('s1-single') ) $sidebar = get_theme_mod('s1-single'); + if ( is_archive() && get_theme_mod('s1-archive') ) $sidebar = get_theme_mod('s1-archive'); + if ( is_category() && get_theme_mod('s1-archive-category') ) $sidebar = get_theme_mod('s1-archive-category'); + if ( is_search() && get_theme_mod('s1-search') ) $sidebar = get_theme_mod('s1-search'); + if ( is_404() && get_theme_mod('s1-404') ) $sidebar = get_theme_mod('s1-404'); + if ( is_page() && get_theme_mod('s1-page') ) $sidebar = get_theme_mod('s1-page'); + + // Check for page/post specific sidebar + if ( is_page() || is_single() ) { + // Reset post data + wp_reset_postdata(); + global $post; + // Get meta + $meta = get_post_meta($post->ID,'_sidebar_primary',true); + if ( $meta ) { $sidebar = $meta; } + } + + // Return sidebar + return esc_attr( $sidebar ); + } + +} + + +/* Dynamic sidebar secondary +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_sidebar_secondary' ) ) { + + function microtype_sidebar_secondary() { + // Default sidebar + $sidebar = 'secondary'; + + // Set sidebar based on page + if ( is_home() && get_theme_mod('s2-home') ) $sidebar = get_theme_mod('s2-home'); + if ( is_single() && get_theme_mod('s2-single') ) $sidebar = get_theme_mod('s2-single'); + if ( is_archive() && get_theme_mod('s2-archive') ) $sidebar = get_theme_mod('s2-archive'); + if ( is_category() && get_theme_mod('s2-archive-category') ) $sidebar = get_theme_mod('s2-archive-category'); + if ( is_search() && get_theme_mod('s2-search') ) $sidebar = get_theme_mod('s2-search'); + if ( is_404() && get_theme_mod('s2-404') ) $sidebar = get_theme_mod('s2-404'); + if ( is_page() && get_theme_mod('s2-page') ) $sidebar = get_theme_mod('s2-page'); + + // Check for page/post specific sidebar + if ( is_page() || is_single() ) { + // Reset post data + wp_reset_postdata(); + global $post; + // Get meta + $meta = get_post_meta($post->ID,'_sidebar_secondary',true); + if ( $meta ) { $sidebar = $meta; } + } + + // Return sidebar + return esc_attr( $sidebar ); + } + +} + + +/* Social links +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_social_links' ) ) { + + function microtype_social_links() { + if ( !get_theme_mod('social-links') =='' ) { + $links = get_theme_mod('social-links', array()); + if ( !empty( $links ) ) { + echo ''; + } + } + } + +} + + +/* Site name/logo +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_site_title' ) ) { + + function microtype_site_title() { + + $custom_logo_id = get_theme_mod( 'custom_logo' ); + $logo = wp_get_attachment_image_src( $custom_logo_id , 'full' ); + + // Text or image? + if ( has_custom_logo() ) { + $logo = ''.esc_attr( get_bloginfo('name')).'';; + } else { + $logo = esc_html( get_bloginfo('name') ); + } + + $link = ''.$logo.''; + + if ( is_front_page() || is_home() ) { + $sitename = '

'.$link.'

'."\n"; + } else { + $sitename = '

'.$link.'

'."\n"; + } + + return $sitename; + } + +} + + +/* Blog title +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_blog_title' ) ) { + + function microtype_blog_title() { + global $post; + $heading = esc_html( get_theme_mod('blog-heading') ); + $subheading = esc_html( get_theme_mod('blog-subheading') ); + if($heading) { + $title = $heading; + } else { + $title = esc_html( get_bloginfo('name') ); + } + if($subheading) { + $title = $title.' '.$subheading.''; + } + + return $title; + } + +} + + +/* Related posts +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_related_posts' ) ) { + + function microtype_related_posts() { + wp_reset_postdata(); + global $post; + + // Define shared post arguments + $args = array( + 'no_found_rows' => true, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'ignore_sticky_posts' => 1, + 'orderby' => 'rand', + 'post__not_in' => array($post->ID), + 'posts_per_page' => 3 + ); + // Related by categories + if ( get_theme_mod('related-posts') == 'categories' ) { + + $cats = get_post_meta($post->ID, 'related-cat', true); + + if ( !$cats ) { + $cats = wp_get_post_categories($post->ID, array('fields'=>'ids')); + $args['category__in'] = $cats; + } else { + $args['cat'] = $cats; + } + } + // Related by tags + if ( get_theme_mod('related-posts') == 'tags' ) { + + $tags = get_post_meta($post->ID, 'related-tag', true); + + if ( !$tags ) { + $tags = wp_get_post_tags($post->ID, array('fields'=>'ids')); + $args['tag__in'] = $tags; + } else { + $args['tag_slug__in'] = explode(',', $tags); + } + if ( !$tags ) { $break = true; } + } + + $query = !isset($break)?new WP_Query($args):new WP_Query; + return $query; + } + +} + + +/* Get images attached to post +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_post_images' ) ) { + + function microtype_post_images( $args=array() ) { + global $post; + + $defaults = array( + 'numberposts' => -1, + 'order' => 'ASC', + 'orderby' => 'menu_order', + 'post_mime_type' => 'image', + 'post_parent' => $post->ID, + 'post_type' => 'attachment', + ); + + $args = wp_parse_args( $args, $defaults ); + + return get_posts( $args ); + } + +} + + +/* Get featured post ids +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_get_featured_post_ids' ) ) { + + function microtype_get_featured_post_ids() { + $args = array( + 'category' => absint( get_theme_mod('featured-category','') ), + 'numberposts' => absint( get_theme_mod('featured-posts-count','0')), + ); + $posts = get_posts($args); + if ( !$posts ) return false; + foreach ( $posts as $post ) + $ids[] = $post->ID; + return $ids; + } + +} + + +/* ------------------------------------------------------------------------- * + * Filters +/* ------------------------------------------------------------------------- */ + +/* Body class +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_body_class' ) ) { + + function microtype_body_class( $classes ) { + $classes[] = microtype_layout_class(); + if ( get_theme_mod( 'boxed','off' ) != 'on' ) { $classes[] = 'full-width'; } + if ( get_theme_mod( 'boxed','off' ) == 'on' ) { $classes[] = 'boxed'; } + if ( has_nav_menu( 'mobile' ) ) { $classes[] = 'mobile-menu'; } + if ( get_theme_mod( 'dark-theme' ,'off' ) == 'on' ) { $classes[] = 'dark'; } + if ( get_theme_mod( 'invert-logo' ,'on' ) == 'on' ) { $classes[] = 'invert-dark-logo'; } + if ( get_theme_mod( 'theme-toggle' ,'on' ) == 'on' ) { $classes[] = 'theme-toggle-on'; } + if (! ( is_user_logged_in() ) ) { $classes[] = 'logged-out'; } + return $classes; + } + +} +add_filter( 'body_class', 'microtype_body_class' ); + + +/* Excerpt ending +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_excerpt_more' ) ) { + + function microtype_excerpt_more( $more ) { + if ( is_admin() ) { + return $more; + } + return '...'; + } + +} +add_filter( 'excerpt_more', 'microtype_excerpt_more' ); + + +/* Excerpt length +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_excerpt_length' ) ) { + + function microtype_excerpt_length( $length ) { + if ( is_admin() ) { + return $length; + } + + $new_length = $length; + $custom_length = get_theme_mod( 'excerpt-length', '0' ); + if ( absint( $custom_length ) > 0 ) { + $new_length = absint( $custom_length ); + } + return $new_length; + } + +} +add_filter( 'excerpt_length', 'microtype_excerpt_length', 999 ); + + +/* Add responsive container to embeds +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_embed_html' ) ) { + + function microtype_embed_html( $html, $url ) { + + $pattern = '/^https?:\/\/(www\.)?twitter\.com/'; + $is_twitter = preg_match( $pattern, $url ); + + if ( 1 === $is_twitter ) { + return $html; + } + + return '
' . $html . '
'; + } + +} +add_filter( 'embed_oembed_html', 'microtype_embed_html', 10, 3 ); + + +/* Add responsive container to jetpack embeds +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_embed_html_jp' ) ) { + + function microtype_embed_html_jp( $html ) { + return '
' . $html . '
'; + } + +} +add_filter( 'video_embed_html', 'microtype_embed_html_jp' ); + + +/* ------------------------------------------------------------------------- * + * Actions +/* ------------------------------------------------------------------------- */ + +/* Include or exclude featured articles in loop +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_pre_get_posts' ) ) { + + function microtype_pre_get_posts( $query ) { + // Are we on main query ? + if ( !$query->is_main_query() ) return; + if ( $query->is_home() ) { + + // Featured posts enabled + if ( get_theme_mod('featured-posts-count','0') != '0' ) { + // Get featured post ids + $featured_post_ids = microtype_get_featured_post_ids(); + // Exclude posts + if ( $featured_post_ids && get_theme_mod('featured-posts-include','on') =='on' ) + $query->set('post__not_in', $featured_post_ids); + } + } + } + +} +add_action( 'pre_get_posts', 'microtype_pre_get_posts' ); + + +/* Script for no-js / js class +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_html_js_class' ) ) { + + function microtype_html_js_class () { + echo ''. "\n"; + } + +} +add_action( 'wp_head', 'microtype_html_js_class', 1 ); + + +/* Admin panel css +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_admin_panel_css' ) ) { + + function microtype_admin_panel_css() { + global $pagenow; + if ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) { + echo ''; + } + } + +} +add_action( 'admin_head', 'microtype_admin_panel_css' ); + + +/* TGM plugin activation +/* ------------------------------------ */ +if ( ! function_exists( 'microtype_plugins' ) ) { + + function microtype_plugins() { + if ( get_theme_mod('recommended-plugins','on') =='on' ) { + // Add the following plugins + $plugins = array( + array( + 'name' => esc_html__( 'Alx Extensions', 'microtype' ), + 'slug' => 'alx-extensions', + ), + array( + 'name' => esc_html__( 'Meta Box', 'microtype' ), + 'slug' => 'meta-box', + ), + array( + 'name' => esc_html__( 'Regenerate Thumbnails', 'microtype' ), + 'slug' => 'regenerate-thumbnails', + ), + array( + 'name' => esc_html__( 'WP-PageNavi', 'microtype' ), + 'slug' => 'wp-pagenavi', + ) + ); + tgmpa( $plugins ); + } + } + +} +add_action( 'tgmpa_register', 'microtype_plugins' ); + + +/* WooCommerce basic support +/* ------------------------------------ */ +function microtype_wc_wrapper_start() { + echo '
'; +} +function microtype_wc_wrapper_end() { + echo '
'; +} +remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10); +remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10); +add_action('woocommerce_before_main_content', 'microtype_wc_wrapper_start', 10); +add_action('woocommerce_after_main_content', 'microtype_wc_wrapper_end', 10); + + +/* Accessibility IE11 fix - https://git.io/vWdr2 +/* ------------------------------------ */ +function microtype_skip_link_focus_fix() { + ?> + + wp_version = $GLOBALS['wp_version']; + + // Announce that the class is ready, and pass the object (for advanced use). + do_action_ref_array( 'tgmpa_init', array( $this ) ); + + + + // When the rest of WP has loaded, kick-start the rest of the class. + add_action( 'init', array( $this, 'init' ) ); + } + + /** + * Magic method to (not) set protected properties from outside of this class. + * + * {@internal hackedihack... There is a serious bug in v2.3.2 - 2.3.6 where the `menu` property + * is being assigned rather than tested in a conditional, effectively rendering it useless. + * This 'hack' prevents this from happening.}} + * + * @see https://github.com/TGMPA/TGM-Plugin-Activation/blob/2.3.6/tgm-plugin-activation/class-tgm-plugin-activation.php#L1593 + * + * @since 2.5.2 + * + * @param string $name Name of an inaccessible property. + * @param mixed $value Value to assign to the property. + * @return void Silently fail to set the property when this is tried from outside of this class context. + * (Inside this class context, the __set() method if not used as there is direct access.) + */ + public function __set( $name, $value ) { + return; + } + + /** + * Magic method to get the value of a protected property outside of this class context. + * + * @since 2.5.2 + * + * @param string $name Name of an inaccessible property. + * @return mixed The property value. + */ + public function __get( $name ) { + return $this->{$name}; + } + + /** + * Initialise the interactions between this class and WordPress. + * + * Hooks in three new methods for the class: admin_menu, notices and styles. + * + * @since 2.0.0 + * + * @see TGM_Plugin_Activation::admin_menu() + * @see TGM_Plugin_Activation::notices() + * @see TGM_Plugin_Activation::styles() + */ + public function init() { + /** + * By default TGMPA only loads on the WP back-end and not in an Ajax call. Using this filter + * you can overrule that behaviour. + * + * @since 2.5.0 + * + * @param bool $load Whether or not TGMPA should load. + * Defaults to the return of `is_admin() && ! defined( 'DOING_AJAX' )`. + */ + if ( true !== apply_filters( 'tgmpa_load', ( is_admin() && ! defined( 'DOING_AJAX' ) ) ) ) { + return; + } + + // Load class strings. + $this->strings = array( + 'page_title' => __( 'Install Required Plugins', 'microtype' ), + 'menu_title' => __( 'Install Plugins', 'microtype' ), + /* translators: %s: plugin name. */ + 'installing' => __( 'Installing Plugin: %s', 'microtype' ), + /* translators: %s: plugin name. */ + 'updating' => __( 'Updating Plugin: %s', 'microtype' ), + 'oops' => __( 'Something went wrong with the plugin API.', 'microtype' ), + 'notice_can_install_required' => _n_noop( + /* translators: 1: plugin name(s). */ + 'This theme requires the following plugin: %1$s.', + 'This theme requires the following plugins: %1$s.', + 'microtype' + ), + 'notice_can_install_recommended' => _n_noop( + /* translators: 1: plugin name(s). */ + 'This theme recommends the following plugin: %1$s.', + 'This theme recommends the following plugins: %1$s.', + 'microtype' + ), + 'notice_ask_to_update' => _n_noop( + /* translators: 1: plugin name(s). */ + 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', + 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.', + 'microtype' + ), + 'notice_ask_to_update_maybe' => _n_noop( + /* translators: 1: plugin name(s). */ + 'There is an update available for: %1$s.', + 'There are updates available for the following plugins: %1$s.', + 'microtype' + ), + 'notice_can_activate_required' => _n_noop( + /* translators: 1: plugin name(s). */ + 'The following required plugin is currently inactive: %1$s.', + 'The following required plugins are currently inactive: %1$s.', + 'microtype' + ), + 'notice_can_activate_recommended' => _n_noop( + /* translators: 1: plugin name(s). */ + 'The following recommended plugin is currently inactive: %1$s.', + 'The following recommended plugins are currently inactive: %1$s.', + 'microtype' + ), + 'install_link' => _n_noop( + 'Begin installing plugin', + 'Begin installing plugins', + 'microtype' + ), + 'update_link' => _n_noop( + 'Begin updating plugin', + 'Begin updating plugins', + 'microtype' + ), + 'activate_link' => _n_noop( + 'Begin activating plugin', + 'Begin activating plugins', + 'microtype' + ), + 'return' => __( 'Return to Required Plugins Installer', 'microtype' ), + 'dashboard' => __( 'Return to the Dashboard', 'microtype' ), + 'plugin_activated' => __( 'Plugin activated successfully.', 'microtype' ), + 'activated_successfully' => __( 'The following plugin was activated successfully:', 'microtype' ), + /* translators: 1: plugin name. */ + 'plugin_already_active' => __( 'No action taken. Plugin %1$s was already active.', 'microtype' ), + /* translators: 1: plugin name. */ + 'plugin_needs_higher_version' => __( 'Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin.', 'microtype' ), + /* translators: 1: dashboard link. */ + 'complete' => __( 'All plugins installed and activated successfully. %1$s', 'microtype' ), + 'dismiss' => __( 'Dismiss this notice', 'microtype' ), + 'notice_cannot_install_activate' => __( 'There are one or more required or recommended plugins to install, update or activate.', 'microtype' ), + 'contact_admin' => __( 'Please contact the administrator of this site for help.', 'microtype' ), + ); + + do_action( 'tgmpa_register' ); + + /* After this point, the plugins should be registered and the configuration set. */ + + // Proceed only if we have plugins to handle. + if ( empty( $this->plugins ) || ! is_array( $this->plugins ) ) { + return; + } + + // Set up the menu and notices if we still have outstanding actions. + if ( true !== $this->is_tgmpa_complete() ) { + // Sort the plugins. + array_multisort( $this->sort_order, SORT_ASC, $this->plugins ); + + add_action( 'admin_menu', array( $this, 'admin_menu' ) ); + add_action( 'admin_head', array( $this, 'dismiss' ) ); + + // Prevent the normal links from showing underneath a single install/update page. + add_filter( 'install_plugin_complete_actions', array( $this, 'actions' ) ); + add_filter( 'update_plugin_complete_actions', array( $this, 'actions' ) ); + + if ( $this->has_notices ) { + add_action( 'admin_notices', array( $this, 'notices' ) ); + add_action( 'admin_init', array( $this, 'admin_init' ), 1 ); + add_action( 'admin_enqueue_scripts', array( $this, 'thickbox' ) ); + } + } + + // If needed, filter plugin action links. + add_action( 'load-plugins.php', array( $this, 'add_plugin_action_link_filters' ), 1 ); + + // Make sure things get reset on switch theme. + add_action( 'switch_theme', array( $this, 'flush_plugins_cache' ) ); + + if ( $this->has_notices ) { + add_action( 'switch_theme', array( $this, 'update_dismiss' ) ); + } + + // Setup the force activation hook. + if ( true === $this->has_forced_activation ) { + add_action( 'admin_init', array( $this, 'force_activation' ) ); + } + + // Setup the force deactivation hook. + if ( true === $this->has_forced_deactivation ) { + add_action( 'switch_theme', array( $this, 'force_deactivation' ) ); + } + } + + + + + + + + /** + * Hook in plugin action link filters for the WP native plugins page. + * + * - Prevent activation of plugins which don't meet the minimum version requirements. + * - Prevent deactivation of force-activated plugins. + * - Add update notice if update available. + * + * @since 2.5.0 + */ + public function add_plugin_action_link_filters() { + foreach ( $this->plugins as $slug => $plugin ) { + if ( false === $this->can_plugin_activate( $slug ) ) { + add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_activate' ), 20 ); + } + + if ( true === $plugin['force_activation'] ) { + add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_deactivate' ), 20 ); + } + + if ( false !== $this->does_plugin_require_update( $slug ) ) { + add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_update' ), 20 ); + } + } + } + + /** + * Remove the 'Activate' link on the WP native plugins page if the plugin does not meet the + * minimum version requirements. + * + * @since 2.5.0 + * + * @param array $actions Action links. + * @return array + */ + public function filter_plugin_action_links_activate( $actions ) { + unset( $actions['activate'] ); + + return $actions; + } + + /** + * Remove the 'Deactivate' link on the WP native plugins page if the plugin has been set to force activate. + * + * @since 2.5.0 + * + * @param array $actions Action links. + * @return array + */ + public function filter_plugin_action_links_deactivate( $actions ) { + unset( $actions['deactivate'] ); + + return $actions; + } + + /** + * Add a 'Requires update' link on the WP native plugins page if the plugin does not meet the + * minimum version requirements. + * + * @since 2.5.0 + * + * @param array $actions Action links. + * @return array + */ + public function filter_plugin_action_links_update( $actions ) { + $actions['update'] = sprintf( + '%3$s', + esc_url( $this->get_tgmpa_status_url( 'update' ) ), + esc_attr__( 'This plugin needs to be updated to be compatible with your theme.', 'microtype' ), + esc_html__( 'Update Required', 'microtype' ) + ); + + return $actions; + } + + /** + * Handles calls to show plugin information via links in the notices. + * + * We get the links in the admin notices to point to the TGMPA page, rather + * than the typical plugin-install.php file, so we can prepare everything + * beforehand. + * + * WP does not make it easy to show the plugin information in the thickbox - + * here we have to require a file that includes a function that does the + * main work of displaying it, enqueue some styles, set up some globals and + * finally call that function before exiting. + * + * Down right easy once you know how... + * + * Returns early if not the TGMPA page. + * + * @since 2.1.0 + * + * @global string $tab Used as iframe div class names, helps with styling + * @global string $body_id Used as the iframe body ID, helps with styling + * + * @return null Returns early if not the TGMPA page. + */ + public function admin_init() { + if ( ! $this->is_tgmpa_page() ) { + return; + } + + if ( isset( $_REQUEST['tab'] ) && 'plugin-information' === $_REQUEST['tab'] ) { + // Needed for install_plugin_information(). + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; + + wp_enqueue_style( 'plugin-install' ); + + global $tab, $body_id; + $body_id = 'plugin-information'; + // @codingStandardsIgnoreStart + $tab = 'plugin-information'; + // @codingStandardsIgnoreEnd + + install_plugin_information(); + + exit; + } + } + + /** + * Enqueue thickbox scripts/styles for plugin info. + * + * Thickbox is not automatically included on all admin pages, so we must + * manually enqueue it for those pages. + * + * Thickbox is only loaded if the user has not dismissed the admin + * notice or if there are any plugins left to install and activate. + * + * @since 2.1.0 + */ + public function thickbox() { + if ( ! get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, true ) ) { + add_thickbox(); + } + } + + /** + * Adds submenu page if there are plugin actions to take. + * + * This method adds the submenu page letting users know that a required + * plugin needs to be installed. + * + * This page disappears once the plugin has been installed and activated. + * + * @since 1.0.0 + * + * @see TGM_Plugin_Activation::init() + * @see TGM_Plugin_Activation::install_plugins_page() + * + * @return null Return early if user lacks capability to install a plugin. + */ + public function admin_menu() { + // Make sure privileges are correct to see the page. + if ( ! current_user_can( 'install_plugins' ) ) { + return; + } + + $args = apply_filters( + 'tgmpa_admin_menu_args', + array( + 'parent_slug' => $this->parent_slug, // Parent Menu slug. + 'page_title' => $this->strings['page_title'], // Page title. + 'menu_title' => $this->strings['menu_title'], // Menu title. + 'capability' => $this->capability, // Capability. + 'menu_slug' => $this->menu, // Menu slug. + 'function' => array( $this, 'install_plugins_page' ), // Callback. + ) + ); + + $this->add_admin_menu( $args ); + } + + /** + * Add the menu item. + * + * {@internal IMPORTANT! If this function changes, review the regex in the custom TGMPA + * generator on the website.}} + * + * @since 2.5.0 + * + * @param array $args Menu item configuration. + */ + protected function add_admin_menu( array $args ) { + $this->page_hook = add_theme_page( $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'] ); + } + + /** + * Echoes plugin installation form. + * + * This method is the callback for the admin_menu method function. + * This displays the admin page and form area where the user can select to install and activate the plugin. + * Aborts early if we're processing a plugin installation action. + * + * @since 1.0.0 + * + * @return null Aborts early if we're processing a plugin installation action. + */ + public function install_plugins_page() { + // Store new instance of plugin table in object. + $plugin_table = new TGMPA_List_Table; + + // Return early if processing a plugin installation action. + if ( ( ( 'tgmpa-bulk-install' === $plugin_table->current_action() || 'tgmpa-bulk-update' === $plugin_table->current_action() ) && $plugin_table->process_bulk_actions() ) || $this->do_plugin_install() ) { + return; + } + + // Force refresh of available plugin information so we'll know about manual updates/deletes. + wp_clean_plugins_cache( false ); + + ?> +
+

+ prepare_items(); ?> + + message ) && is_string( $this->message ) ) { + echo wp_kses_post( $this->message ); + } + ?> + views(); ?> + +
+ + + display(); ?> +
+
+ sanitize_key( urldecode( $_GET['plugin'] ) ); + + if ( ! isset( $this->plugins[ $slug ] ) ) { + return false; + } + + // Was an install or upgrade action link clicked? + if ( ( isset( $_GET['tgmpa-install'] ) && 'install-plugin' === $_GET['tgmpa-install'] ) || ( isset( $_GET['tgmpa-update'] ) && 'update-plugin' === $_GET['tgmpa-update'] ) ) { + + $install_type = 'install'; + if ( isset( $_GET['tgmpa-update'] ) && 'update-plugin' === $_GET['tgmpa-update'] ) { + $install_type = 'update'; + } + + check_admin_referer( 'tgmpa-' . $install_type, 'tgmpa-nonce' ); + + // Pass necessary information via URL if WP_Filesystem is needed. + $url = wp_nonce_url( + add_query_arg( + array( + 'plugin' => urlencode( $slug ), + 'tgmpa-' . $install_type => $install_type . '-plugin', + ), + $this->get_tgmpa_url() + ), + 'tgmpa-' . $install_type, + 'tgmpa-nonce' + ); + + $method = ''; // Leave blank so WP_Filesystem can populate it as necessary. + + if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, array() ) ) ) { + return true; + } + + if ( ! WP_Filesystem( $creds ) ) { + request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, array() ); // Setup WP_Filesystem. + return true; + } + + /* If we arrive here, we have the filesystem. */ + + // Prep variables for Plugin_Installer_Skin class. + $extra = array(); + $extra['slug'] = $slug; // Needed for potentially renaming of directory name. + $source = $this->get_download_url( $slug ); + $api = ( 'repo' === $this->plugins[ $slug ]['source_type'] ) ? $this->get_plugins_api( $slug ) : null; + $api = ( false !== $api ) ? $api : null; + + $url = add_query_arg( + array( + 'action' => $install_type . '-plugin', + 'plugin' => urlencode( $slug ), + ), + 'update.php' + ); + + if ( ! class_exists( 'Plugin_Upgrader', false ) ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + } + + $title = ( 'update' === $install_type ) ? $this->strings['updating'] : $this->strings['installing']; + $skin_args = array( + 'type' => ( 'bundled' !== $this->plugins[ $slug ]['source_type'] ) ? 'web' : 'upload', + 'title' => sprintf( $title, $this->plugins[ $slug ]['name'] ), + 'url' => esc_url_raw( $url ), + 'nonce' => $install_type . '-plugin_' . $slug, + 'plugin' => '', + 'api' => $api, + 'extra' => $extra, + ); + unset( $title ); + + if ( 'update' === $install_type ) { + $skin_args['plugin'] = $this->plugins[ $slug ]['file_path']; + $skin = new Plugin_Upgrader_Skin( $skin_args ); + } else { + $skin = new Plugin_Installer_Skin( $skin_args ); + } + + // Create a new instance of Plugin_Upgrader. + $upgrader = new Plugin_Upgrader( $skin ); + + // Perform the action and install the plugin from the $source urldecode(). + add_filter( 'upgrader_source_selection', array( $this, 'maybe_adjust_source_dir' ), 1, 3 ); + + if ( 'update' === $install_type ) { + // Inject our info into the update transient. + $to_inject = array( $slug => $this->plugins[ $slug ] ); + $to_inject[ $slug ]['source'] = $source; + $this->inject_update_info( $to_inject ); + + $upgrader->upgrade( $this->plugins[ $slug ]['file_path'] ); + } else { + $upgrader->install( $source ); + } + + remove_filter( 'upgrader_source_selection', array( $this, 'maybe_adjust_source_dir' ), 1 ); + + // Make sure we have the correct file path now the plugin is installed/updated. + $this->populate_file_path( $slug ); + + // Only activate plugins if the config option is set to true and the plugin isn't + // already active (upgrade). + if ( $this->is_automatic && ! $this->is_plugin_active( $slug ) ) { + $plugin_activate = $upgrader->plugin_info(); // Grab the plugin info from the Plugin_Upgrader method. + if ( false === $this->activate_single_plugin( $plugin_activate, $slug, true ) ) { + return true; // Finish execution of the function early as we encountered an error. + } + } + + $this->show_tgmpa_version(); + + // Display message based on if all plugins are now active or not. + if ( $this->is_tgmpa_complete() ) { + echo '

', sprintf( esc_html( $this->strings['complete'] ), '' . esc_html__( 'Return to the Dashboard', 'microtype' ) . '' ), '

'; + echo ''; + } else { + echo '

', esc_html( $this->strings['return'] ), '

'; + } + + return true; + } elseif ( isset( $this->plugins[ $slug ]['file_path'], $_GET['tgmpa-activate'] ) && 'activate-plugin' === $_GET['tgmpa-activate'] ) { + // Activate action link was clicked. + check_admin_referer( 'tgmpa-activate', 'tgmpa-nonce' ); + + if ( false === $this->activate_single_plugin( $this->plugins[ $slug ]['file_path'], $slug ) ) { + return true; // Finish execution of the function early as we encountered an error. + } + } + + return false; + } + + /** + * Inject information into the 'update_plugins' site transient as WP checks that before running an update. + * + * @since 2.5.0 + * + * @param array $plugins The plugin information for the plugins which are to be updated. + */ + public function inject_update_info( $plugins ) { + $repo_updates = get_site_transient( 'update_plugins' ); + + if ( ! is_object( $repo_updates ) ) { + $repo_updates = new stdClass; + } + + foreach ( $plugins as $slug => $plugin ) { + $file_path = $plugin['file_path']; + + if ( empty( $repo_updates->response[ $file_path ] ) ) { + $repo_updates->response[ $file_path ] = new stdClass; + } + + // We only really need to set package, but let's do all we can in case WP changes something. + $repo_updates->response[ $file_path ]->slug = $slug; + $repo_updates->response[ $file_path ]->plugin = $file_path; + $repo_updates->response[ $file_path ]->new_version = $plugin['version']; + $repo_updates->response[ $file_path ]->package = $plugin['source']; + if ( empty( $repo_updates->response[ $file_path ]->url ) && ! empty( $plugin['external_url'] ) ) { + $repo_updates->response[ $file_path ]->url = $plugin['external_url']; + } + } + + set_site_transient( 'update_plugins', $repo_updates ); + } + + /** + * Adjust the plugin directory name if necessary. + * + * The final destination directory of a plugin is based on the subdirectory name found in the + * (un)zipped source. In some cases - most notably GitHub repository plugin downloads -, this + * subdirectory name is not the same as the expected slug and the plugin will not be recognized + * as installed. This is fixed by adjusting the temporary unzipped source subdirectory name to + * the expected plugin slug. + * + * @since 2.5.0 + * + * @param string $source Path to upgrade/zip-file-name.tmp/subdirectory/. + * @param string $remote_source Path to upgrade/zip-file-name.tmp. + * @param \WP_Upgrader $upgrader Instance of the upgrader which installs the plugin. + * @return string $source + */ + public function maybe_adjust_source_dir( $source, $remote_source, $upgrader ) { + if ( ! $this->is_tgmpa_page() || ! is_object( $GLOBALS['wp_filesystem'] ) ) { + return $source; + } + + // Check for single file plugins. + $source_files = array_keys( $GLOBALS['wp_filesystem']->dirlist( $remote_source ) ); + if ( 1 === count( $source_files ) && false === $GLOBALS['wp_filesystem']->is_dir( $source ) ) { + return $source; + } + + // Multi-file plugin, let's see if the directory is correctly named. + $desired_slug = ''; + + // Figure out what the slug is supposed to be. + if ( false === $upgrader->bulk && ! empty( $upgrader->skin->options['extra']['slug'] ) ) { + $desired_slug = $upgrader->skin->options['extra']['slug']; + } else { + // Bulk installer contains less info, so fall back on the info registered here. + foreach ( $this->plugins as $slug => $plugin ) { + if ( ! empty( $upgrader->skin->plugin_names[ $upgrader->skin->i ] ) && $plugin['name'] === $upgrader->skin->plugin_names[ $upgrader->skin->i ] ) { + $desired_slug = $slug; + break; + } + } + unset( $slug, $plugin ); + } + + if ( ! empty( $desired_slug ) ) { + $subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) ); + + if ( ! empty( $subdir_name ) && $subdir_name !== $desired_slug ) { + $from_path = untrailingslashit( $source ); + $to_path = trailingslashit( $remote_source ) . $desired_slug; + + if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) { + return trailingslashit( $to_path ); + } else { + return new WP_Error( 'rename_failed', esc_html__( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'microtype' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'microtype' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) ); + } + } elseif ( empty( $subdir_name ) ) { + return new WP_Error( 'packaged_wrong', esc_html__( 'The remote plugin package consists of more than one file, but the files are not packaged in a folder.', 'microtype' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'microtype' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) ); + } + } + + return $source; + } + + /** + * Activate a single plugin and send feedback about the result to the screen. + * + * @since 2.5.0 + * + * @param string $file_path Path within wp-plugins/ to main plugin file. + * @param string $slug Plugin slug. + * @param bool $automatic Whether this is an automatic activation after an install. Defaults to false. + * This determines the styling of the output messages. + * @return bool False if an error was encountered, true otherwise. + */ + protected function activate_single_plugin( $file_path, $slug, $automatic = false ) { + if ( $this->can_plugin_activate( $slug ) ) { + $activate = activate_plugin( $file_path ); + + if ( is_wp_error( $activate ) ) { + echo '

', wp_kses_post( $activate->get_error_message() ), '

', + '

', esc_html( $this->strings['return'] ), '

'; + + return false; // End it here if there is an error with activation. + } else { + if ( ! $automatic ) { + // Make sure message doesn't display again if bulk activation is performed + // immediately after a single activation. + if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK. + echo '

', esc_html( $this->strings['activated_successfully'] ), ' ', esc_html( $this->plugins[ $slug ]['name'] ), '.

'; + } + } else { + // Simpler message layout for use on the plugin install page. + echo '

', esc_html( $this->strings['plugin_activated'] ), '

'; + } + } + } elseif ( $this->is_plugin_active( $slug ) ) { + // No simpler message format provided as this message should never be encountered + // on the plugin install page. + echo '

', + sprintf( + esc_html( $this->strings['plugin_already_active'] ), + '' . esc_html( $this->plugins[ $slug ]['name'] ) . '' + ), + '

'; + } elseif ( $this->does_plugin_require_update( $slug ) ) { + if ( ! $automatic ) { + // Make sure message doesn't display again if bulk activation is performed + // immediately after a single activation. + if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK. + echo '

', + sprintf( + esc_html( $this->strings['plugin_needs_higher_version'] ), + '' . esc_html( $this->plugins[ $slug ]['name'] ) . '' + ), + '

'; + } + } else { + // Simpler message layout for use on the plugin install page. + echo '

', sprintf( esc_html( $this->strings['plugin_needs_higher_version'] ), esc_html( $this->plugins[ $slug ]['name'] ) ), '

'; + } + } + + return true; + } + + /** + * Echoes required plugin notice. + * + * Outputs a message telling users that a specific plugin is required for + * their theme. If appropriate, it includes a link to the form page where + * users can install and activate the plugin. + * + * Returns early if we're on the Install page. + * + * @since 1.0.0 + * + * @global object $current_screen + * + * @return null Returns early if we're on the Install page. + */ + public function notices() { + // Remove nag on the install page / Return early if the nag message has been dismissed or user < author. + if ( ( $this->is_tgmpa_page() || $this->is_core_update_page() ) || get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, true ) || ! current_user_can( apply_filters( 'tgmpa_show_admin_notice_capability', 'publish_posts' ) ) ) { + return; + } + + // Store for the plugin slugs by message type. + $message = array(); + + // Initialize counters used to determine plurality of action link texts. + $install_link_count = 0; + $update_link_count = 0; + $activate_link_count = 0; + $total_required_action_count = 0; + + foreach ( $this->plugins as $slug => $plugin ) { + if ( $this->is_plugin_active( $slug ) && false === $this->does_plugin_have_update( $slug ) ) { + continue; + } + + if ( ! $this->is_plugin_installed( $slug ) ) { + if ( current_user_can( 'install_plugins' ) ) { + $install_link_count++; + + if ( true === $plugin['required'] ) { + $message['notice_can_install_required'][] = $slug; + } else { + $message['notice_can_install_recommended'][] = $slug; + } + } + if ( true === $plugin['required'] ) { + $total_required_action_count++; + } + } else { + if ( ! $this->is_plugin_active( $slug ) && $this->can_plugin_activate( $slug ) ) { + if ( current_user_can( 'activate_plugins' ) ) { + $activate_link_count++; + + if ( true === $plugin['required'] ) { + $message['notice_can_activate_required'][] = $slug; + } else { + $message['notice_can_activate_recommended'][] = $slug; + } + } + if ( true === $plugin['required'] ) { + $total_required_action_count++; + } + } + + if ( $this->does_plugin_require_update( $slug ) || false !== $this->does_plugin_have_update( $slug ) ) { + + if ( current_user_can( 'update_plugins' ) ) { + $update_link_count++; + + if ( $this->does_plugin_require_update( $slug ) ) { + $message['notice_ask_to_update'][] = $slug; + } elseif ( false !== $this->does_plugin_have_update( $slug ) ) { + $message['notice_ask_to_update_maybe'][] = $slug; + } + } + if ( true === $plugin['required'] ) { + $total_required_action_count++; + } + } + } + } + unset( $slug, $plugin ); + + // If we have notices to display, we move forward. + if ( ! empty( $message ) || $total_required_action_count > 0 ) { + krsort( $message ); // Sort messages. + $rendered = ''; + + // As add_settings_error() wraps the final message in a

and as the final message can't be + // filtered, using

's in our html would render invalid html output. + $line_template = '%s' . "\n"; + + if ( ! current_user_can( 'activate_plugins' ) && ! current_user_can( 'install_plugins' ) && ! current_user_can( 'update_plugins' ) ) { + $rendered = esc_html( $this->strings['notice_cannot_install_activate'] ) . ' ' . esc_html( $this->strings['contact_admin'] ); + $rendered .= $this->create_user_action_links_for_notice( 0, 0, 0, $line_template ); + } else { + + // If dismissable is false and a message is set, output it now. + if ( ! $this->dismissable && ! empty( $this->dismiss_msg ) ) { + $rendered .= sprintf( $line_template, wp_kses_post( $this->dismiss_msg ) ); + } + + // Render the individual message lines for the notice. + foreach ( $message as $type => $plugin_group ) { + $linked_plugins = array(); + + // Get the external info link for a plugin if one is available. + foreach ( $plugin_group as $plugin_slug ) { + $linked_plugins[] = $this->get_info_link( $plugin_slug ); + } + unset( $plugin_slug ); + + $count = count( $plugin_group ); + $linked_plugins = array_map( array( 'TGMPA_Utils', 'wrap_in_em' ), $linked_plugins ); + $last_plugin = array_pop( $linked_plugins ); // Pop off last name to prep for readability. + $imploded = empty( $linked_plugins ) ? $last_plugin : ( implode( ', ', $linked_plugins ) . ' ' . esc_html_x( 'and', 'plugin A *and* plugin B', 'microtype' ) . ' ' . $last_plugin ); + + $rendered .= sprintf( + $line_template, + sprintf( + translate_nooped_plural( $this->strings[ $type ], $count, 'microtype' ), + $imploded, + $count + ) + ); + + } + unset( $type, $plugin_group, $linked_plugins, $count, $last_plugin, $imploded ); + + $rendered .= $this->create_user_action_links_for_notice( $install_link_count, $update_link_count, $activate_link_count, $line_template ); + } + + // Register the nag messages and prepare them to be processed. + add_settings_error( 'tgmpa', 'tgmpa', $rendered, $this->get_admin_notice_class() ); + } + + // Admin options pages already output settings_errors, so this is to avoid duplication. + if ( 'options-general' !== $GLOBALS['current_screen']->parent_base ) { + $this->display_settings_errors(); + } + } + + /** + * Generate the user action links for the admin notice. + * + * @since 2.6.0 + * + * @param int $install_count Number of plugins to install. + * @param int $update_count Number of plugins to update. + * @param int $activate_count Number of plugins to activate. + * @param int $line_template Template for the HTML tag to output a line. + * @return string Action links. + */ + protected function create_user_action_links_for_notice( $install_count, $update_count, $activate_count, $line_template ) { + // Setup action links. + $action_links = array( + 'install' => '', + 'update' => '', + 'activate' => '', + 'dismiss' => $this->dismissable ? '' . esc_html( $this->strings['dismiss'] ) . '' : '', + ); + + $link_template = '%1$s'; + + if ( current_user_can( 'install_plugins' ) ) { + if ( $install_count > 0 ) { + $action_links['install'] = sprintf( + $link_template, + translate_nooped_plural( $this->strings['install_link'], $install_count, 'microtype' ), + esc_url( $this->get_tgmpa_status_url( 'install' ) ) + ); + } + if ( $update_count > 0 ) { + $action_links['update'] = sprintf( + $link_template, + translate_nooped_plural( $this->strings['update_link'], $update_count, 'microtype' ), + esc_url( $this->get_tgmpa_status_url( 'update' ) ) + ); + } + } + + if ( current_user_can( 'activate_plugins' ) && $activate_count > 0 ) { + $action_links['activate'] = sprintf( + $link_template, + translate_nooped_plural( $this->strings['activate_link'], $activate_count, 'microtype' ), + esc_url( $this->get_tgmpa_status_url( 'activate' ) ) + ); + } + + $action_links = apply_filters( 'tgmpa_notice_action_links', $action_links ); + + $action_links = array_filter( (array) $action_links ); // Remove any empty array items. + + if ( ! empty( $action_links ) ) { + $action_links = sprintf( $line_template, implode( ' | ', $action_links ) ); + return apply_filters( 'tgmpa_notice_rendered_action_links', $action_links ); + } else { + return ''; + } + } + + /** + * Get admin notice class. + * + * Work around all the changes to the various admin notice classes between WP 4.4 and 3.7 + * (lowest supported version by TGMPA). + * + * @since 2.6.0 + * + * @return string + */ + protected function get_admin_notice_class() { + if ( ! empty( $this->strings['nag_type'] ) ) { + return sanitize_html_class( strtolower( $this->strings['nag_type'] ) ); + } else { + if ( version_compare( $this->wp_version, '4.2', '>=' ) ) { + return 'notice-warning'; + } elseif ( version_compare( $this->wp_version, '4.1', '>=' ) ) { + return 'notice'; + } else { + return 'updated'; + } + } + } + + /** + * Display settings errors and remove those which have been displayed to avoid duplicate messages showing + * + * @since 2.5.0 + */ + protected function display_settings_errors() { + global $wp_settings_errors; + + settings_errors( 'tgmpa' ); + + foreach ( (array) $wp_settings_errors as $key => $details ) { + if ( 'tgmpa' === $details['setting'] ) { + unset( $wp_settings_errors[ $key ] ); + break; + } + } + } + + /** + * Register dismissal of admin notices. + * + * Acts on the dismiss link in the admin nag messages. + * If clicked, the admin notice disappears and will no longer be visible to this user. + * + * @since 2.1.0 + */ + public function dismiss() { + if ( isset( $_GET['tgmpa-dismiss'] ) && check_admin_referer( 'tgmpa-dismiss-' . get_current_user_id() ) ) { + update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, 1 ); + } + } + + /** + * Add individual plugin to our collection of plugins. + * + * If the required keys are not set or the plugin has already + * been registered, the plugin is not added. + * + * @since 2.0.0 + * + * @param array|null $plugin Array of plugin arguments or null if invalid argument. + * @return null Return early if incorrect argument. + */ + public function register( $plugin ) { + if ( empty( $plugin['slug'] ) || empty( $plugin['name'] ) ) { + return; + } + + if ( empty( $plugin['slug'] ) || ! is_string( $plugin['slug'] ) || isset( $this->plugins[ $plugin['slug'] ] ) ) { + return; + } + + $defaults = array( + 'name' => '', // String + 'slug' => '', // String + 'source' => 'repo', // String + 'required' => false, // Boolean + 'version' => '', // String + 'force_activation' => false, // Boolean + 'force_deactivation' => false, // Boolean + 'external_url' => '', // String + 'is_callable' => '', // String|Array. + ); + + // Prepare the received data. + $plugin = wp_parse_args( $plugin, $defaults ); + + // Standardize the received slug. + $plugin['slug'] = $this->sanitize_key( $plugin['slug'] ); + + // Forgive users for using string versions of booleans or floats for version number. + $plugin['version'] = (string) $plugin['version']; + $plugin['source'] = empty( $plugin['source'] ) ? 'repo' : $plugin['source']; + $plugin['required'] = TGMPA_Utils::validate_bool( $plugin['required'] ); + $plugin['force_activation'] = TGMPA_Utils::validate_bool( $plugin['force_activation'] ); + $plugin['force_deactivation'] = TGMPA_Utils::validate_bool( $plugin['force_deactivation'] ); + + // Enrich the received data. + $plugin['file_path'] = $this->_get_plugin_basename_from_slug( $plugin['slug'] ); + $plugin['source_type'] = $this->get_plugin_source_type( $plugin['source'] ); + + // Set the class properties. + $this->plugins[ $plugin['slug'] ] = $plugin; + $this->sort_order[ $plugin['slug'] ] = $plugin['name']; + + // Should we add the force activation hook ? + if ( true === $plugin['force_activation'] ) { + $this->has_forced_activation = true; + } + + // Should we add the force deactivation hook ? + if ( true === $plugin['force_deactivation'] ) { + $this->has_forced_deactivation = true; + } + } + + /** + * Determine what type of source the plugin comes from. + * + * @since 2.5.0 + * + * @param string $source The source of the plugin as provided, either empty (= WP repo), a file path + * (= bundled) or an external URL. + * @return string 'repo', 'external', or 'bundled' + */ + protected function get_plugin_source_type( $source ) { + if ( 'repo' === $source || preg_match( self::WP_REPO_REGEX, $source ) ) { + return 'repo'; + } elseif ( preg_match( self::IS_URL_REGEX, $source ) ) { + return 'external'; + } else { + return 'bundled'; + } + } + + /** + * Sanitizes a string key. + * + * Near duplicate of WP Core `sanitize_key()`. The difference is that uppercase characters *are* + * allowed, so as not to break upgrade paths from non-standard bundled plugins using uppercase + * characters in the plugin directory path/slug. Silly them. + * + * @see https://developer.wordpress.org/reference/hooks/sanitize_key/ + * + * @since 2.5.0 + * + * @param string $key String key. + * @return string Sanitized key + */ + public function sanitize_key( $key ) { + $raw_key = $key; + $key = preg_replace( '`[^A-Za-z0-9_-]`', '', $key ); + + /** + * Filter a sanitized key string. + * + * @since 2.5.0 + * + * @param string $key Sanitized key. + * @param string $raw_key The key prior to sanitization. + */ + return apply_filters( 'tgmpa_sanitize_key', $key, $raw_key ); + } + + /** + * Amend default configuration settings. + * + * @since 2.0.0 + * + * @param array $config Array of config options to pass as class properties. + */ + public function config( $config ) { + $keys = array( + 'id', + 'default_path', + 'has_notices', + 'dismissable', + 'dismiss_msg', + 'menu', + 'parent_slug', + 'capability', + 'is_automatic', + 'message', + 'strings', + ); + + foreach ( $keys as $key ) { + if ( isset( $config[ $key ] ) ) { + if ( is_array( $config[ $key ] ) ) { + $this->$key = array_merge( $this->$key, $config[ $key ] ); + } else { + $this->$key = $config[ $key ]; + } + } + } + } + + /** + * Amend action link after plugin installation. + * + * @since 2.0.0 + * + * @param array $install_actions Existing array of actions. + * @return false|array Amended array of actions. + */ + public function actions( $install_actions ) { + // Remove action links on the TGMPA install page. + if ( $this->is_tgmpa_page() ) { + return false; + } + + return $install_actions; + } + + /** + * Flushes the plugins cache on theme switch to prevent stale entries + * from remaining in the plugin table. + * + * @since 2.4.0 + * + * @param bool $clear_update_cache Optional. Whether to clear the Plugin updates cache. + * Parameter added in v2.5.0. + */ + public function flush_plugins_cache( $clear_update_cache = true ) { + wp_clean_plugins_cache( $clear_update_cache ); + } + + /** + * Set file_path key for each installed plugin. + * + * @since 2.1.0 + * + * @param string $plugin_slug Optional. If set, only (re-)populates the file path for that specific plugin. + * Parameter added in v2.5.0. + */ + public function populate_file_path( $plugin_slug = '' ) { + if ( ! empty( $plugin_slug ) && is_string( $plugin_slug ) && isset( $this->plugins[ $plugin_slug ] ) ) { + $this->plugins[ $plugin_slug ]['file_path'] = $this->_get_plugin_basename_from_slug( $plugin_slug ); + } else { + // Add file_path key for all plugins. + foreach ( $this->plugins as $slug => $values ) { + $this->plugins[ $slug ]['file_path'] = $this->_get_plugin_basename_from_slug( $slug ); + } + } + } + + /** + * Helper function to extract the file path of the plugin file from the + * plugin slug, if the plugin is installed. + * + * @since 2.0.0 + * + * @param string $slug Plugin slug (typically folder name) as provided by the developer. + * @return string Either file path for plugin if installed, or just the plugin slug. + */ + protected function _get_plugin_basename_from_slug( $slug ) { + $keys = array_keys( $this->get_plugins() ); + + foreach ( $keys as $key ) { + if ( preg_match( '|^' . $slug . '/|', $key ) ) { + return $key; + } + } + + return $slug; + } + + /** + * Retrieve plugin data, given the plugin name. + * + * Loops through the registered plugins looking for $name. If it finds it, + * it returns the $data from that plugin. Otherwise, returns false. + * + * @since 2.1.0 + * + * @param string $name Name of the plugin, as it was registered. + * @param string $data Optional. Array key of plugin data to return. Default is slug. + * @return string|boolean Plugin slug if found, false otherwise. + */ + public function _get_plugin_data_from_name( $name, $data = 'slug' ) { + foreach ( $this->plugins as $values ) { + if ( $name === $values['name'] && isset( $values[ $data ] ) ) { + return $values[ $data ]; + } + } + + return false; + } + + /** + * Retrieve the download URL for a package. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string Plugin download URL or path to local file or empty string if undetermined. + */ + public function get_download_url( $slug ) { + $dl_source = ''; + + switch ( $this->plugins[ $slug ]['source_type'] ) { + case 'repo': + return $this->get_wp_repo_download_url( $slug ); + case 'external': + return $this->plugins[ $slug ]['source']; + case 'bundled': + return $this->default_path . $this->plugins[ $slug ]['source']; + } + + return $dl_source; // Should never happen. + } + + /** + * Retrieve the download URL for a WP repo package. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string Plugin download URL. + */ + protected function get_wp_repo_download_url( $slug ) { + $source = ''; + $api = $this->get_plugins_api( $slug ); + + if ( false !== $api && isset( $api->download_link ) ) { + $source = $api->download_link; + } + + return $source; + } + + /** + * Try to grab information from WordPress API. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return object Plugins_api response object on success, WP_Error on failure. + */ + protected function get_plugins_api( $slug ) { + static $api = array(); // Cache received responses. + + if ( ! isset( $api[ $slug ] ) ) { + if ( ! function_exists( 'plugins_api' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; + } + + $response = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) ); + + $api[ $slug ] = false; + + if ( is_wp_error( $response ) ) { + wp_die( esc_html( $this->strings['oops'] ) ); + } else { + $api[ $slug ] = $response; + } + } + + return $api[ $slug ]; + } + + /** + * Retrieve a link to a plugin information page. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string Fully formed html link to a plugin information page if available + * or the plugin name if not. + */ + public function get_info_link( $slug ) { + if ( ! empty( $this->plugins[ $slug ]['external_url'] ) && preg_match( self::IS_URL_REGEX, $this->plugins[ $slug ]['external_url'] ) ) { + $link = sprintf( + '%2$s', + esc_url( $this->plugins[ $slug ]['external_url'] ), + esc_html( $this->plugins[ $slug ]['name'] ) + ); + } elseif ( 'repo' === $this->plugins[ $slug ]['source_type'] ) { + $url = add_query_arg( + array( + 'tab' => 'plugin-information', + 'plugin' => urlencode( $slug ), + 'TB_iframe' => 'true', + 'width' => '640', + 'height' => '500', + ), + self_admin_url( 'plugin-install.php' ) + ); + + $link = sprintf( + '%2$s', + esc_url( $url ), + esc_html( $this->plugins[ $slug ]['name'] ) + ); + } else { + $link = esc_html( $this->plugins[ $slug ]['name'] ); // No hyperlink. + } + + return $link; + } + + /** + * Determine if we're on the TGMPA Install page. + * + * @since 2.1.0 + * + * @return boolean True when on the TGMPA page, false otherwise. + */ + protected function is_tgmpa_page() { + return isset( $_GET['page'] ) && $this->menu === $_GET['page']; + } + + /** + * Determine if we're on a WP Core installation/upgrade page. + * + * @since 2.6.0 + * + * @return boolean True when on a WP Core installation/upgrade page, false otherwise. + */ + protected function is_core_update_page() { + // Current screen is not always available, most notably on the customizer screen. + if ( ! function_exists( 'get_current_screen' ) ) { + return false; + } + + $screen = get_current_screen(); + + if ( 'update-core' === $screen->base ) { + // Core update screen. + return true; + } elseif ( 'plugins' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok. + // Plugins bulk update screen. + return true; + } elseif ( 'update' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok. + // Individual updates (ajax call). + return true; + } + + return false; + } + + /** + * Retrieve the URL to the TGMPA Install page. + * + * I.e. depending on the config settings passed something along the lines of: + * http://example.com/wp-admin/themes.php?page=tgmpa-install-plugins + * + * @since 2.5.0 + * + * @return string Properly encoded URL (not escaped). + */ + public function get_tgmpa_url() { + static $url; + + if ( ! isset( $url ) ) { + $parent = $this->parent_slug; + if ( false === strpos( $parent, '.php' ) ) { + $parent = 'admin.php'; + } + $url = add_query_arg( + array( + 'page' => urlencode( $this->menu ), + ), + self_admin_url( $parent ) + ); + } + + return $url; + } + + /** + * Retrieve the URL to the TGMPA Install page for a specific plugin status (view). + * + * I.e. depending on the config settings passed something along the lines of: + * http://example.com/wp-admin/themes.php?page=tgmpa-install-plugins&plugin_status=install + * + * @since 2.5.0 + * + * @param string $status Plugin status - either 'install', 'update' or 'activate'. + * @return string Properly encoded URL (not escaped). + */ + public function get_tgmpa_status_url( $status ) { + return add_query_arg( + array( + 'plugin_status' => urlencode( $status ), + ), + $this->get_tgmpa_url() + ); + } + + /** + * Determine whether there are open actions for plugins registered with TGMPA. + * + * @since 2.5.0 + * + * @return bool True if complete, i.e. no outstanding actions. False otherwise. + */ + public function is_tgmpa_complete() { + $complete = true; + foreach ( $this->plugins as $slug => $plugin ) { + if ( ! $this->is_plugin_active( $slug ) || false !== $this->does_plugin_have_update( $slug ) ) { + $complete = false; + break; + } + } + + return $complete; + } + + /** + * Check if a plugin is installed. Does not take must-use plugins into account. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return bool True if installed, false otherwise. + */ + public function is_plugin_installed( $slug ) { + $installed_plugins = $this->get_plugins(); // Retrieve a list of all installed plugins (WP cached). + + return ( ! empty( $installed_plugins[ $this->plugins[ $slug ]['file_path'] ] ) ); + } + + /** + * Check if a plugin is active. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return bool True if active, false otherwise. + */ + public function is_plugin_active( $slug ) { + return ( ( ! empty( $this->plugins[ $slug ]['is_callable'] ) && is_callable( $this->plugins[ $slug ]['is_callable'] ) ) || is_plugin_active( $this->plugins[ $slug ]['file_path'] ) ); + } + + /** + * Check if a plugin can be updated, i.e. if we have information on the minimum WP version required + * available, check whether the current install meets them. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return bool True if OK to update, false otherwise. + */ + public function can_plugin_update( $slug ) { + // We currently can't get reliable info on non-WP-repo plugins - issue #380. + if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) { + return true; + } + + $api = $this->get_plugins_api( $slug ); + + if ( false !== $api && isset( $api->requires ) ) { + return version_compare( $this->wp_version, $api->requires, '>=' ); + } + + // No usable info received from the plugins API, presume we can update. + return true; + } + + /** + * Check to see if the plugin is 'updatetable', i.e. installed, with an update available + * and no WP version requirements blocking it. + * + * @since 2.6.0 + * + * @param string $slug Plugin slug. + * @return bool True if OK to proceed with update, false otherwise. + */ + public function is_plugin_updatetable( $slug ) { + if ( ! $this->is_plugin_installed( $slug ) ) { + return false; + } else { + return ( false !== $this->does_plugin_have_update( $slug ) && $this->can_plugin_update( $slug ) ); + } + } + + /** + * Check if a plugin can be activated, i.e. is not currently active and meets the minimum + * plugin version requirements set in TGMPA (if any). + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return bool True if OK to activate, false otherwise. + */ + public function can_plugin_activate( $slug ) { + return ( ! $this->is_plugin_active( $slug ) && ! $this->does_plugin_require_update( $slug ) ); + } + + /** + * Retrieve the version number of an installed plugin. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string Version number as string or an empty string if the plugin is not installed + * or version unknown (plugins which don't comply with the plugin header standard). + */ + public function get_installed_version( $slug ) { + $installed_plugins = $this->get_plugins(); // Retrieve a list of all installed plugins (WP cached). + + if ( ! empty( $installed_plugins[ $this->plugins[ $slug ]['file_path'] ]['Version'] ) ) { + return $installed_plugins[ $this->plugins[ $slug ]['file_path'] ]['Version']; + } + + return ''; + } + + /** + * Check whether a plugin complies with the minimum version requirements. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return bool True when a plugin needs to be updated, otherwise false. + */ + public function does_plugin_require_update( $slug ) { + $installed_version = $this->get_installed_version( $slug ); + $minimum_version = $this->plugins[ $slug ]['version']; + + return version_compare( $minimum_version, $installed_version, '>' ); + } + + /** + * Check whether there is an update available for a plugin. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return false|string Version number string of the available update or false if no update available. + */ + public function does_plugin_have_update( $slug ) { + // Presume bundled and external plugins will point to a package which meets the minimum required version. + if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) { + if ( $this->does_plugin_require_update( $slug ) ) { + return $this->plugins[ $slug ]['version']; + } + + return false; + } + + $repo_updates = get_site_transient( 'update_plugins' ); + + if ( isset( $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->new_version ) ) { + return $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->new_version; + } + + return false; + } + + /** + * Retrieve potential upgrade notice for a plugin. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string The upgrade notice or an empty string if no message was available or provided. + */ + public function get_upgrade_notice( $slug ) { + // We currently can't get reliable info on non-WP-repo plugins - issue #380. + if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) { + return ''; + } + + $repo_updates = get_site_transient( 'update_plugins' ); + + if ( ! empty( $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->upgrade_notice ) ) { + return $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->upgrade_notice; + } + + return ''; + } + + /** + * Wrapper around the core WP get_plugins function, making sure it's actually available. + * + * @since 2.5.0 + * + * @param string $plugin_folder Optional. Relative path to single plugin folder. + * @return array Array of installed plugins with plugin information. + */ + public function get_plugins( $plugin_folder = '' ) { + if ( ! function_exists( 'get_plugins' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + return get_plugins( $plugin_folder ); + } + + /** + * Delete dismissable nag option when theme is switched. + * + * This ensures that the user(s) is/are again reminded via nag of required + * and/or recommended plugins if they re-activate the theme. + * + * @since 2.1.1 + */ + public function update_dismiss() { + delete_metadata( 'user', null, 'tgmpa_dismissed_notice_' . $this->id, null, true ); + } + + /** + * Forces plugin activation if the parameter 'force_activation' is + * set to true. + * + * This allows theme authors to specify certain plugins that must be + * active at all times while using the current theme. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. Setting this parameter + * to true will not allow the specified plugin to be deactivated unless + * the user switches themes. + * + * @since 2.2.0 + */ + public function force_activation() { + foreach ( $this->plugins as $slug => $plugin ) { + if ( true === $plugin['force_activation'] ) { + if ( ! $this->is_plugin_installed( $slug ) ) { + // Oops, plugin isn't there so iterate to next condition. + continue; + } elseif ( $this->can_plugin_activate( $slug ) ) { + // There we go, activate the plugin. + activate_plugin( $plugin['file_path'] ); + } + } + } + } + + /** + * Forces plugin deactivation if the parameter 'force_deactivation' + * is set to true and adds the plugin to the 'recently active' plugins list. + * + * This allows theme authors to specify certain plugins that must be + * deactivated upon switching from the current theme to another. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. + * + * @since 2.2.0 + */ + public function force_deactivation() { + $deactivated = array(); + + foreach ( $this->plugins as $slug => $plugin ) { + /* + * Only proceed forward if the parameter is set to true and plugin is active + * as a 'normal' (not must-use) plugin. + */ + if ( true === $plugin['force_deactivation'] && is_plugin_active( $plugin['file_path'] ) ) { + deactivate_plugins( $plugin['file_path'] ); + $deactivated[ $plugin['file_path'] ] = time(); + } + } + + if ( ! empty( $deactivated ) ) { + update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ) ); + } + } + + /** + * Echo the current TGMPA version number to the page. + * + * @since 2.5.0 + */ + public function show_tgmpa_version() { + echo '

', + esc_html( + sprintf( + /* translators: %s: version number */ + __( 'TGMPA v%s', 'microtype' ), + self::TGMPA_VERSION + ) + ), + '

'; + } + + /** + * Returns the singleton instance of the class. + * + * @since 2.4.0 + * + * @return \TGM_Plugin_Activation The TGM_Plugin_Activation object. + */ + public static function get_instance() { + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + } + + if ( ! function_exists( 'load_tgm_plugin_activation' ) ) { + /** + * Ensure only one instance of the class is ever invoked. + * + * @since 2.5.0 + */ + function load_tgm_plugin_activation() { + $GLOBALS['tgmpa'] = TGM_Plugin_Activation::get_instance(); + } + } + + if ( did_action( 'plugins_loaded' ) ) { + load_tgm_plugin_activation(); + } else { + add_action( 'plugins_loaded', 'load_tgm_plugin_activation' ); + } +} + +if ( ! function_exists( 'tgmpa' ) ) { + /** + * Helper function to register a collection of required plugins. + * + * @since 2.0.0 + * @api + * + * @param array $plugins An array of plugin arrays. + * @param array $config Optional. An array of configuration values. + */ + function tgmpa( $plugins, $config = array() ) { + $instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); + + foreach ( $plugins as $plugin ) { + call_user_func( array( $instance, 'register' ), $plugin ); + } + + if ( ! empty( $config ) && is_array( $config ) ) { + // Send out notices for deprecated arguments passed. + if ( isset( $config['notices'] ) ) { + _deprecated_argument( __FUNCTION__, '2.2.0', 'The `notices` config parameter was renamed to `has_notices` in TGMPA 2.2.0. Please adjust your configuration.' ); + if ( ! isset( $config['has_notices'] ) ) { + $config['has_notices'] = $config['notices']; + } + } + + if ( isset( $config['parent_menu_slug'] ) ) { + _deprecated_argument( __FUNCTION__, '2.4.0', 'The `parent_menu_slug` config parameter was removed in TGMPA 2.4.0. In TGMPA 2.5.0 an alternative was (re-)introduced. Please adjust your configuration. For more information visit the website: http://tgmpluginactivation.com/configuration/#h-configuration-options.' ); + } + if ( isset( $config['parent_url_slug'] ) ) { + _deprecated_argument( __FUNCTION__, '2.4.0', 'The `parent_url_slug` config parameter was removed in TGMPA 2.4.0. In TGMPA 2.5.0 an alternative was (re-)introduced. Please adjust your configuration. For more information visit the website: http://tgmpluginactivation.com/configuration/#h-configuration-options.' ); + } + + call_user_func( array( $instance, 'config' ), $config ); + } + } +} + +/** + * WP_List_Table isn't always available. If it isn't available, + * we load it here. + * + * @since 2.2.0 + */ +if ( ! class_exists( 'WP_List_Table' ) ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; +} + +if ( ! class_exists( 'TGMPA_List_Table' ) ) { + + /** + * List table class for handling plugins. + * + * Extends the WP_List_Table class to provide a future-compatible + * way of listing out all required/recommended plugins. + * + * Gives users an interface similar to the Plugin Administration + * area with similar (albeit stripped down) capabilities. + * + * This class also allows for the bulk install of plugins. + * + * @since 2.2.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGMPA_List_Table extends WP_List_Table { + /** + * TGMPA instance. + * + * @since 2.5.0 + * + * @var object + */ + protected $tgmpa; + + /** + * The currently chosen view. + * + * @since 2.5.0 + * + * @var string One of: 'all', 'install', 'update', 'activate' + */ + public $view_context = 'all'; + + /** + * The plugin counts for the various views. + * + * @since 2.5.0 + * + * @var array + */ + protected $view_totals = array( + 'all' => 0, + 'install' => 0, + 'update' => 0, + 'activate' => 0, + ); + + /** + * References parent constructor and sets defaults for class. + * + * @since 2.2.0 + */ + public function __construct() { + $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); + + parent::__construct( + array( + 'singular' => 'plugin', + 'plural' => 'plugins', + 'ajax' => false, + ) + ); + + if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], array( 'install', 'update', 'activate' ), true ) ) { + $this->view_context = sanitize_key( $_REQUEST['plugin_status'] ); + } + + add_filter( 'tgmpa_table_data_items', array( $this, 'sort_table_items' ) ); + } + + /** + * Get a list of CSS classes for the tag. + * + * Overruled to prevent the 'plural' argument from being added. + * + * @since 2.5.0 + * + * @return array CSS classnames. + */ + public function get_table_classes() { + return array( 'widefat', 'fixed' ); + } + + /** + * Gathers and renames all of our plugin information to be used by WP_List_Table to create our table. + * + * @since 2.2.0 + * + * @return array $table_data Information for use in table. + */ + protected function _gather_plugin_data() { + // Load thickbox for plugin links. + $this->tgmpa->admin_init(); + $this->tgmpa->thickbox(); + + // Categorize the plugins which have open actions. + $plugins = $this->categorize_plugins_to_views(); + + // Set the counts for the view links. + $this->set_view_totals( $plugins ); + + // Prep variables for use and grab list of all installed plugins. + $table_data = array(); + $i = 0; + + // Redirect to the 'all' view if no plugins were found for the selected view context. + if ( empty( $plugins[ $this->view_context ] ) ) { + $this->view_context = 'all'; + } + + foreach ( $plugins[ $this->view_context ] as $slug => $plugin ) { + $table_data[ $i ]['sanitized_plugin'] = $plugin['name']; + $table_data[ $i ]['slug'] = $slug; + $table_data[ $i ]['plugin'] = '' . $this->tgmpa->get_info_link( $slug ) . ''; + $table_data[ $i ]['source'] = $this->get_plugin_source_type_text( $plugin['source_type'] ); + $table_data[ $i ]['type'] = $this->get_plugin_advise_type_text( $plugin['required'] ); + $table_data[ $i ]['status'] = $this->get_plugin_status_text( $slug ); + $table_data[ $i ]['installed_version'] = $this->tgmpa->get_installed_version( $slug ); + $table_data[ $i ]['minimum_version'] = $plugin['version']; + $table_data[ $i ]['available_version'] = $this->tgmpa->does_plugin_have_update( $slug ); + + // Prep the upgrade notice info. + $upgrade_notice = $this->tgmpa->get_upgrade_notice( $slug ); + if ( ! empty( $upgrade_notice ) ) { + $table_data[ $i ]['upgrade_notice'] = $upgrade_notice; + + add_action( "tgmpa_after_plugin_row_{$slug}", array( $this, 'wp_plugin_update_row' ), 10, 2 ); + } + + $table_data[ $i ] = apply_filters( 'tgmpa_table_data_item', $table_data[ $i ], $plugin ); + + $i++; + } + + return $table_data; + } + + /** + * Categorize the plugins which have open actions into views for the TGMPA page. + * + * @since 2.5.0 + */ + protected function categorize_plugins_to_views() { + $plugins = array( + 'all' => array(), // Meaning: all plugins which still have open actions. + 'install' => array(), + 'update' => array(), + 'activate' => array(), + ); + + foreach ( $this->tgmpa->plugins as $slug => $plugin ) { + if ( $this->tgmpa->is_plugin_active( $slug ) && false === $this->tgmpa->does_plugin_have_update( $slug ) ) { + // No need to display plugins if they are installed, up-to-date and active. + continue; + } else { + $plugins['all'][ $slug ] = $plugin; + + if ( ! $this->tgmpa->is_plugin_installed( $slug ) ) { + $plugins['install'][ $slug ] = $plugin; + } else { + if ( false !== $this->tgmpa->does_plugin_have_update( $slug ) ) { + $plugins['update'][ $slug ] = $plugin; + } + + if ( $this->tgmpa->can_plugin_activate( $slug ) ) { + $plugins['activate'][ $slug ] = $plugin; + } + } + } + } + + return $plugins; + } + + /** + * Set the counts for the view links. + * + * @since 2.5.0 + * + * @param array $plugins Plugins order by view. + */ + protected function set_view_totals( $plugins ) { + foreach ( $plugins as $type => $list ) { + $this->view_totals[ $type ] = count( $list ); + } + } + + /** + * Get the plugin required/recommended text string. + * + * @since 2.5.0 + * + * @param string $required Plugin required setting. + * @return string + */ + protected function get_plugin_advise_type_text( $required ) { + if ( true === $required ) { + return __( 'Required', 'microtype' ); + } + + return __( 'Recommended', 'microtype' ); + } + + /** + * Get the plugin source type text string. + * + * @since 2.5.0 + * + * @param string $type Plugin type. + * @return string + */ + protected function get_plugin_source_type_text( $type ) { + $string = ''; + + switch ( $type ) { + case 'repo': + $string = __( 'WordPress Repository', 'microtype' ); + break; + case 'external': + $string = __( 'External Source', 'microtype' ); + break; + case 'bundled': + $string = __( 'Pre-Packaged', 'microtype' ); + break; + } + + return $string; + } + + /** + * Determine the plugin status message. + * + * @since 2.5.0 + * + * @param string $slug Plugin slug. + * @return string + */ + protected function get_plugin_status_text( $slug ) { + if ( ! $this->tgmpa->is_plugin_installed( $slug ) ) { + return __( 'Not Installed', 'microtype' ); + } + + if ( ! $this->tgmpa->is_plugin_active( $slug ) ) { + $install_status = __( 'Installed But Not Activated', 'microtype' ); + } else { + $install_status = __( 'Active', 'microtype' ); + } + + $update_status = ''; + + if ( $this->tgmpa->does_plugin_require_update( $slug ) && false === $this->tgmpa->does_plugin_have_update( $slug ) ) { + $update_status = __( 'Required Update not Available', 'microtype' ); + + } elseif ( $this->tgmpa->does_plugin_require_update( $slug ) ) { + $update_status = __( 'Requires Update', 'microtype' ); + + } elseif ( false !== $this->tgmpa->does_plugin_have_update( $slug ) ) { + $update_status = __( 'Update recommended', 'microtype' ); + } + + if ( '' === $update_status ) { + return $install_status; + } + + return sprintf( + /* translators: 1: install status, 2: update status */ + _x( '%1$s, %2$s', 'Install/Update Status', 'microtype' ), + $install_status, + $update_status + ); + } + + /** + * Sort plugins by Required/Recommended type and by alphabetical plugin name within each type. + * + * @since 2.5.0 + * + * @param array $items Prepared table items. + * @return array Sorted table items. + */ + public function sort_table_items( $items ) { + $type = array(); + $name = array(); + + foreach ( $items as $i => $plugin ) { + $type[ $i ] = $plugin['type']; // Required / recommended. + $name[ $i ] = $plugin['sanitized_plugin']; + } + + array_multisort( $type, SORT_DESC, $name, SORT_ASC, $items ); + + return $items; + } + + /** + * Get an associative array ( id => link ) of the views available on this table. + * + * @since 2.5.0 + * + * @return array + */ + public function get_views() { + $status_links = array(); + + foreach ( $this->view_totals as $type => $count ) { + if ( $count < 1 ) { + continue; + } + + switch ( $type ) { + case 'all': + /* translators: 1: number of plugins. */ + $text = _nx( 'All (%s)', 'All (%s)', $count, 'plugins', 'microtype' ); + break; + case 'install': + /* translators: 1: number of plugins. */ + $text = _n( 'To Install (%s)', 'To Install (%s)', $count, 'microtype' ); + break; + case 'update': + /* translators: 1: number of plugins. */ + $text = _n( 'Update Available (%s)', 'Update Available (%s)', $count, 'microtype' ); + break; + case 'activate': + /* translators: 1: number of plugins. */ + $text = _n( 'To Activate (%s)', 'To Activate (%s)', $count, 'microtype' ); + break; + default: + $text = ''; + break; + } + + if ( ! empty( $text ) ) { + + $status_links[ $type ] = sprintf( + '%s', + esc_url( $this->tgmpa->get_tgmpa_status_url( $type ) ), + ( $type === $this->view_context ) ? ' class="current"' : '', + sprintf( $text, number_format_i18n( $count ) ) + ); + } + } + + return $status_links; + } + + /** + * Create default columns to display important plugin information + * like type, action and status. + * + * @since 2.2.0 + * + * @param array $item Array of item data. + * @param string $column_name The name of the column. + * @return string + */ + public function column_default( $item, $column_name ) { + return $item[ $column_name ]; + } + + /** + * Required for bulk installing. + * + * Adds a checkbox for each plugin. + * + * @since 2.2.0 + * + * @param array $item Array of item data. + * @return string The input checkbox with all necessary info. + */ + public function column_cb( $item ) { + return sprintf( + '', + esc_attr( $this->_args['singular'] ), + esc_attr( $item['slug'] ), + esc_attr( $item['sanitized_plugin'] ) + ); + } + + /** + * Create default title column along with the action links. + * + * @since 2.2.0 + * + * @param array $item Array of item data. + * @return string The plugin name and action links. + */ + public function column_plugin( $item ) { + return sprintf( + '%1$s %2$s', + $item['plugin'], + $this->row_actions( $this->get_row_actions( $item ), true ) + ); + } + + /** + * Create version information column. + * + * @since 2.5.0 + * + * @param array $item Array of item data. + * @return string HTML-formatted version information. + */ + public function column_version( $item ) { + $output = array(); + + if ( $this->tgmpa->is_plugin_installed( $item['slug'] ) ) { + $installed = ! empty( $item['installed_version'] ) ? $item['installed_version'] : _x( 'unknown', 'as in: "version nr unknown"', 'microtype' ); + + $color = ''; + if ( ! empty( $item['minimum_version'] ) && $this->tgmpa->does_plugin_require_update( $item['slug'] ) ) { + $color = ' color: #ff0000; font-weight: bold;'; + } + + $output[] = sprintf( + '

%2$s' . __( 'Installed version:', 'microtype' ) . '

', + $color, + $installed + ); + } + + if ( ! empty( $item['minimum_version'] ) ) { + $output[] = sprintf( + '

%1$s' . __( 'Minimum required version:', 'microtype' ) . '

', + $item['minimum_version'] + ); + } + + if ( ! empty( $item['available_version'] ) ) { + $color = ''; + if ( ! empty( $item['minimum_version'] ) && version_compare( $item['available_version'], $item['minimum_version'], '>=' ) ) { + $color = ' color: #71C671; font-weight: bold;'; + } + + $output[] = sprintf( + '

%2$s' . __( 'Available version:', 'microtype' ) . '

', + $color, + $item['available_version'] + ); + } + + if ( empty( $output ) ) { + return ' '; // Let's not break the table layout. + } else { + return implode( "\n", $output ); + } + } + + /** + * Sets default message within the plugins table if no plugins + * are left for interaction. + * + * Hides the menu item to prevent the user from clicking and + * getting a permissions error. + * + * @since 2.2.0 + */ + public function no_items() { + echo esc_html__( 'No plugins to install, update or activate.', 'microtype' ) . ' ' . esc_html__( 'Return to the Dashboard', 'microtype' ) . ''; + echo ''; + } + + /** + * Output all the column information within the table. + * + * @since 2.2.0 + * + * @return array $columns The column names. + */ + public function get_columns() { + $columns = array( + 'cb' => '', + 'plugin' => __( 'Plugin', 'microtype' ), + 'source' => __( 'Source', 'microtype' ), + 'type' => __( 'Type', 'microtype' ), + ); + + if ( 'all' === $this->view_context || 'update' === $this->view_context ) { + $columns['version'] = __( 'Version', 'microtype' ); + $columns['status'] = __( 'Status', 'microtype' ); + } + + return apply_filters( 'tgmpa_table_columns', $columns ); + } + + /** + * Get name of default primary column + * + * @since 2.5.0 / WP 4.3+ compatibility + * @access protected + * + * @return string + */ + protected function get_default_primary_column_name() { + return 'plugin'; + } + + /** + * Get the name of the primary column. + * + * @since 2.5.0 / WP 4.3+ compatibility + * @access protected + * + * @return string The name of the primary column. + */ + protected function get_primary_column_name() { + if ( method_exists( 'WP_List_Table', 'get_primary_column_name' ) ) { + return parent::get_primary_column_name(); + } else { + return $this->get_default_primary_column_name(); + } + } + + /** + * Get the actions which are relevant for a specific plugin row. + * + * @since 2.5.0 + * + * @param array $item Array of item data. + * @return array Array with relevant action links. + */ + protected function get_row_actions( $item ) { + $actions = array(); + $action_links = array(); + + // Display the 'Install' action link if the plugin is not yet available. + if ( ! $this->tgmpa->is_plugin_installed( $item['slug'] ) ) { + /* translators: %2$s: plugin name in screen reader markup */ + $actions['install'] = __( 'Install %2$s', 'microtype' ); + } else { + // Display the 'Update' action link if an update is available and WP complies with plugin minimum. + if ( false !== $this->tgmpa->does_plugin_have_update( $item['slug'] ) && $this->tgmpa->can_plugin_update( $item['slug'] ) ) { + /* translators: %2$s: plugin name in screen reader markup */ + $actions['update'] = __( 'Update %2$s', 'microtype' ); + } + + // Display the 'Activate' action link, but only if the plugin meets the minimum version. + if ( $this->tgmpa->can_plugin_activate( $item['slug'] ) ) { + /* translators: %2$s: plugin name in screen reader markup */ + $actions['activate'] = __( 'Activate %2$s', 'microtype' ); + } + } + + // Create the actual links. + foreach ( $actions as $action => $text ) { + $nonce_url = wp_nonce_url( + add_query_arg( + array( + 'plugin' => urlencode( $item['slug'] ), + 'tgmpa-' . $action => $action . '-plugin', + ), + $this->tgmpa->get_tgmpa_url() + ), + 'tgmpa-' . $action, + 'tgmpa-nonce' + ); + + $action_links[ $action ] = sprintf( + '' . esc_html( $text ) . '', // $text contains the second placeholder. + esc_url( $nonce_url ), + '' . esc_html( $item['sanitized_plugin'] ) . '' + ); + } + + $prefix = ( defined( 'WP_NETWORK_ADMIN' ) && WP_NETWORK_ADMIN ) ? 'network_admin_' : ''; + return apply_filters( "tgmpa_{$prefix}plugin_action_links", array_filter( $action_links ), $item['slug'], $item, $this->view_context ); + } + + /** + * Generates content for a single row of the table. + * + * @since 2.5.0 + * + * @param object $item The current item. + */ + public function single_row( $item ) { + parent::single_row( $item ); + + /** + * Fires after each specific row in the TGMPA Plugins list table. + * + * The dynamic portion of the hook name, `$item['slug']`, refers to the slug + * for the plugin. + * + * @since 2.5.0 + */ + do_action( "tgmpa_after_plugin_row_{$item['slug']}", $item['slug'], $item, $this->view_context ); + } + + /** + * Show the upgrade notice below a plugin row if there is one. + * + * @since 2.5.0 + * + * @see /wp-admin/includes/update.php + * + * @param string $slug Plugin slug. + * @param array $item The information available in this table row. + * @return null Return early if upgrade notice is empty. + */ + public function wp_plugin_update_row( $slug, $item ) { + if ( empty( $item['upgrade_notice'] ) ) { + return; + } + + echo ' + + + '; + } + + /** + * Extra controls to be displayed between bulk actions and pagination. + * + * @since 2.5.0 + * + * @param string $which 'top' or 'bottom' table navigation. + */ + public function extra_tablenav( $which ) { + if ( 'bottom' === $which ) { + $this->tgmpa->show_tgmpa_version(); + } + } + + /** + * Defines the bulk actions for handling registered plugins. + * + * @since 2.2.0 + * + * @return array $actions The bulk actions for the plugin install table. + */ + public function get_bulk_actions() { + + $actions = array(); + + if ( 'update' !== $this->view_context && 'activate' !== $this->view_context ) { + if ( current_user_can( 'install_plugins' ) ) { + $actions['tgmpa-bulk-install'] = __( 'Install', 'microtype' ); + } + } + + if ( 'install' !== $this->view_context ) { + if ( current_user_can( 'update_plugins' ) ) { + $actions['tgmpa-bulk-update'] = __( 'Update', 'microtype' ); + } + if ( current_user_can( 'activate_plugins' ) ) { + $actions['tgmpa-bulk-activate'] = __( 'Activate', 'microtype' ); + } + } + + return $actions; + } + + /** + * Processes bulk installation and activation actions. + * + * The bulk installation process looks for the $_POST information and passes that + * through if a user has to use WP_Filesystem to enter their credentials. + * + * @since 2.2.0 + */ + public function process_bulk_actions() { + // Bulk installation process. + if ( 'tgmpa-bulk-install' === $this->current_action() || 'tgmpa-bulk-update' === $this->current_action() ) { + + check_admin_referer( 'bulk-' . $this->_args['plural'] ); + + $install_type = 'install'; + if ( 'tgmpa-bulk-update' === $this->current_action() ) { + $install_type = 'update'; + } + + $plugins_to_install = array(); + + // Did user actually select any plugins to install/update ? + if ( empty( $_POST['plugin'] ) ) { + if ( 'install' === $install_type ) { + $message = __( 'No plugins were selected to be installed. No action taken.', 'microtype' ); + } else { + $message = __( 'No plugins were selected to be updated. No action taken.', 'microtype' ); + } + + echo '

', esc_html( $message ), '

'; + + return false; + } + + if ( is_array( $_POST['plugin'] ) ) { + $plugins_to_install = (array) $_POST['plugin']; + } elseif ( is_string( $_POST['plugin'] ) ) { + // Received via Filesystem page - un-flatten array (WP bug #19643). + $plugins_to_install = explode( ',', $_POST['plugin'] ); + } + + // Sanitize the received input. + $plugins_to_install = array_map( 'urldecode', $plugins_to_install ); + $plugins_to_install = array_map( array( $this->tgmpa, 'sanitize_key' ), $plugins_to_install ); + + // Validate the received input. + foreach ( $plugins_to_install as $key => $slug ) { + // Check if the plugin was registered with TGMPA and remove if not. + if ( ! isset( $this->tgmpa->plugins[ $slug ] ) ) { + unset( $plugins_to_install[ $key ] ); + continue; + } + + // For install: make sure this is a plugin we *can* install and not one already installed. + if ( 'install' === $install_type && true === $this->tgmpa->is_plugin_installed( $slug ) ) { + unset( $plugins_to_install[ $key ] ); + } + + // For updates: make sure this is a plugin we *can* update (update available and WP version ok). + if ( 'update' === $install_type && false === $this->tgmpa->is_plugin_updatetable( $slug ) ) { + unset( $plugins_to_install[ $key ] ); + } + } + + // No need to proceed further if we have no plugins to handle. + if ( empty( $plugins_to_install ) ) { + if ( 'install' === $install_type ) { + $message = __( 'No plugins are available to be installed at this time.', 'microtype' ); + } else { + $message = __( 'No plugins are available to be updated at this time.', 'microtype' ); + } + + echo '

', esc_html( $message ), '

'; + + return false; + } + + // Pass all necessary information if WP_Filesystem is needed. + $url = wp_nonce_url( + $this->tgmpa->get_tgmpa_url(), + 'bulk-' . $this->_args['plural'] + ); + + // Give validated data back to $_POST which is the only place the filesystem looks for extra fields. + $_POST['plugin'] = implode( ',', $plugins_to_install ); // Work around for WP bug #19643. + + $method = ''; // Leave blank so WP_Filesystem can populate it as necessary. + $fields = array_keys( $_POST ); // Extra fields to pass to WP_Filesystem. + + if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) { + return true; // Stop the normal page form from displaying, credential request form will be shown. + } + + // Now we have some credentials, setup WP_Filesystem. + if ( ! WP_Filesystem( $creds ) ) { + // Our credentials were no good, ask the user for them again. + request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, $fields ); + + return true; + } + + /* If we arrive here, we have the filesystem */ + + // Store all information in arrays since we are processing a bulk installation. + $names = array(); + $sources = array(); // Needed for installs. + $file_paths = array(); // Needed for upgrades. + $to_inject = array(); // Information to inject into the update_plugins transient. + + // Prepare the data for validated plugins for the install/upgrade. + foreach ( $plugins_to_install as $slug ) { + $name = $this->tgmpa->plugins[ $slug ]['name']; + $source = $this->tgmpa->get_download_url( $slug ); + + if ( ! empty( $name ) && ! empty( $source ) ) { + $names[] = $name; + + switch ( $install_type ) { + + case 'install': + $sources[] = $source; + break; + + case 'update': + $file_paths[] = $this->tgmpa->plugins[ $slug ]['file_path']; + $to_inject[ $slug ] = $this->tgmpa->plugins[ $slug ]; + $to_inject[ $slug ]['source'] = $source; + break; + } + } + } + unset( $slug, $name, $source ); + + // Create a new instance of TGMPA_Bulk_Installer. + $installer = new TGMPA_Bulk_Installer( + new TGMPA_Bulk_Installer_Skin( + array( + 'url' => esc_url_raw( $this->tgmpa->get_tgmpa_url() ), + 'nonce' => 'bulk-' . $this->_args['plural'], + 'names' => $names, + 'install_type' => $install_type, + ) + ) + ); + + // Wrap the install process with the appropriate HTML. + echo '
', + '

', esc_html( get_admin_page_title() ), '

+
'; + + // Process the bulk installation submissions. + add_filter( 'upgrader_source_selection', array( $this->tgmpa, 'maybe_adjust_source_dir' ), 1, 3 ); + + if ( 'tgmpa-bulk-update' === $this->current_action() ) { + // Inject our info into the update transient. + $this->tgmpa->inject_update_info( $to_inject ); + + $installer->bulk_upgrade( $file_paths ); + } else { + $installer->bulk_install( $sources ); + } + + remove_filter( 'upgrader_source_selection', array( $this->tgmpa, 'maybe_adjust_source_dir' ), 1 ); + + echo '
'; + + return true; + } + + // Bulk activation process. + if ( 'tgmpa-bulk-activate' === $this->current_action() ) { + check_admin_referer( 'bulk-' . $this->_args['plural'] ); + + // Did user actually select any plugins to activate ? + if ( empty( $_POST['plugin'] ) ) { + echo '

', esc_html__( 'No plugins were selected to be activated. No action taken.', 'microtype' ), '

'; + + return false; + } + + // Grab plugin data from $_POST. + $plugins = array(); + if ( isset( $_POST['plugin'] ) ) { + $plugins = array_map( 'urldecode', (array) $_POST['plugin'] ); + $plugins = array_map( array( $this->tgmpa, 'sanitize_key' ), $plugins ); + } + + $plugins_to_activate = array(); + $plugin_names = array(); + + // Grab the file paths for the selected & inactive plugins from the registration array. + foreach ( $plugins as $slug ) { + if ( $this->tgmpa->can_plugin_activate( $slug ) ) { + $plugins_to_activate[] = $this->tgmpa->plugins[ $slug ]['file_path']; + $plugin_names[] = $this->tgmpa->plugins[ $slug ]['name']; + } + } + unset( $slug ); + + // Return early if there are no plugins to activate. + if ( empty( $plugins_to_activate ) ) { + echo '

', esc_html__( 'No plugins are available to be activated at this time.', 'microtype' ), '

'; + + return false; + } + + // Now we are good to go - let's start activating plugins. + $activate = activate_plugins( $plugins_to_activate ); + + if ( is_wp_error( $activate ) ) { + echo '

', wp_kses_post( $activate->get_error_message() ), '

'; + } else { + $count = count( $plugin_names ); // Count so we can use _n function. + $plugin_names = array_map( array( 'TGMPA_Utils', 'wrap_in_strong' ), $plugin_names ); + $last_plugin = array_pop( $plugin_names ); // Pop off last name to prep for readability. + $imploded = empty( $plugin_names ) ? $last_plugin : ( implode( ', ', $plugin_names ) . ' ' . esc_html_x( 'and', 'plugin A *and* plugin B', 'microtype' ) . ' ' . $last_plugin ); + + printf( // WPCS: xss ok. + '

%1$s %2$s.

', + esc_html( _n( 'The following plugin was activated successfully:', 'The following plugins were activated successfully:', $count, 'microtype' ) ), + $imploded + ); + + // Update recently activated plugins option. + $recent = (array) get_option( 'recently_activated' ); + foreach ( $plugins_to_activate as $plugin => $time ) { + if ( isset( $recent[ $plugin ] ) ) { + unset( $recent[ $plugin ] ); + } + } + update_option( 'recently_activated', $recent ); + } + + unset( $_POST ); // Reset the $_POST variable in case user wants to perform one action after another. + + return true; + } + + return false; + } + + /** + * Prepares all of our information to be outputted into a usable table. + * + * @since 2.2.0 + */ + public function prepare_items() { + $columns = $this->get_columns(); // Get all necessary column information. + $hidden = array(); // No columns to hide, but we must set as an array. + $sortable = array(); // No reason to make sortable columns. + $primary = $this->get_primary_column_name(); // Column which has the row actions. + $this->_column_headers = array( $columns, $hidden, $sortable, $primary ); // Get all necessary column headers. + + // Process our bulk activations here. + if ( 'tgmpa-bulk-activate' === $this->current_action() ) { + $this->process_bulk_actions(); + } + + // Store all of our plugin data into $items array so WP_List_Table can use it. + $this->items = apply_filters( 'tgmpa_table_data_items', $this->_gather_plugin_data() ); + } + + /* *********** DEPRECATED METHODS *********** */ + + /** + * Retrieve plugin data, given the plugin name. + * + * @since 2.2.0 + * @deprecated 2.5.0 use {@see TGM_Plugin_Activation::_get_plugin_data_from_name()} instead. + * @see TGM_Plugin_Activation::_get_plugin_data_from_name() + * + * @param string $name Name of the plugin, as it was registered. + * @param string $data Optional. Array key of plugin data to return. Default is slug. + * @return string|boolean Plugin slug if found, false otherwise. + */ + protected function _get_plugin_data_from_name( $name, $data = 'slug' ) { + _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'TGM_Plugin_Activation::_get_plugin_data_from_name()' ); + + return $this->tgmpa->_get_plugin_data_from_name( $name, $data ); + } + } +} + + +if ( ! class_exists( 'TGM_Bulk_Installer' ) ) { + + /** + * Hack: Prevent TGMPA v2.4.1- bulk installer class from being loaded if 2.4.1- is loaded after 2.5+. + * + * @since 2.5.2 + * + * {@internal The TGMPA_Bulk_Installer class was originally called TGM_Bulk_Installer. + * For more information, see that class.}} + */ + class TGM_Bulk_Installer { + } +} +if ( ! class_exists( 'TGM_Bulk_Installer_Skin' ) ) { + + /** + * Hack: Prevent TGMPA v2.4.1- bulk installer skin class from being loaded if 2.4.1- is loaded after 2.5+. + * + * @since 2.5.2 + * + * {@internal The TGMPA_Bulk_Installer_Skin class was originally called TGM_Bulk_Installer_Skin. + * For more information, see that class.}} + */ + class TGM_Bulk_Installer_Skin { + } +} + +/** + * The WP_Upgrader file isn't always available. If it isn't available, + * we load it here. + * + * We check to make sure no action or activation keys are set so that WordPress + * does not try to re-include the class when processing upgrades or installs outside + * of the class. + * + * @since 2.2.0 + */ +add_action( 'admin_init', 'tgmpa_load_bulk_installer' ); +if ( ! function_exists( 'tgmpa_load_bulk_installer' ) ) { + /** + * Load bulk installer + */ + function tgmpa_load_bulk_installer() { + // Silently fail if 2.5+ is loaded *after* an older version. + if ( ! isset( $GLOBALS['tgmpa'] ) ) { + return; + } + + // Get TGMPA class instance. + $tgmpa_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); + + if ( isset( $_GET['page'] ) && $tgmpa_instance->menu === $_GET['page'] ) { + if ( ! class_exists( 'Plugin_Upgrader', false ) ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + } + + if ( ! class_exists( 'TGMPA_Bulk_Installer' ) ) { + + /** + * Installer class to handle bulk plugin installations. + * + * Extends WP_Upgrader and customizes to suit the installation of multiple + * plugins. + * + * @since 2.2.0 + * + * {@internal Since 2.5.0 the class is an extension of Plugin_Upgrader rather than WP_Upgrader.}} + * {@internal Since 2.5.2 the class has been renamed from TGM_Bulk_Installer to TGMPA_Bulk_Installer. + * This was done to prevent backward compatibility issues with v2.3.6.}} + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGMPA_Bulk_Installer extends Plugin_Upgrader { + /** + * Holds result of bulk plugin installation. + * + * @since 2.2.0 + * + * @var string + */ + public $result; + + /** + * Flag to check if bulk installation is occurring or not. + * + * @since 2.2.0 + * + * @var boolean + */ + public $bulk = false; + + /** + * TGMPA instance + * + * @since 2.5.0 + * + * @var object + */ + protected $tgmpa; + + /** + * Whether or not the destination directory needs to be cleared ( = on update). + * + * @since 2.5.0 + * + * @var bool + */ + protected $clear_destination = false; + + /** + * References parent constructor and sets defaults for class. + * + * @since 2.2.0 + * + * @param \Bulk_Upgrader_Skin|null $skin Installer skin. + */ + public function __construct( $skin = null ) { + // Get TGMPA class instance. + $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); + + parent::__construct( $skin ); + + if ( isset( $this->skin->options['install_type'] ) && 'update' === $this->skin->options['install_type'] ) { + $this->clear_destination = true; + } + + if ( $this->tgmpa->is_automatic ) { + $this->activate_strings(); + } + + add_action( 'upgrader_process_complete', array( $this->tgmpa, 'populate_file_path' ) ); + } + + /** + * Sets the correct activation strings for the installer skin to use. + * + * @since 2.2.0 + */ + public function activate_strings() { + $this->strings['activation_failed'] = __( 'Plugin activation failed.', 'microtype' ); + $this->strings['activation_success'] = __( 'Plugin activated successfully.', 'microtype' ); + } + + /** + * Performs the actual installation of each plugin. + * + * @since 2.2.0 + * + * @see WP_Upgrader::run() + * + * @param array $options The installation config options. + * @return null|array Return early if error, array of installation data on success. + */ + public function run( $options ) { + $result = parent::run( $options ); + + // Reset the strings in case we changed one during automatic activation. + if ( $this->tgmpa->is_automatic ) { + if ( 'update' === $this->skin->options['install_type'] ) { + $this->upgrade_strings(); + } else { + $this->install_strings(); + } + } + + return $result; + } + + /** + * Processes the bulk installation of plugins. + * + * @since 2.2.0 + * + * {@internal This is basically a near identical copy of the WP Core + * Plugin_Upgrader::bulk_upgrade() method, with minor adjustments to deal with + * new installs instead of upgrades. + * For ease of future synchronizations, the adjustments are clearly commented, but no other + * comments are added. Code style has been made to comply.}} + * + * @see Plugin_Upgrader::bulk_upgrade() + * @see https://core.trac.wordpress.org/browser/tags/4.2.1/src/wp-admin/includes/class-wp-upgrader.php#L838 + * (@internal Last synced: Dec 31st 2015 against https://core.trac.wordpress.org/browser/trunk?rev=36134}} + * + * @param array $plugins The plugin sources needed for installation. + * @param array $args Arbitrary passed extra arguments. + * @return array|false Install confirmation messages on success, false on failure. + */ + public function bulk_install( $plugins, $args = array() ) { + // [TGMPA + ] Hook auto-activation in. + add_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 ); + + $defaults = array( + 'clear_update_cache' => true, + ); + $parsed_args = wp_parse_args( $args, $defaults ); + + $this->init(); + $this->bulk = true; + + $this->install_strings(); // [TGMPA + ] adjusted. + + /* [TGMPA - ] $current = get_site_transient( 'update_plugins' ); */ + + /* [TGMPA - ] add_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'), 10, 4); */ + + $this->skin->header(); + + // Connect to the Filesystem first. + $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_PLUGIN_DIR ) ); + if ( ! $res ) { + $this->skin->footer(); + return false; + } + + $this->skin->bulk_header(); + + /* + * Only start maintenance mode if: + * - running Multisite and there are one or more plugins specified, OR + * - a plugin with an update available is currently active. + * @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible. + */ + $maintenance = ( is_multisite() && ! empty( $plugins ) ); + + /* + [TGMPA - ] + foreach ( $plugins as $plugin ) + $maintenance = $maintenance || ( is_plugin_active( $plugin ) && isset( $current->response[ $plugin] ) ); + */ + if ( $maintenance ) { + $this->maintenance_mode( true ); + } + + $results = array(); + + $this->update_count = count( $plugins ); + $this->update_current = 0; + foreach ( $plugins as $plugin ) { + $this->update_current++; + + /* + [TGMPA - ] + $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true); + + if ( !isset( $current->response[ $plugin ] ) ) { + $this->skin->set_result('up_to_date'); + $this->skin->before(); + $this->skin->feedback('up_to_date'); + $this->skin->after(); + $results[$plugin] = true; + continue; + } + + // Get the URL to the zip file. + $r = $current->response[ $plugin ]; + + $this->skin->plugin_active = is_plugin_active($plugin); + */ + + $result = $this->run( + array( + 'package' => $plugin, // [TGMPA + ] adjusted. + 'destination' => WP_PLUGIN_DIR, + 'clear_destination' => false, // [TGMPA + ] adjusted. + 'clear_working' => true, + 'is_multi' => true, + 'hook_extra' => array( + 'plugin' => $plugin, + ), + ) + ); + + $results[ $plugin ] = $this->result; + + // Prevent credentials auth screen from displaying multiple times. + if ( false === $result ) { + break; + } + } //end foreach $plugins + + $this->maintenance_mode( false ); + + /** + * Fires when the bulk upgrader process is complete. + * + * @since WP 3.6.0 / TGMPA 2.5.0 + * + * @param Plugin_Upgrader $this Plugin_Upgrader instance. In other contexts, $this, might + * be a Theme_Upgrader or Core_Upgrade instance. + * @param array $data { + * Array of bulk item update data. + * + * @type string $action Type of action. Default 'update'. + * @type string $type Type of update process. Accepts 'plugin', 'theme', or 'core'. + * @type bool $bulk Whether the update process is a bulk update. Default true. + * @type array $packages Array of plugin, theme, or core packages to update. + * } + */ + do_action( 'upgrader_process_complete', $this, array( + 'action' => 'install', // [TGMPA + ] adjusted. + 'type' => 'plugin', + 'bulk' => true, + 'plugins' => $plugins, + ) ); + + $this->skin->bulk_footer(); + + $this->skin->footer(); + + // Cleanup our hooks, in case something else does a upgrade on this connection. + /* [TGMPA - ] remove_filter('upgrader_clear_destination', array($this, 'delete_old_plugin')); */ + + // [TGMPA + ] Remove our auto-activation hook. + remove_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 ); + + // Force refresh of plugin update information. + wp_clean_plugins_cache( $parsed_args['clear_update_cache'] ); + + return $results; + } + + /** + * Handle a bulk upgrade request. + * + * @since 2.5.0 + * + * @see Plugin_Upgrader::bulk_upgrade() + * + * @param array $plugins The local WP file_path's of the plugins which should be upgraded. + * @param array $args Arbitrary passed extra arguments. + * @return string|bool Install confirmation messages on success, false on failure. + */ + public function bulk_upgrade( $plugins, $args = array() ) { + + add_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 ); + + $result = parent::bulk_upgrade( $plugins, $args ); + + remove_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 ); + + return $result; + } + + /** + * Abuse a filter to auto-activate plugins after installation. + * + * Hooked into the 'upgrader_post_install' filter hook. + * + * @since 2.5.0 + * + * @param bool $bool The value we need to give back (true). + * @return bool + */ + public function auto_activate( $bool ) { + // Only process the activation of installed plugins if the automatic flag is set to true. + if ( $this->tgmpa->is_automatic ) { + // Flush plugins cache so the headers of the newly installed plugins will be read correctly. + wp_clean_plugins_cache(); + + // Get the installed plugin file. + $plugin_info = $this->plugin_info(); + + // Don't try to activate on upgrade of active plugin as WP will do this already. + if ( ! is_plugin_active( $plugin_info ) ) { + $activate = activate_plugin( $plugin_info ); + + // Adjust the success string based on the activation result. + $this->strings['process_success'] = $this->strings['process_success'] . "
\n"; + + if ( is_wp_error( $activate ) ) { + $this->skin->error( $activate ); + $this->strings['process_success'] .= $this->strings['activation_failed']; + } else { + $this->strings['process_success'] .= $this->strings['activation_success']; + } + } + } + + return $bool; + } + } + } + + if ( ! class_exists( 'TGMPA_Bulk_Installer_Skin' ) ) { + + /** + * Installer skin to set strings for the bulk plugin installations.. + * + * Extends Bulk_Upgrader_Skin and customizes to suit the installation of multiple + * plugins. + * + * @since 2.2.0 + * + * {@internal Since 2.5.2 the class has been renamed from TGM_Bulk_Installer_Skin to + * TGMPA_Bulk_Installer_Skin. + * This was done to prevent backward compatibility issues with v2.3.6.}} + * + * @see https://core.trac.wordpress.org/browser/trunk/src/wp-admin/includes/class-wp-upgrader-skins.php + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGMPA_Bulk_Installer_Skin extends Bulk_Upgrader_Skin { + /** + * Holds plugin info for each individual plugin installation. + * + * @since 2.2.0 + * + * @var array + */ + public $plugin_info = array(); + + /** + * Holds names of plugins that are undergoing bulk installations. + * + * @since 2.2.0 + * + * @var array + */ + public $plugin_names = array(); + + /** + * Integer to use for iteration through each plugin installation. + * + * @since 2.2.0 + * + * @var integer + */ + public $i = 0; + + /** + * TGMPA instance + * + * @since 2.5.0 + * + * @var object + */ + protected $tgmpa; + + /** + * Constructor. Parses default args with new ones and extracts them for use. + * + * @since 2.2.0 + * + * @param array $args Arguments to pass for use within the class. + */ + public function __construct( $args = array() ) { + // Get TGMPA class instance. + $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); + + // Parse default and new args. + $defaults = array( + 'url' => '', + 'nonce' => '', + 'names' => array(), + 'install_type' => 'install', + ); + $args = wp_parse_args( $args, $defaults ); + + // Set plugin names to $this->plugin_names property. + $this->plugin_names = $args['names']; + + // Extract the new args. + parent::__construct( $args ); + } + + /** + * Sets install skin strings for each individual plugin. + * + * Checks to see if the automatic activation flag is set and uses the + * the proper strings accordingly. + * + * @since 2.2.0 + */ + public function add_strings() { + if ( 'update' === $this->options['install_type'] ) { + parent::add_strings(); + /* translators: 1: plugin name, 2: action number 3: total number of actions. */ + $this->upgrader->strings['skin_before_update_header'] = __( 'Updating Plugin %1$s (%2$d/%3$d)', 'microtype' ); + } else { + /* translators: 1: plugin name, 2: error message. */ + $this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while installing %1$s: %2$s.', 'microtype' ); + /* translators: 1: plugin name. */ + $this->upgrader->strings['skin_update_failed'] = __( 'The installation of %1$s failed.', 'microtype' ); + + if ( $this->tgmpa->is_automatic ) { + // Automatic activation strings. + $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'microtype' ); + /* translators: 1: plugin name. */ + $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'microtype' ) . ' ' . esc_html__( 'Show Details', 'microtype' ) . '.'; + $this->upgrader->strings['skin_upgrade_end'] = __( 'All installations and activations have been completed.', 'microtype' ); + /* translators: 1: plugin name, 2: action number 3: total number of actions. */ + $this->upgrader->strings['skin_before_update_header'] = __( 'Installing and Activating Plugin %1$s (%2$d/%3$d)', 'microtype' ); + } else { + // Default installation strings. + $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'microtype' ); + /* translators: 1: plugin name. */ + $this->upgrader->strings['skin_update_successful'] = esc_html__( '%1$s installed successfully.', 'microtype' ) . ' ' . esc_html__( 'Show Details', 'microtype' ) . '.'; + $this->upgrader->strings['skin_upgrade_end'] = __( 'All installations have been completed.', 'microtype' ); + /* translators: 1: plugin name, 2: action number 3: total number of actions. */ + $this->upgrader->strings['skin_before_update_header'] = __( 'Installing Plugin %1$s (%2$d/%3$d)', 'microtype' ); + } + } + } + + /** + * Outputs the header strings and necessary JS before each plugin installation. + * + * @since 2.2.0 + * + * @param string $title Unused in this implementation. + */ + public function before( $title = '' ) { + if ( empty( $title ) ) { + $title = esc_html( $this->plugin_names[ $this->i ] ); + } + parent::before( $title ); + } + + /** + * Outputs the footer strings and necessary JS after each plugin installation. + * + * Checks for any errors and outputs them if they exist, else output + * success strings. + * + * @since 2.2.0 + * + * @param string $title Unused in this implementation. + */ + public function after( $title = '' ) { + if ( empty( $title ) ) { + $title = esc_html( $this->plugin_names[ $this->i ] ); + } + parent::after( $title ); + + $this->i++; + } + + /** + * Outputs links after bulk plugin installation is complete. + * + * @since 2.2.0 + */ + public function bulk_footer() { + // Serve up the string to say installations (and possibly activations) are complete. + parent::bulk_footer(); + + // Flush plugins cache so we can make sure that the installed plugins list is always up to date. + wp_clean_plugins_cache(); + + $this->tgmpa->show_tgmpa_version(); + + // Display message based on if all plugins are now active or not. + $update_actions = array(); + + if ( $this->tgmpa->is_tgmpa_complete() ) { + // All plugins are active, so we display the complete string and hide the menu to protect users. + echo ''; + $update_actions['dashboard'] = sprintf( + esc_html( $this->tgmpa->strings['complete'] ), + '' . esc_html__( 'Return to the Dashboard', 'microtype' ) . '' + ); + } else { + $update_actions['tgmpa_page'] = '' . esc_html( $this->tgmpa->strings['return'] ) . ''; + } + + /** + * Filter the list of action links available following bulk plugin installs/updates. + * + * @since 2.5.0 + * + * @param array $update_actions Array of plugin action links. + * @param array $plugin_info Array of information for the last-handled plugin. + */ + $update_actions = apply_filters( 'tgmpa_update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info ); + + if ( ! empty( $update_actions ) ) { + $this->feedback( implode( ' | ', (array) $update_actions ) ); + } + } + + /* *********** DEPRECATED METHODS *********** */ + + /** + * Flush header output buffer. + * + * @since 2.2.0 + * @deprecated 2.5.0 use {@see Bulk_Upgrader_Skin::flush_output()} instead + * @see Bulk_Upgrader_Skin::flush_output() + */ + public function before_flush_output() { + _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'Bulk_Upgrader_Skin::flush_output()' ); + $this->flush_output(); + } + + /** + * Flush footer output buffer and iterate $this->i to make sure the + * installation strings reference the correct plugin. + * + * @since 2.2.0 + * @deprecated 2.5.0 use {@see Bulk_Upgrader_Skin::flush_output()} instead + * @see Bulk_Upgrader_Skin::flush_output() + */ + public function after_flush_output() { + _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'Bulk_Upgrader_Skin::flush_output()' ); + $this->flush_output(); + $this->i++; + } + } + } + } + } +} + +if ( ! class_exists( 'TGMPA_Utils' ) ) { + + /** + * Generic utilities for TGMPA. + * + * All methods are static, poor-dev name-spacing class wrapper. + * + * Class was called TGM_Utils in 2.5.0 but renamed TGMPA_Utils in 2.5.1 as this was conflicting with Soliloquy. + * + * @since 2.5.0 + * + * @package TGM-Plugin-Activation + * @author Juliette Reinders Folmer + */ + class TGMPA_Utils { + /** + * Whether the PHP filter extension is enabled. + * + * @see http://php.net/book.filter + * + * @since 2.5.0 + * + * @static + * + * @var bool $has_filters True is the extension is enabled. + */ + public static $has_filters; + + /** + * Wrap an arbitrary string in tags. Meant to be used in combination with array_map(). + * + * @since 2.5.0 + * + * @static + * + * @param string $string Text to be wrapped. + * @return string + */ + public static function wrap_in_em( $string ) { + return '' . wp_kses_post( $string ) . ''; + } + + /** + * Wrap an arbitrary string in tags. Meant to be used in combination with array_map(). + * + * @since 2.5.0 + * + * @static + * + * @param string $string Text to be wrapped. + * @return string + */ + public static function wrap_in_strong( $string ) { + return '' . wp_kses_post( $string ) . ''; + } + + /** + * Helper function: Validate a value as boolean + * + * @since 2.5.0 + * + * @static + * + * @param mixed $value Arbitrary value. + * @return bool + */ + public static function validate_bool( $value ) { + if ( ! isset( self::$has_filters ) ) { + self::$has_filters = extension_loaded( 'filter' ); + } + + if ( self::$has_filters ) { + return filter_var( $value, FILTER_VALIDATE_BOOLEAN ); + } else { + return self::emulate_filter_bool( $value ); + } + } + + /** + * Helper function: Cast a value to bool + * + * @since 2.5.0 + * + * @static + * + * @param mixed $value Value to cast. + * @return bool + */ + protected static function emulate_filter_bool( $value ) { + // @codingStandardsIgnoreStart + static $true = array( + '1', + 'true', 'True', 'TRUE', + 'y', 'Y', + 'yes', 'Yes', 'YES', + 'on', 'On', 'ON', + ); + static $false = array( + '0', + 'false', 'False', 'FALSE', + 'n', 'N', + 'no', 'No', 'NO', + 'off', 'Off', 'OFF', + ); + // @codingStandardsIgnoreEnd + + if ( is_bool( $value ) ) { + return $value; + } elseif ( is_int( $value ) && ( 0 === $value || 1 === $value ) ) { + return (bool) $value; + } elseif ( ( is_float( $value ) && ! is_nan( $value ) ) && ( (float) 0 === $value || (float) 1 === $value ) ) { + return (bool) $value; + } elseif ( is_string( $value ) ) { + $value = trim( $value ); + if ( in_array( $value, $true, true ) ) { + return true; + } elseif ( in_array( $value, $false, true ) ) { + return false; + } else { + return false; + } + } + + return false; + } + } // End of class TGMPA_Utils +} // End of class_exists wrapper diff --git a/functions/dynamic-styles.php b/functions/dynamic-styles.php new file mode 100644 index 0000000..93cacb1 --- /dev/null +++ b/functions/dynamic-styles.php @@ -0,0 +1,176 @@ + :not(.alignfull) { max-width: '.esc_attr( get_theme_mod('content-width') ).'px; } + '."\n"; + } + // box border radius + if ( get_theme_mod('box-border-radius','60') != '60' ) { + $styles .= ' +#wrapper-inner { border-radius: '.esc_attr( get_theme_mod('box-border-radius') ).'px; } +#box-header-top { border-radius: '.esc_attr( get_theme_mod('box-border-radius') ).'px '.esc_attr( get_theme_mod('box-border-radius') ).'px 0 0; } + '."\n"; + } + // primary accent + if ( get_theme_mod('color-1','#1da9ff') != '#1da9ff' ) { + $styles .= ' +.entry a, +.entry a:hover, +#theme-toggle i, +.alx-tab .tab-item-category a, +.alx-posts .post-item-category a, +.alx-tab li:hover .tab-item-title a, +.alx-tab li:hover .tab-item-comment a, +.alx-posts li:hover .post-item-title a { color: '.esc_attr( get_theme_mod('color-1') ).'; } +.page-title-inner:before, +#theme-toggle-btn:before, +#profile-image, +#curve-inner:before, +#curve-inner:after, +.box a:before, +.alx-tabs-nav li.active a, +.wp-pagenavi a:hover, +.wp-pagenavi a:active, +.wp-pagenavi span.current { background: '.esc_attr( get_theme_mod('color-1') ).'; } + '."\n"; + } + // background color + if ( get_theme_mod('color-background','#f4f4f4') != '#f4f4f4' ) { + $styles .= ' +body { background: '.esc_attr( get_theme_mod('color-background') ).'!important; } + '."\n"; + } + // header logo max-height + if ( get_theme_mod('logo-max-height','50') != '50' ) { + $styles .= '.site-title a img { max-height: '.esc_attr( get_theme_mod('logo-max-height') ).'px; }'."\n"; + } + // header text color + if ( get_theme_mod( 'header_textcolor' ) != '' ) { + $styles .= '.site-title a, .site-description { color: #'.esc_attr( get_theme_mod( 'header_textcolor' ) ).'; }'."\n"; + } + if ( get_theme_mod('dark','off') == 'on' ) { + wp_add_inline_style( 'microtype-dark', $styles ); + } else { + wp_add_inline_style( 'microtype-style', $styles ); + } + } + } + +} +add_action( 'wp_enqueue_scripts', 'microtype_dynamic_css' ); diff --git a/functions/images/col-1c.png b/functions/images/col-1c.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbb1c31cf4ef4c37c7ca49650f000ce1a66f023 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^xfMzo7TnbtqtD0mjCIu WuhZ_cvep9)XYh3Ob6Mw<&;$Sh&ocx7 literal 0 HcmV?d00001 diff --git a/functions/images/col-2cl.png b/functions/images/col-2cl.png new file mode 100644 index 0000000000000000000000000000000000000000..fb1db09c3ec1bb80b1a1977519ca43b53f76f793 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^x@vUvQ~Iq9<8|6o+_yzG8w$L4FbNj=@u_UW~3@Vk5`ue$8s@8HSX zZ7&8XyLK;fcQseNuu|w(z?THxxuSQcR`t(%A!m|tVS!^a8?O|C@uL20k}JE%mdKI;Vst06-E&g8%>k literal 0 HcmV?d00001 diff --git a/functions/images/col-2cr.png b/functions/images/col-2cr.png new file mode 100644 index 0000000000000000000000000000000000000000..a832f28f498745f83dd8cfb36f2b515f58d589ae GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^xQo^rXJfI76xc*NFElPFtu}kMfAR!nK@tQbXa8XlzYGT&WUSZo3n4L^&9%lvUEJ= z{zBl;x)(kdw@&k1wWsik literal 0 HcmV?d00001 diff --git a/functions/images/col-3cl.png b/functions/images/col-3cl.png new file mode 100644 index 0000000000000000000000000000000000000000..212851df741bd95b4c2380eaa857b7f39ce54dca GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^xaWClEDb96O!pR=mV|G%S4)An_fgH~;M`*PN*Do^Rha)b&r~G*E6((n);U^?Ls=9pkmp(`Kq^>Zc_4guB$dKX+H%Q!UfJ_)k-u zvJ#ND-RnzCOPtolV8LI(opsG@yiz6^7Zx}oG5*#^uX);#v$JZx@zvd>49o`?Ubi-m RsRX)$!PC{xWt~$(69BUFLO}ok literal 0 HcmV?d00001 diff --git a/functions/images/col-3cr.png b/functions/images/col-3cr.png new file mode 100644 index 0000000000000000000000000000000000000000..fabfd66a4e4134d855ae0a6b191b0207c8ecf07e GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^xfMzo7TnbtqtD0mjCIu WuhZ_cvep9)XYh3Ob6Mw<&;$Sh&ocx7 literal 0 HcmV?d00001 diff --git a/functions/images/footer-widgets-1.png b/functions/images/footer-widgets-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a5c29c76fd2b1e01d6b3cd2d0b451df0bc7474 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^x7_M;J|bEz=!q_ zm6`I6l25J&bv!xvdu^D|)}<<&{^sO6zF&0tl50L^m18p-uarr~g#{qSE{@pB$HtSV fIY0&fzSw5RW})-Ca-YT~py>>ru6{1-oD!M6hcyydC6 noM6>m%MZ!=P|;h`Z?Ca@eXo&yyz8C@&>99$S3j3^P6 lyIc2ix-L}EN_y@!)(1gq+8g()7y_+e@O1TaS?83{1OSjaGDrXb literal 0 HcmV?d00001 diff --git a/functions/images/layout-off.png b/functions/images/layout-off.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1417d948739435c391be1791abcfaabbd47dae GIT binary patch literal 630 zcmV-+0*U>JP)Z8?ap<9MVYqUmdv_@-mXQE%LRs335z~ksByjzSrUSA_VH1rRg!FT=rc)7iWb#j8ou`$$4(_eIU ze;>xt5h{m=kb8S@&dxsJmFH*N1p<&)SMUxFP(M9|;Q4SE&05Vr^!?x_4;$;;}A`4sgH{Y0-lL#LcYSgvfA zaNN7AsTAtAt&Z>X$cTyvj}pa)Hzm*chOS!{9)^dJp@Sv!0Zyks=lQO|3ro`*$y4U} zVBr?&`$ptkGn}LH75w!=#g`?HOC_1?psQ)KsqfPotC^W5lZ Q%K!iX07*qoM6N<$f;wm?i~s-t literal 0 HcmV?d00001 diff --git a/functions/kirki/CHANGELOG.md b/functions/kirki/CHANGELOG.md new file mode 100644 index 0000000..b391358 --- /dev/null +++ b/functions/kirki/CHANGELOG.md @@ -0,0 +1,1487 @@ +### 4.0.24 - March 22, 2022 ### +#### control-react-colorful package +Bugfixes: +- Fix issue where uppercase color was failed to be saved +- Fix the layout issue of the swatches (removing `justify-content: space-between;`) +- Fix the swatches layout issue when it contains a lot of colors. +- Allow clearing picker's color by clearing the input field value. + +#### compatibility package +Bugfixes: +- Fix notice error: Undefined index of 'transport' as reported in #2476 +- Fix code that called URL class without it's namespace +- **control-repeater**: `"alpha" => true` choice didn't work as reported in issue #2469 +- **module-css**: `KIRKI_NO_OUTPUT` didn't work in the front area + +#### module-webfonts package +Finetuning: +- Stop preconnecting to https://fonts.gstatic.com/ . It was related to issue #2478. + +#### module-postMessage package +Bugfix: +- Fix multicolor output issue on customizer preview where the CSS property was appended with its assigned choice. + +### 4.0.23 - March 22, 2022 ### +Bugfixes: +- **control-repeater**: `"alpha" => true` choice didn't work as reported in issue #2469 +- **module-css**: `KIRKI_NO_OUTPUT` didn't work in the front area + +New Filter: +- New `kirki_inline_styles_id` filter to filter the ID of the inline style tag. The default id is `kirki-inline-styles` (**module-css**) + +New Constant: +- New `KIRKI_NO_GUTENBERG_OUTPUT` constant. Since we get rid of Kirki config usage in Kirki 4, then new constant is necessary. Define `KIRKI_NO_GUTENBERG_OUTPUT` constant to `true` to disable Gutenberg support (**module-editor-styles**). + +### 4.0.22 - February 17, 2022 ### +Bugfix: +- **module-css** & **module-postmessage**: Fix bug where CSS output didn't work when `'option_type' => 'option'` and `'option_name'` is provided. This fixed issue #2466 and issue #2465 + +### 4.0.21 - February 9, 2022 ### +Bugfixes: +- **control-react-colorful**: Fix warning as reported in [WordPress support forum](https://wordpress.org/support/topic/newest-version-upgrade-4-0-19-cause-a-lot-of-troubles/) +- **control-base**: Fix the RTL issue as reported in [WordPress support forum](https://wordpress.org/support/topic/version-4-update-broke-rtl-view/) +- **module-css**: Fix issue #2448 where it didn't check for callable as the value type of `active_callback` and missing validation for callable & string. This might also fix some css output issue. +- **module-css**: Fix issue #2449 where there was notice caused by accessing non-existing property +- **module-css**: Remove `:root` selector when inside gutenberg post editing. This fixes issue #2461 +- **module-postmessage**: Handle the wrong formatted "output" argument. Suggested in issue #2462 +- **control-react-select**: Fix issue where `'multiple' => false` didn't work (as reported in #2458) and selection limit didn't work +- **control-react-colorful**: Fix issue where `palettes` choice didn't work as mentioned in issue #2455 +- **control-react-colorful**: Fix issue where suffix wasn't implemented as reported in [WordPress support forum](https://wordpress.org/support/topic/the-suffix-argument-doesnt-work-in-color-field-outputs/) +- **field-multicolor**: Fix issue where `palettes` didn't work in multicolor as mentioned in issue #2455 +- **field-multicolor**: Fix issue where the CSS output class wasn't executed due to the missing of `parent_type` choice in the Generic field. This fixes issue #2460 +- **field-typography**: Fix bug where defining an array of google font names inside google's choice didn't work as reported in issue #2459 + +### 4.0.20 - February 8, 2022 ### +Bugfix: +- Patch for warning reported in [WordPress support](https://wordpress.org/support/topic/newest-version-upgrade-4-0-19-cause-a-lot-of-troubles/) + +### 4.0.19 - February 7, 2022 ### +Improvement: +- `module-tooltips`: Adjust tooltip positioning to handle the dynamic content height and to respect the control's section height. + +Bugfix: +- `control-palette` (not `control-color-palette`): it was missing +- `control-react-colorful`: CSS output on instant preview (postMessage) didn't work when `property` is not set in the `output` argument's item. + +### 4.0.18 - January 25, 2022 ### +Bugfix: +- `module-tooltips`: Tooltip was displayed repeatedly inside repeater field + +### 4.0.17 - January 25, 2022 ### +Bugfixes: +- `control-checkbox`: There was notice messages where `$args['default']` can be undefined +- `control-generic`: On number control, it was possible break the min & max by manually inputting the number + +### 4.0.16 - January 24, 2022 ### +* Fix issue where switch control didn't handle the default value correctly. + +### 4.0.15 - January 18, 2022 ### +* Fix issue where _html entities_ are not rendered in some control's label and description. + +### 4.0.14 - January 14, 2022 ### +* Fix issue where the description in some controls can't contain HTML. + +### 4.0.13 - January 12, 2022 ### +* Fix CSS output bug when Kirki fields are registered through `kirki_fields` (or `kirki/fields`) filter hook. + +### 4.0.12 - January 11, 2022 ### +* Fix SVG upload on image control. + +### 4.0.11 - January 10, 2022 ### +* Include section icons module (was missing) + +### 4.0.10 - January 10, 2022 ### +* Fix issue where CSS output didn't respect active_callback's default value. + +### 4.0.9 - January 05, 2022 ### +* Fix CSS output issue when a theme register their Kirki controls inside `init` hook. + +### 4.0.8 - January 05, 2022 ### +* Fix CSS output issue where it doesn't respect `active_callback` + +### 4.0.7 - January 04, 2022 ### +* Fix issue when using `option_type` as `option` without specifying the `option_name` + +### 4.0.6 - January 03, 2022 ### +* Fix `active_callback` issue when using nested condition + +### 4.0.5 - Dezember 31, 2021 ### +* Fix `toggleClass` usage when using `js_vars` + +### 4.0.4 - Dezember 31, 2021 ### +* Allow string (numeric) as the choices value in slider control +* Fix the compatibility issue when using Kirki::get_option to get the value of fields registered using new API. + +### 4.0.3 - Dezember 30, 2021 ### + +* Fixed: Fatal error caused by wrong folder name + +### 4.0 - Dezember 29, 2021 ### + +* Kirki 4.0 Release + +## 3.1.9 - July 19, 2021 + +* Fixed: Styling issue in Switch control. + +## 3.1.8 - July 1, 2021 + +* Updated Google-Fonts lists. +* Tested up to WordPress 5.8 RC 1. +* Fixed: Deprecated warning when editing post/page. +* Fixed: Styling issue in Radio Buttonset control. + +## 3.1.7 - June 21, 2021 + +* Updated Google-Fonts lists. +* Tested up to WordPress 5.8 Beta 1. +* Fixed: PHP 8 warnings. +* Fixed: Missing Kirki styles in WordPress 5.8. +* Fixed: https://wordpress.org/support/topic/plugin-title-conflict/ in https://github.com/kirki-framework/kirki/commit/0fb25dca4d1c4460ec45dc194d5210f854b1b737 + +## 3.1.6 - December 07, 2020 + +* Tested up to WordPress 5.6. +* Tweak: Updated Google fonts. +* Fixed: Color picker styling issue in Chrome. + +## 3.1.5 - August 10, 2020 + +* Tested up to WordPress 5.5. +* Tweak: Updated Google fonts. +* Fixed: Added wp-i18n dependency to alpha color picker script. +* Fixed: Color picker styles. +* Fixed: Color picker styles in background control. +* Fixed: Color picker styles in multicolor control. + +## 3.1.4 - July 11, 2020 + +* Tweak: Updated Google-Fonts lists. +* Tweak: Tooltip styling. +* Fixed: Error in the WordPress customizer with WordPress 5.5. + +## 3.1.3 - May 19, 2020 + +* Tweak: Updated Google-Fonts lists. +* Tweak: Slightly tweaked some of the default control styles. + +## 3.1.2 - 2020-04-20 + +### Fixed +* Added back `font-display:swap` to Google Fonts. + +### Changed +* Updated Google-Fonts lists. + +## 3.1.1 - 2020-04-05 + +### Changed +* Updated Google-Fonts lists. + +### Fixed +* False-positive error in Envato theme-check. + +## 3.1.0 - 2020-03-01 + +### Changed +* Completely refactored the google-fonts downloader. Fonts now get stored in `wp-content/fonts/{font-family}/{file}`. +* Updated Google-Fonts lists. + +### Removed +* Removed the `branding` module. +* Removed the `styling` module. +* Removed the `telemetry` module. +* Removed the `Kirki_Fonts_Helper` class. + +## 3.0.45 - 2019-09-01 + +### Fixed +* Compatibility with the latest Gutenberg plugin versions. +* Styles for normal font-weights in typography controls (`regular` to `400` conversion). + +### Changed +* Updated Google-Fonts lists. + +### Removed +* Backup fonts are no longer needed since google-fonts are no longer loaded from the google CDN. + +### Deprecated +* `kirki_fonts_backup_fonts` filter. +* `Kirki_Fonts::get_backup_fonts()` method. + +## 3.0.44 + +Jun.25 2019, dev time: 30m + +* Fix: Google fonts getting constantly downloaded when `WP_DEBUG` was set to `true` + +## 3.0.43 + +Jun.16 2019, dev time: 30m + +* Fix: Google Fonts URL references in multisites. +* New: It is now possible to reset Kirki google-font caches by visiting {site-url}/?action=kirki-reset-cache + +## 3.0.42 + +Jun.16 2019, dev time: 2h + +* Deprecated: `fontawesome` field was deprecated. If a theme uses this field users will be prompted to install the official Font Awesome plugin from the w.org repository. +* Fix: Transient for Google Fonts now has a lifetime of 1 day instead of 1 week. +* Fix: Updated Google Fonts list. + +## 3.0.41 + +Jun.8 2019, dev time: 30m + +* Fix: http/https issue for locally-hosted googlefonts +* Fix: Updated Google-fonts list. + +## 3.0.40 + +Jun.1 2019, dev time: 30m + +* Fix: Updated URL for fontawesome to avoid tracking. +* Fix: Updated Google-fonts list. + +## 3.0.39 + +Mar.31 2019, dev time: 30m + +* Fix: Updated the styles for colorpickers to make them responsive. +* Fix: Google-fonts processing for some font-weights. [#2106](https://github.com/aristath/kirki/pull/2106) props @dedalx +* Fix: SCSS support for the `code` control. [#2112](https://github.com/aristath/kirki/pull/2112) props @reiterbene +* Fix: Locally downloadding google-fonts. [#2118](https://github.com/aristath/kirki/pull/2118) props @plazorax +* Update: Updated the Google Fonts list. + +## 3.0.38 + +Mar. 1, 2019, dev time: 20m. + +* Fix: Editor styles. +* Update: Updated the Google Fonts list. + +## 3.0.37 + +Feb. 26, 2019, dev time: 1h. + +* Fix: CSS conflict in posts quickedit table +* Fix: Load webfonts in the dashboard. +* Fix: Add back the `kirki_auto_postmessage` filter. +* Update: Updated the Google Fonts list. + +## 3.0.36 + +Feb. 17, 2019, dev time > 100h + +This updates represents a big performance improvement both for the frontend and the customizer. +In the frontend the google-fonts are now loaded more efficiently and the `font-display` property was added to `@font-face` CSS from the google API responses. +In the customizer the `postMessage` module was completely rewritten. + +* Fix: `active_callback` argument for `dropdown-pages` control. [#2055](https://github.com/aristath/kirki/issues/2055) +* Fix: `color ` control issues when inside a repeater. [#2059](https://github.com/aristath/kirki/issues/2059) +* Fix: Updated Google Fonts +* Fix: No longer enqueueing an empty stylesheet in order to add styles inline. +* Fix: Gutenberg implementation improvements. +* New: Google Fonts are now embedded inside the dynamic-css instead of using the webfont-loader script when not in the customizer. +* New: Google Fonts are now always used locally when possible, the google-CDN is only used as a fallback. +* New: Performance improvement by using `font-display:swap` for google-fonts. +* New: Added `kirki_googlefonts_font_display` filter. +* New: Added a new `link` section-type. +* New: Completely refactored the `postMessage` module. The new implementation is JS-based instead of PHP and is a lot more performant. +* New: Added telemetry module. See [kirki.org/docs/modules/telemetry](https://kirki.org/docs/modules/telemetry.html) for details. +* New: Improved CSS loading method. Styles are now added inline. +* New: Introduced a `kirki_output_inline_styles` filter - can be used by themes that want to enqueue a dynamic stylesheet with a URL `example.com/?action=kirki-styles` instead of the inline method. +* Deprecated: Removed the "host locally" option from typography controls. This is now the default behaviour and significantly improves performance. Option is no longer necessary. +* Deprecated: Removed the `Kirki_CSS_To_File` class. +* Reprecated: Removed the `Kirki_Modules_Webfonts_Local` class. +* Deprecated: Removed the `Kirki_Fonts_Google_Local` class. + +## 3.0.35.3 + +Dec. 26, 2018, dev time: 1h + +* Fix: Update CSS-Vars when the preview pane refreshes. +* Fix: Tweaked the CSS Values JS-validation function. +* Fix: Update Google Fonts. + +## 3.0.35.2 + +Dec. 8, 2018, dev time: 20m + +* Fix: Correctly output css-vars on the top pf admin pages for use in Gutenberg styles. +* Fix: Update Google Fonts. + +## 3.0.35.1 + +Dec. 6, 2018, dev time: 5m + +* Fix: PHP 5.2 conflict. + +## 3.0.35 + +Dec. 6, 2018, dev time: 15h + +* New: Add Gutenberg support [#2009](https://github.com/aristath/kirki/issues/2009) props @timelsass +* Fix: Add additional check for variants in the typography control - fixes JS issue if no variants were found. +* Fix: Reviews all sanitization, validation & escaping calls and adjusted them where necessary. This is one step closer to full WPTRT compliance. Props @poena for bringing this to my attention. +* Fix: Improved implementation for the `sortable` control. +* Fix: `kirki_modules` filter was not working. [#2023](https://github.com/aristath/kirki/issues/2023) +* Fix: Issue with google-fonts loading when in the customizer and the typography field uses `postMessage`. [#1988](https://github.com/aristath/kirki/issues/1988) +* Fix: Changed the priority for css-vars. +* Fix: Dependencies for the code control. [#2020](https://github.com/aristath/kirki/issues/2020) +* Fix: PHP 5.2 error `T_PAAMAYIM_NEKUDOTAYIM` [#2032](https://github.com/aristath/kirki/issues/2032) +* Fix: Code cleanup in the repeater control, props @joyously [ticket](https://wordpress.org/support/topic/repeater-setting-value-function/) +* Tweak: Removed deprecated code & code cleanups. + +## 3.0.34 + +Sept. 14 2018, dev time: 21h. + +* Fix: Error when `typography` fields don't have a font-family. [#1916](https://github.com/aristath/kirki/issues/1916), [#1797](https://github.com/aristath/kirki/issues/1797), [#1935](https://github.com/aristath/kirki/issues/1935). props @mintbird +* Fix: Allow using "Default Browser Font-Family" in default value (`typography` fields) [#1907](https://github.com/aristath/kirki/pull/1907). props @mintbird +* Fix: Envato theme-check error [#1914](https://github.com/aristath/kirki/issues/1914), [#1926](https://github.com/aristath/kirki/pull/1926). props @timelsass +* Fix: HTTPS webfont load error [#1925](https://github.com/aristath/kirki/issues/1925) +* Fix: Undefined index PHP notice for background-color. [95ca010](https://github.com/aristath/kirki/pull/1930/commits/95ca010588878363a7d2042f09428bae260cb602) +* Fix: Minor Fixes for css-variables added in v3.0.28. +* New: Allow unitless values in dimension controls. +* New: (Refactor) Migrated `image` controls to new structure in preparation of v3.1 +* Update: Updated Google-fonts. + +## 3.0.33 + +May 17 2018 + +* Fix: Google-Fonts folder permissions improperly set in v3.0.28. +* Fix: Select issues in repeater controls [#1892](https://github.com/aristath/kirki/issues/1892), [#1888](https://github.com/aristath/kirki/issues/1888) props @asilcetin. +* Fix: Updated Google Fonts to include latest font-family additions. + +## 3.0.32 + +May 16 2018 + +* Fix: Reverted some google-fonts changes. Fixes loading issues on some environments. +* New: Added option per-typography-control to allow users to host Google Fonts on their own servers (GDPR compliance). + +## 3.0.31 + +May 16 2018 + +* Fix: Added fallback to google-CDN if locally-hosted google-fonts can't be found. +* Fix: Updated google-fonts list. + +## 3.0.30 + +May 15 2018 + +* Fix: Fixed caching for locally-downloaded google-fonts (GDPR compliance helper). + +## 3.0.29 + +May 15 2018 + +* Fix: PHP error in some PHP versions because of the "do" method-name. + +## 3.0.28 + +May 15 2018, dev time: 12 hours. + +* Fix: Repeater control JS issue if saved value is malformatted [#1879](https://github.com/aristath/kirki/issues/1879) - props @asilcetin. +* Fix: Preset control bug [#1882](https://github.com/aristath/kirki/issues/1882). +* Fix: JS error if an SVG is uploaded to an image control [#1883](https://github.com/aristath/kirki/issues/1883) Props @seantjohnson-dev +* New: GDPR-Compliance: Google-Fonts are now downloaded server-side bypassing the google-CDN which collects user's IP addresses and personal data without their consent. +* New: Added support for css-variables. + +## 3.0.27 + +April 30 2018, dev time: 1 hour. + +* Fix: multiselect in repeaters. Props @asilcetin [#1876](https://github.com/aristath/kirki/issues/1876). +* Fix: CSS output on numeric values. [issue link](https://wordpress.org/support/topic/all-css-output-from-kirki-stop-working-on-version-3-0-26/). + +## 3.0. + +April 27 2018, dev time: 43 hours. + +* Fix: Color Palette: material colors 'light-blue' doesn't work [#1783](https://github.com/aristath/kirki/issues/1783). +* Fix: Google Fonts switch error [#1791](https://github.com/aristath/kirki/issues/1791). +* Fix: FontAwesome JS is being loaded even if you don't need it on front end [#1786](https://github.com/aristath/kirki/issues/1786). +* Fix: Color Palette: Active color before section title [#1782](https://github.com/aristath/kirki/issues/1782). +* Fix: Removed version from the webfont script. +* Fix: Validation error for dimension fields. +* Fix: `button_label` argument for repeater fields (props @felipeelia). +* Fix: Allow html on radio-buttonset choices [#1818](https://github.com/aristath/kirki/issues/1818). +* Fix: `Kirki_Helper::compare_values` vs. `field-dependencies.js` boolean issue (props @CaptJiggly) [#1825](https://github.com/aristath/kirki/issues/1825). +* Fix: `active_callback` not working for checkboxes [#1809](https://github.com/aristath/kirki/issues/1809). +* Fix: Nested `active_callback` args not working properly (AND|OR relations) [#1809](https://github.com/aristath/kirki/issues/1809). +* Fix: Updated google-fonts. +* Fix: Display typography with no default values [#1797](https://github.com/aristath/kirki/issues/1797). +* Fix: Define "normal" as a valid css-value for sanitizations [#1814](https://github.com/aristath/kirki/issues/1814). +* Fix: `background` controls now output `background-color` as simply `background` if no `background-image` is defined in the value [#1808](https://github.com/aristath/kirki/issues/1808). +* Fix: @media-queries fix due to minimized CSS. [#1787](https://github.com/aristath/kirki/issues/1787). +* Fix: `Kirki_Helper::compare_values` contains/in PHP warning if value doesn't exist in array [#1828](https://github.com/aristath/kirki/issues/1828). +* Fix: Invalid Value in the Dimension control [#1844](https://github.com/aristath/kirki/issues/1844). +* Fix: Add `fr` to the array of valid units used in validations [ +86adedb](https://github.com/aristath/kirki/pull/1784/commits/86adedb8cd4c06c7e6538c3087233a6840dee562) +* Fix: Updated webfonts. +* New: Migrated `number` control to new structure. + +## 3.0.25 + +January 23 2018, dev time: 1 hour. + +Please note that the typography controls since v3.0.23 no longer require subsets. This is not a bug or omission, subsets are simply no longer necessary because there's an implementation now that loads them properly without requiring the user to define it. + +* Fix: partial reversion of webfontloader improvements in order to resolve an issue with incorect font-weights loading. + +## 3.0.24 + +January 23 2018, dev time: 10 minutes. + +* Fix: Added back the `get_google_font_subsets()` method. Although it was always meant just to be used internally apparently a couple of themes out there use it and its removal caused a fatal error. + +## 3.0.23 + +January 22 2018, dev time: 23 hours. + +* Fix: clear button on color controls [#1720](https://github.com/aristath/kirki/issues/1720) +* Fix: PHP mode in code controls. +* Fix: `active_callback` not working for upload fields [#1732](https://github.com/aristath/kirki/issues/1732) +* Fix: accessibility issue on radio-buttonset controls [#1722](https://github.com/aristath/kirki/issues/1722) +* Fix: `active_callback` not working for cropped-image controls [#1752](https://github.com/aristath/kirki/issues/1752) +* Fix: added support for `button_labels` in image fields [#1173](https://github.com/aristath/kirki/issues/1173) +* Fix: Support for adding inline CSS to an already defined stylesheet. +* Fix: Sanitization in section & panel descriptions and priorities [#1759](https://github.com/aristath/kirki/issues/1759) +* Fix: `active_callback` support when using serialized options [#1745](https://github.com/aristath/kirki/issues/1745) +* Fix: Remove timepicker from date control [#1750](https://github.com/aristath/kirki/issues/1750) +* Fix: WebfontLoader improvements. +* Fix: Now using a datepicker for the `date` control [#1767](https://github.com/aristath/kirki/issues/1767) +* New: Added "inherit" in the typography control's font-family option [w.org ticket](https://wordpress.org/support/topic/inherit-and-typography-control/) +* New: Added googlefonts resource hints. Props @aryaprakasa. +* New: Now loading fontawesome from a CDN. smaller footprint for the plugin and async loading will improve performance for everyone [#1763](https://github.com/aristath/kirki/issues/1763) +* Tweak: Removed legacy code. +* Tweak: Code cleanups. +* Deprecated: Typography controls no longer require the "subset" dropdown. + +## 3.0.22 + +December 20 2017, dev time: 3.5 hours. + +* Fix: Files cleanup. Removed webfonts.php and now use the json file. +* Fix: WordPress Coding Standards fixes. +* New: Converted all filter names to use `_` instead of `/` (WPCS). Fallback methods included. +* New: Removed inline methods for webfonts and now use [typekit/webfontloader](https://github.com/typekit/webfontloader). +* New: Update GoogleFonts list. + +## 3.0.21 + +December 18 2017, dev time: 3 hours + +* Fix: Allow HTML in labels and descriptions [#1705](https://github.com/aristath/kirki/issues/1705) +* Fix: Code controls minor refactor (now extends the `WP_Customize_Code_Editor_Control` class) +* Fix: Checkbox values sanitization inside repeater controls [#1715](https://github.com/aristath/kirki/issues/1715) +* Fix: JS error in dimension controls when not using a CSS unit [#1711](https://github.com/aristath/kirki/pull/1711) props @FrankM1 +* Fix: AJAX issue on a host with weird config. +* New: Add `placeholder` argument in `select` controls [#1593](https://github.com/aristath/kirki/issues/1593) + +## 3.0.20 + +December 13 2017, dev time: 1.5 hours + +* Fix: Use `repeat` instead of `repeat-all` in background controls [#1701](https://github.com/aristath/kirki/issues/1701) +* Fix: Use `set_url_scheme()` when outputing images [#1697](https://github.com/aristath/kirki/issues/1697) +* Fix: `textarea` control is broken with HTML content [#1694](https://github.com/aristath/kirki/issues/1694) props @tutv95 +* Fix: Typo in `radio` controls [#1699](https://github.com/aristath/kirki/issues/1699) +* Fix: variants selection for standard font-families. + +## 3.0.19 + +December 8 2017, dev time: 20 minutes. + +* Fix: WebfontLoader using `i` instead of `400i`. +* Fix: Sometimes `font-weight` and `font-style` don't get applied. + +## 3.0.18 + +December 6 2017, dev time: 1 hour. + +* Fix: Standards fonts sometimes not showing in typography control [#1689](https://github.com/aristath/kirki/issues/1689) +* Fix: missing .min.css file + +## 3.0.17 + +December 5 2017, dev time: 46 hours + +* Fix: In some cases options were not saved when using `option` instead of the default `theme_mod` [#1665](https://github.com/aristath/kirki/issues/1665) +* Fix: `link` control-type (alias of `url`) was not working [#1660](https://github.com/aristath/kirki/issues/1660) +* Fix: Allow using tabs & linebreaks when defining elements in the `output` argument [#1659](https://github.com/aristath/kirki/issues/1659) +* Fix: PHP Warning when using `code` controls without a `label` defined [#1658](https://github.com/aristath/kirki/issues/1658) +* Fix: Buttons inside `number` controls were not increasing/decreasing the values [#1648](https://github.com/aristath/kirki/issues/1648) +* Fix: JS error - only on Safari - for Select controls [#1662](https://github.com/aristath/kirki/issues/1662) +* Fix: Unable to deselect all options from multiselect controls [#1670](https://github.com/aristath/kirki/issues/1670) +* Fix: `multicolor` controls missing the `alpha` channel [#1657](https://github.com/aristath/kirki/issues/1657) +* Fix: Unable to manually edit value in `multicolor` controls [#1666](https://github.com/aristath/kirki/issues/1666) +* New: Transitioned to a JS-based webfont loader method to load google-fonts instead of using a link. +* New: Moved `select` controls to new JS implementation. +* New: Moved `text` and `textarea` controls (`generic` controls) to new JS implementation. +* New: Added `text-transform` to `typography` fields [#1642](https://github.com/aristath/kirki/issues/1642) +* New: Refactored typography controls loading for better efficiency and performance +* New: Removed PHP implementation for field dependencies, now using a pure JS solution. +* New: Added support for "outer" sections [#1683](https://github.com/aristath/kirki/issues/1683) +* New: Added new `Kirki::remove_control()`, `Kirki::remove_section()` and `Kirki::remove_panel()` methods. +* New: Added 2 new filters: `kirki/{$config_id}/webfonts/skip_hidden` and `kirki/{$config_id}/css/skip_hidden` [#1678](https://github.com/aristath/kirki/issues/1678) +* Tweak: Validation & Sanitization for `dimension` and `dimensions` controls. +* Tweak: Refactored `multicolor` controls a bit. + +## 3.0.16 + +November 19 2017, dev time: 8 hours + +* Fix: `typography` controls not working when they are the only fields used [#1627](https://github.com/aristath/kirki/issues/1627) +* Fix: `slider` controls were not updating the numeric value visually in their textfield when the control was not using `postMessage` [#1633](https://github.com/aristath/kirki/issues/1627) +* Fix: Deprecated call to non-existing `Kirki_Styles_Frontend`, props @FrankM1 [#1644](https://github.com/aristath/kirki/issues/1644) +* Fix: Updated the customizer-styling module for compatibility with WP 4.9 [#1639](https://github.com/aristath/kirki/issues/1639) +* Fix: `code` controls were not using the corect `priority` [#1622](https://github.com/aristath/kirki/issues/1622) +* Fix: Multiple reports of errors in the console. +* New: Refactored the `number` controls [#1631](https://github.com/aristath/kirki/issues/1627) +* New: Refactored the `color` controls. [#1646](https://github.com/aristath/kirki/issues/1646) + +## 3.0.15 + +November 12 2017, dev time: 5 minutes. + +* Fix: PHP Warning in the `Kirki_Modules_Webfonts_Link` class [#1626](https://github.com/aristath/kirki/issues/1626) + +## 3.0.14 + +November 11 2017, dev time: 4 hours. + +* Fix: Duplicate subsets output in the Google Fonts URLs [#1618](https://github.com/aristath/kirki/issues/1618) +* Fix: Theme Check Warnings [#1613](https://github.com/aristath/kirki/issues/1613) +* Fix: Add Kirki version number when enqueueing scripts & styles (cache-busting) [#1623](https://github.com/aristath/kirki/issues/1623) +* Fix: JS conflict and PHP warning in typography fields when they are not properly defined [#1621](https://github.com/aristath/kirki/issues/1621) + +## 3.0.13 + +November 9 2017, dev time: 3 hours. + +* Fix: textdomain typo in a string. +* Fix: radio-image styling. +* Fix: JS error (underscore's `_.isUndefined` for some reason doesn't always work as expected). +* Tweak: Added reset back to sliders. +* Tweak: CSS improvements. + +## 3.0.12 + +November 7 2017, dev time: 42 hours. + +This update significantly reduces the plugin size by removing 3rd-party libraries (particularly CodeMirror) and uses the new controls and scripts that become available in WordPress 4.9. +It also changes the file structure and paves the way for a 3.1 rewrite which will be a significant improvement, making Kirki a mostly JS-based app fully integrated in WordPress's JS API and moving away from the PHP API. + +* Fix: WordPress 4.9 compatibility for colorpickers. +* Fix: WordPress 4.9 compatibility for typography controls. +* Fix: WordPress 4.9 compatibility for multicolor contols. +* Fix: WordPress 4.9 compatibility for background contols. +* Fix: Refactored `editor` controls to make them compatible with WP 4.9 +* Fix: Remove CodeMirror and use the code control from WordPress Core. Code controls will be displayed as textareas in WP older than 4.9. +* Fix: Use new `DateTimeControl` if in WP 4.9+ for date control. +* Fix: Text field styling. +* Fix: Switch controls labels. +* Fix: 'choices' arguments were not getting passed-on due to `is_customize_preview` checks in latest WP Versions. +* Fix: Overriding Kirki translations from a theme when Kirki is embedded. +* New: Replaced `select2` with `selectWoo`. +* New: Added a `Kirki_Control_Base` class and abstracted controls. +* New: Better file structure. +* New: Compiled JS & CSS files. +* New: Added ability to manually enter numeric values in slider controls. +* Tweak: Improved styling of color-palette controls. +* Tweak: Radio-Image controls now display images inline (using flexbox). +* Tweak: Removed the reset switch from slider controls & improved their styling. +* Tweak: Improved typography controls styling for text-align. +* Removed: Reset module. + +## 3.0.11 + +October 12 2017, dev time: 3 hours. + +* Fix: Typography controls were not properly saving some sub-values [#1521](https://github.com/aristath/kirki/issues/1521), [#1560](https://github.com/aristath/kirki/issues/1560) +* Fix: Undefined index in the code control [#1567](https://github.com/aristath/kirki/issues/1567) +* Fix: CSS Output for multicolor fields [#1564](https://github.com/aristath/kirki/issues/1564) +* Fix: JS instantiation of controls in expanded sections [#1559](https://github.com/aristath/kirki/issues/1559) +* Fix: LTR for code controls [#1558](https://github.com/aristath/kirki/issues/1558) +* Fix: Remove Reset in default sections [#1580](https://github.com/aristath/kirki/issues/1580) +* Fix: Uncaught TypeError: data.value[choiceKey].replace is not a function [#1578](https://github.com/aristath/kirki/issues/1578) +* Fix: Other code cleanup. +* Fix: Updated google-fonts. + +## 3.0.10 + +September 21 2017, dev time: 74 hours. + +* Fix: Allow HTML tags in tooltips [#1536](https://github.com/aristath/kirki/issues/1536) +* Fix: Default System Font Stack for Sans Serif Fonts in Typography Fields [#1530](https://github.com/aristath/kirki/issues/1530) +* Fix: HTML entities in repeater text field being encoded on each save? [#1523](https://github.com/aristath/kirki/issues/1523) +* Fix: Some resetting issues [#1474](https://github.com/aristath/kirki/issues/1474) +* Fix: Allow saving image fields as arrays (url,id,width,height) [#1529](https://github.com/aristath/kirki/issues/1529) +* Fix: Allow saving image fields as ID [#1498](https://github.com/aristath/kirki/issues/1498) +* Fix: Inline docs improvements. +* Fix: `$subsets` not defined in the `Kirki_Modules_Webfonts_Link` class. +* Fix: Coding improvements in the `Kirki_Field` class. +* Fix: Performance Improvements in the autoloader [see commit](https://github.com/aristath/kirki/pull/1454/commits/dd518f7dc35cacf4f2ed571b033519b353aa2545) +* Fix: Undefined index notice in the `Kirki_Output` class. +* Fix: Sanitization for `checkbox`, `switch` and `toggle` controls. +* Fix: `select2` CSS fix for `z-index` [#1459](https://github.com/aristath/kirki/issues/1459) +* Fix: Remove button in image controls when there's no image [#1469](https://github.com/aristath/kirki/issues/1469) +* Fix: Background control styling issue when no other color control exists [#1472](https://github.com/aristath/kirki/issues/1472) +* Fix: Checkbox and Toggle don't respect "value_pattern" [#1467](https://github.com/aristath/kirki/issues/1467) +* Fix: Array to string conversion when clicking reset button [#1477](https://github.com/aristath/kirki/issues/1477) +* Fix: Input Field Validation Issue [#1486](https://github.com/aristath/kirki/issues/1486) +* Fix: Typography: output property not working [#1484](https://github.com/aristath/kirki/issues/1484) +* Fix: postMessage does not work properly when using `prefix` [#1479](https://github.com/aristath/kirki/issues/1479) +* Fix: Use `wp_json_encode` instead of `json_encode`. +* Fix: Use `rawurlencode` instead of `urlencode`. +* New: Added warnings for deprecated functions/methods. +* New: `code` control now loads dynamically (performance improvement). +* New: `color-palette` control now loads dynamically (performance improvement). +* New: `color` control now loads dynamically (performance improvement). +* New: `dashicons` control now loads dynamically (performance improvement). +* New: `date` control now loads dynamically (performance improvement). +* New: `dimension` control now loads dynamically (performance improvement). +* New: `dimensions` control now loads dynamically (performance improvement). +* New: `editor` control now loads dynamically (performance improvement). +* New: `fontawesome` control now loads dynamically (performance improvement). +* New: `generic` control now loads dynamically (performance improvement). +* New: `multicheck` control now loads dynamically (performance improvement). +* New: `number` control now loads dynamically (performance improvement). +* New: `palette` control now loads dynamically (performance improvement). +* New: `preset` control now loads dynamically (performance improvement). +* New: `radio-buttonset` control now loads dynamically (performance improvement). +* New: `radio-image` control now loads dynamically (performance improvement). +* New: `radio` control now loads dynamically (performance improvement). +* New: `select` control now loads dynamically (performance improvement). +* New: `slider` control now loads dynamically (performance improvement). +* New: `switch` control now loads dynamically (performance improvement). +* New: `toggle` control now loads dynamically (performance improvement). + +## 3.0.9 + +July 8 2017, dev time: 7 hours. + +* Fix: Add alpha option to multicolor control. Props @danielortiz [#1321](https://github.com/aristath/kirki/issues/1321), [#1449](https://github.com/aristath/kirki/pull/1449) +* Fix: Googlefonts output when `default` argument contains `font-weight` instead of `variant` [#1443](https://github.com/aristath/kirki/issues/1443) +* Fix: Removed the `Kirki_Custom_Build` class. +* Fix: Plugin does not exist error when Kirki is embedded in a theme [#1448](https://github.com/aristath/kirki/issues/1448) +* Fix: Code simplifications and optimizations. + +## 3.0.8 + +June 27 2017, dev time: 4 hours. + +* Fix: Typography controls without a variant defined were adding font-weight in the customizer [#1436](https://github.com/aristath/kirki/issues/1436) +* Fix: Set default webfonts loading method to `link` [#1438](https://github.com/aristath/kirki/issues/1438) +* Fix: Bug that prevents custom args from being passed to custom controls [#1425](https://github.com/aristath/kirki/issues/1425). Props @danielortiz +* Fix: `exclude` argument in `output` when combined with `choice` [#1416](https://github.com/aristath/kirki/issues/1416) +* Fix: `active_callback` operators for greater/smaller etc [#1427](https://github.com/aristath/kirki/issues/1427) + +## 3.0.7 + +June 26 2017, dev time: 1 hour. + +* Fix: GoogleFonts links were not getting properly created [#1430](https://github.com/aristath/kirki/issues/1430) +* Fix: Incorrect logic when `Kirki::add_field()` only has 1 argument defined [#1429](https://github.com/aristath/kirki/issues/1429) + +## 3.0.6 + +June 25, 2017, dev time: 5 minutes. + +* Fix: Typo, PHP 5.2 compatibility. + +## 3.0.5 + +June 25, 2017, dev time: 5 hours. + +* Fix: Conflict with the MaxStore Pro theme [#1405](https://github.com/aristath/kirki/issues/1405) +* Fix: CSS Output for Typography controls [#1423](https://github.com/aristath/kirki/issues/1423) +* Fix: PHP Warning in Repeater control. [#1417](https://github.com/aristath/kirki/issues/1417) +* Fix: CSS conflict with the Shortcake plugin [#1418](https://github.com/aristath/kirki/issues/1418) +* Fix: `Kirki_Fonts_Google::$force_load_all_variants` was not working in version 3.0 +* Fix: PHP Warning in typography control when the value was corrupted [#1426](https://github.com/aristath/kirki/issues/1426) +* Fix: Notice about incorrect `wp_add_inline_style` when googlefont URL was throwing error [#1410](https://github.com/aristath/kirki/issues/1410) +* Fix: Unable to delete the plugin when it's also embedded in the active theme and plugin version is deactivated [#1421](https://github.com/aristath/kirki/issues/1421) +* Fix: PHP 5.2 compatibility. + +## 3.0.4 + +June 23, 2017, dev time: 2 hours. + +* Fix: Added extra checks to avoid PHP Warning in the `Kirki_Fonts_Google` class [#1402](https://github.com/aristath/kirki/issues/1402). +* Fix: `fontawesome` control was throwing a warning in the theme-check plugin. +* Fix: Added the "Default" button back in image controls [#1401](https://github.com/aristath/kirki/issues/1401) +* Fix: Number controls sanitization memory issue [#1404](https://github.com/aristath/kirki/issues/1404) +* Fix: Typography controls font-weight output [#1370](https://github.com/aristath/kirki/issues/1370) +* Fix: The `icon` argument was not working for Panels. + +## 3.0.3 + +June 22, 2017, dev time: 10 minutes/ + +* Fix: Error when color is not properly formatted. + +## 3.0.2 + +June 22, 2017, dev time: 15 minutes. + +* Fix: CSS bugfixes in the `editor` control. +* Fix: Improvements when embedding Kirki in a theme. + +## 3.0.1 + +June 22, 2017, dev time: 5 minutes. + +* Fix: Undefined index PHP Notice. + +## 3.0.0 + +June 22, 2017, dev time: 243 hours. + +This is a major release. Many things have been refactored and optimized. Please keep a backup before updating. + +* Fix: Refactored the reset module. [#1334](https://github.com/aristath/kirki/pull/1334) +* Fix: Refactored the postMessage module [#1333](https://github.com/aristath/kirki/issues/1333) +* Fix: PHP mode on CodeMirror. [#1003](https://github.com/aristath/kirki/issues/1003) +* Fix: Dynamic repeater labels now use the label instead of value when picking up label from select field. [#1230](https://github.com/aristath/kirki/issues/1230) +* Fix: Sanitization for number fields. [#1240](https://github.com/aristath/kirki/issues/1240) +* Fix: Checkboxes sanitization. [#1195](https://github.com/aristath/kirki/issues/1195) +* Fix: Link functionality in editor field. [#968](https://github.com/aristath/kirki/issues/968), [#1159](https://github.com/aristath/kirki/issues/1159) +* Fix: Issues in Field Type editor [#1260](https://github.com/aristath/kirki/issues/1260) +* Fix: Problems with sortable control [#1253](https://github.com/aristath/kirki/issues/1253), [#1197](https://github.com/aristath/kirki/issues/1197), [#1198](https://github.com/aristath/kirki/issues/1198) +* Fix: inaccessibility of options panel [#1194](https://github.com/aristath/kirki/issues/1194) +* Fix: Fields "checkbox", "toggle" and "switch" don't save as boolean in PHP, instead integer 0/1 [#1195](https://github.com/aristath/kirki/issues/1195) +* Fix: Tooltip not working for switch [#1225](https://github.com/aristath/kirki/issues/1225) +* Fix: Tooltip height fix in [#1228](https://github.com/aristath/kirki/issues/1228) +* Fix: Tooltip not closing when clicking outside of icon [#1226](https://github.com/aristath/kirki/issues/1226) +* Fix: Issue with visual representation of color picker (alpha iris) [#1218](https://github.com/aristath/kirki/issues/1218) +* Fix: Reset is "undefined" [#1210](https://github.com/aristath/kirki/issues/1210) +* Fix: Controls that save arrays cause PHP Notices [#1199](https://github.com/aristath/kirki/issues/1199) +* Fix: Disabled the "loading" module by default. Use the `kirki/modules` filter to enable. +* Fix: Refactored saving user-meta (`'option_type' => 'user_meta'`). [#1325](https://github.com/aristath/kirki/issues/1325) +* Fix: Code fields reset [#1122](https://github.com/aristath/kirki/issues/1122) +* Fix: Typography fields reset [#1193](https://github.com/aristath/kirki/issues/1193), [#1219](https://github.com/aristath/kirki/issues/1219) +* Fix: Multicolor fields reset [#916](https://github.com/aristath/kirki/issues/916) +* Fix: Custom fonts not displayed as active in the font list after saving [#1110](https://github.com/aristath/kirki/issues/916) +* Fix: Support for `media_query` when using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#1127](https://github.com/aristath/kirki/issues/1127) +* Fix: Typography field bug when switching Google Fonts with different weights [#1180](https://github.com/aristath/kirki/issues/1180) +* Fix: Font Variant outputs invalid property value (typography field) [#1058](https://github.com/aristath/kirki/issues/1058) +* Fix: Updated webfonts. [#1303](https://github.com/aristath/kirki/issues/1303) +* Fix: required argument not work with postMessage type. [#1031](https://github.com/aristath/kirki/issues/1031) +* Fix: Notice: Undefined index, repeater field. [#1291](https://github.com/aristath/kirki/issues/1291) +* Fix: 403 errors for CSS and JS files on localhost. [#1309](https://github.com/aristath/kirki/issues/1309) +* Fix: Customizer doesn't load if ACF PRO is active. [#1302](https://github.com/aristath/kirki/issues/1302) +* Fix: Enqueued google font even if not in use. [#1297](https://github.com/aristath/kirki/issues/1297) +* Fix: Default dimension value does not process well percent units [#1254](https://github.com/aristath/kirki/issues/1254), [#497](https://github.com/aristath/kirki/issues/497) +* Fix: Editor field issue with RTL languages [#340](https://github.com/aristath/kirki/issues/340) +* Fix: Windows Server Issues [#1318](https://github.com/aristath/kirki/issues/1318) +* New: Added code to automatically handle translations when Kirki is embedded in a theme [#1381](https://github.com/aristath/kirki/issues/1381) +* New: Automating postMessage for composite fields. [#694](https://github.com/aristath/kirki/issues/694) +* New: OR logic in field dependencies. [#839](https://github.com/aristath/kirki/issues/839) +* New: Radio-image labels. [#1090](https://github.com/aristath/kirki/issues/1090), [#1220](https://github.com/aristath/kirki/issues/1220) +* New: Typography fields support for `prefix`, `suffix`, `value_pattern` in `output` argument. [#1183](https://github.com/aristath/kirki/issues/1183) +* New: Multi-selects in repeater fields. [#780](https://github.com/aristath/kirki/issues/780), [#1261](https://github.com/aristath/kirki/issues/1261) +* New: Typography fields now support live-updating using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#528](https://github.com/aristath/kirki/issues/528), [#1186](https://github.com/aristath/kirki/issues/1186) +* New: Typography fields now support filtering the available fonts. [#1202](https://github.com/aristath/kirki/issues/1202) +* New: Typography fields now support loading multiple variants. [#992](https://github.com/aristath/kirki/issues/992), [#1082](https://github.com/aristath/kirki/issues/1082), [#1114](https://github.com/aristath/kirki/issues/1114) +* New: Select fields now support optgroups. [#1120](https://github.com/aristath/kirki/issues/1120) +* New: Added new background control-type. [#741](https://github.com/aristath/kirki/issues/741), [#1283](https://github.com/aristath/kirki/pull/1283), [#952](https://github.com/aristath/kirki/pull/952) +* New: Replaced selectize with select2. [#1177](https://github.com/aristath/kirki/issues/1177) +* New: Notifications for number fields when value is invalid depending on min/max/step values. +* New: Rebuilt typography control using select2. [cafb89b ](https://github.com/aristath/kirki/commit/e27fa1ff19ab52b34467bfb306b5870d858f409f) +* New: Allow modifying values instead of replacing them when using `js_vars` with `function` set to `html` by using the `value_pattern` parameter and the `$` placeholder. [#1137](https://github.com/aristath/kirki/pull/1137) +* New: Updated CodeMirror. [fff6df0](https://github.com/aristath/kirki/commit/34fdaa562fdd33fa595db927ee597265a753b3b4) +* New: Added word-spacing to the typography control. [#1163](https://github.com/aristath/kirki/issues/1163) +* New: Refactored file structure to make fields self-contained entities, easier to decouple & debug. +* New: Introducing "modules". +* New: Refactored the tooltips feature (now a module). +* New: Selective refreshes are now a module. +* New: postMessage is now a module. +* New: Refactored section & panel icons (now a module). +* New: Customizer-Styling is now a module. +* New: Customizer-Branding is now a module. +* New: CSS-Output is now a module. +* New: Abstracted the "spacing" control and created a new "dimensions" control from it. +* New: Allow saving site-options(`'option_type' => 'site_option'`) [#1326](https://github.com/aristath/kirki/issues/1326) +* New: Added 2 new methods for enqueueing google fonts. See the [`kirki/googlefonts_load_method`](https://github.com/aristath/kirki/blob/9e3e4a6928339bdcd0f7520d305c145a80a06c8a/modules/webfonts/class-kirki-modules-webfonts.php#L100) filter. +* New: Googlefonts now by default added inline in the stylesheet to avoid an extra call to the GoogleFonts API. (SEO & performance improvement). + +## 2.3.8 + +May 28, 2017, dev time: 15 minutes. + +This is a maintenance release that prepares for 3.0.0 coming soon. + +* Fix: Updating webfonts. +* New: Added ability to use upgrade notices. Needed for v3.0 in a few days. + +## 2.3.7 + +October 22, 2016, dev time: 12 hours. + +* Fix: `spacing` controls were not updating after save +* New: Now using the WP Notifications API in the customizer for spacing & dimension controls (requires WP 4.6). +* Fix: Allow overriding `option_type` with `theme_mod` when global config uses `option` by using the `option_type` argument in the fields. +* Fix: Disabled the custom kirki-preview loader. This will have to be built more modular in future versions. +* Fix: Refactored panel & section icons. +* Fix: postMessage now works better with slider controls. +* Fix: Reset button not working unless tooltips are loaded. +* Fix: Properly sanitize `link` and `url` fields. +* Fix: Automate sanitization for `repeater` fields. + +## 2.3.6 + +August 28, 2016, dev time: 3 hours. + +* Fix: CSS prefixes order fixes ([#1042](https://github.com/aristath/kirki/pull/1042)). +* Fix: `suffix` output argument support in Multicolor control ([#1042](https://github.com/aristath/kirki/pull/1042)). +* Fix: `Kirki::get_variables()` method should be static ([#1050](https://github.com/aristath/kirki/pull/1050)). +* Fix: Add line wrapping to CodeMirror ([#1079](https://github.com/aristath/kirki/pull/1079)). +* Fix: `container_inclusive` is disregarded on the selective refresh class ([#1089](https://github.com/aristath/kirki/issues/1089)). +* Fix: Support `input_attrs` parameter for controls ([#1074](https://github.com/aristath/kirki/issues/1074)). +* Fix: Outdated Google-Fonts list ([#1091](https://github.com/aristath/kirki/issues/1091)). + +## 2.3.5 + +July 2, 2016. dev time: 6 hours. + +* FIX: Missing button labels in `repeater` fields. +* FIX: Missing button label in `code` fields ([#1017](https://github.com/aristath/kirki/issues/1017)). +* FIX: Better implementation when embedding Kirki in a theme ([#1025](https://github.com/aristath/kirki/issues/1025)). +* FIX: Updated google-fonts ([#1041](https://github.com/aristath/kirki/issues/1041)). +* NEW: Allow simpler format for `variables` argument ([#1020](https://github.com/aristath/kirki/issues/1020)). + +## 2.3.4 + +June 1, 2016, dev time: 30 minutes. + +* FIX: Repeater JS issues due to error in translation strings. + +## 2.3.3 + +May 31, 2016, dev time: 17 hours. + +* FIX: Editor field covering the content ([#955](https://github.com/aristath/kirki/issues/955)). +* FIX: Smoother transition for editor switching. +* FIX: Code field JS error when using "php" mode ([#958](https://github.com/aristath/kirki/issues/958)). +* FIX: `postMessage` for typography fields ([#528](https://github.com/aristath/kirki/issues/528)). +* FIX: translation strings ([#960](https://github.com/aristath/kirki/issues/960)). +* FIX: `postMessage` for `background-image` properties ([#963](https://github.com/aristath/kirki/issues/963)). +* FIX: Reset Typography Control without font-family default value ([#951](https://github.com/aristath/kirki/issues/951)). +* FIX: Typography field: font-style missing in CSS output if variant is regular/400 ([#977](https://github.com/aristath/kirki/issues/977)). +* FIX: Placing two editor controls in the customizer leads to odd behavior ([#140](https://github.com/aristath/kirki/issues/140)). +* FIX: Typography field: letter-spacing missing in CSS output if its value is 0 ([#978](https://github.com/aristath/kirki/issues/978)). +* FIX: Allow using HTML in section descriptions ([#976](https://github.com/aristath/kirki/issues/976)). +* FIX: Bug preventing partial refreshes from working properly ([#991](https://github.com/aristath/kirki/issues/991)). +* FIX: Better internationalization handling. +* FIX: Output errors on typography settings ([#975](https://github.com/aristath/kirki/issues/975)). +* NEW: Added a new `attr` argument to `js_vars` ([#957](https://github.com/aristath/kirki/issues/957)). +* NEW: Implemented both `AND` and `OR` conditionals in `active_callback` arrays ([#839](https://github.com/aristath/kirki/issues/839)). +* NEW: Allow defining an array of dashicons to use. +* NEW: Added a `link` control type. + +## 2.3.2 + +May 2, 2016, dev time: 52 hours. + +* NEW: Completely refactored `editor` controls. +* NEW: Completely re-styled `code` controls. +* NEW: Added a new `kirki/{$config_id}/styles` filter ([#908](https://github.com/aristath/kirki/issues/908)). +* NEW: Added a `customize-control-kirki` class to all Kirki controls. +* FIX: Field type number : Cannot read property 'min' of undefined ([#911](https://github.com/aristath/kirki/issues/911)). +* FIX: All controls are now prefixed ([#918](https://github.com/aristath/kirki/issues/918)) +* FIX: `alpha` argument in color-alpha controls ([#932](https://github.com/aristath/kirki/issues/932)). +* FIX: Name attribute in repeaters (props @guillaumemolter). +* FIX: Missing label for checkbox controls inside repeaters (props @guillaumemolter). +* FIX: Placing 2 editor controls in the customizer leads to odd behaviour ([#140](https://github.com/aristath/kirki/issues/140)). +* FIX: `active_callback` conbined with the old `required` argument. ([#906](https://github.com/aristath/kirki/issues/906)). +* FIX: Double prefix and suffix in `js_vars` ([#943](https://github.com/aristath/kirki/issues/943)). +* FIX: Typography control returns both 'subset' and 'subsets' indexes with the same value ([#948](https://github.com/aristath/kirki/issues/948)). +* FIX: Use `strict` JS mode in all controls. + +## 2.3.1 + +April 19, 2016, dev time: 30 hours. + +* FIX: Spacing control JS dependencies. +* FIX: Output property ignored in multicolor field. +* FIX: Image sub-controls in repeaters were causing a JS error. +* FIX: Text Domain Compliance with Themecheck. +* FIX: PostMessage scripts when using more than 1 elements for the output. +* FIX: Default values for swithes, toggles & checkboxes. +* FIX: Conflict with WP Core's `dropdown-pages` control. +* FIX: Auto-transport not working when using serialized options instead of theme_mods. +* FIX: `value_pattern` was not working properly when used in `js_vars`. +* FIX: Repeater control bugfixes (props @guillaumemolter). +* FIX: multi-selects saving single value. +* NEW: Added support for `upload` controls in repeaters (props @guillaumemolter). +* NEW: Adding mime_type parameter for image, cropped_image, upload controls in repeaters (props @guillaumemolter). +* NEW: Added color-picker support in repeater fields (props @guillaumemolter). + +## 2.3.0 + +April 10, 2016, dev time: 21 hours. + +Kirki is now 100% WordPress Coding Standards compliant. + +* FIX: Escaping google-font URLs when possible. +* FIX: Only enqueue the tooltips script if needed. +* FIX: WordPress Coding Standards. +* FIX: undefined sub-controls were still being saved in typography fields +* FIX: Javascript Console Errors: "wp.customize" object undefined when Kirki fields were added in `customize_register` +* FIX: markup in editor fields - props @manuelmoreale. +* FIX: multiple styles in head when using js_vars +* FIX: Sanitization for rem units +* FIX: CSS output for multicolor controls +* NEW: Repeater labels are now dynamic - props @guillaumemolter. +* NEW: The entire header on repeaters is now draggable - props @guillaumemolter. +* TWEAK: More efficient JS code for the typography control + +## 2.2.10 + +* FIX: Issue with URLs when using Kirki embedded in a theme and not installed as a plugin. + +## 2.2.9 + +* FIX: Repeater controls were not working on 2.2.8 due to a typo - props @guillaumemolter +* NEW: Repeater fields now allow more control types (email/tel/url/hidden) - props @guillaumemolter + +## 2.2.8 + +April 6, 2016, dev time: 5 hours. + +* FIX: Enqueued assets missing when useg WP_DEBUG & WP_DEBUG_SCRIPT +* FIX: Checkboxes were not properly displaying their values +* FIX: Javascript errors when `number` controls were used without `min`, `max` or `step`. +* FIX: Multiselect controls issue with the `sanitize_callback` used. +* NEW: Make attributes in `cropped_image` sub-controls inside repeaters dynamic (props @guillaumemolter). + +## 2.2.7 + +April 5, 2016, dev time: 23 hours. + +* FIX: Properly parsing `postMessage` scripts when `transport` is set to `auto`. +* FIX: Background image was outputing CSS even if it was empty. +* FIX: Default value for checkboxes. +* FIX: Issue with plugin URLs in the customizer, when the plugin was embedded in a theme. +* FIX: Descriptions were now shown in `sortable` fields. +* FIX: Reset not working for textarea fields. +* FIX: In some cases only the first element in `output` arguments was being processed. +* FIX: edge-case bugfix for select controls when data saved if the db was somehow mis-formatted. +* FIX: Repeater controls now use image IDs instead of image URLs. Props @guillaumemolter +* NEW: Added `text-align` ability in `typography` fields. +* NEW: Added `text-transform` ability in `typography` fields. +* NEW: Introduce `value_pattern` argument for `output` & `js_vars`. +* NEW: Started refactoring the `Kirki_Field` class. Now each field can have its own sub-class extending the main Kirki_Field object. +* NEW: `multicolor` control. +* NEW: Added `cropped_image` support in `repeater`. Props @guillaumemolter +* TWEAK: Renamed `Kirki_Customizer_Scripts_Loading` to `Kirki_Scripts_Loading`. +* TWEAK: Renamed `Kirki_Customizer_Scripts_Tooltips` to `Kirki_Scripts_Tooltips`. +* TWEAK: Renamed `Kirki_Customizer_Scripts_Icons` to `Kirki_Scripts_Icons`. +* TWEAK: More inline comments, docs & coding-standards improvements. +* DEPRECATED: Removed the `Kirki_Colourlovers` class. + +## 2.2.6 + +March 26, 2016, dev time: 10 hours + +* FIX: Invalid variants for google fonts were getting enqueued due to a mischeck. +* FIX: Repeater rows are now minimized by default. +* FIX: Styling for the `dropdown-pages` control. +* FIX: `switch` controls now properly resize based on the label used in the `choices` argument. +* FIX: It is now possible to use `calc()` in CSS value controls. +* FIX: Styles were being applied to the customizer even if they were not defined in the `kirki/config` filter. +* FIX: Removed unnecessary class inheritances & other code cleanups. +* NEW: Allow resetting options per-section. +* NEW: Added new `color-palette` control. +* NEW: Added `'transport' => 'auto'` to auto-calculate postMessage scripts from the `output` argument when possible. +* NEW: Added Material design palettes in the `Kirki_Helper` class. +* NEW: Allow changing the "Add Row" text on repeater fields. +* NEW: Allow setting a limit for repeater rows. + +## 2.2.5 + +March 23, 2016, dev time: 7 hours + +* FIX: Google fonts now loaded via a PHP array instead of a JSON file. +* FIX: CSS issue due to escaped quotes on standard fonts. +* FIX: Issue when using `units` on `js_vars` combined with the `style` method. +* FIX: Missing textdomain on a string. +* NEW: Refactored postMessage scripts. +* NEW: Allow passing options to iris using the `choices` argument on color controls. +* NEW: Allow disabling the custom loader using the `disable_loader` argument in the `kirki/config` filter. + +## 2.2.4 + +March 20, 2016, dev time: 6 hours + +* FIX: Removed unnecessary CSS echoed by the `typography` control +* FIX: Color Calculation class improvements +* FIX: CSS improvement for `toggle` controls +* NEW: Added `dashicons` field +* NEW: Added the ability to limit the number of rows in `repeater` controls (props @fovoc) + +## 2.2.3 + +March 19, 2016 + +* FIX: Selecting a color inside typography controls was throwing a JS error (typo) +* FIX: CSS alignment for descriptions in toggle controls +* FIX: Default value for letter-spacing setting in typography controls (props @andreg) + +## 2.2.2.1 + +March 18, 2016, dev time: 5 minutes + +* FIX: Backwards-compatibility bugfix + +## 2.2.2 + +March 17, 2016, dev time: 10 minutes + +* FIX: PHP notice for non-standard controls when the `element` defined in an `output` argument is of type `array`. + +## 2.2.1 + +March 17, 2016, dev time: 3 hours + +* FIX: Alpha channel was always enabled for color controls +* FIX: PHP Notices in the class-kirki-output-control-typography.php file +* FIX: PHP Fatal error on PHP 5.2 +* FIX: PHP Notice in the class-kirki-field.php file +* FIX: PHP Fatal error when using background-position in the output argument +* TWEAK: Removed unused languages from CodeMirror to reduce the plugin's size + +## 2.2.0 + +March 16, 2016, dev time: 120 hours + +* FIX: Improved & simplified the `number` control. +* FIX: Improved & simplified the `spacing` control. +* FIX: Minor bugfix on the `select` control. +* FIX: WP Coding standards improvements. +* FIX: Bugfix for radio controls. +* FIX: Fixed repeater remove image not triggering save button to activate, and added a placeholder when the image is removed. (props @sayedwp) +* FIX: Fixed bug when using negative numbers as min value in the `number` field +* FIX: Typo in the textdomain for some strings (some strings were using "Kirki" instead of "kirki"). +* FIX: Complete refactor & rewrite of the google-fonts implementation. +* FIX: IE11 bug on radio-image controls. +* FIX: Radio-image bug when used with serialized options. +* NEW: Complete refactor & rewrite of typography control. +* NEW: Refactored the CSS output methods. +* NEW: Added new mothods for detecting dependencies. +* NEW: Added font-subsets in typography controls. +* NEW: Google fonts now only show valid variants & subsets in typography controls. +* NEW: Implemented partial refreshes for WP 4.5 using a "partial_refresh" argument (formatted as an array). +* NEW: Better autoloader & improved file structure. +* NEW: Deprecated the `Kirki_Field_Sanitize` class in favor of a more simplified & robust implementation. +* NEW: Completely refactored the `Kirki_Field` class, we're migrating to a more OOP model. +* NEW: Added a new `kirki-generic` control. +* NEW: Deprecated the custom text control and used the new `kirki-generic` control instead. +* NEW: Deprecated the custom textarea control and used the new `kirki-generic` control instead. +* NEW: Renamed the `help` argument to `tooltip`. `help` will continue to work as an alias. +* NEW: Merged the `color` & color-alpha` controls. We now use the `color-alpha` control for all colors, and just modify the `data-alpha` property it has. +* NEW: Started an OOP rewrite of many classes +* NEW: Started rewriting the PHPUNIT tests & tweaked them so they can now run on localhosts (like VVV) and not just on travis-ci. +* NEW: Included the ariColor library for color calculations (https://aristath.github.io/ariColor/) +* TWEAK: Other code refactoring for improved performance +* TWEAK: Updated `grunt` packages. + +## 2.1.0.1 + +February 17, 2016, dev time: 5 minutes + +* FIX: PHP Notices (undefined index) + +## 2.1.0 + +February 17, 2016, dev time: 4 hours + +* FIX: Image field issues inside the Repeater field (props @sayedwp) +* NEW: Allow disabling output per-config +* NEW: Introduce 'postMessage' => 'auto' option in config (will auto-create `js_vars` using the `output` argument) +* NEW: New color control using a js-based template +* TWEAK: Branding script rewrite +* TWEAK: Color controls styling +* TWEAK: Coding improvements & cleanups + +## 2.0.9 + +February 13, 2016, dev time: 1 hour. + +* FIX: Google fonts bug (use double quotes when font name contains a space character) +* FIX: Checkbox control bug (checkboxes were always displayed as checked, regardless of their actual value) +* NEW: Intruducing KIRKI_NO_OUTPUT constant that disables CSS output completely when set to true. + +## 2.0.8 + +February 10, 2016, dev time: 2 hours + +* FIX: Only load Kirki styles when in the customizer +* FIX: Performance issue with Google Fonts +* NEW: Added radio-image controls to repeaters +* TWEAK: Better color handling in the Kirki_Color class + +## 2.0.7 + +January 19, 2016, dev time: 1 hour + +* FIX: Narrow the scope of "multicheck" modification checker (props @chetzof) +* FIX: PHP warnings due to invalid callback method +* FIX: postMessage bug introduced in 2.0.6 (2 lines commented-out) + +## 2.0.6 + +January 18, 2016, dev time: 7 hours + +* FIX: Fix active callback for multidimensional arrays. (props @andrezrv) +* FIX: Correctly check current value of checkbox control. (props @andrezrv) +* FIX: Bug in the sortable field (props @daviedR) +* FIX: Fixed some bugs that occured when using serialized options instead of theme_mods +* NEW: Added an image sub-field to repeater fields (props @sayedwp) +* NEW: Added a JS callback to js_vars (props @pingram3541) +* TWEAK: Settings sanitization +* TWEAK: Removed demo theme from the plugin. This is now provided separately on https://github.com/aristath/kirki-demo + +## 2.0.5 + +December 23, 2015, dev time: 2.5 hours + +* FIX: Disabled the ajax-loading method for stylesheets. All styles are now added inline. Will be re-examined for a future release. +* FIX: Number controls were not properly triggering changes +* FIX: Styling for number controls +* FIX: In some cases the dynamic CSS was added before the main stylesheet. We now add them using a priority of 999 to ensure they are enqueued afterwards. + +## 2.0.4 + +December 19, 2015, dev time: 3 hours + +* NEW: Added units support to the Typography field +* NEW: Default methods of enqueuing styles in now inline. +* NEW: Added 'inline_css' argument to config. set to false to add styles using AJAX. +* FIX: HTML mode for CodeMirror now functional +* FIX: PHP Notices when the config filter is used wrong +* FIX: Monor bugfix for text inputs +* FIX: Indentation & coding standards +* FIX: failing PHPUNIT test. +* TWEAK: Remove passing click event object + +## 2.0.3 + +December 6, 2015, dev time: 45 minutes + +* Bugfix for updates + +## 2.0.2 + +December 6, 2015, dev time: 30 minutes + +* FIX: Fatal error on update (not on new installations) +* FIX: Typo + +## 2.0.1 + +December 6, 2015, dev time: 10 minutes + +* FIX: Some configurations were failing with the new autoloader. Reverted to a simpler file structure. + +## 2.0 + +December 6, 2015, dev time > 140 hours + +* NEW: Added support for `sanitize_callback` arguments on each item in the CSS `output`. +* NEW: Added the ability to define an array as element in the `output`. +* NEW: Auto-prefixing CSS output for cross-browser compatibilities. +* NEW: Allow using arrays in settings. +* NEW: Dimension Field. +* NEW: Repeater Field. +* NEW: Code Field using the ACE editor. +* NEW: Typography Control. +* NEW: Preset Field. +* NEW: Demo theme. +* NEW: Spacing Control. +* REMOVED: Redux Framework compatibility. +* FIX: Minor bugfixes to the Kirki_Color class. +* FIX: kirki_get_option now uses Kirki::get_option(). +* FIX: Various bugfixes. +* TWEAK: Converted the `checkbox` control to use the JS templating system. +* TWEAK: Converted the `custom` control to use the JS templating system. +* TWEAK: Converted the `multicheck` control to use the JS templating system. +* TWEAK: Converted the `number` control to use the JS templating system. +* TWEAK: Converted the `palette` control to use the JS templating system. +* TWEAK: Converted the `radio-buttonset` control to use the JS templating system. +* TWEAK: Converted the `radio-image` control to use the JS templating system. +* TWEAK: Converted the `radio` control to use the JS templating system. +* TWEAK: Converted the `select` control to use the JS templating system. +* TWEAK: Converted the `slider` control to use the JS templating system. +* TWEAK: Converted the `switch` control to use the JS templating system. +* TWEAK: Converted the `textarea` control to use the JS templating system. +* TWEAK: Converted the `toggle` control to use the JS templating system. +* TWEAK: `radio-buttonset` controls are now CSS-only. +* TWEAK: `radio-image` controls are now CSS-only. +* TWEAK: `select` controls nopw use [selectize](http://brianreavis.github.io/selectize.js/) instead of [Select2](https://select2.github.io/). +* TWEAK: Deprecated `select2` and `select2-multiple` controls. We now have a global `select` control. Previous implementations gracefully fallback to the current one. +* TWEAK: `switch` controls are now CSS-only. +* TWEAK: `toggle` controls are now CSS-only. +* TWEAK: Sliders now use an HTML5 "range" input instead of jQuery-UI. +* TWEAK: Better coding standards. +* TWEAK: Descriptions styling. +* TWEAK: Improved controls styling. +* TWEAK: Compiled CSS & JS for improved performance. +* TWEAK: Added prefix to the sanitized output array. +* TWEAK: Updated google-fonts. +* TWEAK: Grunt integration. +* TWEAK: Some Code refactoring. + +## 1.0.2 + +July 17, 2014, dev time: 5 minutes + +* NEW: Added 'disable_output' and 'disable_google_fonts' arguments to the configuration. + +## 1.0.1 + +July 17, 2014, dev time: 1 hour + +* FIX: Issues when using serialized options instead of theme_mods or individual options. +* FIX: Issues with the `output` argument on fields. +* FIX: Other minor bugfixes + +## 1.0.0 + +July 11, 2014, dev time: 177 hours + +* NEW: Added PHPUnit tests +* NEW: Use wp_add_inline_style to add customizer styles +* NEW: Rebuilt the background fields calculation +* NEW: Now using Formstone for switches & toggles +* NEW: Added a new API. See https://github.com/aristath/kirki/wiki for documentation. +* NEW: Minimum PHP requirement is now PHP 5.2 +* NEW: Added a Select2 field type. +* NEW: Introducing the Kirki::get_option() method to get values. +* NEW: added 'media_query' argument to output. +* NEW: Added ability to get variables for CSS preprocessors from the customizer values. See https://github.com/aristath/kirki/wiki/variables for documentation +* NEW: now supporting 'units' to all outputs to support '!important' +* NEW: Ability to create panels & sections using the new API. +* NEW: added a get_posts method to the Kirki class. +* NEW: Implement width argument in the styling options. See https://github.com/aristath/kirki/wiki/Styling-the-Customizer +* NEW: add 'kirki/control_types' filter +* FIX: Properly saving values in the db when using serialized options +* FIX: Check if classes & functions exist before adding them (allows for better compatibility when embedded in a theme) +* FIX: PHP Warnings & Notices +* FIX: Other minor bugfixes +* FIX: Now using consistently `option_type` instead of `options_type` everywhere +* FIX: `Kirki::get_option()` method now works for all fields, including background fields. +* FIX: avoid errors when Color is undefined in background fields +* FIX: Use WP_Filesystem to get the google fonts array from a json file +* FIX: Radio-Button styling +* FIX: PHP Notices +* FIX: Typos +* FIX: Properly sanitizing rgba colors +* FIX: Properly sanitize numbers +* FIX: Make sure all variables are escaped on output +* TWEAK: Simplify the Colourlovers integration. +* TWEAK: Improve sanitization +* TWEAK: Improve the Kirki_Styles_Customizer class +* TWEAK: Code cleanups +* TWEAK: Added more inline docs (lots of them) +* TWEAK: Use active_callback for required arguments instead of custom JS +* TWEAK: Updated translation files +* TWEAK: Better color manipulation in the Kirki_Color class +* TWEAK: Move secondary classes instantiation to the Kirki() function. +* TWEAK: set a $kirki global +* TWEAK: deprecate getOrThrow method in the Kirki_Config class. +* TWEAK: Move sanitisation functions to a Kirki_Sanitize class. +* TWEAK: Rename Kirki_Framework to Kirki_Toolkit. +* TWEAK: Move variables to the new API +* TWEAK: simplify Kirki_Controls class +* TWEAK: move the kirki/fields & kirki/controls filters to the new API +* REMOVED: remove the 'stylesheet_id' from the configuration. + +## 0.8.4 + +April 6, 2014, dev time: 0.5 hours + +* FIX: Color sanitization was distorting 0 characters in the color hex. +* FIX: Properly sanitizing ColorAlpha controls +* FIX: Sanitizing more properties in the Fields class +* FIX: removing remnant double-sanitization calls from the controls classes + +## 0.8.3 + +April 5, 2014, dev time: 28 hours + +* NEW: Introduce a Field class +* NEW: Introduce a Builder class +* TWEAK: Code Cleanups +* NEW: Added ability to use 'option' as the setting type +* Fix : Bugs in the color calculation class +* TWEAK: Everything gets sanitized in the "Field" class +* FIX: Bugs in sortable field +* FIX: Editor control had no description +* NEW: Added a color-alpha control. To use it just set an rgba color as the default value. +* TWEAK: SCSS & CSS improvements +* FIX: Various PHP notices and warnings when no fields are defined +* TWEAK: More efficient color sanitization method +* TWEAK: Improved number control presentation +* TWEAK: Improved the way background fields are handled +* TWEAK: Checkboxes styling +* NEW: Allow using rgba values for background colors +* FIX: CSS fix - :focus color for active section +* NEW: Add a static 'prepare' method to the ScriptRegistry class +* FIX: Issues with the URL when Kirki is embedded in a theme + +## 0.8.2 + +March 30, 2015, dev time: 5 minutes + +* FIX: Autoloader could not properly include files due to strtolower() + +## 0.8.1 + +March 30, 2015, dev time: 30 minutes + +* FIX: Translation strings now overridable using the config filter. + +## 0.8.0 + +March 30, 2015, dev time: 32 hours + +* Improvement: OOP redesign (props @vpratfr) +* NEW: Added Palette control +* NEW: Added Editor control (WYSIWYG - uses TinyMCE) +* NEW: Added Custom control (free html) +* NEW: Added a Kirki_Colourlovers class to use palettes from the colourlovers API +* NEW: Added a composer file (props @vpratfr) +* FIX: Wrong settings IDs +* FIX: Color calculation on RGBA functions were off +* TWEAK: Restructuring the plugin (props @vpratfr) +* NEW: added a functional kirki_get_option() function +* TWEAK: Simplified configuration options. +* NEW: Turn Kirki into a singleton and a facade (props @vpratfr) +* TWEAK: Completely re-written the customizer styles +* NEW: Using SASS for customizer styles +* TWEAK: Deprecating the group_title control in favor of the new custom control +* TWEAK: Changed the CSS for checkboxes + +## 0.7.1 + +March 15, 2015, dev time: 2 hours + +* REMOVED: Remove the `kirki_get_option` function that was introduced in 0.7 as it's not working properly yet. +* FIX: Undefined index notice when a default value for the control was not defined +* TWEAK: `logo_image` now injects an `img` element instead of a `div` with custom background +* NEW: Added `description` argument in the kirki configuration (replaces the theme description) + +## 0.7 + +March 14, 2015, dev time: 10 hours + +* FIX: Array to string conversion that happened conditionally when used with googlefonts. (props @groucho75) +* FIX: Background opacity affects background-position of bg image +* FIX: font-weight not being applied on google fonts +* NEW: Added `kirki_get_option( $setting );` function that also gets default values +* TWEAK: Singleton for main plugin class +* FIX: Prevent empty help tooltips +* NEW: Added `toggle` control +* NEW: Added `switch` control +* FIX: Color controls were not being reset to default: +* TWEAK: Tooltips now loaded via jQuery +* TWEAK: Renamed `setting` to settings for consistency with WordPress core +* TWEAK: Renamed `description` to `help` and `subtitle` to `description for consistency with WordPress core +* TWEAK: Backwards-compatibility improvements +* NEW: Allow hiding background control elements by not including default values for them +* TWEAK: Performance improvements +* TWEAK: Using WordPress core controls instead of custom ones when those are available +* TWEAK: Separate logic for multiple-type controls that were using the "mode" argument. This has been deprecated in favor of completely separate control types. + +## 0.6.2 + +March 2, 2015, dev time: 3 hours + +* FIX: Frontend styles were not properly enqueued (props @dmgawel) +* NEW: Allow multiple output styles per control defined as an array of arrays. +* FIX: Background control styles +* FIX: Serialise default values for the sortable control. Now you can define default values as an array. +* FIX: Required script +* FIX: \'_opacity\' was added to a lot of controls by mistake. Removed it and wrote a migration script. + +## 0.6.1 + +February 25, 2015, dev time: 1 hours + +* FIX: Sortables controls had a JS conflict +* FIX: Switches & Toggles were not properly working + +## 0.6.0 + +February 25, 2015, dev time: 9 hours + +* FIX: Tooltips now properly working +* NEW: Added checkbox switches +* NEW: Added checkbox toggles +* FIX: Generated CSS is not properly combined & minified +* FIX: Re-structuring files hierarchy +* FIX: Simplify the way controls are loaded +* NEW: Only load control classes when they are needed +* NEW: Introducing Kirki_Customize_Control class +* FIX: CSS tweaks +* NEW: Sortable control (creating one is identical to a select control, but with `\'type\' => \'sortable\'`) +* FIX: Double output CSS (props @agusmu) +* NEW: Google fonts now parsed from a json file. + +## 0.5.1 + +January 22, 2015 + +* FIX: Transport defaults to refresh instead of postMessage +* FIX: undefined index notice. + +## 0.5 + +January 21, 2015 + +* NEW: Automatic output of styles for generic controls. +* NEW: Automatic output of styles + scripts for fonts (including googlefonts ) +* NEW: The \'output\' argument on background controls is now an array for consistency with other controls. Older syntax is still compatible though. :) +* NEW: Add the ability to auto-generate styles for colors. +* FIX: Add a blank stylesheet if we need one and no stylesheet_id has been defined in the config options. +* FIX: CSS-only tooltips. Fixes issue with tooltips now showing up on WP >## 4 +* FIX: Code cleanups +* NEW: Added support for WordPress\'s transport arguments +* FIX: All controls now have a sanitization callback. Users can override the default sanitizations by adding their own \'sanitize_callback\' argument. +* FIX: OOP rewrite +* FIX: Strip protocol from Google API link +* FIX: Loading order for some files +* FIX: Removed deprecated less_var argument + +## 0.4 + +October 25, 2014 + +* FIX: bugfix for selector +* NEW: Change the Kirki theme based on which admin theme is selected. +* FIX: Tranlsation domain issue +* NEW: Added a \"group_title\" control +* FIX: Updated the required script +* FIX: Updating CSS +* Other minor improvements and bugfixes + +## 0.3 + +May 26, 2014 + +* NEW: added background field +* NEW: added \'output\' argument to directly output the CSS + +## 0.2 + +May 9, 2014 + +* Initial version diff --git a/functions/kirki/LICENSE b/functions/kirki/LICENSE new file mode 100644 index 0000000..141f91f --- /dev/null +++ b/functions/kirki/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Ari Stathopoulos (@aristath) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/README.md b/functions/kirki/README.md new file mode 100644 index 0000000..33e354e --- /dev/null +++ b/functions/kirki/README.md @@ -0,0 +1,91 @@ +# Kirki Customizer Framework # +**Contributors:** [davidvongries](https://profiles.wordpress.org/davidvongries), [aristath](https://profiles.wordpress.org/aristath), [dannycooper](https://profiles.wordpress.org/dannycooper), [wplemon](https://profiles.wordpress.org/wplemon), [igmoweb](https://profiles.wordpress.org/igmoweb) +**Tags:** customizer, options framework, theme, mods, toolkit, gutenberg +**Requires at least:** 5.2 +**Tested up to:** 6 +**Stable tag:** 4.0.24 +**License:** MIT +**License URI:** https://opensource.org/licenses/MIT + +The ultimate customizer framework for WordPress theme developers. + +## Description ## + +[![Build Status](https://travis-ci.org/aristath/kirki.svg?branch=develop)](https://travis-ci.org/aristath/kirki) [![Code Climate](https://codeclimate.com/github/aristath/kirki/badges/gpa.svg)](https://codeclimate.com/github/aristath/kirki) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/66d6d8b6a4654cd18686ed1cd9f1bfb3)](https://www.codacy.com/app/aristath/kirki?utm_source=github.com&utm_medium=referral&utm_content=aristath/kirki&utm_campaign=Badge_Grade) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aristath/kirki/badges/quality-score.png?b=develop)](https://scrutinizer-ci.com/g/aristath/kirki/?branch=develop) + +[Kirki](https://kirki.org/?utm_source=repo&utm_medium=description&utm_campaign=kirki) allows theme developers to build themes quicker & more easily. + +With over **30 custom controls** ranging from simple sliders to complex typography controls with Google-Fonts integration and features like automatic CSS & `postMessage` script generation, Kirki makes theme development a breeze. + +### Features ### +* Increased Performance +* Simplified API +* Automatic CSS Generation +* Automatic postMessage Generation +* Partial Refresh +* Conditional Logic +* GDPR Compliance +* Improved Page Speed +* & more! + +### Controls ### + +* [Background Customizer Control](https://kirki.org/docs/controls/background) +* [Code Customizer Control](https://kirki.org/docs/controls/code) +* [Checkbox Customizer Control](https://kirki.org/docs/controls/checkbox) +* [Color Customizer Control](https://kirki.org/docs/controls/color) +* [Color Palette Customizer Control](https://kirki.org/docs/controls/color-palette) +* [Custom Customizer Control](https://kirki.org/docs/controls/custom) +* [Dashicons Customizer Control](https://kirki.org/docs/controls/dashicons) +* [Date Customizer Control](https://kirki.org/docs/controls/date) +* [Dimension Customizer Control](https://kirki.org/docs/controls/dimension) +* [Dimensions Customizer Control](https://kirki.org/docs/controls/dimensions) +* [Dropdown Pages Customizer Control](https://kirki.org/docs/controls/dropdown-pages) +* [Editor Customizer Control](https://kirki.org/docs/controls/editor) +* [Generic Customizer Control](https://kirki.org/docs/controls/generic) +* [Image Customizer Control](https://kirki.org/docs/controls/image) +* [Link Customizer Control](https://kirki.org/docs/controls/link) +* [Multiple Checkbox Customizer Control](https://kirki.org/docs/controls/multicheck) +* [Multicolor Customizer Control](https://kirki.org/docs/controls/multicolor) +* [Number Customizer Control](https://kirki.org/docs/controls/number) +* [Radio Customizer Control](https://kirki.org/docs/controls/radio) +* [Radio Buttonset Customizer Control](https://kirki.org/docs/controls/radio-buttonset) +* [Radio Image Customizer Control](https://kirki.org/docs/controls/radio-image) +* [Repeater Customizer Control](https://kirki.org/docs/controls/repeater) +* [Select Customizer Control](https://kirki.org/docs/controls/select) +* [Slider Customizer Control](https://kirki.org/docs/controls/slider) +* [Sortable Customizer Control](https://kirki.org/docs/controls/sortable) +* [Switch Customizer Control](https://kirki.org/docs/controls/switch) +* [Text Customizer Control](https://kirki.org/docs/controls/text) +* [Textarea Customizer Control](https://kirki.org/docs/controls/textarea) +* [Toggle Customizer Control](https://kirki.org/docs/controls/toggle) +* [Typography Customizer Control](https://kirki.org/docs/controls/typography) +* [Upload Customizer Control](https://kirki.org/docs/controls/upload) + +### Theme Example ### + +[Page Builder Framework](https://wp-pagebuilderframework.com?utm_source=kirki&utm_medium=repo&utm_campaign=wpbf)'s customizer settings are a prime example of what can be achieved with Kirki. + +Conditional Logic, Partial Refresh, postMessage and a variety of controls - It has all of it. + +### Documentation ### + +You can find detailed documentation on how to use Kirki on [kirki.org](https://kirki.org/?utm_source=repo&utm_medium=description&utm_campaign=kirki) + +### Kirki PRO ### + +Kirki PRO is currently in development. You can [sign up for the waiting list](https://kirki.org/pricing/?utm_source=repo&utm_medium=description&utm_campaign=kirki) here to be notified about updates. + +### Disclaimer ### + +Theme developers should be familiar with the Customizer API before starting to build a theme using Kirki. An excellent handbook for the WordPress Customizer can be found on the [developer.wordpress.org](https://developer.wordpress.org/themes/customize-api/) website. + +## Installation ## + +Simply install as a normal WordPress plugin and activate. + +If you want to integrate Kirki in your theme or plugin, please read the instructions on [our documentation site](https://kirki.org/docs/integration). + +## Changelog ## + +[See the previous changelogs here](https://github.com/kirki-framework/kirki/blob/master/CHANGELOG.md). diff --git a/functions/kirki/assets/images/1c.png b/functions/kirki/assets/images/1c.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc252080a672b75a93b00e4ce0c85a66a6456d0 GIT binary patch literal 786 zcmeAS@N?(olHy`uVBq!ia0vp^(||aOgAGW=1+HjdU|=lCbaoE#a8WQfu+(*AV9=PD zoRCm-!tf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW89!y`Xrx)V9>de+1immSsclJnM zC@MH};Q4a>8~wTQ&E~uJ{yV?z`Ap{>J-@d-)?f2{+k4^T1+x9Q$DiNS-l3K_Q9z7y wBodvsU*F$udrsz1>YeTXH}qXU82yJyQJ+ok_ufo-U|MJJboFyt=akR{04%8-jQ{`u literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/2cl.png b/functions/kirki/assets/images/2cl.png new file mode 100644 index 0000000000000000000000000000000000000000..69da9e604ed14ef6a6ea3c660fafc602739358c8 GIT binary patch literal 866 zcmeAS@N?(olHy`uVBq!ia0vp^(||aOgAGW=1+HjdU|=lCbaoE#a8WQfu+(*AV9=PD zoRCm-!tf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW8FSZ?7okO%0TAy~v!I#W^*kOiGre%h9M)%8fxv zU`fP<4mL;5XA^CXoV!0^>!jJ| z`7N$a5h^2+(35-rb(^_6pXI}>+fTQ(=Wf3pCj$(byE*lTs(${MH>>^cuh9B8neQI! b*D)yv3w_*tC(;O*cNjcf{an^LB{Ts5Dl%I{ literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/2cr.png b/functions/kirki/assets/images/2cr.png new file mode 100644 index 0000000000000000000000000000000000000000..02da48fe16b2e347887030b40987ae2d59bb1b50 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^(||aOgAGW=1+HjdU|=lCbaoE#a8WQfu+(*AV9=PD zoRCm-!tf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW8FSZ?76=g$6RXUR=!b`iR$`Wf!fAHx@dX&;4EVL}1?AwDSM2?{3?E`yMD{E`O7__VOWf`unQe?YYx;R~Mes dU6Xs;J~50}ag*NMR$%sF@O1TaS?83{1OSchOFRGo literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/3cl.png b/functions/kirki/assets/images/3cl.png new file mode 100644 index 0000000000000000000000000000000000000000..59506886b2f52de74d72935b9999b2e77c11cb20 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0vp^(||aOgAGW=1+HjdU|=lCbaoE#a8WQfu+(*AV9=PD zoRCm-!tf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW8FSZ?71x3QL!8yZF4z%<;{dbsh)QEV@Eg2B$Je z&Qsn{!ZPhv4)? zz4q?6y4%wyZ;zSUe*ACw?c>JnF&}PkQ$POu^0s=vJ4GiiKd!s?t?YKY@b;L=;ius|pNw92sy_Ux%%cejd;Nh~kHOQ`&t;ucLK6T7t)>?M literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/3cm.png b/functions/kirki/assets/images/3cm.png new file mode 100644 index 0000000000000000000000000000000000000000..97e0b093999c8c268ae179b8b5fd1718d5371f4d GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^(||aOgAGW=1+HjdU|=lCbaoE#a8WQfu+(*AV9=PD zoRCm-!tf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW8FSZ?72UiKR=lUQ`!cbaa`Mg^A}|*$sSRGkuqw z!JH6fe2BC49YHt$oP)==`n!4ioTIZ}J%6?8 z*T)CC_rJXP_ipy9EPHS3l~=BKx4QrMxu2(eOaEG~;lH|` zy|41r?N_B=!@pL4y}hy6@A3XuyH019UVmzq{%PGVySKrozWYY_aCCDf8Y=3jwH$5P zFhf90_)wD5h!dP=`!9c0xjSFwq0_G_zXt4G8z*D^+$3*x{HpNSyf43QSjO*Msh=2Y zUzh&*!qd>b@8|sP`>^cS%3ZIDW^Zl{z4|}7O7cn0nFV&h+{fVQ>gTe~DWM4f0Stf#5|A?cyPEuxMugU z100L=UpJlc`uwNz^0KWp|HRDJ&nya4wc7Euk+Iw>tI&vTxMoXX9(k*ArxnY)>(*|M3jS+!ZOS=oar zwl*s+!{CHZ&MWUAZ7&C|xu3bUx{WRydx^+!a}@=N&iP!-?d2WRT_R%hdD7Pskscl% zUWZo>5BUv$6${)baohNrW8FSZ?En>C6dn2_VD<8Cze2I=DM&b)}W^vI%{oo z_>X9no>OUE8oH`sYSWS%g3OVpXaAh=x+(SE%~y%f(!QVDR{nVZyxiZVw;$(z_q$hg zwmFx-|MT*oo;%+%Zcl&w@4fK$n9oVKKR^C+e%pS(J4I*D zZd-o;(60?|`-P9+QQQCi)2Ds!K4pJ+zO(q>^RL^~kN{ha%t*!a&R*Ch1$uXAJ>Fat7py85}Sb4q9e0Af**OaK4? literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/jquery.fs.stepper-arrows.png b/functions/kirki/assets/images/jquery.fs.stepper-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..3da69ca0b3fc17e46ab5fdea1a757d31af60d8e9 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^96+qh!3HE(rg+x@DVAa<&kznEsNqQI0P;BtJR*x3 z7`WzuFyog?_l1Chq9v{oCC){ui6xo&c?uz!xv321`bNh3hDOdSHmCy?$bb|C=ckpF zCl;kLIHu$$r7E~(7NwTw7iAYKI0u`(*t4kzsIJ@7#WBR9_wA&;T+Ivu&HFpDZ=L#bDC6 zSf$iqv(Ovk&p}>B1@{VaROXg+`2XXK7dn+WOKsa{h7Vdwizr-nhptBe}UHx3vIVCg!00qfvjQ{`u literal 0 HcmV?d00001 diff --git a/functions/kirki/assets/images/kirki-bottom.png b/functions/kirki/assets/images/kirki-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a9aca7f6b3df5996d8cd46502413f80c3eb714 GIT binary patch literal 1549 zcmV+o2J-odP)000>X1^@s6c?i=M00004b3#c}2nYxW zdTK~z|Uy_s8Y8$}eyf4g?<#Bt)JAt2H=C{<}eqA3DIg+Sr~ zz5!p7Cq4q=A{D9%LJ^lz5P~+)HYIK1OXH-mmxptXW_CS$aftX!k#}d$%sF%JGl?ih z6L=knfU*9Pc^&~H*&rY_1H4h-Vqz zo^pPq!bONey2a!Z7~#V12;aT^7r%BLd=mTde(nh#Y0@wqNPr$Q*7%4)$$~-h=v^cl*10 zIt^?AS1Z!`RVuIOl%aumih1Z5Q9_=#OwBV!67!&7(UYQ!B-AQ+gm@#!X0vTY6&xbU z+1KY7N!%etjFsn8k7u^6m_Us5QMXPYTowERTr8nUkZ|eY60{}yY48l$`~Y~2>jkrY zn@_)wgnR@nm+`bPJZ-Ns>{2~(tc$gVaaEaK*C_wAu2Zv*cGKO)D9swfKm(tf9a_C-WN39y1B`-x2>Ay`KeydAttQI!0y0y{{*l!rd> zIdF;mhP#Wx8}o4ixR=A%I_w2tTgMu}3&3rhG1`dt{;KPrLrw)|$X&#He=gc2 za8~E+1ioz}26;%yO^LbjEnJ9!#It`Yzp29hq3<^kud&1TCETWM-Lt^ml1=znLN@PL z%06OH3r#zo7=}pr7lqF%VuSD76EzkA;joY!q4iZm~Zkz3d6 zQ_9jn4!~IqaaX*d?}y|cyw8)L3Z{l%y7z$}kn5Toh(bO?^1?;Lq7RS;@p;73H6#R{ zc_$baM2ke)pty| z;|Idpd_x6U2R=~-Yf5WJ17FE^bfX{X`^Qwj@>xd0`7!RSxQw(GBP2Cs&xIY_VYf@# z!&h{zMClGl|FdEhNf}l&Y;FxPcpdnQoN)aY^`%LoNHGW+00000NkvXXu0mjfD +image/svg+xmltoolkit +KIRKI + \ No newline at end of file diff --git a/functions/kirki/example.php b/functions/kirki/example.php new file mode 100644 index 0000000..d26867b --- /dev/null +++ b/functions/kirki/example.php @@ -0,0 +1,1329 @@ + 'theme_mod', + 'capability' => 'manage_options', + ] +); + +/** + * Add a panel. + * + * @link https://kirki.org/docs/getting-started/panels.html + */ +new \Kirki\Panel( + 'kirki_demo_panel', + [ + 'priority' => 10, + 'title' => esc_html__( 'Kirki Demo Panel', 'kirki' ), + 'description' => esc_html__( 'Contains sections for all kirki controls.', 'kirki' ), + ] +); + +/** + * Add Sections. + * + * We'll be doing things a bit differently here, just to demonstrate an example. + * We're going to define 1 section per control-type just to keep things clean and separate. + * + * @link https://kirki.org/docs/getting-started/sections.html + */ +$sections = [ + 'background' => [ esc_html__( 'Background', 'kirki' ), '' ], + 'code' => [ esc_html__( 'Code', 'kirki' ), '' ], + 'checkbox' => [ esc_html__( 'Checkbox', 'kirki' ), '' ], + 'color' => [ esc_html__( 'Color', 'kirki' ), '' ], + 'color_advanced' => [ esc_html__( 'Color — Advanced', 'kirki' ), '' ], + 'color_palette' => [ esc_html__( 'Color Palette', 'kirki' ), '' ], + 'custom' => [ esc_html__( 'Custom', 'kirki' ), '' ], + 'dashicons' => [ esc_html__( 'Dashicons', 'kirki' ), '' ], + 'date' => [ esc_html__( 'Date', 'kirki' ), '' ], + 'dimension' => [ esc_html__( 'Dimension', 'kirki' ), '' ], + 'dimensions' => [ esc_html__( 'Dimensions', 'kirki' ), '' ], + 'dropdown-pages' => [ esc_html__( 'Dropdown Pages', 'kirki' ), '' ], + 'editor' => [ esc_html__( 'Editor', 'kirki' ), '' ], + 'fontawesome' => [ esc_html__( 'Font-Awesome', 'kirki' ), '' ], + 'generic' => [ esc_html__( 'Generic', 'kirki' ), '' ], + 'image' => [ esc_html__( 'Image', 'kirki' ), '' ], + 'multicheck' => [ esc_html__( 'Multicheck', 'kirki' ), '' ], + 'multicolor' => [ esc_html__( 'Multicolor', 'kirki' ), '' ], + 'number' => [ esc_html__( 'Number', 'kirki' ), '' ], + 'palette' => [ esc_html__( 'Palette', 'kirki' ), '' ], + 'preset' => [ esc_html__( 'Preset', 'kirki' ), '' ], + 'radio' => [ esc_html__( 'Radio', 'kirki' ), esc_html__( 'A plain Radio control.', 'kirki' ) ], + 'radio-buttonset' => [ esc_html__( 'Radio Buttonset', 'kirki' ), esc_html__( 'Radio-Buttonset controls are essentially radio controls with some fancy styling to make them look cooler.', 'kirki' ) ], + 'radio-image' => [ esc_html__( 'Radio Image', 'kirki' ), esc_html__( 'Radio-Image controls are essentially radio controls with some fancy styles to use images', 'kirki' ) ], + 'repeater' => [ esc_html__( 'Repeater', 'kirki' ), '' ], + 'select' => [ esc_html__( 'Select', 'kirki' ), '' ], + 'slider' => [ esc_html__( 'Slider', 'kirki' ), '' ], + 'sortable' => [ esc_html__( 'Sortable', 'kirki' ), '' ], + 'switch' => [ esc_html__( 'Switch', 'kirki' ), '', 'outer' ], + 'toggle' => [ esc_html__( 'Toggle', 'kirki' ), '', 'outer' ], + 'typography' => [ esc_html__( 'Typography', 'kirki' ), '' ], + 'upload' => [ esc_html__( 'Upload', 'kirki' ), '' ], +]; + +foreach ( $sections as $section_id => $section ) { + $section_args = [ + 'title' => $section[0], + 'description' => $section[1], + 'panel' => 'kirki_demo_panel', + ]; + if ( isset( $section[2] ) ) { + $section_args['type'] = $section[2]; + } + new \Kirki\Section( str_replace( '-', '_', $section_id ) . '_section', $section_args ); +} + +new \Kirki\Section( + 'pro_test', + [ + 'title' => esc_html__( 'Test Link Section', 'kirki' ), + 'type' => 'link', + 'button_text' => esc_html__( 'Pro', 'kirki' ), + 'button_url' => 'https://kirki.org', + ] +); + +/** + * Background Control. + * + * @todo Triggers change on load. + */ +new \Kirki\Field\Background( + [ + 'settings' => 'kirki_demo_background', + 'label' => esc_html__( 'Background Control', 'kirki' ), + 'description' => esc_html__( 'Background conrols are pretty complex! (but useful if properly used)', 'kirki' ), + 'section' => 'background_section', + 'default' => [ + 'background-color' => 'rgba(20,20,20,.8)', + 'background-image' => '', + 'background-repeat' => 'repeat', + 'background-position' => 'center center', + 'background-size' => 'cover', + 'background-attachment' => 'scroll', + ], + ] +); + +/** + * Code control. + * + * @link https://kirki.org/docs/controls/code.html + */ +new \Kirki\Field\Code( + [ + 'settings' => 'kirki_demo_code_css', + 'label' => esc_html__( 'Code Control — CSS', 'kirki' ), + 'description' => esc_html__( 'Sample of code control in CSS format', 'kirki' ), + 'section' => 'code_section', + 'default' => '', + 'choices' => [ + 'language' => 'css', + ], + ] +); + +/** + * Checkbox control. + * + * @link https://kirki.org/docs/controls/checkbox.html + */ +new \Kirki\Field\Checkbox( + [ + 'settings' => 'kirki_demo_checkbox', + 'label' => esc_html__( 'Checkbox Control', 'kirki' ), + 'description' => esc_html__( 'Sample of checkbox control', 'kirki' ), + 'section' => 'checkbox_section', + 'default' => true, + ] +); + +/** + * Color Controls. + * + * @link https://kirki.org/docs/controls/color.html + */ +Kirki::add_field( + 'kirki_demo_config', + [ + 'type' => 'color', + 'settings' => 'kirki_demo_color_alpha_old', + 'label' => 'Using Kirki::add_field — With alpha', + 'description' => esc_html__( 'This is a color control registered using `Kirki::add_field` with "alpha" => true (the old Kirki API).', 'kirki' ), + 'section' => 'color_section', + 'transport' => 'postMessage', + 'default' => '#ff0055', + 'choices' => [ + 'alpha' => true, + ], + ] +); + +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_hex', + 'label' => __( 'Hex only', 'kirki' ), + 'description' => esc_html__( 'This is a color control without alpha channel.', 'kirki' ), + 'section' => 'color_section', + 'transport' => 'postMessage', + 'default' => '#0008DC', + ] +); + +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_alpha', + 'label' => __( 'With alpha channel', 'kirki' ), + 'description' => esc_html__( 'This is a color control with alpha channel.', 'kirki' ), + 'section' => 'color_section', + 'transport' => 'postMessage', + 'choices' => [ + 'alpha' => true, + ], + ] +); + +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_hue', + 'label' => __( 'Hue only.', 'kirki' ), + 'description' => esc_html__( 'This is a color control with "mode" => "hue" (hue mode).', 'kirki' ), + 'section' => 'color_section', + 'transport' => 'postMessage', + 'default' => 160, + 'mode' => 'hue', + ] +); + +/** + * Color Control (Advanced) + */ + +/** + * Color control with form_component value is HexColorPicker. + * + * The saved value will always be a string, for instance: + * "#ff0000" + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_hex', + 'label' => __( 'v4 — form_component — HexColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is HexColorPicker.', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => '#ffff00', + 'choices' => [ + 'form_component' => 'HexColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is RgbColorPicker. + * + * The saved value will be an rgba array. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * [ + * 'r' => 255, + * 'g' => 255, + * 'b' => 45, + * 'a' => 0.5 + * ] + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_rgb', + 'label' => __( 'v4 — form_component — RgbColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is RgbColorPicker. The saved value will be an array.', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => '#ffff00', + 'choices' => [ + 'form_component' => 'RgbColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is RgbStringColorPicker. + * + * The saved value will be an rgb string. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * "rgba(255, 255, 45)" + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_rgb_string', + 'label' => __( 'v4 — form_component — RgbStringColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is RgbStringColorPicker. The saved value will be a string.', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => '#ffff00', + 'choices' => [ + 'form_component' => 'RgbStringColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is RgbaColorPicker. + * + * The saved value will be an rgba array. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * [ + * 'r' => 255, + * 'g' => 255, + * 'b' => 45, + * 'a' => 0.5 + * ] + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_rgba', + 'label' => __( 'v4 — form_component — RgbaColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is RgbaColorPicker. The saved value will be an array.', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => '#ffff00', + 'choices' => [ + 'form_component' => 'RgbaColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is RgbaStringColorPicker. + * + * The saved value will be an rgba string. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * "rgba(255, 255, 45, 0.5)" + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_rgba_string', + 'label' => __( 'v4 — form_component — RgbaStringColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is RgbaStringColorPicker. The saved value will be a string.', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => '#ffff00', + 'choices' => [ + 'form_component' => 'RgbaStringColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is HslColorPicker. + * + * The saved value will be an hsl array. + * The format is following the `react-colorful` and `colord` formatting (int, without the percent sign), for instance: + * [ + * 'h' => 180, + * 's' => 40, // Is int, without the percent sign. + * 'l' => 50, // Is int, without the percent sign. + * ] + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_hsl', + 'label' => __( 'v4 — form_component — HslColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is HslColorPicker. The saved value will be an array', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => 'hsl(206, 23%, 25%)', + 'choices' => [ + 'form_component' => 'HslColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is HslStringColorPicker. + * + * The saved value will be an hsl string. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * "hsl(180, 40%, 50%)" + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_hsl_string', + 'label' => __( 'v4 — form_component — HslStringColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is HslStringColorPicker. The saved value will be a string', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => 'hsl(206, 23%, 25%)', + 'choices' => [ + 'form_component' => 'HslStringColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is HslaColorPicker. + * + * The saved value will be an hsla array. + * The format is following the `react-colorful` and `colord` formatting (int, without the percent sign), for instance: + * [ + * 'h' => 180, + * 's' => 40, // Is int, without the percent sign. + * 'l' => 50, // Is int, without the percent sign. + * 'a' => 0.5 + * ] + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_hsla', + 'label' => __( 'v4 — form_component — HslaColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is HslaColorPicker. The saved value will be an array', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => 'hsla(206, 23%, 25%, 0.7)', + 'choices' => [ + 'form_component' => 'HslaColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * Color control with form_component value is HslaStringColorPicker. + * + * The saved value will be an hsla string. + * The format is following the `react-colorful` and `colord` formatting, for instance: + * "hsla(180, 40%, 50%, 0.5)" + */ +new \Kirki\Field\Color( + [ + 'settings' => 'kirki_demo_color_form_component_hsla_string', + 'label' => __( 'v4 — form_component — HslaStringColorPicker', 'kirki' ), + 'description' => esc_html__( 'This is a color control with form_component value is HslaStringColorPicker. The saved value will be a string', 'kirki' ), + 'section' => 'color_advanced_section', + 'default' => 'hsla(206, 23%, 25%, 0.7)', + 'choices' => [ + 'form_component' => 'HslaStringColorPicker', + ], + 'transport' => 'postMessage', + ] +); + +/** + * DateTime Control. + */ +new \Kirki\Field\Date( + [ + 'settings' => 'kirki_demo_date', + 'label' => esc_html__( 'Date Control', 'kirki' ), + 'description' => esc_html__( 'This is a date control.', 'kirki' ), + 'section' => 'date_section', + 'default' => '', + ] +); + +new \Kirki\Field\Date( + [ + 'settings' => 'kirki_demo_date_2', + 'label' => esc_html__( 'Date Control 2', 'kirki' ), + 'description' => esc_html__( 'This is a date control.', 'kirki' ), + 'section' => 'date_section', + 'default' => '', + ] +); + +/** + * Editor Controls + */ +new \Kirki\Field\Editor( + [ + 'settings' => 'kirki_demo_editor_1', + 'label' => esc_html__( 'First Editor Control', 'kirki' ), + 'description' => esc_html__( 'This is an editor control.', 'kirki' ), + 'section' => 'editor_section', + 'default' => '', + ] +); + +new \Kirki\Field\Editor( + [ + 'settings' => 'kirki_demo_editor_2', + 'label' => esc_html__( 'Second Editor Control', 'kirki' ), + 'description' => esc_html__( 'This is a 2nd editor control just to check that we do not have issues with multiple instances.', 'kirki' ), + 'section' => 'editor_section', + 'default' => esc_html__( 'Default Text', 'kirki' ), + ] +); + +/** + * Color-Palette Controls. + * + * @link https://kirki.org/docs/controls/color-palette.html + */ +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'kirki_demo_color_palette_simple', + 'label' => esc_html__( 'Simple Colors Set', 'kirki' ), + 'description' => esc_html__( 'With default size (28). The `size` here is inner size (without border)', 'kirki' ), + 'section' => 'color_palette_section', + 'default' => '#888888', + 'transport' => 'postMessage', + 'choices' => [ + 'colors' => [ '#000000', '#222222', '#444444', '#666666', '#888888', '#aaaaaa', '#cccccc', '#eeeeee', '#ffffff' ], + 'style' => 'round', + ], + ] +); + +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'kirki_demo_color_palette_material_all', + 'label' => esc_html__( 'Material Design Colors — All', 'kirki' ), + 'description' => esc_html__( 'Showing all material design colors using `round` shape and size is 17', 'kirki' ), + 'section' => 'color_palette_section', + 'default' => '#D1C4E9', + 'transport' => 'postMessage', + 'choices' => [ + 'colors' => Helper::get_material_design_colors( 'all' ), + 'shape' => 'round', + 'size' => 17, + ], + ] +); + +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'kirki_demo_color_palette_material_primary', + 'label' => esc_html__( 'Material Design Colors — Primary', 'kirki' ), + 'description' => esc_html__( 'Showing primary material design colors', 'kirki' ), + 'section' => 'color_palette_section', + 'choices' => [ + 'colors' => Helper::get_material_design_colors( 'primary' ), + 'size' => 25, + ], + ] +); + +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'kirki_demo_color_palette_material_red', + 'label' => esc_html__( 'Material Design Colors — Red', 'kirki' ), + 'description' => esc_html__( 'Showing red material design colors', 'kirki' ), + 'section' => 'color_palette_section', + 'choices' => [ + 'colors' => Helper::get_material_design_colors( 'red' ), + 'size' => 16, + ], + ] +); + +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'kirki_demo_color_palette_a100', + 'label' => esc_html__( 'Material Design Colors — A100', 'kirki' ), + 'description' => esc_html__( 'Showing "A100" variant of material design colors', 'kirki' ), + 'section' => 'color_palette_section', + 'default' => '#FF80AB', + 'choices' => [ + 'colors' => Helper::get_material_design_colors( 'A100' ), + 'size' => 60, + 'style' => 'round', + ], + ] +); + +Kirki::add_field( + 'kirki_demo_config', + [ + 'type' => 'color-palette', + 'settings' => 'kirki_demo_color_palette_old', + 'label' => 'The Old Way', + 'description' => 'Using `Kirki::add_field` in round shape', + 'section' => 'color_palette_section', + 'transport' => 'postMessage', + 'choices' => [ + 'colors' => [ '#000000', '#222222', '#444444', '#666666', '#888888', '#aaaaaa', '#cccccc', '#eeeeee', '#ffffff' ], + 'style' => 'round', + ], + ] +); + +add_action( + 'customize_register', + function( $wp_customize ) { + /** + * The custom control class + */ + class Kirki_Demo_Custom_Control extends Kirki\Control\Base { + public $type = 'kirki-demo-custom-control'; + + public function render_content() { + + $saved_value = $this->value(); + ?> + + label ); ?> + description ); ?> + +
+
+ link(); ?> /> +
+ + 'kirki-demo-custom-control', + 'settings' => 'kirki_demo_custom_control_old_way', + 'label' => esc_html__( 'Custom Control', 'kirki' ), + 'description' => 'A custom control demo, registered by extending `Kirki\\Control\\Base` class.', + 'section' => 'custom_section', + 'transport' => 'postMessage', + ] +); + +/** + * Dashicons control. + * + * @link https://kirki.org/docs/controls/dashicons.html + */ +new \Kirki\Field\Dashicons( + [ + 'settings' => 'kirki_demo_dashicons_setting_0', + 'label' => esc_html__( 'Dashicons Control', 'kirki' ), + 'description' => esc_html__( 'Using a custom array of dashicons', 'kirki' ), + 'section' => 'dashicons_section', + 'default' => 'menu', + 'choices' => [ + 'menu', + 'admin-site', + 'dashboard', + 'admin-post', + 'admin-media', + 'admin-links', + 'admin-page', + ], + ] +); + +new \Kirki\Field\Dashicons( + [ + 'settings' => 'kirki_demo_dashicons_setting_1', + 'label' => esc_html__( 'All Dashicons', 'kirki' ), + 'description' => esc_html__( 'Showing all dashicons', 'kirki' ), + 'section' => 'dashicons_section', + 'default' => 'menu', + ] +); + +/** + * Dimension Control. + */ +new \Kirki\Field\Dimension( + [ + 'settings' => 'kirki_demo_dimension_0', + 'label' => esc_html__( 'Dimension Control', 'kirki' ), + 'description' => esc_html__( 'A simple dimension control.', 'kirki' ), + 'section' => 'dimension_section', + 'default' => '10px', + 'choices' => [ + 'accept_unitless' => true, + ], + ] +); + +/** + * Dimensions Control. + */ +new \Kirki\Field\Dimensions( + [ + 'settings' => 'kirki_demo_dimensions_0', + 'label' => esc_html__( 'Dimensions Control', 'kirki' ), + 'description' => esc_html__( 'Sample of dimensions control with 2 fields.', 'kirki' ), + 'section' => 'dimensions_section', + 'default' => [ + 'width' => '100px', + 'height' => '100px', + ], + ] +); + +new \Kirki\Field\Dimensions( + [ + 'settings' => 'kirki_demo_dimensions_1', + 'label' => esc_html__( 'Dimension Control', 'kirki' ), + 'description' => esc_html__( 'Sample of dimensions control with 4 fields.', 'kirki' ), + 'section' => 'dimensions_section', + 'default' => [ + 'padding-top' => '1em', + 'padding-bottom' => '10rem', + 'padding-left' => '1vh', + 'padding-right' => '10px', + ], + ] +); + +new \Kirki\Field\Dimensions( + [ + 'settings' => 'kirki_demo_padding', + 'label' => esc_html__( 'Padding Control', 'kirki' ), + 'description' => esc_html__( 'Sample of padding controls with 3 fields.', 'kirki' ), + 'section' => 'dimensions_section', + 'default' => [ + 'top' => '1em', + 'bottom' => '10rem', + 'horizontal' => '1vh', + ], + ] +); + +new \Kirki\Field\Dimensions( + [ + 'settings' => 'kirki_demo_spacing', + 'label' => esc_html__( 'Spacing Control', 'kirki' ), + 'description' => esc_html__( 'Sample of spacing controls with 4 fields.', 'kirki' ), + 'section' => 'dimensions_section', + 'default' => [ + 'top' => '1em', + 'bottom' => '10rem', + 'left' => '1vh', + 'right' => '10px', + ], + ] +); + +/** + * Dropdown-pages Control. + */ +new \Kirki\Field\Dropdown_Pages( + [ + 'settings' => 'kirki_demo_dropdown_pages', + 'label' => esc_html__( 'Dropdown Pages Control', 'kirki' ), + 'description' => esc_html__( 'Sample of dropdown pages control.', 'kirki' ), + 'section' => 'dropdown_pages_section', + 'default' => [ + 'width' => '100px', + 'height' => '100px', + ], + ] +); + +/** + * Generic Controls. + */ +new \Kirki\Field\Text( + [ + 'settings' => 'kirki_demo_generic_text', + 'label' => esc_html__( 'Generic Control — Text Field', 'kirki' ), + 'description' => esc_html__( 'The demo of this control has partial refresh with transport is postMessage', 'kirki' ), + 'section' => 'generic_section', + 'transport' => 'postMessage', + 'default' => '', + 'partial_refresh' => [ + 'generic_text_refresh' => [ + 'selector' => '.kirki-partial-refresh-demo', + 'render_callback' => function() { + $value = get_theme_mod( 'kirki_demo_generic_text' ); + return $value ? 'value of Generic URL Field control is: ' . $value : ''; + }, + ], + ], + ] +); + +new \Kirki\Field\URL( + [ + 'settings' => 'kirki_demo_generic_url', + 'label' => esc_html__( 'Generic Control — URL Field', 'kirki' ), + 'description' => esc_html__( 'The demo of this control has partial refresh without transport is defined', 'kirki' ), + 'section' => 'generic_section', + 'default' => '', + 'partial_refresh' => [ + 'generic_text_refresh2' => [ + 'selector' => '.kirki-partial-refresh-demo2', + 'render_callback' => function() { + $value = get_theme_mod( 'kirki_demo_generic_url' ); + return $value ? 'value of Generic URL Field control is: ' . $value : ''; + }, + ], + ], + ] +); + +new \Kirki\Field\Textarea( + [ + 'settings' => 'kirki_demo_generic_textarea', + 'label' => esc_html__( 'Generic Control — Textarea Field', 'kirki' ), + 'description' => esc_html__( 'Description', 'kirki' ), + 'section' => 'generic_section', + 'default' => '', + ] +); + +new \Kirki\Field\Generic( + [ + 'settings' => 'kirki_demo_generic_custom', + 'label' => esc_html__( 'Generic Control — Custom Input.', 'kirki' ), + 'description' => esc_html__( 'The "generic" control allows you to add any input type you want. In this case we use type="password" and define custom styles.', 'kirki' ), + 'section' => 'generic_section', + 'default' => '', + 'choices' => [ + 'element' => 'input', + 'type' => 'password', + 'style' => 'background-color:black;color:red;', + 'data-foo' => 'bar', + ], + ] +); + +/** + * Image Control. + */ +new \Kirki\Field\Image( + [ + 'settings' => 'kirki_demo_image_url', + 'label' => esc_html__( 'Image Control (URL)', 'kirki' ), + 'description' => esc_html__( 'The saved value will be the URL.', 'kirki' ), + 'section' => 'image_section', + 'default' => '', + ] +); + +new \Kirki\Field\Image( + [ + 'settings' => 'kirki_demo_image_id', + 'label' => esc_html__( 'Image Control (ID)', 'kirki' ), + 'description' => esc_html__( 'The saved value will an ID.', 'kirki' ), + 'section' => 'image_section', + 'default' => '', + 'choices' => [ + 'save_as' => 'id', + ], + ] +); + +new \Kirki\Field\Image( + [ + 'settings' => 'kirki_demo_image_array', + 'label' => esc_html__( 'Image Control (array)', 'kirki' ), + 'description' => esc_html__( 'The saved value will an array.', 'kirki' ), + 'section' => 'image_section', + 'default' => '', + 'choices' => [ + 'save_as' => 'array', + ], + ] +); + +/** + * Upload control. + */ +new \Kirki\Field\Upload( + [ + 'settings' => 'kirki_demo_upload_url', + 'label' => esc_html__( 'Upload Control (URL)', 'kirki' ), + 'description' => esc_html__( 'The saved value will the URL.', 'kirki' ), + 'section' => 'upload_section', + 'default' => '', + 'transport' => 'postMessage', + ] +); + +/** + * Multicheck Control. + */ +new \Kirki\Field\Multicheck( + [ + 'settings' => 'kirki_demo_multicheck', + 'label' => esc_html__( 'Multickeck Control', 'kirki' ), + 'section' => 'multicheck_section', + 'default' => [ 'option-1', 'option-3', 'option-4' ], + 'priority' => 10, + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'kirki' ), + 'option-2' => esc_html__( 'Option 2', 'kirki' ), + 'option-3' => esc_html__( 'Option 3', 'kirki' ), + 'option-4' => esc_html__( 'Option 4', 'kirki' ), + 'option-5' => esc_html__( 'Option 5', 'kirki' ), + ], + ] +); + +/** + * Multicolor Control. + */ +new \Kirki\Field\Multicolor( + [ + 'settings' => 'kirki_demo_multicolor', + 'label' => esc_html__( 'Multicolor Control', 'kirki' ), + 'section' => 'multicolor_section', + 'priority' => 10, + 'transport' => 'postMessage', + 'choices' => [ + 'link' => esc_html__( 'Link Color', 'kirki' ), + 'hover' => esc_html__( 'And this is hover color with long label so you know how it is displayed.', 'kirki' ), + 'active' => esc_html__( 'Active Color', 'kirki' ), + 'another1' => esc_html__( 'Another color 1', 'kirki' ), + 'another2' => esc_html__( 'Another color 2', 'kirki' ), + 'another3' => esc_html__( 'Another color 3', 'kirki' ), + 'another4' => esc_html__( 'Another color 4', 'kirki' ), + 'another5' => esc_html__( 'Another color 5', 'kirki' ), + 'another6' => esc_html__( 'Another color 6', 'kirki' ), + 'another7' => esc_html__( 'Another color 7', 'kirki' ), + 'another8' => esc_html__( 'Another color 8', 'kirki' ), + 'another9' => esc_html__( 'Another color 9', 'kirki' ), + 'another10' => esc_html__( 'Another color 10', 'kirki' ), + 'another11' => esc_html__( 'Another color 11', 'kirki' ), + 'another12' => esc_html__( 'Another color 12', 'kirki' ), + 'another13' => esc_html__( 'Another color 13', 'kirki' ), + 'another14' => esc_html__( 'Another color 14', 'kirki' ), + 'another15' => esc_html__( 'Another color 15', 'kirki' ), + ], + 'alpha' => true, + 'default' => [ + 'link' => '#0088cc', + 'hover' => '#00aaff', + 'active' => '#00ffff', + ], + ] +); + +/** + * Number Control. + */ +new \Kirki\Field\Number( + [ + 'settings' => 'kirki_demo_number', + 'label' => esc_html__( 'Number Control', 'kirki' ), + 'section' => 'number_section', + 'priority' => 10, + 'choices' => [ + 'min' => -5, + 'max' => 5, + 'step' => 1, + ], + ] +); + +/** + * Palette Control. + */ +new \Kirki\Field\Palette( + array( + 'settings' => 'kirki_demo_palette', + 'label' => esc_html__( 'Control Palette', 'kirki' ), + 'section' => 'palette_section', + 'default' => 'blue', + 'choices' => array( + 'a200' => Kirki_Helper::get_material_design_colors( 'A200' ), + 'blue' => Kirki_Helper::get_material_design_colors( 'blue' ), + 'green' => array( '#E8F5E9', '#C8E6C9', '#A5D6A7', '#81C784', '#66BB6A', '#4CAF50', '#43A047', '#388E3C', '#2E7D32', '#1B5E20', '#B9F6CA', '#69F0AE', '#00E676', '#00C853' ), + 'bnw' => array( '#000000', '#ffffff' ), + ), + ) +); + +/** + * Radio Control. + */ +new \Kirki\Field\Radio( + [ + 'settings' => 'kirki_demo_radio', + 'label' => esc_html__( 'Radio Control', 'kirki' ), + 'description' => esc_html__( 'The description here.', 'kirki' ), + 'section' => 'radio_section', + 'default' => 'option-3', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'kirki' ), + 'option-2' => esc_html__( 'Option 2', 'kirki' ), + 'option-3' => esc_html__( 'Option 3', 'kirki' ), + 'option-4' => esc_html__( 'Option 4', 'kirki' ), + 'option-5' => esc_html__( 'Option 5', 'kirki' ), + ], + ] +); + +/** + * Radio-Buttonset Control. + */ +new \Kirki\Field\Radio_Buttonset( + [ + 'settings' => 'kirki_demo_radio_buttonset', + 'label' => esc_html__( 'Radio-Buttonset Control', 'kirki' ), + 'description' => esc_html__( 'Sample of radio-buttonset control.', 'kirki' ), + 'section' => 'radio_buttonset_section', + 'default' => 'option-2', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'kirki' ), + 'option-2' => esc_html__( 'Option 2', 'kirki' ), + 'option-3' => esc_html__( 'Option 3', 'kirki' ), + ], + ] +); + +/** + * Radio-Image Control. + */ +new \Kirki\Field\Radio_Image( + [ + 'settings' => 'kirki_demo_radio_image', + 'label' => esc_html__( 'Radio-Image Control', 'kirki' ), + 'description' => esc_html__( 'Sample of radio image control.', 'kirki' ), + 'section' => 'radio_image_section', + 'default' => 'travel', + 'choices' => [ + 'moto' => 'https://jawordpressorg.github.io/wapuu/wapuu-archive/wapuu-moto.png', + 'cossack' => 'https://raw.githubusercontent.com/templatemonster/cossack-wapuula/master/cossack-wapuula.png', + 'travel' => 'https://jawordpressorg.github.io/wapuu/wapuu-archive/wapuu-travel.png', + ], + ] +); + +/** + * Repeater Control. + */ +new \Kirki\Field\Repeater( + [ + 'settings' => 'kirki_demo_repeater', + 'label' => esc_html__( 'Repeater Control', 'kirki' ), + 'description' => esc_html__( 'Sample of repeater control.', 'kirki' ), + 'section' => 'repeater_section', + 'default' => [ + [ + 'link_text' => esc_html__( 'Kirki Site', 'kirki' ), + 'link_url' => 'https://kirki.org/', + 'link_target' => '_self', + 'checkbox' => false, + ], + [ + 'link_text' => esc_html__( 'Kirki Repository', 'kirki' ), + 'link_url' => 'https://github.com/aristath/kirki', + 'link_target' => '_self', + 'checkbox' => false, + ], + ], + 'fields' => [ + 'link_text' => [ + 'type' => 'text', + 'label' => esc_html__( 'Link Text', 'kirki' ), + 'description' => esc_html__( 'This will be the label for your link', 'kirki' ), + 'default' => '', + ], + 'link_url' => [ + 'type' => 'text', + 'label' => esc_html__( 'Link URL', 'kirki' ), + 'description' => esc_html__( 'This will be the link URL', 'kirki' ), + 'default' => '', + ], + 'link_target' => [ + 'type' => 'select', + 'label' => esc_html__( 'Link Target', 'kirki' ), + 'description' => esc_html__( 'This will be the link target', 'kirki' ), + 'default' => '_self', + 'choices' => [ + '_blank' => esc_html__( 'New Window', 'kirki' ), + '_self' => esc_html__( 'Same Frame', 'kirki' ), + ], + ], + 'checkbox' => [ + 'type' => 'checkbox', + 'label' => esc_html__( 'Checkbox', 'kirki' ), + 'default' => false, + ], + ], + ] +); + +/** + * Select Control. + */ +new \Kirki\Field\Select( + [ + 'settings' => 'kirki_demo_select', + 'label' => esc_html__( 'Select Control', 'kirki' ), + 'description' => esc_html__( 'Sample of single mode select control.', 'kirki' ), + 'section' => 'select_section', + 'default' => 'option-3', + 'placeholder' => esc_html__( 'Select an option', 'kirki' ), + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'kirki' ), + 'option-2' => esc_html__( 'Option 2', 'kirki' ), + 'option-3' => esc_html__( 'Option 3', 'kirki' ), + 'option-4' => esc_html__( 'Option 4', 'kirki' ), + 'option-5' => esc_html__( 'Option 5', 'kirki' ), + ], + ] +); + +new \Kirki\Field\Select( + [ + 'settings' => 'kirki_demo_select_multiple', + 'label' => esc_html__( 'Select Control', 'kirki' ), + 'description' => esc_html__( 'Sample of multiple mode select control.', 'kirki' ), + 'section' => 'select_section', + 'default' => 'option-3', + 'multiple' => 3, + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'kirki' ), + 'option-2' => esc_html__( 'Option 2', 'kirki' ), + 'option-3' => esc_html__( 'Option 3', 'kirki' ), + 'option-4' => esc_html__( 'Option 4', 'kirki' ), + 'option-5' => esc_html__( 'Option 5', 'kirki' ), + ], + ] +); + +/** + * Slider Control. + */ +new \Kirki\Field\Slider( + [ + 'settings' => 'kirki_demo_slider', + 'label' => esc_html__( 'Slider Control', 'kirki' ), + 'description' => esc_html__( 'Sample of slider control.', 'kirki' ), + 'section' => 'slider_section', + 'default' => '10', + 'transport' => 'postMessage', + 'tooltip' => esc_html__( 'This is the tooltip', 'kirki' ), + 'choices' => [ + 'min' => 0, + 'max' => 100, + 'step' => 1, + ], + ] +); + +Kirki::add_field( + 'kirki_demo_config', + [ + 'type' => 'slider', + 'settings' => 'kirki_demo_slider_old', + 'label' => esc_html__( 'Slider Control — Using Old Way', 'kirki' ), + 'description' => 'Added using `Kirki::add_field` (the old Kirki API)', + 'section' => 'slider_section', + 'transport' => 'postMessage', + 'choices' => [ + 'min' => 0, + 'max' => 100, + 'step' => 0.5, + ], + ] +); + +/** + * Sortable control. + */ +new \Kirki\Field\Sortable( + [ + 'settings' => 'kirki_demo_sortable', + 'label' => __( 'This is a sortable control.', 'kirki' ), + 'section' => 'sortable_section', + 'default' => [ 'option3', 'option1', 'option4' ], + 'choices' => [ + 'option1' => esc_html__( 'Option 1', 'kirki' ), + 'option2' => esc_html__( 'Option 2', 'kirki' ), + 'option3' => esc_html__( 'Option 3', 'kirki' ), + 'option4' => esc_html__( 'Option 4', 'kirki' ), + 'option5' => esc_html__( 'Option 5', 'kirki' ), + 'option6' => esc_html__( 'Option 6', 'kirki' ), + ], + ] +); + +/** + * Switch control. + */ +new \Kirki\Field\Checkbox_Switch( + [ + 'settings' => 'kirki_demo_switch', + 'label' => esc_html__( 'Switch Field', 'kirki' ), + 'description' => esc_html__( 'Simple switch control', 'kirki' ), + 'section' => 'switch_section', + 'transport' => 'postMessage', + 'default' => true, + ] +); + +new \Kirki\Field\Checkbox_Switch( + [ + 'settings' => 'kirki_demo_switch_custom_label', + 'label' => esc_html__( 'Switch Field — With custom labels', 'kirki' ), + 'description' => esc_html__( 'Switch control using custom labels', 'kirki' ), + 'section' => 'switch_section', + 'default' => true, + 'choices' => [ + 'on' => esc_html__( 'Enabled', 'kirki' ), + 'off' => esc_html__( 'Disabled', 'kirki' ), + ], + 'active_callback' => [ + [ + 'setting' => 'kirki_demo_switch', + 'operator' => '==', + 'value' => true, + ], + ], + ] +); + +/** + * Toggle control. + */ +Kirki::add_field( + 'kirki_demo_config', + [ + 'type' => 'toggle', + 'settings' => 'kirki_demo_toggle_setting', + 'label' => esc_html__( 'Toggle Field', 'kirki' ), + 'description' => esc_html__( 'Toggle is just utilizing switch control but aligned horizontally & without the text', 'kirki' ), + 'section' => 'toggle_section', + 'default' => '1', + 'priority' => 10, + 'transport' => 'postMessage', + ] +); + +/** + * Typography Control. + */ +new \Kirki\Field\Typography( + [ + 'settings' => 'kirki_demo_kirki_typography_setting', + 'label' => esc_html__( 'Typography Control', 'kirki' ), + 'description' => esc_html__( 'The full set of options.', 'kirki' ), + 'section' => 'typography_section', + 'priority' => 10, + 'transport' => 'postMessage', + 'default' => [ + 'font-family' => 'Roboto', + 'variant' => 'regular', + 'font-style' => 'normal', + 'color' => '#333333', + 'font-size' => '14px', + 'line-height' => '1.5', + 'letter-spacing' => '0', + 'text-transform' => 'none', + 'text-decoration' => 'none', + 'text-align' => 'left', + 'margin-top' => '0', + 'margin-bottom' => '0', + ], + 'output' => [ + [ + 'element' => 'body, p', + ], + ], + 'choices' => [ + 'fonts' => [ + 'google' => [ 'popularity', 60 ], + 'families' => [ + 'custom' => [ + 'text' => 'My Custom Fonts (demo only)', + 'children' => [ + [ + 'id' => 'helvetica-neue', + 'text' => 'Helvetica Neue', + ], + [ + 'id' => 'linotype-authentic', + 'text' => 'Linotype Authentic', + ], + ], + ], + ], + 'variants' => [ + 'helvetica-neue' => [ 'regular', '900' ], + 'linotype-authentic' => [ 'regular', '100', '300' ], + ], + ], + ], + ] +); + +new \Kirki\Field\Typography( + [ + 'settings' => 'kirki_demo_typography_setting_1', + 'label' => esc_html__( 'Typography Control', 'kirki' ), + 'description' => esc_html__( 'Just the font-family and font-weight.', 'kirki' ), + 'section' => 'typography_section', + 'priority' => 10, + 'transport' => 'auto', + 'default' => [ + 'font-family' => 'Roboto', + ], + 'output' => [ + [ + 'element' => [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], + ], + ], + ] +); + +/** + * Example function that creates a control containing the available sidebars as choices. + * + * @return void + */ +function kirki_sidebars_select_example() { + $sidebars = []; + if ( isset( $GLOBALS['wp_registered_sidebars'] ) ) { + $sidebars = $GLOBALS['wp_registered_sidebars']; + } + $sidebars_choices = []; + foreach ( $sidebars as $sidebar ) { + $sidebars_choices[ $sidebar['id'] ] = $sidebar['name']; + } + if ( ! class_exists( 'Kirki' ) ) { + return; + } + new \Kirki\Field\Select( + [ + 'settings' => 'kirki_demo_sidebars_select', + 'label' => esc_html__( 'Sidebars Select', 'kirki' ), + 'description' => esc_html__( 'An example of how to implement sidebars selection.', 'kirki' ), + 'section' => 'select_section', + 'default' => 'primary', + 'choices' => $sidebars_choices, + 'priority' => 30, + ] + ); +} +add_action( 'init', 'kirki_sidebars_select_example', 999 ); diff --git a/functions/kirki/inc/bootstrap.php b/functions/kirki/inc/bootstrap.php new file mode 100644 index 0000000..352bf4e --- /dev/null +++ b/functions/kirki/inc/bootstrap.php @@ -0,0 +1,17 @@ +modules = new Modules(); + +// Instantiate classes. +new Kirki(); +new L10n( 'kirki', __DIR__ . '/languages' ); + +// ? Bagus: Do we really need to-reinclude this file? It was included above. +// Include the ariColor library. +require_once wp_normalize_path( dirname( __FILE__ ) . '/lib/class-aricolor.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude + +// Add an empty config for global fields. +Kirki::add_config( '' ); // ? Bagus: what is this for? Adding empty config. + +// ? Bagus: Do we really need this line? custom-config.php here is supposed to inside this plugin. Or is this just in case we need it in the future? +$custom_config_path = dirname( __FILE__ ) . '/custom-config.php'; +$custom_config_path = wp_normalize_path( $custom_config_path ); +if ( file_exists( $custom_config_path ) ) { + require_once $custom_config_path; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude +} + +// Add upgrade notifications. +require_once wp_normalize_path( dirname( __FILE__ ) . '/upgrade-notifications.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude + +/** + * To enable tests, add this line to your wp-config.php file (or anywhere alse): + * define( 'KIRKI_TEST', true ); + * + * Please note that the example.php file is not included in the wordpress.org distribution + * and will only be included in dev versions of the plugin in the github repository. + */ +if ( defined( 'KIRKI_TEST' ) && true === KIRKI_TEST && file_exists( dirname( __FILE__ ) . '/example.php' ) ) { + include_once dirname( __FILE__ ) . '/example.php'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude +} diff --git a/functions/kirki/lib/class-aricolor.php b/functions/kirki/lib/class-aricolor.php new file mode 100644 index 0000000..32191b7 --- /dev/null +++ b/functions/kirki/lib/class-aricolor.php @@ -0,0 +1,982 @@ +color = $color; + + if ( is_array( $color ) && isset( $color['fallback'] ) ) { + $this->fallback = $color['fallback']; + $this->fallback_obj = self::newColor( $this->fallback ); + } + + if ( ! method_exists( $this, 'from_' . $mode ) ) { + $mode = $this->get_mode( $color ); + } + + $this->mode = $mode; + + if ( ! $mode ) { + return; + } + + $this->mode = $mode; + $method = 'from_' . $mode; + // Call the from_{$color_mode} method. + $this->$method(); + } + + /** + * Gets an instance for this color. + * We use a separate instance per color + * because there's no need to create a completely new instance each time we call this class. + * Instead using instances helps us improve performance & footprint. + * + * @static + * @access public + * @since 1.0.0 + * @param string|array $color The color. + * @param string $mode Mode to be used. + * @return ariColor (object) + */ + public static function newColor( $color, $mode = 'auto' ) { + + // Get an md5 for this color. + $color_md5 = ( is_array( $color ) ) ? md5( wp_json_encode( $color ) . $mode ) : md5( $color . $mode ); + // Set the instance if it does not already exist. + if ( ! isset( self::$instances[ $color_md5 ] ) ) { + self::$instances[ $color_md5 ] = new self( $color, $mode ); + } + return self::$instances[ $color_md5 ]; + } + + /** + * Alias of the newColor method. + * + * @static + * @access public + * @since 1.1 + * @param string|array $color The color. + * @param string $mode Mode to be used. + * @return ariColor (object) + */ + public static function new_color( $color, $mode = 'auto' ) { + return self::newColor( $color, $mode ); + } + + /** + * Allows us to get a new instance by modifying a property of the existing one. + * + * @access public + * @since 1.0.0 + * @param string $property Can be one of the following: + * red, + * green, + * blue, + * alpha, + * hue, + * saturation, + * lightness, + * brightness. + * @param int|float|string $value The new value. + * @return ariColor|null + */ + public function getNew( $property = '', $value = '' ) { + + if ( in_array( $property, array( 'red', 'green', 'blue', 'alpha' ), true ) ) { + // Check if we're changing any of the rgba values. + $value = max( 0, min( 255, $value ) ); + if ( 'red' === $property ) { + return self::new_color( 'rgba(' . $value . ',' . $this->green . ',' . $this->blue . ',' . $this->alpha . ')', 'rgba' ); + } elseif ( 'green' === $property ) { + return self::new_color( 'rgba(' . $this->red . ',' . $value . ',' . $this->blue . ',' . $this->alpha . ')', 'rgba' ); + } elseif ( 'blue' === $property ) { + return self::new_color( 'rgba(' . $this->red . ',' . $this->green . ',' . $value . ',' . $this->alpha . ')', 'rgba' ); + } elseif ( 'alpha' === $property ) { + return self::new_color( 'rgba(' . $this->red . ',' . $this->green . ',' . $this->blue . ',' . $value . ')', 'rgba' ); + } + } elseif ( in_array( $property, array( 'hue', 'saturation', 'lightness' ), true ) ) { + // Check if we're changing any of the hsl values. + $value = ( 'hue' === $property ) ? max( 0, min( 360, $value ) ) : max( 0, min( 100, $value ) ); + + if ( 'hue' === $property ) { + return self::new_color( 'hsla(' . $value . ',' . $this->saturation . '%,' . $this->lightness . '%,' . $this->alpha . ')', 'hsla' ); + } elseif ( 'saturation' === $property ) { + return self::new_color( 'hsla(' . $this->hue . ',' . $value . '%,' . $this->lightness . '%,' . $this->alpha . ')', 'hsla' ); + } elseif ( 'lightness' === $property ) { + return self::new_color( 'hsla(' . $this->hue . ',' . $this->saturation . '%,' . $value . '%,' . $this->alpha . ')', 'hsla' ); + } + } elseif ( 'brightness' === $property ) { + // Check if we're changing the brightness. + if ( $value < $this->brightness['total'] ) { + $red = max( 0, min( 255, $this->red - ( $this->brightness['total'] - $value ) ) ); + $green = max( 0, min( 255, $this->green - ( $this->brightness['total'] - $value ) ) ); + $blue = max( 0, min( 255, $this->blue - ( $this->brightness['total'] - $value ) ) ); + } elseif ( $value > $this->brightness['total'] ) { + $red = max( 0, min( 255, $this->red + ( $value - $this->brightness['total'] ) ) ); + $green = max( 0, min( 255, $this->green + ( $value - $this->brightness['total'] ) ) ); + $blue = max( 0, min( 255, $this->blue + ( $value - $this->brightness['total'] ) ) ); + } else { + // If it's not smaller and it's not greater, then it's equal. + return $this; + } + return self::new_color( 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $this->alpha . ')', 'rgba' ); + } + return null; + } + + /** + * Allias for the getNew method. + * + * @access public + * @since 1.1.0 + * @param string $property Can be one of the following: + * red, + * green, + * blue, + * alpha, + * hue, + * saturation, + * lightness, + * brightness. + * @param int|float|string $value The new value. + * @return ariColor|null + */ + public function get_new( $property = '', $value = '' ) { + return $this->getNew( $property, $value ); + } + + /** + * Figure out what mode we're using. + * + * @access public + * @since 1.0.0 + * @param string|array $color The color we're querying. + * @return string + */ + public function get_mode( $color ) { + + // Check if value is an array. + if ( is_array( $color ) ) { + // Does the array have an 'rgba' key? + if ( isset( $color['rgba'] ) ) { + $this->color = $color['rgba']; + return 'rgba'; + } elseif ( isset( $color['color'] ) ) { + // Does the array have a 'color' key? + $this->color = $color['color']; + if ( is_string( $color['color'] ) && false !== strpos( $color['color'], 'rgba' ) ) { + return 'rgba'; + } + return 'hex'; + } + // Is this a simple array with 4 items? + if ( 4 === count( $color ) && isset( $color[0] ) && isset( $color[1] ) && isset( $color[2] ) && isset( $color[3] ) ) { + $this->color = 'rgba(' . intval( $color[0] ) . ',' . intval( $color[1] ) . ',' . intval( $color[2] ) . ',' . intval( $color[3] ) . ')'; + return 'rgba'; + } elseif ( 3 === count( $color ) && isset( $color[0] ) && isset( $color[1] ) && isset( $color[2] ) ) { + // Is this a simple array with 3 items? + $this->color = 'rgba(' . intval( $color[0] ) . ',' . intval( $color[1] ) . ',' . intval( $color[2] ) . ',1)'; + return 'rgba'; + } + + // Check for other keys in the array and get values from there. + $finders_keepers = array( + 'r' => 'red', + 'g' => 'green', + 'b' => 'blue', + 'a' => 'alpha', + 'red' => 'red', + 'green' => 'green', + 'blue' => 'blue', + 'alpha' => 'alpha', + 'opacity' => 'alpha', + ); + $found = false; + foreach ( $finders_keepers as $finder => $keeper ) { + if ( isset( $color[ $finder ] ) ) { + $found = true; + $this->$keeper = $color[ $finder ]; + } + } + + // We failed, use fallback. + if ( ! $found ) { + $this->from_fallback(); + return $this->mode; + } + + // We did not fail, so use rgba values recovered above. + $this->color = 'rgba(' . $this->red . ',' . $this->green . ',' . $this->blue . ',' . $this->alpha . ')'; + return 'rgba'; + } + + // If a string and 3 or 6 characters long, add # since it's a hex. + if ( 3 === strlen( $this->color ) || 6 === strlen( $this->color ) && false === strpos( $this->color, '#' ) ) { + $this->color = '#' . $this->color; + $color = $this->color; + } + + // If we got this far, it's not an array. + // Check for key identifiers in the value. + $finders_keepers = array( + '#' => 'hex', + 'rgba' => 'rgba', + 'rgb' => 'rgb', + 'hsla' => 'hsla', + 'hsl' => 'hsl', + ); + foreach ( $finders_keepers as $finder => $keeper ) { + if ( false !== strrpos( $color, $finder ) ) { + + // Make sure hex colors have 6 digits and not more. + if ( '#' === $finder && 7 < strlen( $color ) ) { + $this->color = substr( $color, 0, 7 ); + } + + return $keeper; + } + } + // Perhaps we're using a word like "orange"? + $wordcolors = $this->get_word_colors(); + if ( is_string( $color ) && array_key_exists( $color, $wordcolors ) ) { + $this->color = '#' . $wordcolors[ $color ]; + return 'hex'; + } + // Fallback to hex. + + $this->color = $this->fallback; + return 'hex'; + } + + /** + * Starts with a HEX color and calculates all other properties. + * + * @access protected + * @since 1.0.0 + * @return null + */ + protected function from_hex() { + + if ( ! function_exists( 'sanitize_hex_color' ) ) { + require_once wp_normalize_path( ABSPATH . WPINC . '/class-wp-customize-manager.php' ); + } + // Is this perhaps a word-color? + $word_colors = $this->get_word_colors(); + if ( array_key_exists( $this->color, $word_colors ) ) { + $this->color = '#' . $word_colors[ $this->color ]; + } + // Sanitize color. + $this->hex = sanitize_hex_color( maybe_hash_hex_color( $this->color ) ); + $hex = ltrim( $this->hex, '#' ); + + // Fallback if needed. + if ( ! $hex || 3 > strlen( $hex ) ) { + $this->from_fallback(); + return; + } + // Make sure we have 6 digits for the below calculations. + if ( 3 === strlen( $hex ) ) { + $hex = ltrim( $this->hex, '#' ); + $hex = substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) . substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) . substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ); + } + + // Set red, green, blue. + $this->red = hexdec( substr( $hex, 0, 2 ) ); + $this->green = hexdec( substr( $hex, 2, 2 ) ); + $this->blue = hexdec( substr( $hex, 4, 2 ) ); + $this->alpha = 1; + // Set other color properties. + $this->set_brightness(); + $this->set_hsl(); + $this->set_luminance(); + + } + + /** + * Starts with an RGB color and calculates all other properties. + * + * @access protected + * @since 1.0.0 + * @return null + */ + protected function from_rgb() { + $value = explode( ',', str_replace( array( ' ', 'rgb', '(', ')' ), '', $this->color ) ); + // Set red, green, blue. + $this->red = ( isset( $value[0] ) ) ? intval( $value[0] ) : 255; + $this->green = ( isset( $value[1] ) ) ? intval( $value[1] ) : 255; + $this->blue = ( isset( $value[2] ) ) ? intval( $value[2] ) : 255; + $this->alpha = 1; + // Set the hex. + $this->hex = $this->rgb_to_hex( $this->red, $this->green, $this->blue ); + // Set other color properties. + $this->set_brightness(); + $this->set_hsl(); + $this->set_luminance(); + } + + /** + * Starts with an RGBA color and calculates all other properties. + * + * @access protected + * @since 1.0.0 + * @return null + */ + protected function from_rgba() { + // Set r, g, b, a properties. + $value = explode( ',', str_replace( array( ' ', 'rgba', '(', ')' ), '', $this->color ) ); + $this->red = ( isset( $value[0] ) ) ? intval( $value[0] ) : 255; + $this->green = ( isset( $value[1] ) ) ? intval( $value[1] ) : 255; + $this->blue = ( isset( $value[2] ) ) ? intval( $value[2] ) : 255; + $this->alpha = ( isset( $value[3] ) ) ? filter_var( $value[3], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ) : 1; + // Limit values in the range of 0 - 255. + $this->red = max( 0, min( 255, $this->red ) ); + $this->green = max( 0, min( 255, $this->green ) ); + $this->blue = max( 0, min( 255, $this->blue ) ); + // Limit values 0 - 1. + $this->alpha = max( 0, min( 1, $this->alpha ) ); + // Set hex. + $this->hex = $this->rgb_to_hex( $this->red, $this->green, $this->blue ); + // Set other color properties. + $this->set_brightness(); + $this->set_hsl(); + $this->set_luminance(); + } + + /** + * Starts with an HSL color and calculates all other properties. + * + * @access protected + * @since 1.0.0 + * @return null + */ + protected function from_hsl() { + $value = explode( ',', str_replace( array( ' ', 'hsl', '(', ')', '%' ), '', $this->color ) ); + $this->hue = $value[0]; + $this->saturation = $value[1]; + $this->lightness = $value[2]; + $this->from_hsl_array(); + } + + /** + * Starts with an HSLA color and calculates all other properties. + * + * @access protected + * @since 1.0.0 + * @return null + */ + protected function from_hsla() { + $value = explode( ',', str_replace( array( ' ', 'hsla', '(', ')', '%' ), '', $this->color ) ); + $this->hue = $value[0]; + $this->saturation = $value[1]; + $this->lightness = $value[2]; + $this->alpha = $value[3]; + $this->from_hsl_array(); + } + + /** + * Generates the HEX value of a color given values for $red, $green, $blue. + * + * @access protected + * @since 1.0.0 + * @param int|string $red The red value of this color. + * @param int|string $green The green value of this color. + * @param int|string $blue The blue value of this color. + * @return string + */ + protected function rgb_to_hex( $red, $green, $blue ) { + // Get hex values properly formatted. + $hex_red = $this->dexhex_double_digit( $red ); + $hex_green = $this->dexhex_double_digit( $green ); + $hex_blue = $this->dexhex_double_digit( $blue ); + return '#' . $hex_red . $hex_green . $hex_blue; + } + + /** + * Convert a decimal value to hex and make sure it's 2 characters. + * + * @access protected + * @since 1.0.0 + * @param int|string $value The value to convert. + * @return string + */ + protected function dexhex_double_digit( $value ) { + $value = dechex( $value ); + if ( 1 === strlen( $value ) ) { + $value = '0' . $value; + } + return $value; + } + + /** + * Calculates the red, green, blue values of an HSL color. + * + * @access protected + * @since 1.0.0 + * @see https://gist.github.com/brandonheyer/5254516 + */ + protected function from_hsl_array() { + $h = $this->hue / 360; + $s = $this->saturation / 100; + $l = $this->lightness / 100; + + $r = $l; + $g = $l; + $b = $l; + $v = ( $l <= 0.5 ) ? ( $l * ( 1.0 + $s ) ) : ( $l + $s - $l * $s ); + if ( $v > 0 ) { + $m = $l + $l - $v; + $sv = ( $v - $m ) / $v; + $h *= 6.0; + $sextant = floor( $h ); + $fract = $h - $sextant; + $vsf = $v * $sv * $fract; + $mid1 = $m + $vsf; + $mid2 = $v - $vsf; + switch ( $sextant ) { + case 0: + $r = $v; + $g = $mid1; + $b = $m; + break; + case 1: + $r = $mid2; + $g = $v; + $b = $m; + break; + case 2: + $r = $m; + $g = $v; + $b = $mid1; + break; + case 3: + $r = $m; + $g = $mid2; + $b = $v; + break; + case 4: + $r = $mid1; + $g = $m; + $b = $v; + break; + case 5: + $r = $v; + $g = $m; + $b = $mid2; + break; + } + } + $this->red = round( $r * 255, 0 ); + $this->green = round( $g * 255, 0 ); + $this->blue = round( $b * 255, 0 ); + + $this->hex = $this->rgb_to_hex( $this->red, $this->green, $this->blue ); + $this->set_luminance(); + } + + /** + * Returns a CSS-formatted value for colors. + * + * @access public + * @since 1.0.0 + * @param string $mode The mode we're using. + * @return string + */ + public function toCSS( $mode = 'hex' ) { + + $value = ''; + + switch ( $mode ) { + case 'hex': + $value = strtolower( $this->hex ); + break; + case 'rgba': + $value = 'rgba(' . $this->red . ',' . $this->green . ',' . $this->blue . ',' . $this->alpha . ')'; + break; + case 'rgb': + $value = 'rgb(' . $this->red . ',' . $this->green . ',' . $this->blue . ')'; + break; + case 'hsl': + $value = 'hsl(' . $this->hue . ',' . round( $this->saturation ) . '%,' . round( $this->lightness ) . '%)'; + break; + case 'hsla': + $value = 'hsla(' . $this->hue . ',' . round( $this->saturation ) . '%,' . round( $this->lightness ) . '%,' . $this->alpha . ')'; + break; + } + return $value; + } + + /** + * Alias for the toCSS method. + * + * @access public + * @since 1.1 + * @param string $mode The mode we're using. + * @return string + */ + public function to_css( $mode = 'hex' ) { + return $this->toCSS( $mode ); + } + + /** + * Sets the HSL values of a color based on the values of red, green, blue. + * + * @access public + * @since 1.0.0 + */ + protected function set_hsl() { + $red = $this->red / 255; + $green = $this->green / 255; + $blue = $this->blue / 255; + + $max = max( $red, $green, $blue ); + $min = min( $red, $green, $blue ); + + $lightness = ( $max + $min ) / 2; + $difference = $max - $min; + + if ( ! $difference ) { + $hue = $saturation = 0; // Achromatic. + } else { + $saturation = $difference / ( 1 - abs( 2 * $lightness - 1 ) ); + switch ( $max ) { + case $red: + $hue = 60 * fmod( ( ( $green - $blue ) / $difference ), 6 ); + if ( $blue > $green ) { + $hue += 360; + } + break; + case $green: + $hue = 60 * ( ( $blue - $red ) / $difference + 2 ); + break; + case $blue: + $hue = 60 * ( ( $red - $green ) / $difference + 4 ); + break; + } + } + + $this->hue = round( $hue ); + $this->saturation = round( $saturation * 100 ); + $this->lightness = round( $lightness * 100 ); + } + + /** + * Sets the brightness of a color based on the values of red, green, blue. + * + * @access protected + * @since 1.0.0 + */ + protected function set_brightness() { + $this->brightness = array( + 'red' => round( $this->red * .299 ), + 'green' => round( $this->green * .587 ), + 'blue' => round( $this->blue * .114 ), + 'total' => intval( ( $this->red * .299 ) + ( $this->green * .587 ) + ( $this->blue * .114 ) ), + ); + } + + /** + * Sets the luminance of a color (range:0-255) based on the values of red, green, blue. + * + * @access protected + * @since 1.0.0 + */ + protected function set_luminance() { + $lum = ( 0.2126 * $this->red ) + ( 0.7152 * $this->green ) + ( 0.0722 * $this->blue ); + $this->luminance = round( $lum ); + } + + /** + * Gets an array of all the wordcolors. + * + * @access protected + * @since 1.0.0 + * @return array + */ + protected function get_word_colors() { + return array( + 'aliceblue' => 'F0F8FF', + 'antiquewhite' => 'FAEBD7', + 'aqua' => '00FFFF', + 'aquamarine' => '7FFFD4', + 'azure' => 'F0FFFF', + 'beige' => 'F5F5DC', + 'bisque' => 'FFE4C4', + 'black' => '000000', + 'blanchedalmond' => 'FFEBCD', + 'blue' => '0000FF', + 'blueviolet' => '8A2BE2', + 'brown' => 'A52A2A', + 'burlywood' => 'DEB887', + 'cadetblue' => '5F9EA0', + 'chartreuse' => '7FFF00', + 'chocolate' => 'D2691E', + 'coral' => 'FF7F50', + 'cornflowerblue' => '6495ED', + 'cornsilk' => 'FFF8DC', + 'crimson' => 'DC143C', + 'cyan' => '00FFFF', + 'darkblue' => '00008B', + 'darkcyan' => '008B8B', + 'darkgoldenrod' => 'B8860B', + 'darkgray' => 'A9A9A9', + 'darkgreen' => '006400', + 'darkgrey' => 'A9A9A9', + 'darkkhaki' => 'BDB76B', + 'darkmagenta' => '8B008B', + 'darkolivegreen' => '556B2F', + 'darkorange' => 'FF8C00', + 'darkorchid' => '9932CC', + 'darkred' => '8B0000', + 'darksalmon' => 'E9967A', + 'darkseagreen' => '8FBC8F', + 'darkslateblue' => '483D8B', + 'darkslategray' => '2F4F4F', + 'darkslategrey' => '2F4F4F', + 'darkturquoise' => '00CED1', + 'darkviolet' => '9400D3', + 'deeppink' => 'FF1493', + 'deepskyblue' => '00BFFF', + 'dimgray' => '696969', + 'dimgrey' => '696969', + 'dodgerblue' => '1E90FF', + 'firebrick' => 'B22222', + 'floralwhite' => 'FFFAF0', + 'forestgreen' => '228B22', + 'fuchsia' => 'FF00FF', + 'gainsboro' => 'DCDCDC', + 'ghostwhite' => 'F8F8FF', + 'gold' => 'FFD700', + 'goldenrod' => 'DAA520', + 'gray' => '808080', + 'green' => '008000', + 'greenyellow' => 'ADFF2F', + 'grey' => '808080', + 'honeydew' => 'F0FFF0', + 'hotpink' => 'FF69B4', + 'indianred' => 'CD5C5C', + 'indigo' => '4B0082', + 'ivory' => 'FFFFF0', + 'khaki' => 'F0E68C', + 'lavender' => 'E6E6FA', + 'lavenderblush' => 'FFF0F5', + 'lawngreen' => '7CFC00', + 'lemonchiffon' => 'FFFACD', + 'lightblue' => 'ADD8E6', + 'lightcoral' => 'F08080', + 'lightcyan' => 'E0FFFF', + 'lightgoldenrodyellow' => 'FAFAD2', + 'lightgray' => 'D3D3D3', + 'lightgreen' => '90EE90', + 'lightgrey' => 'D3D3D3', + 'lightpink' => 'FFB6C1', + 'lightsalmon' => 'FFA07A', + 'lightseagreen' => '20B2AA', + 'lightskyblue' => '87CEFA', + 'lightslategray' => '778899', + 'lightslategrey' => '778899', + 'lightsteelblue' => 'B0C4DE', + 'lightyellow' => 'FFFFE0', + 'lime' => '00FF00', + 'limegreen' => '32CD32', + 'linen' => 'FAF0E6', + 'magenta' => 'FF00FF', + 'maroon' => '800000', + 'mediumaquamarine' => '66CDAA', + 'mediumblue' => '0000CD', + 'mediumorchid' => 'BA55D3', + 'mediumpurple' => '9370D0', + 'mediumseagreen' => '3CB371', + 'mediumslateblue' => '7B68EE', + 'mediumspringgreen' => '00FA9A', + 'mediumturquoise' => '48D1CC', + 'mediumvioletred' => 'C71585', + 'midnightblue' => '191970', + 'mintcream' => 'F5FFFA', + 'mistyrose' => 'FFE4E1', + 'moccasin' => 'FFE4B5', + 'navajowhite' => 'FFDEAD', + 'navy' => '000080', + 'oldlace' => 'FDF5E6', + 'olive' => '808000', + 'olivedrab' => '6B8E23', + 'orange' => 'FFA500', + 'orangered' => 'FF4500', + 'orchid' => 'DA70D6', + 'palegoldenrod' => 'EEE8AA', + 'palegreen' => '98FB98', + 'paleturquoise' => 'AFEEEE', + 'palevioletred' => 'DB7093', + 'papayawhip' => 'FFEFD5', + 'peachpuff' => 'FFDAB9', + 'peru' => 'CD853F', + 'pink' => 'FFC0CB', + 'plum' => 'DDA0DD', + 'powderblue' => 'B0E0E6', + 'purple' => '800080', + 'red' => 'FF0000', + 'rosybrown' => 'BC8F8F', + 'royalblue' => '4169E1', + 'saddlebrown' => '8B4513', + 'salmon' => 'FA8072', + 'sandybrown' => 'F4A460', + 'seagreen' => '2E8B57', + 'seashell' => 'FFF5EE', + 'sienna' => 'A0522D', + 'silver' => 'C0C0C0', + 'skyblue' => '87CEEB', + 'slateblue' => '6A5ACD', + 'slategray' => '708090', + 'slategrey' => '708090', + 'snow' => 'FFFAFA', + 'springgreen' => '00FF7F', + 'steelblue' => '4682B4', + 'tan' => 'D2B48C', + 'teal' => '008080', + 'thistle' => 'D8BFD8', + 'tomato' => 'FF6347', + 'turquoise' => '40E0D0', + 'violet' => 'EE82EE', + 'wheat' => 'F5DEB3', + 'white' => 'FFFFFF', + 'whitesmoke' => 'F5F5F5', + 'yellow' => 'FFFF00', + 'yellowgreen' => '9ACD32', + ); + + } + + /** + * Use fallback object. + * + * @access protected + * @since 1.2.0 + */ + protected function from_fallback() { + $this->color = $this->fallback; + + if ( ! $this->fallback_obj ) { + $this->fallback_obj = self::newColor( $this->fallback ); + } + $this->color = $this->fallback_obj->color; + $this->mode = $this->fallback_obj->mode; + $this->red = $this->fallback_obj->red; + $this->green = $this->fallback_obj->green; + $this->blue = $this->fallback_obj->blue; + $this->alpha = $this->fallback_obj->alpha; + $this->hue = $this->fallback_obj->hue; + $this->saturation = $this->fallback_obj->saturation; + $this->lightness = $this->fallback_obj->lightness; + $this->luminance = $this->fallback_obj->luminance; + $this->hex = $this->fallback_obj->hex; + } + + /** + * Handle non-existing public methods. + * + * @access public + * @since 1.1.0 + * @param string $name The method name. + * @param mixed $arguments The method arguments. + * @return mixed + */ + public function __call( $name, $arguments ) { + if ( method_exists( $this, $name ) ) { + call_user_func( array( $this, $name ), $arguments ); + } else { + return $arguments; + } + } + + /** + * Handle non-existing public static methods. + * + * @static + * @access public + * @since 1.1.0 + * @param string $name The method name. + * @param mixed $arguments The method arguments. + * @return mixed + */ + public static function __callStatic( $name, $arguments ) { + if ( method_exists( __CLASS__, $name ) ) { + call_user_func( array( __CLASS__, $name ), $arguments ); + } else { + return $arguments; + } + } + } +} diff --git a/functions/kirki/lib/class-kirki-color.php b/functions/kirki/lib/class-kirki-color.php new file mode 100644 index 0000000..9571915 --- /dev/null +++ b/functions/kirki/lib/class-kirki-color.php @@ -0,0 +1,342 @@ +mode; + } + return $obj->toCSS( $mode ); + } + + /** + * Gets the rgb value of a color. + * + * @static + * @access public + * @param string $color The color. + * @param boolean $implode Whether we want to implode the values or not. + * @return array|string + */ + public static function get_rgb( $color, $implode = false ) { + $obj = ariColor::newColor( $color ); + if ( $implode ) { + return $obj->toCSS( 'rgb' ); + } + return array( $obj->red, $obj->green, $obj->blue ); + } + + /** + * A proxy for the sanitize_color method. + * + * @static + * @access public + * @param string|array $color The color to convert. + * @return string The hex value of the color. + */ + public static function rgba2hex( $color ) { + return self::sanitize_color( $color, 'hex' ); + } + + /** + * Get the alpha channel from an rgba color. + * + * @static + * @access public + * @param string $color The rgba color formatted like rgba(r,g,b,a). + * @return int|float The alpha value of the color. + */ + public static function get_alpha_from_rgba( $color ) { + $obj = ariColor::newColor( $color ); + return $obj->alpha; + } + + /** + * Gets the rgba value of the $color. + * + * @static + * @access public + * @param string $color The hex value of a color. + * @param int|float $alpha Opacity level (0-1). + * @return string + */ + public static function get_rgba( $color = '#fff', $alpha = 1 ) { + $obj = ariColor::newColor( $color ); + if ( 1 == $alpha ) { + return $obj->toCSS( 'rgba' ); + } + // Make sure that opacity is properly formatted. + // Converts 1-100 values to 0-1. + if ( $alpha > 1 || $alpha < -1 ) { + // Divide by 100. + $alpha /= 100; + } + // Get absolute value. + $alpha = abs( $alpha ); + // Max 1. + if ( 1 < $alpha ) { + $alpha = 1; + } + $new_obj = $obj->getNew( 'alpha', $alpha ); + return $new_obj->toCSS( 'rgba' ); + } + + /** + * Strips the alpha value from an RGBA color string. + * + * @static + * @access public + * @param string $color The RGBA color string. + * @return string The corresponding RGB string. + */ + public static function rgba_to_rgb( $color ) { + $obj = ariColor::newColor( $color ); + return $obj->toCSS( 'rgb' ); + } + + /** + * Gets the brightness of the $hex color. + * + * @static + * @access public + * @param string $hex The hex value of a color. + * @return int Value between 0 and 255. + */ + public static function get_brightness( $hex ) { + $hex = self::sanitize_hex( $hex, false ); + + // Returns brightness value from 0 to 255. + return intval( ( ( hexdec( substr( $hex, 0, 2 ) ) * 299 ) + ( hexdec( substr( $hex, 2, 2 ) ) * 587 ) + ( hexdec( substr( $hex, 4, 2 ) ) * 114 ) ) / 1000 ); + } + + /** + * Adjusts brightness of the $hex color. + * + * @static + * @access public + * @param string $hex The hex value of a color. + * @param integer $steps Should be between -255 and 255. Negative = darker, positive = lighter. + * @return string Returns hex color. + */ + public static function adjust_brightness( $hex, $steps ) { + $hex = self::sanitize_hex( $hex, false ); + $steps = max( -255, min( 255, $steps ) ); + + // Adjust number of steps and keep it inside 0 to 255. + $red = max( 0, min( 255, hexdec( substr( $hex, 0, 2 ) ) + $steps ) ); + $green = max( 0, min( 255, hexdec( substr( $hex, 2, 2 ) ) + $steps ) ); + $blue = max( 0, min( 255, hexdec( substr( $hex, 4, 2 ) ) + $steps ) ); + + $red_hex = str_pad( dechex( $red ), 2, '0', STR_PAD_LEFT ); + $green_hex = str_pad( dechex( $green ), 2, '0', STR_PAD_LEFT ); + $blue_hex = str_pad( dechex( $blue ), 2, '0', STR_PAD_LEFT ); + return self::sanitize_hex( $red_hex . $green_hex . $blue_hex ); + } + + /** + * Mixes 2 hex colors. + * The "percentage" variable is the percent of the first color. + * to be used it the mix. default is 50 (equal mix). + * + * @static + * @access public + * @param string|false $hex1 Color. + * @param string|false $hex2 Color. + * @param int $percentage A value between 0 and 100. + * @return string Returns hex color. + */ + public static function mix_colors( $hex1, $hex2, $percentage ) { + $hex1 = self::sanitize_hex( $hex1, false ); + $hex2 = self::sanitize_hex( $hex2, false ); + $red = ( $percentage * hexdec( substr( $hex1, 0, 2 ) ) + ( 100 - $percentage ) * hexdec( substr( $hex2, 0, 2 ) ) ) / 100; + $green = ( $percentage * hexdec( substr( $hex1, 2, 2 ) ) + ( 100 - $percentage ) * hexdec( substr( $hex2, 2, 2 ) ) ) / 100; + $blue = ( $percentage * hexdec( substr( $hex1, 4, 2 ) ) + ( 100 - $percentage ) * hexdec( substr( $hex2, 4, 2 ) ) ) / 100; + $red_hex = str_pad( dechex( $red ), 2, '0', STR_PAD_LEFT ); + $green_hex = str_pad( dechex( $green ), 2, '0', STR_PAD_LEFT ); + $blue_hex = str_pad( dechex( $blue ), 2, '0', STR_PAD_LEFT ); + return self::sanitize_hex( $red_hex . $green_hex . $blue_hex ); + } + + /** + * Convert hex color to hsv. + * + * @static + * @access public + * @param string $hex The hex value of color 1. + * @return array Returns array( 'h', 's', 'v' ). + */ + public static function hex_to_hsv( $hex ) { + $rgb = (array) (array) self::get_rgb( self::sanitize_hex( $hex, false ) ); + return self::rgb_to_hsv( $rgb ); + } + + /** + * Convert hex color to hsv. + * + * @static + * @access public + * @param string $color The rgb color to convert array( 'r', 'g', 'b' ). + * @return array Returns array( 'h', 's', 'v' ). + */ + public static function rgb_to_hsv( $color = array() ) { + $var_r = ( $color[0] / 255 ); + $var_g = ( $color[1] / 255 ); + $var_b = ( $color[2] / 255 ); + $var_min = min( $var_r, $var_g, $var_b ); + $var_max = max( $var_r, $var_g, $var_b ); + $del_max = $var_max - $var_min; + $h = 0; + $s = 0; + $v = $var_max; + if ( 0 != $del_max ) { + $s = $del_max / $var_max; + $del_r = ( ( ( $var_max - $var_r ) / 6 ) + ( $del_max / 2 ) ) / $del_max; + $del_g = ( ( ( $var_max - $var_g ) / 6 ) + ( $del_max / 2 ) ) / $del_max; + $del_b = ( ( ( $var_max - $var_b ) / 6 ) + ( $del_max / 2 ) ) / $del_max; + if ( $var_r == $var_max ) { + $h = $del_b - $del_g; + } elseif ( $var_g == $var_max ) { + $h = ( 1 / 3 ) + $del_r - $del_b; + } elseif ( $var_b == $var_max ) { + $h = ( 2 / 3 ) + $del_g - $del_r; + } + if ( $h < 0 ) { + $h++; + } + if ( $h > 1 ) { + $h--; + } + } + return array( + 'h' => round( $h, 2 ), + 's' => round( $s, 2 ), + 'v' => round( $v, 2 ), + ); + } + + /** + * This is a very simple algorithm that works by summing up the differences between the three color components red, green and blue. + * A value higher than 500 is recommended for good readability. + * + * @static + * @access public + * @param string $color_1 The 1st color. + * @param string $color_2 The 2nd color. + * @return string + */ + public static function color_difference( $color_1 = '#ffffff', $color_2 = '#000000' ) { + $color_1 = self::sanitize_hex( $color_1, false ); + $color_2 = self::sanitize_hex( $color_2, false ); + $color_1_rgb = self::get_rgb( $color_1 ); + $color_2_rgb = self::get_rgb( $color_2 ); + $r_diff = max( $color_1_rgb[0], $color_2_rgb[0] ) - min( $color_1_rgb[0], $color_2_rgb[0] ); + $g_diff = max( $color_1_rgb[1], $color_2_rgb[1] ) - min( $color_1_rgb[1], $color_2_rgb[1] ); + $b_diff = max( $color_1_rgb[2], $color_2_rgb[2] ) - min( $color_1_rgb[2], $color_2_rgb[2] ); + $color_diff = $r_diff + $g_diff + $b_diff; + return $color_diff; + } + + /** + * This function tries to compare the brightness of the colors. + * A return value of more than 125 is recommended. + * Combining it with the color_difference function above might make sense. + * + * @static + * @access public + * @param string $color_1 The 1st color. + * @param string $color_2 The 2nd color. + * @return string + */ + public static function brightness_difference( $color_1 = '#ffffff', $color_2 = '#000000' ) { + $color_1 = self::sanitize_hex( $color_1, false ); + $color_2 = self::sanitize_hex( $color_2, false ); + $color_1_rgb = self::get_rgb( $color_1 ); + $color_2_rgb = self::get_rgb( $color_2 ); + $br_1 = ( 299 * $color_1_rgb[0] + 587 * $color_1_rgb[1] + 114 * $color_1_rgb[2] ) / 1000; + $br_2 = ( 299 * $color_2_rgb[0] + 587 * $color_2_rgb[1] + 114 * $color_2_rgb[2] ) / 1000; + return intval( abs( $br_1 - $br_2 ) ); + } + + /** + * Uses the luminosity to calculate the difference between the given colors. + * The returned value should be bigger than 5 for best readability. + * + * @static + * @access public + * @param string $color_1 The 1st color. + * @param string $color_2 The 2nd color. + * @return string + */ + public static function lumosity_difference( $color_1 = '#ffffff', $color_2 = '#000000' ) { + $color_1 = self::sanitize_hex( $color_1, false ); + $color_2 = self::sanitize_hex( $color_2, false ); + $color_1_rgb = self::get_rgb( $color_1 ); + $color_2_rgb = self::get_rgb( $color_2 ); + $l1 = 0.2126 * pow( $color_1_rgb[0] / 255, 2.2 ) + 0.7152 * pow( $color_1_rgb[1] / 255, 2.2 ) + 0.0722 * pow( $color_1_rgb[2] / 255, 2.2 ); + $l2 = 0.2126 * pow( $color_2_rgb[0] / 255, 2.2 ) + 0.7152 * pow( $color_2_rgb[1] / 255, 2.2 ) + 0.0722 * pow( $color_2_rgb[2] / 255, 2.2 ); + $lum_diff = ( $l1 > $l2 ) ? ( $l1 + 0.05 ) / ( $l2 + 0.05 ) : ( $l2 + 0.05 ) / ( $l1 + 0.05 ); + return round( $lum_diff, 2 ); + } +} diff --git a/functions/kirki/packages/autoload.php b/functions/kirki/packages/autoload.php new file mode 100644 index 0000000..2fdd036 --- /dev/null +++ b/functions/kirki/packages/autoload.php @@ -0,0 +1,12 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + /** @var ?string */ + private $vendorDir; + + // PSR-4 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixLengthsPsr4 = array(); + /** + * @var array[] + * @psalm-var array> + */ + private $prefixDirsPsr4 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr4 = array(); + + // PSR-0 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixesPsr0 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr0 = array(); + + /** @var bool */ + private $useIncludePath = false; + + /** + * @var string[] + * @psalm-var array + */ + private $classMap = array(); + + /** @var bool */ + private $classMapAuthoritative = false; + + /** + * @var bool[] + * @psalm-var array + */ + private $missingClasses = array(); + + /** @var ?string */ + private $apcuPrefix; + + /** + * @var self[] + */ + private static $registeredLoaders = array(); + + /** + * @param ?string $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + } + + /** + * @return string[] + */ + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + /** + * @return array[] + * @psalm-return array> + */ + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + /** + * @return string[] Array of classname => path + * @psalm-return array + */ + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap + * + * @return void + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 base directories + * + * @return void + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + * + * @return void + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + * + * @return void + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + * + * @return void + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } + } + + /** + * Unregisters this instance as an autoloader. + * + * @return void + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return true|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + + return null; + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + /** + * Returns the currently registered loaders indexed by their corresponding vendor directories. + * + * @return self[] + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private + */ +function includeFile($file) +{ + include $file; +} diff --git a/functions/kirki/packages/composer/InstalledVersions.php b/functions/kirki/packages/composer/InstalledVersions.php new file mode 100644 index 0000000..41bc143 --- /dev/null +++ b/functions/kirki/packages/composer/InstalledVersions.php @@ -0,0 +1,352 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final + */ +class InstalledVersions +{ + /** + * @var mixed[]|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + */ + private static $installed; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints($constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = require __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + $installed[] = self::$installed; + + return $installed; + } +} diff --git a/functions/kirki/packages/composer/LICENSE b/functions/kirki/packages/composer/LICENSE new file mode 100644 index 0000000..f27399a --- /dev/null +++ b/functions/kirki/packages/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/functions/kirki/packages/composer/autoload_classmap.php b/functions/kirki/packages/composer/autoload_classmap.php new file mode 100644 index 0000000..0fb0a2c --- /dev/null +++ b/functions/kirki/packages/composer/autoload_classmap.php @@ -0,0 +1,10 @@ + $vendorDir . '/composer/InstalledVersions.php', +); diff --git a/functions/kirki/packages/composer/autoload_namespaces.php b/functions/kirki/packages/composer/autoload_namespaces.php new file mode 100644 index 0000000..15a2ff3 --- /dev/null +++ b/functions/kirki/packages/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ + array($vendorDir . '/kirki-framework/control-dashicons/src/Util', $vendorDir . '/kirki-framework/util/src'), + 'Kirki\\Settings\\' => array($vendorDir . '/kirki-framework/control-repeater/src/Settings'), + 'Kirki\\Module\\' => array($vendorDir . '/kirki-framework/module-css/src', $vendorDir . '/kirki-framework/module-editor-styles/src', $vendorDir . '/kirki-framework/module-field-dependencies/src', $vendorDir . '/kirki-framework/module-postmessage/src', $vendorDir . '/kirki-framework/module-preset/src', $vendorDir . '/kirki-framework/module-section-icons/src', $vendorDir . '/kirki-framework/module-selective-refresh/src', $vendorDir . '/kirki-framework/module-tooltips/src', $vendorDir . '/kirki-framework/module-webfonts/src'), + 'Kirki\\Field\\' => array($vendorDir . '/kirki-framework/control-checkbox/src/Field', $vendorDir . '/kirki-framework/control-code/src/Field', $vendorDir . '/kirki-framework/control-color/src/Field', $vendorDir . '/kirki-framework/control-color-palette/src/Field', $vendorDir . '/kirki-framework/control-custom/src/Field', $vendorDir . '/kirki-framework/control-dashicons/src/Field', $vendorDir . '/kirki-framework/control-date/src/Field', $vendorDir . '/kirki-framework/control-dimension/src/Field', $vendorDir . '/kirki-framework/control-editor/src/Field', $vendorDir . '/kirki-framework/control-generic/src/Field', $vendorDir . '/kirki-framework/control-image/src/Field', $vendorDir . '/kirki-framework/control-multicheck/src/Field', $vendorDir . '/kirki-framework/control-palette/src/Field', $vendorDir . '/kirki-framework/control-radio/src/Field', $vendorDir . '/kirki-framework/control-react-colorful/src/Field', $vendorDir . '/kirki-framework/control-react-select/src/Field', $vendorDir . '/kirki-framework/control-repeater/src/Field', $vendorDir . '/kirki-framework/control-select/src/Field', $vendorDir . '/kirki-framework/control-slider/src/Field', $vendorDir . '/kirki-framework/control-sortable/src/Field', $vendorDir . '/kirki-framework/control-upload/src/Field', $vendorDir . '/kirki-framework/field-background/src', $vendorDir . '/kirki-framework/field-dimensions/src', $vendorDir . '/kirki-framework/field-fontawesome/src/Field', $vendorDir . '/kirki-framework/field-multicolor/src/Field', $vendorDir . '/kirki-framework/field-typography/src/Field'), + 'Kirki\\Data\\' => array($vendorDir . '/kirki-framework/data-option/src'), + 'Kirki\\Control\\' => array($vendorDir . '/kirki-framework/control-base/src/Control', $vendorDir . '/kirki-framework/control-checkbox/src/Control', $vendorDir . '/kirki-framework/control-code/src/Control', $vendorDir . '/kirki-framework/control-color/src/Control', $vendorDir . '/kirki-framework/control-color-palette/src/Control', $vendorDir . '/kirki-framework/control-cropped-image/src', $vendorDir . '/kirki-framework/control-custom/src/Control', $vendorDir . '/kirki-framework/control-dashicons/src/Control', $vendorDir . '/kirki-framework/control-date/src/Control', $vendorDir . '/kirki-framework/control-dimension/src/Control', $vendorDir . '/kirki-framework/control-editor/src/Control', $vendorDir . '/kirki-framework/control-generic/src/Control', $vendorDir . '/kirki-framework/control-image/src/Control', $vendorDir . '/kirki-framework/control-multicheck/src/Control', $vendorDir . '/kirki-framework/control-palette/src/Control', $vendorDir . '/kirki-framework/control-radio/src/Control', $vendorDir . '/kirki-framework/control-react-colorful/src/Control', $vendorDir . '/kirki-framework/control-react-select/src/Control', $vendorDir . '/kirki-framework/control-repeater/src/Control', $vendorDir . '/kirki-framework/control-select/src/Control', $vendorDir . '/kirki-framework/control-slider/src/Control', $vendorDir . '/kirki-framework/control-sortable/src/Control', $vendorDir . '/kirki-framework/control-upload/src/Control', $vendorDir . '/kirki-framework/field-multicolor/src/Control', $vendorDir . '/kirki-framework/field-typography/src/Control'), + 'Kirki\\Compatibility\\' => array($vendorDir . '/kirki-framework/compatibility/src'), + 'Kirki\\' => array($vendorDir . '/kirki-framework/field/src', $vendorDir . '/kirki-framework/googlefonts/src', $vendorDir . '/kirki-framework/l10n/src', $vendorDir . '/kirki-framework/module-panels/src', $vendorDir . '/kirki-framework/module-sections/src', $vendorDir . '/kirki-framework/url-getter/src'), + 'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array($vendorDir . '/dealerdirect/phpcodesniffer-composer-installer/src'), + 'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'), +); diff --git a/functions/kirki/packages/composer/autoload_real.php b/functions/kirki/packages/composer/autoload_real.php new file mode 100644 index 0000000..400add2 --- /dev/null +++ b/functions/kirki/packages/composer/autoload_real.php @@ -0,0 +1,42 @@ +register(true); + + return $loader; + } +} diff --git a/functions/kirki/packages/composer/autoload_static.php b/functions/kirki/packages/composer/autoload_static.php new file mode 100644 index 0000000..6486b9f --- /dev/null +++ b/functions/kirki/packages/composer/autoload_static.php @@ -0,0 +1,150 @@ + + array ( + 'Kirki\\Util\\' => 11, + 'Kirki\\Settings\\' => 15, + 'Kirki\\Module\\' => 13, + 'Kirki\\Field\\' => 12, + 'Kirki\\Data\\' => 11, + 'Kirki\\Control\\' => 14, + 'Kirki\\Compatibility\\' => 20, + 'Kirki\\' => 6, + ), + 'D' => + array ( + 'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => 55, + ), + 'C' => + array ( + 'Composer\\Installers\\' => 20, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Kirki\\Util\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/control-dashicons/src/Util', + 1 => __DIR__ . '/..' . '/kirki-framework/util/src', + ), + 'Kirki\\Settings\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/control-repeater/src/Settings', + ), + 'Kirki\\Module\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/module-css/src', + 1 => __DIR__ . '/..' . '/kirki-framework/module-editor-styles/src', + 2 => __DIR__ . '/..' . '/kirki-framework/module-field-dependencies/src', + 3 => __DIR__ . '/..' . '/kirki-framework/module-postmessage/src', + 4 => __DIR__ . '/..' . '/kirki-framework/module-preset/src', + 5 => __DIR__ . '/..' . '/kirki-framework/module-section-icons/src', + 6 => __DIR__ . '/..' . '/kirki-framework/module-selective-refresh/src', + 7 => __DIR__ . '/..' . '/kirki-framework/module-tooltips/src', + 8 => __DIR__ . '/..' . '/kirki-framework/module-webfonts/src', + ), + 'Kirki\\Field\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/control-checkbox/src/Field', + 1 => __DIR__ . '/..' . '/kirki-framework/control-code/src/Field', + 2 => __DIR__ . '/..' . '/kirki-framework/control-color/src/Field', + 3 => __DIR__ . '/..' . '/kirki-framework/control-color-palette/src/Field', + 4 => __DIR__ . '/..' . '/kirki-framework/control-custom/src/Field', + 5 => __DIR__ . '/..' . '/kirki-framework/control-dashicons/src/Field', + 6 => __DIR__ . '/..' . '/kirki-framework/control-date/src/Field', + 7 => __DIR__ . '/..' . '/kirki-framework/control-dimension/src/Field', + 8 => __DIR__ . '/..' . '/kirki-framework/control-editor/src/Field', + 9 => __DIR__ . '/..' . '/kirki-framework/control-generic/src/Field', + 10 => __DIR__ . '/..' . '/kirki-framework/control-image/src/Field', + 11 => __DIR__ . '/..' . '/kirki-framework/control-multicheck/src/Field', + 12 => __DIR__ . '/..' . '/kirki-framework/control-palette/src/Field', + 13 => __DIR__ . '/..' . '/kirki-framework/control-radio/src/Field', + 14 => __DIR__ . '/..' . '/kirki-framework/control-react-colorful/src/Field', + 15 => __DIR__ . '/..' . '/kirki-framework/control-react-select/src/Field', + 16 => __DIR__ . '/..' . '/kirki-framework/control-repeater/src/Field', + 17 => __DIR__ . '/..' . '/kirki-framework/control-select/src/Field', + 18 => __DIR__ . '/..' . '/kirki-framework/control-slider/src/Field', + 19 => __DIR__ . '/..' . '/kirki-framework/control-sortable/src/Field', + 20 => __DIR__ . '/..' . '/kirki-framework/control-upload/src/Field', + 21 => __DIR__ . '/..' . '/kirki-framework/field-background/src', + 22 => __DIR__ . '/..' . '/kirki-framework/field-dimensions/src', + 23 => __DIR__ . '/..' . '/kirki-framework/field-fontawesome/src/Field', + 24 => __DIR__ . '/..' . '/kirki-framework/field-multicolor/src/Field', + 25 => __DIR__ . '/..' . '/kirki-framework/field-typography/src/Field', + ), + 'Kirki\\Data\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/data-option/src', + ), + 'Kirki\\Control\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/control-base/src/Control', + 1 => __DIR__ . '/..' . '/kirki-framework/control-checkbox/src/Control', + 2 => __DIR__ . '/..' . '/kirki-framework/control-code/src/Control', + 3 => __DIR__ . '/..' . '/kirki-framework/control-color/src/Control', + 4 => __DIR__ . '/..' . '/kirki-framework/control-color-palette/src/Control', + 5 => __DIR__ . '/..' . '/kirki-framework/control-cropped-image/src', + 6 => __DIR__ . '/..' . '/kirki-framework/control-custom/src/Control', + 7 => __DIR__ . '/..' . '/kirki-framework/control-dashicons/src/Control', + 8 => __DIR__ . '/..' . '/kirki-framework/control-date/src/Control', + 9 => __DIR__ . '/..' . '/kirki-framework/control-dimension/src/Control', + 10 => __DIR__ . '/..' . '/kirki-framework/control-editor/src/Control', + 11 => __DIR__ . '/..' . '/kirki-framework/control-generic/src/Control', + 12 => __DIR__ . '/..' . '/kirki-framework/control-image/src/Control', + 13 => __DIR__ . '/..' . '/kirki-framework/control-multicheck/src/Control', + 14 => __DIR__ . '/..' . '/kirki-framework/control-palette/src/Control', + 15 => __DIR__ . '/..' . '/kirki-framework/control-radio/src/Control', + 16 => __DIR__ . '/..' . '/kirki-framework/control-react-colorful/src/Control', + 17 => __DIR__ . '/..' . '/kirki-framework/control-react-select/src/Control', + 18 => __DIR__ . '/..' . '/kirki-framework/control-repeater/src/Control', + 19 => __DIR__ . '/..' . '/kirki-framework/control-select/src/Control', + 20 => __DIR__ . '/..' . '/kirki-framework/control-slider/src/Control', + 21 => __DIR__ . '/..' . '/kirki-framework/control-sortable/src/Control', + 22 => __DIR__ . '/..' . '/kirki-framework/control-upload/src/Control', + 23 => __DIR__ . '/..' . '/kirki-framework/field-multicolor/src/Control', + 24 => __DIR__ . '/..' . '/kirki-framework/field-typography/src/Control', + ), + 'Kirki\\Compatibility\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/compatibility/src', + ), + 'Kirki\\' => + array ( + 0 => __DIR__ . '/..' . '/kirki-framework/field/src', + 1 => __DIR__ . '/..' . '/kirki-framework/googlefonts/src', + 2 => __DIR__ . '/..' . '/kirki-framework/l10n/src', + 3 => __DIR__ . '/..' . '/kirki-framework/module-panels/src', + 4 => __DIR__ . '/..' . '/kirki-framework/module-sections/src', + 5 => __DIR__ . '/..' . '/kirki-framework/url-getter/src', + ), + 'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => + array ( + 0 => __DIR__ . '/..' . '/dealerdirect/phpcodesniffer-composer-installer/src', + ), + 'Composer\\Installers\\' => + array ( + 0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers', + ), + ); + + public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitc56aa391ac498061f8d648878e0e6144::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitc56aa391ac498061f8d648878e0e6144::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInitc56aa391ac498061f8d648878e0e6144::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/functions/kirki/packages/composer/include_paths.php b/functions/kirki/packages/composer/include_paths.php new file mode 100644 index 0000000..d9dee2b --- /dev/null +++ b/functions/kirki/packages/composer/include_paths.php @@ -0,0 +1,11 @@ + array( + 'pretty_version' => '4.0.24', + 'version' => '4.0.24.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => NULL, + 'name' => 'kirki-framework/kirki', + 'dev' => true, + ), + 'versions' => array( + 'composer/installers' => array( + 'pretty_version' => 'v2.1.1', + 'version' => '2.1.1.0', + 'type' => 'composer-plugin', + 'install_path' => __DIR__ . '/./installers', + 'aliases' => array(), + 'reference' => 'af93ba6e52236418f07a278033eba6959ee5b983', + 'dev_requirement' => true, + ), + 'dealerdirect/phpcodesniffer-composer-installer' => array( + 'pretty_version' => 'v0.7.2', + 'version' => '0.7.2.0', + 'type' => 'composer-plugin', + 'install_path' => __DIR__ . '/../dealerdirect/phpcodesniffer-composer-installer', + 'aliases' => array(), + 'reference' => '1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db', + 'dev_requirement' => true, + ), + 'kirki-framework/compatibility' => array( + 'pretty_version' => 'v1.0.11', + 'version' => '1.0.11.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/compatibility', + 'aliases' => array(), + 'reference' => '551fdc67b39e7345fc49a785b2cdd0c2a9f0bc3e', + 'dev_requirement' => false, + ), + 'kirki-framework/control-base' => array( + 'pretty_version' => 'v1.0.4', + 'version' => '1.0.4.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-base', + 'aliases' => array(), + 'reference' => '0abf9e81f21e5256be879240cca98778e99851eb', + 'dev_requirement' => false, + ), + 'kirki-framework/control-checkbox' => array( + 'pretty_version' => 'v1.0.6', + 'version' => '1.0.6.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-checkbox', + 'aliases' => array(), + 'reference' => '1f581fd75cf9cae20788decbe56d5ef48d3b7bf8', + 'dev_requirement' => false, + ), + 'kirki-framework/control-code' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-code', + 'aliases' => array(), + 'reference' => '88e7b01127fc7039e2c1fc6761184b0332f9a0c3', + 'dev_requirement' => false, + ), + 'kirki-framework/control-color' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-color', + 'aliases' => array(), + 'reference' => '5820fa89e0e8dc69dd4864575074552434193e11', + 'dev_requirement' => false, + ), + 'kirki-framework/control-color-palette' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-color-palette', + 'aliases' => array(), + 'reference' => '32715837449e9a6666253b28b538bd69d6718c67', + 'dev_requirement' => false, + ), + 'kirki-framework/control-cropped-image' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-cropped-image', + 'aliases' => array(), + 'reference' => '549e7ddfe1a9fe2305fe6c1bc6cc80489d647452', + 'dev_requirement' => false, + ), + 'kirki-framework/control-custom' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-custom', + 'aliases' => array(), + 'reference' => '103f4f813f1919c23ec41e81c81cfbf83ab0e78f', + 'dev_requirement' => false, + ), + 'kirki-framework/control-dashicons' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-dashicons', + 'aliases' => array(), + 'reference' => '90210466bd4a53b6ab4468330064eabeaf242fd9', + 'dev_requirement' => false, + ), + 'kirki-framework/control-date' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-date', + 'aliases' => array(), + 'reference' => '71e7fb60b5789d77579b12b202e5487cd2bd5dc2', + 'dev_requirement' => false, + ), + 'kirki-framework/control-dimension' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-dimension', + 'aliases' => array(), + 'reference' => '7a64c587fd57fb5bdbeceb393b621457c4d9f515', + 'dev_requirement' => false, + ), + 'kirki-framework/control-editor' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-editor', + 'aliases' => array(), + 'reference' => '5e27c3cc7b10eb317321790a5d8ddf57304cf2a2', + 'dev_requirement' => false, + ), + 'kirki-framework/control-generic' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-generic', + 'aliases' => array(), + 'reference' => '5f87bb740ba92717b6b10b862e571919003906c4', + 'dev_requirement' => false, + ), + 'kirki-framework/control-image' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-image', + 'aliases' => array(), + 'reference' => '32e2a2aff8a7e5d6ff9dfe530563a4381dc82e61', + 'dev_requirement' => false, + ), + 'kirki-framework/control-multicheck' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-multicheck', + 'aliases' => array(), + 'reference' => '90098008c1988e7cd2b84c75ece68bbcd3bbeb70', + 'dev_requirement' => false, + ), + 'kirki-framework/control-palette' => array( + 'pretty_version' => 'v0.1.1', + 'version' => '0.1.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-palette', + 'aliases' => array(), + 'reference' => 'aca16701c2aaddab0cef3e429cdb753845e03ae0', + 'dev_requirement' => false, + ), + 'kirki-framework/control-radio' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-radio', + 'aliases' => array(), + 'reference' => '1e47f185f8d95005c83e0ffbf3ff09faecea8eac', + 'dev_requirement' => false, + ), + 'kirki-framework/control-react-colorful' => array( + 'pretty_version' => 'v1.0.17', + 'version' => '1.0.17.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-react-colorful', + 'aliases' => array(), + 'reference' => '79258cdbcdd4ee8582560edc4a09c8ba45eaf219', + 'dev_requirement' => false, + ), + 'kirki-framework/control-react-select' => array( + 'pretty_version' => 'v1.1.5', + 'version' => '1.1.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-react-select', + 'aliases' => array(), + 'reference' => '4c156e42a36f74ff5b9b1e2797b1742845de9e47', + 'dev_requirement' => false, + ), + 'kirki-framework/control-repeater' => array( + 'pretty_version' => '1.0.5', + 'version' => '1.0.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-repeater', + 'aliases' => array(), + 'reference' => '5375e65054b7a73da4e735fa7bee831c7f6c1cfc', + 'dev_requirement' => false, + ), + 'kirki-framework/control-select' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-select', + 'aliases' => array(), + 'reference' => '01abe2cbce62b7a566c890697a32506b94910156', + 'dev_requirement' => false, + ), + 'kirki-framework/control-slider' => array( + 'pretty_version' => 'v1.0.5', + 'version' => '1.0.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-slider', + 'aliases' => array(), + 'reference' => '40ce473123f0cb12da745467d69210cff3ffecf5', + 'dev_requirement' => false, + ), + 'kirki-framework/control-sortable' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-sortable', + 'aliases' => array(), + 'reference' => 'ea4659bb2118c57ec6e24cd2ab06f36a3a528d26', + 'dev_requirement' => false, + ), + 'kirki-framework/control-upload' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/control-upload', + 'aliases' => array(), + 'reference' => '13ea09c9330c6eb1d4452d5948866f226b0f8a0f', + 'dev_requirement' => false, + ), + 'kirki-framework/data-option' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/data-option', + 'aliases' => array(), + 'reference' => '9a54f5c553e2f1e84f4ff620e271bfc16ee49ced', + 'dev_requirement' => false, + ), + 'kirki-framework/field' => array( + 'pretty_version' => 'v1.0.10', + 'version' => '1.0.10.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field', + 'aliases' => array(), + 'reference' => '97f5bf659cc68d46e2bce62489acf2d2142b36e7', + 'dev_requirement' => false, + ), + 'kirki-framework/field-background' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field-background', + 'aliases' => array(), + 'reference' => '875b5e42c3de8a77d0a15c7dd55c8467cbf18373', + 'dev_requirement' => false, + ), + 'kirki-framework/field-dimensions' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field-dimensions', + 'aliases' => array(), + 'reference' => 'ac147cc95fb706664953471ef8f14cfb04f197fc', + 'dev_requirement' => false, + ), + 'kirki-framework/field-fontawesome' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field-fontawesome', + 'aliases' => array(), + 'reference' => '64d8954039eef1ff03429cdd13c81e4e6b278321', + 'dev_requirement' => false, + ), + 'kirki-framework/field-multicolor' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field-multicolor', + 'aliases' => array(), + 'reference' => '3e0df3f5548fb89b38cb144bc87992936ed7b536', + 'dev_requirement' => false, + ), + 'kirki-framework/field-typography' => array( + 'pretty_version' => 'v1.0.6', + 'version' => '1.0.6.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/field-typography', + 'aliases' => array(), + 'reference' => '2d96fc2d65325ce8474d55e083db742cf437c0dd', + 'dev_requirement' => false, + ), + 'kirki-framework/googlefonts' => array( + 'pretty_version' => '1.0.4', + 'version' => '1.0.4.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/googlefonts', + 'aliases' => array(), + 'reference' => '3fa0b6b5aacda3213ca7ccedcba3e6906aecb409', + 'dev_requirement' => false, + ), + 'kirki-framework/kirki' => array( + 'pretty_version' => '4.0.24', + 'version' => '4.0.24.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => NULL, + 'dev_requirement' => false, + ), + 'kirki-framework/l10n' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/l10n', + 'aliases' => array(), + 'reference' => '5a40875434ca075a09c81952547e3ccc7eeef704', + 'dev_requirement' => false, + ), + 'kirki-framework/module-css' => array( + 'pretty_version' => 'v1.0.11', + 'version' => '1.0.11.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-css', + 'aliases' => array(), + 'reference' => 'b53cff693b489cc7e4991ef725a66ddafa8aa84b', + 'dev_requirement' => false, + ), + 'kirki-framework/module-editor-styles' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-editor-styles', + 'aliases' => array(), + 'reference' => 'a86f8b66fa0a442ce092c122b997c8d5f8d20951', + 'dev_requirement' => false, + ), + 'kirki-framework/module-field-dependencies' => array( + 'pretty_version' => 'v1.0.6', + 'version' => '1.0.6.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-field-dependencies', + 'aliases' => array(), + 'reference' => '5bf94bdce480d8405136cd5f0013ef42a775f167', + 'dev_requirement' => false, + ), + 'kirki-framework/module-panels' => array( + 'pretty_version' => 'v1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-panels', + 'aliases' => array(), + 'reference' => '1599dd344c15c49a837b5fdbddb1e37544bef979', + 'dev_requirement' => false, + ), + 'kirki-framework/module-postmessage' => array( + 'pretty_version' => '1.0.7', + 'version' => '1.0.7.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-postmessage', + 'aliases' => array(), + 'reference' => '9b2b419027f3b95a2546041a83fc5607492f35a5', + 'dev_requirement' => false, + ), + 'kirki-framework/module-preset' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-preset', + 'aliases' => array(), + 'reference' => 'b4862fbeb9e441ed4ccd15f29a1d17d6f300f6a9', + 'dev_requirement' => false, + ), + 'kirki-framework/module-section-icons' => array( + 'pretty_version' => 'v0.1.0', + 'version' => '0.1.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-section-icons', + 'aliases' => array(), + 'reference' => '0e77b904692772974e5e291143f45056a5ab3665', + 'dev_requirement' => false, + ), + 'kirki-framework/module-sections' => array( + 'pretty_version' => 'v1.0.4', + 'version' => '1.0.4.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-sections', + 'aliases' => array(), + 'reference' => 'ee8c9120ddd7fe63e1ca39db93714b9b4e5d477c', + 'dev_requirement' => false, + ), + 'kirki-framework/module-selective-refresh' => array( + 'pretty_version' => 'v1.0.3', + 'version' => '1.0.3.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-selective-refresh', + 'aliases' => array(), + 'reference' => 'bfeb430cb7eff60f5ba79e0785cf413905202c42', + 'dev_requirement' => false, + ), + 'kirki-framework/module-tooltips' => array( + 'pretty_version' => 'v1.0.10', + 'version' => '1.0.10.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-tooltips', + 'aliases' => array(), + 'reference' => '5b4715bd236a4239356e408068bffc2f300f3cdf', + 'dev_requirement' => false, + ), + 'kirki-framework/module-webfonts' => array( + 'pretty_version' => 'v1.0.5', + 'version' => '1.0.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/module-webfonts', + 'aliases' => array(), + 'reference' => '6be8c298abc29bccc227e1b1dbcb029e6a072659', + 'dev_requirement' => false, + ), + 'kirki-framework/url-getter' => array( + 'pretty_version' => 'v1.0.5', + 'version' => '1.0.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/url-getter', + 'aliases' => array(), + 'reference' => 'cfe7ea5b51c5e9b5e7d706ed56694f54a972fae2', + 'dev_requirement' => false, + ), + 'kirki-framework/util' => array( + 'pretty_version' => 'v1.0.2', + 'version' => '1.0.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../kirki-framework/util', + 'aliases' => array(), + 'reference' => 'fa3deaafe48055b56aedf80501817e3d9e83211c', + 'dev_requirement' => false, + ), + 'phpcompatibility/php-compatibility' => array( + 'pretty_version' => '9.3.5', + 'version' => '9.3.5.0', + 'type' => 'phpcodesniffer-standard', + 'install_path' => __DIR__ . '/../phpcompatibility/php-compatibility', + 'aliases' => array(), + 'reference' => '9fb324479acf6f39452e0655d2429cc0d3914243', + 'dev_requirement' => true, + ), + 'phpcompatibility/phpcompatibility-paragonie' => array( + 'pretty_version' => '1.3.1', + 'version' => '1.3.1.0', + 'type' => 'phpcodesniffer-standard', + 'install_path' => __DIR__ . '/../phpcompatibility/phpcompatibility-paragonie', + 'aliases' => array(), + 'reference' => 'ddabec839cc003651f2ce695c938686d1086cf43', + 'dev_requirement' => true, + ), + 'phpcompatibility/phpcompatibility-wp' => array( + 'pretty_version' => '2.1.3', + 'version' => '2.1.3.0', + 'type' => 'phpcodesniffer-standard', + 'install_path' => __DIR__ . '/../phpcompatibility/phpcompatibility-wp', + 'aliases' => array(), + 'reference' => 'd55de55f88697b9cdb94bccf04f14eb3b11cf308', + 'dev_requirement' => true, + ), + 'squizlabs/php_codesniffer' => array( + 'pretty_version' => '3.6.2', + 'version' => '3.6.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../squizlabs/php_codesniffer', + 'aliases' => array(), + 'reference' => '5e4e71592f69da17871dba6e80dd51bce74a351a', + 'dev_requirement' => true, + ), + 'wp-coding-standards/wpcs' => array( + 'pretty_version' => '2.3.0', + 'version' => '2.3.0.0', + 'type' => 'phpcodesniffer-standard', + 'install_path' => __DIR__ . '/../wp-coding-standards/wpcs', + 'aliases' => array(), + 'reference' => '7da1894633f168fe244afc6de00d141f27517b62', + 'dev_requirement' => true, + ), + 'wptrt/wpthemereview' => array( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'type' => 'phpcodesniffer-standard', + 'install_path' => __DIR__ . '/../wptrt/wpthemereview', + 'aliases' => array( + 0 => '9999999-dev', + ), + 'reference' => '15684d0852fe90d807c2ae7746dea1302b74b4bd', + 'dev_requirement' => true, + ), + ), +); diff --git a/functions/kirki/packages/composer/platform_check.php b/functions/kirki/packages/composer/platform_check.php new file mode 100644 index 0000000..f79e574 --- /dev/null +++ b/functions/kirki/packages/composer/platform_check.php @@ -0,0 +1,26 @@ += 70000)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 7.0.0". You are running ' . PHP_VERSION . '.'; +} + +if ($issues) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); + } elseif (!headers_sent()) { + echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; + } + } + trigger_error( + 'Composer detected issues in your platform: ' . implode(' ', $issues), + E_USER_ERROR + ); +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/LICENSE b/functions/kirki/packages/kirki-framework/compatibility/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Aliases.php b/functions/kirki/packages/kirki-framework/compatibility/src/Aliases.php new file mode 100644 index 0000000..e92fcab --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Aliases.php @@ -0,0 +1,184 @@ + [ + [ 'Kirki\Compatibility\Kirki', 'Kirki' ], + [ 'Kirki\Compatibility\Config', 'Kirki_Config' ], + [ 'Kirki\Compatibility\Control', 'Kirki_Control' ], + [ 'Kirki\Compatibility\Field', 'Kirki_Field' ], + [ 'Kirki\Util\Helper', 'Kirki_Helper' ], + [ 'Kirki\Compatibility\Init', 'Kirki_Init' ], + [ 'Kirki\L10n', 'Kirki_L10n' ], + [ 'Kirki\Compatibility\Modules', 'Kirki_Modules' ], + [ 'Kirki\Compatibility\Sanitize_Values', 'Kirki_Sanitize_Values' ], + [ 'Kirki\Compatibility\Section', 'Kirki_Section' ], + [ 'Kirki\Compatibility\Values', 'Kirki_Values' ], + [ 'Kirki\Util\Util', 'Kirki_Util' ], + [ 'Kirki\Compatibility\Framework', 'Kirki_Toolkit' ], + [ 'Kirki\Module\CSS', 'Kirki_Modules_CSS' ], + [ 'Kirki\Module\CSS\Output', 'Kirki_Output' ], + [ 'Kirki\Module\CSS\Generator', 'Kirki_Modules_CSS_Generator' ], + [ 'Kirki\Module\CSS\Property', 'Kirki_Output_Property' ], + [ 'Kirki\Module\CSS\Property\Font_Family', 'Kirki_Output_Property_Font_Family' ], + [ 'Kirki\Module\Preset', 'Kirki_Modules_Preset' ], + [ 'Kirki\Module\Tooltips', 'Kirki_Modules_Tooltips' ], + [ 'Kirki\Module\Webfonts', 'Kirki_Modules_Webfonts' ], + [ 'Kirki\Module\Webfonts\Google', 'Kirki_Fonts_Google' ], + [ 'Kirki\Module\Webfonts\Fonts', 'Kirki_Fonts' ], + [ 'Kirki\Module\Webfonts\Embed', 'Kirki_Modules_Webfonts_Embed' ], + [ 'Kirki\Module\Webfonts\Async', 'Kirki_Modules_Webfonts_Async' ], + [ 'Kirki\Module\Field_Dependencies', 'Kirki_Modules_Field_Dependencies' ], + [ 'Kirki\Module\Editor_Styles', 'Kirki_Modules_Gutenberg' ], + [ 'Kirki\Module\Selective_Refresh', 'Kirki_Modules_Selective_Refresh' ], + [ 'Kirki\Module\Postmessage', 'Kirki_Modules_Postmessage' ], + [ 'Kirki\Field\Background', 'Kirki_Field_Background' ], + [ 'Kirki\Field\CSS\Background', 'Kirki_Output_Field_Background' ], + [ 'Kirki\Field\Checkbox', 'Kirki_Field_Checkbox' ], + [ 'Kirki\Field\Checkbox_Switch', 'Kirki_Field_Switch' ], + [ 'Kirki\Field\Checkbox_Switch', 'Kirki\Field\Switch' ], // Preventing typo. + [ 'Kirki\Field\Checkbox_Toggle', 'Kirki_Field_Toggle' ], + [ 'Kirki\Field\Checkbox_Toggle', 'Kirki\Field\Toggle' ], // Preventing typo. + [ 'Kirki\Field\Code', 'Kirki_Field_Code' ], + [ 'Kirki\Field\Color', 'Kirki_Field_Color' ], + [ 'Kirki\Field\Color', 'Kirki_Field_Color_Alpha' ], + [ 'Kirki\Field\Color_Palette', 'Kirki_Field_Color_Palette' ], + [ 'Kirki\Field\Custom', 'Kirki_Field_Custom' ], + [ 'Kirki\Field\Dashicons', 'Kirki_Field_Dashicons' ], + [ 'Kirki\Field\Date', 'Kirki_Field_Date' ], + [ 'Kirki\Field\Dimension', 'Kirki_Field_Dimension' ], + [ 'Kirki\Field\Dimensions', 'Kirki_Field_Dimensions' ], + [ 'Kirki\Field\CSS\Dimensions', 'Kirki_Output_Field_Dimensions' ], + [ 'Kirki\Field\Dimensions', 'Kirki_Field_Spacing' ], + [ 'Kirki\Field\Dimensions', 'Kirki\Field\Spacing' ], + [ 'Kirki\Field\Editor', 'Kirki_Field_Editor' ], + [ 'Kirki\Field\FontAwesome', 'Kirki_Field_FontAwesome' ], + [ 'Kirki\Field\Generic', 'Kirki_Field_Kirki_Generic' ], + [ 'Kirki\Field\Generic', 'Kirki_Field_Generic' ], + [ 'Kirki\Field\Text', 'Kirki_Field_Text' ], + [ 'Kirki\Field\Textarea', 'Kirki_Field_Textarea' ], + [ 'Kirki\Field\URL', 'Kirki_Field_URL' ], + [ 'Kirki\Field\URL', 'Kirki_Field_Link' ], + [ 'Kirki\Field\URL', 'Kirki\Field\Link' ], + [ 'Kirki\Field\Image', 'Kirki_Field_Image' ], + [ 'Kirki\Field\CSS\Image', 'Kirki_Output_Field_Image' ], + [ 'Kirki\Field\Multicheck', 'Kirki_Field_Multicheck' ], + [ 'Kirki\Field\Multicolor', 'Kirki_Field_Multicolor' ], + [ 'Kirki\Field\CSS\Multicolor', 'Kirki_Output_Field_Multicolor' ], + [ 'Kirki\Field\Number', 'Kirki_Field_Number' ], + [ 'Kirki\Field\Palette', 'Kirki_Field_Palette' ], + [ 'Kirki\Field\Repeater', 'Kirki_Field_Repeater' ], + [ 'Kirki\Field\Dropdown_Pages', 'Kirki_Field_Dropdown_Pages' ], + [ 'Kirki\Field\Preset', 'Kirki_Field_Preset' ], + [ 'Kirki\Field\Select', 'Kirki_Field_Select' ], + [ 'Kirki\Field\Slider', 'Kirki_Field_Slider' ], + [ 'Kirki\Field\Sortable', 'Kirki_Field_Sortable' ], + [ 'Kirki\Field\Typography', 'Kirki_Field_Typography' ], + [ 'Kirki\Field\CSS\Typography', 'Kirki_Output_Field_Typography' ], + [ 'Kirki\Field\Upload', 'Kirki_Field_Upload' ], + ], + 'customizer' => [ + [ 'Kirki\Control\Base', 'Kirki_Control_Base' ], + [ 'Kirki\Control\Base', 'Kirki_Customize_Control' ], + [ 'Kirki\Control\Checkbox', 'Kirki_Control_Checkbox' ], + [ 'Kirki\Control\Checkbox_Switch', 'Kirki_Control_Switch' ], + [ 'Kirki\Control\Checkbox_Toggle', 'Kirki_Control_Toggle' ], + [ 'WP_Customize_Code_Editor_Control', 'Kirki_Control_Code' ], + [ 'Kirki\Control\Color', 'Kirki_Control_Color' ], + [ 'Kirki\Control\Color_Palette', 'Kirki_Control_Color_Palette' ], + [ 'WP_Customize_Cropped_Image_Control', 'Kirki_Control_Cropped_Image' ], + [ 'Kirki\Control\Custom', 'Kirki_Control_Custom' ], + [ 'Kirki\Control\Dashicons', 'Kirki_Control_Dashicons' ], + [ 'Kirki\Control\Date', 'Kirki_Control_Date' ], + [ 'Kirki\Control\Dimension', 'Kirki_Control_Dimension' ], + [ 'Kirki\Control\Editor', 'Kirki_Control_Editor' ], + [ 'Kirki\Control\Generic', 'Kirki_Control_Generic' ], + [ 'Kirki\Control\Image', 'Kirki_Control_Image' ], + [ 'Kirki\Control\Multicheck', 'Kirki_Control_Multicheck' ], + [ 'Kirki\Control\Generic', 'Kirki_Control_Number' ], + [ 'Kirki\Control\Palette', 'Kirki_Control_Palette' ], + [ 'Kirki\Control\Radio', 'Kirki_Control_Radio' ], + [ 'Kirki\Control\Radio_Buttonset', 'Kirki_Control_Radio_Buttonset' ], + [ 'Kirki\Control\Radio_Image', 'Kirki_Control_Radio_Image' ], + [ 'Kirki\Control\Radio_Image', 'Kirki_Controls_Radio_Image_Control' ], + [ 'Kirki\Control\Repeater', 'Kirki_Control_Repeater' ], + [ 'Kirki\Control\Select', 'Kirki_Control_Select' ], + [ 'Kirki\Control\Slider', 'Kirki_Control_Slider' ], + [ 'Kirki\Control\Sortable', 'Kirki_Control_Sortable' ], + [ 'Kirki\Control\Upload', 'Kirki_Control_Upload' ], + [ 'Kirki\Settings\Repeater', 'Kirki\Settings\Repeater_Setting' ], + [ 'Kirki\Settings\Repeater', 'Kirki_Settings_Repeater_Setting' ], + [ 'WP_Customize_Section', 'Kirki_Sections_Default_Section' ], + [ 'Kirki\Section_Types\Expanded', 'Kirki_Sections_Expanded_Section' ], + [ 'Kirki\Section_Types\Nested', 'Kirki_Sections_Nested_Section' ], + [ 'Kirki\Section_Types\Link', 'Kirki_Sections_Link_Section' ], + [ 'Kirki\Panel_Types\Nested', 'Kirki_Panels_Nested_Panel' ], + ], + ]; + + /** + * Constructor. + * + * @access public + * @since 0.1 + */ + public function __construct() { + $this->add_aliases(); + add_action( 'customize_register', [ $this, 'add_customizer_aliases' ] ); + } + + /** + * Adds object aliases. + * + * @access public + * @since 0.1 + * @return void + */ + public function add_aliases() { + foreach ( $this->aliases['generic'] as $item ) { + if ( class_exists( $item[0] ) ) { + class_alias( $item[0], $item[1] ); + } + } + } + + /** + * Adds object aliases for classes that get instantiated on customize_register. + * + * @access public + * @since 0.1 + * @return void + */ + public function add_customizer_aliases() { + foreach ( $this->aliases['customizer'] as $item ) { + if ( class_exists( $item[0] ) ) { + class_alias( $item[0], $item[1] ); + } + } + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Config.php b/functions/kirki/packages/kirki-framework/compatibility/src/Config.php new file mode 100644 index 0000000..20db79e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Config.php @@ -0,0 +1,179 @@ + $value ) { + // Is this property whitelisted? + if ( property_exists( $this, $key ) ) { + $args[ $key ] = $value; + } + } + $this->id = $config_id; + + $this->config_final = wp_parse_args( + [ + 'id' => $config_id, + ], + $args + ); + } + + /** + * Use this method to get an instance of your config. + * Each config has its own instance of this object. + * + * @static + * @access public + * @param string $id Config ID. + * @param array $args { + * Optional. Arguments to override config defaults. + * + * @type string $capability @see https://codex.wordpress.org/Roles_and_Capabilities + * @type string $option_type theme_mod or option. + * @type string $option_name If we want to used serialized options, + * this is where we'll be adding the option name. + * All fields using this config will be items in that array. + * @type array $compiler Not yet fully implemented + * @type bool $disable_output If set to true, no CSS will be generated + * from fields using this configuration. + * } + * + * @return Kirki\Compatibility\Config + */ + public static function get_instance( $id = 'global', $args = [] ) { + if ( empty( $id ) ) { + $id = 'global'; + } + $id_md5 = md5( $id ); + if ( ! isset( self::$instances[ $id_md5 ] ) ) { + self::$instances[ $id_md5 ] = new self( $id, $args ); + } + return self::$instances[ $id_md5 ]; + } + + /** + * Get the IDs of all current configs. + * + * @static + * @access public + * @since 3.0.22 + * @return array + */ + public static function get_config_ids() { + $configs = []; + foreach ( self::$instances as $instance ) { + $configs[] = $instance->id; + } + return array_unique( $configs ); + } + + /** + * Returns the $config_final property + * + * @access public + * @return array + */ + public function get_config() { + return $this->config_final; + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Control.php b/functions/kirki/packages/kirki-framework/compatibility/src/Control.php new file mode 100644 index 0000000..1d0e5ca --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Control.php @@ -0,0 +1,129 @@ +wp_customize = $wp_customize; + + // Set the control types. + $this->set_control_types(); + + // Add the control. + $this->add_control( $args ); + + } + + /** + * Get the class name of the class needed to create tis control. + * + * @access private + * @param array $args The field definition as sanitized in Kirki\Field. + * + * @return string the name of the class that will be used to create this control. + */ + final function get_control_class_name( $args ) { + + // Set a default class name. + $class_name = 'WP_Customize_Control'; + + // Get the classname from the array of control classnames. + if ( array_key_exists( $args['type'], self::$control_types ) ) { + $class_name = self::$control_types[ $args['type'] ]; + } + return $class_name; + } + + /** + * Adds the control. + * + * @access protected + * @param array $args The field definition as sanitized in Kirki\Field. + */ + final protected function add_control( $args ) { + + // Get the name of the class we're going to use. + $class_name = $this->get_control_class_name( $args ); + + /** + * Allow filtering the arguments. + * + * @since 0.1 + * @param array $args The arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array Return the arguments. + */ + $args = apply_filters( 'kirki_field_add_control_args', $args, $this->wp_customize ); + + // Add the control. + $this->wp_customize->add_control( new $class_name( $this->wp_customize, $args['settings'], $args ) ); + + } + + /** + * Sets the $control_types property. + * Makes sure the kirki_control_types filter is applied + * and that the defined classes actually exist. + * If a defined class does not exist, it is removed. + * + * @access private + */ + final function set_control_types() { + + // Early exit if this has already run. + if ( ! empty( self::$control_types ) ) { + return; + } + + self::$control_types = apply_filters( 'kirki_control_types', [] ); + + // Make sure the defined classes actually exist. + foreach ( self::$control_types as $key => $classname ) { + if ( ! class_exists( $classname ) ) { + unset( self::$control_types[ $key ] ); + } + } + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Deprecated.php b/functions/kirki/packages/kirki-framework/compatibility/src/Deprecated.php new file mode 100644 index 0000000..2b3a374 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Deprecated.php @@ -0,0 +1,32 @@ + 'auto' + * and have already set an array for the 'output' argument. + * + * @see https://kirki.org/docs/arguments/js_vars + * @access protected + * @var array + */ + protected $js_vars = []; + + /** + * If you want to use a CSS compiler, then use this to set the variable names. + * + * @see https://kirki.org/docs/arguments/variables + * @access protected + * @var array + */ + protected $variables = []; + + /** + * Text that will be used in a tooltip to provide extra info for this field. + * + * @access protected + * @var string + */ + protected $tooltip = ''; + + /** + * A custom callback to determine if the field should be visible or not. + * + * @access protected + * @var string|array + */ + protected $active_callback = '__return_true'; + + /** + * A custom sanitize callback that will be used to properly save the values. + * + * @access protected + * @var string|array + */ + protected $sanitize_callback = ''; + + /** + * Use 'refresh', 'postMessage' or 'auto'. + * 'auto' will automatically geberate any 'js_vars' from the 'output' argument. + * + * @access protected + * @var string + */ + protected $transport = 'refresh'; + + /** + * Define dependencies to show/hide this field based on the values of other fields. + * + * @access protected + * @var array + */ + protected $required = []; + + /** + * Partial Refreshes array. + * + * @access protected + * @var array + */ + protected $partial_refresh = []; + + /** + * The class constructor. + * Parses and sanitizes all field arguments. + * Then it adds the field to Kirki::$fields. + * + * @access public + * @param string $config_id The ID of the config we want to use. + * Defaults to "global". + * Configs are handled by the Kirki\Compatibility\Config class. + * @param array $args The arguments of the field. + */ + public function __construct( $config_id = 'global', $args = [] ) { + + /** + * In case the user only provides 1 argument, + * assume that the provided argument is $args and set $config_id = 'global'. + */ + if ( is_array( $config_id ) && empty( $args ) ) { + $args = $config_id; + $config_id = isset( $args['kirki_config'] ) ? $args['kirki_config'] : 'global'; + } + + if ( isset( $args['setting'] ) && ! empty( $args['setting'] ) && ( ! isset( $args['settings'] ) || empty( $args['settings'] ) ) ) { + /* translators: %s represents the field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( 'Typo found in field %s - setting instead of settings.', 'kirki' ), esc_html( $args['settings'] ) ), '3.0.10' ); + $args['settings'] = $args['setting']; + unset( $args['setting'] ); + } + + $args['kirki_config'] = $config_id; + + $this->kirki_config = $config_id; + + if ( '' === $config_id ) { + /* translators: %1$s represents the field ID where the error occurs. %2$s is the URL in the documentation site. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( 'Config not defined for field %1$s - See %2$s for details on how to properly add fields.', 'kirki' ), esc_html( $args['settings'] ), 'https://aristath.github.io/kirki/docs/getting-started/fields.html' ), '3.0.10' ); + $this->kirki_config = 'global'; + } + + // Get defaults from the class. + $defaults = get_class_vars( __CLASS__ ); + + // Get the config arguments, and merge them with the defaults. + $config_defaults = ( isset( Kirki::$config['global'] ) ) ? Kirki::$config['global'] : []; + + if ( 'global' !== $this->kirki_config && isset( Kirki::$config[ $this->kirki_config ] ) ) { + $config_defaults = Kirki::$config[ $this->kirki_config ]; + } + + $config_defaults = ( is_array( $config_defaults ) ) ? $config_defaults : []; + + foreach ( $config_defaults as $key => $value ) { + if ( isset( $defaults[ $key ] ) && ! empty( $value ) && $value !== $defaults[ $key ] ) { + $defaults[ $key ] = $value; + } + } + + // Merge our args with the defaults. + $args = wp_parse_args( $args, $defaults ); + + // Set the class properties using the parsed args. + foreach ( $args as $key => $value ) { + $this->$key = $value; + } + + $this->args = $args; + + $this->set_field(); + + // Instantiate the \Kirki\Field to apply hooks. + new \Kirki\Field\None( $this->args ); + + } + + /** + * Processes the field arguments + * + * @access protected + */ + protected function set_field() { + + $properties = get_class_vars( __CLASS__ ); + + // Some things must run before the others. + $this->set_option_type(); + $this->set_settings(); + + // Sanitize the properties, skipping the ones that have already run above. + foreach ( array_keys( $properties ) as $property ) { + if ( in_array( $property, [ 'option_name', 'option_type', 'settings' ], true ) ) { + continue; + } + if ( method_exists( $this, 'set_' . $property ) ) { + $method_name = 'set_' . $property; + $this->$method_name(); + } + } + + // Get all arguments with their values. + $args = get_object_vars( $this ); + + foreach ( array_keys( $args ) as $key ) { + $args[ $key ] = $this->$key; + } + + // Add the field to the static $fields variable properly indexed. + Kirki::$fields[ $this->settings ] = $args; + + } + + /** + * Escape the $section. + * + * @access protected + */ + protected function set_input_attrs() { + $this->input_attrs = (array) $this->input_attrs; + } + + /** + * Make sure we're using the correct option_type + * + * @access protected + */ + protected function set_option_type() { + + // Take care of common typos. + if ( 'options' === $this->option_type ) { + $this->option_type = 'option'; + } + + // Take care of common typos. + if ( 'theme_mods' === $this->option_type ) { + /* translators: %1$s represents the field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html( 'Typo found in field %s - "theme_mods" vs "theme_mod"', 'kirki' ), esc_html( $this->settings ) ), '3.0.10' ); + $this->option_type = 'theme_mod'; + } + } + + /** + * Modifications for partial refreshes. + * + * @access protected + */ + protected function set_partial_refresh() { + if ( ! is_array( $this->partial_refresh ) ) { + $this->partial_refresh = []; + } + foreach ( $this->partial_refresh as $id => $args ) { + if ( ! is_array( $args ) || ! isset( $args['selector'] ) || ! isset( $args['render_callback'] ) || ! is_callable( $args['render_callback'] ) ) { + /* translators: %1$s represents the field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( '"partial_refresh" invalid entry in field %s', 'kirki' ), esc_html( $this->settings ) ), '3.0.10' ); + unset( $this->partial_refresh[ $id ] ); + continue; + } + } + if ( ! empty( $this->partial_refresh ) ) { + $this->transport = 'postMessage'; + } + } + + /** + * Sets the settings. + * If we're using serialized options it makes sure that settings are properly formatted. + * We'll also be escaping all setting names here for consistency. + * + * @access protected + */ + protected function set_settings() { + + // If settings is not an array, temporarily convert it to an array. + // This is just to allow us to process everything the same way and avoid code duplication. + // if settings is not an array then it will not be set as an array in the end. + if ( ! is_array( $this->settings ) ) { + $this->settings = [ + 'kirki_placeholder_setting' => $this->settings, + ]; + } + $settings = []; + foreach ( $this->settings as $setting_key => $setting_value ) { + $settings[ $setting_key ] = $setting_value; + + // If we're using serialized options then we need to spice this up. + if ( 'option' === $this->option_type && '' !== $this->option_name && ( false === strpos( $setting_key, '[' ) ) ) { + $settings[ $setting_key ] = "{$this->option_name}[{$setting_value}]"; + } + } + $this->settings = $settings; + if ( isset( $this->settings['kirki_placeholder_setting'] ) ) { + $this->settings = $this->settings['kirki_placeholder_setting']; + } + } + + /** + * Sets the active_callback + * If we're using the $required argument, + * Then this is where the switch is made to our evaluation method. + * + * @access protected + */ + protected function set_active_callback() { + + if ( is_array( $this->active_callback ) ) { + + if ( ! is_callable( $this->active_callback ) ) { + + // Bugfix for https://github.com/aristath/kirki/issues/1961. + foreach ( $this->active_callback as $key => $val ) { + if ( is_callable( $val ) ) { + unset( $this->active_callback[ $key ] ); + } + } + if ( isset( $this->active_callback[0] ) ) { + $this->required = $this->active_callback; + } + } + } + + if ( ! empty( $this->required ) ) { + $this->active_callback = '__return_true'; + return; + } + // No need to proceed any further if we're using the default value. + if ( '__return_true' === $this->active_callback ) { + return; + } + + // Make sure the function is callable, otherwise fallback to __return_true. + if ( ! is_callable( $this->active_callback ) ) { + $this->active_callback = '__return_true'; + } + + } + + /** + * Sets the $id. + * Setting the ID should happen after the 'settings' sanitization. + * This way we can also properly handle cases where the option_type is set to 'option' + * and we're using an array instead of individual options. + * + * @access protected + */ + protected function set_id() { + $this->id = sanitize_key( str_replace( '[', '-', str_replace( ']', '', $this->settings ) ) ); + } + + /** + * Sets the $choices. + * + * @access protected + */ + protected function set_choices() { + if ( ! is_array( $this->choices ) ) { + $this->choices = []; + } + } + + /** + * Escapes the $disable_output. + * + * @access protected + */ + protected function set_disable_output() { + $this->disable_output = (bool) $this->disable_output; + } + + /** + * Sets the $sanitize_callback + * + * @access protected + */ + protected function set_output() { + if ( empty( $this->output ) ) { + return; + } + if ( ! is_array( $this->output ) ) { + /* translators: The field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( '"output" invalid format in field %s. The "output" argument should be defined as an array of arrays.', 'kirki' ), esc_html( $this->settings ) ), '3.0.10' ); + $this->output = [ + [ + 'element' => $this->output, + ], + ]; + } + + // Convert to array of arrays if needed. + if ( isset( $this->output['element'] ) ) { + /* translators: The field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( '"output" invalid format in field %s. The "output" argument should be defined as an array of arrays.', 'kirki' ), esc_html( $this->settings ) ), '3.0.10' ); + $this->output = [ $this->output ]; + } + + foreach ( $this->output as $key => $output ) { + if ( empty( $output ) || ! isset( $output['element'] ) ) { + unset( $this->output[ $key ] ); + continue; + } + if ( ! isset( $output['sanitize_callback'] ) && isset( $output['callback'] ) ) { + $this->output[ $key ]['sanitize_callback'] = $output['callback']; + } + + // Convert element arrays to strings. + if ( isset( $output['element'] ) && is_array( $output['element'] ) ) { + $this->output[ $key ]['element'] = array_unique( $this->output[ $key ]['element'] ); + sort( $this->output[ $key ]['element'] ); + + // Trim each element in the array. + foreach ( $this->output[ $key ]['element'] as $index => $element ) { + $this->output[ $key ]['element'][ $index ] = trim( $element ); + } + $this->output[ $key ]['element'] = implode( ',', $this->output[ $key ]['element'] ); + } + + // Fix for https://github.com/aristath/kirki/issues/1659#issuecomment-346229751. + $this->output[ $key ]['element'] = str_replace( [ "\t", "\n", "\r", "\0", "\x0B" ], ' ', $this->output[ $key ]['element'] ); + $this->output[ $key ]['element'] = trim( preg_replace( '/\s+/', ' ', $this->output[ $key ]['element'] ) ); + } + } + + /** + * Sets the $js_vars + * + * @access protected + */ + protected function set_js_vars() { + if ( ! is_array( $this->js_vars ) ) { + $this->js_vars = []; + } + + // Check if transport is set to auto. + // If not, then skip the auto-calculations and exit early. + if ( 'auto' !== $this->transport ) { + return; + } + + // Set transport to refresh initially. + // Serves as a fallback in case we failt to auto-calculate js_vars. + $this->transport = 'refresh'; + + $js_vars = []; + + // Try to auto-generate js_vars. + // First we need to check if js_vars are empty, and that output is not empty. + if ( empty( $this->js_vars ) && ! empty( $this->output ) ) { + + // Start going through each item in the $output array. + foreach ( $this->output as $output ) { + $output['function'] = ( isset( $output['function'] ) ) ? $output['function'] : 'style'; + + // If 'element' is not defined, skip this. + if ( ! isset( $output['element'] ) ) { + continue; + } + if ( is_array( $output['element'] ) ) { + $output['element'] = implode( ',', $output['element'] ); + } + + // If there's a sanitize_callback defined skip this, unless we also have a js_callback defined. + if ( isset( $output['sanitize_callback'] ) && ! empty( $output['sanitize_callback'] ) && ! isset( $output['js_callback'] ) ) { + continue; + } + + // If we got this far, it's safe to add this. + $js_vars[] = $output; + } + + // Did we manage to get all the items from 'output'? + // If not, then we're missing something so don't add this. + if ( count( $js_vars ) !== count( $this->output ) ) { + return; + } + $this->js_vars = $js_vars; + $this->transport = 'postMessage'; + } + } + + /** + * Sets the $variables + * + * @access protected + */ + protected function set_variables() { + if ( ! is_array( $this->variables ) ) { + $variable = ( is_string( $this->variables ) && ! empty( $this->variables ) ) ? $this->variables : false; + $this->variables = []; + if ( $variable && empty( $this->variables ) ) { + $this->variables[0]['name'] = $variable; + } + } + } + + /** + * Sets the $transport + * + * @access protected + */ + protected function set_transport() { + if ( 'postmessage' === trim( strtolower( $this->transport ) ) ) { + $this->transport = 'postMessage'; + } + } + + /** + * Sets the $required + * + * @access protected + */ + protected function set_required() { + if ( ! is_array( $this->required ) ) { + $this->required = []; + } + } + + /** + * Sets the $priority + * + * @access protected + */ + protected function set_priority() { + $this->priority = absint( $this->priority ); + } + + /** + * Sets the $css_vars + * + * @access protected + */ + protected function set_css_vars() { + if ( is_string( $this->css_vars ) ) { + $this->css_vars = [ $this->css_vars ]; + } + if ( isset( $this->css_vars[0] ) && is_string( $this->css_vars[0] ) ) { + $this->css_vars = [ $this->css_vars ]; + } + foreach ( $this->css_vars as $key => $val ) { + if ( ! isset( $val[1] ) ) { + $this->css_vars[ $key ][1] = '$'; + } + } + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Framework.php b/functions/kirki/packages/kirki-framework/compatibility/src/Framework.php new file mode 100644 index 0000000..a85c048 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Framework.php @@ -0,0 +1,47 @@ +control_types = [ + 'kirki-composite' => '\Kirki\Control\Composite', + 'checkbox' => '\Kirki\Control\Checkbox', + 'kirki-color' => '\Kirki\Control\ReactColorful', + 'kirki-color-palette' => '\Kirki\Control\Color_Palette', + 'kirki-custom' => '\Kirki\Control\Custom', + 'kirki-date' => '\Kirki\Control\Date', + 'kirki-dashicons' => '\Kirki\Control\Dashicons', + 'kirki-dimension' => '\Kirki\Control\Dimension', + 'kirki-dimensions' => '\Kirki\Control\Dimensions', + 'kirki-editor' => '\Kirki\Control\Editor', + 'kirki-image' => '\Kirki\Control\Image', + 'kirki-multicolor' => '\Kirki\Control\Multicolor', + 'kirki-multicheck' => '\Kirki\Control\Multicheck', + 'kirki-number' => '\Kirki\Control\Number', + 'kirki-radio' => '\Kirki\Control\Radio', + 'kirki-radio-buttonset' => '\Kirki\Control\Radio_Buttonset', + 'kirki-radio-image' => '\Kirki\Control\Radio_Image', + 'repeater' => '\Kirki\Control\Repeater', + 'kirki-select' => '\Kirki\Control\Select', + 'kirki-slider' => '\Kirki\Control\Slider', + 'kirki-sortable' => '\Kirki\Control\Sortable', + 'kirki-spacing' => '\Kirki\Control\Dimensions', + 'kirki-switch' => '\Kirki\Control\Checkbox_Switch', + 'kirki-generic' => '\Kirki\Control\Generic', + 'kirki-toggle' => '\Kirki\Control\Checkbox_Toggle', + 'image' => '\Kirki\Control\Image', + 'cropped_image' => '\Kirki\Control\Cropped_Image', + 'upload' => '\Kirki\Control\Upload', + ]; + return array_merge( $this->control_types, $control_types ); + } + + /** + * Helper function that adds the fields to the customizer. + */ + public function add_to_customizer() { + $this->fields_from_filters(); + add_action( 'customize_register', [ $this, 'register_control_types' ] ); + add_action( 'customize_register', [ $this, 'add_fields' ], 99 ); + } + + /** + * Register control types + */ + public function register_control_types() { + global $wp_customize; + + $this->control_types = $this->default_control_types(); + if ( ! class_exists( 'WP_Customize_Code_Editor_Control' ) ) { + unset( $this->control_types['code_editor'] ); + } + foreach ( $this->control_types as $key => $classname ) { + if ( ! class_exists( $classname ) ) { + unset( $this->control_types[ $key ] ); + } + } + + $skip_control_types = apply_filters( + 'kirki_control_types_exclude', + [ + '\Kirki\Control\Repeater', + '\WP_Customize_Control', + ] + ); + + foreach ( $this->control_types as $control_type ) { + if ( ! in_array( $control_type, $skip_control_types, true ) && class_exists( $control_type ) ) { + $wp_customize->register_control_type( $control_type ); + } + } + } + + /** + * Create the settings and controls from the $fields array and register them. + * + * @var object The WordPress Customizer object. + */ + public function add_fields() { + global $wp_customize; + + foreach ( Kirki::$fields as $args ) { + + // Create the settings. + new \Kirki\Compatibility\Settings( $args ); + + // Check if we're on the customizer. + // If we are, then we will create the controls, add the scripts needed for the customizer + // and any other tweaks that this field may require. + if ( $wp_customize ) { + + // Create the control. + new Control( $args ); + + } + } + } + + /** + * Process fields added using the 'kirki_fields' and 'kirki_controls' filter. + * These filters are no longer used, this is simply for backwards-compatibility. + * + * @access private + * @since 2.0.0 + */ + private function fields_from_filters() { + $fields = apply_filters( 'kirki_controls', [] ); + $fields = apply_filters( 'kirki_fields', $fields ); + + if ( ! empty( $fields ) ) { + foreach ( $fields as $field ) { + $field['kirki_config'] = 'global'; + Kirki::add_field( 'global', $field ); + } + } + } + + /** + * Alias for the is_plugin static method in the Kirki\Util\Util class. + * This is here for backwards-compatibility purposes. + * + * @static + * @access public + * @since 3.0.0 + * @return bool + */ + public static function is_plugin() { + return Util::is_plugin(); + } + + /** + * Alias for the get_variables static method in the Kirki\Util\Util class. + * This is here for backwards-compatibility purposes. + * + * @static + * @access public + * @since 2.0.0 + * @return array Formatted as array( 'variable-name' => value ). + */ + public static function get_variables() { + + // Log error for developers. + _doing_it_wrong( __METHOD__, esc_html__( 'We detected you\'re using Kirki\Compatibility\Init::get_variables(). Please use \Kirki\Util\Util::get_variables() instead.', 'kirki' ), '3.0.10' ); + + // ! This will be failed, because Util class is under Kirki\Util namespace. + return Util::get_variables(); + } + + /** + * Remove controls. + * + * @since 3.0.17 + * @param object $wp_customize The customizer object. + * @return void + */ + public function remove_controls( $wp_customize ) { + foreach ( Kirki::$controls_to_remove as $control ) { + $wp_customize->remove_control( $control ); + } + } + + /** + * Shows an admin notice. + * + * @access public + * @since 3.0.42 + * @return void + */ + public function admin_notices() { + + // No need for a nag if we don't need to recommend installing the FA plugin. + if ( ! self::$show_fa_nag ) { + return; + } + + // No need for a nag if FA plugin is already installed. + if ( defined( 'FONTAWESOME_DIR_PATH' ) ) { + return; + } + + // No need for a nag if current user can't install plugins. + if ( ! current_user_can( 'install_plugins' ) ) { + return; + } + + // No need for a nag if user has dismissed it. + $dismissed = get_user_meta( get_current_user_id(), 'kirki_fa_nag_dismissed', true ); + if ( true === $dismissed || 1 === $dismissed || '1' === $dismissed ) { + return; + } + ?> +
+

+ +

+

+ + +

+
+ get_config(); + + self::$config[ $config_args['id'] ] = $config_args; + + } + + /** + * Create a new panel. + * + * @static + * @access public + * @param string $id The ID for this panel. + * @param array $args The panel arguments. + */ + public static function add_panel( $id = '', $args = [] ) { + + new \Kirki\Panel( $id, $args ); + + } + + /** + * Remove a panel. + * + * @static + * @access public + * @since 3.0.17 + * @param string $id The ID for this panel. + */ + public static function remove_panel( $id = '' ) { + + $panel = new \Kirki\Panel( $id ); + $panel->remove(); + + } + + /** + * Create a new section. + * + * @static + * @access public + * @param string $id The ID for this section. + * @param array $args The section arguments. + */ + public static function add_section( $id, $args ) { + + new \Kirki\Section( $id, $args ); + + } + + /** + * Remove a section. + * + * @static + * @access public + * @since 3.0.17 + * @param string $id The ID for this section. + */ + public static function remove_section( $id = '' ) { + + $section = new \Kirki\Section( $id, $args ); + $section->remove(); + + } + + /** + * Create a new field. + * + * @static + * @access public + * @param string $config_id The configuration ID for this field. + * @param array $args The field arguments. + */ + public static function add_field( $config_id, $args = [] ) { + + if ( doing_action( 'customize_register' ) ) { + _doing_it_wrong( __METHOD__, esc_html__( 'Kirki fields should not be added on customize_register. Please add them directly, or on init.', 'kirki' ), '3.0.10' ); + } + + parent::maybe_show_fontawesome_nag( $args ); + + // Early exit if 'type' is not defined. + if ( ! isset( $args['type'] ) ) { + return; + } + + $args = self::migrate_css_vars( $args ); + + $str = str_replace( [ '-', '_' ], ' ', $args['type'] ); + $classname = '\Kirki\Field\\' . str_replace( ' ', '_', ucwords( $str ) ); + + $config = Config::get_instance( $config_id )->get_config(); + $args['kirki_config'] = isset( $args['kirki_config'] ) ? $args['kirki_config'] : $config_id; + + unset( $config['id'] ); + + $args = wp_parse_args( $args, $config ); + + if ( class_exists( $classname ) ) { + unset( $args['type'] ); + new $classname( $args ); + return; + } + + new Field( $config_id, $args ); + + } + + /** + * Remove a control. + * + * @static + * @access public + * @since 3.0.17 + * @param string $id The field ID. + */ + public static function remove_control( $id ) { + + if ( ! in_array( $id, self::$controls_to_remove, true ) ) { + self::$controls_to_remove[] = $id; + } + + } + + /** + * Gets a parameter for a config-id. + * + * @static + * @access public + * @since 3.0.10 + * @param string $id The config-ID. + * @param string $param The parameter we want. + * @return string + */ + public static function get_config_param( $id, $param ) { + + if ( ! isset( self::$config[ $id ] ) || ! isset( self::$config[ $id ][ $param ] ) ) { + return ''; + } + + return self::$config[ $id ][ $param ]; + + } + + /** + * Migrate css-variables to output argument. + * + * This only exists for backwards-compatibility with the deprecated css-vars argument. + * + * @static + * @since 4.0 + * @param array $args The field arguments. + * @return array + */ + private static function migrate_css_vars( $args ) { + + // Convert css_vars to output args. + if ( isset( $args['css_vars'] ) ) { + + if ( isset( $args['transport'] ) && 'postMessage' === $args['transport'] ) { + $args['transport'] = 'auto'; + } + + // Convert to properly-formatted arrays. + $args['css_vars'] = (array) $args['css_vars']; + + if ( isset( $args['css_vars'][0] ) && is_string( $args['css_vars'][0] ) ) { + $args['css_vars'] = [ $args['css_vars'] ]; + } + + foreach ( $args['css_vars'] as $css_var ) { + $output = [ + 'element' => ':root', + 'property' => $css_var[0], + ]; + if ( isset( $css_var[1] ) ) { + $output['value_pattern'] = $css_var[1]; + } + if ( isset( $css_var[2] ) ) { + $output['choice'] = $css_var[2]; + } + $args['output'][] = $output; + } + } + + return $args; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Modules.php b/functions/kirki/packages/kirki-framework/compatibility/src/Modules.php new file mode 100644 index 0000000..c80866a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Modules.php @@ -0,0 +1,160 @@ + '\Kirki\Module\CSS', + 'tooltips' => '\Kirki\Module\Tooltips', + 'postMessage' => '\Kirki\Module\Postmessage', + 'selective-refresh' => '\Kirki\Module\Selective_Refresh', + 'field-dependencies' => '\Kirki\Module\Field_Dependencies', + 'webfonts' => '\Kirki\Module\Webfonts', + 'preset' => '\Kirki\Module\Preset', + 'gutenberg' => '\Kirki\Module\Editor_Styles', + 'section-icons' => '\Kirki\Module\Section_Icons', + ] + ); + + } + + /** + * Instantiates the modules. + * In v3.0.35 the visibility for this method was changed + * from private to public to fix https://github.com/aristath/kirki/issues/2023 + * + * @access public + * @since 3.0.0 + */ + public function init() { + + foreach ( self::$modules as $module_class ) { + if ( class_exists( $module_class ) ) { + new $module_class(); + } + } + + } + + /** + * Add a module. + * + * @static + * @access public + * @param string $module The classname of the module to add. + * @since 3.0.0 + */ + public static function add_module( $module ) { + + if ( ! in_array( $module, self::$modules, true ) ) { + self::$modules[] = $module; + } + + } + + /** + * Remove a module. + * + * @static + * @access public + * @param string $module The classname of the module to add. + * @since 3.0.0 + */ + public static function remove_module( $module ) { + + $key = array_search( $module, self::$modules, true ); + + if ( false !== $key ) { + unset( self::$modules[ $key ] ); + } + + } + + /** + * Get the modules array. + * + * @static + * @access public + * @since 3.0.0 + * @return array + */ + public static function get_modules() { + + return self::$modules; + + } + + /** + * Get the array of active modules (objects). + * + * @static + * @access public + * @since 3.0.0 + * @return array + */ + public static function get_active_modules() { + + return self::$active_modules; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Sanitize_Values.php b/functions/kirki/packages/kirki-framework/compatibility/src/Sanitize_Values.php new file mode 100644 index 0000000..4809a2c --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Sanitize_Values.php @@ -0,0 +1,209 @@ +sanitize( $value ); + } + + /** + * Sanitize number options. + * + * @static + * @access public + * @since 0.5 + * @param int|float|double|string $value The value to be sanitized. + * @return integer|double|string + */ + public static function number( $value ) { + return ( is_numeric( $value ) ) ? $value : intval( $value ); + } + + /** + * Drop-down Pages sanitization callback. + * + * - Sanitization: dropdown-pages + * - Control: dropdown-pages + * + * Sanitization callback for 'dropdown-pages' type controls. This callback sanitizes `$page_id` + * as an absolute integer, and then validates that $input is the ID of a published page. + * + * @see absint() https://developer.wordpress.org/reference/functions/absint/ + * @see get_post_status() https://developer.wordpress.org/reference/functions/get_post_status/ + * + * @param int $page_id Page ID. + * @param WP_Customize_Setting $setting Setting instance. + * @return int|string Page ID if the page is published; otherwise, the setting default. + */ + public static function dropdown_pages( $page_id, $setting ) { + + // Ensure $input is an absolute integer. + $page_id = absint( $page_id ); + + // If $page_id is an ID of a published page, return it; otherwise, return the default. + return ( 'publish' === get_post_status( $page_id ) ? $page_id : $setting->default ); + } + + /** + * Sanitizes css dimensions. + * + * @static + * @access public + * @since 2.2.0 + * @param string $value The value to be sanitized. + * @return string + */ + public static function css_dimension( $value ) { + + // Trim it. + $value = trim( $value ); + + // If the value is round, then return 50%. + if ( 'round' === $value ) { + $value = '50%'; + } + + // If the value is empty, return empty. + if ( '' === $value ) { + return ''; + } + + // If auto, inherit or initial, return the value. + if ( 'auto' === $value || 'initial' === $value || 'inherit' === $value || 'normal' === $value ) { + return $value; + } + + // Return empty if there are no numbers in the value. + if ( ! preg_match( '#[0-9]#', $value ) ) { + return ''; + } + + // If we're using calc() then return the value. + if ( false !== strpos( $value, 'calc(' ) ) { + return $value; + } + + // The raw value without the units. + $raw_value = self::filter_number( $value ); + $unit_used = ''; + + // An array of all valid CSS units. Their order was carefully chosen for this evaluation, don't mix it up!!! + $units = [ 'fr', 'rem', 'em', 'ex', '%', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ch', 'vh', 'vw', 'vmin', 'vmax' ]; + foreach ( $units as $unit ) { + if ( false !== strpos( $value, $unit ) ) { + $unit_used = $unit; + } + } + + // Hack for rem values. + if ( 'em' === $unit_used && false !== strpos( $value, 'rem' ) ) { + $unit_used = 'rem'; + } + + return $raw_value . $unit_used; + } + + /** + * Filters numeric values. + * + * @static + * @access public + * @param string $value The value to be sanitized. + * @return int|float + */ + public static function filter_number( $value ) { + return filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + } + + /** + * Sanitize RGBA colors + * + * @static + * @since 0.8.5 + * @param string $value The value to be sanitized. + * @return string + */ + public static function rgba( $value ) { + $color = \ariColor::newColor( $value ); + return $color->toCSS( 'rgba' ); + } + + /** + * Sanitize colors. + * + * @static + * @since 0.8.5 + * @param string $value The value to be sanitized. + * @return string + */ + public static function color( $value ) { + + // If the value is empty, then return empty. + if ( '' === $value ) { + return ''; + } + + // If transparent, then return 'transparent'. + if ( is_string( $value ) && 'transparent' === trim( $value ) ) { + return 'transparent'; + } + + // Instantiate the object. + $color = \ariColor::newColor( $value ); + + // Return a CSS value, using the auto-detected mode. + return $color->toCSS( $color->mode ); + } + + /** + * DOES NOT SANITIZE ANYTHING. + * + * @static + * @since 0.5 + * @param int|string|array $value The value to be sanitized. + * @return int|string|array + */ + public static function unfiltered( $value ) { + return $value; + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Scripts.php b/functions/kirki/packages/kirki-framework/compatibility/src/Scripts.php new file mode 100644 index 0000000..b3c5675 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Scripts.php @@ -0,0 +1,58 @@ +wp_customize = $wp_customize; + + // Set the setting_types. + $this->set_setting_types(); + + // Add the settings. + $this->add_settings( $args ); + + } + + /** + * Adds the settings for this field. + * If settings are defined as an array, then it goes through them + * and calls the add_setting method. + * If not an array, then it just calls add_setting + * + * @access private + * @param array $args The field definition as sanitized in Kirki\Compatibility\Field. + */ + final function add_settings( $args = [] ) { + + // Get the classname we'll be using to create our setting(s). + $classname = false; + if ( isset( $args['option_type'] ) && array_key_exists( $args['option_type'], $this->setting_types ) ) { + $classname = $this->setting_types[ $args['option_type'] ]; + } + if ( ! isset( $args['type'] ) || ! array_key_exists( $args['type'], $this->setting_types ) ) { + $args['type'] = 'default'; + } + $classname = ! $classname ? $this->setting_types[ $args['type'] ] : $classname; + + // If settings are defined as an array, then we need to go through them + // and call add_setting for each one of them separately. + if ( isset( $args['settings'] ) && is_array( $args['settings'] ) ) { + + // Make sure defaults have been defined. + if ( ! isset( $args['default'] ) || ! is_array( $args['default'] ) ) { + $args['default'] = []; + } + foreach ( $args['settings'] as $key => $value ) { + // ? Bagus: this $defaults var is not defined anywhere inside this function, so is this a mistake? + $default = ( isset( $defaults[ $key ] ) ) ? $defaults[ $key ] : ''; + $this->add_setting( $classname, $value, $default, $args['option_type'], $args['capability'], $args['transport'], $args['sanitize_callback'] ); + } + } + $this->add_setting( $classname, $args['settings'], $args['default'], $args['option_type'], $args['capability'], $args['transport'], $args['sanitize_callback'] ); + } + + /** + * This is where we're finally adding the setting to the Customizer. + * + * @access private + * @param string $classname The name of the class that will be used to create this setting. + * We're getting this from $this->setting_types. + * @param string $setting The setting-name. + * If settings is an array, then this method is called per-setting. + * @param string|array $default Default value for this setting. + * @param string $type The data type we're using. Valid options: theme_mod|option. + * @param string $capability @see https://codex.wordpress.org/Roles_and_Capabilities. + * @param string $transport Use refresh|postMessage. + * @param string|array $sanitize_callback A callable sanitization function or method. + */ + final function add_setting( $classname, $setting, $default, $type, $capability, $transport, $sanitize_callback ) { + + $this->wp_customize->add_setting( + new $classname( + $this->wp_customize, + $setting, + [ + 'default' => $default, + 'type' => $type, + 'capability' => $capability, + 'transport' => $transport, + 'sanitize_callback' => $sanitize_callback, + ] + ) + ); + + } + + /** + * Sets the $this->setting_types property. + * Makes sure the kirki_setting_types filter is applied + * and that the defined classes actually exist. + * If a defined class does not exist, it is removed. + */ + final function set_setting_types() { + + // Apply the kirki_setting_types filter. + $this->setting_types = apply_filters( + 'kirki_setting_types', + [ + 'default' => 'WP_Customize_Setting', + 'repeater' => '\Kirki_Settings_Repeater_Setting', + 'user_meta' => '\Kirki\Util\Setting\User_Meta', + 'site_option' => '\Kirki\Util\Setting\Site_Option', + ] + ); + + // Make sure the defined classes actually exist. + foreach ( $this->setting_types as $key => $classname ) { + + if ( ! class_exists( $classname ) ) { + unset( $this->setting_types[ $key ] ); + } + } + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/Values.php b/functions/kirki/packages/kirki-framework/compatibility/src/Values.php new file mode 100644 index 0000000..3741659 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/Values.php @@ -0,0 +1,124 @@ +toCSS( \'hex\' )' ); + return Kirki_Color::sanitize_hex( $color ); + } +} + +if ( ! function_exists( 'kirki_get_rgb' ) ) { + function kirki_get_rgb( $hex, $implode = false ) { + _deprecated_function( __FUNCTION__, '1.0.0', 'ariColor::newColor( $color )->toCSS( \'rgb\' )' ); + return Kirki_Color::get_rgb( $hex, $implode ); + } +} + +if ( ! function_exists( 'kirki_get_rgba' ) ) { + function kirki_get_rgba( $hex = '#fff', $opacity = 100 ) { + _deprecated_function( __FUNCTION__, '1.0.0', 'ariColor::newColor( $color )->toCSS( \'rgba\' )' ); + return Kirki_Color::get_rgba( $hex, $opacity ); + } +} + +if ( ! function_exists( 'kirki_get_brightness' ) ) { + function kirki_get_brightness( $hex ) { + _deprecated_function( __FUNCTION__, '1.0.0', 'ariColor::newColor( $color )->lightness' ); + return Kirki_Color::get_brightness( $hex ); + } +} + +if ( ! function_exists( 'Kirki' ) ) { + function Kirki() { + return \Kirki\Compatibility\Framework::get_instance(); + } +} diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/scripts/hooks.js b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/hooks.js new file mode 100644 index 0000000..3f0c09e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/hooks.js @@ -0,0 +1,623 @@ +this["wp"] = this["wp"] || {}; this["wp"]["hooks"] = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 366); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 366: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/validateNamespace.js +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ var build_module_validateNamespace = (validateNamespace); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/validateHookName.js +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ var build_module_validateHookName = (validateHookName); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createAddHook.js +/** + * Internal dependencies + */ + + + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * + * @return {Function} Function that adds a new hook. + */ + +function createAddHook(hooks) { + /** + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {Function} callback Function to call when the hook is run + * @param {?number} priority Priority of this hook (default=10) + */ + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + + if (!build_module_validateHookName(hookName)) { + return; + } + + if (!build_module_validateNamespace(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooks[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooks[hookName].handlers; + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + (hooks.__current || []).forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooks[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ var build_module_createAddHook = (createAddHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js +/** + * Internal dependencies + */ + + + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * @param {boolean} removeAll Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions. + * + * @return {Function} Function that removes hooks. + */ + +function createRemoveHook(hooks, removeAll) { + /** + * Removes the specified callback (or all callbacks) from the hook with a + * given hookName and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * + * @return {number} The number of callbacks removed. + */ + return function removeHook(hookName, namespace) { + if (!build_module_validateHookName(hookName)) { + return; + } + + if (!removeAll && !build_module_validateNamespace(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooks[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooks[hookName].handlers.length; + hooks[hookName] = { + runs: hooks[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooks[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + (hooks.__current || []).forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ var build_module_createRemoveHook = (createRemoveHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createHasHook.js +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * + * @return {Function} Function that returns whether any handlers are + * attached to a particular hook. + */ +function createHasHook(hooks) { + /** + * Returns how many handlers are attached for the given hook. + * + * @param {string} hookName The name of the hook to check for. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + return function hasHook(hookName) { + return hookName in hooks; + }; +} + +/* harmony default export */ var build_module_createHasHook = (createHasHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createRunHook.js +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * @param {?boolean} returnFirstArg Whether each hook callback is expected to + * return its first argument. + * + * @return {Function} Function that runs hook callbacks. + */ +function createRunHook(hooks, returnFirstArg) { + /** + * Runs all callbacks for the specified hook. + * + * @param {string} hookName The name of the hook to run. + * @param {...*} args Arguments to pass to the hook callbacks. + * + * @return {*} Return value of runner, if applicable. + */ + return function runHooks(hookName) { + if (!hooks[hookName]) { + hooks[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooks[hookName].runs++; + var handlers = hooks[hookName].handlers; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooks.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooks.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ var build_module_createRunHook = (createRunHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * + * @return {Function} Function that returns the current hook. + */ +function createCurrentHook(hooks) { + /** + * Returns the name of the currently running hook, or `null` if no hook of + * the given type is currently running. + * + * @return {?string} The name of the currently running hook, or + * `null` if no hook is currently running. + */ + return function currentHook() { + if (!hooks.__current || !hooks.__current.length) { + return null; + } + + return hooks.__current[hooks.__current.length - 1].name; + }; +} + +/* harmony default export */ var build_module_createCurrentHook = (createCurrentHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createDoingHook.js +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * + * @return {Function} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks) { + /** + * Returns whether a hook is currently being executed. + * + * @param {?string} hookName The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + return function doingHook(hookName) { + // If the hookName was not passed, check for any current hook. + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooks.__current[0]; + } // Return the __current hook. + + + return hooks.__current[0] ? hookName === hooks.__current[0].name : false; + }; +} + +/* harmony default export */ var build_module_createDoingHook = (createDoingHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createDidHook.js +/** + * Internal dependencies + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {Object} hooks Stored hooks, keyed by hook name. + * + * @return {Function} Function that returns a hook's call count. + */ + +function createDidHook(hooks) { + /** + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number} The number of times the hook has run. + */ + return function didHook(hookName) { + if (!build_module_validateHookName(hookName)) { + return; + } + + return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0; + }; +} + +/* harmony default export */ var build_module_createDidHook = (createDidHook); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createHooks.js +/** + * Internal dependencies + */ + + + + + + + +/** + * Returns an instance of the hooks object. + * + * @return {Object} Object that contains all hooks. + */ + +function createHooks() { + var actions = Object.create(null); + var filters = Object.create(null); + actions.__current = []; + filters.__current = []; + return { + addAction: build_module_createAddHook(actions), + addFilter: build_module_createAddHook(filters), + removeAction: build_module_createRemoveHook(actions), + removeFilter: build_module_createRemoveHook(filters), + hasAction: build_module_createHasHook(actions), + hasFilter: build_module_createHasHook(filters), + removeAllActions: build_module_createRemoveHook(actions, true), + removeAllFilters: build_module_createRemoveHook(filters, true), + doAction: build_module_createRunHook(actions), + applyFilters: build_module_createRunHook(filters, true), + currentAction: build_module_createCurrentHook(actions), + currentFilter: build_module_createCurrentHook(filters), + doingAction: build_module_createDoingHook(actions), + doingFilter: build_module_createDoingHook(filters), + didAction: build_module_createDidHook(actions), + didFilter: build_module_createDidHook(filters), + actions: actions, + filters: filters + }; +} + +/* harmony default export */ var build_module_createHooks = (createHooks); + +// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/index.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addAction", function() { return addAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addFilter", function() { return addFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAction", function() { return removeAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeFilter", function() { return removeFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasAction", function() { return hasAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasFilter", function() { return hasFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAllActions", function() { return removeAllActions; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAllFilters", function() { return removeAllFilters; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doAction", function() { return doAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyFilters", function() { return applyFilters; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "currentAction", function() { return currentAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "currentFilter", function() { return currentFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doingAction", function() { return doingAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doingFilter", function() { return doingFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "didAction", function() { return didAction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "didFilter", function() { return didFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return build_module_actions; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "filters", function() { return build_module_filters; }); +/* concated harmony reexport createHooks */__webpack_require__.d(__webpack_exports__, "createHooks", function() { return build_module_createHooks; }); +/** + * Internal dependencies + */ + + +var _createHooks = build_module_createHooks(), + addAction = _createHooks.addAction, + addFilter = _createHooks.addFilter, + removeAction = _createHooks.removeAction, + removeFilter = _createHooks.removeFilter, + hasAction = _createHooks.hasAction, + hasFilter = _createHooks.hasFilter, + removeAllActions = _createHooks.removeAllActions, + removeAllFilters = _createHooks.removeAllFilters, + doAction = _createHooks.doAction, + applyFilters = _createHooks.applyFilters, + currentAction = _createHooks.currentAction, + currentFilter = _createHooks.currentFilter, + doingAction = _createHooks.doingAction, + doingFilter = _createHooks.doingFilter, + didAction = _createHooks.didAction, + didFilter = _createHooks.didFilter, + build_module_actions = _createHooks.actions, + build_module_filters = _createHooks.filters; + + + + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/scripts/i18n.js b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/i18n.js new file mode 100644 index 0000000..6229841 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/i18n.js @@ -0,0 +1,1140 @@ +this["wp"] = this["wp"] || {}; this["wp"]["i18n"] = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 376); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 137: +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports['sprintf'] = sprintf + exports['vsprintf'] = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ 15: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/***/ }), + +/***/ 376: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js +var objectSpread = __webpack_require__(7); + +// CONCATENATED MODULE: ./node_modules/@tannin/postfix/index.js +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + +// CONCATENATED MODULE: ./node_modules/@tannin/evaluate/index.js +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate_evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + +// CONCATENATED MODULE: ./node_modules/@tannin/compile/index.js + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {Function} Compiled evaluator. + */ +function compile( expression ) { + var terms = postfix( expression ); + + return function( variables ) { + return evaluate_evaluate( terms, variables ); + }; +} + +// CONCATENATED MODULE: ./node_modules/@tannin/plural-forms/index.js + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = compile( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + +// CONCATENATED MODULE: ./node_modules/tannin/index.js + + +/** + * Tannin constructor options. + * + * @property {?string} contextDelimiter Joiner in string lookup with context. + * @property {?Function} onMissingKey Callback to invoke when key missing. + * + * @type {Object} + * + * @typedef {TanninOptions} + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @param {Object} data Jed-formatted locale data. + * @param {TanninOptions} options Tannin options. + */ +function Tannin( data, options ) { + var key; + + this.data = data; + this.pluralForms = {}; + + options = options || {}; + this.options = {}; + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options[ key ] || DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + config.plural_forms + ); + + pf = pluralForms( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string} plural Fallback value used for non-zero plural form index. + * @param {number} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + +// EXTERNAL MODULE: ./node_modules/memize/index.js +var memize = __webpack_require__(41); +var memize_default = /*#__PURE__*/__webpack_require__.n(memize); + +// EXTERNAL MODULE: ./node_modules/@wordpress/i18n/node_modules/sprintf-js/src/sprintf.js +var sprintf = __webpack_require__(137); +var sprintf_default = /*#__PURE__*/__webpack_require__.n(sprintf); + +// CONCATENATED MODULE: ./node_modules/@wordpress/i18n/build-module/index.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLocaleData", function() { return setLocaleData; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__", function() { return __; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_x", function() { return _x; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_n", function() { return _n; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_nx", function() { return _nx; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sprintf", function() { return build_module_sprintf; }); + + +/** + * External dependencies + */ + + + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {Object} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + plural_forms: 'plural=(n!=1)' + } +}; +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize_default()(console.error); // eslint-disable-line no-console + +/** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + +var i18n = new Tannin({}); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {?Object} data Locale data configuration. + * @param {?string} domain Domain for which configuration applies. + */ + +function setLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + i18n.data[domain] = Object(objectSpread["a" /* default */])({}, DEFAULT_LOCALE_DATA, i18n.data[domain], data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + i18n.data[domain][''] = Object(objectSpread["a" /* default */])({}, DEFAULT_LOCALE_DATA[''], i18n.data[domain]['']); +} +/** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {?string} domain Domain to retrieve the translated text. + * @param {?string} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as fallback + * return value on a caught error. + * @param {?string} plural The text to be used if the number is plural. + * @param {?number} number The number to compare against to use either the + * singular or plural form. + * + * @return {string} The translated string. + */ + +function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!i18n.data[domain]) { + setLocaleData(undefined, domain); + } + + return i18n.dcnpgettext(domain, context, single, plural, number); +} +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {?string} domain Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + + +function __(text, domain) { + return dcnpgettext(domain, undefined, text); +} +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {?string} domain Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +function _x(text, context, domain) { + return dcnpgettext(domain, context, text); +} +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {?string} domain Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +function _n(single, plural, number, domain) { + return dcnpgettext(domain, undefined, single, plural, number); +} +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {?string} domain Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +function _nx(single, plural, number, context, domain) { + return dcnpgettext(domain, context, single, plural, number); +} +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...string} args Arguments to apply to the format. + * + * @see http://www.diveintojavascript.com/projects/javascript-sprintf + * + * @return {string} The formatted string. + */ + +function build_module_sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_default.a.sprintf.apply(sprintf_default.a, [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} + + +/***/ }), + +/***/ 41: +/***/ (function(module, exports, __webpack_require__) { + +module.exports = function memize( fn, options ) { + var size = 0, + maxSize, head, tail; + + if ( options && options.maxSize ) { + maxSize = options.maxSize; + } + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + node.prev.next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + head.prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ) + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === maxSize ) { + tail = tail.prev; + tail.next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + return memoized; +}; + + +/***/ }), + +/***/ 7: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; }); +/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); + }); + } + + return target; +} + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/compatibility/src/scripts/wp-polyfill.js b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/wp-polyfill.js new file mode 100644 index 0000000..250b921 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/compatibility/src/scripts/wp-polyfill.js @@ -0,0 +1,6953 @@ +(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + +},{"113":113,"117":117,"118":118}],18:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +'use strict'; +var toObject = _dereq_(118); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + +},{"113":113,"117":117,"118":118}],19:[function(_dereq_,module,exports){ +// false -> Array#indexOf +// true -> Array#includes +var toIObject = _dereq_(116); +var toLength = _dereq_(117); +var toAbsoluteIndex = _dereq_(113); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +},{"113":113,"116":116,"117":117}],20:[function(_dereq_,module,exports){ +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = _dereq_(32); +var IObject = _dereq_(53); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var asc = _dereq_(23); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + +},{"117":117,"118":118,"23":23,"32":32,"53":53}],21:[function(_dereq_,module,exports){ +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var toLength = _dereq_(117); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + +},{"11":11,"117":117,"118":118,"53":53}],22:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var isArray = _dereq_(55); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + +},{"128":128,"55":55,"57":57}],23:[function(_dereq_,module,exports){ +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = _dereq_(22); + +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; + +},{"22":22}],24:[function(_dereq_,module,exports){ +'use strict'; +var aFunction = _dereq_(11); +var isObject = _dereq_(57); +var invoke = _dereq_(52); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + +},{"11":11,"52":52,"57":57}],25:[function(_dereq_,module,exports){ +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = _dereq_(26); +var TAG = _dereq_(128)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + +},{"128":128,"26":26}],26:[function(_dereq_,module,exports){ +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +},{}],27:[function(_dereq_,module,exports){ +'use strict'; +var dP = _dereq_(75).f; +var create = _dereq_(74); +var redefineAll = _dereq_(93); +var ctx = _dereq_(32); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var $iterDefine = _dereq_(61); +var step = _dereq_(63); +var setSpecies = _dereq_(99); +var DESCRIPTORS = _dereq_(36); +var fastKey = _dereq_(70).fastKey; +var validate = _dereq_(125); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + +},{"125":125,"15":15,"32":32,"36":36,"45":45,"61":61,"63":63,"70":70,"74":74,"75":75,"93":93,"99":99}],28:[function(_dereq_,module,exports){ +'use strict'; +var redefineAll = _dereq_(93); +var getWeak = _dereq_(70).getWeak; +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var createArrayMethod = _dereq_(20); +var $has = _dereq_(47); +var validate = _dereq_(125); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + +},{"125":125,"15":15,"16":16,"20":20,"45":45,"47":47,"57":57,"70":70,"93":93}],29:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var redefineAll = _dereq_(93); +var meta = _dereq_(70); +var forOf = _dereq_(45); +var anInstance = _dereq_(15); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var $iterDetect = _dereq_(62); +var setToStringTag = _dereq_(100); +var inheritIfRequired = _dereq_(51); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + +},{"100":100,"15":15,"40":40,"42":42,"45":45,"46":46,"51":51,"57":57,"62":62,"70":70,"93":93,"94":94}],30:[function(_dereq_,module,exports){ +var core = module.exports = { version: '2.6.1' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + +},{}],31:[function(_dereq_,module,exports){ +'use strict'; +var $defineProperty = _dereq_(75); +var createDesc = _dereq_(92); + +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; + +},{"75":75,"92":92}],32:[function(_dereq_,module,exports){ +// optional / simple context binding +var aFunction = _dereq_(11); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"11":11}],33:[function(_dereq_,module,exports){ +'use strict'; +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = _dereq_(42); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + +},{"42":42}],34:[function(_dereq_,module,exports){ +'use strict'; +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); +var NUMBER = 'number'; + +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); +}; + +},{"119":119,"16":16}],35:[function(_dereq_,module,exports){ +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{}],36:[function(_dereq_,module,exports){ +// Thank's IE8 for his funny defineProperty +module.exports = !_dereq_(42)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"42":42}],37:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var document = _dereq_(46).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; + +},{"46":46,"57":57}],38:[function(_dereq_,module,exports){ +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); + +},{}],39:[function(_dereq_,module,exports){ +// all enumerable object keys, includes symbols +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + +},{"80":80,"83":83,"84":84}],40:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var hide = _dereq_(48); +var redefine = _dereq_(94); +var ctx = _dereq_(32); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + +},{"30":30,"32":32,"46":46,"48":48,"94":94}],41:[function(_dereq_,module,exports){ +var MATCH = _dereq_(128)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + +},{"128":128}],42:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + +},{}],43:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(224); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var fails = _dereq_(42); +var defined = _dereq_(35); +var wks = _dereq_(128); +var regexpExec = _dereq_(96); + +var SPECIES = wks('species'); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + // #replace needs built-in support for named groups. + // #match works fine because it just return the exec results, even if it has + // a "grops" property. + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + return ''.replace(re, '$') !== '7'; +}); + +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { + // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length === 2 && result[0] === 'a' && result[1] === 'b'; +})(); + +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + re.exec = function () { execCalled = true; return null; }; + if (KEY === 'split') { + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + } + re[SYMBOL](''); + return !execCalled; + }) : undefined; + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || + (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var fns = exec( + defined, + SYMBOL, + ''[KEY], + function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { + if (regexp.exec === regexpExec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; + } + return { done: true, value: nativeMethod.call(str, regexp, arg2) }; + } + return { done: false }; + } + ); + var strfn = fns[0]; + var rxfn = fns[1]; + + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return rxfn.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return rxfn.call(string, this); } + ); + } +}; + +},{"128":128,"224":224,"35":35,"42":42,"48":48,"94":94,"96":96}],44:[function(_dereq_,module,exports){ +'use strict'; +// 21.2.5.3 get RegExp.prototype.flags +var anObject = _dereq_(16); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"16":16}],45:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var getIterFn = _dereq_(129); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + +},{"117":117,"129":129,"16":16,"32":32,"54":54,"59":59}],46:[function(_dereq_,module,exports){ +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + +},{}],47:[function(_dereq_,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + +},{}],48:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var createDesc = _dereq_(92); +module.exports = _dereq_(36) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"36":36,"75":75,"92":92}],49:[function(_dereq_,module,exports){ +var document = _dereq_(46).document; +module.exports = document && document.documentElement; + +},{"46":46}],50:[function(_dereq_,module,exports){ +module.exports = !_dereq_(36) && !_dereq_(42)(function () { + return Object.defineProperty(_dereq_(37)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"36":36,"37":37,"42":42}],51:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var setPrototypeOf = _dereq_(98).set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + } return that; +}; + +},{"57":57,"98":98}],52:[function(_dereq_,module,exports){ +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + +},{}],53:[function(_dereq_,module,exports){ +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = _dereq_(26); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; + +},{"26":26}],54:[function(_dereq_,module,exports){ +// check on default Array iterator +var Iterators = _dereq_(64); +var ITERATOR = _dereq_(128)('iterator'); +var ArrayProto = Array.prototype; + +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; + +},{"128":128,"64":64}],55:[function(_dereq_,module,exports){ +// 7.2.2 IsArray(argument) +var cof = _dereq_(26); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; + +},{"26":26}],56:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var isObject = _dereq_(57); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + +},{"57":57}],57:[function(_dereq_,module,exports){ +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +},{}],58:[function(_dereq_,module,exports){ +// 7.2.8 IsRegExp(argument) +var isObject = _dereq_(57); +var cof = _dereq_(26); +var MATCH = _dereq_(128)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; + +},{"128":128,"26":26,"57":57}],59:[function(_dereq_,module,exports){ +// call something on iterator step with safe closing on error +var anObject = _dereq_(16); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + +},{"16":16}],60:[function(_dereq_,module,exports){ +'use strict'; +var create = _dereq_(74); +var descriptor = _dereq_(92); +var setToStringTag = _dereq_(100); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +_dereq_(48)(IteratorPrototype, _dereq_(128)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; + +},{"100":100,"128":128,"48":48,"74":74,"92":92}],61:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var $iterCreate = _dereq_(60); +var setToStringTag = _dereq_(100); +var getPrototypeOf = _dereq_(81); +var ITERATOR = _dereq_(128)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + +},{"100":100,"128":128,"40":40,"48":48,"60":60,"64":64,"65":65,"81":81,"94":94}],62:[function(_dereq_,module,exports){ +var ITERATOR = _dereq_(128)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + +},{"128":128}],63:[function(_dereq_,module,exports){ +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; + +},{}],64:[function(_dereq_,module,exports){ +module.exports = {}; + +},{}],65:[function(_dereq_,module,exports){ +module.exports = false; + +},{}],66:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; + +},{}],67:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var sign = _dereq_(69); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + +},{"69":69}],68:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; + +},{}],69:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + +},{}],70:[function(_dereq_,module,exports){ +var META = _dereq_(123)('meta'); +var isObject = _dereq_(57); +var has = _dereq_(47); +var setDesc = _dereq_(75).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !_dereq_(42)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + +},{"123":123,"42":42,"47":47,"57":57,"75":75}],71:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var macrotask = _dereq_(112).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = _dereq_(26)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + +},{"112":112,"26":26,"46":46}],72:[function(_dereq_,module,exports){ +'use strict'; +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = _dereq_(11); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +},{"11":11}],73:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || _dereq_(42)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + +},{"118":118,"42":42,"53":53,"80":80,"83":83,"84":84}],74:[function(_dereq_,module,exports){ +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = _dereq_(16); +var dPs = _dereq_(76); +var enumBugKeys = _dereq_(38); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = _dereq_(37)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + _dereq_(49).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + +},{"101":101,"16":16,"37":37,"38":38,"49":49,"76":76}],75:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var IE8_DOM_DEFINE = _dereq_(50); +var toPrimitive = _dereq_(119); +var dP = Object.defineProperty; + +exports.f = _dereq_(36) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"119":119,"16":16,"36":36,"50":50}],76:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var anObject = _dereq_(16); +var getKeys = _dereq_(83); + +module.exports = _dereq_(36) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; + +},{"16":16,"36":36,"75":75,"83":83}],77:[function(_dereq_,module,exports){ +var pIE = _dereq_(84); +var createDesc = _dereq_(92); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var has = _dereq_(47); +var IE8_DOM_DEFINE = _dereq_(50); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = _dereq_(36) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + +},{"116":116,"119":119,"36":36,"47":47,"50":50,"84":84,"92":92}],78:[function(_dereq_,module,exports){ +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = _dereq_(116); +var gOPN = _dereq_(79).f; +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; + +},{"116":116,"79":79}],79:[function(_dereq_,module,exports){ +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = _dereq_(82); +var hiddenKeys = _dereq_(38).concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; + +},{"38":38,"82":82}],80:[function(_dereq_,module,exports){ +exports.f = Object.getOwnPropertySymbols; + +},{}],81:[function(_dereq_,module,exports){ +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = _dereq_(47); +var toObject = _dereq_(118); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; + +},{"101":101,"118":118,"47":47}],82:[function(_dereq_,module,exports){ +var has = _dereq_(47); +var toIObject = _dereq_(116); +var arrayIndexOf = _dereq_(19)(false); +var IE_PROTO = _dereq_(101)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + +},{"101":101,"116":116,"19":19,"47":47}],83:[function(_dereq_,module,exports){ +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = _dereq_(82); +var enumBugKeys = _dereq_(38); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + +},{"38":38,"82":82}],84:[function(_dereq_,module,exports){ +exports.f = {}.propertyIsEnumerable; + +},{}],85:[function(_dereq_,module,exports){ +// most Object methods by ES6 should accept primitives +var $export = _dereq_(40); +var core = _dereq_(30); +var fails = _dereq_(42); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; + +},{"30":30,"40":40,"42":42}],86:[function(_dereq_,module,exports){ +var getKeys = _dereq_(83); +var toIObject = _dereq_(116); +var isEnum = _dereq_(84).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + +},{"116":116,"83":83,"84":84}],87:[function(_dereq_,module,exports){ +// all object keys, includes non-enumerable and symbols +var gOPN = _dereq_(79); +var gOPS = _dereq_(80); +var anObject = _dereq_(16); +var Reflect = _dereq_(46).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; + +},{"16":16,"46":46,"79":79,"80":80}],88:[function(_dereq_,module,exports){ +var $parseFloat = _dereq_(46).parseFloat; +var $trim = _dereq_(110).trim; + +module.exports = 1 / $parseFloat(_dereq_(111) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; + +},{"110":110,"111":111,"46":46}],89:[function(_dereq_,module,exports){ +var $parseInt = _dereq_(46).parseInt; +var $trim = _dereq_(110).trim; +var ws = _dereq_(111); +var hex = /^[-+]?0[xX]/; + +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; + +},{"110":110,"111":111,"46":46}],90:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; + +},{}],91:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var newPromiseCapability = _dereq_(72); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +},{"16":16,"57":57,"72":72}],92:[function(_dereq_,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],93:[function(_dereq_,module,exports){ +var redefine = _dereq_(94); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); + return target; +}; + +},{"94":94}],94:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var has = _dereq_(47); +var SRC = _dereq_(123)('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); + +_dereq_(30).inspectSource = function (it) { + return $toString.call(it); +}; + +(module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + hide(O, key, val); + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + +},{"123":123,"30":30,"46":46,"47":47,"48":48}],95:[function(_dereq_,module,exports){ +'use strict'; + +var classof = _dereq_(25); +var builtinExec = RegExp.prototype.exec; + + // `RegExpExec` abstract operation +// https://tc39.github.io/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (typeof exec === 'function') { + var result = exec.call(R, S); + if (typeof result !== 'object') { + throw new TypeError('RegExp exec method returned something other than an Object or null'); + } + return result; + } + if (classof(R) !== 'RegExp') { + throw new TypeError('RegExp#exec called on incompatible receiver'); + } + return builtinExec.call(R, S); +}; + +},{"25":25}],96:[function(_dereq_,module,exports){ +'use strict'; + +var regexpFlags = _dereq_(44); + +var nativeExec = RegExp.prototype.exec; +// This always refers to the native implementation, because the +// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, +// which loads this file before patching the method. +var nativeReplace = String.prototype.replace; + +var patchedExec = nativeExec; + +var LAST_INDEX = 'lastIndex'; + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/, + re2 = /b*/g; + nativeExec.call(re1, 'a'); + nativeExec.call(re2, 'a'); + return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; +})(); + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; + +if (PATCH) { + patchedExec = function exec(str) { + var re = this; + var lastIndex, reCopy, match, i; + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; + + match = nativeExec.call(re, str); + + if (UPDATES_LAST_INDEX_WRONG && match) { + re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ + // eslint-disable-next-line no-loop-func + nativeReplace.call(match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + return match; + }; +} + +module.exports = patchedExec; + +},{"44":44}],97:[function(_dereq_,module,exports){ +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; + +},{}],98:[function(_dereq_,module,exports){ +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = _dereq_(57); +var anObject = _dereq_(16); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = _dereq_(32)(Function.call, _dereq_(77).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + +},{"16":16,"32":32,"57":57,"77":77}],99:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var dP = _dereq_(75); +var DESCRIPTORS = _dereq_(36); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + +},{"128":128,"36":36,"46":46,"75":75}],100:[function(_dereq_,module,exports){ +var def = _dereq_(75).f; +var has = _dereq_(47); +var TAG = _dereq_(128)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + +},{"128":128,"47":47,"75":75}],101:[function(_dereq_,module,exports){ +var shared = _dereq_(102)('keys'); +var uid = _dereq_(123); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; + +},{"102":102,"123":123}],102:[function(_dereq_,module,exports){ +var core = _dereq_(30); +var global = _dereq_(46); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: _dereq_(65) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); + +},{"30":30,"46":46,"65":65}],103:[function(_dereq_,module,exports){ +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = _dereq_(16); +var aFunction = _dereq_(11); +var SPECIES = _dereq_(128)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; + +},{"11":11,"128":128,"16":16}],104:[function(_dereq_,module,exports){ +'use strict'; +var fails = _dereq_(42); + +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; + +},{"42":42}],105:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var defined = _dereq_(35); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + +},{"115":115,"35":35}],106:[function(_dereq_,module,exports){ +// helper for String#{startsWith, endsWith, includes} +var isRegExp = _dereq_(58); +var defined = _dereq_(35); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; + +},{"35":35,"58":58}],107:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var fails = _dereq_(42); +var defined = _dereq_(35); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + +},{"35":35,"40":40,"42":42}],108:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = _dereq_(117); +var repeat = _dereq_(109); +var defined = _dereq_(35); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + +},{"109":109,"117":117,"35":35}],109:[function(_dereq_,module,exports){ +'use strict'; +var toInteger = _dereq_(115); +var defined = _dereq_(35); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; + +},{"115":115,"35":35}],110:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var defined = _dereq_(35); +var fails = _dereq_(42); +var spaces = _dereq_(111); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + +},{"111":111,"35":35,"40":40,"42":42}],111:[function(_dereq_,module,exports){ +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],112:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var invoke = _dereq_(52); +var html = _dereq_(49); +var cel = _dereq_(37); +var global = _dereq_(46); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (_dereq_(26)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + +},{"26":26,"32":32,"37":37,"46":46,"49":49,"52":52}],113:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; + +},{"115":115}],114:[function(_dereq_,module,exports){ +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; + +},{"115":115,"117":117}],115:[function(_dereq_,module,exports){ +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; + +},{}],116:[function(_dereq_,module,exports){ +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = _dereq_(53); +var defined = _dereq_(35); +module.exports = function (it) { + return IObject(defined(it)); +}; + +},{"35":35,"53":53}],117:[function(_dereq_,module,exports){ +// 7.1.15 ToLength +var toInteger = _dereq_(115); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + +},{"115":115}],118:[function(_dereq_,module,exports){ +// 7.1.13 ToObject(argument) +var defined = _dereq_(35); +module.exports = function (it) { + return Object(defined(it)); +}; + +},{"35":35}],119:[function(_dereq_,module,exports){ +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = _dereq_(57); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"57":57}],120:[function(_dereq_,module,exports){ +'use strict'; +if (_dereq_(36)) { + var LIBRARY = _dereq_(65); + var global = _dereq_(46); + var fails = _dereq_(42); + var $export = _dereq_(40); + var $typed = _dereq_(122); + var $buffer = _dereq_(121); + var ctx = _dereq_(32); + var anInstance = _dereq_(15); + var propertyDesc = _dereq_(92); + var hide = _dereq_(48); + var redefineAll = _dereq_(93); + var toInteger = _dereq_(115); + var toLength = _dereq_(117); + var toIndex = _dereq_(114); + var toAbsoluteIndex = _dereq_(113); + var toPrimitive = _dereq_(119); + var has = _dereq_(47); + var classof = _dereq_(25); + var isObject = _dereq_(57); + var toObject = _dereq_(118); + var isArrayIter = _dereq_(54); + var create = _dereq_(74); + var getPrototypeOf = _dereq_(81); + var gOPN = _dereq_(79).f; + var getIterFn = _dereq_(129); + var uid = _dereq_(123); + var wks = _dereq_(128); + var createArrayMethod = _dereq_(20); + var createArrayIncludes = _dereq_(19); + var speciesConstructor = _dereq_(103); + var ArrayIterators = _dereq_(140); + var Iterators = _dereq_(64); + var $iterDetect = _dereq_(62); + var setSpecies = _dereq_(99); + var arrayFill = _dereq_(18); + var arrayCopyWithin = _dereq_(17); + var $DP = _dereq_(75); + var $GOPD = _dereq_(77); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + +},{"103":103,"113":113,"114":114,"115":115,"117":117,"118":118,"119":119,"121":121,"122":122,"123":123,"128":128,"129":129,"140":140,"15":15,"17":17,"18":18,"19":19,"20":20,"25":25,"32":32,"36":36,"40":40,"42":42,"46":46,"47":47,"48":48,"54":54,"57":57,"62":62,"64":64,"65":65,"74":74,"75":75,"77":77,"79":79,"81":81,"92":92,"93":93,"99":99}],121:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var DESCRIPTORS = _dereq_(36); +var LIBRARY = _dereq_(65); +var $typed = _dereq_(122); +var hide = _dereq_(48); +var redefineAll = _dereq_(93); +var fails = _dereq_(42); +var anInstance = _dereq_(15); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var toIndex = _dereq_(114); +var gOPN = _dereq_(79).f; +var dP = _dereq_(75).f; +var arrayFill = _dereq_(18); +var setToStringTag = _dereq_(100); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + +},{"100":100,"114":114,"115":115,"117":117,"122":122,"15":15,"18":18,"36":36,"42":42,"46":46,"48":48,"65":65,"75":75,"79":79,"93":93}],122:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var uid = _dereq_(123); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + +},{"123":123,"46":46,"48":48}],123:[function(_dereq_,module,exports){ +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + +},{}],124:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; + +},{"46":46}],125:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; + +},{"57":57}],126:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var LIBRARY = _dereq_(65); +var wksExt = _dereq_(127); +var defineProperty = _dereq_(75).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; + +},{"127":127,"30":30,"46":46,"65":65,"75":75}],127:[function(_dereq_,module,exports){ +exports.f = _dereq_(128); + +},{"128":128}],128:[function(_dereq_,module,exports){ +var store = _dereq_(102)('wks'); +var uid = _dereq_(123); +var Symbol = _dereq_(46).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; + +},{"102":102,"123":123,"46":46}],129:[function(_dereq_,module,exports){ +var classof = _dereq_(25); +var ITERATOR = _dereq_(128)('iterator'); +var Iterators = _dereq_(64); +module.exports = _dereq_(30).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + +},{"128":128,"25":25,"30":30,"64":64}],130:[function(_dereq_,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { copyWithin: _dereq_(17) }); + +_dereq_(13)('copyWithin'); + +},{"13":13,"17":17,"40":40}],131:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $every = _dereq_(20)(4); + +$export($export.P + $export.F * !_dereq_(104)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],132:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { fill: _dereq_(18) }); + +_dereq_(13)('fill'); + +},{"13":13,"18":18,"40":40}],133:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $filter = _dereq_(20)(2); + +$export($export.P + $export.F * !_dereq_(104)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],134:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],135:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],136:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $forEach = _dereq_(20)(0); +var STRICT = _dereq_(104)([].forEach, true); + +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],137:[function(_dereq_,module,exports){ +'use strict'; +var ctx = _dereq_(32); +var $export = _dereq_(40); +var toObject = _dereq_(118); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var toLength = _dereq_(117); +var createProperty = _dereq_(31); +var getIterFn = _dereq_(129); + +$export($export.S + $export.F * !_dereq_(62)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + +},{"117":117,"118":118,"129":129,"31":31,"32":32,"40":40,"54":54,"59":59,"62":62}],138:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $indexOf = _dereq_(19)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); + +},{"104":104,"19":19,"40":40}],139:[function(_dereq_,module,exports){ +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = _dereq_(40); + +$export($export.S, 'Array', { isArray: _dereq_(55) }); + +},{"40":40,"55":55}],140:[function(_dereq_,module,exports){ +'use strict'; +var addToUnscopables = _dereq_(13); +var step = _dereq_(63); +var Iterators = _dereq_(64); +var toIObject = _dereq_(116); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = _dereq_(61)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +},{"116":116,"13":13,"61":61,"63":63,"64":64}],141:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.13 Array.prototype.join(separator) +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var arrayJoin = [].join; + +// fallback for not array-like strings +$export($export.P + $export.F * (_dereq_(53) != Object || !_dereq_(104)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); + +},{"104":104,"116":116,"40":40,"53":53}],142:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + +},{"104":104,"115":115,"116":116,"117":117,"40":40}],143:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $map = _dereq_(20)(1); + +$export($export.P + $export.F * !_dereq_(104)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],144:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var createProperty = _dereq_(31); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * _dereq_(42)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + +},{"31":31,"40":40,"42":42}],145:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); + +},{"104":104,"21":21,"40":40}],146:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); + +},{"104":104,"21":21,"40":40}],147:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var html = _dereq_(49); +var cof = _dereq_(26); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * _dereq_(42)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + +},{"113":113,"117":117,"26":26,"40":40,"42":42,"49":49}],148:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $some = _dereq_(20)(3); + +$export($export.P + $export.F * !_dereq_(104)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],149:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var fails = _dereq_(42); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !_dereq_(104)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + +},{"104":104,"11":11,"118":118,"40":40,"42":42}],150:[function(_dereq_,module,exports){ +_dereq_(99)('Array'); + +},{"99":99}],151:[function(_dereq_,module,exports){ +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = _dereq_(40); + +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); + +},{"40":40}],152:[function(_dereq_,module,exports){ +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = _dereq_(40); +var toISOString = _dereq_(33); + +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); + +},{"33":33,"40":40}],153:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toObject = _dereq_(118); +var toPrimitive = _dereq_(119); + +$export($export.P + $export.F * _dereq_(42)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + +},{"118":118,"119":119,"40":40,"42":42}],154:[function(_dereq_,module,exports){ +var TO_PRIMITIVE = _dereq_(128)('toPrimitive'); +var proto = Date.prototype; + +if (!(TO_PRIMITIVE in proto)) _dereq_(48)(proto, TO_PRIMITIVE, _dereq_(34)); + +},{"128":128,"34":34,"48":48}],155:[function(_dereq_,module,exports){ +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + _dereq_(94)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? $toString.call(this) : INVALID_DATE; + }); +} + +},{"94":94}],156:[function(_dereq_,module,exports){ +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = _dereq_(40); + +$export($export.P, 'Function', { bind: _dereq_(24) }); + +},{"24":24,"40":40}],157:[function(_dereq_,module,exports){ +'use strict'; +var isObject = _dereq_(57); +var getPrototypeOf = _dereq_(81); +var HAS_INSTANCE = _dereq_(128)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) _dereq_(75).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); + +},{"128":128,"57":57,"75":75,"81":81}],158:[function(_dereq_,module,exports){ +var dP = _dereq_(75).f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// 19.2.4.2 name +NAME in FProto || _dereq_(36) && dP(FProto, NAME, { + configurable: true, + get: function () { + try { + return ('' + this).match(nameRE)[1]; + } catch (e) { + return ''; + } + } +}); + +},{"36":36,"75":75}],159:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = _dereq_(29)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + +},{"125":125,"27":27,"29":29}],160:[function(_dereq_,module,exports){ +// 20.2.2.3 Math.acosh(x) +var $export = _dereq_(40); +var log1p = _dereq_(68); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + +},{"40":40,"68":68}],161:[function(_dereq_,module,exports){ +// 20.2.2.5 Math.asinh(x) +var $export = _dereq_(40); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + +},{"40":40}],162:[function(_dereq_,module,exports){ +// 20.2.2.7 Math.atanh(x) +var $export = _dereq_(40); +var $atanh = Math.atanh; + +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); + +},{"40":40}],163:[function(_dereq_,module,exports){ +// 20.2.2.9 Math.cbrt(x) +var $export = _dereq_(40); +var sign = _dereq_(69); + +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); + +},{"40":40,"69":69}],164:[function(_dereq_,module,exports){ +// 20.2.2.11 Math.clz32(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); + +},{"40":40}],165:[function(_dereq_,module,exports){ +// 20.2.2.12 Math.cosh(x) +var $export = _dereq_(40); +var exp = Math.exp; + +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); + +},{"40":40}],166:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $export = _dereq_(40); +var $expm1 = _dereq_(66); + +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); + +},{"40":40,"66":66}],167:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { fround: _dereq_(67) }); + +},{"40":40,"67":67}],168:[function(_dereq_,module,exports){ +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = _dereq_(40); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + +},{"40":40}],169:[function(_dereq_,module,exports){ +// 20.2.2.18 Math.imul(x, y) +var $export = _dereq_(40); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * _dereq_(42)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + +},{"40":40,"42":42}],170:[function(_dereq_,module,exports){ +// 20.2.2.21 Math.log10(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); + +},{"40":40}],171:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { log1p: _dereq_(68) }); + +},{"40":40,"68":68}],172:[function(_dereq_,module,exports){ +// 20.2.2.22 Math.log2(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); + +},{"40":40}],173:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { sign: _dereq_(69) }); + +},{"40":40,"69":69}],174:[function(_dereq_,module,exports){ +// 20.2.2.30 Math.sinh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * _dereq_(42)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + +},{"40":40,"42":42,"66":66}],175:[function(_dereq_,module,exports){ +// 20.2.2.33 Math.tanh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + +},{"40":40,"66":66}],176:[function(_dereq_,module,exports){ +// 20.2.2.34 Math.trunc(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); + +},{"40":40}],177:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var has = _dereq_(47); +var cof = _dereq_(26); +var inheritIfRequired = _dereq_(51); +var toPrimitive = _dereq_(119); +var fails = _dereq_(42); +var gOPN = _dereq_(79).f; +var gOPD = _dereq_(77).f; +var dP = _dereq_(75).f; +var $trim = _dereq_(110).trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(_dereq_(74)(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = _dereq_(36) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + _dereq_(94)(global, NUMBER, $Number); +} + +},{"110":110,"119":119,"26":26,"36":36,"42":42,"46":46,"47":47,"51":51,"74":74,"75":75,"77":77,"79":79,"94":94}],178:[function(_dereq_,module,exports){ +// 20.1.2.1 Number.EPSILON +var $export = _dereq_(40); + +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); + +},{"40":40}],179:[function(_dereq_,module,exports){ +// 20.1.2.2 Number.isFinite(number) +var $export = _dereq_(40); +var _isFinite = _dereq_(46).isFinite; + +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); + +},{"40":40,"46":46}],180:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { isInteger: _dereq_(56) }); + +},{"40":40,"56":56}],181:[function(_dereq_,module,exports){ +// 20.1.2.4 Number.isNaN(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + +},{"40":40}],182:[function(_dereq_,module,exports){ +// 20.1.2.5 Number.isSafeInteger(number) +var $export = _dereq_(40); +var isInteger = _dereq_(56); +var abs = Math.abs; + +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); + +},{"40":40,"56":56}],183:[function(_dereq_,module,exports){ +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + +},{"40":40}],184:[function(_dereq_,module,exports){ +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + +},{"40":40}],185:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],186:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + +},{"40":40,"89":89}],187:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toInteger = _dereq_(115); +var aNumberValue = _dereq_(12); +var repeat = _dereq_(109); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !_dereq_(42)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + +},{"109":109,"115":115,"12":12,"40":40,"42":42}],188:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $fails = _dereq_(42); +var aNumberValue = _dereq_(12); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + +},{"12":12,"40":40,"42":42}],189:[function(_dereq_,module,exports){ +// 19.1.3.1 Object.assign(target, source) +var $export = _dereq_(40); + +$export($export.S + $export.F, 'Object', { assign: _dereq_(73) }); + +},{"40":40,"73":73}],190:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: _dereq_(74) }); + +},{"40":40,"74":74}],191:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperties: _dereq_(76) }); + +},{"36":36,"40":40,"76":76}],192:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperty: _dereq_(75).f }); + +},{"36":36,"40":40,"75":75}],193:[function(_dereq_,module,exports){ +// 19.1.2.5 Object.freeze(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],194:[function(_dereq_,module,exports){ +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = _dereq_(116); +var $getOwnPropertyDescriptor = _dereq_(77).f; + +_dereq_(85)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); + +},{"116":116,"77":77,"85":85}],195:[function(_dereq_,module,exports){ +// 19.1.2.7 Object.getOwnPropertyNames(O) +_dereq_(85)('getOwnPropertyNames', function () { + return _dereq_(78).f; +}); + +},{"78":78,"85":85}],196:[function(_dereq_,module,exports){ +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = _dereq_(118); +var $getPrototypeOf = _dereq_(81); + +_dereq_(85)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); + +},{"118":118,"81":81,"85":85}],197:[function(_dereq_,module,exports){ +// 19.1.2.11 Object.isExtensible(O) +var isObject = _dereq_(57); + +_dereq_(85)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); + +},{"57":57,"85":85}],198:[function(_dereq_,module,exports){ +// 19.1.2.12 Object.isFrozen(O) +var isObject = _dereq_(57); + +_dereq_(85)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); + +},{"57":57,"85":85}],199:[function(_dereq_,module,exports){ +// 19.1.2.13 Object.isSealed(O) +var isObject = _dereq_(57); + +_dereq_(85)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); + +},{"57":57,"85":85}],200:[function(_dereq_,module,exports){ +// 19.1.3.10 Object.is(value1, value2) +var $export = _dereq_(40); +$export($export.S, 'Object', { is: _dereq_(97) }); + +},{"40":40,"97":97}],201:[function(_dereq_,module,exports){ +// 19.1.2.14 Object.keys(O) +var toObject = _dereq_(118); +var $keys = _dereq_(83); + +_dereq_(85)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + +},{"118":118,"83":83,"85":85}],202:[function(_dereq_,module,exports){ +// 19.1.2.15 Object.preventExtensions(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],203:[function(_dereq_,module,exports){ +// 19.1.2.17 Object.seal(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],204:[function(_dereq_,module,exports){ +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = _dereq_(40); +$export($export.S, 'Object', { setPrototypeOf: _dereq_(98).set }); + +},{"40":40,"98":98}],205:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.3.6 Object.prototype.toString() +var classof = _dereq_(25); +var test = {}; +test[_dereq_(128)('toStringTag')] = 'z'; +if (test + '' != '[object z]') { + _dereq_(94)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); +} + +},{"128":128,"25":25,"94":94}],206:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],207:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + +},{"40":40,"89":89}],208:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var global = _dereq_(46); +var ctx = _dereq_(32); +var classof = _dereq_(25); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var aFunction = _dereq_(11); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var speciesConstructor = _dereq_(103); +var task = _dereq_(112).set; +var microtask = _dereq_(71)(); +var newPromiseCapabilityModule = _dereq_(72); +var perform = _dereq_(90); +var userAgent = _dereq_(124); +var promiseResolve = _dereq_(91); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[_dereq_(128)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = _dereq_(93)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +_dereq_(100)($Promise, PROMISE); +_dereq_(99)(PROMISE); +Wrapper = _dereq_(30)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && _dereq_(62)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + +},{"100":100,"103":103,"11":11,"112":112,"124":124,"128":128,"15":15,"25":25,"30":30,"32":32,"40":40,"45":45,"46":46,"57":57,"62":62,"65":65,"71":71,"72":72,"90":90,"91":91,"93":93,"99":99}],209:[function(_dereq_,module,exports){ +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var rApply = (_dereq_(46).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !_dereq_(42)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + +},{"11":11,"16":16,"40":40,"42":42,"46":46}],210:[function(_dereq_,module,exports){ +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = _dereq_(40); +var create = _dereq_(74); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var bind = _dereq_(24); +var rConstruct = (_dereq_(46).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + +},{"11":11,"16":16,"24":24,"40":40,"42":42,"46":46,"57":57,"74":74}],211:[function(_dereq_,module,exports){ +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = _dereq_(75); +var $export = _dereq_(40); +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * _dereq_(42)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + +},{"119":119,"16":16,"40":40,"42":42,"75":75}],212:[function(_dereq_,module,exports){ +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = _dereq_(40); +var gOPD = _dereq_(77).f; +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); + +},{"16":16,"40":40,"77":77}],213:[function(_dereq_,module,exports){ +'use strict'; +// 26.1.5 Reflect.enumerate(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +_dereq_(60)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + +},{"16":16,"40":40,"60":60}],214:[function(_dereq_,module,exports){ +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = _dereq_(77); +var $export = _dereq_(40); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); + +},{"16":16,"40":40,"77":77}],215:[function(_dereq_,module,exports){ +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = _dereq_(40); +var getProto = _dereq_(81); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); + +},{"16":16,"40":40,"81":81}],216:[function(_dereq_,module,exports){ +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var anObject = _dereq_(16); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + +},{"16":16,"40":40,"47":47,"57":57,"77":77,"81":81}],217:[function(_dereq_,module,exports){ +// 26.1.9 Reflect.has(target, propertyKey) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + +},{"40":40}],218:[function(_dereq_,module,exports){ +// 26.1.10 Reflect.isExtensible(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $isExtensible = Object.isExtensible; + +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); + +},{"16":16,"40":40}],219:[function(_dereq_,module,exports){ +// 26.1.11 Reflect.ownKeys(target) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { ownKeys: _dereq_(87) }); + +},{"40":40,"87":87}],220:[function(_dereq_,module,exports){ +// 26.1.12 Reflect.preventExtensions(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + +},{"16":16,"40":40}],221:[function(_dereq_,module,exports){ +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = _dereq_(40); +var setProto = _dereq_(98); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + +},{"40":40,"98":98}],222:[function(_dereq_,module,exports){ +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = _dereq_(75); +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var createDesc = _dereq_(92); +var anObject = _dereq_(16); +var isObject = _dereq_(57); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + +},{"16":16,"40":40,"47":47,"57":57,"75":75,"77":77,"81":81,"92":92}],223:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var inheritIfRequired = _dereq_(51); +var dP = _dereq_(75).f; +var gOPN = _dereq_(79).f; +var isRegExp = _dereq_(58); +var $flags = _dereq_(44); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; + +if (_dereq_(36) && (!CORRECT_NEW || _dereq_(42)(function () { + re2[_dereq_(128)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p + : inheritIfRequired(CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) + , tiRE ? this : proto, $RegExp); + }; + var proxy = function (key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + _dereq_(94)(global, 'RegExp', $RegExp); +} + +_dereq_(99)('RegExp'); + +},{"128":128,"36":36,"42":42,"44":44,"46":46,"51":51,"58":58,"75":75,"79":79,"94":94,"99":99}],224:[function(_dereq_,module,exports){ +'use strict'; +var regexpExec = _dereq_(96); +_dereq_(40)({ + target: 'RegExp', + proto: true, + forced: regexpExec !== /./.exec +}, { + exec: regexpExec +}); + +},{"40":40,"96":96}],225:[function(_dereq_,module,exports){ +// 21.2.5.3 get RegExp.prototype.flags() +if (_dereq_(36) && /./g.flags != 'g') _dereq_(75).f(RegExp.prototype, 'flags', { + configurable: true, + get: _dereq_(44) +}); + +},{"36":36,"44":44,"75":75}],226:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); + +// @@match logic +_dereq_(43)('match', 1, function (defined, MATCH, $match, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.github.io/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative($match, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + if (!rx.global) return regExpExec(rx, S); + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + +},{"117":117,"14":14,"16":16,"43":43,"95":95}],227:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var toInteger = _dereq_(115); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); +var max = Math.max; +var min = Math.min; +var floor = Math.floor; +var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// @@replace logic +_dereq_(43)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { + return [ + // `String.prototype.replace` method + // https://tc39.github.io/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace + function (regexp, replaceValue) { + var res = maybeCallNative($replace, regexp, this, replaceValue); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var functionalReplace = typeof replaceValue === 'function'; + if (!functionalReplace) replaceValue = String(replaceValue); + var global = rx.global; + if (global) { + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + var results = []; + while (true) { + var result = regExpExec(rx, S); + if (result === null) break; + results.push(result); + if (!global) break; + var matchStr = String(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + var matched = String(result[0]); + var position = max(min(toInteger(result.index), S.length), 0); + var captures = []; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = [matched].concat(captures, position, S); + if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); + var replacement = String(replaceValue.apply(undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += S.slice(nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + return accumulatedResult + S.slice(nextSourcePosition); + } + ]; + + // https://tc39.github.io/ecma262/#sec-getsubstitution + function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return $replace.call(replacement, symbols, function (match, ch) { + var capture; + switch (ch.charAt(0)) { + case '$': return '$'; + case '&': return matched; + case '`': return str.slice(0, position); + case "'": return str.slice(tailPos); + case '<': + capture = namedCaptures[ch.slice(1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return ch; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return ch; + if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); + return ch; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); + } +}); + +},{"115":115,"117":117,"118":118,"14":14,"16":16,"43":43,"95":95}],228:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var sameValue = _dereq_(97); +var regExpExec = _dereq_(95); + +// @@search logic +_dereq_(43)('search', 1, function (defined, SEARCH, $search, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.github.io/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search + function (regexp) { + var res = maybeCallNative($search, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + +},{"16":16,"43":43,"95":95,"97":97}],229:[function(_dereq_,module,exports){ +'use strict'; + +var isRegExp = _dereq_(58); +var anObject = _dereq_(16); +var speciesConstructor = _dereq_(103); +var advanceStringIndex = _dereq_(14); +var toLength = _dereq_(117); +var callRegExpExec = _dereq_(95); +var regexpExec = _dereq_(96); +var $min = Math.min; +var $push = [].push; +var $SPLIT = 'split'; +var LENGTH = 'length'; +var LAST_INDEX = 'lastIndex'; + +// eslint-disable-next-line no-empty +var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })(); + +// @@split logic +_dereq_(43)('split', 2, function (defined, SPLIT, $split, maybeCallNative) { + var internalSplit; + if ( + 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || + 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || + 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || + '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || + '.'[$SPLIT](/()()/)[LENGTH] > 1 || + ''[$SPLIT](/.?/)[LENGTH] + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return $split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = regexpExec.call(separatorCopy, string)) { + lastIndex = separatorCopy[LAST_INDEX]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); + }; + } else { + internalSplit = $split; + } + + return [ + // `String.prototype.split` method + // https://tc39.github.io/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = defined(this); + var splitter = separator == undefined ? undefined : separator[SPLIT]; + return splitter !== undefined + ? splitter.call(separator, O, limit) + : internalSplit.call(String(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (regexp, limit) { + var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (SUPPORTS_Y ? 'y' : 'g'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var lim = limit === undefined ? 0xffffffff : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = SUPPORTS_Y ? q : 0; + var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); + var e; + if ( + z === null || + (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + A.push(S.slice(p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + A.push(z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + A.push(S.slice(p)); + return A; + } + ]; +}); + +},{"103":103,"117":117,"14":14,"16":16,"43":43,"58":58,"95":95,"96":96}],230:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(225); +var anObject = _dereq_(16); +var $flags = _dereq_(44); +var DESCRIPTORS = _dereq_(36); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; + +var define = function (fn) { + _dereq_(94)(RegExp.prototype, TO_STRING, fn, true); +}; + +// 21.2.5.14 RegExp.prototype.toString() +if (_dereq_(42)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', + 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); +// FF44- RegExp#toString has a wrong name +} else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); +} + +},{"16":16,"225":225,"36":36,"42":42,"44":44,"94":94}],231:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var SET = 'Set'; + +// 23.2 Set Objects +module.exports = _dereq_(29)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); + +},{"125":125,"27":27,"29":29}],232:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.2 String.prototype.anchor(name) +_dereq_(107)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + +},{"107":107}],233:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.3 String.prototype.big() +_dereq_(107)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + +},{"107":107}],234:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.4 String.prototype.blink() +_dereq_(107)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); + +},{"107":107}],235:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.5 String.prototype.bold() +_dereq_(107)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + +},{"107":107}],236:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $at = _dereq_(105)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); + +},{"105":105,"40":40}],237:[function(_dereq_,module,exports){ +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],238:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.6 String.prototype.fixed() +_dereq_(107)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); + +},{"107":107}],239:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.7 String.prototype.fontcolor(color) +_dereq_(107)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + +},{"107":107}],240:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.8 String.prototype.fontsize(size) +_dereq_(107)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + +},{"107":107}],241:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toAbsoluteIndex = _dereq_(113); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + +},{"113":113,"40":40}],242:[function(_dereq_,module,exports){ +// 21.1.3.7 String.prototype.includes(searchString, position = 0) +'use strict'; +var $export = _dereq_(40); +var context = _dereq_(106); +var INCLUDES = 'includes'; + +$export($export.P + $export.F * _dereq_(41)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"106":106,"40":40,"41":41}],243:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.9 String.prototype.italics() +_dereq_(107)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + +},{"107":107}],244:[function(_dereq_,module,exports){ +'use strict'; +var $at = _dereq_(105)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +_dereq_(61)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + +},{"105":105,"61":61}],245:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.10 String.prototype.link(url) +_dereq_(107)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + +},{"107":107}],246:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toLength = _dereq_(117); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + +},{"116":116,"117":117,"40":40}],247:[function(_dereq_,module,exports){ +var $export = _dereq_(40); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: _dereq_(109) +}); + +},{"109":109,"40":40}],248:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.11 String.prototype.small() +_dereq_(107)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); + +},{"107":107}],249:[function(_dereq_,module,exports){ +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],250:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.12 String.prototype.strike() +_dereq_(107)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + +},{"107":107}],251:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.13 String.prototype.sub() +_dereq_(107)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + +},{"107":107}],252:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.14 String.prototype.sup() +_dereq_(107)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + +},{"107":107}],253:[function(_dereq_,module,exports){ +'use strict'; +// 21.1.3.25 String.prototype.trim() +_dereq_(110)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); + +},{"110":110}],254:[function(_dereq_,module,exports){ +'use strict'; +// ECMAScript 6 symbols shim +var global = _dereq_(46); +var has = _dereq_(47); +var DESCRIPTORS = _dereq_(36); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var META = _dereq_(70).KEY; +var $fails = _dereq_(42); +var shared = _dereq_(102); +var setToStringTag = _dereq_(100); +var uid = _dereq_(123); +var wks = _dereq_(128); +var wksExt = _dereq_(127); +var wksDefine = _dereq_(126); +var enumKeys = _dereq_(39); +var isArray = _dereq_(55); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var createDesc = _dereq_(92); +var _create = _dereq_(74); +var gOPNExt = _dereq_(78); +var $GOPD = _dereq_(77); +var $DP = _dereq_(75); +var $keys = _dereq_(83); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + _dereq_(79).f = gOPNExt.f = $getOwnPropertyNames; + _dereq_(84).f = $propertyIsEnumerable; + _dereq_(80).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !_dereq_(65)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || _dereq_(48)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + +},{"100":100,"102":102,"116":116,"119":119,"123":123,"126":126,"127":127,"128":128,"16":16,"36":36,"39":39,"40":40,"42":42,"46":46,"47":47,"48":48,"55":55,"57":57,"65":65,"70":70,"74":74,"75":75,"77":77,"78":78,"79":79,"80":80,"83":83,"84":84,"92":92,"94":94}],255:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $typed = _dereq_(122); +var buffer = _dereq_(121); +var anObject = _dereq_(16); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var isObject = _dereq_(57); +var ArrayBuffer = _dereq_(46).ArrayBuffer; +var speciesConstructor = _dereq_(103); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * _dereq_(42)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +_dereq_(99)(ARRAY_BUFFER); + +},{"103":103,"113":113,"117":117,"121":121,"122":122,"16":16,"40":40,"42":42,"46":46,"57":57,"99":99}],256:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +$export($export.G + $export.W + $export.F * !_dereq_(122).ABV, { + DataView: _dereq_(121).DataView +}); + +},{"121":121,"122":122,"40":40}],257:[function(_dereq_,module,exports){ +_dereq_(120)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],258:[function(_dereq_,module,exports){ +_dereq_(120)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],259:[function(_dereq_,module,exports){ +_dereq_(120)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],260:[function(_dereq_,module,exports){ +_dereq_(120)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],261:[function(_dereq_,module,exports){ +_dereq_(120)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],262:[function(_dereq_,module,exports){ +_dereq_(120)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],263:[function(_dereq_,module,exports){ +_dereq_(120)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],264:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],265:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + +},{"120":120}],266:[function(_dereq_,module,exports){ +'use strict'; +var each = _dereq_(20)(0); +var redefine = _dereq_(94); +var meta = _dereq_(70); +var assign = _dereq_(73); +var weak = _dereq_(28); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var validate = _dereq_(125); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = _dereq_(29)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + +},{"125":125,"20":20,"28":28,"29":29,"42":42,"57":57,"70":70,"73":73,"94":94}],267:[function(_dereq_,module,exports){ +'use strict'; +var weak = _dereq_(28); +var validate = _dereq_(125); +var WEAK_SET = 'WeakSet'; + +// 23.4 WeakSet Objects +_dereq_(29)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); + +},{"125":125,"28":28,"29":29}],268:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/Array.prototype.includes +var $export = _dereq_(40); +var $includes = _dereq_(19)(true); + +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +_dereq_(13)('includes'); + +},{"13":13,"19":19,"40":40}],269:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $entries = _dereq_(86)(true); + +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); + +},{"40":40,"86":86}],270:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = _dereq_(40); +var ownKeys = _dereq_(87); +var toIObject = _dereq_(116); +var gOPD = _dereq_(77); +var createProperty = _dereq_(31); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + +},{"116":116,"31":31,"40":40,"77":77,"87":87}],271:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $values = _dereq_(86)(false); + +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); + +},{"40":40,"86":86}],272:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-promise-finally +'use strict'; +var $export = _dereq_(40); +var core = _dereq_(30); +var global = _dereq_(46); +var speciesConstructor = _dereq_(103); +var promiseResolve = _dereq_(91); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + +},{"103":103,"30":30,"40":40,"46":46,"91":91}],273:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); + +},{"108":108,"124":124,"40":40}],274:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); + +},{"108":108,"124":124,"40":40}],275:[function(_dereq_,module,exports){ +_dereq_(126)('asyncIterator'); + +},{"126":126}],276:[function(_dereq_,module,exports){ +var $iterators = _dereq_(140); +var getKeys = _dereq_(83); +var redefine = _dereq_(94); +var global = _dereq_(46); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var wks = _dereq_(128); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + +},{"128":128,"140":140,"46":46,"48":48,"64":64,"83":83,"94":94}],277:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $task = _dereq_(112); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + +},{"112":112,"40":40}],278:[function(_dereq_,module,exports){ +// ie9- setTimeout & setInterval additional parameters fix +var global = _dereq_(46); +var $export = _dereq_(40); +var userAgent = _dereq_(124); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + +},{"124":124,"40":40,"46":46}],279:[function(_dereq_,module,exports){ +_dereq_(278); +_dereq_(277); +_dereq_(276); +module.exports = _dereq_(30); + +},{"276":276,"277":277,"278":278,"30":30}],280:[function(_dereq_,module,exports){ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +!(function(global) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + var inModule = typeof module === "object"; + var runtime = global.regeneratorRuntime; + if (runtime) { + if (inModule) { + // If regeneratorRuntime is defined globally and we're in a module, + // make the exports object identical to regeneratorRuntime. + module.exports = runtime; + } + // Don't bother evaluating the rest of this file if the runtime was + // already defined globally. + return; + } + + // Define the runtime globally (as expected by generated code) as either + // module.exports (if we're in a module) or a new, empty object. + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + runtime.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + runtime.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + runtime.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + runtime.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + runtime.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return runtime.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator.return) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + runtime.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; +})( + // In sloppy mode, unbound `this` refers to the global object, fallback to + // Function constructor if we're in global strict mode. That is sadly a form + // of indirect eval which violates Content Security Policy. + (function() { + return this || (typeof self === "object" && self); + })() || Function("return this")() +); + +},{}]},{},[1]); diff --git a/functions/kirki/packages/kirki-framework/control-base/LICENSE b/functions/kirki/packages/kirki-framework/control-base/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-base/README.md b/functions/kirki/packages/kirki-framework/control-base/README.md new file mode 100644 index 0000000..2911e78 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/README.md @@ -0,0 +1,5 @@ +# control-base + +This package serves as a base for other controls. + +By itself the `\Kirki\Control\Base` doesn't do anything. It is simply an object that all other Kirki controls should extend to avoid code duplication. \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/control-base/dist/control.css b/functions/kirki/packages/kirki-framework/control-base/dist/control.css new file mode 100644 index 0000000..4e21416 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/dist/control.css @@ -0,0 +1,2 @@ +@media screen and (min-width:1667px){.rtl .wp-full-overlay.expanded{margin-left:0;margin-right:300px}.wp-full-overlay.expanded{margin-left:300px}}#customize-theme-controls .customize-pane-child.open{overflow:visible}.wp-full-overlay-sidebar{width:300px}.expanded .wp-full-overlay-footer{max-width:299px}.kirki-w100{width:100%}.kirki-w50{width:50%}.kirki-w45{width:45%}.kirki-w40{width:40%}.kirki-w33{width:33.3333%}.kirki-w30{width:30%}.kirki-w25{width:25%}.kirki-w20{width:20%}.kirki-w15{width:15%}.kirki-w10{width:10%}.kirki-w5{width:5%}.control-section-kirki-default,.control-section-kirki-outer{min-height:100%}.customize-control-has-small-gap{margin-bottom:9px}.customize-control-is-gapless{margin-bottom:0}.customize-control-kirki-hidden-field{height:0;margin-bottom:0}.customize-control-kirki,.customize-control-kirki *{box-sizing:border-box}.customize-control-kirki.kirki-group-item{clear:none}.kirki-group-item{clear:none;float:left;padding-left:3px;padding-right:3px}.kirki-group-item.kirki-group-start{padding-left:0;padding-right:3px}.kirki-group-item.kirki-group-break,.kirki-group-item.kirki-group-end{padding-left:3px;padding-right:0}.kirki-group-item.kirki-group-end:after{clear:both;content:"";display:block;height:0;width:100%}.customize-control-kirki{position:relative}.customize-control-kirki .kirki-control-label,.customize-control-kirki label.customize-control-title{display:block}.customize-control-kirki .kirki-control-form{position:relative}.customize-control-kirki .kirki-control-form textarea{display:block;width:100%} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-base/dist/control.js b/functions/kirki/packages/kirki-framework/control-base/dist/control.js new file mode 100644 index 0000000..3bfe6f1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/dist/control.js @@ -0,0 +1,2 @@ +!function(){var t;wp.customize.kirkiDynamicControl=wp.customize.Control.extend({initialize:function(t,e){var i,n=this,o=e||{};if(o.params=o.params||{},o.params.type||(o.params.type="kirki-generic"),o.content){var r=o.content.split('class="');r=r[1].split('"'),i=r[0]}else i="customize-control customize-control-"+o.params.type;!o.params.wrapper_attrs&&o.params.wrapper_atts&&(o.params.wrapper_attrs=o.params.wrapper_atts),o.params.content=jQuery("
  • "),o.params.content.attr("id","customize-control-"+t.replace(/]/g,"").replace(/\[/g,"-")),o.params.content.attr("class",i),_.each(o.params.wrapper_attrs,(function(t,e){"class"===e&&(t=t.replace("{default_class}",i)),o.params.content.attr(e,t)})),n.propertyElements=[],wp.customize.Control.prototype.initialize.call(n,t,o),wp.hooks.doAction("kirki.dynamicControl.init.after",t,n,o)},_setUpSettingRootLinks:function(){var t=this;t.container.find("[data-customize-setting-link]").each((function(){var e=jQuery(this);wp.customize(e.data("customizeSettingLink"),(function(i){var n=new wp.customize.Element(e);t.elements.push(n),n.sync(i),n.set(i())}))}))},_setUpSettingPropertyLinks:function(){var t=this;t.setting&&t.container.find("[data-customize-setting-property-link]").each((function(){var e,i=jQuery(this),n=i.data("customizeSettingPropertyLink");e=new wp.customize.Element(i),t.propertyElements.push(e),e.set(t.setting()[n]),e.bind((function(e){var i=t.setting();e!==i[n]&&((i=_.clone(i))[n]=e,t.setting.set(i))})),t.setting.bind((function(t){t[n]!==e.get()&&e.set(t[n])}))}))},ready:function(){var t=this;t._setUpSettingRootLinks(),t._setUpSettingPropertyLinks(),wp.customize.Control.prototype.ready.call(t),t.deferred.embedded.done((function(){t.initKirkiControl(),wp.hooks.doAction("kirki.dynamicControl.ready.deferred.embedded.done",t)})),wp.hooks.doAction("kirki.dynamicControl.ready.after",t)},embed:function(){var t=this,e=t.section();e&&(wp.customize.section(e,(function(e){"kirki-expanded"===e.params.type||e.expanded()||wp.customize.settings.autofocus.control===t.id?t.actuallyEmbed():e.expanded.bind((function(e){e&&t.actuallyEmbed()}))})),wp.hooks.doAction("kirki.dynamicControl.embed.after",t))},actuallyEmbed:function(){var t=this;"resolved"!==t.deferred.embedded.state()&&(t.renderContent(),t.deferred.embedded.resolve(),wp.hooks.doAction("kirki.dynamicControl.actuallyEmbed.after",t))},focus:function(t){var e=this;e.actuallyEmbed(),wp.customize.Control.prototype.focus.call(e,t),wp.hooks.doAction("kirki.dynamicControl.focus.after",e)},initKirkiControl:function(t){t=t||this,wp.hooks.doAction("kirki.dynamicControl.initKirkiControl",this),t.container.on("change keyup paste click","input",(function(){t.setting.set(jQuery(this).val())}))}}),(t=wp.customize).Value.prototype.set=function(e){var i,n,o=this._value;return e=this._setter.apply(this,arguments),null===(e=this.validate(e))||_.isEqual(o,e)||(this.id&&t.control(this.id)&&t.control(this.id).params&&t.control(this.id).params.parent_setting&&(i=t.control(this.id).params.parent_setting,(n={})[this.id.replace(i+"[","").replace("]","")]=e,t.control(i).setting.set(jQuery.extend({},t.control(i).setting._value,n))),this._value=e,this._dirty=!0,this.callbacks.fireWith(this,[e,o])),this},t.Value.prototype.get=function(){var e;return this.id&&t.control(this.id)&&t.control(this.id).params&&t.control(this.id).params.parent_setting?(e=t.control(this.id).params.parent_setting,t.control(e).setting.get()[this.id.replace(e+"[","").replace("]","")]):this._value}}(); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-base/src/Control/Base.php b/functions/kirki/packages/kirki-framework/control-base/src/Control/Base.php new file mode 100644 index 0000000..d77c674 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/src/Control/Base.php @@ -0,0 +1,347 @@ +render_content() for the internals. + * + * @since 1.0 + */ + protected function render() { + + $id = 'customize-control-' . str_replace( [ '[', ']' ], [ '-', '' ], $this->id ); + $class = 'customize-control customize-control-kirki customize-control-' . $this->type; + $gap = isset( $this->wrapper_opts['gap'] ) ? $this->wrapper_opts['gap'] : 'default'; + $tag = isset( $this->wrapper_opts['tag'] ) ? $this->wrapper_opts['tag'] : 'li'; + + switch ( $gap ) { + case 'small': + $class .= ' customize-control-has-small-gap'; + break; + + case 'none': + $class .= ' customize-control-is-gapless'; + break; + + default: + break; + } + + if ( empty( $this->wrapper_attrs ) && ! empty( $this->wrapper_atts ) ) { + $this->wrapper_attrs = $this->wrapper_atts; + } + + if ( isset( $this->wrapper_attrs['id'] ) ) { + $id = $this->wrapper_attrs['id']; + } + + if ( ! isset( $this->wrapper_attrs['data-kirki-setting'] ) ) { + $this->wrapper_attrs['data-kirki-setting'] = $this->id; + } + + if ( ! isset( $this->wrapper_attrs['data-kirki-setting-link'] ) ) { + if ( isset( $this->settings['default'] ) ) { + $this->wrapper_attrs['data-kirki-setting-link'] = $this->settings['default']->id; + } + } + + $data_attrs = ''; + + foreach ( $this->wrapper_attrs as $attr_key => $attr_value ) { + if ( 0 === strpos( $attr_key, 'data-' ) ) { + $data_attrs .= ' ' . esc_attr( $attr_key ) . '="' . esc_attr( $attr_value ) . '"'; + } + } + + if ( isset( $this->wrapper_attrs['class'] ) ) { + $class = str_ireplace( '{default_class}', $class, $this->wrapper_attrs['class'] ); + } + + // ! Consider to esc $data_attrs. + // ? What function we can use to escape string like data-xx="yy"? + printf( '<' . esc_attr( $tag ) . ' id="%s" class="%s"%s>', esc_attr( $id ), esc_attr( $class ), $data_attrs ); + $this->render_content(); + echo ''; + + } + + /** + * Refresh the parameters passed to the JavaScript via JSON. + * + * @access public + * @since 1.0 + * @see WP_Customize_Control::to_json() + * @return void + */ + public function to_json() { + + // Get the basics from the parent class. + parent::to_json(); + + // Default value. + $this->json['default'] = $this->setting->default; + + if ( isset( $this->default ) ) { + $this->json['default'] = $this->default; + } + + // Output. + $this->json['output'] = $this->output; + + // Value. + $this->json['value'] = $this->value(); + + // Choices. + $this->json['choices'] = $this->choices; + + // The link. + $this->json['link'] = $this->get_link(); + + // The ID. + $this->json['id'] = $this->id; + + // Translation strings. + $this->json['l10n'] = $this->l10n(); + + // The ajaxurl in case we need it. + $this->json['ajaxurl'] = admin_url( 'admin-ajax.php' ); + + // Input attributes. + $this->json['inputAttrs'] = ''; + + if ( is_array( $this->input_attrs ) ) { + foreach ( $this->input_attrs as $attr => $value ) { + $this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" '; + } + } + + // The kirki-config. + $this->json['kirkiConfig'] = $this->kirki_config; + + // The option-type. + $this->json['kirkiOptionType'] = $this->option_type; + + // The option-name. + $this->json['kirkiOptionName'] = $this->option_name; + + // The preset. + $this->json['preset'] = $this->preset; + + // The CSS-Variables. + $this->json['css-var'] = $this->css_vars; + + // Parent setting. + $this->json['parent_setting'] = $this->parent_setting; + + // Wrapper Attributes. + $this->json['wrapper_attrs'] = $this->wrapper_attrs; + $this->json['wrapper_atts'] = $this->wrapper_attrs; // For backward compatibility - Could be removed in the future. + + } + + /** + * Render the control's content. + * + * Allows the content to be overridden without having to rewrite the wrapper in `$this::render()`. + * Control content can alternately be rendered in JS. See WP_Customize_Control::print_template(). + * + * @access protected + * @since 1.0 + * @return void + */ + protected function render_content() {} + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @access protected + * @since 1.0 + * @see WP_Customize_Control::print_template() + * @return void + */ + protected function content_template() {} + + /** + * Returns an array of translation strings. + * + * @access protected + * @since 3.0.0 + * @return array + */ + protected function l10n() { + return []; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-base/src/control.js b/functions/kirki/packages/kirki-framework/control-base/src/control.js new file mode 100644 index 0000000..b1a1501 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/src/control.js @@ -0,0 +1,2 @@ +import "./control.scss"; +import "./dynamic-control"; diff --git a/functions/kirki/packages/kirki-framework/control-base/src/dynamic-control.js b/functions/kirki/packages/kirki-framework/control-base/src/dynamic-control.js new file mode 100644 index 0000000..bd9eb14 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-base/src/dynamic-control.js @@ -0,0 +1,289 @@ +/** + * The majority of the code in this file + * is derived from the wp-customize-posts plugin + * and the work of @westonruter to whom I am very grateful. + * + * @see https://github.com/xwp/wp-customize-posts + */ + +(function () { + 'use strict'; + + /** + * A dynamic color-alpha control. + * + * @class + * @augments wp.customize.Control + * @augments wp.customize.Class + */ + wp.customize.kirkiDynamicControl = wp.customize.Control.extend({ + + initialize: function (id, options) { + let control = this; + let args = options || {}; + + args.params = args.params || {}; + + if (!args.params.type) { + args.params.type = 'kirki-generic'; + } + + let className; + + if (args.content) { + let splits = args.content.split('class="'); + splits = splits[1].split('"'); + className = splits[0]; + } else { + className = 'customize-control customize-control-' + args.params.type; + } + + if (!args.params.wrapper_attrs && args.params.wrapper_atts) { + args.params.wrapper_attrs = args.params.wrapper_atts; + } + + // Hijack the container to add wrapper_attrs. + args.params.content = jQuery("
  • "); + args.params.content.attr('id', 'customize-control-' + id.replace(/]/g, '').replace(/\[/g, '-')); + args.params.content.attr('class', className); + + _.each(args.params.wrapper_attrs, function (val, key) { + if ('class' === key) { + val = val.replace('{default_class}', className); + } + + args.params.content.attr(key, val); + }); + + control.propertyElements = []; + wp.customize.Control.prototype.initialize.call(control, id, args); + wp.hooks.doAction('kirki.dynamicControl.init.after', id, control, args); + }, + + /** + * Add bidirectional data binding links between inputs and the setting(s). + * + * This is copied from wp.customize.Control.prototype.initialize(). It + * should be changed in Core to be applied once the control is embedded. + * + * @private + * @returns {void} + */ + _setUpSettingRootLinks: function () { + var control = this, + nodes = control.container.find('[data-customize-setting-link]'); + + nodes.each(function () { + var node = jQuery(this); + + wp.customize(node.data('customizeSettingLink'), function (setting) { + var element = new wp.customize.Element(node); + control.elements.push(element); + element.sync(setting); + element.set(setting()); + }); + }); + }, + + /** + * Add bidirectional data binding links between inputs and the setting properties. + * + * @private + * @returns {void} + */ + _setUpSettingPropertyLinks: function () { + var control = this, + nodes; + + if (!control.setting) { + return; + } + + nodes = control.container.find('[data-customize-setting-property-link]'); + + nodes.each(function () { + var node = jQuery(this), + element, + propertyName = node.data('customizeSettingPropertyLink'); + + element = new wp.customize.Element(node); + control.propertyElements.push(element); + element.set(control.setting()[propertyName]); + + element.bind(function (newPropertyValue) { + var newSetting = control.setting(); + if (newPropertyValue === newSetting[propertyName]) { + return; + } + newSetting = _.clone(newSetting); + newSetting[propertyName] = newPropertyValue; + control.setting.set(newSetting); + }); + control.setting.bind(function (newValue) { + if (newValue[propertyName] !== element.get()) { + element.set(newValue[propertyName]); + } + }); + }); + }, + + /** + * @inheritdoc + */ + ready: function () { + var control = this; + + control._setUpSettingRootLinks(); + control._setUpSettingPropertyLinks(); + + wp.customize.Control.prototype.ready.call(control); + + control.deferred.embedded.done(function () { + control.initKirkiControl(); + wp.hooks.doAction('kirki.dynamicControl.ready.deferred.embedded.done', control); + }); + wp.hooks.doAction('kirki.dynamicControl.ready.after', control); + }, + + /** + * Embed the control in the document. + * + * Override the embed() method to do nothing, + * so that the control isn't embedded on load, + * unless the containing section is already expanded. + * + * @returns {void} + */ + embed: function () { + var control = this, + sectionId = control.section(); + + if (!sectionId) { + return; + } + + wp.customize.section(sectionId, function (section) { + if ('kirki-expanded' === section.params.type || section.expanded() || wp.customize.settings.autofocus.control === control.id) { + control.actuallyEmbed(); + } else { + section.expanded.bind(function (expanded) { + if (expanded) { + control.actuallyEmbed(); + } + }); + } + }); + wp.hooks.doAction('kirki.dynamicControl.embed.after', control); + }, + + /** + * Deferred embedding of control when actually + * + * This function is called in Section.onChangeExpanded() so the control + * will only get embedded when the Section is first expanded. + * + * @returns {void} + */ + actuallyEmbed: function () { + var control = this; + if ('resolved' === control.deferred.embedded.state()) { + return; + } + control.renderContent(); + control.deferred.embedded.resolve(); // This triggers control.ready(). + wp.hooks.doAction('kirki.dynamicControl.actuallyEmbed.after', control); + }, + + /** + * This is not working with autofocus. + * + * @param {object} [args] Args. + * @returns {void} + */ + focus: function (args) { + var control = this; + control.actuallyEmbed(); + wp.customize.Control.prototype.focus.call(control, args); + wp.hooks.doAction('kirki.dynamicControl.focus.after', control); + }, + + /** + * Additional actions that run on ready. + * + * @param {object} control - The control object. If undefined fallsback to the this. + * @returns {void} + */ + initKirkiControl: function (control) { + control = control || this; + wp.hooks.doAction('kirki.dynamicControl.initKirkiControl', this); + + // Save the value + control.container.on('change keyup paste click', 'input', function () { + control.setting.set(jQuery(this).val()); + }); + } + }); +}()); + +(function (api) { + + /** + * Set the value and trigger all bound callbacks. + * + * @since 1.0 + * @param {object} to - New value. + * @returns {Object} - this + */ + api.Value.prototype.set = function (to) { + var from = this._value, + parentSetting, + newVal; + + to = this._setter.apply(this, arguments); + to = this.validate(to); + + // Bail if the sanitized value is null or unchanged. + if (null === to || _.isEqual(from, to)) { + return this; + } + + /** + * Start Kirki mod. + */ + if (this.id && api.control(this.id) && api.control(this.id).params && api.control(this.id).params.parent_setting) { + parentSetting = api.control(this.id).params.parent_setting; + newVal = {}; + newVal[this.id.replace(parentSetting + '[', '').replace(']', '')] = to; + api.control(parentSetting).setting.set(jQuery.extend({}, api.control(parentSetting).setting._value, newVal)); + } + + /** + * End Kirki mod. + */ + + this._value = to; + this._dirty = true; + + this.callbacks.fireWith(this, [to, from]); + + return this; + }; + + /** + * Get the value. + * + * @returns {mixed} - Returns the value. + */ + api.Value.prototype.get = function () { + + // Start Kirki mod. + var parentSetting; + if (this.id && api.control(this.id) && api.control(this.id).params && api.control(this.id).params.parent_setting) { + parentSetting = api.control(this.id).params.parent_setting; + return api.control(parentSetting).setting.get()[this.id.replace(parentSetting + '[', '').replace(']', '')]; + } + // End Kirki mod. + + return this._value; + }; +}(wp.customize)); diff --git a/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.css b/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.css new file mode 100644 index 0000000..fa957b1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-toggle .kirki-toggle{align-items:flex-start;display:flex;justify-content:space-between}.customize-control-kirki-toggle .kirki-toggle .kirki-control-label{width:80%}.customize-control-kirki-toggle .kirki-toggle .kirki-control-form{text-align:right;width:20%}.customize-control-kirki-toggle .kirki-toggle .kirki-toggle-switch-label{width:100%}.customize-control-kirki-toggle .kirki-toggle .kirki-toggle-switch-label:before{right:0}.customize-control-kirki-toggle .kirki-toggle .kirki-toggle-switch-label:after{right:18px}.customize-control-kirki-switch .kirki-switch .kirki-toggle-switch-label{padding:10px 0 12px 44px;text-align:left}.customize-control-kirki-switch .kirki-switch .kirki-toggle-switch-label:after,.customize-control-kirki-switch .kirki-switch .kirki-toggle-switch-label:before{left:0}.customize-control-kirki-switch .kirki-switch .toggle-off,.customize-control-kirki-switch .kirki-switch .toggle-on{bottom:-2px;padding-left:5px;position:relative}.customize-control-kirki-switch .kirki-switch .toggle-on{color:#0073aa;display:none}.customize-control-kirki-switch .kirki-switch .toggle-off{color:#82878c;display:inline-block}.kirki-toggle-switch-label{cursor:pointer;display:inline-block;position:relative}.kirki-toggle-switch-label:after,.kirki-toggle-switch-label:before{box-sizing:border-box;content:"";margin:0;outline:0;position:absolute;top:50%;transform:translate3d(0,-50%,0);transition:all .35s cubic-bezier(0,.95,.38,.98),background-color .15s ease}.kirki-toggle-switch-label:before{background-color:#b4b9be;border:1px solid #b4b9be;border-radius:8px;height:14px;width:37px}.kirki-toggle-switch-label:after{background-color:#999;border:1px solid rgba(0,0,0,.1);border-radius:50%;height:22px;width:22px}.kirki-toggle-switch-input{opacity:0}.kirki-toggle-switch-input:checked+.kirki-toggle-switch-label:after{background-color:#0073aa;transform:translate3d(100%,-50%,0)}.kirki-toggle-switch-input:checked+.kirki-toggle-switch-label .toggle-on{display:inline-block}.kirki-toggle-switch-input:checked+.kirki-toggle-switch-label .toggle-off{display:none} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.js b/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.js new file mode 100644 index 0000000..5a76b16 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-checkbox/dist/control.js @@ -0,0 +1,2 @@ +!function(){var i={initKirkiControl:function(i){(i=i||this).container.on("change","input",(function(){i.setting.set(jQuery(this).is(":checked"))}))}};wp.customize.controlConstructor["kirki-checkbox"]=wp.customize.kirkiDynamicControl.extend(i),wp.customize.controlConstructor["kirki-switch"]=wp.customize.kirkiDynamicControl.extend(i),wp.customize.controlConstructor["kirki-toggle"]=wp.customize.kirkiDynamicControl.extend(i)}(); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox.php b/functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox.php new file mode 100644 index 0000000..8c8aebe --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-checkbox/src/Control/Checkbox.php @@ -0,0 +1,90 @@ + + aria-describedby="_customize-description-{{ data.id }}"<# } #> + <# if ( data.value ) { #>checked="checked"<# } #> + /> + + <# if ( data.description ) { #> + {{{ data.description }}} + <# } #> + json['checkboxType'] = str_ireplace( 'kirki-', '', $this->type ); + + $this->json['defaultChoices'] = [ + 'on' => __( 'On', 'kirki' ), + 'off' => __( 'Off', 'kirki' ), + ]; + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() { + ?> + +
    + <# if ( data.label || data.description ) { #> +
    + <# if ( data.label ) { #> + + <# } #> + + <# if ( data.description ) { #> + {{{ data.description }}} + <# } #> +
    + <# } #> + +
    + checked<# } #> /> + +
    +
    + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = function( $value ) { + return ( '0' === $value || 'false' === $value ) ? false : (bool) $value; + }; + } + + $args['default'] = isset( $args['default'] ) ? $args['default'] : false; + + // Make sure the default is formatted as boolean. + $args['default'] = (bool) ( 1 === $args['default'] || '1' === $args['default'] || true === $args['default'] || 'true' === $args['default'] || 'on' === $args['default'] ); + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-checkbox'; + } + + return $args; + + } +} diff --git a/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Switch.php b/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Switch.php new file mode 100644 index 0000000..092f7a2 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Switch.php @@ -0,0 +1,57 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-switch'; + } + + return $args; + + } +} diff --git a/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Toggle.php b/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Toggle.php new file mode 100644 index 0000000..94d69e9 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-checkbox/src/Field/Checkbox_Toggle.php @@ -0,0 +1,55 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-toggle'; + } + + return $args; + + } +} diff --git a/functions/kirki/packages/kirki-framework/control-code/LICENSE b/functions/kirki/packages/kirki-framework/control-code/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-code/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-code/README.md b/functions/kirki/packages/kirki-framework/control-code/README.md new file mode 100644 index 0000000..8940918 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-code/README.md @@ -0,0 +1,14 @@ +# control-code + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-code +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-code/src/Control/Code.php b/functions/kirki/packages/kirki-framework/control-code/src/Control/Code.php new file mode 100644 index 0000000..a0466e3 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-code/src/Control/Code.php @@ -0,0 +1,125 @@ +editor_settings = wp_enqueue_code_editor( + array_merge( + array( + 'type' => $this->code_type, + 'codemirror' => array( + 'indentUnit' => 2, + 'tabSize' => 2, + ), + ), + $this->editor_settings + ) + ); + } + + /** + * Refresh the parameters passed to the JavaScript via JSON. + * + * @since 1.0.2 + * + * @see WP_Customize_Control::json() + * + * @return array Array of parameters passed to the JavaScript. + */ + public function json() { + $json = parent::json(); + $json['editor_settings'] = $this->editor_settings; + $json['input_attrs'] = $this->input_attrs; + return $json; + } + + /** + * Don't render the control content from PHP, as it's rendered via JS on load. + * + * @since 1.0.2 + */ + public function render_content() {} + + /** + * Render a JS template for control display. + * + * @since 1.0.2 + */ + public function content_template() { + ?> + <# var elementIdPrefix = 'el' + String( Math.random() ); #> + <# if ( data.label ) { #> + + <# } #> + <# if ( data.description ) { #> + {{{ data.description }}} + <# } #> +
    + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = function( $value ) { + /** + * Code fields should not be filtered by default. + * Their values usually contain CSS/JS and it it the responsibility + * of the theme/plugin that registers this field + * to properly apply any necessary sanitization. + */ + return $value; + }; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + $args['type'] = 'code_editor'; + + $args['input_attrs'] = [ + 'aria-describedby' => 'kirki-code editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4', + ]; + if ( ! isset( $args['choices']['language'] ) ) { + return; + } + + $language = $args['choices']['language']; + switch ( $language ) { + case 'json': + case 'xml': + $language = 'application/' . $language; + break; + case 'http': + $language = 'message/' . $language; + break; + case 'js': + case 'javascript': + $language = 'text/javascript'; + break; + case 'txt': + $language = 'text/plain'; + break; + case 'css': + case 'jsx': + case 'html': + $language = 'text/' . $language; + break; + default: + $language = ( 'js' === $language ) ? 'javascript' : $language; + $language = ( 'htm' === $language ) ? 'html' : $language; + $language = ( 'yml' === $language ) ? 'yaml' : $language; + $language = 'text/x-' . $language; + break; + } + if ( ! isset( $args['editor_settings'] ) ) { + $args['editor_settings'] = []; + } + if ( ! isset( $args['editor_settings']['codemirror'] ) ) { + $args['editor_settings']['codemirror'] = []; + } + if ( ! isset( $args['editor_settings']['codemirror']['mode'] ) ) { + $args['editor_settings']['codemirror']['mode'] = $language; + } + + if ( 'text/x-scss' === $args['editor_settings']['codemirror']['mode'] ) { + $args['editor_settings']['codemirror'] = array_merge( + $args['editor_settings']['codemirror'], + [ + 'lint' => false, + 'autoCloseBrackets' => true, + 'matchBrackets' => true, + ] + ); + } + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/.babelrc b/functions/kirki/packages/kirki-framework/control-color-palette/.babelrc new file mode 100644 index 0000000..fdf1f70 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/.babelrc @@ -0,0 +1,10 @@ +{ + "presets": [ + [ + "@babel/preset-react", + { + "runtime": "classic" + } + ] + ] +} diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/README.md b/functions/kirki/packages/kirki-framework/control-color-palette/README.md new file mode 100644 index 0000000..4179cbf --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/README.md @@ -0,0 +1,98 @@ +# Kirki Color Palette Control +A `control-color-palette` package for Kirki Customizer Framework. + +## Table of Contents +- [Kirki Color Palette Control](#kirki-color-palette-control) + - [Table of Contents](#table-of-contents) + - [Installation](#installation) + - [Usage](#usage) + - [Using Kirki API](#using-kirki-api) + - [Using WordPress Customizer API](#using-wordpress-customizer-api) + - [License](#license) + +## Installation +First, install the package using composer: + +```bash +composer require kirki-framework/control-color-palette +``` + +Then make sure you have included the autoloader: + +```php +require_once "your/path/to/vendor/autoload.php"; +``` + +## Usage + +This control can be consumed using Kirki API or using WordPress Customizer API. + +### Using Kirki API + +```php +new \Kirki\Field\Color_Palette( + [ + 'settings' => 'your_control_setting_id', + 'label' => esc_html__( 'Your Control Label', 'your-text-domain' ), + 'description' => esc_html__( 'Your control description.', 'your-text-domain' ), + 'section' => 'your_section_id', + 'default' => 5, + 'choices' => [ + 'colors' => [ '#000000', '#222222', '#444444', '#666666', '#888888', '#aaaaaa', '#cccccc', '#eeeeee', '#ffffff' ], + 'shape' => 'round', // Optional, default is 'square'. + 'size' => 20, // Optional, default is 28. + ], + ] +); +``` + +### Using WordPress Customizer API + +```php +/** + * Register customizer settings and controls. + * + * @param \WP_Customize_Manager $wp_customize The Customizer object. + */ +function your_customize_register_function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( + 'your_control_setting_id', + [ + 'type' => 'theme_mod', // Or 'option'. + 'capability' => 'edit_theme_options', + 'default' => 5, + 'transport' => 'postMessage', // Or 'refresh'. + 'sanitize' => 'intval', // Or 'absint' or other int sanitization. + ] + ); + + // Add control. + $wp_customize->add_control( + new \Kirki\Control\Color_Palette( + $wp_customize, + 'your_control_setting_id', + [ + 'label' => esc_html__( 'Your Control Label', 'your-text-domain' ), + 'description' => esc_html__( 'Your control description.', 'your-text-domain' ), + 'section' => 'your_section_id', + 'choices' => [ + 'colors' => [ '#000000', '#222222', '#444444', '#666666', '#888888', '#aaaaaa', '#cccccc', '#eeeeee', '#ffffff' ], + 'shape' => 'round', // Optional, default is 'square'. + 'size' => 20, // Optional, default is 28. + ], + ] + ) + ); + + // Add more settings... + + // Add more controls... + +} +add_action( 'customize_register', 'your_customize_register_function' ); +``` + +## License +[MIT License](https://oss.ninja/mit?organization=Kirki%20Framework) diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.css b/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.css new file mode 100644 index 0000000..a50ff11 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-color-palette,.customize-control-kirki-color-palette *{box-sizing:border-box}.customize-control-kirki-color-palette .kirki-control-label{display:block;position:relative}.customize-control-kirki-color-palette .kirki-control-form{margin-bottom:6px;position:relative}.customize-control-kirki-color-palette .kirki-control-form:hover .kirki-control-reset{opacity:1}.customize-control-kirki-color-palette .kirki-control-reset{align-items:center;background-color:transparent;border-radius:50%;border-width:0;color:#50575e;cursor:pointer;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:0;top:0;transition:all .3s;width:20px;z-index:3}.customize-control-kirki-color-palette .kirki-control-reset:focus{opacity:1}.customize-control-kirki-color-palette .kirki-control-reset:hover i{color:red;transform:rotate(-45deg)}.customize-control-kirki-color-palette .kirki-control-reset i{font-size:12px;height:auto;transform:rotate(45deg);transition:transform .3s;width:auto}.customize-control-kirki-color-palette .kirki-colors{align-items:center;display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;width:100%}.customize-control-kirki-color-palette .kirki-colors.kirki-round-colors .kirki-color div{border-radius:50%}.customize-control-kirki-color-palette .kirki-color{display:block;margin:0 11px 11px 0;padding:0;position:relative}.customize-control-kirki-color-palette .kirki-color:last-child{padding-right:0}.customize-control-kirki-color-palette .kirki-color>div{align-items:center;border:1px solid #dedede;border-radius:4px;cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;transform:scale(1);transition:transform .2s;width:100%}.customize-control-kirki-color-palette .kirki-color>div:hover{transform:scale(1.2)}.customize-control-kirki-color-palette .kirki-color.is-selected>div{border-color:#2271b1;border-width:4px} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.js b/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.js new file mode 100644 index 0000000..7601386 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/dist/control.js @@ -0,0 +1,2 @@ +(()=>{var t={};t=React;var e=e=>{const{control:o,customizerSetting:n,choices:i}=e,[a,c]=t.useState(e.value);o.updateComponentState=t=>{c(t)};const r=t=>{n.set(t.target.title)},s=i.size+2;return React.createElement("div",{className:"kirki-control-form",tabIndex:"1"},React.createElement("label",{className:"kirki-control-label"},React.createElement("span",{className:"customize-control-title"},e.label),React.createElement("span",{className:"customize-control-description description",dangerouslySetInnerHTML:{__html:e.description}})),React.createElement("div",{className:"customize-control-notifications-container",ref:e.setNotificationContainer}),React.createElement("button",{type:"button",className:"kirki-control-reset",onClick:()=>{""!==e.default&&void 0!==e.default?n.set(e.default):n.set(e.value)}},React.createElement("i",{className:"dashicons dashicons-image-rotate"})),React.createElement("ul",{className:"kirki-colors kirki-"+i.shape+"-colors"},i.colors.map(((t,e)=>{const o=t===a?"kirki-color is-selected":"kirki-color";return React.createElement("li",{key:e.toString(),className:o,style:{width:s+"px",height:s+"px"}},React.createElement("div",{title:t,style:{backgroundColor:t},onClick:r}))}))))};function o(){return o=Object.assign||function(t){for(var e=1;e{t.updateComponentState(e)}))},updateComponentState:t=>{},destroy:function(){ReactDOM.unmountComponentAtNode(this.container[0]),wp.customize.Control.prototype.destroy&&wp.customize.Control.prototype.destroy.call(this)}});wp.customize.controlConstructor["kirki-color-palette"]=n})(); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/src/Control/Color_Palette.php b/functions/kirki/packages/kirki-framework/control-color-palette/src/Control/Color_Palette.php new file mode 100644 index 0000000..db786a4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/src/Control/Color_Palette.php @@ -0,0 +1,123 @@ +json['label'] ) ) { + $this->json['label'] = html_entity_decode( $this->json['label'] ); + } + + if ( isset( $this->json['description'] ) ) { + $this->json['description'] = html_entity_decode( $this->json['description'] ); + } + + $this->json['value'] = strtolower( $this->json['value'] ); + + $choices = $this->json['choices']; + + $this->json['choices'] = wp_parse_args( + $choices, + [ + 'shape' => 'square', + 'size' => 28, + 'colors' => [], + ] + ); + + $this->json['choices']['colors'] = array_map( 'strtolower', $this->json['choices']['colors'] ); + + if ( isset( $choices['style'] ) && ! empty( $choices['style'] ) ) { + if ( ! isset( $choices['shape'] ) || empty( $choices['shape'] ) ) { + $this->json['choices']['shape'] = $choices['style']; + } + + unset( $this->json['choices']['style'] ); + } + + if ( ! is_numeric( $this->json['choices']['size'] ) ) { + $this->json['choices']['size'] = 28; + } + + $this->json['choices']['shape'] = 'circle' === $this->json['choices']['shape'] ? 'round' : $this->json['choices']['shape']; + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding WP_Customize_Control::to_json(). + * + * @see WP_Customize_Control::print_template() + * + * @since 1.0 + */ + protected function content_template() {} + +} diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/src/Field/Color_Palette.php b/functions/kirki/packages/kirki-framework/control-color-palette/src/Field/Color_Palette.php new file mode 100644 index 0000000..e06324d --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/src/Field/Color_Palette.php @@ -0,0 +1,147 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize_callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = [ __CLASS__, 'sanitize' ]; + } + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @param array $args The field arguments. + * @param \WP_Customize_Manager $wp_customize The customizer instance. + * + * @return array $args The maybe-filtered arguments. + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-color-palette'; + } + + return $args; + + } + + /** + * Sanitize colors. + * + * @static + * @access public + * @since 1.0.2 + * @param string $value The color. + * @return string + */ + public static function sanitize( $value ) { + + /** + * This pattern will check and match 3/6/8-character hex, rgb, rgba, hsl, hsla, hsv, and hsva colors. + * + * RGB regex: + * @link https://stackoverflow.com/questions/9585973/javascript-regular-expression-for-rgb-values#answer-9586045 + * + * For testing it, you can use these links: + * + * @link https://regex101.com/ + * @link https://regexr.com/ + * @link https://www.regextester.com/ + * + * How to test it? + * + * Paste the following code to the test field (of course without the asterisks and spaces in front of them): + * rgba(255, 255, 0, 0.9) + * rgb(255, 255, 0) + * #ff0 + * #ffff00 + * hsl(150, 25%, 25%) + * hsla(250, 25%, 25%, 0.7) + * hsv(125, 15%, 30%) + * hsva(125, 15%, 30%, 0.5) + * + * And then paste the regex `$pattern` below (without the single quote's start and end) to the regular expression box. + * Set the flag to use "global" and "multiline". + */ + $pattern = '/^(\#[\da-f]{3}|\#[\da-f]{6}|\#[\da-f]{8}|rgba\(((\d{1,2}|1\d\d|2([0-4]\d|5[0-5]))\s*,\s*){2}((\d{1,2}|1\d\d|2([0-4]\d|5[0-5]))\s*)(,\s*(0\.\d+|1))\)|rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)|hsla\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)(,\s*(0\.\d+|1))\)|hsl\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)\)|hsva\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)(,\s*(0\.\d+|1))\)|hsv\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)\))$/'; + + \preg_match( $pattern, $value, $matches ); + + // Return the 1st match found. + if ( isset( $matches[0] ) ) { + if ( is_string( $matches[0] ) ) { + return $matches[0]; + } + + if ( is_array( $matches[0] ) && isset( $matches[0][0] ) ) { + return $matches[0][0]; + } + } + + // If no match was found, return an empty string. + return ''; + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteControl.js b/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteControl.js new file mode 100644 index 0000000..5d2b693 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteControl.js @@ -0,0 +1,128 @@ +import KirkiColorPaletteForm from './KirkiColorPaletteForm'; + +/** + * KirkiColorPaletteControl. + * + * Global objects brought: + * - wp + * - jQuery + * - React + * - ReactDOM + * + * @class + * @augments wp.customize.Control + * @augments wp.customize.Class + */ +const KirkiColorPaletteControl = wp.customize.Control.extend({ + + /** + * Initialize. + * + * @param {string} id - Control ID. + * @param {object} params - Control params. + */ + initialize: function (id, params) { + const control = this; + + // Bind functions to this control context for passing as React props. + control.setNotificationContainer = control.setNotificationContainer.bind(control); + + wp.customize.Control.prototype.initialize.call(control, id, params); + + // The following should be eliminated with . + function onRemoved(removedControl) { + if (control === removedControl) { + control.destroy(); + control.container.remove(); + wp.customize.control.unbind('removed', onRemoved); + } + } + wp.customize.control.bind('removed', onRemoved); + }, + + /** + * Set notification container and render. + * + * This is called when the React component is mounted. + * + * @param {Element} element - Notification container. + * @returns {void} + */ + setNotificationContainer: function setNotificationContainer(element) { + const control = this; + + control.notifications.container = jQuery(element); + control.notifications.render(); + }, + + /** + * Render the control into the DOM. + * + * This is called from the Control#embed() method in the parent class. + * + * @returns {void} + */ + renderContent: function renderContent() { + const control = this; + + ReactDOM.render( + , + control.container[0] + ); + + if (false !== control.params.choices.allowCollapse) { + control.container.addClass('allowCollapse'); + } + }, + + /** + * After control has been first rendered, start re-rendering when setting changes. + * + * React is able to be used here instead of the wp.customize.Element abstraction. + * + * @returns {void} + */ + ready: function ready() { + const control = this; + + /** + * Update component value's state when customizer setting's value is changed. + */ + control.setting.bind((val) => { + control.updateComponentState(val); + }); + }, + + /** + * This method will be overriden by the rendered component. + */ + updateComponentState: (val) => { }, + + /** + * Handle removal/de-registration of the control. + * + * This is essentially the inverse of the Control#embed() method. + * + * @link https://core.trac.wordpress.org/ticket/31334 + * @returns {void} + */ + destroy: function destroy() { + const control = this; + + // Garbage collection: undo mounting that was done in the embed/renderContent method. + ReactDOM.unmountComponentAtNode(control.container[0]); + + // Call destroy method in parent if it exists (as of #31334). + if (wp.customize.Control.prototype.destroy) { + wp.customize.Control.prototype.destroy.call(control); + } + } +}); + +export default KirkiColorPaletteControl; diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteForm.js b/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteForm.js new file mode 100644 index 0000000..92ea7b6 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/src/KirkiColorPaletteForm.js @@ -0,0 +1,78 @@ +import { useState } from "react"; + +const KirkiColorPaletteForm = (props) => { + const { control, customizerSetting, choices } = props; + + const [selectedItem, setSelectedItem] = useState(props.value); + + control.updateComponentState = (val) => { + setSelectedItem(val); + }; + + const handleSelect = (e) => { + customizerSetting.set(e.target.title); + }; + + const handleReset = () => { + if ("" !== props.default && "undefined" !== typeof props.default) { + customizerSetting.set(props.default); + } else { + customizerSetting.set(props.value); + } + }; + + const size = choices.size + 2; // 2 here is 1px border on each side. + + return ( +
    + + +
    + + + +
      + {choices.colors.map((color, index) => { + const itemClassName = + color === selectedItem ? "kirki-color is-selected" : "kirki-color"; + + return ( +
    • +
      +
    • + ); + })} +
    +
    + ); +}; + +export default KirkiColorPaletteForm; diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/src/control.js b/functions/kirki/packages/kirki-framework/control-color-palette/src/control.js new file mode 100644 index 0000000..c428833 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/src/control.js @@ -0,0 +1,6 @@ +import "./control.scss"; +import KirkiColorPaletteControl from './KirkiColorPaletteControl'; + + +// Register control type with Customizer. +wp.customize.controlConstructor['kirki-color-palette'] = KirkiColorPaletteControl; diff --git a/functions/kirki/packages/kirki-framework/control-color-palette/webpack.config.js b/functions/kirki/packages/kirki-framework/control-color-palette/webpack.config.js new file mode 100644 index 0000000..4d0ea32 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color-palette/webpack.config.js @@ -0,0 +1,41 @@ +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +module.exports = { + externals: { + "jquery": "jQuery", + "react": "React", + "react-dom": "ReactDOM" + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: "./control.css" + }) + ], + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader" + } + }, + { + test: /\.s[ac]ss$/i, + use: [ + // Extracts CSS into separate files + MiniCssExtractPlugin.loader, + // Translates CSS into CommonJS + "css-loader", + // Compiles Sass to CSS + "sass-loader", + ], + } + ] + }, + entry: "./src/control.js", + output: { + filename: "control.js", + }, + devtool: "source-map" +}; diff --git a/functions/kirki/packages/kirki-framework/control-color/LICENSE b/functions/kirki/packages/kirki-framework/control-color/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-color/src/Field/Color.php b/functions/kirki/packages/kirki-framework/control-color/src/Field/Color.php new file mode 100644 index 0000000..4c3eba9 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-color/src/Field/Color.php @@ -0,0 +1,23 @@ +register_control_type( '\Kirki\Control\Custom' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '
    + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = '__return_null'; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-custom'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/LICENSE b/functions/kirki/packages/kirki-framework/control-dashicons/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/README.md b/functions/kirki/packages/kirki-framework/control-dashicons/README.md new file mode 100644 index 0000000..0f1e93f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/README.md @@ -0,0 +1,55 @@ +# control-dashicons + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-dashicons +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Dashicons' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'menu', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Dashicons( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Dashicons Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.css b/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.css new file mode 100644 index 0000000..df4b16b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-dashicons{position:relative}.customize-control-kirki-dashicons label{display:inline-block;position:relative}.customize-control-kirki-dashicons .icons-wrapper{max-height:300px;overflow-y:scroll}.customize-control-kirki-dashicons .icons-wrapper h4{font-weight:300;margin:.7em 0}.customize-control-kirki-dashicons .icons-wrapper .dashicons{border:1px solid transparent;font-size:25px;height:25px;padding:3px;width:25px}.customize-control-kirki-dashicons .icons-wrapper input{display:none}.customize-control-kirki-dashicons .icons-wrapper input:checked+label .dashicons{border:1px solid #3498db;color:#000} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.js b/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.js new file mode 100644 index 0000000..5f3074a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-dashicons"]=wp.customize.kirkiDynamicControl.extend({}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/src/Control/Dashicons.php b/functions/kirki/packages/kirki-framework/control-dashicons/src/Control/Dashicons.php new file mode 100644 index 0000000..6392350 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/src/Control/Dashicons.php @@ -0,0 +1,140 @@ +json['icons'] = \Kirki\Util\Dashicons::get_icons(); + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() { + ?> + <# if ( data.label ) { #>{{{ data.label }}}<# } #> + <# if ( data.description ) { #>{{{ data.description }}}<# } #> +
    + <# if ( ! _.isUndefined( data.choices ) && 1 < _.size( data.choices ) ) { #> + <# for ( key in data.choices ) { #> + checked="checked"<# } #>> + + + <# } #> + <# } else { #> + <# + var dashiconSections = { + 'admin-menu': '', + 'welcome-screen': '', + 'post-formats': '', + 'media': '', + 'image-editing': '', + 'tinymce': 'TinyMCE', + 'posts': '', + 'sorting': '', + 'social': '', + 'wordpress_org': 'WordPress', + 'products': '', + 'taxonomies': '', + 'widgets': '', + 'notifications': '', + 'misc': '' + }; + #> + <# _.each( dashiconSections, function( sectionLabel, sectionKey ) { #> +

    {{ sectionLabel }}

    + <# for ( key in data.icons[ sectionKey ] ) { #> + checked="checked"<# } #>> + + + <# } #> + <# }); #> + <# } #> +
    + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'sanitize_text_field'; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-dashicons'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/src/Util/Dashicons.php b/functions/kirki/packages/kirki-framework/control-dashicons/src/Util/Dashicons.php new file mode 100644 index 0000000..da2585b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/src/Util/Dashicons.php @@ -0,0 +1,47 @@ + [ 'menu', 'menu-alt', 'menu-alt2', 'menu-alt3', 'admin-site', 'admin-site-alt', 'admin-site-alt2', 'admin-site-alt3', 'dashboard', 'admin-post', 'admin-media', 'admin-links', 'admin-page', 'admin-comments', 'admin-appearance', 'admin-plugins', 'plugins-checked', 'admin-users', 'admin-tools', 'admin-settings', 'admin-network', 'admin-home', 'admin-generic', 'admin-collapse', 'filter', 'admin-customizer', 'admin-multisite' ], + 'welcome-screen' => [ 'welcome-write-blog', 'welcome-add-page', 'welcome-view-site', 'welcome-widgets-menus', 'welcome-comments', 'welcome-learn-more' ], + 'post-formats' => [ 'format-aside', 'format-image', 'format-gallery', 'format-video', 'format-status', 'format-quote', 'format-chat', 'format-audio', 'camera', 'camera-alt', 'images-alt', 'images-alt2', 'video-alt', 'video-alt2', 'video-alt3' ], + 'media' => [ 'media-archive', 'media-audio', 'media-code', 'media-default', 'media-document', 'media-interactive', 'media-spreadsheet', 'media-text', 'media-video', 'playlist-audio', 'playlist-video', 'controls-play', 'controls-pause', 'controls-forward', 'controls-skipforward', 'controls-back', 'controls-skipback', 'controls-repeat', 'controls-volumeon', 'controls-volumeoff' ], + 'image-editing' => [ 'image-crop', 'image-rotate', 'image-rotate-left', 'image-rotate-right', 'image-flip-vertical', 'image-flip-horizontal', 'image-filter', 'undo', 'redo' ], + 'tinymce' => [ 'editor-bold', 'editor-italic', 'editor-ul', 'editor-ol', 'editor-ol-rtl', 'editor-quote', 'editor-alignleft', 'editor-aligncenter', 'editor-alignright', 'editor-insertmore', 'editor-spellcheck', 'editor-expand', 'editor-contract', 'editor-kitchensink', 'editor-underline', 'editor-justify', 'editor-textcolor', 'editor-paste-word', 'editor-paste-text', 'editor-removeformatting', 'editor-video', 'editor-customchar', 'editor-outdent', 'editor-indent', 'editor-help', 'editor-strikethrough', 'editor-unlink', 'editor-rtl', 'editor-ltr', 'editor-break', 'editor-code', 'editor-paragraph', 'editor-table' ], + 'posts' => [ 'align-left', 'align-right', 'align-center', 'align-none', 'lock', 'unlock', 'calendar', 'calendar-alt', 'visibility', 'hidden', 'post-status', 'edit', 'trash', 'sticky' ], + 'sorting' => [ 'external', 'arrow-up', 'arrow-down', 'arrow-right', 'arrow-left', 'arrow-up-alt', 'arrow-down-alt', 'arrow-right-alt', 'arrow-left-alt', 'arrow-up-alt2', 'arrow-down-alt2', 'arrow-right-alt2', 'arrow-left-alt2', 'sort', 'leftright', 'randomize', 'list-view', 'exerpt-view', 'grid-view', 'move' ], + 'social' => [ 'share', 'share-alt', 'share-alt2', 'twitter', 'rss', 'email', 'email-alt', 'email-alt2', 'facebook', 'facebook-alt', 'googleplus', 'networking', 'instagram' ], + 'wordpress_org' => [ 'hammer', 'art', 'migrate', 'performance', 'universal-access', 'universal-access-alt', 'tickets', 'nametag', 'clipboard', 'heart', 'megaphone', 'schedule', 'tide', 'rest-api', 'code-standards' ], + 'products' => [ 'wordpress', 'wordpress-alt', 'pressthis', 'update', 'update-alt', 'screenoptions', 'info', 'cart', 'feedback', 'cloud', 'translation' ], + 'taxonomies' => [ 'tag', 'category' ], + 'widgets' => [ 'archive', 'tagcloud', 'text' ], + 'notifications' => [ 'yes', 'yes-alt', 'no', 'no-alt', 'plus', 'plus-alt', 'minus', 'dismiss', 'marker', 'star-filled', 'star-half', 'star-empty', 'flag', 'warning' ], + 'misc' => [ 'location', 'location-alt', 'vault', 'shield', 'shield-alt', 'sos', 'search', 'slides', 'text-page', 'analytics', 'chart-pie', 'chart-bar', 'chart-line', 'chart-area', 'groups', 'businessman', 'businesswoman', 'businessperson', 'id', 'id-alt', 'products', 'awards', 'forms', 'testimonial', 'portfolio', 'book', 'book-alt', 'download', 'upload', 'backup', 'clock', 'lightbulb', 'microphone', 'desktop', 'tablet', 'smartphone', 'phone', 'index-card', 'carrot', 'building', 'store', 'album', 'palmtree', 'tickets-alt', 'money', 'smiley', 'thumbs-up', 'thumbs-down', 'layout', 'paperclip' ], + ]; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-dashicons/src/control.js b/functions/kirki/packages/kirki-framework/control-dashicons/src/control.js new file mode 100644 index 0000000..51cbb81 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dashicons/src/control.js @@ -0,0 +1,3 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-dashicons'] = wp.customize.kirkiDynamicControl.extend( {} ); diff --git a/functions/kirki/packages/kirki-framework/control-date/LICENSE b/functions/kirki/packages/kirki-framework/control-date/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-date/README.md b/functions/kirki/packages/kirki-framework/control-date/README.md new file mode 100644 index 0000000..e393daa --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/README.md @@ -0,0 +1,55 @@ +# control-date + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-date +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Date' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Date( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-date/dist/control.css b/functions/kirki/packages/kirki-framework/control-date/dist/control.css new file mode 100644 index 0000000..833b0a7 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/dist/control.css @@ -0,0 +1,2 @@ +.kirki-datepicker-popup{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 12px 15px 0 rgba(0,0,0,.09);margin-top:15px;max-width:275px;overflow:hidden;padding-bottom:10px;z-index:500001!important}.kirki-datepicker-popup .ui-datepicker-header{background-color:#eee;padding:10px}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev{align-items:center;border-radius:50%;cursor:pointer;display:flex;height:30px;justify-content:center;overflow:hidden;position:absolute;transition:all .2s;width:30px}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:active,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:focus,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:hover,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:active,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:focus,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:hover{background-color:#2271b1;color:#fff}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:after,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:before,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:after,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:before{font-family:dashicons}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next .ui-icon,.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev .ui-icon{display:none}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev{left:10px}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-prev:before{content:"\f341"}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next{right:10px}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-next:after{content:"\f345"}.kirki-datepicker-popup .ui-datepicker-header .ui-datepicker-title{align-items:center;display:flex;font-size:16px;height:30px;justify-content:center;text-align:center;width:100%}.kirki-datepicker-popup .ui-datepicker-calendar{border-collapse:collapse;padding-bottom:20px;width:100%}.kirki-datepicker-popup .ui-datepicker-calendar thead{background-color:#ddd;padding-left:5px;padding-right:5px}.kirki-datepicker-popup .ui-datepicker-calendar thead th{font-size:13px;font-weight:600;padding-bottom:5px;padding-top:5px;text-align:center}.kirki-datepicker-popup .ui-datepicker-calendar tbody{padding:5px}.kirki-datepicker-popup .ui-datepicker-calendar tbody td{padding:2px;text-align:center}.kirki-datepicker-popup .ui-datepicker-calendar tbody a{color:#333;text-decoration:none}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-datepicker-today .ui-state-default{background-color:#eee}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-datepicker-today .ui-state-active,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-datepicker-today .ui-state-active:active,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-datepicker-today .ui-state-active:focus,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-datepicker-today .ui-state-active:hover{background-color:#2271b1}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-default{align-items:center;border-radius:50%;display:inline-flex;height:30px;justify-content:center;width:30px}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-default:active,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-default:hover{background-color:#eee}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-active,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-default:focus{background-color:#2271b1;color:#fff}.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-active:active,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-active:focus,.kirki-datepicker-popup .ui-datepicker-calendar tbody .ui-state-active:hover{background-color:#2271b1} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-date/dist/control.js b/functions/kirki/packages/kirki-framework/control-date/dist/control.js new file mode 100644 index 0000000..0553cae --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-date"]=wp.customize.kirkiDynamicControl.extend({handleWidth:function(e){document.querySelector("#kirki-style-datepicker").innerHTML=".kirki-datepicker-popup {width: "+e.clientWidth.toString()+"px;}"},initKirkiControl:function(e){var t;t=(e=e||this).selector+" input.datepicker";var i=document.querySelector("#kirki-style-datepicker");i||((i=document.createElement("style")).id="kirki-style-datepicker",document.head.appendChild(i)),jQuery(t).datepicker({dateFormat:"yy-mm-dd",duration:200,beforeShow:function(t,i){i.dpDiv[0].classList.add("kirki-datepicker-popup"),e.handleWidth(t)}}),this.container.on("change keyup paste","input.datepicker",(function(){e.setting.set(jQuery(this).val())}))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-date/src/Control/Date.php b/functions/kirki/packages/kirki-framework/control-date/src/Control/Date.php new file mode 100644 index 0000000..7540393 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/src/Control/Date.php @@ -0,0 +1,82 @@ + + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'sanitize_text_field'; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-date'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-date/src/control.js b/functions/kirki/packages/kirki-framework/control-date/src/control.js new file mode 100644 index 0000000..5f6a1f9 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-date/src/control.js @@ -0,0 +1,39 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-date'] = wp.customize.kirkiDynamicControl.extend({ + + handleWidth: (input) => { + var styleTag = document.querySelector('#kirki-style-datepicker'); + styleTag.innerHTML = '.kirki-datepicker-popup {width: ' + input.clientWidth.toString() + 'px;}'; + }, + + initKirkiControl: function (control) { + var selector; + + control = control || this; + selector = control.selector + ' input.datepicker'; + + var styleTag = document.querySelector('#kirki-style-datepicker'); + + if (!styleTag) { + styleTag = document.createElement('style'); + styleTag.id = 'kirki-style-datepicker'; + document.head.appendChild(styleTag); + } + + // Init the datepicker. + jQuery(selector).datepicker({ + dateFormat: 'yy-mm-dd', + duration: 200, + beforeShow: function (input, inst) { + inst.dpDiv[0].classList.add('kirki-datepicker-popup'); + control.handleWidth(input); + } + }); + + // Save the changes + this.container.on('change keyup paste', 'input.datepicker', function () { + control.setting.set(jQuery(this).val()); + }); + } +}); diff --git a/functions/kirki/packages/kirki-framework/control-dimension/LICENSE b/functions/kirki/packages/kirki-framework/control-dimension/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-dimension/README.md b/functions/kirki/packages/kirki-framework/control-dimension/README.md new file mode 100644 index 0000000..8bb4308 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/README.md @@ -0,0 +1,55 @@ +# control-dimension + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-dimension +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Dimension' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '10px', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Dimension( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-dimension/dist/control.css b/functions/kirki/packages/kirki-framework/control-dimension/dist/control.css new file mode 100644 index 0000000..c672749 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-dimension .has-label-bottom .kirki-control-label{color:#333;font-size:11px;font-weight:500;margin-top:3px;text-align:center}.customize-control-kirki-dimension .has-label-bottom .kirki-control-input{background-color:#f7f7f7}.customize-control-kirki-dimension .has-label-bottom .kirki-control-input:focus{background-color:#fff} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-dimension/dist/control.js b/functions/kirki/packages/kirki-framework/control-dimension/dist/control.js new file mode 100644 index 0000000..5974f91 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-dimension"]=wp.customize.kirkiDynamicControl.extend({initKirkiControl:function(i){var n;(i=i||this).kirkiNotifications(),i.container.on("change keyup paste","input",(function(){n=jQuery(this).val(),i.setting.set(n)}))},kirkiNotifications:function(){var i=this,n=void 0!==i.params.choices&&void 0!==i.params.choices.accept_unitless&&!0===i.params.choices.accept_unitless;wp.customize(i.id,(function(t){t.bind((function(e){var a="long_title";!1!==i.validateCssValue(e)||n&&!isNaN(e)?t.notifications.remove(a):t.notifications.add(a,new wp.customize.Notification(a,{type:"warning",message:dimensionkirkiL10n["invalid-value"]}))}))}))},validateCssValue:function(i){var n,t,e,a=this,o=!0;return!i||""===i||0===i||"0"===i||"auto"===i||"inherit"===i||"initial"===i||0<=i.indexOf("calc(")&&0<=i.indexOf(")")||(n=parseFloat(i),!(t=i.replace(n,""))||(2<=(e=i.split(" ")).length?(e.forEach((function(i){i&&!a.validateCssValue(i)&&(o=!1)})),o):!isNaN(n)&&-1!==["fr","rem","em","ex","%","px","cm","mm","in","pt","pc","ch","vh","vw","vmin","vmax"].indexOf(t)))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-dimension/src/Control/Dimension.php b/functions/kirki/packages/kirki-framework/control-dimension/src/Control/Dimension.php new file mode 100644 index 0000000..2e1a214 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/src/Control/Dimension.php @@ -0,0 +1,159 @@ + esc_html__( 'Invalid Value', 'kirki' ), + ] + ); + } + + /** + * Get the URL for the control folder. + * + * This is a static method because there are more controls in the Kirki framework + * that use colorpickers, and they all need to enqueue the same assets. + * + * @static + * @access public + * @since 1.0 + * @return string + */ + public static function get_control_path_url() { + return URL::get_from_path( dirname( __DIR__ ) ); + } + + /** + * Refresh the parameters passed to the JavaScript via JSON. + * + * @access public + * @since 1.0 + * @see WP_Customize_Control::to_json() + * @return void + */ + public function to_json() { + + $input_class = 'kirki-control-input'; + + if ( isset( $this->input_attrs['class'] ) ) { + $input_class .= ' ' . $this->input_attrs['class']; + unset( $this->input_attrs['class'] ); + } + + // Get the basics from the parent class. + parent::to_json(); + + // Input class name. + $this->json['inputClass'] = $input_class; + + // Label position. + $this->json['labelPosition'] = 'top'; + + if ( isset( $this->choices['label_position'] ) && 'bottom' === $this->choices['label_position'] ) { + $this->json['labelPosition'] = 'bottom'; + } + + // Input id. + $this->json['inputId'] = '_customize-input-' . $this->id; + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() { + ?> + +
    + <# if ( 'top' === data.labelPosition ) { #> + + <# } #> + +
    + <# var val = ( data.value && _.isString( data.value ) ) ? data.value.replace( '%%', '%' ) : ''; #> + +
    + + <# if ( 'bottom' === data.labelPosition ) { #> + + <# } #> +
    + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'sanitize_text_field'; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-dimension'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-dimension/src/control.js b/functions/kirki/packages/kirki-framework/control-dimension/src/control.js new file mode 100644 index 0000000..d204f09 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-dimension/src/control.js @@ -0,0 +1,91 @@ +import "./control.scss"; + +/* global dimensionkirkiL10n */ +wp.customize.controlConstructor['kirki-dimension'] = wp.customize.kirkiDynamicControl.extend( { + + initKirkiControl: function( control ) { + var value; + control = control || this; + + // Notifications. + control.kirkiNotifications(); + + // Save the value + control.container.on( 'change keyup paste', 'input', function() { + value = jQuery( this ).val(); + control.setting.set( value ); + } ); + }, + + /** + * Handles notifications. + * + * @returns {void} + */ + kirkiNotifications: function() { + + var control = this, + acceptUnitless = ( 'undefined' !== typeof control.params.choices && 'undefined' !== typeof control.params.choices.accept_unitless && true === control.params.choices.accept_unitless ); + + wp.customize( control.id, function( setting ) { + setting.bind( function( value ) { + var code = 'long_title'; + + if ( false === control.validateCssValue( value ) && ( ! acceptUnitless || isNaN( value ) ) ) { + setting.notifications.add( code, new wp.customize.Notification( code, { + type: 'warning', + message: dimensionkirkiL10n['invalid-value'] + } ) ); + } else { + setting.notifications.remove( code ); + } + } ); + } ); + }, + + validateCssValue: function( value ) { + + var control = this, + validUnits = [ 'fr', 'rem', 'em', 'ex', '%', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ch', 'vh', 'vw', 'vmin', 'vmax' ], + numericValue, + unit, + multiples, + multiplesValid = true; + + // Whitelist values. + if ( ! value || '' === value || 0 === value || '0' === value || 'auto' === value || 'inherit' === value || 'initial' === value ) { + return true; + } + + // Skip checking if calc(). + if ( 0 <= value.indexOf( 'calc(' ) && 0 <= value.indexOf( ')' ) ) { + return true; + } + + // Get the numeric value. + numericValue = parseFloat( value ); + + // Get the unit + unit = value.replace( numericValue, '' ); + + // Allow unitless. + if ( ! unit ) { + return true; + } + + // Check for multiple values. + multiples = value.split( ' ' ); + if ( 2 <= multiples.length ) { + multiples.forEach( function( item ) { + if ( item && ! control.validateCssValue( item ) ) { + multiplesValid = false; + } + }); + + return multiplesValid; + } + + // Check the validity of the numeric value and units. + return ( ! isNaN( numericValue ) && -1 !== validUnits.indexOf( unit ) ); + } +} ); diff --git a/functions/kirki/packages/kirki-framework/control-editor/LICENSE b/functions/kirki/packages/kirki-framework/control-editor/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-editor/README.md b/functions/kirki/packages/kirki-framework/control-editor/README.md new file mode 100644 index 0000000..ec3ac6b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/README.md @@ -0,0 +1,54 @@ +# control-editor + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-editor +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Editor' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'wp_kses_post', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Editor( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-editor/dist/control.css b/functions/kirki/packages/kirki-framework/control-editor/dist/control.css new file mode 100644 index 0000000..fdabe4e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-editor textarea{width:100%} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-editor/dist/control.js b/functions/kirki/packages/kirki-framework/control-editor/dist/control.js new file mode 100644 index 0000000..e54af00 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-editor"]=wp.customize.kirkiDynamicControl.extend({initKirkiControl:function(i){var t,e,n,o;t=(i=i||this).container.find("textarea"),n="kirki-editor-"+i.id.replace("[","").replace("]",""),o={tinymce:{wpautop:!0},quicktags:!0,mediaButtons:!0},wp.editor&&wp.editor.initialize&&wp.editor.initialize(n,jQuery.extend({},o,i.params.choices)),(e=tinyMCE.get(n))&&e.onChange.add((function(n){var o;n.save(),o=e.getContent(),t.val(o).trigger("change"),wp.customize.instance(i.id).set(o)}))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-editor/src/Control/Editor.php b/functions/kirki/packages/kirki-framework/control-editor/src/Control/Editor.php new file mode 100644 index 0000000..b437d05 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/src/Control/Editor.php @@ -0,0 +1,107 @@ +json['choices'] = $this->choices; + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * The actual editor is added from the \Kirki\Field\Editor class. + * All this template contains is a button that triggers the global editor on/off + * and a hidden textarea element that is used to mirror save the options. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() { + ?> + + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'wp_kses_post'; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-editor'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-editor/src/control.js b/functions/kirki/packages/kirki-framework/control-editor/src/control.js new file mode 100644 index 0000000..2e4739e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-editor/src/control.js @@ -0,0 +1,37 @@ +import "./control.scss"; + +/* global tinyMCE */ +wp.customize.controlConstructor[ 'kirki-editor' ] = wp.customize.kirkiDynamicControl.extend( { + initKirkiControl: function( control ) { + var element, editor, id, defaultParams; + control = control || this; + element = control.container.find( 'textarea' ); + id = 'kirki-editor-' + control.id.replace( '[', '' ).replace( ']', '' ); + + defaultParams = { + tinymce: { + wpautop: true + }, + quicktags: true, + mediaButtons: true + }; + + // Overwrite the default paramaters if choices is defined. + if ( wp.editor && wp.editor.initialize ) { + wp.editor.initialize( id, jQuery.extend( {}, defaultParams, control.params.choices ) ); + } + + editor = tinyMCE.get( id ); + + if ( editor ) { + editor.onChange.add( function( ed ) { + var content; + + ed.save(); + content = editor.getContent(); + element.val( content ).trigger( 'change' ); + wp.customize.instance( control.id ).set( content ); + } ); + } + } +} ); diff --git a/functions/kirki/packages/kirki-framework/control-generic/LICENSE b/functions/kirki/packages/kirki-framework/control-generic/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-generic/README.md b/functions/kirki/packages/kirki-framework/control-generic/README.md new file mode 100644 index 0000000..59c7b60 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/README.md @@ -0,0 +1,61 @@ +# control-fontawesome + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-generic +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Generic' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Generic( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'element' => 'input', + 'type' => 'password', + 'style' => 'background-color:black;color:red;', + 'data-foo' => 'bar', + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-generic/dist/control.js b/functions/kirki/packages/kirki-framework/control-generic/dist/control.js new file mode 100644 index 0000000..459d67a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-generic"]=wp.customize.kirkiDynamicControl.extend({initKirkiControl:function(i){var c=(i=i||this).params;i.container.find("input, textarea").on("change input",(function(){var e=jQuery(this).val();"kirki-generic"===c.type&&c.choices&&"number"===c.choices.type&&(c.choices.min=parseFloat(c.choices.min),c.choices.max=parseFloat(c.choices.max),ec.choices.max&&(e=c.choices.max)),i.setting.set(e)}))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/Control/Generic.php b/functions/kirki/packages/kirki-framework/control-generic/src/Control/Generic.php new file mode 100644 index 0000000..492bd20 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/Control/Generic.php @@ -0,0 +1,110 @@ + + +
    + <# element = ( data.choices.element ) ? data.choices.element : 'input'; #> + + <# if ( 'textarea' === element ) { #> + + <# } else { #> + <{{ element }} + {{{ data.inputAttrs }}} + value="{{ data.value }}" + {{ data.link.replace(/"/g, '') }} + + <# if ( ! data.choices.id ) { #> + id="{{'customize-input-' + data.id}}" + <# } #> + + <# _.each( data.choices, function( val, key ) { #> + {{ key }}="{{ val }}" + <# } ); #> + <# if ( data.choices.content ) { #>>{{{ data.choices.content }}}<# } else { #>/><# } #> + <# } #> +
    + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'wp_kses_post'; + } + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + // Set the control-type. + $args['type'] = 'kirki-generic'; + + // Choices. + $args['choices'] = isset( $args['choices'] ) ? $args['choices'] : []; + $args['choices']['element'] = isset( $args['choices']['element'] ) ? $args['choices']['element'] : 'input'; + } + + return $args; + + } +} diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/Field/Number.php b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Number.php new file mode 100644 index 0000000..b16d4fa --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Number.php @@ -0,0 +1,110 @@ +args['settings'] ) { + return $args; + } + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + + $args['sanitize_callback'] = function( $value ) use ( $args ) { + $value = filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + + if ( isset( $args['choices'] ) && isset( $args['choices']['min'] ) && isset( $args['choices']['max'] ) ) { + // Make sure min & max are all numeric. + $min = filter_var( $args['choices']['min'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + $max = filter_var( $args['choices']['max'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + + if ( $value < $min ) { + $value = $min; + } elseif ( $value > $max ) { + $value = $max; + } + } + + return $value; + }; + + } + + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + // Set the control-type. + $args['type'] = 'kirki-generic'; + + // Choices. + $args['choices'] = isset( $args['choices'] ) ? $args['choices'] : []; + $args['choices']['element'] = 'input'; + $args['choices']['type'] = 'number'; + $args['choices'] = wp_parse_args( + $args['choices'], + [ + 'min' => -999999999, + 'max' => 999999999, + 'step' => 1, + ] + ); + + // Make sure min, max & step are all numeric. + $args['choices']['min'] = filter_var( $args['choices']['min'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + $args['choices']['max'] = filter_var( $args['choices']['max'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + $args['choices']['step'] = filter_var( $args['choices']['step'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + } + + return $args; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/Field/Text.php b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Text.php new file mode 100644 index 0000000..ab047bd --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Text.php @@ -0,0 +1,73 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'sanitize_textarea_field'; // ? Bagus: should we use `sanitize_text_field` instead ? + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + // Set the control-type. + $args['type'] = 'kirki-generic'; + + // Choices. + $args['choices'] = isset( $args['choices'] ) ? $args['choices'] : []; + $args['choices']['element'] = 'input'; + $args['choices']['type'] = 'text'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/Field/Textarea.php b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Textarea.php new file mode 100644 index 0000000..0982c7f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/Field/Textarea.php @@ -0,0 +1,50 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + // Set the control-type. + $args['type'] = 'kirki-generic'; + + // Choices. + $args['choices'] = isset( $args['choices'] ) ? $args['choices'] : []; + $args['choices']['element'] = 'textarea'; + $args['choices']['rows'] = '5'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/Field/URL.php b/functions/kirki/packages/kirki-framework/control-generic/src/Field/URL.php new file mode 100644 index 0000000..249ce58 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/Field/URL.php @@ -0,0 +1,49 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = 'esc_url_raw'; + } + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-generic/src/control.js b/functions/kirki/packages/kirki-framework/control-generic/src/control.js new file mode 100644 index 0000000..200f4fb --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-generic/src/control.js @@ -0,0 +1,28 @@ +wp.customize.controlConstructor["kirki-generic"] = + wp.customize.kirkiDynamicControl.extend({ + initKirkiControl: function (control) { + control = control || this; + const params = control.params; + + control.container.find("input, textarea").on("change input", function () { + const value = jQuery(this).val(); + + if ( + "kirki-generic" === params.type && + params.choices && + "number" === params.choices.type + ) { + params.choices.min = parseFloat(params.choices.min); + params.choices.max = parseFloat(params.choices.max); + + if (value < params.choices.min) { + value = params.choices.min; + } else if (value > params.choices.max) { + value = params.choices.max; + } + } + + control.setting.set(value); + }); + }, + }); diff --git a/functions/kirki/packages/kirki-framework/control-image/LICENSE b/functions/kirki/packages/kirki-framework/control-image/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-image/README.md b/functions/kirki/packages/kirki-framework/control-image/README.md new file mode 100644 index 0000000..8600fc8 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/README.md @@ -0,0 +1,58 @@ +# control-image + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-image +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Image' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Image( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'save_as' => 'url' // Use "url" or "id" or "array". + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-image/dist/control.js b/functions/kirki/packages/kirki-framework/control-image/dist/control.js new file mode 100644 index 0000000..ef327c4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-image"]=wp.customize.kirkiDynamicControl.extend({initKirkiControl:function(e){var i,t,n,a,l,s;i=(e=e||this).setting._value,t=_.isUndefined(e.params.choices)||_.isUndefined(e.params.choices.save_as)?"url":e.params.choices.save_as,n=e.container.find(".placeholder, .thumbnail"),a="array"===t?i.url:i,l=e.container.find(".image-upload-remove-button"),s=e.container.find(".image-default-button"),i="array"===t&&_.isString(i)?{url:i}:i,"id"!==t&&"ID"!==t||""===i||wp.media.attachment(i).fetch().then((function(){setTimeout((function(){var e=wp.media.attachment(i).get("url");n.removeClass().addClass("thumbnail thumbnail-image").html('')}),700)})),("url"===t&&""!==i||"array"===t&&!_.isUndefined(i.url)&&""!==i.url)&&e.container.find("image-default-button").hide(),("url"===t&&""===i||"array"===t&&(_.isUndefined(i.url)||""===i.url))&&l.hide(),i===e.params.default&&e.container.find("image-default-button").hide(),""!==a&&n.removeClass().addClass("thumbnail thumbnail-image").html(''),e.container.on("click",".image-upload-button",(function(i){var r=wp.media({multiple:!1}).open().on("select",(function(){var i=r.state().get("selection").first().toJSON();a=i.url,_.isUndefined(i.sizes)||(a=i.sizes.full.url,_.isUndefined(i.sizes.medium)?_.isUndefined(i.sizes.thumbnail)||(a=i.sizes.thumbnail.url):a=i.sizes.medium.url),"array"===t?e.setting.set({id:i.id,url:_.isUndefined(i.sizes)?i.url:i.sizes.full.url,width:i.width,height:i.height}):"id"===t?e.setting.set(i.id):e.setting.set(_.isUndefined(i.sizes)?i.url:i.sizes.full.url),n.length&&n.removeClass().addClass("thumbnail thumbnail-image").html(''),l.length&&(l.show(),s.hide())}));i.preventDefault()})),e.container.on("click",".image-upload-remove-button",(function(i){i.preventDefault(),e.setting.set(""),n=e.container.find(".placeholder, .thumbnail"),l=e.container.find(".image-upload-remove-button"),s=e.container.find(".image-default-button"),n.length&&n.removeClass().addClass("placeholder").html(wp.i18n.__("No image selected","kirki")),l.length&&(l.hide(),jQuery(s).hasClass("button")&&s.show())})),e.container.on("click",".image-default-button",(function(i){i.preventDefault(),e.setting.set(e.params.default),n=e.container.find(".placeholder, .thumbnail"),l=e.container.find(".image-upload-remove-button"),s=e.container.find(".image-default-button"),n.length&&n.removeClass().addClass("thumbnail thumbnail-image").html(''),l.length&&(l.show(),s.hide())}))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-image/src/Control/Image.php b/functions/kirki/packages/kirki-framework/control-image/src/Control/Image.php new file mode 100644 index 0000000..2504e86 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/src/Control/Image.php @@ -0,0 +1,94 @@ + + +
    + <# url = ( _.isObject( data.value ) && ! _.isUndefined( data.value.url ) ) ? data.value.url : data.value; #> + <# if ( data.value.url || '' !== url ) { #> +
    + +
    + <# } else { #> +
    + <# } #> +
    + + <# if ( data.default && '' !== data.default ) { #> + + <# } #> + +
    +
    + 'global', + 'prefix' => '', + 'units' => '', + 'suffix' => '', + ] + ); + if ( is_array( $value ) ) { + if ( isset( $output['choice'] ) && $output['choice'] ) { + $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $this->process_property_value( $output['property'], $value[ $output['choice'] ] ) . $output['units'] . $output['suffix']; + return; + } + if ( isset( $value['url'] ) ) { + $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $this->process_property_value( $output['property'], $value['url'] ) . $output['units'] . $output['suffix']; + return; + } + return; + } + $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $this->process_property_value( $output['property'], $value ) . $output['units'] . $output['suffix']; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-image/src/Field/Image.php b/functions/kirki/packages/kirki-framework/control-image/src/Field/Image.php new file mode 100644 index 0000000..112c320 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/src/Field/Image.php @@ -0,0 +1,166 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = function( $value ) { + if ( isset( $this->args['choices']['save_as'] ) && 'array' === $this->args['choices']['save_as'] ) { + return [ + 'id' => ( isset( $value['id'] ) && '' !== $value['id'] ) ? (int) $value['id'] : '', + 'url' => ( isset( $value['url'] ) && '' !== $value['url'] ) ? esc_url_raw( $value['url'] ) : '', + 'width' => ( isset( $value['width'] ) && '' !== $value['width'] ) ? (int) $value['width'] : '', + 'height' => ( isset( $value['height'] ) && '' !== $value['height'] ) ? (int) $value['height'] : '', + ]; + } + if ( isset( $this->args['choices']['save_as'] ) && 'id' === $this->args['choices']['save_as'] ) { + return absint( $value ); + } + return ( is_string( $value ) ) ? esc_url_raw( $value ) : $value; + }; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + $args['button_labels'] = isset( $args['button_labels'] ) ? $args['button_labels'] : []; + $args['button_labels'] = wp_parse_args( + $args['button_labels'], + [ + 'select' => esc_html__( 'Select image', 'kirki' ), + 'change' => esc_html__( 'Change image', 'kirki' ), + 'default' => esc_html__( 'Default', 'kirki' ), + 'remove' => esc_html__( 'Remove', 'kirki' ), + 'placeholder' => esc_html__( 'No image selected', 'kirki' ), + 'frame_title' => esc_html__( 'Select image', 'kirki' ), + 'frame_button' => esc_html__( 'Choose image', 'kirki' ), + ] + ); + + $args['choices'] = isset( $args['choices'] ) ? (array) $args['choices'] : []; + $args['choices']['save_as'] = isset( $args['choices']['save_as'] ) ? $args['choices']['save_as'] : 'url'; + $args['choices']['labels'] = isset( $args['choices']['labels'] ) ? $args['choices']['labels'] : []; + $args['choices']['labels'] = wp_parse_args( $args['choices']['labels'], $args['button_labels'] ); + + // Set the control-type. + $args['type'] = 'kirki-image'; + } + return $args; + } + + /** + * Filter for output argument used by the kirki-framework/module-css module. + * + * @access public + * @since 1.0 + * @param array $output A single output item. + * @param mixed $value The value. + * @param array $all_outputs All field output args. + * @param array $field The field arguments. + * @return array + */ + public function output_item_args( $output, $value, $all_outputs, $field ) { + if ( $field['settings'] === $this->args['settings'] ) { + if ( isset( $output['property'] ) && in_array( [ 'background', 'background-image' ], $output['property'], true ) ) { + if ( ! isset( $output['value_pattern'] ) || empty( $output['value_pattern'] ) || '$' === $output['value_pattern'] ) { + $output['value_pattern'] = 'url("$")'; + } + } + } + return $output; + } + + /** + * Adds a custom output class for typography fields. + * + * @access public + * @since 1.0 + * @param array $classnames The array of classnames. + * @return array + */ + public function output_control_classnames( $classnames ) { + $classnames['kirki-image'] = '\Kirki\Field\CSS\Image'; + return $classnames; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-image/src/control.js b/functions/kirki/packages/kirki-framework/control-image/src/control.js new file mode 100644 index 0000000..3526dd9 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-image/src/control.js @@ -0,0 +1,128 @@ +wp.customize.controlConstructor['kirki-image'] = wp.customize.kirkiDynamicControl.extend( { + + initKirkiControl: function( control ) { + var value, saveAs, preview, previewImage, removeButton, defaultButton; + control = control || this; + value = control.setting._value; + saveAs = ( ! _.isUndefined( control.params.choices ) && ! _.isUndefined( control.params.choices.save_as ) ) ? control.params.choices.save_as : 'url'; + preview = control.container.find( '.placeholder, .thumbnail' ); + previewImage = ( 'array' === saveAs ) ? value.url : value; + removeButton = control.container.find( '.image-upload-remove-button' ); + defaultButton = control.container.find( '.image-default-button' ); + + // Make sure value is properly formatted. + value = ( 'array' === saveAs && _.isString( value ) ) ? { url: value } : value; + + // Tweaks for save_as = id. + if ( ( 'id' === saveAs || 'ID' === saveAs ) && '' !== value ) { + wp.media.attachment( value ).fetch().then( function() { + setTimeout( function() { + var url = wp.media.attachment( value ).get( 'url' ); + preview.removeClass().addClass( 'thumbnail thumbnail-image' ).html( '' ); + }, 700 ); + } ); + } + + // If value is not empty, hide the "default" button. + if ( ( 'url' === saveAs && '' !== value ) || ( 'array' === saveAs && ! _.isUndefined( value.url ) && '' !== value.url ) ) { + control.container.find( 'image-default-button' ).hide(); + } + + // If value is empty, hide the "remove" button. + if ( ( 'url' === saveAs && '' === value ) || ( 'array' === saveAs && ( _.isUndefined( value.url ) || '' === value.url ) ) ) { + removeButton.hide(); + } + + // If value is default, hide the default button. + if ( value === control.params.default ) { + control.container.find( 'image-default-button' ).hide(); + } + + if ( '' !== previewImage ) { + preview.removeClass().addClass( 'thumbnail thumbnail-image' ).html( '' ); + } + + control.container.on( 'click', '.image-upload-button', function( e ) { + var image = wp.media( { multiple: false } ).open().on( 'select', function() { + + // This will return the selected image from the Media Uploader, the result is an object. + var uploadedImage = image.state().get( 'selection' ).first(), + jsonImg = uploadedImage.toJSON(); + + previewImage = jsonImg.url; + + if ( ! _.isUndefined( jsonImg.sizes ) ) { + previewImage = jsonImg.sizes.full.url; + if ( ! _.isUndefined( jsonImg.sizes.medium ) ) { + previewImage = jsonImg.sizes.medium.url; + } else if ( ! _.isUndefined( jsonImg.sizes.thumbnail ) ) { + previewImage = jsonImg.sizes.thumbnail.url; + } + } + + if ( 'array' === saveAs ) { + control.setting.set( { + id: jsonImg.id, + url: !_.isUndefined(jsonImg.sizes) + ? jsonImg.sizes.full.url + : jsonImg.url, + width: jsonImg.width, + height: jsonImg.height, + } ); + } else if ( 'id' === saveAs ) { + control.setting.set( jsonImg.id ); + } else { + control.setting.set( ( ! _.isUndefined( jsonImg.sizes ) ) ? jsonImg.sizes.full.url : jsonImg.url ); + } + + if ( preview.length ) { + preview.removeClass().addClass( 'thumbnail thumbnail-image' ).html( '' ); + } + if ( removeButton.length ) { + removeButton.show(); + defaultButton.hide(); + } + } ); + + e.preventDefault(); + } ); + + control.container.on( 'click', '.image-upload-remove-button', function( e ) { + e.preventDefault(); + + control.setting.set( '' ); + + preview = control.container.find( '.placeholder, .thumbnail' ); + removeButton = control.container.find( '.image-upload-remove-button' ); + defaultButton = control.container.find( '.image-default-button' ); + + if ( preview.length ) { + preview.removeClass().addClass( 'placeholder' ).html( wp.i18n.__( 'No image selected', 'kirki' ) ); + } + if ( removeButton.length ) { + removeButton.hide(); + if ( jQuery( defaultButton ).hasClass( 'button' ) ) { + defaultButton.show(); + } + } + } ); + + control.container.on( 'click', '.image-default-button', function( e ) { + e.preventDefault(); + + control.setting.set( control.params.default ); + + preview = control.container.find( '.placeholder, .thumbnail' ); + removeButton = control.container.find( '.image-upload-remove-button' ); + defaultButton = control.container.find( '.image-default-button' ); + + if ( preview.length ) { + preview.removeClass().addClass( 'thumbnail thumbnail-image' ).html( '' ); + } + if ( removeButton.length ) { + removeButton.show(); + defaultButton.hide(); + } + } ); + } +} ); diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/LICENSE b/functions/kirki/packages/kirki-framework/control-multicheck/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/README.md b/functions/kirki/packages/kirki-framework/control-multicheck/README.md new file mode 100644 index 0000000..6d25be6 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/README.md @@ -0,0 +1,62 @@ +# control-multicheck + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-multicheck +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Multicheck' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => [ 'option-1', 'option-3', 'option-4' ], + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Multicheck( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.css b/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.css new file mode 100644 index 0000000..5a9ef3f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.css @@ -0,0 +1,2 @@ + +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.js b/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.js new file mode 100644 index 0000000..4ec151f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-multicheck"]=wp.customize.kirkiDynamicControl.extend({initKirkiControl:function(n){(n=n||this).container.on("change","input",(function(){var i=[],e=0;jQuery.each(n.params.choices,(function(t){n.container.find('input[value="'+t+'"]').is(":checked")?(n.container.find('input[value="'+t+'"]').parent().addClass("checked"),i[e]=t,e++):n.container.find('input[value="'+t+'"]').parent().removeClass("checked")})),n.setting.set(i)}))}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/src/Control/Multicheck.php b/functions/kirki/packages/kirki-framework/control-multicheck/src/Control/Multicheck.php new file mode 100644 index 0000000..a2d832e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/src/Control/Multicheck.php @@ -0,0 +1,93 @@ + + <# if ( ! data.choices ) { return; } #> + + <# if ( data.label ) { #>{{{ data.label }}}<# } #> + <# if ( data.description ) { #>{{{ data.description }}}<# } #> + +
      + <# for ( key in data.choices ) { #> +
    • class="checked"<# } #>> checked<# } #> />{{ data.choices[ key ] }}
    • + <# } #> +
    + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = [ __CLASS__, 'sanitize' ]; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-multicheck'; + } + return $args; + } + + /** + * The sanitize method that will be used as a falback + * + * @static + * @access public + * @since 1.0 + * @param string|array $value The control's value. + * @return array + */ + public static function sanitize( $value ) { + $value = ( ! is_array( $value ) ) ? explode( ',', $value ) : $value; + return ( ! empty( $value ) ) ? array_map( 'sanitize_text_field', $value ) : []; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-multicheck/src/control.js b/functions/kirki/packages/kirki-framework/control-multicheck/src/control.js new file mode 100644 index 0000000..78c846f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-multicheck/src/control.js @@ -0,0 +1,28 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-multicheck'] = wp.customize.kirkiDynamicControl.extend( { + + initKirkiControl: function( control ) { + control = control || this; + + // Save the value + control.container.on( 'change', 'input', function() { + var value = [], + i = 0; + + // Build the value as an object using the sub-values from individual checkboxes. + jQuery.each( control.params.choices, function( key ) { + if ( control.container.find( 'input[value="' + key + '"]' ).is( ':checked' ) ) { + control.container.find( 'input[value="' + key + '"]' ).parent().addClass( 'checked' ); + value[ i ] = key; + i++; + } else { + control.container.find( 'input[value="' + key + '"]' ).parent().removeClass( 'checked' ); + } + } ); + + // Update the value in the customizer. + control.setting.set( value ); + } ); + } +} ); diff --git a/functions/kirki/packages/kirki-framework/control-palette/LICENSE b/functions/kirki/packages/kirki-framework/control-palette/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-palette/README.md b/functions/kirki/packages/kirki-framework/control-palette/README.md new file mode 100644 index 0000000..e13f341 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/README.md @@ -0,0 +1,58 @@ +# control-palette + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-palette +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Palette' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add settings. + $wp_customize->add_setting( 'my_control_code', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => '', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add controls. + $wp_customize->add_control( new \Kirki\Control\Palette( $wp_customize, 'my_control_code', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'green' => [ '#E8F5E9', '#C8E6C9', '#A5D6A7', '#81C784', '#66BB6A', '#4CAF50', '#43A047', '#388E3C', '#2E7D32', '#1B5E20', '#B9F6CA', '#69F0AE', '#00E676', '#00C853' ], + 'bnw' => [ '#000000', '#ffffff' ], + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-palette/dist/control.css b/functions/kirki/packages/kirki-framework/control-palette/dist/control.css new file mode 100644 index 0000000..9d27a22 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-palette{position:relative}.customize-control-kirki-palette input[type=radio]{display:none}.customize-control-kirki-palette input[type=radio]:checked+label{border:3px solid rgba(0,0,0,.4)}.customize-control-kirki-palette label{background:none;border-bottom:3px solid transparent;border-top:3px solid transparent;display:flex;margin-bottom:5px;padding:0}.customize-control-kirki-palette label span{border-bottom:1px solid rgba(0,0,0,.1);border-top:1px solid rgba(0,0,0,.1);color:transparent;flex-grow:1;font-size:0;line-height:10px;padding:10px 0;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.customize-control-kirki-palette label span:first-child{border-left:1px solid rgba(0,0,0,.1)}.customize-control-kirki-palette label span:last-child{border-right:1px solid rgba(0,0,0,.1)}.customize-control-kirki-palette label span:hover{color:#000;flex-grow:3;font-size:10px;line-height:10px;min-width:60px;padding:10px} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-palette/dist/control.js b/functions/kirki/packages/kirki-framework/control-palette/dist/control.js new file mode 100644 index 0000000..3017dd4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-palette"]=wp.customize.kirkiDynamicControl.extend({}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-palette/src/Control/Palette.php b/functions/kirki/packages/kirki-framework/control-palette/src/Control/Palette.php new file mode 100644 index 0000000..c2c2b6f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/src/Control/Palette.php @@ -0,0 +1,100 @@ + + <# if ( ! data.choices ) { return; } #> + + {{{ data.label }}} + + <# if ( data.description ) { #> + {{{ data.description }}} + <# } #> +
    + <# for ( key in data.choices ) { #> + checked<# } #>> + + + <# } #> +
    + args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-palette'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-palette/src/control.js b/functions/kirki/packages/kirki-framework/control-palette/src/control.js new file mode 100644 index 0000000..0d8a4f6 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-palette/src/control.js @@ -0,0 +1,3 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-palette'] = wp.customize.kirkiDynamicControl.extend( {} ); diff --git a/functions/kirki/packages/kirki-framework/control-radio/LICENSE b/functions/kirki/packages/kirki-framework/control-radio/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-radio/README.md b/functions/kirki/packages/kirki-framework/control-radio/README.md new file mode 100644 index 0000000..20cebac --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/README.md @@ -0,0 +1,99 @@ +# control-radio + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-radio +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Radio' ); + $wp_customize->register_control_type( '\Kirki\Control\Radio_Buttonset' ); + $wp_customize->register_control_type( '\Kirki\Control\Radio_Image' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add settings. + $wp_customize->add_setting( 'my_control_radio', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'option-1', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + $wp_customize->add_setting( 'my_control_radio_buttonset', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'option-1', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => function( $value ) { // Custom callback example. + if ( 'option-1' !== $value || 'option-2' !== $value ) { + return 'option-1'; + } + return $value; + }, + ] ); + $wp_customize->add_setting( 'my_control_radio_image', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'option-1', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add controls. + $wp_customize->add_control( new \Kirki\Control\Radio( $wp_customize, 'my_control_code', [ + 'label' => esc_html__( 'My Radio Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + ] ) ); + $wp_customize->add_control( new \Kirki\Control\Radio_Buttonset( $wp_customize, 'my_control_code', [ + 'label' => esc_html__( 'My Radio-Buttonset Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + ], + ] ) ); + $wp_customize->add_control( new \Kirki\Control\Radio( $wp_customize, 'my_control_code', [ + 'label' => esc_html__( 'My Radio-Image Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'moto' => 'https://jawordpressorg.github.io/wapuu/wapuu-archive/wapuu-moto.png', + 'cossack' => 'https://raw.githubusercontent.com/templatemonster/cossack-wapuula/master/cossack-wapuula.png', + 'travel' => 'https://jawordpressorg.github.io/wapuu/wapuu-archive/wapuu-travel.png', + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-radio/dist/control.css b/functions/kirki/packages/kirki-framework/control-radio/dist/control.css new file mode 100644 index 0000000..ba8a3a0 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-radio label{display:list-item;margin-bottom:7px}.customize-control-kirki-radio label .option-description{color:rgba(0,0,0,.35);display:block;font-size:.9em;padding-left:25px}.customize-control-kirki-radio-buttonset .buttonset{display:flex;flex-wrap:wrap}.customize-control-kirki-radio-buttonset .buttonset .switch-label{background:rgba(0,0,0,.1);border:1px rgba(0,0,0,.1);color:#555d66;flex-grow:1;margin:0;padding:.5em 1em;text-align:center}.customize-control-kirki-radio-buttonset .buttonset .switch-input:checked+.switch-label{background-color:#00a0d2;color:hsla(0,0%,100%,.8)}.customize-control-kirki-radio-buttonset .screen-reader-text:focus{clip-path:inset(50%);-webkit-clip-path:inset(50%)}.customize-control-kirki-radio-image>.image{display:flex;flex-wrap:wrap}.customize-control-kirki-radio-image label{display:inline-block;position:relative}.customize-control-kirki-radio-image label .image-label{background:hsla(0,0%,100%,.7);display:none;font-weight:700;height:100%;left:0;position:absolute;top:0;width:100%}.customize-control-kirki-radio-image label .image-label .inner{height:100%;padding:.5em;text-align:center;vertical-align:middle;width:100%}.customize-control-kirki-radio-image label:hover .image-label{display:block}.customize-control-kirki-radio-image input{display:none}.customize-control-kirki-radio-image input img{border:1px solid transparent}.customize-control-kirki-radio-image input:checked+label img{border:1px solid #3498db;-webkit-box-shadow:0 0 5px 2px rgba(0,0,0,.25);box-shadow:0 0 5px 2px rgba(0,0,0,.25)}.customize-control-kirki-radio-image input+label .image-clickable{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-radio/dist/control.js b/functions/kirki/packages/kirki-framework/control-radio/dist/control.js new file mode 100644 index 0000000..15b69bb --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-radio"]=wp.customize.kirkiDynamicControl.extend({}),wp.customize.controlConstructor["kirki-radio-buttonset"]=wp.customize.kirkiDynamicControl.extend({}),wp.customize.controlConstructor["kirki-radio-image"]=wp.customize.kirkiDynamicControl.extend({}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio.php b/functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio.php new file mode 100644 index 0000000..7faeaf1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/src/Control/Radio.php @@ -0,0 +1,97 @@ + + {{{ data.label }}} + <# if ( data.description ) { #> + {{{ data.description }}} + <# } #> + <# _.each( data.choices, function( val, key ) { #> + + <# } ); #> + + <# if ( data.label ) { #>{{{ data.label }}}<# } #> + <# if ( data.description ) { #>{{{ data.description }}}<# } #> +
    + <# for ( key in data.choices ) { #> + checked="checked" <# } #>> + + + <# } #> +
    + input_attrs as $attr => $value ) { + if ( 'style' !== $attr ) { + $this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" '; + continue; + } + $this->json['labelStyle'] = 'style="' . esc_attr( $value ) . '" '; + } + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() { + ?> + +
    + <# for ( key in data.choices ) { #> + <# dataAlt = ( _.isObject( data.choices[ key ] ) && ! _.isUndefined( data.choices[ key ].alt ) ) ? data.choices[ key ].alt : '' #> + checked="checked"<# } #> data-alt="{{ dataAlt }}"> + + + <# } #> +
    + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = function( $value ) { + if ( ! isset( $this->args['choices'][ $value ] ) ) { + return ( isset( $this->args['default'] ) ) ? $this->args['default'] : ''; + } + return $value; + }; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-radio'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Buttonset.php b/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Buttonset.php new file mode 100644 index 0000000..a0bcdde --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Buttonset.php @@ -0,0 +1,54 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-radio-buttonset'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Image.php b/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Image.php new file mode 100644 index 0000000..47f477f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/src/Field/Radio_Image.php @@ -0,0 +1,54 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-radio-image'; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-radio/src/control.js b/functions/kirki/packages/kirki-framework/control-radio/src/control.js new file mode 100644 index 0000000..e9500f5 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-radio/src/control.js @@ -0,0 +1,5 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-radio'] = wp.customize.kirkiDynamicControl.extend( {} ); +wp.customize.controlConstructor['kirki-radio-buttonset'] = wp.customize.kirkiDynamicControl.extend( {} ); +wp.customize.controlConstructor['kirki-radio-image'] = wp.customize.kirkiDynamicControl.extend( {} ); diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/.prettierignore b/functions/kirki/packages/kirki-framework/control-react-colorful/.prettierignore new file mode 100644 index 0000000..dd44972 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/.prettierignore @@ -0,0 +1 @@ +*.md diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.css b/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.css new file mode 100644 index 0000000..eb5f1bd --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-react-colorful .kirki-control-form{box-sizing:border-box;position:relative}.customize-control-kirki-react-colorful .kirki-control-form *{box-sizing:border-box}.customize-control-kirki-react-colorful .kirki-control-cols{align-items:flex-start;display:flex}.customize-control-kirki-react-colorful .kirki-control-left-col{width:90%;width:calc(100% - 35px);padding-right:30px}.customize-control-kirki-react-colorful .kirki-control-right-col{width:35px;justify-content:flex-end;display:flex}.customize-control-kirki-react-colorful .use-hue-mode .react-colorful{height:auto}.customize-control-kirki-react-colorful .use-hue-mode .react-colorful__saturation{display:none}.customize-control-kirki-react-colorful .use-hue-mode .react-colorful__last-control{border-radius:4px}.customize-control-kirki-react-colorful .use-hue-mode input.kirki-color-input{padding-left:8px}.customize-control-kirki-react-colorful .kirki-trigger-circle-wrapper{width:33px;height:33px;border:1px solid #ccc;border-radius:50%;justify-content:center;align-items:center;padding:3px;display:flex;position:relative;top:-3px}.customize-control-kirki-react-colorful .kirki-trigger-circle{width:25px;height:25px;cursor:pointer;background-size:10px;border:none;border-radius:50%;padding:0;display:block;position:relative}.customize-control-kirki-react-colorful .kirki-trigger-circle .kirki-color-preview{width:100%;height:100%;position:absolute;top:0;left:0}.customize-control-kirki-react-colorful .colorPickerContainer{width:100%;z-index:9999;opacity:0;visibility:hidden;background-color:#fff;border-radius:6px;margin-top:5px;padding:15px;transition:opacity .2s,visibility .2s;position:absolute;top:35px;right:0;box-shadow:0 12px 15px rgba(0,0,0,.09)}.customize-control-kirki-react-colorful .colorPickerContainer.is-open{opacity:1;visibility:visible;transition:opacity .2s 10ms,visibility .2s 10ms}.customize-control-kirki-react-colorful .react-colorful{width:100%;border-radius:4px}.customize-control-kirki-react-colorful .react-colorful__saturation{border-radius:4px 4px 0 0}.customize-control-kirki-react-colorful .react-colorful__last-control{border-radius:0 0 4px 4px}.customize-control-kirki-react-colorful .react-colorful__pointer{width:20px;height:20px}.customize-control-kirki-react-colorful .kirki-color-input-wrapper{margin-top:15px}.customize-control-kirki-react-colorful .kirki-color-input-control{width:100%;align-items:center;display:flex;position:relative}.customize-control-kirki-react-colorful input.kirki-color-input{width:100%;height:30px;color:#333;z-index:1;border:1px solid #ccc;border-radius:4px;padding-left:32px;padding-right:8px;line-height:30px;display:block;position:relative}.customize-control-kirki-react-colorful .kirki-color-input:focus,.customize-control-kirki-react-colorful .kirki-color-input:active{border-color:#2271b1;outline:none;box-shadow:0 0 0 1px #2271b1}.customize-control-kirki-react-colorful .kirki-color-preview-wrapper{width:22px;height:22px;z-index:2;background-repeat:repeat;background-size:8px;border:2px solid #fff;border-radius:50%;position:absolute;left:6px;box-shadow:0 0 0 1px #ddd}.customize-control-kirki-react-colorful .kirki-color-preview,.customize-control-kirki-react-colorful .kirki-control-reset{cursor:pointer;background-color:rgba(0,0,0,0);padding:0;position:absolute}.customize-control-kirki-react-colorful .kirki-color-preview{width:100%;height:100%;border-width:0;border-radius:50%;display:block}.customize-control-kirki-react-colorful .kirki-control-reset{width:17px;height:17px;z-index:3;border-width:0;border-radius:50%;justify-content:center;align-items:center;display:flex;top:4px;right:35px}.customize-control-kirki-react-colorful .kirki-control-reset:hover i{color:red;transform:rotate(-45deg)}.customize-control-kirki-react-colorful .kirki-control-reset i{width:auto;height:auto;font-size:12px;transition:transform .2s;transform:rotate(45deg)}.customize-control-kirki-react-colorful .kirki-color-swatches{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;display:flex}.customize-control-kirki-react-colorful .kirki-color-swatch{width:25px;height:25px;cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0;transition:transform .2s;display:block;position:relative;transform:scale(1);box-shadow:0 0 0 1px #ddd}.customize-control-kirki-react-colorful .kirki-color-swatch:active,.customize-control-kirki-react-colorful .kirki-color-swatch:focus{outline:none}.customize-control-kirki-react-colorful .kirki-color-swatch:hover,.customize-control-kirki-react-colorful .kirki-color-swatch:focus{transform:scale(1.1)}.customize-control-kirki-react-colorful .kirki-label-tooltip{width:auto;width:max-content;max-width:100px;color:#fff;opacity:0;visibility:hidden;background-color:rgba(0,0,0,.7);border-radius:4px;padding:7px 10px 3px;transition:all .2s;position:absolute;bottom:45px;left:-8px}.customize-control-kirki-react-colorful .kirki-label-tooltip:before{content:"";border:7px solid rgba(0,0,0,0);border-top:8px solid rgba(0,0,0,.7);border-bottom-width:0;position:absolute;bottom:-8px;left:19px}.customize-control-kirki-react-colorful .kirki-label-tooltip .customize-control-title{line-height:1.2}.customize-control-kirki-react-colorful .kirki-trigger-circle-wrapper:hover~.kirki-label-tooltip{opacity:1;visibility:visible}.customize-control-kirki-react-colorful[data-kirki-parent-control-type=kirki-multicolor]{width:35px;margin-bottom:20px;margin-right:8px;padding-right:0}.customize-control-kirki-react-colorful[data-kirki-parent-control-type=kirki-multicolor] .kirki-control-reset{top:-19px;right:8px}.customize-control-kirki-react-colorful[data-kirki-parent-control-type=kirki-typography] .colorPickerContainer{top:55px}.customize-control-kirki-react-colorful[data-kirki-parent-control-type=kirki-typography] .kirki-control-reset{top:30px;left:35px;right:auto} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.js b/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.js new file mode 100644 index 0000000..4d1c2cb --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/dist/control.js @@ -0,0 +1,2 @@ +!function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};function t(e){return e&&e.__esModule?e.default:e}var r={},n={},o=e.parcelRequire4303;null==o&&((o=function(e){if(e in r)return r[e].exports;if(e in n){var t=n[e];delete n[e];var o={id:e,exports:{}};return r[e]=o,t.call(o.exports,o,o.exports),o.exports}var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){n[e]=t},e.parcelRequire4303=o),o.register("7HKs8",(function(e,t){var r=o("8ThvE"),n=o("jjS2x"),a=t&&!t.nodeType&&t,i=a&&e&&!e.nodeType&&e,c=i&&i.exports===a?r.Buffer:void 0,u=(c?c.isBuffer:void 0)||n;e.exports=u})),o.register("8ThvE",(function(e,t){var r=o("lyxRX"),n="object"==typeof self&&self&&self.Object===Object&&self,a=r||n||Function("return this")();e.exports=a})),o.register("lyxRX",(function(t,r){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n})),o.register("jjS2x",(function(e,t){e.exports=function(){return!1}})),o.register("7vc1R",(function(e,t){var r=o("lyxRX"),n=t&&!t.nodeType&&t,a=n&&e&&!e.nodeType&&e,i=a&&a.exports===n&&r.process,c=function(){try{var e=a&&a.require&&a.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=c})),o.register("4vs1M",(function(e,t){var r=o("8ThvE"),n=t&&!t.nodeType&&t,a=n&&e&&!e.nodeType&&e,i=a&&a.exports===n?r.Buffer:void 0,c=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}}));var a;function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}function v(e){var t=l.useRef(e),r=l.useRef((function(e){t.current&&t.current(e)}));return t.current=e,r.current}l=React;var d=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e0:e.buttons>0)&&a.current?i(h(a.current,e,u.current)):r(!1)},t=function(){return r(!1)};function r(r){var n=d.current,o=b(a.current),i=r?o.addEventListener:o.removeEventListener;i(n?"touchmove":"mousemove",e),i(n?"touchend":"mouseup",t)}return[function(e){var t,n=e.nativeEvent,o=a.current;if(o&&(g(n),t=n,(!d.current||p(t))&&o)){if(p(n)){d.current=!0;var c=n.changedTouches||[];c.length&&(u.current=c[0].identifier)}o.focus(),i(h(o,n,u.current)),r(!0)}},function(e){var t=e.which||e.keyCode;t<37||t>40||(e.preventDefault(),c({left:39===t?.05:37===t?-.05:0,top:40===t?.05:38===t?-.05:0}))},r]}),[c,i]),m=y[0],_=y[1],k=y[2];return l.useEffect((function(){return k}),[k]),t(l).createElement("div",s({},o,{onTouchStart:m,onMouseDown:m,className:"react-colorful__interactive",ref:a,onKeyDown:_,tabIndex:0,role:"slider"}))})),m=function(e){return e.filter(Boolean).join(" ")},_=function(e){var r=e.color,n=e.left,o=e.top,a=void 0===o?.5:o,i=m(["react-colorful__pointer",e.className]);return t(l).createElement("div",{className:i,style:{top:100*a+"%",left:100*n+"%"}},t(l).createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:r}}))},k=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r},j={grad:.9,turn:360,rad:360/(2*Math.PI)},C=function(e){return"#"===e[0]&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}},w=function(e,t){return void 0===t&&(t="deg"),Number(e)*(j[t]||1)},A=function(e){var t=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?O({h:w(t[1],t[2]),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},E=A,O=function(e){var t=e.s,r=e.l;return{h:e.h,s:(t*=(r<50?r:100-r)/100)>0?2*t/(r+t)*100:0,v:r+t,a:e.a}},S=function(e){var t=e.s,r=e.v,n=e.a,o=(200-t)*r/100;return{h:k(e.h),s:k(o>0&&o<200?t*r/100/(o<=100?o:200-o)*100:0),l:k(o/2),a:k(n,2)}},H=function(e){var t=S(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},R=function(e){var t=S(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},x=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),i=n*(1-r),c=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:k(255*[n,c,i,i,u,n][l]),g:k(255*[u,n,n,c,i,i][l]),b:k(255*[i,i,u,n,n,c][l]),a:k(o,2)}},P=function(e){var t=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?T({h:w(t[1],t[2]),s:Number(t[3]),v:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},M=P,N=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?I({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}},B=N,z=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},I=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,a=Math.max(t,r,n),i=a-Math.min(t,r,n),c=i?a===t?(r-n)/i:a===r?2+(n-t)/i:4+(t-r)/i:0;return{h:k(60*(c<0?c+6:c)),s:k(a?i/a*100:0),v:k(a/255*100),a:o}},T=function(e){return{h:k(e.h),s:k(e.s),v:k(e.v),a:k(e.a,2)}},F=t(l).memo((function(e){var r=e.hue,n=e.onChange,o=m(["react-colorful__hue",e.className]);return t(l).createElement("div",{className:o},t(l).createElement(y,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:d(r+360*e.left,0,360)})},"aria-label":"Hue","aria-valuetext":k(r)},t(l).createElement(_,{className:"react-colorful__hue-pointer",left:r/360,color:H({h:r,s:100,v:100,a:1})})))})),U=t(l).memo((function(e){var r=e.hsva,n=e.onChange,o={backgroundColor:H({h:r.h,s:100,v:100,a:1})};return t(l).createElement("div",{className:"react-colorful__saturation",style:o},t(l).createElement(y,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:d(r.s+100*e.left,0,100),v:d(r.v-100*e.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+k(r.s)+"%, Brightness "+k(r.v)+"%"},t(l).createElement(_,{className:"react-colorful__saturation-pointer",top:1-r.v/100,left:r.s/100,color:H(r)})))})),L=function(e,t){if(e===t)return!0;for(var r in e)if(e[r]!==t[r])return!1;return!0},D=function(e,t){return e.replace(/\s/g,"")===t.replace(/\s/g,"")};function W(e,t,r){var n=v(r),o=l.useState((function(){return e.toHsva(t)})),a=o[0],i=o[1],c=l.useRef({color:t,hsva:a});l.useEffect((function(){if(!e.equal(t,c.current.color)){var r=e.toHsva(t);c.current={hsva:r,color:t},i(r)}}),[t,e]),l.useEffect((function(){var t;L(a,c.current.hsva)||e.equal(t=e.fromHsva(a),c.current.color)||(c.current={hsva:a,color:t},n(t))}),[a,e,n]);var u=l.useCallback((function(e){i((function(t){return Object.assign({},t,e)}))}),[]);return[a,u]}var J,q="undefined"!=typeof window?l.useLayoutEffect:l.useEffect,K=new Map,$=function(e){q((function(){var t=e.current?e.current.ownerDocument:document;if(void 0!==t&&!K.has(t)){var r=t.createElement("style");r.innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}',K.set(t,r);var n=J||("undefined"!=typeof __webpack_nonce__?__webpack_nonce__:void 0);n&&r.setAttribute("nonce",n),t.head.appendChild(r)}}),[])},G=function(e){var r=e.className,n=e.colorModel,o=e.color,a=void 0===o?n.defaultColor:o,i=e.onChange,c=f(e,["className","colorModel","color","onChange"]),u=l.useRef(null);$(u);var v=W(n,a,i),d=v[0],p=v[1],b=m(["react-colorful",r]);return t(l).createElement("div",s({},c,{ref:u,className:b}),t(l).createElement(U,{hsva:d,onChange:p}),t(l).createElement(F,{hue:d.h,onChange:p,className:"react-colorful__last-control"}))},Z={defaultColor:"000",toHsva:function(e){return I(C(e))},fromHsva:function(e){var t,r,n;return r=(t=x(e)).g,n=t.b,"#"+z(t.r)+z(r)+z(n)},equal:function(e,t){return e.toLowerCase()===t.toLowerCase()||L(C(e),C(t))}},Q=function(e){return t(l).createElement(G,s({},e,{colorModel:Z}))},V=function(e){var r=e.className,n=e.hsva,o=e.onChange,a={backgroundImage:"linear-gradient(90deg, "+R(Object.assign({},n,{a:0}))+", "+R(Object.assign({},n,{a:1}))+")"},i=m(["react-colorful__alpha",r]);return t(l).createElement("div",{className:i},t(l).createElement("div",{className:"react-colorful__alpha-gradient",style:a}),t(l).createElement(y,{onMove:function(e){o({a:e.left})},onKey:function(e){o({a:d(n.a+e.left)})},"aria-label":"Alpha","aria-valuetext":k(100*n.a)+"%"},t(l).createElement(_,{className:"react-colorful__alpha-pointer",left:n.a,color:R(n)})))},Y=function(e){var r=e.className,n=e.colorModel,o=e.color,a=void 0===o?n.defaultColor:o,i=e.onChange,c=f(e,["className","colorModel","color","onChange"]),u=l.useRef(null);$(u);var v=W(n,a,i),d=v[0],p=v[1],b=m(["react-colorful",r]);return t(l).createElement("div",s({},c,{ref:u,className:b}),t(l).createElement(U,{hsva:d,onChange:p}),t(l).createElement(F,{hue:d.h,onChange:p}),t(l).createElement(V,{hsva:d,onChange:p,className:"react-colorful__last-control"}))},X={defaultColor:{h:0,s:0,l:0,a:1},toHsva:O,fromHsva:S,equal:L},ee=function(e){return t(l).createElement(Y,s({},e,{colorModel:X}))},te={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:A,fromHsva:R,equal:D},re=function(e){return t(l).createElement(Y,s({},e,{colorModel:te}))},ne={defaultColor:{h:0,s:0,l:0},toHsva:function(e){return O({h:e.h,s:e.s,l:e.l,a:1})},fromHsva:function(e){var t;return{h:(t=S(e)).h,s:t.s,l:t.l}},equal:L},oe=function(e){return t(l).createElement(G,s({},e,{colorModel:ne}))},ae={defaultColor:"hsl(0, 0%, 0%)",toHsva:E,fromHsva:H,equal:D},ie=function(e){return t(l).createElement(G,s({},e,{colorModel:ae}))},ce={defaultColor:{h:0,s:0,v:0,a:1},toHsva:function(e){return e},fromHsva:T,equal:L},ue=function(e){return t(l).createElement(Y,s({},e,{colorModel:ce}))},le={defaultColor:"hsva(0, 0%, 0%, 1)",toHsva:P,fromHsva:function(e){var t=T(e);return"hsva("+t.h+", "+t.s+"%, "+t.v+"%, "+t.a+")"},equal:D},se=function(e){return t(l).createElement(Y,s({},e,{colorModel:le}))},fe={defaultColor:{h:0,s:0,v:0},toHsva:function(e){return{h:e.h,s:e.s,v:e.v,a:1}},fromHsva:function(e){var t=T(e);return{h:t.h,s:t.s,v:t.v}},equal:L},ve=function(e){return t(l).createElement(G,s({},e,{colorModel:fe}))},de={defaultColor:"hsv(0, 0%, 0%)",toHsva:M,fromHsva:function(e){var t=T(e);return"hsv("+t.h+", "+t.s+"%, "+t.v+"%)"},equal:D},pe=function(e){return t(l).createElement(G,s({},e,{colorModel:de}))},be={defaultColor:{r:0,g:0,b:0,a:1},toHsva:I,fromHsva:x,equal:L},he=function(e){return t(l).createElement(Y,s({},e,{colorModel:be}))},ge={defaultColor:"rgba(0, 0, 0, 1)",toHsva:N,fromHsva:function(e){var t=x(e);return"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},equal:D},ye=function(e){return t(l).createElement(Y,s({},e,{colorModel:ge}))},me={defaultColor:{r:0,g:0,b:0},toHsva:function(e){return I({r:e.r,g:e.g,b:e.b,a:1})},fromHsva:function(e){var t;return{r:(t=x(e)).r,g:t.g,b:t.b}},equal:L},_e=function(e){return t(l).createElement(G,s({},e,{colorModel:me}))},ke={defaultColor:"rgb(0, 0, 0)",toHsva:B,fromHsva:function(e){var t=x(e);return"rgb("+t.r+", "+t.g+", "+t.b+")"},equal:D},je=function(e){return t(l).createElement(G,s({},e,{colorModel:ke}))},Ce={};Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.ReactCSS=Ce.loop=Ce.handleActive=Ce.handleHover=Ce.hover=void 0;var we={};Object.defineProperty(we,"__esModule",{value:!0}),we.flattenNames=void 0;var Ae,Ee={};Ae=(dr=o("8ThvE")).Symbol;var Oe={},Se=Object.prototype,He=Se.hasOwnProperty,Re=Se.toString,xe=Ae?Ae.toStringTag:void 0;Oe=function(e){var t=He.call(e,xe),r=e[xe];try{e[xe]=void 0;var n=!0}catch(e){}var o=Re.call(e);return n&&(t?e[xe]=r:delete e[xe]),o};var Pe={},Me=Object.prototype.toString;Pe=function(e){return Me.call(e)};var Ne=Ae?Ae.toStringTag:void 0;Ee=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Ne&&Ne in Object(e)?Oe(e):Pe(e)};var Be={},ze=Array.isArray;Be=ze;var Ie={};Ie=function(e){return null!=e&&"object"==typeof e};var Te,Fe=co((function(e){return"string"==typeof e||!Be(e)&&Ie(e)&&"[object String]"==Ee(e)})),Ue={},Le={};var De=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),c=i.length;c--;){var u=i[e?c:++o];if(!1===r(a[u],u,a))break}return t}}();Le=De;var We={},Je={},qe={};qe=function(e,t){for(var r=-1,n=Array(e);++r-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};var ot={};ot["[object Float32Array]"]=ot["[object Float64Array]"]=ot["[object Int8Array]"]=ot["[object Int16Array]"]=ot["[object Int32Array]"]=ot["[object Uint8Array]"]=ot["[object Uint8ClampedArray]"]=ot["[object Uint16Array]"]=ot["[object Uint32Array]"]=!0,ot["[object Arguments]"]=ot["[object Array]"]=ot["[object ArrayBuffer]"]=ot["[object Boolean]"]=ot["[object DataView]"]=ot["[object Date]"]=ot["[object Error]"]=ot["[object Function]"]=ot["[object Map]"]=ot["[object Number]"]=ot["[object Object]"]=ot["[object RegExp]"]=ot["[object Set]"]=ot["[object String]"]=ot["[object WeakMap]"]=!1,tt=function(e){return Ie(e)&&nt(e.length)&&!!ot[Ee(e)]};var at={};at=function(e){return function(t){return e(t)}};var it=(ta=o("7vc1R"))&&ta.isTypedArray,ct=it?at(it):tt;rt=ct;var ut=Object.prototype.hasOwnProperty;Je=function(e,t){var r=Be(e),n=!r&&Ke(e),o=!r&&!n&&Ye(e),a=!r&&!n&&!o&&rt(e),i=r||n||o||a,c=i?qe(e.length,String):[],u=c.length;for(var l in e)!t&&!ut.call(e,l)||i&&("length"==l||o&&("offset"==l||"parent"==l)||a&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Xe(l,u))||c.push(l);return c};var lt={},st={},ft=Object.prototype;st=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ft)};var vt={},dt={};var pt=(dt=function(e,t){return function(r){return e(t(r))}})(Object.keys,Object);vt=pt;var bt=Object.prototype.hasOwnProperty;lt=function(e){if(!st(e))return vt(e);var t=[];for(var r in Object(e))bt.call(e,r)&&"constructor"!=r&&t.push(r);return t};var ht={},gt={},yt={};yt=function(e){var t=void 0===e?"undefined":u(e);return null!=e&&("object"==t||"function"==t)};gt=function(e){if(!yt(e))return!1;var t=Ee(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},ht=function(e){return null!=e&&nt(e.length)&&!gt(e)},We=function(e){return ht(e)?Je(e):lt(e)},Ue=function(e,t){return e&&Le(e,t,We)};var mt,_t={};mt=function(e){return e},_t=function(e){return"function"==typeof e?e:mt};var kt=co(Te=function(e,t){return e&&Ue(e,_t(t))}),jt={},Ct=dt(Object.getPrototypeOf,Object);jt=Ct;var wt=Function.prototype,At=Object.prototype,Et=wt.toString,Ot=At.hasOwnProperty,St=Et.call(Object);var Ht=co((function(e){if(!Ie(e)||"[object Object]"!=Ee(e))return!1;var t=jt(e);if(null===t)return!0;var r=Ot.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Et.call(r)==St})),Rt={};Rt=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r-1};var Wt;function Jt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++tc))return!1;var l=a.get(e),s=a.get(t);if(l&&s)return l==t&&s==e;var f=-1,v=!0,d=2&r?new Ur:void 0;for(a.set(e,t),a.set(t,e);++f0&&void 0!==arguments[0]?arguments[0]:[],r=[];return(0,io.default)(t,(function(t){Array.isArray(t)?e(t).map((function(e){return r.push(e)})):(0,Ht.default)(t)?(0,kt.default)(t,(function(e,t){!0===e&&r.push(t),r.push(t+"-"+e)})):(0,Fe.default)(t)&&r.push(t)})),r};we.default=uo;var lo=Ta(we),so={};Object.defineProperty(so,"__esModule",{value:!0}),so.mergeClasses=void 0;var fo=sa(Te),vo={},po={};po=function(e,t){for(var r=-1,n=null==e?0:e.length;++r1&&void 0!==arguments[1]?arguments[1]:[],r=e.default&&(0,ua.default)(e.default)||{};return t.map((function(t){var n=e[t];return n&&(0,fo.default)(n,(function(e,t){r[t]||(r[t]={}),r[t]=la({},r[t],n[t])})),t})),r};so.default=fa;var va=Ta(so),da={};Object.defineProperty(da,"__esModule",{value:!0}),da.autoprefix=void 0;var pa,ba=(pa=Te)&&pa.__esModule?pa:{default:pa},ha=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"span";return function(r){function n(){var r,o,a;Ca(this,n);for(var i=arguments.length,c=Array(i),u=0;u1&&void 0!==arguments[1]?arguments[1]:"span";return function(r){function n(){var r,o,a;xa(this,n);for(var i=arguments.length,c=Array(i),u=0;u1&&void 0!==arguments[1])||arguments[1];r[e]=t};return 0===e&&n("first-child"),e===t-1&&n("last-child"),(0===e||e%2==0)&&n("even"),1===Math.abs(e%2)&&n("odd"),n("nth-child",e),r};var Ia=Ta(za);function Ta(e){return e&&e.__esModule?e:{default:e}}Ce.hover=Oa.default,Ce.handleHover=Oa.default,Ce.handleActive=Ba.default,Ce.loop=Ia.default;var Fa=Ce.ReactCSS=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0:"number"==typeof e},Ja=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},qa=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t},Ka=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},$a=function(e){return{r:qa(e.r,0,255),g:qa(e.g,0,255),b:qa(e.b,0,255),a:qa(e.a)}},Ga=function(e){return{r:Ja(e.r),g:Ja(e.g),b:Ja(e.b),a:Ja(e.a,3)}},Za=/^#([0-9a-f]{3,8})$/i,Qa=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Va=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,a=Math.max(t,r,n),i=a-Math.min(t,r,n),c=i?a===t?(r-n)/i:a===r?2+(n-t)/i:4+(t-r)/i:0;return{h:60*(c<0?c+6:c),s:a?i/a*100:0,v:a/255*100,a:o}},Ya=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var a=Math.floor(t),i=n*(1-r),c=n*(1-(t-a)*r),u=n*(1-(1-t+a)*r),l=a%6;return{r:255*[n,c,i,i,u,n][l],g:255*[u,n,n,c,i,i][l],b:255*[i,i,u,n,n,c][l],a:o}},Xa=function(e){return{h:Ka(e.h),s:qa(e.s,0,100),l:qa(e.l,0,100),a:qa(e.a)}},ei=function(e){return{h:Ja(e.h),s:Ja(e.s),l:Ja(e.l),a:Ja(e.a,3)}},ti=function(e){var t,r,n;return Ya((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}))},ri=function(e){var t,r,n,o;return{h:(t=Va(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a}},ni=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,oi=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ai=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ii=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ci={string:[[function(e){var t=Za.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?Ja(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?Ja(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=ai.exec(e)||ii.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:$a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=ni.exec(e)||oi.exec(e);if(!t)return null;var r,n,o=Xa({h:(r=t[1],n=t[2],void 0===n&&(n="deg"),Number(r)*(Da[n]||1)),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return ti(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,a=void 0===o?1:o;return Wa(t)&&Wa(r)&&Wa(n)?$a({r:Number(t),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,a=void 0===o?1:o;if(!Wa(t)||!Wa(r)||!Wa(n))return null;var i=Xa({h:Number(t),s:Number(r),l:Number(n),a:Number(a)});return ti(i)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,a=void 0===o?1:o;if(!Wa(t)||!Wa(r)||!Wa(n))return null;var i,c=(i={h:Number(t),s:Number(r),v:Number(n),a:Number(a)},{h:Ka(i.h),s:qa(i.s,0,100),v:qa(i.v,0,100),a:qa(i.a)});return Ya(c)},"hsv"]]},ui=function(e,t){for(var r=0;r=.5},e.prototype.toHex=function(){var e,t,r,n,o,a;return t=(e=Ga(this.rgba)).r,r=e.g,n=e.b,a=(o=e.a)<1?Qa(Ja(255*o)):"","#"+Qa(t)+Qa(r)+Qa(n)+a},e.prototype.toRgb=function(){return Ga(this.rgba)},e.prototype.toRgbString=function(){var e,t,r,n,o;return t=(e=Ga(this.rgba)).r,r=e.g,n=e.b,(o=e.a)<1?"rgba("+t+", "+r+", "+n+", "+o+")":"rgb("+t+", "+r+", "+n+")"},e.prototype.toHsl=function(){return ei(ri(this.rgba))},e.prototype.toHslString=function(){var e,t,r,n,o;return t=(e=ei(ri(this.rgba))).h,r=e.s,n=e.l,(o=e.a)<1?"hsla("+t+", "+r+"%, "+n+"%, "+o+")":"hsl("+t+", "+r+"%, "+n+"%)"},e.prototype.toHsv=function(){var e;return e=Va(this.rgba),{h:Ja(e.h),s:Ja(e.s),v:Ja(e.v),a:Ja(e.a,3)}},e.prototype.invert=function(){var e;return pi({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a})},e.prototype.saturate=function(e){return void 0===e&&(e=.1),pi(si(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),pi(si(this.rgba,-e))},e.prototype.grayscale=function(){return pi(si(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),pi(vi(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),pi(vi(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){var t;return"number"==typeof e?pi({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):Ja(this.rgba.a,3)},e.prototype.hue=function(e){var t=ri(this.rgba);return"number"==typeof e?pi({h:e,s:t.s,l:t.l,a:t.a}):Ja(t.h)},e.prototype.isEqual=function(e){return this.toHex()===pi(e).toHex()},e}(),pi=function(e){return e instanceof di?e:new di(e)},bi=function(e,t){var r;switch(t){case"HexColorPicker":default:r=pi(e).toHex();break;case"RgbColorPicker":delete(r=pi(e).toRgb()).a;break;case"RgbStringColorPicker":r=pi(e).toRgbString();break;case"RgbaColorPicker":r=pi(e).toRgb();break;case"RgbaStringColorPicker":(r=pi(e).toRgbString()).includes("rgb")&&!r.includes("rgba")&&(r=(r=r.replace("rgb","rgba")).replace(")",", 1)"));break;case"HslColorPicker":delete(r=pi(e).toHsl()).a;break;case"HslStringColorPicker":r=pi(e).toHslString();break;case"HslaColorPicker":r=pi(e).toHsl();break;case"HslaStringColorPicker":(r=pi(e).toHslString()).includes("hsl")&&!r.includes("hsla")&&(r=(r=r.replace("hsl","hsla")).replace(")",", 1)"));break;case"HsvColorPicker":delete(r=pi(e).toHsv()).a;break;case"HsvStringColorPicker":var n=pi(e).toHsv();r="hsv("+n.h+", "+n.s+"%, "+n.v+"%)";break;case"HsvaColorPicker":r=pi(e).toHsv();break;case"HsvaStringColorPicker":var o=pi(e).toHsv();r="hsva("+o.h+", "+o.s+"%, "+o.v+"%, "+o.a+")"}return r},hi=function(e,t,r){var n,o,a;switch(t){case"HexColorPicker":default:a="string"==typeof e&&e.includes("#")?e:pi(e).toHex();break;case"RgbColorPicker":delete(a=pi(e).toRgb()).a;break;case"RgbStringColorPicker":a="string"==typeof e&&e.includes("rgb(")?e:pi(e).toRgbString();break;case"RgbaColorPicker":a=pi(e).toRgb();break;case"RgbaStringColorPicker":pi(e).toRgb().a<1?a="string"==typeof e&&e.includes("rgba")?e:pi(e).toRgbString():r?(a=pi(e).toRgbString()).includes("rgb")&&!a.includes("rgba")&&(a=(a=a.replace("rgb","rgba")).replace(")",", 1)")):a="string"==typeof e&&e.includes("#")?e:pi(e).toHex();break;case"HslColorPicker":delete(a=pi(e).toHsl()).a;break;case"HslStringColorPicker":a="string"==typeof e&&e.includes("hsl(")?e:pi(e).toHslString();break;case"HslaColorPicker":a=pi(e).toHsl();break;case"HslaStringColorPicker":(a=pi(e).toHslString()).includes("hsl")&&!a.includes("hsla")&&(a=(a=a.replace("hsl","hsla")).replace(")",", 1)"));break;case"HsvColorPicker":delete(a=pi(e).toHsv()).a;break;case"HsvStringColorPicker":a="hsv("+(n=pi(e).toHsv()).h+", "+n.s+"%, "+n.v+"%)";break;case"HsvaColorPicker":a=pi(e).toHsv();break;case"HsvaStringColorPicker":a="hsva("+(o=pi(e).toHsv()).h+", "+o.s+"%, "+o.v+"%, "+o.a+")"}return a},gi=function(e,t,r){var n,o,a;switch(t){case"HexColorPicker":a="string"==typeof e&&e.includes("#")?e:pi(e).toHex();break;case"RgbColorPicker":a="string"==typeof e&&e.includes("rgb(")?e:pi(e).toRgbString();break;case"RgbStringColorPicker":a="string"==typeof e&&e.includes("rgba")?e:pi(e).toRgbString();break;case"RgbaColorPicker":pi(e).toRgb().a<1?a="string"==typeof e&&e.includes("rgba")?e:pi(e).toRgbString():(a=pi(e).toRgbString()).includes("rgb")&&!a.includes("rgba")&&(a=(a=a.replace("rgb","rgba")).replace(")",", 1)"));break;case"RgbaStringColorPicker":1!=pi(e).toRgb().a||r?(a=pi(e).toRgbString()).includes("rgb")&&!a.includes("rgba")&&(a=(a=a.replace("rgb","rgba")).replace(")",", 1)")):a="string"==typeof e&&e.includes("#")?e:pi(e).toHex();break;case"HslColorPicker":case"HslStringColorPicker":a="string"==typeof e&&e.includes("hsl(")?e:pi(e).toHslString();break;case"HslaColorPicker":case"HslaStringColorPicker":(a=pi(e).toHslString()).includes("hsl")&&!a.includes("hsla")&&(a=(a=a.replace("hsl","hsla")).replace(")",", 1)"));break;case"HsvColorPicker":case"HsvStringColorPicker":a="hsv("+(n=pi(e).toHsv()).h+", "+n.s+"%, "+n.v+"%)";break;case"HsvaColorPicker":case"HsvaStringColorPicker":a="hsva("+(o=pi(e).toHsv()).h+", "+o.s+"%, "+o.v+"%, "+o.a+")";break;default:a=pi(e).toHex()}return a},yi=function(e,t,r){l.useEffect((function(){var n=!1,o=!1,a=function(a){n&&!o&&t.current&&!t.current.contains(a.target)&&e.current&&!e.current.contains(a.target)&&r()},i=function(r){n=t.current&&e.current,o=t.current&&t.current.contains(r.target)||e.current&&e.current.contains(r.target)};return document.addEventListener("mousedown",i),document.addEventListener("touchstart",i),document.addEventListener("click",a),function(){document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i),document.removeEventListener("click",a)}}),[t,e,r])},mi=function(e,t){l.useEffect((function(){var r=function(r){e.current&&(e.current.contains(r.target)||t())};return document.addEventListener("focus",r,!0),function(){document.removeEventListener("focus",r,!0)}}),[e,t])},_i=function(e){l.useEffect((function(){var t=function(t){e()};return window.addEventListener("resize",t,!0),function(){window.removeEventListener("resize",t,!0)}}),[e])},ki=function(e){var r=e.color,n=void 0===r?"":r,o=c(l.useState((function(){return n})),2),a=o[0],i=o[1];l.useEffect((function(){i(n)}),[n]);var u=t(Ce)({default:{triggerButton:{backgroundImage:'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==")'},colorPreview:{backgroundColor:a||"transparent"}}});return React.createElement("div",{className:"kirki-trigger-circle-wrapper"},React.createElement("button",{type:"button",className:"kirki-trigger-circle",onClick:e.togglePickerHandler,style:u.triggerButton},React.createElement("div",{className:"kirki-color-preview",style:u.colorPreview})))},ji=function(e){var t=e.control,r=e.customizerSetting,n=e.useHueMode,o=e.pickerComponent,a=e.choices,i=function(){return n?0:"#000000"},u=function(e){return(e=(e=e||i())<0?0:e)>360?360:e},s=function(e){return""===e?"":n?u(e):gi(e,o,a.formComponent).replace(";","")},f=function(e){return e=e||i(),n?{h:e,s:100,l:50}:bi(e,o)},v=c(l.useState((function(){return s(e.value)})),2),d=v[0],p=v[1],b=c(l.useState((function(){return f(e.value)})),2),h=b[0],g=b[1],y=d,m=h;t.updateComponentState=function(e){var t=s(e);("string"==typeof t||n?t!==d:JSON.stringify(t)!==JSON.stringify(y))&&p(t);var r=f(e);("string"==typeof r||n?r!==h:JSON.stringify(r)!==JSON.stringify(m))&&g(r)};var _=function(e){n?(e=e.h||0===e.h?e.h:e,e=u(e)):e=function(e){return""===e?"":hi(e,o,a.formComponent)}(e),r.set(e)},k=""!==e.default&&void 0!==e.default?e.default:e.value,j=React.createElement("span",{className:"customize-control-title",dangerouslySetInnerHTML:{__html:e.label}}),C=React.createElement("span",{className:"description customize-control-description",dangerouslySetInnerHTML:{__html:e.description}});j=React.createElement("label",{className:"kirki-control-label"},e.label?j:"",e.description?C:""),j=e.label||e.description?j:"";var w,A=l.useRef(null),E=l.useRef(null),O=l.useRef(null),S=c(l.useState(!1),2),H=S[0],R=S[1],x="default"!==a.labelStyle,P=c(l.useState({}),2),M=P[0],N=P[1],B=function(){var e={};if(!x)return e;var r=window.getComputedStyle(t.container[0].parentNode).paddingLeft;r=2*parseInt(r,10),e.width=t.container[0].parentNode.getBoundingClientRect().width-r;var n=-1*(t.container[0].offsetLeft-9);return e.left=n+"px",e},z=function(){4===d.length&&d.includes("#")&&p(pi(d).toHex())},I=function(){H||(N(B()),z(),R(!0))},T=function(){H&&(R(!1),setTimeout(z,200))};switch(o){case"HexColorPicker":default:w=Q;break;case"RgbColorPicker":w=_e;break;case"RgbStringColorPicker":w=je;break;case"RgbaColorPicker":w=he;break;case"RgbaStringColorPicker":w=ye;break;case"HueColorPicker":case"HslColorPicker":w=oe;break;case"HslStringColorPicker":w=ie;break;case"HslaColorPicker":w=ee;break;case"HslaStringColorPicker":w=re;break;case"HsvColorPicker":w=ve;break;case"HsvStringColorPicker":w=pe;break;case"HsvaColorPicker":w=ue;break;case"HsvaStringColorPicker":w=se}if(_i((function(){N(B())})),mi(A,T),yi(E,O,T),jQuery.wp&&jQuery.wp.wpColorPicker){var F=jQuery.wp.wpColorPicker.prototype.options.palettes;if(Array.isArray(F)){if(F.length<8)for(var U=F.length;U<=8;U++)F.push(a.swatches[U]);a.swatches=F}}var L=React.createElement(React.Fragment,null,j,React.createElement("div",{className:"customize-control-notifications-container",ref:e.setNotificationContainer})),D=n?"kirki-control-form use-hue-mode":"kirki-control-form";D+=" has-"+a.labelStyle+"-label-style";var W,J=H?o+" colorPickerContainer is-open":o+" colorPickerContainer",q=React.createElement(React.Fragment,null,React.createElement("button",{type:"button",ref:O,className:"kirki-control-reset",onClick:function(){k||(y="",m=""),_(k)},style:{display:H?"flex":"none"}},React.createElement("i",{className:"dashicons dashicons-image-rotate"})),React.createElement(ki,{pickerComponent:o,useHueMode:n,color:n?pi({h:d,s:100,l:50}).toHex():d,isPickerOpen:H,togglePickerHandler:function(){H?T():I()}}));switch(a.labelStyle){case"tooltip":W=React.createElement(React.Fragment,null,q,!H&&React.createElement("div",{className:"kirki-label-tooltip"},L));break;case"top":W=React.createElement(React.Fragment,null,L,q);break;default:W=React.createElement(React.Fragment,null,React.createElement("div",{className:"kirki-control-cols"},React.createElement("div",{className:"kirki-control-left-col"},L),React.createElement("div",{className:"kirki-control-right-col"},q)))}return React.createElement(React.Fragment,null,React.createElement("div",{className:D,ref:A,tabIndex:"1"},W,React.createElement("div",{ref:E,className:J,style:M},!n&&React.createElement(La,{colors:a.swatches,onClick:function(e){_(e)}}),React.createElement(w,{color:h,onChange:function(t){e.onChange&&e.onChange(t),m=t,_(t)}}),React.createElement(Ua,{pickerComponent:o,useHueMode:n,color:d,onChange:function(e){y=e,_(e)}}))))};function Ci(){return Ci=Object.assign||function(e){for(var t=1;t 'alpha' argument. + * + * @access public + * @var string + */ + public $mode = ''; + + /** + * Enqueue control related scripts/styles. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue() { + + parent::enqueue(); + + // Enqueue the script. + wp_enqueue_script( 'kirki-control-react-colorful', URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.js' ), [ 'customize-controls', 'wp-element', 'jquery', 'customize-base', 'kirki-control-base' ], self::$control_ver, false ); + + // Enqueue the style. + wp_enqueue_style( 'kirki-control-react-colorful', URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.css' ), [], self::$control_ver ); + + } + + /** + * Refresh the parameters passed to the JavaScript via JSON. + * + * @access public + * @since 1.0 + * @see WP_Customize_Control::to_json() + * @return void + */ + public function to_json() { + + // Get the basics from the parent class. + parent::to_json(); + + if ( isset( $this->json['label'] ) ) { + $this->json['label'] = html_entity_decode( $this->json['label'] ); + } + + if ( isset( $this->json['description'] ) ) { + $this->json['description'] = html_entity_decode( $this->json['description'] ); + } + + // Value. + $this->json['value'] = empty( $this->value() ) ? '' : ( 'hue' === $this->mode ? absint( $this->value() ) : $this->value() ); + + if ( is_string( $this->json['value'] ) ) { + $this->json['value'] = strtolower( $this->json['value'] ); + } + + // Mode. + $this->json['mode'] = $this->mode; + + // The label_style. + $this->json['choices']['labelStyle'] = isset( $this->choices['label_style'] ) ? $this->choices['label_style'] : 'default'; + + // Color swatches. + $this->json['choices']['swatches'] = $this->color_swatches(); + + // Form component (the value is bsaed on react-colorful's components). + if ( isset( $this->choices['form_component'] ) ) { + $this->json['choices']['formComponent'] = $this->choices['form_component']; + } + + $this->remove_unused_json_props(); + + } + + /** + * Remove un-used json properties. + * + * For consistency in JS, we converted some choices to use camelCase. + * To reduce the returned json size, we remove the original properties (which is using snake_case) from the JSON. + * But we keep them to stay in the choices array, so that they're still accessible. + * + * @return void + */ + public function remove_unused_json_props() { + + if ( isset( $this->json['choices']['label_style'] ) ) { + unset( $this->json['choices']['label_style'] ); + } + + if ( isset( $this->choices['form_component'] ) ) { + unset( $this->json['choices']['form_component'] ); + } + + if ( isset( $this->json['choices']['trigger_style'] ) ) { + unset( $this->json['choices']['trigger_style'] ); + } + + if ( isset( $this->json['choices']['button_text'] ) ) { + unset( $this->json['choices']['button_text'] ); + } + + } + + /** + * Get color swatches values. + * + * @return array The color swatches values. + */ + public function color_swatches() { + + $default_swatches = [ + '#000000', + '#ffffff', + '#dd3333', + '#dd9933', + '#eeee22', + '#81d742', + '#1e73be', + '#8224e3', + ]; + + $default_swatches = apply_filters( 'kirki_default_color_swatches', $default_swatches ); + + $defined_swatches = isset( $this->choices['swatches'] ) && ! empty( $this->choices['swatches'] ) ? $this->choices['swatches'] : []; + + if ( empty( $defined_swatches ) ) { + $defined_swatches = isset( $this->choices['palettes'] ) && ! empty( $this->choices['palettes'] ) ? $this->choices['palettes'] : []; + } + + if ( ! empty( $defined_swatches ) ) { + $swatches = $defined_swatches; + $total_swatches = count( $swatches ); + + if ( $total_swatches < 8 ) { + for ( $i = $total_swatches; $i <= 8; $i++ ) { + $swatches[] = $total_swatches[ $i ]; + } + } + } else { + $swatches = $default_swatches; + } + + $swatches = apply_filters( 'kirki_color_swatches', $swatches ); + + return $swatches; + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding {@see WP_Customize_Control::to_json()}. + * + * @see WP_Customize_Control::print_template() + * + * @access protected + * @since 1.0 + * @return void + */ + protected function content_template() {} +} diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/CSS/ReactColorful.php b/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/CSS/ReactColorful.php new file mode 100644 index 0000000..03d827c --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/CSS/ReactColorful.php @@ -0,0 +1,85 @@ + 'global', + 'element' => '', + 'property' => 'color', + 'prefix' => '', + 'suffix' => '', + ) + ); + + // Only need to process further if the $value format is array. + if ( ! is_array( $value ) ) { + $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $value . $output['suffix']; + return; + } + + $alpha_enabled = false; + + if ( isset( $value['r'] ) || isset( $value['g'] ) || isset( $value['b'] ) ) { + $color_mode = isset( $value['a'] ) ? 'rgba' : 'rgb'; + $alpha_enabled = 'rgba' === $color_mode ? true : $alpha_enabled; + + $pos_1 = $value['r']; + $pos_2 = $value['g']; + $pos_3 = $value['b']; + $pos_4 = 'rgba' === $color_mode ? $value['a'] : 1; + } elseif ( isset( $value['h'] ) || isset( $value['s'] ) ) { + $pos_1 = $value['h']; + + if ( isset( $value['l'] ) ) { + $color_mode = isset( $value['a'] ) ? 'hsla' : 'hsl'; + $pos_2 = is_numeric( $value['l'] ) ? $value['l'] . '%' : $value['l']; + } elseif ( isset( $value['v'] ) ) { + $color_mode = isset( $value['a'] ) ? 'hvla' : 'hvl'; + $pos_2 = is_numeric( $value['v'] ) ? $value['v'] . '%' : $value['v']; + } + + $alpha_enabled = 'hsla' === $color_mode || 'hsva' === $color_mode ? true : $alpha_enabled; + + $pos_3 = is_numeric( $value ) ? $value['s'] . '%' : $value['s']; + $pos_4 = $alpha_enabled ? $value['a'] : 1; + } + + if ( $alpha_enabled ) { + $formatted_value = $color_mode . '(' . $pos_1 . ', ' . $pos_2 . ', ' . $pos_3 . ', ' . $pos_4 . ')'; + } else { + $formatted_value = $color_mode . '(' . $pos_1 . ', ' . $pos_2 . ', ' . $pos_3 . ')'; + } + + $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $formatted_value . $output['suffix']; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/ReactColorful.php b/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/ReactColorful.php new file mode 100644 index 0000000..f01ce0e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/Field/ReactColorful.php @@ -0,0 +1,298 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = [ __CLASS__, 'sanitize' ]; + + // If this is a hue control then its value should be an integer. + if ( isset( $args['mode'] ) && 'hue' === $args['mode'] ) { + $args['sanitize_callback'] = 'absint'; + } + } + + // For postMessage/preview purpose, if property is not set, then set it to 'color'. + if ( isset( $args['output'] ) && ! empty( $args['output'] ) && is_array( $args['output'] ) && ! isset( $args['output']['element'] ) ) { + foreach ( $args['output'] as $index => $output ) { + if ( ! isset( $output['property'] ) ) { + if ( empty( $args['output'][ $index ] ) ) { + $args['output'][ $index ] = []; + } + + $args['output'][ $index ]['property'] = 'color'; + } + } + } + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-react-colorful'; + } + + return $args; + + } + + /** + * Sanitize colors. + * + * @static + * @access public + * @since 1.0 + * + * @param string|array $value The color. + * @return string|array + */ + public static function sanitize( $value ) { + + $sanitized_value = ''; + + if ( is_string( $value ) ) { + $sanitized_value = self::sanitize_color_string( $value ); + } elseif ( is_array( $value ) ) { + if ( isset( $value['r'] ) || isset( $value['g'] ) || isset( $value['b'] ) ) { + $sanitized_value = self::sanitize_color_array( $value, 'rgb' ); + } elseif ( isset( $value['h'] ) || isset( $value['s'] ) ) { + if ( isset( $value['l'] ) ) { + $sanitized_value = self::sanitize_color_array( $value, 'hsl' ); + } elseif ( isset( $value['v'] ) ) { + $sanitized_value = self::sanitize_color_array( $value, 'hsv' ); + } + } + } + + return $sanitized_value; + + } + + /** + * Sanitize single color array. + * + * @param array $color The provided color in array format. + * @param string $color_type The color type. Accepts: rgb, hsl, and hsv. + * + * @return array The sanitized color. + */ + public static function sanitize_color_array( $color, $color_type = 'rgb' ) { + + $keys = [ 'r', 'g', 'b' ]; + $mins = [ 0, 0, 0 ]; + $maxs = [ 255, 255, 255 ]; + + if ( 'hsl' === $color_type || 'hsv' === $color_type ) { + $keys = [ 'h', 's', '' ]; + $keys[2] = isset( $color['v'] ) ? 'v' : 'l'; + + $mins = [ 0, 0, 0 ]; + $maxs = [ 360, 100, 100 ]; + } + + $sanitized_color = []; + + $sanitized_color = [ + $keys[0] => isset( $color[ $keys[0] ] ) ? absint( $color[ $keys[0] ] ) : $mins[0], + $keys[1] => isset( $color[ $keys[1] ] ) ? absint( $color[ $keys[1] ] ) : $mins[1], + $keys[2] => isset( $color[ $keys[2] ] ) ? absint( $color[ $keys[2] ] ) : $mins[2], + ]; + + $sanitized_color[ $keys[0] ] = $sanitized_color[ $keys[0] ] < $mins[0] ? $mins[0] : $sanitized_color[ $keys[0] ]; + $sanitized_color[ $keys[0] ] = $sanitized_color[ $keys[0] ] > $maxs[0] ? $maxs[0] : $sanitized_color[ $keys[0] ]; + + $sanitized_color[ $keys[1] ] = $sanitized_color[ $keys[1] ] < $mins[1] ? $mins[1] : $sanitized_color[ $keys[1] ]; + $sanitized_color[ $keys[1] ] = $sanitized_color[ $keys[1] ] > $maxs[1] ? $maxs[1] : $sanitized_color[ $keys[1] ]; + + $sanitized_color[ $keys[2] ] = $sanitized_color[ $keys[2] ] < $mins[2] ? $mins[2] : $sanitized_color[ $keys[2] ]; + $sanitized_color[ $keys[2] ] = $sanitized_color[ $keys[2] ] > $maxs[2] ? $maxs[2] : $sanitized_color[ $keys[2] ]; + + if ( isset( $color['a'] ) ) { + $sanitized_color['a'] = isset( $color['a'] ) ? filter_var( $color['a'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ) : 1; + $sanitized_color['a'] = $sanitized_color['a'] < 0 ? 0 : $sanitized_color['a']; + $sanitized_color['a'] = $sanitized_color['a'] > 1 ? 1 : $sanitized_color['a']; + } + + return $sanitized_color; + + } + + /** + * Sanitize color string. + * + * @static + * @access public + * @since 1.0 + * + * @param string $value The color. + * @return string + */ + public static function sanitize_color_string( $value ) { + + $value = strtolower( $value ); + + /** + * This pattern will check and match 3/6/8-character hex, rgb, rgba, hsl, hsla, hsv, and hsva colors. + * + * RGB regex: + * + * @link https://stackoverflow.com/questions/9585973/javascript-regular-expression-for-rgb-values#answer-9586045 + * + * For testing it, you can use these links: + * + * @link https://regex101.com/ + * @link https://regexr.com/ + * @link https://www.regextester.com/ + * + * How to test it? + * + * Paste the following code to the test field (of course without the asterisks and spaces in front of them): + * rgba(255, 255, 0, 0.9) + * rgb(255, 255, 0) + * #ff0 + * #ffff00 + * hsl(150, 25%, 25%) + * hsla(250, 25%, 25%, 0.7) + * hsv(125, 15%, 30%) + * hsva(125, 15%, 30%, 0.5) + * + * And then paste the regex `$pattern` below (without the single quote's start and end) to the regular expression box. + * Set the flag to use "global" and "multiline". + */ + $pattern = '/^(\#[\da-f]{3}|\#[\da-f]{6}|\#[\da-f]{8}|rgba\(((\d{1,2}|1\d\d|2([0-4]\d|5[0-5]))\s*,\s*){2}((\d{1,2}|1\d\d|2([0-4]\d|5[0-5]))\s*)(,\s*(0\.\d+|1))\)|rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)|hsla\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)(,\s*(0\.\d+|1))\)|hsl\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)\)|hsva\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)(,\s*(0\.\d+|1))\)|hsv\(\s*((\d{1,2}|[1-2]\d{2}|3([0-5]\d|60)))\s*,\s*((\d{1,2}|100)\s*%)\s*,\s*((\d{1,2}|100)\s*%)\))$/'; + + preg_match( $pattern, $value, $matches ); + + // Return the 1st match found. + if ( isset( $matches[0] ) ) { + if ( is_string( $matches[0] ) ) { + return $matches[0]; + } + + if ( is_array( $matches[0] ) && isset( $matches[0][0] ) ) { + return $matches[0][0]; + } + } + + // If no match was found, return an empty string. + return ''; + } + + /** + * Enqueue styles & scripts on 'customize_preview_init' action. + * + * @since 4.0.0 + * @access public + */ + public function enqueue_customize_preview_scripts() { + + wp_enqueue_script( 'kirki-react-colorful', URL::get_from_path( dirname( dirname( __DIR__ ) ) ) . '/dist/preview.js', [ 'wp-hooks', 'customize-preview' ], $this->control_class::$control_ver, true ); + + } + + /** + * Add output control class for react colorful control. + * + * @since 4.0.0 + * @access public + * + * @param array $control_classes The existing control classes. + * @return array + */ + public function output_control_classnames( $control_classes ) { + + $control_classes['kirki-react-colorful'] = '\Kirki\Field\CSS\ReactColorful'; + + return $control_classes; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulCircle.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulCircle.js new file mode 100644 index 0000000..3df99e9 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulCircle.js @@ -0,0 +1,49 @@ +import { useState, useEffect } from "react"; +import reactCSS from "reactcss"; + +const KirkiReactColorfulCircle = (props) => { + const { color = "" } = props; + const [value, setValue] = useState(() => color); + + // Update the local state when `color` property value is changed. + useEffect(() => { + // We don't need to convert the color since it's using the customizer value. + setValue(color); + }, [color]); + + const pickersWithAlpha = [ + "RgbaColorPicker", + "RgbaStringColorPicker", + "HslaColorPicker", + "HslaStringColorPicker", + "HsvaColorPicker", + "HsvaStringColorPicker", + ]; + + const styles = reactCSS({ + default: { + triggerButton: { + backgroundImage: + 'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==")', + }, + colorPreview: { + backgroundColor: value ? value : "transparent", + }, + }, + }); + + return ( +
    + +
    + ); +}; + +export default KirkiReactColorfulCircle; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulInput.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulInput.js new file mode 100644 index 0000000..e879e48 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulInput.js @@ -0,0 +1,93 @@ +import { useState, useEffect, useCallback } from "react"; +import reactCSS from "reactcss"; + +const KirkiReactColorfulInput = (props) => { + const { onChange, color = "" } = props; + const [value, setValue] = useState(() => color); + + const handleChange = useCallback( + (e) => { + let val = e.target.value; + + if (2 === val.length) { + if (!val.includes("#") && !val.includes("rg") && !val.includes("hs")) { + val = "#" + val; + } + } else if (3 === val.length || 6 === val.length) { + if (!val.includes("#") && !val.includes("rg") && !val.includes("hs")) { + val = "#" + val; + } + } + + val = val.toLowerCase(); + + // Thank you: https://regexr.com/39cgj + const pattern = new RegExp( + /(?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})\b|(?:rgb|hsl)a?\([^\)]*\)/ + ); + + if ("" === val || pattern.test(val)) { + onChange(val); // Run onChange handler passed by `KirkiReactColorfulForm` component. + } + + setValue(val); + }, + [onChange] + ); + + // Update the local state when `color` property value is changed. + useEffect(() => { + // We don't need to convert the color since it's already handled in parent component. + setValue(color); + }, [color]); + + const pickersWithAlpha = [ + "RgbaColorPicker", + "RgbaStringColorPicker", + "HslaColorPicker", + "HslaStringColorPicker", + "HsvaColorPicker", + "HsvaStringColorPicker", + ]; + + const styles = reactCSS({ + default: { + colorPreviewWrapper: { + backgroundImage: pickersWithAlpha.includes(props.pickerComponent) + ? 'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==")' + : "none", + }, + colorPreview: { + backgroundColor: value, + }, + }, + }); + + return ( +
    +
    + {!props.useHueMode && ( +
    + +
    + )} + +
    +
    + ); +}; + +export default KirkiReactColorfulInput; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulSwatches.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulSwatches.js new file mode 100644 index 0000000..2fa1c22 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/components/KirkiReactColorfulSwatches.js @@ -0,0 +1,22 @@ +const KirkiReactColorfulSwatches = ({ colors, onClick }) => { + return ( +
    + {colors.map((clr, index) => { + const color = clr && clr.color ? clr.color : clr; + + return ( + + ); + })} +
    + ); +}; + +export default KirkiReactColorfulSwatches; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useClickOutside.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useClickOutside.js new file mode 100644 index 0000000..0f00ea1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useClickOutside.js @@ -0,0 +1,45 @@ +import { useEffect } from "react"; + +/** + * Code was taken and then modified from https://codesandbox.io/s/opmco?file=/src/useClickOutside.js:0-1192 + * It was improved version of https://usehooks.com/useOnClickOutside/ + */ +const useClickOutside = (pickerRef, resetRef, handler) => { + useEffect(() => { + let startedWhenMounted = false; + let startedInside = false; + + const listener = (event) => { + // Do nothing if `mousedown` or `touchstart` started either inside resetRef or pickerRef element + if (!startedWhenMounted || startedInside) return; + + // Do nothing if clicking resetRef's element or descendent elements + if (!resetRef.current || resetRef.current.contains(event.target)) return; + + // Do nothing if clicking pickerRef's element or descendent elements + if (!pickerRef.current || pickerRef.current.contains(event.target)) + return; + + handler(); + }; + + const validateEventStart = (event) => { + startedWhenMounted = resetRef.current && pickerRef.current; + startedInside = + (resetRef.current && resetRef.current.contains(event.target)) || + (pickerRef.current && pickerRef.current.contains(event.target)); + }; + + document.addEventListener("mousedown", validateEventStart); + document.addEventListener("touchstart", validateEventStart); + document.addEventListener("click", listener); + + return () => { + document.removeEventListener("mousedown", validateEventStart); + document.removeEventListener("touchstart", validateEventStart); + document.removeEventListener("click", listener); + }; + }, [resetRef, pickerRef, handler]); +}; + +export default useClickOutside; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useFocusOutside.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useFocusOutside.js new file mode 100644 index 0000000..867e4e8 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useFocusOutside.js @@ -0,0 +1,23 @@ +import { useEffect } from "react"; + +const useFocusOutside = (ref, handler) => { + useEffect(() => { + const listener = (e) => { + // Do nothing if the component hasn't been mounted. + if (!ref.current) return; + + // Do nothing if the focused element is inside the ref or the ref it self. + if (ref.current.contains(e.target)) return; + + handler(); + }; + + document.addEventListener("focus", listener, true); + + return () => { + document.removeEventListener("focus", listener, true); + }; + }, [ref, handler]); +}; + +export default useFocusOutside; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useWindowResize.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useWindowResize.js new file mode 100644 index 0000000..6955cb3 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/hooks/useWindowResize.js @@ -0,0 +1,17 @@ +import { useEffect } from "react"; + +const useWindowResize = (handler) => { + useEffect(() => { + const listener = (e) => { + handler(); + }; + + window.addEventListener("resize", listener, true); + + return () => { + window.removeEventListener("resize", listener, true); + }; + }, [handler]); +}; + +export default useWindowResize; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForCustomizer.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForCustomizer.js new file mode 100644 index 0000000..9981532 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForCustomizer.js @@ -0,0 +1,153 @@ +import { colord } from "colord"; + +/** + * Convert the value for the customizer. + * + * @param {string|Object} value The value to be converted. + * @param {string} pickerComponent The picker component name. + * + * @returns {string} The converted value. + */ +const convertColorForCustomizer = (value, pickerComponent, formComponent) => { + let rgba; + let hsv; + let hsva; + let convertedValue; + + switch (pickerComponent) { + /** + * The HexColorPicker is used by these condition: + * 1. When formComponent is defined with HexColorPicker as the value. + * 2. When formComponent is not defined but the "alpha" choice is not set or set to false (the old way). + */ + case "HexColorPicker": + convertedValue = + "string" === typeof value && value.includes("#") + ? value + : colord(value).toHex(); + break; + + case "RgbColorPicker": + convertedValue = colord(value).toRgb(); + delete convertedValue.a; + break; + + case "RgbStringColorPicker": + convertedValue = + "string" === typeof value && value.includes("rgb(") + ? value + : colord(value).toRgbString(); + break; + + case "RgbaColorPicker": + rgba = colord(value).toRgb(); + convertedValue = rgba; + break; + + /** + * The RgbaStringColorPicker is used by these condition: + * 1. When formComponent is defined with RgbaColorPicker as the value. + * 2. When formComponent is not defined but the "alpha" choice is set to true. + */ + case "RgbaStringColorPicker": + rgba = colord(value).toRgb(); + + if (rgba.a < 1) { + convertedValue = + "string" === typeof value && value.includes("rgba") + ? value + : colord(value).toRgbString(); + } else { + // When it uses the 2nd condition above, then the expected value is "hex". + if (!formComponent) { + convertedValue = + "string" === typeof value && value.includes("#") + ? value + : colord(value).toHex(); + } else { + convertedValue = colord(value).toRgbString(); + + // Force to set the alpha channel value. + if ( + convertedValue.includes("rgb") && + !convertedValue.includes("rgba") + ) { + convertedValue = convertedValue.replace("rgb", "rgba"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + } + } + + break; + + case "HslColorPicker": + convertedValue = colord(value).toHsl(); + delete convertedValue.a; + break; + + case "HslStringColorPicker": + convertedValue = + "string" === typeof value && value.includes("hsl(") + ? value + : colord(value).toHslString(); + break; + + case "HslaColorPicker": + convertedValue = colord(value).toHsl(); + break; + + case "HslaStringColorPicker": + convertedValue = colord(value).toHslString(); + + // Force to set the alpha channel value. + if (convertedValue.includes("hsl") && !convertedValue.includes("hsla")) { + convertedValue = convertedValue.replace("hsl", "hsla"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + + break; + + case "HsvColorPicker": + convertedValue = colord(value).toHsv(); + delete convertedValue.a; + break; + + /** + * The colord library doesn't provide .toHsvString() method yet. + * This manual value-building will apply to "HsvStringColorPicker" and "HsvaStringColorPicker" stuff below. + */ + case "HsvStringColorPicker": + hsv = colord(value).toHsv(); + convertedValue = "hsv(" + hsv.h + ", " + hsv.s + "%, " + hsv.v + "%)"; + break; + + case "HsvaColorPicker": + convertedValue = colord(value).toHsv(); + break; + + case "HsvaStringColorPicker": + hsva = colord(value).toHsv(); + convertedValue = + "hsva(" + + hsva.h + + ", " + + hsva.s + + "%, " + + hsva.v + + "%, " + + hsva.a + + ")"; + break; + + default: + convertedValue = + "string" === typeof value && value.includes("#") + ? value + : colord(value).toHex(); + break; + } + + return convertedValue; +}; + +export default convertColorForCustomizer; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForInput.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForInput.js new file mode 100644 index 0000000..45b5e66 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForInput.js @@ -0,0 +1,182 @@ +import { colord } from "colord"; + +/** + * Convert the value for the color input. + * + * @param {string|Object} value The value to be converted. + * @param {string} pickerComponent The picker component name. + * + * @returns {string} The converted value. + */ +const convertColorForInput = (value, pickerComponent, formComponent) => { + let rgba; + let hsv; + let hsva; + let convertedValue; + + switch (pickerComponent) { + /** + * The HexColorPicker is used by these condition: + * 1. When formComponent is defined with HexColorPicker as the value. + * 2. When formComponent is not defined but the "alpha" choice is not set or set to false (the old way). + */ + case "HexColorPicker": + convertedValue = + "string" === typeof value && value.includes("#") + ? value + : colord(value).toHex(); + break; + + case "RgbColorPicker": + convertedValue = + "string" === typeof value && value.includes("rgb(") + ? value + : colord(value).toRgbString(); + break; + + case "RgbStringColorPicker": + convertedValue = + "string" === typeof value && value.includes("rgba") + ? value + : colord(value).toRgbString(); + break; + + case "RgbaColorPicker": + rgba = colord(value).toRgb(); + + if (rgba.a < 1) { + convertedValue = + "string" === typeof value && value.includes("rgba") + ? value + : colord(value).toRgbString(); + } else { + convertedValue = colord(value).toRgbString(); + + // Force to set the alpha value. + if ( + convertedValue.includes("rgb") && + !convertedValue.includes("rgba") + ) { + convertedValue = convertedValue.replace("rgb", "rgba"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + } + + break; + + /** + * The RgbaStringColorPicker is used by these condition: + * 1. When formComponent is defined with RgbaColorPicker as the value. + * 2. When formComponent is not defined but the "alpha" choice is set to true. + */ + case "RgbaStringColorPicker": + rgba = colord(value).toRgb(); + + // When it uses the 2nd condition above, then the expected value is "hex". + if (rgba.a == 1 && !formComponent) { + convertedValue = + "string" === typeof value && value.includes("#") + ? value + : colord(value).toHex(); + } else { + convertedValue = colord(value).toRgbString(); + + // Force to set the alpha value. + if ( + convertedValue.includes("rgb") && + !convertedValue.includes("rgba") + ) { + convertedValue = convertedValue.replace("rgb", "rgba"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + } + + break; + + case "HslColorPicker": + convertedValue = + "string" === typeof value && value.includes("hsl(") + ? value + : colord(value).toHslString(); + break; + + case "HslStringColorPicker": + convertedValue = + "string" === typeof value && value.includes("hsl(") + ? value + : colord(value).toHslString(); + break; + + case "HslaColorPicker": + convertedValue = colord(value).toHslString(); + + // Force to set the alpha value. + if (convertedValue.includes("hsl") && !convertedValue.includes("hsla")) { + convertedValue = convertedValue.replace("hsl", "hsla"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + + break; + + case "HslaStringColorPicker": + convertedValue = colord(value).toHslString(); + + // Force to set the alpha value. + if (convertedValue.includes("hsl") && !convertedValue.includes("hsla")) { + convertedValue = convertedValue.replace("hsl", "hsla"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + + break; + + /** + * The colord library doesn't provide .toHsvString() method yet. + * This manual value-building will apply to "hsv" and "hsva" stuff below. + */ + case "HsvColorPicker": + hsv = colord(value).toHsv(); + convertedValue = "hsv(" + hsv.h + ", " + hsv.s + "%, " + hsv.v + "%)"; + break; + + case "HsvStringColorPicker": + hsv = colord(value).toHsv(); + convertedValue = "hsv(" + hsv.h + ", " + hsv.s + "%, " + hsv.v + "%)"; + break; + + case "HsvaColorPicker": + hsva = colord(value).toHsv(); + convertedValue = + "hsva(" + + hsva.h + + ", " + + hsva.s + + "%, " + + hsva.v + + "%, " + + hsva.a + + ")"; + break; + + case "HsvaStringColorPicker": + hsva = colord(value).toHsv(); + convertedValue = + "hsva(" + + hsva.h + + ", " + + hsva.s + + "%, " + + hsva.v + + "%, " + + hsva.a + + ")"; + break; + + default: + convertedValue = colord(value).toHex(); + break; + } + + return convertedValue; +}; + +export default convertColorForInput; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForPicker.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForPicker.js new file mode 100644 index 0000000..ac26605 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/convertColorForPicker.js @@ -0,0 +1,106 @@ +import { colord } from "colord"; + +/** + * Convert the value for the color picker. + * + * @param {string|Object} value The value to be converted. + * @param {string} pickerComponent The picker component name. + * + * @returns {string|Object} The converted value. + */ +const convertColorForPicker = (value, pickerComponent) => { + let convertedValue; + + switch (pickerComponent) { + case "HexColorPicker": + convertedValue = colord(value).toHex(); + break; + + case "RgbColorPicker": + convertedValue = colord(value).toRgb(); + delete convertedValue.a; + break; + + case "RgbStringColorPicker": + convertedValue = colord(value).toRgbString(); + break; + + case "RgbaColorPicker": + convertedValue = colord(value).toRgb(); + break; + + case "RgbaStringColorPicker": + convertedValue = colord(value).toRgbString(); + + // Force to set the alpha channel value. + if (convertedValue.includes("rgb") && !convertedValue.includes("rgba")) { + convertedValue = convertedValue.replace("rgb", "rgba"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + + break; + + case "HslColorPicker": + convertedValue = colord(value).toHsl(); + delete convertedValue.a; + break; + + case "HslStringColorPicker": + convertedValue = colord(value).toHslString(); + break; + + case "HslaColorPicker": + convertedValue = colord(value).toHsl(); + break; + + case "HslaStringColorPicker": + convertedValue = colord(value).toHslString(); + + // Force to set the alpha channel value. + if (convertedValue.includes("hsl") && !convertedValue.includes("hsla")) { + convertedValue = convertedValue.replace("hsl", "hsla"); + convertedValue = convertedValue.replace(")", ", 1)"); + } + + break; + + case "HsvColorPicker": + convertedValue = colord(value).toHsv(); + delete convertedValue.a; + break; + + case "HsvStringColorPicker": + const hsv = colord(value).toHsv(); + convertedValue = "hsv(" + hsv.h + ", " + hsv.s + "%, " + hsv.v + "%)"; + + break; + + case "HsvaColorPicker": + convertedValue = colord(value).toHsv(); + break; + + case "HsvaStringColorPicker": + // colord library doesn't provide .toHsvString() method yet. + const hsva = colord(value).toHsv(); + convertedValue = + "hsva(" + + hsva.h + + ", " + + hsva.s + + "%, " + + hsva.v + + "%, " + + hsva.a + + ")"; + + break; + + default: + convertedValue = colord(value).toHex(); + break; + } + + return convertedValue; +}; + +export default convertColorForPicker; diff --git a/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/util.js b/functions/kirki/packages/kirki-framework/control-react-colorful/src/js/utils/util.js new file mode 100644 index 0000000..e69de29 diff --git a/functions/kirki/packages/kirki-framework/control-react-select/dist/control.css b/functions/kirki/packages/kirki-framework/control-react-select/dist/control.css new file mode 100644 index 0000000..5bafed1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-select/dist/control.css @@ -0,0 +1,3 @@ +.customize-control-kirki-react-select input[autocomplete=off]{box-shadow:none}.kirki-react-select__value-container>div:not(.kirki-react-select__single-value):not(.kirki-react-select__multi-value){padding-top:0;padding-bottom:0}.kirki-react-select__control{padding-top:2px;padding-bottom:2px;min-height:26px}.kirki-react-select__value-container .kirki-react-select__input{min-height:24px;height:24px}.kirki-react-select__value-container .kirki-react-select__input input{min-height:24px;height:24px}.kirki-react-select__single-value{display:flex;align-items:center;width:100%}.kirki-react-select__multi-value{align-items:center;position:relative;height:20px}.kirki-react-select__input{display:inline-flex !important;align-items:center;position:relative;left:2px}.kirki-react-select__input input{box-sizing:border-box !important;height:30px}.kirki-react-select__indicators{height:24px !important}.kirki-react-select__indicator{align-items:center;height:24px}.customize-control-kirki-react-select .kirki-react-select__menu{z-index:3} + +/*# sourceMappingURL=control.css.map*/ \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/control-react-select/dist/control.js b/functions/kirki/packages/kirki-framework/control-react-select/dist/control.js new file mode 100644 index 0000000..55746ea --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-select/dist/control.js @@ -0,0 +1,3 @@ +/*! For license information please see control.js.LICENSE.txt */ +!function(){"use strict";var e={679:function(e,t,n){var r=n(864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var l=Object.defineProperty,c=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var a=c(n);p&&(a=a.concat(p(n)));for(var s=u(t),h=u(n),v=0;v0?c(O,--b):0,v--,10===y&&(v=1,h--),y}function x(){return y=b2||I(y)>3?"":" "}function L(e,t){for(;--t&&x()&&!(y<48||y>102||y>57&&y<65||y>70&&y<97););return k(e,P()+(t<6&&32==M()&&32==x()))}function A(e){for(;x();)switch(y){case e:return b;case 34:case 39:34!==e&&39!==e&&A(y);break;case 40:41===e&&A(e);break;case 92:x()}return b}function F(e,t){for(;x()&&e+y!==57&&(e+y!==84||47!==M()););return"/*"+k(t,b-1)+"*"+i(47===e?e:x())}function T(e){for(;!I(M());)x();return k(e,b)}var N="-ms-",H="-moz-",j="-webkit-",$="comm",z="rule",U="decl",B="@keyframes";function W(e,t){for(var n="",r=f(e),o=0;o6)switch(c(e,t+1)){case 109:if(45!==c(e,t+4))break;case 102:return u(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+H+(108==c(e,t+3)?"$3":"$2-$3"))+e;case 115:return~l(e,"stretch")?Y(u(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==c(e,t+1))break;case 6444:switch(c(e,d(e)-3-(~l(e,"!important")&&10))){case 107:return u(e,":",":"+j)+e;case 101:return u(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+j+(45===c(e,14)?"inline-":"")+"box$3$1"+j+"$2$3$1"+N+"$2box$3")+e}break;case 5936:switch(c(e,t+11)){case 114:return j+e+N+u(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return j+e+N+u(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return j+e+N+u(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return j+e+N+e+e}return e}function X(e){return V(K("",null,null,null,[""],e=E(e),0,[0],e))}function K(e,t,n,r,o,a,s,c,p){for(var f=0,h=0,v=s,g=0,b=0,y=0,O=1,S=1,w=1,k=0,I="",E=o,V=a,A=r,N=I;S;)switch(y=k,k=x()){case 40:if(108!=y&&58==N.charCodeAt(v-1)){-1!=l(N+=u(R(k),"&","&\f"),"&\f")&&(w=-1);break}case 34:case 39:case 91:N+=R(k);break;case 9:case 10:case 13:case 32:N+=D(y);break;case 92:N+=L(P()-1,7);continue;case 47:switch(M()){case 42:case 47:m(q(F(x(),P()),t,n),p);break;default:N+="/"}break;case 123*O:c[f++]=d(N)*w;case 125*O:case 59:case 0:switch(k){case 0:case 125:S=0;case 59+h:b>0&&d(N)-v&&m(b>32?J(N+";",r,n,v-1):J(u(N," ","")+";",r,n,v-2),p);break;case 59:N+=";";default:if(m(A=Z(N,t,n,f,h,o,c,I,E=[],V=[],v),a),123===k)if(0===h)K(N,t,A,A,E,a,v,c,V);else switch(g){case 100:case 109:case 115:K(e,A,A,r&&m(Z(e,A,A,0,0,o,c,I,o,E=[],v),V),o,V,v,c,r?E:V);break;default:K(N,A,A,A,[""],V,0,c,V)}}f=h=b=0,O=w=1,I=N="",v=s;break;case 58:v=1+d(N),b=y;default:if(O<1)if(123==k)--O;else if(125==k&&0==O++&&125==C())continue;switch(N+=i(k),k*O){case 38:w=h>0?1:(N+="\f",-1);break;case 44:c[f++]=(d(N)-1)*w,w=1;break;case 64:45===M()&&(N+=R(x())),g=M(),h=v=d(I=N+=T(P())),k++;break;case 45:45===y&&2==d(N)&&(O=0)}}return a}function Z(e,t,n,r,i,a,l,c,d,m,h){for(var v=i-1,g=0===i?a:[""],b=f(g),y=0,O=0,w=0;y0?g[C]+" "+x:u(x,/&\f/g,g[C])))&&(d[w++]=M);return S(e,t,n,0===i?z:c,d,m,h)}function q(e,t,n){return S(e,t,n,$,i(y),p(e,2,-2),0)}function J(e,t,n,r){return S(e,t,n,U,p(e,0,r),p(e,r+1,-1),r)}var Q=function(e,t,n){for(var r=0,o=0;r=o,o=M(),38===r&&12===o&&(t[n]=1),!I(o);)x();return k(e,b)},ee=new WeakMap,te=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ee.get(n))&&!r){ee.set(e,!0);for(var o=[],a=function(e,t){return V(function(e,t){var n=-1,r=44;do{switch(I(r)){case 0:38===r&&12===M()&&(t[n]=1),e[n]+=Q(b-1,t,n);break;case 2:e[n]+=R(r);break;case 4:if(44===r){e[++n]=58===M()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=i(r)}}while(r=x());return e}(E(e),t))}(t,o),s=n.props,u=0,l=0;u-1&&!e.return)switch(e.type){case U:e.return=Y(e.value,e.length);break;case B:return W([w(e,{value:u(e.value,"@","@"+j)})],r);case z:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return W([w(e,{props:[u(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return W([w(e,{props:[u(t,/:(plac\w+)/,":-webkit-input-$1")]}),w(e,{props:[u(t,/:(plac\w+)/,":-moz-$1")]}),w(e,{props:[u(t,/:(plac\w+)/,N+"input-$1")]})],r)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o,i,a=e.stylisPlugins||re,s={},u=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},ue={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},le=/[A-Z]|^ms/g,ce=/_EMO_([^_]+?)_([^]*?)_EMO_/g,pe=function(e){return 45===e.charCodeAt(1)},de=function(e){return null!=e&&"boolean"!=typeof e},fe=function(e){var t=Object.create(null);return function(e){return void 0===t[e]&&(t[e]=pe(n=e)?n:n.replace(le,"-$&").toLowerCase()),t[e];var n}}(),me=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ce,(function(e,t,n){return ve={name:t,styles:n,next:ve},t}))}return 1===ue[e]||pe(e)||"number"!=typeof t||0===t?t:t+"px"};function he(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return ve={name:n.name,styles:n.styles,next:ve},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)ve={name:r.name,styles:r.styles,next:ve},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(e){return Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ae(e)}function Fe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Te(e,t){for(var n=0;n-1}function tt(e){return et(e)?window.pageYOffset:e.scrollTop}function nt(e,t){et(e)?window.scrollTo(0,t):e.scrollTop=t}function rt(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function ot(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ke,o=tt(e),i=t-o,a=10,s=0;function u(){var t=rt(s+=a,o,i,n);nt(e,t),s=f)return{placement:"bottom",maxHeight:t};if(C>=f&&!a)return i&&ot(u,x,P),{placement:"bottom",maxHeight:t};if(!a&&C>=r||a&&S>=r)return i&&ot(u,x,P),{placement:"bottom",maxHeight:a?S-b:C-b};if("auto"===o||a){var k=t,I=a?O:w;return I>=r&&(k=Math.min(I-b-s.controlHeight,t)),{placement:"top",maxHeight:k}}if("bottom"===o)return i&&nt(u,x),{placement:"bottom",maxHeight:t};break;case"top":if(O>=f)return{placement:"top",maxHeight:t};if(w>=f&&!a)return i&&ot(u,M,P),{placement:"top",maxHeight:t};if(!a&&w>=r||a&&O>=r){var E=t;return(!a&&w>=r||a&&O>=r)&&(E=a?O-y:w-y),i&&ot(u,M,P),{placement:"top",maxHeight:E}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(o,'".'))}return l}var ft=function(e){return"auto"===e?"bottom":e},mt=(0,t.createContext)({getPortalPlacement:null}),ht=function(e){je(n,e);var t=Ye(n);function n(){var e;Fe(this,n);for(var r=arguments.length,o=new Array(r),i=0;ie.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return"option ".concat(r,i?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=e.options,o=e.label,i=void 0===o?"":o,a=e.selectValue,s=e.isDisabled,u=e.isSelected,l=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&a)return"value ".concat(i," focused, ").concat(l(a,n),".");if("menu"===t){var c=s?" disabled":"",p="".concat(u?"selected":"focused").concat(c);return"option ".concat(i," ").concat(p,", ").concat(l(r,n),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},Qt=function(e){var n=e.ariaSelection,r=e.focusedOption,o=e.focusedValue,i=e.focusableOptions,a=e.isFocused,s=e.selectValue,u=e.selectProps,l=e.id,c=u.ariaLiveMessages,p=u.getOptionLabel,d=u.inputValue,f=u.isMulti,m=u.isOptionDisabled,h=u.isSearchable,v=u.menuIsOpen,g=u.options,b=u.screenReaderStatus,y=u.tabSelectsValue,O=u["aria-label"],S=u["aria-live"],w=(0,t.useMemo)((function(){return Be(Be({},Jt),c||{})}),[c]),C=(0,t.useMemo)((function(){var e,t="";if(n&&w.onChange){var r=n.option,o=n.options,i=n.removedValue,a=n.removedValues,u=n.value,l=i||r||(e=u,Array.isArray(e)?null:e),c=l?p(l):"",d=o||a||void 0,f=d?d.map(p):[],h=Be({isDisabled:l&&m(l,s),label:c,labels:f},n);t=w.onChange(h)}return t}),[n,w,m,s,p]),x=(0,t.useMemo)((function(){var e="",t=r||o,n=!!(r&&s&&s.includes(r));if(t&&w.onFocus){var i={focused:t,label:p(t),isDisabled:m(t,s),isSelected:n,options:g,context:t===r?"menu":"value",selectValue:s};e=w.onFocus(i)}return e}),[r,o,p,m,w,g,s]),M=(0,t.useMemo)((function(){var e="";if(v&&g.length&&w.onFilter){var t=b({count:i.length});e=w.onFilter({inputValue:d,resultsMessage:t})}return e}),[i,d,v,w,g,b]),P=(0,t.useMemo)((function(){var e="";if(w.guidance){var t=o?"value":v?"menu":"input";e=w.guidance({"aria-label":O,context:t,isDisabled:r&&m(r,s),isMulti:f,isSearchable:h,tabSelectsValue:y})}return e}),[O,r,o,f,m,h,v,w,s,y]),k="".concat(x," ").concat(M," ").concat(P),I=ke(t.Fragment,null,ke("span",{id:"aria-selection"},C),ke("span",{id:"aria-context"},k)),E="initial-input-focus"===(null==n?void 0:n.action);return ke(t.Fragment,null,ke(qt,{id:l},E&&I),ke(qt,{"aria-live":S,"aria-atomic":"false","aria-relevant":"additions text"},a&&!E&&I))},en=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],tn=new RegExp("["+en.map((function(e){return e.letters})).join("")+"]","g"),nn={},rn=0;rn0,h=p-d-l,v=!1;h>t&&s.current&&(o&&o(e),s.current=!1),m&&u.current&&(a&&a(e),u.current=!1),m&&t>h?(r&&!s.current&&r(e),f.scrollTop=p,v=!0,s.current=!0):!m&&-t>l&&(i&&!u.current&&i(e),f.scrollTop=0,v=!0,u.current=!0),v&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[r,o,i,a]),d=(0,t.useCallback)((function(e){p(e,e.deltaY)}),[p]),f=(0,t.useCallback)((function(e){l.current=e.changedTouches[0].clientY}),[]),m=(0,t.useCallback)((function(e){var t=l.current-e.changedTouches[0].clientY;p(e,t)}),[p]),h=(0,t.useCallback)((function(e){if(e){var t=!!lt&&{passive:!1};e.addEventListener("wheel",d,t),e.addEventListener("touchstart",f,t),e.addEventListener("touchmove",m,t)}}),[m,f,d]),v=(0,t.useCallback)((function(e){e&&(e.removeEventListener("wheel",d,!1),e.removeEventListener("touchstart",f,!1),e.removeEventListener("touchmove",m,!1))}),[m,f,d]);return(0,t.useEffect)((function(){if(n){var e=c.current;return h(e),function(){v(e)}}}),[n,h,v]),function(e){c.current=e}}({isEnabled:void 0===o||o,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),a=function(e){var n=e.isEnabled,r=e.accountForScrollbars,o=void 0===r||r,i=(0,t.useRef)({}),a=(0,t.useRef)(null),s=(0,t.useCallback)((function(e){if(yn){var t=document.body,n=t&&t.style;if(o&&fn.forEach((function(e){var t=n&&n[e];i.current[e]=t})),o&&On<1){var r=parseInt(i.current.paddingRight,10)||0,a=document.body?document.body.clientWidth:0,s=window.innerWidth-a+r||0;Object.keys(mn).forEach((function(e){var t=mn[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(s,"px"))}t&&bn()&&(t.addEventListener("touchmove",hn,Sn),e&&(e.addEventListener("touchstart",gn,Sn),e.addEventListener("touchmove",vn,Sn))),On+=1}}),[o]),u=(0,t.useCallback)((function(e){if(yn){var t=document.body,n=t&&t.style;On=Math.max(On-1,0),o&&On<1&&fn.forEach((function(e){var t=i.current[e];n&&(n[e]=t)})),t&&bn()&&(t.removeEventListener("touchmove",hn,Sn),e&&(e.removeEventListener("touchstart",gn,Sn),e.removeEventListener("touchmove",vn,Sn)))}}),[o]);return(0,t.useEffect)((function(){if(n){var e=a.current;return s(e),function(){u(e)}}}),[n,s,u]),function(e){a.current=e}}({isEnabled:r});return ke(t.Fragment,null,r&&ke("div",{onClick:wn,css:Cn}),n((function(e){i(e),a(e)})))}var Mn={clearIndicator:Dt,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,o=r.colors,i=r.borderRadius,a=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?o.neutral5:o.neutral0,borderColor:t?o.neutral10:n?o.primary:o.neutral20,borderRadius:i,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(o.primary):void 0,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?o.primary:o.neutral30}}},dropdownIndicator:Rt,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?o.neutral10:o.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.value,r=e.theme,o=r.spacing,i=r.colors;return Be({margin:o.baseUnit/2,paddingBottom:o.baseUnit/2,paddingTop:o.baseUnit/2,visibility:t?"hidden":"visible",color:i.neutral80,transform:n?"translateZ(0)":""},jt)},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,o=r.colors,i=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?o.neutral60:o.neutral20,display:"flex",padding:2*i,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:bt,menu:function(e){var t,n=e.placement,r=e.theme,o=r.borderRadius,i=r.spacing,a=r.colors;return $e(t={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),$e(t,"backgroundColor",a.neutral0),$e(t,"borderRadius",o),$e(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),$e(t,"marginBottom",i.menuGutter),$e(t,"marginTop",i.menuGutter),$e(t,"position","absolute"),$e(t,"width","100%"),$e(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,o=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:o||void 0===o?"ellipsis":void 0,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,o=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused?o.dangerLight:void 0,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:o.dangerLight,color:o.danger}}},noOptionsMessage:gt,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,o=e.theme,i=o.spacing,a=o.colors;return{label:"option",backgroundColor:r?a.primary:n?a.primary25:"transparent",color:t?a.neutral20:r?a.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*i.baseUnit,"px ").concat(3*i.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:t?void 0:r?a.primary:a.primary50}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,gridArea:"1 / 1 / 2 / 3",marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{label:"singleValue",color:t?o.neutral40:o.neutral80,gridArea:"1 / 1 / 2 / 3",marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},valueContainer:function(e){var t=e.theme.spacing,n=e.isMulti,r=e.hasValue,o=e.selectProps.controlShouldRenderValue;return{alignItems:"center",display:n&&r&&o?"flex":"grid",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}},Pn={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},kn={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:it(),captureMenuScroll:!it(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var n=Be({ignoreCase:!0,ignoreAccents:!0,stringify:cn,trim:!0,matchFrom:"any"},undefined),r=n.ignoreCase,o=n.ignoreAccents,i=n.stringify,a=n.trim,s=n.matchFrom,u=a?ln(t):t,l=a?ln(i(e)):i(e);return r&&(u=u.toLowerCase(),l=l.toLowerCase()),o&&(u=un(u),l=sn(l)),"start"===s?l.substr(0,u.length)===u:l.indexOf(u)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0};function In(e,t,n,r){return{type:"option",data:t,isDisabled:An(e,t,n),isSelected:Fn(e,t,n),label:Dn(e,t),value:Ln(e,t),index:r}}function En(e,t){return e.options.map((function(n,r){if("options"in n){var o=n.options.map((function(n,r){return In(e,n,t,r)})).filter((function(t){return Rn(e,t)}));return o.length>0?{type:"group",data:n,options:o,index:r}:void 0}var i=In(e,n,t,r);return Rn(e,i)?i:void 0})).filter(ct)}function Vn(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,Yt(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Rn(e,t){var n=e.inputValue,r=void 0===n?"":n,o=t.data,i=t.isSelected,a=t.label,s=t.value;return(!Nn(e)||!i)&&Tn(e,{label:a,value:s,data:o},r)}var Dn=function(e,t){return e.getOptionLabel(t)},Ln=function(e,t){return e.getOptionValue(t)};function An(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Fn(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=Ln(e,t);return n.some((function(t){return Ln(e,t)===r}))}function Tn(e,t,n){return!e.filterOption||e.filterOption(t,n)}var Nn=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},Hn=1,jn=function(n){je(o,n);var r=Ye(o);function o(e){var t;return Fe(this,o),(t=r.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},t.blockOptionHover=!1,t.isComposing=!1,t.commonProps=void 0,t.initialTouchX=0,t.initialTouchY=0,t.instancePrefix="",t.openAfterFocus=!1,t.scrollToFocusedOptionOnUpdate=!1,t.userIsDragging=void 0,t.controlRef=null,t.getControlRef=function(e){t.controlRef=e},t.focusedOptionRef=null,t.getFocusedOptionRef=function(e){t.focusedOptionRef=e},t.menuListRef=null,t.getMenuListRef=function(e){t.menuListRef=e},t.inputRef=null,t.getInputRef=function(e){t.inputRef=e},t.focus=t.focusInput,t.blur=t.blurInput,t.onChange=function(e,n){var r=t.props,o=r.onChange,i=r.name;n.name=i,t.ariaOnChange(e,n),o(e,n)},t.setValue=function(e,n,r){var o=t.props,i=o.closeMenuOnSelect,a=o.isMulti,s=o.inputValue;t.onInputChange("",{action:"set-value",prevInputValue:s}),i&&(t.setState({inputIsHiddenAfterUpdate:!a}),t.onMenuClose()),t.setState({clearFocusValueOnUpdate:!0}),t.onChange(e,{action:n,option:r})},t.selectOption=function(e){var n=t.props,r=n.blurInputOnSelect,o=n.isMulti,i=n.name,a=t.state.selectValue,s=o&&t.isOptionSelected(e,a),u=t.isOptionDisabled(e,a);if(s){var l=t.getOptionValue(e);t.setValue(a.filter((function(e){return t.getOptionValue(e)!==l})),"deselect-option",e)}else{if(u)return void t.ariaOnChange(e,{action:"select-option",option:e,name:i});o?t.setValue([].concat(Yt(a),[e]),"select-option",e):t.setValue(e,"select-option")}r&&t.blurInput()},t.removeValue=function(e){var n=t.props.isMulti,r=t.state.selectValue,o=t.getOptionValue(e),i=r.filter((function(e){return t.getOptionValue(e)!==o})),a=pt(n,i,i[0]||null);t.onChange(a,{action:"remove-value",removedValue:e}),t.focusInput()},t.clearValue=function(){var e=t.state.selectValue;t.onChange(pt(t.props.isMulti,[],null),{action:"clear",removedValues:e})},t.popValue=function(){var e=t.props.isMulti,n=t.state.selectValue,r=n[n.length-1],o=n.slice(0,n.length-1),i=pt(e,o,o[0]||null);t.onChange(i,{action:"pop-value",removedValue:r})},t.getValue=function(){return t.state.selectValue},t.cx=function(){for(var e=arguments.length,n=new Array(e),r=0;r5||i>5}},t.onTouchEnd=function(e){t.userIsDragging||(t.controlRef&&!t.controlRef.contains(e.target)&&t.menuListRef&&!t.menuListRef.contains(e.target)&&t.blurInput(),t.initialTouchX=0,t.initialTouchY=0)},t.onControlTouchEnd=function(e){t.userIsDragging||t.onControlMouseDown(e)},t.onClearIndicatorTouchEnd=function(e){t.userIsDragging||t.onClearIndicatorMouseDown(e)},t.onDropdownIndicatorTouchEnd=function(e){t.userIsDragging||t.onDropdownIndicatorMouseDown(e)},t.handleInputChange=function(e){var n=t.props.inputValue,r=e.currentTarget.value;t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange(r,{action:"input-change",prevInputValue:n}),t.props.menuIsOpen||t.onMenuOpen()},t.onInputFocus=function(e){t.props.onFocus&&t.props.onFocus(e),t.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(t.openAfterFocus||t.props.openMenuOnFocus)&&t.openMenu("first"),t.openAfterFocus=!1},t.onInputBlur=function(e){var n=t.props.inputValue;t.menuListRef&&t.menuListRef.contains(document.activeElement)?t.inputRef.focus():(t.props.onBlur&&t.props.onBlur(e),t.onInputChange("",{action:"input-blur",prevInputValue:n}),t.onMenuClose(),t.setState({focusedValue:null,isFocused:!1}))},t.onOptionHover=function(e){t.blockOptionHover||t.state.focusedOption===e||t.setState({focusedOption:e})},t.shouldHideSelectedOptions=function(){return Nn(t.props)},t.onKeyDown=function(e){var n=t.props,r=n.isMulti,o=n.backspaceRemovesValue,i=n.escapeClearsValue,a=n.inputValue,s=n.isClearable,u=n.isDisabled,l=n.menuIsOpen,c=n.onKeyDown,p=n.tabSelectsValue,d=n.openMenuOnFocus,f=t.state,m=f.focusedOption,h=f.focusedValue,v=f.selectValue;if(!(u||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(t.blockOptionHover=!0,e.key){case"ArrowLeft":if(!r||a)return;t.focusValue("previous");break;case"ArrowRight":if(!r||a)return;t.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(h)t.removeValue(h);else{if(!o)return;r?t.popValue():s&&t.clearValue()}break;case"Tab":if(t.isComposing)return;if(e.shiftKey||!l||!p||!m||d&&t.isOptionSelected(m,v))return;t.selectOption(m);break;case"Enter":if(229===e.keyCode)break;if(l){if(!m)return;if(t.isComposing)return;t.selectOption(m);break}return;case"Escape":l?(t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange("",{action:"menu-close",prevInputValue:a}),t.onMenuClose()):s&&i&&t.clearValue();break;case" ":if(a)return;if(!l){t.openMenu("first");break}if(!m)return;t.selectOption(m);break;case"ArrowUp":l?t.focusOption("up"):t.openMenu("last");break;case"ArrowDown":l?t.focusOption("down"):t.openMenu("first");break;case"PageUp":if(!l)return;t.focusOption("pageup");break;case"PageDown":if(!l)return;t.focusOption("pagedown");break;case"Home":if(!l)return;t.focusOption("first");break;case"End":if(!l)return;t.focusOption("last");break;default:return}e.preventDefault()}},t.instancePrefix="react-select-"+(t.props.instanceId||++Hn),t.state.selectValue=Je(e.value),t}return Ne(o,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentDidUpdate",value:function(e){var t,n,r,o,i,a=this.props,s=a.isDisabled,u=a.menuIsOpen,l=this.state.isFocused;(l&&!s&&e.isDisabled||l&&u&&!e.menuIsOpen)&&this.focusInput(),l&&s&&!e.isDisabled&&this.setState({isFocused:!1},this.onMenuClose),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(t=this.menuListRef,n=this.focusedOptionRef,r=t.getBoundingClientRect(),o=n.getBoundingClientRect(),i=n.offsetHeight/3,o.bottom+i>r.bottom?nt(t,Math.min(n.offsetTop+n.clientHeight-t.offsetHeight+i,t.scrollHeight)):o.top-i-1&&(a=s)}this.scrollToFocusedOptionOnUpdate=!(o&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:i[a]},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var o=n.indexOf(r);r||(o=-1);var i=n.length-1,a=-1;if(n.length){switch(e){case"previous":a=0===o?0:-1===o?i:o-1;break;case"next":o>-1&&o0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var o=0,i=r.indexOf(n);n||(i=-1),"up"===e?o=i>0?i-1:r.length-1:"down"===e?o=(i+1)%r.length:"pageup"===e?(o=i-t)<0&&(o=0):"pagedown"===e?(o=i+t)>r.length-1&&(o=r.length-1):"last"===e&&(o=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[o],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Pn):Be(Be({},Pn),this.props.theme):Pn}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getValue,o=this.selectOption,i=this.setValue,a=this.props,s=a.isMulti,u=a.isRtl,l=a.options;return{clearValue:e,cx:t,getStyles:n,getValue:r,hasValue:this.hasValue(),isMulti:s,isRtl:u,options:l,selectOption:o,selectProps:a,setValue:i,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return An(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Fn(this.props,e,t)}},{key:"filterOption",value:function(e,t){return Tn(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var n=this.props,r=n.isDisabled,o=n.isSearchable,i=n.inputId,a=n.inputValue,s=n.tabIndex,u=n.form,l=n.menuIsOpen,c=this.getComponents().Input,p=this.state,d=p.inputIsHidden,f=p.ariaSelection,m=this.commonProps,h=i||this.getElementId("input"),v=Be(Be({"aria-autocomplete":"list","aria-expanded":l,"aria-haspopup":!0,"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox"),"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],role:"combobox"},!o&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null==f?void 0:f.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return o?t.createElement(c,e({},m,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:h,innerRef:this.getInputRef,isDisabled:r,isHidden:d,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:s,form:u,type:"text",value:a},v)):t.createElement(dn,e({id:h,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Ke,onFocus:this.onInputFocus,disabled:r,tabIndex:s,inputMode:"none",form:u,value:""},v))}},{key:"renderPlaceholderOrValue",value:function(){var n=this,r=this.getComponents(),o=r.MultiValue,i=r.MultiValueContainer,a=r.MultiValueLabel,s=r.MultiValueRemove,u=r.SingleValue,l=r.Placeholder,c=this.commonProps,p=this.props,d=p.controlShouldRenderValue,f=p.isDisabled,m=p.isMulti,h=p.inputValue,v=p.placeholder,g=this.state,b=g.selectValue,y=g.focusedValue,O=g.isFocused;if(!this.hasValue()||!d)return h?null:t.createElement(l,e({},c,{key:"placeholder",isDisabled:f,isFocused:O,innerProps:{id:this.getElementId("placeholder")}}),v);if(m)return b.map((function(r,u){var l=r===y,p="".concat(n.getOptionLabel(r),"-").concat(n.getOptionValue(r));return t.createElement(o,e({},c,{components:{Container:i,Label:a,Remove:s},isFocused:l,isDisabled:f,key:p,index:u,removeProps:{onClick:function(){return n.removeValue(r)},onTouchEnd:function(){return n.removeValue(r)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:r}),n.formatOptionLabel(r,"value"))}));if(h)return null;var S=b[0];return t.createElement(u,e({},c,{data:S,isDisabled:f}),this.formatOptionLabel(S,"value"))}},{key:"renderClearIndicator",value:function(){var n=this.getComponents().ClearIndicator,r=this.commonProps,o=this.props,i=o.isDisabled,a=o.isLoading,s=this.state.isFocused;if(!this.isClearable()||!n||i||!this.hasValue()||a)return null;var u={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return t.createElement(n,e({},r,{innerProps:u,isFocused:s}))}},{key:"renderLoadingIndicator",value:function(){var n=this.getComponents().LoadingIndicator,r=this.commonProps,o=this.props,i=o.isDisabled,a=o.isLoading,s=this.state.isFocused;return n&&a?t.createElement(n,e({},r,{innerProps:{"aria-hidden":"true"},isDisabled:i,isFocused:s})):null}},{key:"renderIndicatorSeparator",value:function(){var n=this.getComponents(),r=n.DropdownIndicator,o=n.IndicatorSeparator;if(!r||!o)return null;var i=this.commonProps,a=this.props.isDisabled,s=this.state.isFocused;return t.createElement(o,e({},i,{isDisabled:a,isFocused:s}))}},{key:"renderDropdownIndicator",value:function(){var n=this.getComponents().DropdownIndicator;if(!n)return null;var r=this.commonProps,o=this.props.isDisabled,i=this.state.isFocused,a={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return t.createElement(n,e({},r,{innerProps:a,isDisabled:o,isFocused:i}))}},{key:"renderMenu",value:function(){var n=this,r=this.getComponents(),o=r.Group,i=r.GroupHeading,a=r.Menu,s=r.MenuList,u=r.MenuPortal,l=r.LoadingMessage,c=r.NoOptionsMessage,p=r.Option,d=this.commonProps,f=this.state.focusedOption,m=this.props,h=m.captureMenuScroll,v=m.inputValue,g=m.isLoading,b=m.loadingMessage,y=m.minMenuHeight,O=m.maxMenuHeight,S=m.menuIsOpen,w=m.menuPlacement,C=m.menuPosition,x=m.menuPortalTarget,M=m.menuShouldBlockScroll,P=m.menuShouldScrollIntoView,k=m.noOptionsMessage,I=m.onMenuScrollToTop,E=m.onMenuScrollToBottom;if(!S)return null;var V,R=function(r,o){var i=r.type,a=r.data,s=r.isDisabled,u=r.isSelected,l=r.label,c=r.value,m=f===a,h=s?void 0:function(){return n.onOptionHover(a)},v=s?void 0:function(){return n.selectOption(a)},g="".concat(n.getElementId("option"),"-").concat(o),b={id:g,onClick:v,onMouseMove:h,onMouseOver:h,tabIndex:-1};return t.createElement(p,e({},d,{innerProps:b,data:a,isDisabled:s,isSelected:u,key:g,label:l,type:i,value:c,isFocused:m,innerRef:m?n.getFocusedOptionRef:void 0}),n.formatOptionLabel(r.data,"menu"))};if(this.hasOptions())V=this.getCategorizedOptions().map((function(r){if("group"===r.type){var a=r.data,s=r.options,u=r.index,l="".concat(n.getElementId("group"),"-").concat(u),c="".concat(l,"-heading");return t.createElement(o,e({},d,{key:l,data:a,options:s,Heading:i,headingProps:{id:c,data:r.data},label:n.formatGroupLabel(r.data)}),r.options.map((function(e){return R(e,"".concat(u,"-").concat(e.index))})))}if("option"===r.type)return R(r,"".concat(r.index))}));else if(g){var D=b({inputValue:v});if(null===D)return null;V=t.createElement(l,d,D)}else{var L=k({inputValue:v});if(null===L)return null;V=t.createElement(c,d,L)}var A={minMenuHeight:y,maxMenuHeight:O,menuPlacement:w,menuPosition:C,menuShouldScrollIntoView:P},F=t.createElement(ht,e({},d,A),(function(r){var o=r.ref,i=r.placerProps,u=i.placement,l=i.maxHeight;return t.createElement(a,e({},d,A,{innerRef:o,innerProps:{onMouseDown:n.onMenuMouseDown,onMouseMove:n.onMenuMouseMove,id:n.getElementId("listbox")},isLoading:g,placement:u}),t.createElement(xn,{captureEnabled:h,onTopArrive:I,onBottomArrive:E,lockEnabled:M},(function(r){return t.createElement(s,e({},d,{innerRef:function(e){n.getMenuListRef(e),r(e)},isLoading:g,maxHeight:l,focusedOption:f}),V)})))}));return x||"fixed"===C?t.createElement(u,e({},d,{appendTo:x,controlElement:this.controlRef,menuPlacement:w,menuPosition:C}),F):F}},{key:"renderFormField",value:function(){var e=this,n=this.props,r=n.delimiter,o=n.isDisabled,i=n.isMulti,a=n.name,s=this.state.selectValue;if(a&&!o){if(i){if(r){var u=s.map((function(t){return e.getOptionValue(t)})).join(r);return t.createElement("input",{name:a,type:"hidden",value:u})}var l=s.length>0?s.map((function(n,r){return t.createElement("input",{key:"i-".concat(r),name:a,type:"hidden",value:e.getOptionValue(n)})})):t.createElement("input",{name:a,type:"hidden"});return t.createElement("div",null,l)}var c=s[0]?this.getOptionValue(s[0]):"";return t.createElement("input",{name:a,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){var n=this.commonProps,r=this.state,o=r.ariaSelection,i=r.focusedOption,a=r.focusedValue,s=r.isFocused,u=r.selectValue,l=this.getFocusableOptions();return t.createElement(Qt,e({},n,{id:this.getElementId("live-region"),ariaSelection:o,focusedOption:i,focusedValue:a,isFocused:s,selectValue:u,focusableOptions:l}))}},{key:"render",value:function(){var n=this.getComponents(),r=n.Control,o=n.IndicatorsContainer,i=n.SelectContainer,a=n.ValueContainer,s=this.props,u=s.className,l=s.id,c=s.isDisabled,p=s.menuIsOpen,d=this.state.isFocused,f=this.commonProps=this.getCommonProps();return t.createElement(i,e({},f,{className:u,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:c,isFocused:d}),this.renderLiveRegion(),t.createElement(r,e({},f,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:c,isFocused:d,menuIsOpen:p}),t.createElement(a,e({},f,{isDisabled:c}),this.renderPlaceholderOrValue(),this.renderInput()),t.createElement(o,e({},f,{isDisabled:c}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,o=t.inputIsHiddenAfterUpdate,i=t.ariaSelection,a=t.isFocused,s=t.prevWasFocused,u=e.options,l=e.value,c=e.menuIsOpen,p=e.inputValue,d=e.isMulti,f=Je(l),m={};if(n&&(l!==n.value||u!==n.options||c!==n.menuIsOpen||p!==n.inputValue)){var h=c?function(e,t){return Vn(En(e,t))}(e,f):[],v=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r-1?n:t[0]}(t,h);m={selectValue:f,focusedOption:g,focusedValue:v,clearFocusValueOnUpdate:!1}}var b=null!=o&&e!==n?{inputIsHidden:o,inputIsHiddenAfterUpdate:void 0}:{},y=i,O=a&&s;return a&&!O&&(y={value:pt(d,f,f[0]||null),options:f,action:"initial-input-focus"},O=!s),"initial-input-focus"===(null==i?void 0:i.action)&&(y=null),Be(Be(Be({},m),b),{},{prevProps:e,ariaSelection:y,prevWasFocused:O})}}]),o}(t.Component);jn.defaultProps=kn;var $n=(0,t.forwardRef)((function(n,r){var o=function(e){var n=e.defaultInputValue,r=void 0===n?"":n,o=e.defaultMenuIsOpen,i=void 0!==o&&o,a=e.defaultValue,s=void 0===a?null:a,u=e.inputValue,l=e.menuIsOpen,c=e.onChange,p=e.onInputChange,d=e.onMenuClose,f=e.onMenuOpen,m=e.value,h=Le(e,Gt),v=Wt((0,t.useState)(void 0!==u?u:r),2),g=v[0],b=v[1],y=Wt((0,t.useState)(void 0!==l?l:i),2),O=y[0],S=y[1],w=Wt((0,t.useState)(void 0!==m?m:s),2),C=w[0],x=w[1],M=(0,t.useCallback)((function(e,t){"function"==typeof c&&c(e,t),x(e)}),[c]),P=(0,t.useCallback)((function(e,t){var n;"function"==typeof p&&(n=p(e,t)),b(void 0!==n?n:e)}),[p]),k=(0,t.useCallback)((function(){"function"==typeof f&&f(),S(!0)}),[f]),I=(0,t.useCallback)((function(){"function"==typeof d&&d(),S(!1)}),[d]),E=void 0!==u?u:g,V=void 0!==l?l:O,R=void 0!==m?m:C;return Be(Be({},h),{},{inputValue:E,menuIsOpen:V,onChange:M,onInputChange:P,onMenuClose:I,onMenuOpen:k,value:R})}(n);return t.createElement(jn,e({ref:r},o))})),zn=(t.Component,$n);function Un(){return Un=Object.assign||function(e){for(var t=1;t{const{selectProps:t}=e,n=e.getValue().length||0;return React.createElement(Ut.Menu,e,n{const t=e.inputId?e.inputId:"kirki-react-select-input--"+e.customizerSetting.id,n=e.label?React.createElement("label",{className:"customize-control-title",dangerouslySetInnerHTML:{__html:e.label},htmlFor:t}):"",r=e.description?React.createElement("span",{className:"description customize-control-description",dangerouslySetInnerHTML:{__html:e.description}}):"";return React.createElement("div",null,n,r,React.createElement("div",{className:"customize-control-notifications-container",ref:e.setNotificationContainer}),React.createElement(zn,Un({},e,{inputId:t,className:"kirki-react-select-container",classNamePrefix:"kirki-react-select",inputClassName:"kirki-react-select-input",openMenuOnFocus:e.openMenuOnFocus,formatOptionLabel:e=>React.createElement("div",{dangerouslySetInnerHTML:{__html:e.label}}),options:e.control.getFormattedOptions(),onChange:(t,n)=>{let r;r="clear"===n?"":Array.isArray(t)?t.map((e=>e.value)):t.value,wp.customize(e.customizerSetting.id).set(r)},value:e.control.getOptionProps(e.value),isOptionDisabled:e.isOptionDisabled,components:{IndicatorSeparator:()=>null,Menu:_n},theme:e=>({...e,colors:{...e.colors,primary:"#0073aa",primary75:"#33b3db",primary50:"#99d9ed",primary24:"#e5f5fa"}}),styles:{control:(e,t)=>({...e,minHeight:"30px"}),valueContainer:e=>({...e,padding:"0 6px"}),input:e=>({...e,margin:"0px"})}})))};function Wn(){return Wn=Object.assign||function(e){for(var t=1;t{e.renderContent()}))},isMulti:function(){return this.params.isMulti},destroy:function(){ReactDOM.unmountComponentAtNode(this.container[0]),wp.customize.Control.prototype.destroy&&wp.customize.Control.prototype.destroy.call(this)},isOptionDisabled:function(e){const t=this;return!!t&&!!t.disabledSelectOptions&&!!t.disabledSelectOptions.indexOf(e)},doSelectAction:function(e,t){const n=this;let r;switch(e){case"disableOption":n.disabledSelectOptions=void 0===n.disabledSelectOptions?[]:n.disabledSelectOptions,n.disabledSelectOptions.push(n.getOptionProps(t));break;case"enableOption":if(n.disabledSelectOptions)for(r=0;rjson['label'] ) ) { + $this->json['label'] = html_entity_decode( $this->json['label'] ); + } + + if ( isset( $this->json['description'] ) ) { + $this->json['description'] = html_entity_decode( $this->json['description'] ); + } + + // @link https://react-select.com/props + $this->json['isClearable'] = $this->clearable; + $this->json['isMulti'] = $this->multiple; + $this->json['placeholder'] = ( $this->placeholder ) ? $this->placeholder : esc_html__( 'Select...', 'kirki' ); + + // Will be a custom implementation, couldn't find an official prop to set this in react-select. + $this->json['maxSelectionNumber'] = $this->max_selection_number; + + $this->json['messages'] = [ + // translators: %s is the limit of selection number. + 'maxLimitReached' => sprintf( esc_html__( 'You can only select %s items', 'kirki' ), $this->max_selection_number ), + ]; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-react-select/src/Field/ReactSelect.php b/functions/kirki/packages/kirki-framework/control-react-select/src/Field/ReactSelect.php new file mode 100644 index 0000000..f4908b1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-react-select/src/Field/ReactSelect.php @@ -0,0 +1,201 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + if ( isset( $args['multiple'] ) ) { + $multiple_and_max = self::get_multiple_and_max( $args['multiple'] ); + $args['multiple'] = $multiple_and_max['multiple']; + $args['max_selection_number'] = $multiple_and_max['max_selection_number']; + } else { + $args['multiple'] = false; + } + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = ! $args['multiple'] ? 'sanitize_text_field' : function( $values ) use ( $args ) { + $values = (array) $values; + $sanitized_values = []; + + // If total selected values > max_selection_number, then we need to remove the excess. + if ( count( $values ) > $args['max_selection_number'] ) { + for ( $i = 0; $i < $args['max_selection_number']; $i++ ) { + $sanitized_values[ $i ] = isset( $values[ $i ] ) ? sanitize_text_field( $values[ $i ] ) : ''; + } + } else { + foreach ( $values as $index => $subvalue ) { + $sanitized_values[ $index ] = sanitize_text_field( $subvalue ); + } + } + + return $sanitized_values; + }; + } + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + if ( isset( $args['multiple'] ) ) { + $multiple_and_max = self::get_multiple_and_max( $args['multiple'] ); + $args['multiple'] = $multiple_and_max['multiple']; + $args['max_selection_number'] = $multiple_and_max['max_selection_number']; + } + + $args['type'] = 'kirki-react-select'; + } + + return $args; + + } + + /** + * Get the value of "multiple" and "max_selection_number" + * from the provided $multiple parameter. + * + * @since 1.1 + * + * @param bool|int $multiple The provided $multiple value. + * @return array + */ + public static function get_multiple_and_max( $multiple ) { + + $max_selection_number = 999; + + if ( is_numeric( $multiple ) ) { + $multiple = (int) $multiple; + + /** + * Treat -1 as unlimited just like in WordPress's get_posts (well, in this Kirki case, it's 999 :). + * Also treat 0 as "unlimited" because 1 it self will disable the multiple selection. + */ + if ( 0 >= $multiple ) { + $max_selection_number = 999; + $multiple = true; + } else { + // If $multiple is > 1. + if ( 1 < $multiple ) { + $max_selection_number = $multiple; + $multiple = true; + } else { + // Here $multiple === 1, that means, it's single mode select. + $multiple = false; + } + } + } + + return [ + 'multiple' => $multiple, + 'max_selection_number' => $max_selection_number, + ]; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-repeater/LICENSE b/functions/kirki/packages/kirki-framework/control-repeater/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-repeater/README.md b/functions/kirki/packages/kirki-framework/control-repeater/README.md new file mode 100644 index 0000000..54a0655 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/README.md @@ -0,0 +1,98 @@ +# control-repeater + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-repeater +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Repeater' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add settings. + $wp_customize->add_setting( new \Kirki\Settings\Repeater( $wp_customize, 'my_repeater_setting', [ + 'default' => [ + [ + 'link_text' => esc_html__( 'Kirki Site', 'theme_textdomain' ), + 'link_url' => 'https://aristath.github.io/kirki/', + 'link_target' => '_self', + ], + [ + 'link_text' => esc_html__( 'Kirki Repository', 'theme_textdomain' ), + 'link_url' => 'https://github.com/aristath/kirki', + 'link_target' => '_self', + ], + ], + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'transport' => 'refresh', + 'sanitize_callback' => function( $value ) { // Custom sanitization callback. + $value = ( is_array( $value ) ) ? $value : json_decode( urldecode( $value ), true ); + $value = ( empty( $value ) || ! is_array( $value ) ) ? [] : $value; + + foreach ( $value as $row_index => $row_data ) { + $value[ $row_index ]['link_text'] = isset( $row_data['link_text'] ) ? sanitize_text_field( $row_data['link_text'] ) : ''; + $value[ $row_index ]['link_url'] = isset( $row_data['link_url'] ) ? esc_url( $row_data['link_url'] ) : ''; + $value[ $row_index ]['link_target'] = isset( $row_data['link_target'] ) && in_array( $row_data['link_target'], [ '_self', '_blank', '_parent', '_top' ], true ) ? $row_data['link_target'] : '_self'; + } + }, + ] ) ); + + // Add controls. + $wp_customize->add_control( new \Kirki\Control\Repeater( $wp_customize, 'my_repeater_setting', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'colors', + 'fields' => [ + 'link_text' => [ + 'type' => 'text', + 'label' => esc_html__( 'Link Text', 'theme_textdomain' ), + 'description' => esc_html__( 'This will be the label for your link', 'theme_textdomain' ), + 'default' => '', + ], + 'link_url' => [ + 'type' => 'text', + 'label' => esc_html__( 'Link URL', 'theme_textdomain' ), + 'description' => esc_html__( 'This will be the link URL', 'theme_textdomain' ), + 'default' => '', + ], + 'link_target' => [ + 'type' => 'radio', + 'label' => esc_html__( 'Link Target', 'theme_textdomain' ), + 'description' => esc_html__( 'This will be the link target', 'theme_textdomain' ), + 'default' => '_self', + 'choices' => [ + '_blank' => esc_html__( 'New Window', 'theme_textdomain' ), + '_self' => esc_html__( 'Same Frame', 'theme_textdomain' ), + ], + ], + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-repeater/dist/control.css b/functions/kirki/packages/kirki-framework/control-repeater/dist/control.css new file mode 100644 index 0000000..8c694ef --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-repeater{position:relative}.customize-control-repeater .repeater-fields .repeater-row{background:#eee;border:1px solid #e5e5e5;margin-top:.5rem;position:relative}.customize-control-repeater .repeater-fields .repeater-row.minimized{border:1px solid #dfdfdf;padding:0}.customize-control-repeater .repeater-fields .repeater-row.minimized:hover{border:1px solid #e5e5e5}.customize-control-repeater .repeater-fields .repeater-row.minimized .repeater-row-content{display:none}.customize-control-repeater .repeater-fields .repeater-row label{clear:both;margin-bottom:12px}.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-,.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input{display:none}.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input img{border:1px solid transparent}.customize-control-repeater .repeater-fields .repeater-row .repeater-field.repeater-field-radio-image input:checked+label img{border:1px solid #3498db;-webkit-box-shadow:0 0 5px 2px rgba(0,0,0,.25);box-shadow:0 0 5px 2px rgba(0,0,0,.25)}.customize-control-repeater .repeater-fields .repeater-row .repeater-field:last-child{border-bottom:none;padding-bottom:0}.customize-control-repeater button.repeater-add{margin-top:1rem}.customize-control-repeater .repeater-row-content{background:#fff;padding:10px 15px}.customize-control-repeater .repeater-field{border-bottom:1px dotted #ccc;clear:both;margin-bottom:12px;padding-bottom:12px;width:100%}.customize-control-repeater .repeater-field .customize-control-description,.customize-control-repeater .repeater-field .customize-control-title{font-size:13px;line-height:normal}.customize-control-repeater .repeater-field.repeater-field-hidden{border:0;margin:0;padding:0}.customize-control-repeater .repeater-field-select select{margin-left:0}.customize-control-repeater .repeater-field-checkbox label{line-height:28px}.customize-control-repeater .repeater-field-checkbox input{line-height:28px;margin-right:5px}.customize-control-repeater .repeater-field-textarea textarea{resize:vertical;width:100%}.customize-control-repeater .repeater-row-header{word-wrap:break-word;background:#fff;border-bottom:1px solid #dfdfdf;height:auto;line-height:30px;min-height:20px;overflow:hidden;padding:10px 15px;position:relative}.customize-control-repeater .repeater-row-header:hover{cursor:move}.customize-control-repeater .repeater-row-header .dashicons{color:#a0a5aa;font-size:18px;position:absolute;right:12px;top:2px}.customize-control-repeater .repeater-row-label{display:block;font-size:13px;font-weight:600;height:18px;line-height:20px;overflow:hidden;width:90%}.customize-control-repeater .repeater-row-remove{color:#a00}.customize-control-repeater .repeater-row-remove:hover{color:red}.customize-control-repeater .repeater-minimize{line-height:36px}.customize-control-repeater .remove-button,.customize-control-repeater .upload-button{width:48%}.kirki-image-attachment{margin:0 0 10px;text-align:center}.kirki-image-attachment img{display:inline-block}.kirki-file-attachment{margin:0 0 10px;text-align:center}.kirki-file-attachment .file{background:#f9f9f9;border:1px dotted #c3c3c3;display:block;padding:10px 5px}.limit{border-radius:3px;padding:3px}.limit.highlight{background:#d32f2f;color:#fff} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-repeater/dist/control.js b/functions/kirki/packages/kirki-framework/control-repeater/dist/control.js new file mode 100644 index 0000000..96eea32 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/dist/control.js @@ -0,0 +1,2 @@ +!function(){var e=function(e,t,i,a){var r=this;this.rowIndex=e,this.container=t,this.label=i,this.header=this.container.find(".repeater-row-header"),this.header.on("click",(function(){r.toggleMinimize()})),this.container.on("click",".repeater-row-remove",(function(){r.remove()})),this.header.on("mousedown",(function(){r.container.trigger("row:start-dragging")})),this.container.on("keyup change","input, select, textarea",(function(e){r.container.trigger("row:update",[r.rowIndex,jQuery(e.target).data("field"),e.target])})),this.setRowIndex=function(e){this.rowIndex=e,this.container.attr("data-row",e),this.container.data("row",e),this.updateLabel()},this.toggleMinimize=function(){this.container.toggleClass("minimized"),this.header.find(".dashicons").toggleClass("dashicons-arrow-up").toggleClass("dashicons-arrow-down")},this.remove=function(){this.container.slideUp(300,(function(){jQuery(this).detach()})),this.container.trigger("row:remove",[this.rowIndex])},this.updateLabel=function(){var e,t,i;if("field"===this.label.type&&(e=this.container.find('.repeater-field [data-field="'+this.label.field+'"]'),_.isFunction(e.val)&&""!==(t=e.val())))return _.isUndefined(a.params.fields[this.label.field])||_.isUndefined(a.params.fields[this.label.field].type)||("select"===a.params.fields[this.label.field].type?_.isUndefined(a.params.fields[this.label.field].choices)||_.isUndefined(a.params.fields[this.label.field].choices[e.val()])||(t=a.params.fields[this.label.field].choices[e.val()]):"radio"!==a.params.fields[this.label.field].type&&"radio-image"!==a.params.fields[this.label.field].type||(i=a.selector+' [data-row="'+this.rowIndex+'"] .repeater-field [data-field="'+this.label.field+'"]:checked',t=jQuery(i).val())),void this.header.find(".repeater-row-label").text(t);this.header.find(".repeater-row-label").text(this.label.value+" "+(this.rowIndex+1))},this.updateLabel()};wp.customize.controlConstructor.repeater=wp.customize.Control.extend({ready:function(){!_.isUndefined(window.kirkiControlLoader)&&_.isFunction(kirkiControlLoader)?kirkiControlLoader(this):this.initKirkiControl()},initKirkiControl:function(e){var t,i,a;a=(e=e||this).params.value,e.settingField=e.container.find("[data-customize-setting-link]").first(),e.setValue([],!1),e.repeaterFieldsContainer=e.container.find(".repeater-fields").first(),e.currentIndex=0,e.rows=[],t=!1,_.isUndefined(e.params.choices.limit)||(t=!(0>=e.params.choices.limit)&&parseInt(e.params.choices.limit,10)),e.container.on("click","button.repeater-add",(function(a){a.preventDefault(),!t||e.currentIndex/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(i){return _.template(e.container.find(".customize-control-repeater-content").first().html(),null,t)(i)}})),a.length&&_.each(a,(function(t){i=e.addRow(t),e.initColorPicker(),e.initSelect(i,t)})),e.repeaterFieldsContainer.sortable({handle:".repeater-row-header",update:function(){e.sort()}})},openFrame:function(e){wp.customize.utils.isKeydownButNotEnterEvent(e)||(this.$thisButton.closest(".repeater-field").hasClass("repeater-field-cropped_image")?this.initCropperFrame():this.initFrame(),this.frame.open())},initFrame:function(){var e=this.getMimeType();this.frame=wp.media({states:[new wp.media.controller.Library({library:wp.media.query({type:e}),multiple:!1,date:!1})]}),this.frame.on("select",this.onSelect,this)},initCropperFrame:function(){var e=this.$thisButton.siblings("input.hidden-field").attr("data-field"),t=this.getMimeType();_.isString(e)&&""!==e&&_.isObject(this.params.fields[e])&&"cropped_image"===this.params.fields[e].type&&["width","height","flex_width","flex_height"].forEach(function(t){_.isUndefined(this.params.fields[e][t])||(this.params[t]=this.params.fields[e][t])}.bind(this)),this.frame=wp.media({button:{text:"Select and Crop",close:!1},states:[new wp.media.controller.Library({library:wp.media.query({type:t}),multiple:!1,date:!1,suggestedWidth:this.params.width,suggestedHeight:this.params.height}),new wp.media.controller.CustomizeImageCropper({imgSelectOptions:this.calculateImageSelectOptions,control:this})]}),this.frame.on("select",this.onSelectForCrop,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this)},onSelect:function(){var e=this.frame.state().get("selection").first().toJSON();this.$thisButton.closest(".repeater-field").hasClass("repeater-field-upload")?this.setFileInRepeaterField(e):this.setImageInRepeaterField(e)},onSelectForCrop:function(){var e=this.frame.state().get("selection").first().toJSON();this.params.width!==e.width||this.params.height!==e.height||this.params.flex_width||this.params.flex_height?this.frame.setState("cropper"):this.setImageInRepeaterField(e)},onCropped:function(e){this.setImageInRepeaterField(e)},calculateImageSelectOptions:function(e,t){var i,a,r,n=t.get("control"),s=!!parseInt(n.params.flex_width,10),o=!!parseInt(n.params.flex_height,10),l=e.get("width"),d=e.get("height"),h=parseInt(n.params.width,10),p=parseInt(n.params.height,10),c=h/p,u=l,f=d;return t.set("canSkipCrop",!n.mustBeCropped(s,o,h,p,l,d)),u/f>c?h=(p=f)*c:p=(h=u)/c,r={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:l,imageHeight:d,x1:i=(u-h)/2,y1:a=(f-p)/2,x2:h+i,y2:p+a},!1===o&&!1===s&&(r.aspectRatio=h+":"+p),!1===o&&(r.maxHeight=p),!1===s&&(r.maxWidth=h),r},mustBeCropped:function(e,t,i,a,r,n){return!(!0===e&&!0===t||!0===e&&a===n||!0===t&&i===r||i===r&&a===n||r<=i)},onSkippedCrop:function(){var e=this.frame.state().get("selection").first().toJSON();this.setImageInRepeaterField(e)},setImageInRepeaterField:function(e){var t=this.$thisButton.closest(".repeater-field-image,.repeater-field-cropped_image");t.find(".kirki-image-attachment").html('').hide().slideDown("slow"),t.find(".hidden-field").val(e.id),this.$thisButton.text(this.$thisButton.data("alt-label")),t.find(".remove-button").show(),t.find("input, textarea, select").trigger("change"),this.frame.close()},setFileInRepeaterField:function(e){var t=this.$thisButton.closest(".repeater-field-upload");t.find(".kirki-file-attachment").html(' '+e.filename+"").hide().slideDown("slow"),t.find(".hidden-field").val(e.id),this.$thisButton.text(this.$thisButton.data("alt-label")),t.find(".upload-button").show(),t.find(".remove-button").show(),t.find("input, textarea, select").trigger("change"),this.frame.close()},getMimeType:function(){var e=this.$thisButton.siblings("input.hidden-field").attr("data-field");return _.isString(e)&&""!==e&&_.isObject(this.params.fields[e])&&"upload"===this.params.fields[e].type&&!_.isUndefined(this.params.fields[e].mime_type)?this.params.fields[e].mime_type:"image"},removeImage:function(e){var t,i;wp.customize.utils.isKeydownButNotEnterEvent(e)||(i=(t=this.$thisButton.closest(".repeater-field-image,.repeater-field-cropped_image,.repeater-field-upload")).find(".upload-button"),t.find(".kirki-image-attachment").slideUp("fast",(function(){jQuery(this).show().html(jQuery(this).data("placeholder"))})),t.find(".hidden-field").val(""),i.text(i.data("label")),this.$thisButton.hide(),t.find("input, textarea, select").trigger("change"))},removeFile:function(e){var t,i;wp.customize.utils.isKeydownButNotEnterEvent(e)||(i=(t=this.$thisButton.closest(".repeater-field-upload")).find(".upload-button"),t.find(".kirki-file-attachment").slideUp("fast",(function(){jQuery(this).show().html(jQuery(this).data("placeholder"))})),t.find(".hidden-field").val(""),i.text(i.data("label")),this.$thisButton.hide(),t.find("input, textarea, select").trigger("change"))},getValue:function(){return JSON.parse(decodeURI(this.setting.get()))},setValue:function(e,t,i){var a=e,r=[];i&&(jQuery.each(this.params.fields,(function(e,t){"image"!==t.type&&"cropped_image"!==t.type&&"upload"!==t.type||r.push(e)})),jQuery.each(e,(function(e,t){jQuery.each(r,(function(i,r){_.isUndefined(t[r])||_.isUndefined(t[r].id)||(a[e][r]=t[r].id)}))}))),this.setting.set(encodeURI(JSON.stringify(a))),t&&this.settingField.trigger("change")},addRow:function(t){var i,a,r,n=this,s=n.repeaterTemplate(),o=this.getValue(),l={};if(s){if(i=jQuery.extend(!0,{},n.params.fields),t)for(r in t)t.hasOwnProperty(r)&&i.hasOwnProperty(r)&&(i[r].default=t[r]);for(r in i.index=this.currentIndex,s=s(i),(a=new e(n.currentIndex,jQuery(s).appendTo(n.repeaterFieldsContainer),n.params.row_label,n)).container.on("row:remove",(function(e,t){n.deleteRow(t)})),a.container.on("row:update",(function(e,t,i,r){n.updateField.call(n,e,t,i,r),a.updateLabel()})),this.rows[this.currentIndex]=a,i)i.hasOwnProperty(r)&&(l[r]=i[r].default);return o[this.currentIndex]=l,this.setValue(o,!0),this.currentIndex++,a}},sort:function(){var e=this,t=this.repeaterFieldsContainer.find(".repeater-row"),i=[],a=e.getValue(),r=[],n=[];t.each((function(e,t){i.push(jQuery(t).data("row"))})),jQuery.each(i,(function(t,i){r[t]=e.rows[i],r[t].setRowIndex(t),n[t]=a[i]})),e.rows=r,e.setValue(n)},deleteRow:function(e){var t,i=this.getValue();for(t in i[e]&&this.rows[e]&&(delete i[e],delete this.rows[e],this.setValue(i,!0)),this.rows)this.rows.hasOwnProperty(t)&&this.rows[t]&&this.rows[t].updateLabel()},updateField:function(e,t,i,a){var r,n,s;this.rows[t]&&this.params.fields[i]&&(r=this.params.fields[i].type,n=this.rows[t],s=this.getValue(),a=jQuery(a),_.isUndefined(s[n.rowIndex][i])||(s[n.rowIndex][i]="checkbox"===r?a.is(":checked"):a.val(),this.setValue(s,!0)))},initColorPicker:function(){var e=this,t=e.container.find(".kirki-classic-color-picker"),i=t.data("field"),a={};_.isUndefined(i)||_.isUndefined(e.params.fields[i])||_.isUndefined(e.params.fields[i].palettes)||!_.isObject(e.params.fields[i].palettes)||(a.palettes=e.params.fields[i].palettes),a.change=function(t,i){var a=jQuery(t.target),r=a.closest(".repeater-row").data("row"),n=e.getValue(),s=i.color._alpha<1?i.color.to_s():i.color.toString();n[r][a.data("field")]=s,e.setValue(n,!0),setTimeout((function(){t.target.value=s}),50)},t.length&&0!==t.length&&t.wpColorPicker(a)},initSelect:function(e,t){var i,a=this,r=e.container.find(".repeater-field select");0!==r.length&&(i=r.data("field"),multiple=jQuery(r).data("multiple"),(t=t||{})[i]=t[i]||"",jQuery(r).val(t[i]||jQuery(r).val()),this.container.on("change",".repeater-field select",(function(e){var t=jQuery(e.target),i=t.closest(".repeater-row").data("row"),r=a.getValue();r[i][t.data("field")]=jQuery(this).val(),a.setValue(r)})))}})}(); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-repeater/dist/wp-color-picker-alpha.min.js b/functions/kirki/packages/kirki-framework/control-repeater/dist/wp-color-picker-alpha.min.js new file mode 100644 index 0000000..1aeb1f2 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/dist/wp-color-picker-alpha.min.js @@ -0,0 +1,11 @@ +/**! + * wp-color-picker-alpha + * + * Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker + * Only run in input and is defined data alpha in true + * + * Version: 3.0.0 + * https://github.com/kallookoo/wp-color-picker-alpha + * Licensed under the GPLv2 license or later. + */ +!function(e,a){var l,o={version:300};if("wpColorPickerAlpha"in window&&"version"in window.wpColorPickerAlpha){var t=parseInt(window.wpColorPickerAlpha.version,10);if(!isNaN(t)&&o.version<=t)return}Color.fn.hasOwnProperty("to_s")||(Color.fn.to_s=function(o){"hex"===(o=o||"hex")&&this._alpha<1&&(o="rgba");var a="";return"hex"===o?a=this.toString():this.error||(a=this.toCSS(o).replace(/\(\s+/,"(").replace(/\s+\)/,")")),a},window.wpColorPickerAlpha=o,l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==",e.widget("a8c.iris",e.a8c.iris,{alphaOptions:{alphaEnabled:!1},_getColor:function(o){return o===a&&(o=this._color),this.alphaOptions.alphaEnabled?(o=o.to_s(this.alphaOptions.alphaColorType),this.alphaOptions.alphaColorWithSpace||(o=o.replace(/\s+/g,"")),o):o.toString()},_create:function(){try{this.alphaOptions=this.element.wpColorPicker("instance").alphaOptions}catch(o){}e.extend({},this.alphaOptions,{alphaEnabled:!1,alphaCustomWidth:130,alphaReset:!1,alphaColorType:"hex",alphaColorWithSpace:!1}),this._super()},_addInputListeners:function(i){function o(o){var a=i.val(),t=new Color(a),a=a.replace(/^(#|(rgb|hsl)a?)/,""),r=l.alphaOptions.alphaColorType;i.removeClass("iris-error"),t.error?""!==a&&i.addClass("iris-error"):"hex"===r&&"keyup"===o.type&&a.match(/^[0-9a-fA-F]{3}$/)||t.toIEOctoHex()!==l._color.toIEOctoHex()&&l._setOption("color",l._getColor(t))}var l=this;i.on("change",o).on("keyup",l._debounce(o,100)),l.options.hide&&i.one("focus",function(){l.show()})},_initControls:function(){var t,o,a,r;this._super(),this.alphaOptions.alphaEnabled&&(a=(o=(t=this).controls.strip.clone(!1,!1)).find(".iris-slider-offset"),r={stripAlpha:o,stripAlphaSlider:a},o.addClass("iris-strip-alpha"),a.addClass("iris-slider-offset-alpha"),o.appendTo(t.picker.find(".iris-picker-inner")),e.each(r,function(o,a){t.controls[o]=a}),t.controls.stripAlphaSlider.slider({orientation:"vertical",min:0,max:100,step:1,value:parseInt(100*t._color._alpha),slide:function(o,a){t.active="strip",t._color._alpha=parseFloat(a.value/100),t._change.apply(t,arguments)}}))},_dimensions:function(o){if(this._super(o),this.alphaOptions.alphaEnabled){for(var a=this,t=a.options,r=a.controls.square,o=a.picker.find(".iris-strip"),i=Math.round(a.picker.outerWidth(!0)-(t.border?22:0)),l=Math.round(r.outerWidth()),e=Math.round((i-l)/2),s=Math.round(e/2),n=Math.round(l+2*e+2*s);i'):t.toggler.append(''),t.colorAlpha=t.toggler.find("span.color-alpha").css({width:"30px",height:"100%",position:"absolute",top:0,"background-color":r.val()}),"ltr"===t.colorAlpha.css("direction")?t.colorAlpha.css({"border-bottom-left-radius":"2px","border-top-left-radius":"2px",left:0}):t.colorAlpha.css({"border-bottom-right-radius":"2px","border-top-right-radius":"2px",right:0}),r.iris({change:function(o,a){t.colorAlpha.css({"background-color":a.color.to_s(t.alphaOptions.alphaColorType)}),e.isFunction(t.options.change)&&t.options.change.call(this,o,a)}}),t.wrap.on("click.wpcolorpicker",function(o){o.stopPropagation()}),t.toggler.click(function(){t.toggler.hasClass("wp-picker-open")?t.close():t.open()}),r.change(function(o){var a=e(this).val();(r.hasClass("iris-error")||""===a||a.match(/^(#|(rgb|hsl)a?)$/))&&(i&&t.toggler.removeAttr("style"),t.colorAlpha.css("background-color",""),e.isFunction(t.options.clear)&&t.options.clear.call(this,o))}),t.button.click(function(o){e(this).hasClass("wp-picker-default")?r.val(t.options.defaultColor).change():e(this).hasClass("wp-picker-clear")&&(r.val(""),i&&t.toggler.removeAttr("style"),t.colorAlpha.css("background-color",""),e.isFunction(t.options.clear)&&t.options.clear.call(this,o),r.trigger("change"))})}}))}(jQuery); \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/control-repeater/src/Control/Repeater.php b/functions/kirki/packages/kirki-framework/control-repeater/src/Control/Repeater.php new file mode 100644 index 0000000..ef92f7b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/src/Control/Repeater.php @@ -0,0 +1,552 @@ +row_label = [ + 'type' => 'text', + 'value' => esc_attr__( 'row', 'kirki' ), + 'field' => false, + ]; + + // Validate row-labels. + $this->row_label( $args ); + + if ( empty( $this->button_label ) ) { + /* translators: %s represents the label of the row. */ + $this->button_label = sprintf( esc_html__( 'Add new %s', 'kirki' ), $this->row_label['value'] ); + } + + if ( empty( $args['fields'] ) || ! is_array( $args['fields'] ) ) { + $args['fields'] = []; + } + + // An array to store keys of fields that need to be filtered. + $media_fields_to_filter = []; + + foreach ( $args['fields'] as $key => $value ) { + if ( ! isset( $value['default'] ) ) { + $args['fields'][ $key ]['default'] = ''; + } + if ( ! isset( $value['label'] ) ) { + $args['fields'][ $key ]['label'] = ''; + } + $args['fields'][ $key ]['id'] = $key; + + // We check if the filed is an uploaded media ( image , file, video, etc.. ). + if ( isset( $value['type'] ) ) { + switch ( $value['type'] ) { + case 'image': + case 'cropped_image': + case 'upload': + // We add it to the list of fields that need some extra filtering/processing. + $media_fields_to_filter[ $key ] = true; + break; + + case 'dropdown-pages': + // If the field is a dropdown-pages field then add it to args. + $dropdown = wp_dropdown_pages( + [ + 'name' => '', + 'echo' => 0, + 'show_option_none' => esc_html__( 'Select a Page', 'kirki' ), + 'option_none_value' => '0', + 'selected' => '', + ] + ); + + // Hackily add in the data link parameter. + $dropdown = str_replace( 'get_link(), $dropdown ); // phpcs:ignore Generic.Formatting.MultipleStatementAlignment + $args['fields'][ $key ]['dropdown'] = $dropdown; + break; + } + } + } + + $this->fields = $args['fields']; + + // Now we are going to filter the fields. + // First we create a copy of the value that would be used otherwise. + $this->filtered_value = $this->value(); + + if ( is_array( $this->filtered_value ) && ! empty( $this->filtered_value ) ) { + + // We iterate over the list of fields. + foreach ( $this->filtered_value as &$filtered_value_field ) { + + if ( is_array( $filtered_value_field ) && ! empty( $filtered_value_field ) ) { + + // We iterate over the list of properties for this field. + foreach ( $filtered_value_field as $key => &$value ) { + + // We check if this field was marked as requiring extra filtering (in this case image, cropped_images, upload). + if ( array_key_exists( $key, $media_fields_to_filter ) ) { + + // What follows was made this way to preserve backward compatibility. + // The repeater control use to store the URL for images instead of the attachment ID. + // We check if the value look like an ID (otherwise it's probably a URL so don't filter it). + if ( is_numeric( $value ) ) { + + // "sanitize" the value. + $attachment_id = (int) $value; + + // Try to get the attachment_url. + $url = wp_get_attachment_url( $attachment_id ); + + $filename = basename( get_attached_file( $attachment_id ) ); + + // If we got a URL. + if ( $url ) { + + // 'id' is needed for form hidden value, URL is needed to display the image. + $value = [ + 'id' => $attachment_id, + 'url' => $url, + 'filename' => $filename, + ]; + } + } + } + } + } + } + } + + } + + /** + * Enqueue control related scripts/styles. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue() { + + parent::enqueue(); + + // Enqueue the style. + wp_enqueue_style( 'wp-color-picker' ); + wp_enqueue_style( 'kirki-control-repeater-style', URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.css' ), [], self::$control_ver ); + + // Enqueue the script. + wp_enqueue_script( 'wp-color-picker-alpha', URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/wp-color-picker-alpha.min.js' ), array( 'jquery', 'customize-base', 'wp-color-picker' ), self::$control_ver, false ); + wp_enqueue_script( 'kirki-control-repeater', URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.js' ), [ 'wp-color-picker-alpha' ], self::$control_ver, false ); + + } + + /** + * Refresh the parameters passed to the JavaScript via JSON. + * + * @access public + * @since 1.0 + * @return void + */ + public function to_json() { + + parent::to_json(); + + $fields = $this->fields; + + $this->json['fields'] = $fields; + $this->json['row_label'] = $this->row_label; + + // If filtered_value has been set and is not empty we use it instead of the actual value. + if ( is_array( $this->filtered_value ) && ! empty( $this->filtered_value ) ) { + $this->json['value'] = $this->filtered_value; + } + + $this->json['value'] = apply_filters( "kirki_controls_repeater_value_{$this->id}", $this->json['value'] ); + + } + + /** + * Render the control's content. + * Allows the content to be overriden without having to rewrite the wrapper in $this->render(). + * + * @access protected + * @since 1.0 + * @return void + */ + protected function render_content() { + + ?> + + +
      + + choices['limit'] ) ) : ?> + +

      choices['limit'] ) ); ?>

      + + + + repeater_js_template(); + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * Class variables for this control class are available in the `data` JS object. + * + * @access public + * @since 1.0 + * @return void + */ + public function repeater_js_template() { + ?> + + + + row_label['type'] = $args['row_label']['type']; + } + + // Validating row label type. + if ( isset( $args['row_label']['value'] ) && ! empty( $args['row_label']['value'] ) ) { + $this->row_label['value'] = esc_html( $args['row_label']['value'] ); + } + + // Validating row label field. + if ( isset( $args['row_label']['field'] ) && ! empty( $args['row_label']['field'] ) && isset( $args['fields'][ sanitize_key( $args['row_label']['field'] ) ] ) ) { + $this->row_label['field'] = esc_html( $args['row_label']['field'] ); + } else { + // If from field is not set correctly, making sure standard is set as the type. + $this->row_label['type'] = 'text'; + } + } + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-repeater/src/Field/Repeater.php b/functions/kirki/packages/kirki-framework/control-repeater/src/Field/Repeater.php new file mode 100644 index 0000000..ec60dca --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/src/Field/Repeater.php @@ -0,0 +1,202 @@ +type = 'repeater'; + + } + + /** + * Sets the $transport + * + * @access protected + * @since 1.0 + * @return void + */ + protected function set_transport() { + + // Force using refresh mode. + // Currently the repeater control does not support postMessage. + $this->transport = 'refresh'; + + } + + + /** + * Sets the $sanitize_callback + * + * @access protected + * @since 1.0 + * @return void + */ + protected function set_sanitize_callback() { + + if ( empty( $this->sanitize_callback ) ) { + $this->sanitize_callback = [ $this, 'sanitize' ]; + } + + } + + /** + * The sanitize method that will be used as a falback + * + * @access public + * @since 1.0 + * @param string|array $value The control's value. + */ + public function sanitize( $value ) { + + // is the value formatted as a string? + if ( is_string( $value ) ) { + $value = rawurldecode( $value ); + $value = json_decode( $value, true ); + } + + // Nothing to sanitize if we don't have fields. + if ( empty( $this->fields ) ) { + return $value; + } + + foreach ( $value as $row_id => $row_value ) { + + // Make sure the row is formatted as an array. + if ( ! is_array( $row_value ) ) { + $value[ $row_id ] = []; + continue; + } + + // Start parsing sub-fields in rows. + foreach ( $row_value as $subfield_id => $subfield_value ) { + + // Make sure this is a valid subfield. + // If it's not, then unset it. + if ( ! isset( $this->fields[ $subfield_id ] ) ) { + unset( $value[ $row_id ][ $subfield_id ] ); + } + + // Get the subfield-type. + if ( ! isset( $this->fields[ $subfield_id ]['type'] ) ) { + continue; + } + + $subfield = $this->fields[ $subfield_id ]; + $subfield_type = $subfield['type']; + + // Allow using a sanitize-callback on a per-field basis. + if ( isset( $this->fields[ $subfield_id ]['sanitize_callback'] ) ) { + $subfield_value = call_user_func( $this->fields[ $subfield_id ]['sanitize_callback'], $subfield_value ); + } else { + + switch ( $subfield_type ) { + case 'image': + case 'cropped_image': + case 'upload': + $save_as = isset( $subfield['choices'] ) && isset( $subfield['choices']['save_as'] ) ? $subfield['choices']['save_as'] : 'url'; + $subfield_value = Upload::sanitize( $subfield_value, $save_as ); + + break; + case 'dropdown-pages': + $subfield_value = (int) $subfield_value; + break; + case 'color': + if ( $subfield_value ) { + $subfield_value = \Kirki\Field\ReactColorful::sanitize( $subfield_value ); + } + break; + case 'text': + $subfield_value = sanitize_text_field( $subfield_value ); + break; + case 'url': + case 'link': + $subfield_value = esc_url_raw( $subfield_value ); + break; + case 'email': + $subfield_value = filter_var( $subfield_value, FILTER_SANITIZE_EMAIL ); + break; + case 'tel': + $subfield_value = sanitize_text_field( $subfield_value ); + break; + case 'checkbox': + $subfield_value = (bool) $subfield_value; + break; + case 'select': + if ( isset( $this->fields[ $subfield_id ]['multiple'] ) ) { + if ( true === $this->fields[ $subfield_id ]['multiple'] ) { + $multiple = 2; + } + $multiple = (int) $this->fields[ $subfield_id ]['multiple']; + if ( 1 < $multiple ) { + $subfield_value = (array) $subfield_value; + foreach ( $subfield_value as $sub_subfield_key => $sub_subfield_value ) { + $subfield_value[ $sub_subfield_key ] = sanitize_text_field( $sub_subfield_value ); + } + } else { + $subfield_value = sanitize_text_field( $subfield_value ); + } + } + break; + case 'radio': + case 'radio-image': + $subfield_value = sanitize_text_field( $subfield_value ); + break; + case 'textarea': + $subfield_value = html_entity_decode( wp_kses_post( $subfield_value ) ); + + } + } + + $value[ $row_id ][ $subfield_id ] = $subfield_value; + } + } + + return $value; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-repeater/src/Settings/Repeater.php b/functions/kirki/packages/kirki-framework/control-repeater/src/Settings/Repeater.php new file mode 100644 index 0000000..119b082 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/src/Settings/Repeater.php @@ -0,0 +1,79 @@ +id}", [ $this, 'sanitize_repeater_setting' ], 10, 1 ); + } + + /** + * Fetch the value of the setting. + * + * @access public + * @since 1.0 + * @return mixed The value. + */ + public function value() { + return (array) parent::value(); + } + + /** + * Convert the JSON encoded setting coming from Customizer to an Array. + * + * @access public + * @since 1.0 + * @param string $value URL Encoded JSON Value. + * @return array + */ + public function sanitize_repeater_setting( $value ) { + if ( ! is_array( $value ) ) { + $value = json_decode( urldecode( $value ) ); + } + + if ( empty( $value ) || ! is_array( $value ) ) { + $value = []; + } + + // Make sure that every row is an array, not an object. + foreach ( $value as $key => $val ) { + $value[ $key ] = (array) $val; + if ( empty( $val ) ) { + unset( $value[ $key ] ); + } + } + + // Reindex array. + if ( is_array( $value ) ) { + $value = array_values( $value ); + } + + return $value; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-repeater/src/control.js b/functions/kirki/packages/kirki-framework/control-repeater/src/control.js new file mode 100644 index 0000000..48334de --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-repeater/src/control.js @@ -0,0 +1,931 @@ +import "./control.scss"; + +/* global kirkiControlLoader */ +/* eslint max-depth: 0 */ +/* eslint no-useless-escape: 0 */ +var RepeaterRow = function (rowIndex, container, label, control) { + var self = this; + this.rowIndex = rowIndex; + this.container = container; + this.label = label; + this.header = this.container.find(".repeater-row-header"); + + this.header.on("click", function () { + self.toggleMinimize(); + }); + + this.container.on("click", ".repeater-row-remove", function () { + self.remove(); + }); + + this.header.on("mousedown", function () { + self.container.trigger("row:start-dragging"); + }); + + this.container.on("keyup change", "input, select, textarea", function (e) { + self.container.trigger("row:update", [ + self.rowIndex, + jQuery(e.target).data("field"), + e.target, + ]); + }); + + this.setRowIndex = function (rowNum) { + this.rowIndex = rowNum; + this.container.attr("data-row", rowNum); + this.container.data("row", rowNum); + this.updateLabel(); + }; + + this.toggleMinimize = function () { + // Store the previous state. + this.container.toggleClass("minimized"); + this.header + .find(".dashicons") + .toggleClass("dashicons-arrow-up") + .toggleClass("dashicons-arrow-down"); + }; + + this.remove = function () { + this.container.slideUp(300, function () { + jQuery(this).detach(); + }); + this.container.trigger("row:remove", [this.rowIndex]); + }; + + this.updateLabel = function () { + var rowLabelField, rowLabel, rowLabelSelector; + + if ("field" === this.label.type) { + rowLabelField = this.container.find( + '.repeater-field [data-field="' + this.label.field + '"]' + ); + if (_.isFunction(rowLabelField.val)) { + rowLabel = rowLabelField.val(); + if ("" !== rowLabel) { + if (!_.isUndefined(control.params.fields[this.label.field])) { + if (!_.isUndefined(control.params.fields[this.label.field].type)) { + if ("select" === control.params.fields[this.label.field].type) { + if ( + !_.isUndefined( + control.params.fields[this.label.field].choices + ) && + !_.isUndefined( + control.params.fields[this.label.field].choices[ + rowLabelField.val() + ] + ) + ) { + rowLabel = + control.params.fields[this.label.field].choices[ + rowLabelField.val() + ]; + } + } else if ( + "radio" === control.params.fields[this.label.field].type || + "radio-image" === control.params.fields[this.label.field].type + ) { + rowLabelSelector = + control.selector + + ' [data-row="' + + this.rowIndex + + '"] .repeater-field [data-field="' + + this.label.field + + '"]:checked'; + rowLabel = jQuery(rowLabelSelector).val(); + } + } + } + this.header.find(".repeater-row-label").text(rowLabel); + return; + } + } + } + this.header + .find(".repeater-row-label") + .text(this.label.value + " " + (this.rowIndex + 1)); + }; + this.updateLabel(); +}; + +wp.customize.controlConstructor.repeater = wp.customize.Control.extend({ + // When we're finished loading continue processing + ready: function () { + var control = this; + + // Init the control. + if ( + !_.isUndefined(window.kirkiControlLoader) && + _.isFunction(kirkiControlLoader) + ) { + kirkiControlLoader(control); + } else { + control.initKirkiControl(); + } + }, + + initKirkiControl: function (control) { + var limit, theNewRow, settingValue; + control = control || this; + + // The current value set in Control Class (set in Kirki_Customize_Repeater_Control::to_json() function) + settingValue = control.params.value; + + // The hidden field that keeps the data saved (though we never update it) + control.settingField = control.container + .find("[data-customize-setting-link]") + .first(); + + // Set the field value for the first time, we'll fill it up later + control.setValue([], false); + + // The DIV that holds all the rows + control.repeaterFieldsContainer = control.container + .find(".repeater-fields") + .first(); + + // Set number of rows to 0 + control.currentIndex = 0; + + // Save the rows objects + control.rows = []; + + // Default limit choice + limit = false; + if (!_.isUndefined(control.params.choices.limit)) { + limit = + 0 >= control.params.choices.limit + ? false + : parseInt(control.params.choices.limit, 10); + } + + control.container.on("click", "button.repeater-add", function (e) { + e.preventDefault(); + if (!limit || control.currentIndex < limit) { + theNewRow = control.addRow(); + theNewRow.toggleMinimize(); + control.initColorPicker(); + control.initSelect(theNewRow); + } else { + jQuery(control.selector + " .limit").addClass("highlight"); + } + }); + + control.container.on("click", ".repeater-row-remove", function () { + control.currentIndex--; + if (!limit || control.currentIndex < limit) { + jQuery(control.selector + " .limit").removeClass("highlight"); + } + }); + + control.container.on( + "click keypress", + ".repeater-field-image .upload-button,.repeater-field-cropped_image .upload-button,.repeater-field-upload .upload-button", + function (e) { + e.preventDefault(); + control.$thisButton = jQuery(this); + control.openFrame(e); + } + ); + + control.container.on( + "click keypress", + ".repeater-field-image .remove-button,.repeater-field-cropped_image .remove-button", + function (e) { + e.preventDefault(); + control.$thisButton = jQuery(this); + control.removeImage(e); + } + ); + + control.container.on( + "click keypress", + ".repeater-field-upload .remove-button", + function (e) { + e.preventDefault(); + control.$thisButton = jQuery(this); + control.removeFile(e); + } + ); + + /** + * Function that loads the Mustache template + */ + control.repeaterTemplate = _.memoize(function () { + var compiled, + /* + * Underscore's default ERB-style templates are incompatible with PHP + * when asp_tags is enabled, so WordPress uses Mustache-inspired templating syntax. + * + * @see trac ticket #22344. + */ + options = { + evaluate: /<#([\s\S]+?)#>/g, + interpolate: /\{\{\{([\s\S]+?)\}\}\}/g, + escape: /\{\{([^\}]+?)\}\}(?!\})/g, + variable: "data", + }; + + return function (data) { + compiled = _.template( + control.container + .find(".customize-control-repeater-content") + .first() + .html(), + null, + options + ); + return compiled(data); + }; + }); + + // When we load the control, the fields have not been filled up + // This is the first time that we create all the rows + if (settingValue.length) { + _.each(settingValue, function (subValue) { + theNewRow = control.addRow(subValue); + control.initColorPicker(); + control.initSelect(theNewRow, subValue); + }); + } + + control.repeaterFieldsContainer.sortable({ + handle: ".repeater-row-header", + update: function () { + control.sort(); + }, + }); + }, + + /** + * Open the media modal. + * + * @param {Object} event - The JS event. + * @returns {void} + */ + openFrame: function (event) { + if (wp.customize.utils.isKeydownButNotEnterEvent(event)) { + return; + } + + if ( + this.$thisButton + .closest(".repeater-field") + .hasClass("repeater-field-cropped_image") + ) { + this.initCropperFrame(); + } else { + this.initFrame(); + } + + this.frame.open(); + }, + + initFrame: function () { + var libMediaType = this.getMimeType(); + + this.frame = wp.media({ + states: [ + new wp.media.controller.Library({ + library: wp.media.query({ type: libMediaType }), + multiple: false, + date: false, + }), + ], + }); + + // When a file is selected, run a callback. + this.frame.on("select", this.onSelect, this); + }, + + /** + * Create a media modal select frame, and store it so the instance can be reused when needed. + * This is mostly a copy/paste of Core api.CroppedImageControl in /wp-admin/js/customize-control.js + * + * @returns {void} + */ + initCropperFrame: function () { + // We get the field id from which this was called + var currentFieldId = this.$thisButton + .siblings("input.hidden-field") + .attr("data-field"), + attrs = ["width", "height", "flex_width", "flex_height"], // A list of attributes to look for + libMediaType = this.getMimeType(); + + // Make sure we got it + if (_.isString(currentFieldId) && "" !== currentFieldId) { + // Make fields is defined and only do the hack for cropped_image + if ( + _.isObject(this.params.fields[currentFieldId]) && + "cropped_image" === this.params.fields[currentFieldId].type + ) { + //Iterate over the list of attributes + attrs.forEach( + function (el) { + // If the attribute exists in the field + if (!_.isUndefined(this.params.fields[currentFieldId][el])) { + // Set the attribute in the main object + this.params[el] = this.params.fields[currentFieldId][el]; + } + }.bind(this) + ); + } + } + + this.frame = wp.media({ + button: { + text: "Select and Crop", + close: false, + }, + states: [ + new wp.media.controller.Library({ + library: wp.media.query({ type: libMediaType }), + multiple: false, + date: false, + suggestedWidth: this.params.width, + suggestedHeight: this.params.height, + }), + new wp.media.controller.CustomizeImageCropper({ + imgSelectOptions: this.calculateImageSelectOptions, + control: this, + }), + ], + }); + + this.frame.on("select", this.onSelectForCrop, this); + this.frame.on("cropped", this.onCropped, this); + this.frame.on("skippedcrop", this.onSkippedCrop, this); + }, + + onSelect: function () { + var attachment = this.frame.state().get("selection").first().toJSON(); + + if ( + this.$thisButton + .closest(".repeater-field") + .hasClass("repeater-field-upload") + ) { + this.setFileInRepeaterField(attachment); + } else { + this.setImageInRepeaterField(attachment); + } + }, + + /** + * After an image is selected in the media modal, switch to the cropper + * state if the image isn't the right size. + */ + + onSelectForCrop: function () { + var attachment = this.frame.state().get("selection").first().toJSON(); + + if ( + this.params.width === attachment.width && + this.params.height === attachment.height && + !this.params.flex_width && + !this.params.flex_height + ) { + this.setImageInRepeaterField(attachment); + } else { + this.frame.setState("cropper"); + } + }, + + /** + * After the image has been cropped, apply the cropped image data to the setting. + * + * @param {object} croppedImage Cropped attachment data. + * @returns {void} + */ + onCropped: function (croppedImage) { + this.setImageInRepeaterField(croppedImage); + }, + + /** + * Returns a set of options, computed from the attached image data and + * control-specific data, to be fed to the imgAreaSelect plugin in + * wp.media.view.Cropper. + * + * @param {wp.media.model.Attachment} attachment - The attachment from the WP API. + * @param {wp.media.controller.Cropper} controller - Media controller. + * @returns {Object} - Options. + */ + calculateImageSelectOptions: function (attachment, controller) { + var control = controller.get("control"), + flexWidth = !!parseInt(control.params.flex_width, 10), + flexHeight = !!parseInt(control.params.flex_height, 10), + realWidth = attachment.get("width"), + realHeight = attachment.get("height"), + xInit = parseInt(control.params.width, 10), + yInit = parseInt(control.params.height, 10), + ratio = xInit / yInit, + xImg = realWidth, + yImg = realHeight, + x1, + y1, + imgSelectOptions; + + controller.set( + "canSkipCrop", + !control.mustBeCropped( + flexWidth, + flexHeight, + xInit, + yInit, + realWidth, + realHeight + ) + ); + + if (xImg / yImg > ratio) { + yInit = yImg; + xInit = yInit * ratio; + } else { + xInit = xImg; + yInit = xInit / ratio; + } + + x1 = (xImg - xInit) / 2; + y1 = (yImg - yInit) / 2; + + imgSelectOptions = { + handles: true, + keys: true, + instance: true, + persistent: true, + imageWidth: realWidth, + imageHeight: realHeight, + x1: x1, + y1: y1, + x2: xInit + x1, + y2: yInit + y1, + }; + + if (false === flexHeight && false === flexWidth) { + imgSelectOptions.aspectRatio = xInit + ":" + yInit; + } + if (false === flexHeight) { + imgSelectOptions.maxHeight = yInit; + } + if (false === flexWidth) { + imgSelectOptions.maxWidth = xInit; + } + + return imgSelectOptions; + }, + + /** + * Return whether the image must be cropped, based on required dimensions. + * + * @param {bool} flexW - The flex-width. + * @param {bool} flexH - The flex-height. + * @param {int} dstW - Initial point distance in the X axis. + * @param {int} dstH - Initial point distance in the Y axis. + * @param {int} imgW - Width. + * @param {int} imgH - Height. + * @returns {bool} - Whether the image must be cropped or not based on required dimensions. + */ + mustBeCropped: function (flexW, flexH, dstW, dstH, imgW, imgH) { + return !( + (true === flexW && true === flexH) || + (true === flexW && dstH === imgH) || + (true === flexH && dstW === imgW) || + (dstW === imgW && dstH === imgH) || + imgW <= dstW + ); + }, + + /** + * If cropping was skipped, apply the image data directly to the setting. + * + * @returns {void} + */ + onSkippedCrop: function () { + var attachment = this.frame.state().get("selection").first().toJSON(); + this.setImageInRepeaterField(attachment); + }, + + /** + * Updates the setting and re-renders the control UI. + * + * @param {object} attachment - The attachment object. + * @returns {void} + */ + setImageInRepeaterField: function (attachment) { + var $targetDiv = this.$thisButton.closest( + ".repeater-field-image,.repeater-field-cropped_image" + ); + + $targetDiv + .find(".kirki-image-attachment") + .html('') + .hide() + .slideDown("slow"); + + $targetDiv.find(".hidden-field").val(attachment.id); + this.$thisButton.text(this.$thisButton.data("alt-label")); + $targetDiv.find(".remove-button").show(); + + //This will activate the save button + $targetDiv.find("input, textarea, select").trigger("change"); + this.frame.close(); + }, + + /** + * Updates the setting and re-renders the control UI. + * + * @param {object} attachment - The attachment object. + * @returns {void} + */ + setFileInRepeaterField: function (attachment) { + var $targetDiv = this.$thisButton.closest(".repeater-field-upload"); + + $targetDiv + .find(".kirki-file-attachment") + .html( + ' ' + + attachment.filename + + "" + ) + .hide() + .slideDown("slow"); + + $targetDiv.find(".hidden-field").val(attachment.id); + this.$thisButton.text(this.$thisButton.data("alt-label")); + $targetDiv.find(".upload-button").show(); + $targetDiv.find(".remove-button").show(); + + //This will activate the save button + $targetDiv.find("input, textarea, select").trigger("change"); + this.frame.close(); + }, + + getMimeType: function () { + // We get the field id from which this was called + var currentFieldId = this.$thisButton + .siblings("input.hidden-field") + .attr("data-field"); + + // Make sure we got it + if (_.isString(currentFieldId) && "" !== currentFieldId) { + // Make fields is defined and only do the hack for cropped_image + if ( + _.isObject(this.params.fields[currentFieldId]) && + "upload" === this.params.fields[currentFieldId].type + ) { + // If the attribute exists in the field + if (!_.isUndefined(this.params.fields[currentFieldId].mime_type)) { + // Set the attribute in the main object + return this.params.fields[currentFieldId].mime_type; + } + } + } + return "image"; + }, + + removeImage: function (event) { + var $targetDiv, $uploadButton; + + if (wp.customize.utils.isKeydownButNotEnterEvent(event)) { + return; + } + + $targetDiv = this.$thisButton.closest( + ".repeater-field-image,.repeater-field-cropped_image,.repeater-field-upload" + ); + $uploadButton = $targetDiv.find(".upload-button"); + + $targetDiv.find(".kirki-image-attachment").slideUp("fast", function () { + jQuery(this).show().html(jQuery(this).data("placeholder")); + }); + $targetDiv.find(".hidden-field").val(""); + $uploadButton.text($uploadButton.data("label")); + this.$thisButton.hide(); + + $targetDiv.find("input, textarea, select").trigger("change"); + }, + + removeFile: function (event) { + var $targetDiv, $uploadButton; + + if (wp.customize.utils.isKeydownButNotEnterEvent(event)) { + return; + } + + $targetDiv = this.$thisButton.closest(".repeater-field-upload"); + $uploadButton = $targetDiv.find(".upload-button"); + + $targetDiv.find(".kirki-file-attachment").slideUp("fast", function () { + jQuery(this).show().html(jQuery(this).data("placeholder")); + }); + $targetDiv.find(".hidden-field").val(""); + $uploadButton.text($uploadButton.data("label")); + this.$thisButton.hide(); + + $targetDiv.find("input, textarea, select").trigger("change"); + }, + + /** + * Get the current value of the setting + * + * @returns {Object} - Returns the value. + */ + getValue: function () { + // The setting is saved in JSON + return JSON.parse(decodeURI(this.setting.get())); + }, + + /** + * Set a new value for the setting + * + * @param {Object} newValue - The new value. + * @param {bool} refresh - If we want to refresh the previewer or not + * @param {bool} filtering - If we want to filter or not. + * @returns {void} + */ + setValue: function (newValue, refresh, filtering) { + // We need to filter the values after the first load to remove data requrired for diplay but that we don't want to save in DB + var filteredValue = newValue, + filter = []; + + if (filtering) { + jQuery.each(this.params.fields, function (index, value) { + if ( + "image" === value.type || + "cropped_image" === value.type || + "upload" === value.type + ) { + filter.push(index); + } + }); + jQuery.each(newValue, function (index, value) { + jQuery.each(filter, function (ind, field) { + if (!_.isUndefined(value[field]) && !_.isUndefined(value[field].id)) { + filteredValue[index][field] = value[field].id; + } + }); + }); + } + + this.setting.set(encodeURI(JSON.stringify(filteredValue))); + + if (refresh) { + // Trigger the change event on the hidden field so + // previewer refresh the website on Customizer + this.settingField.trigger("change"); + } + }, + + /** + * Add a new row to repeater settings based on the structure. + * + * @param {Object} data - (Optional) Object of field => value pairs (undefined if you want to get the default values) + * @returns {Object} - Returns the new row. + */ + addRow: function (data) { + var control = this, + template = control.repeaterTemplate(), // The template for the new row (defined on Kirki_Customize_Repeater_Control::render_content() ). + settingValue = this.getValue(), // Get the current setting value. + newRowSetting = {}, // Saves the new setting data. + templateData, // Data to pass to the template + newRow, + i; + + if (template) { + // The control structure is going to define the new fields + // We need to clone control.params.fields. Assigning it + // ould result in a reference assignment. + templateData = jQuery.extend(true, {}, control.params.fields); + + // But if we have passed data, we'll use the data values instead + if (data) { + for (i in data) { + if (data.hasOwnProperty(i) && templateData.hasOwnProperty(i)) { + templateData[i].default = data[i]; + } + } + } + + templateData.index = this.currentIndex; + + // Append the template content + template = template(templateData); + + // Create a new row object and append the element + newRow = new RepeaterRow( + control.currentIndex, + jQuery(template).appendTo(control.repeaterFieldsContainer), + control.params.row_label, + control + ); + + newRow.container.on("row:remove", function (e, rowIndex) { + control.deleteRow(rowIndex); + }); + + newRow.container.on( + "row:update", + function (e, rowIndex, fieldName, element) { + control.updateField.call(control, e, rowIndex, fieldName, element); // eslint-disable-line no-useless-call + newRow.updateLabel(); + } + ); + + // Add the row to rows collection + this.rows[this.currentIndex] = newRow; + + for (i in templateData) { + if (templateData.hasOwnProperty(i)) { + newRowSetting[i] = templateData[i].default; + } + } + + settingValue[this.currentIndex] = newRowSetting; + this.setValue(settingValue, true); + + this.currentIndex++; + + return newRow; + } + }, + + sort: function () { + var control = this, + $rows = this.repeaterFieldsContainer.find(".repeater-row"), + newOrder = [], + settings = control.getValue(), + newRows = [], + newSettings = []; + + $rows.each(function (i, element) { + newOrder.push(jQuery(element).data("row")); + }); + + jQuery.each(newOrder, function (newPosition, oldPosition) { + newRows[newPosition] = control.rows[oldPosition]; + newRows[newPosition].setRowIndex(newPosition); + + newSettings[newPosition] = settings[oldPosition]; + }); + + control.rows = newRows; + control.setValue(newSettings); + }, + + /** + * Delete a row in the repeater setting + * + * @param {int} index - Position of the row in the complete Setting Array + * @returns {void} + */ + deleteRow: function (index) { + var currentSettings = this.getValue(), + row, + prop; + + if (currentSettings[index]) { + // Find the row + row = this.rows[index]; + if (row) { + // Remove the row settings + delete currentSettings[index]; + + // Remove the row from the rows collection + delete this.rows[index]; + + // Update the new setting values + this.setValue(currentSettings, true); + } + } + + // Remap the row numbers + for (prop in this.rows) { + if (this.rows.hasOwnProperty(prop) && this.rows[prop]) { + this.rows[prop].updateLabel(); + } + } + }, + + /** + * Update a single field inside a row. + * Triggered when a field has changed + * + * @param {Object} e - Event Object + * @param {int} rowIndex - The row's index as an integer. + * @param {string} fieldId - The field ID. + * @param {string|Object} element - The element's identifier, or jQuery Object of the element. + * @returns {void} + */ + updateField: function (e, rowIndex, fieldId, element) { + var type, row, currentSettings; + + if (!this.rows[rowIndex]) { + return; + } + + if (!this.params.fields[fieldId]) { + return; + } + + type = this.params.fields[fieldId].type; + row = this.rows[rowIndex]; + currentSettings = this.getValue(); + + element = jQuery(element); + + if (_.isUndefined(currentSettings[row.rowIndex][fieldId])) { + return; + } + + if ("checkbox" === type) { + currentSettings[row.rowIndex][fieldId] = element.is(":checked"); + } else { + // Update the settings + currentSettings[row.rowIndex][fieldId] = element.val(); + } + this.setValue(currentSettings, true); + }, + + /** + * Init the color picker on color fields + * Called after AddRow + * + * @returns {void} + */ + initColorPicker: function () { + var control = this; + var colorPicker = control.container.find(".kirki-classic-color-picker"); + var fieldId = colorPicker.data("field"); + var options = {}; + + // We check if the color palette parameter is defined. + if ( + !_.isUndefined(fieldId) && + !_.isUndefined(control.params.fields[fieldId]) && + !_.isUndefined(control.params.fields[fieldId].palettes) && + _.isObject(control.params.fields[fieldId].palettes) + ) { + options.palettes = control.params.fields[fieldId].palettes; + } + + // When the color picker value is changed we update the value of the field + options.change = function (event, ui) { + var currentPicker = jQuery(event.target); + var row = currentPicker.closest(".repeater-row"); + var rowIndex = row.data("row"); + var currentSettings = control.getValue(); + var value = ui.color._alpha < 1 ? ui.color.to_s() : ui.color.toString(); + + currentSettings[rowIndex][currentPicker.data("field")] = value; + control.setValue(currentSettings, true); + + // By default if the alpha is 1, the input will be rgb. + // We setTimeout to 50ms to prevent race value set. + setTimeout(function() { + event.target.value = value; + }, 50); + }; + + // Init the color picker + if (colorPicker.length && 0 !== colorPicker.length) { + colorPicker.wpColorPicker(options); + } + }, + + /** + * Init the dropdown-pages field. + * Called after AddRow + * + * @param {object} theNewRow the row that was added to the repeater + * @param {object} data the data for the row if we're initializing a pre-existing row + * @returns {void} + */ + initSelect: function (theNewRow, data) { + var control = this, + dropdown = theNewRow.container.find(".repeater-field select"), + dataField; + + if (0 === dropdown.length) { + return; + } + + dataField = dropdown.data("field"); + multiple = jQuery(dropdown).data("multiple"); + + data = data || {}; + data[dataField] = data[dataField] || ""; + + jQuery(dropdown).val(data[dataField] || jQuery(dropdown).val()); + + this.container.on("change", ".repeater-field select", function (event) { + var currentDropdown = jQuery(event.target), + row = currentDropdown.closest(".repeater-row"), + rowIndex = row.data("row"), + currentSettings = control.getValue(); + + currentSettings[rowIndex][currentDropdown.data("field")] = + jQuery(this).val(); + control.setValue(currentSettings); + }); + }, +}); diff --git a/functions/kirki/packages/kirki-framework/control-select/README.md b/functions/kirki/packages/kirki-framework/control-select/README.md new file mode 100644 index 0000000..f84a282 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-select/README.md @@ -0,0 +1,99 @@ +# control-select + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-select +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Select' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add settings. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'option-1', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => function( $value ) { + if ( ! in_array( $value, [ 'option-1', 'option-2', 'option-3', 'option-3', 'option-4', 'option-5' ], true ) ) { + return 'option-1'; + } + return $value; + }, + ] ); + $wp_customize->add_setting( 'my_control_multi', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => [ 'option-1', 'option-2' ], + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => function( $value ) { + $value = (array) $value; + $sanitized = []; + + foreach ( $value as $sub_value ) { + if ( ! in_array( $sub_value, [ 'option-1', 'option-2', 'option-3', 'option-3', 'option-4', 'option-5' ], true ) ) { + $sanitized[] = $sub_value; + } + } + // We want a max of 2 options. + if ( 2 < count( $sanitized ) ) { + return array_slice( $sanitized, 0, 2 ); + } + return $sanitized; + }, + ] ); + + // Add controls. + $wp_customize->add_control( new \Kirki\Control\Select( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + ] ) ); + $wp_customize->add_control( new \Kirki\Control\Select( $wp_customize, 'my_control_multi', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + 'multiple' => 2, + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-select/src/Field/Dropdown_Pages.php b/functions/kirki/packages/kirki-framework/control-select/src/Field/Dropdown_Pages.php new file mode 100644 index 0000000..b3ffcfc --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-select/src/Field/Dropdown_Pages.php @@ -0,0 +1,40 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + $all_pages = get_pages(); + foreach ( $all_pages as $page ) { + $args['choices'][ $page->ID ] = $page->post_title; + } + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-select/src/Field/Preset.php b/functions/kirki/packages/kirki-framework/control-select/src/Field/Preset.php new file mode 100644 index 0000000..b80c240 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-select/src/Field/Preset.php @@ -0,0 +1,41 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + $args['multiple'] = 1; + $args['preset'] = $args['choices']; + foreach ( $args['choices'] as $key => $args ) { + $args['choices'][ $key ] = $args['label']; + } + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-select/src/Field/Select.php b/functions/kirki/packages/kirki-framework/control-select/src/Field/Select.php new file mode 100644 index 0000000..0ab648a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-select/src/Field/Select.php @@ -0,0 +1,18 @@ + 'your_control_setting_id', + 'label' => esc_html__( 'Your Control Label', 'your-text-domain' ), + 'description' => esc_html__( 'Your control description.', 'your-text-domain' ), + 'section' => 'your_section_id', + 'default' => 5, + 'choices' => [ + 'min' => 0, + 'max' => 100, + 'step' => 1, + ], + ] +); +``` + +### Using the Customizer API + +```php +/** + * Register customizer settings and controls. + * + * @param \WP_Customize_Manager $wp_customize The Customizer object. + */ +function your_customize_register_function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( + 'your_control_setting_id', + [ + 'type' => 'theme_mod', // Or 'option'. + 'capability' => 'edit_theme_options', + 'default' => 5, + 'transport' => 'postMessage', // Or 'refresh'. + 'sanitize' => 'intval', // Or 'absint' or other int sanitization. + ] + ); + + // Add control. + $wp_customize->add_control( + new \Kirki\Control\Slider( + $wp_customize, + 'your_control_setting_id', + [ + 'label' => esc_html__( 'Your Control Label', 'your-text-domain' ), + 'description' => esc_html__( 'Your control description.', 'your-text-domain' ), + 'section' => 'your_section_id', + 'choices' => [ + 'min' => 0, + 'max' => 100, + 'step' => 1, + ], + ] + ) + ); + + // Add more settings... + + // Add more controls... + +} +add_action( 'customize_register', 'your_customize_register_function' ); +``` + +## Development + +If you want to make changes to this control, you can edit the JS files in the `src` folder. +- If you haven't installed the packages, then run `npm install` +- After done editing, run `npm run build` + +## License +[MIT License](https://oss.ninja/mit?organization=Kirki%20Framework) diff --git a/functions/kirki/packages/kirki-framework/control-slider/dist/control.css b/functions/kirki/packages/kirki-framework/control-slider/dist/control.css new file mode 100644 index 0000000..8785900 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/dist/control.css @@ -0,0 +1,3 @@ +.customize-control-kirki-slider .kirki-control-label{position:relative;display:block}.customize-control-kirki-slider .customize-control-description{padding-right:30px}.customize-control-kirki-slider .kirki-control-form{position:relative;margin-bottom:12px}.customize-control-kirki-slider .kirki-control-form:hover .kirki-control-reset{opacity:1}.customize-control-kirki-slider .kirki-control-reset{display:flex;align-items:center;justify-content:center;right:0;bottom:22px;position:absolute;padding:0;width:16px;height:16px;color:#50575e;background-color:transparent;border-radius:50%;border-width:0;opacity:0;cursor:pointer;transition:all .3s;z-index:3}.customize-control-kirki-slider .kirki-control-reset:focus{opacity:1}.customize-control-kirki-slider .kirki-control-reset:hover i{color:red;transform:rotate(-45deg)}.customize-control-kirki-slider .kirki-control-reset i{font-size:12px;width:auto;height:auto;transform:rotate(45deg);transition:transform .3s}.customize-control-kirki-slider .kirki-control-cols{display:flex;align-items:center;justify-content:space-between}.customize-control-kirki-slider .kirki-control-left-col{width:90%;padding-right:13px}.customize-control-kirki-slider .kirki-control-right-col{width:10%;text-align:right}.customize-control-kirki-slider .kirki-control-input{font-size:12px;text-align:center;background-color:#f7f7f7;border-color:#bbb;border-radius:4px;z-index:2}.customize-control-kirki-slider .kirki-control-slider{position:relative;top:-1px;padding:0;margin:0;width:100%;height:5px;border-radius:2.5px;background-color:#bdc3c7;outline:none;-webkit-appearance:none}.customize-control-kirki-slider .kirki-control-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background-color:#f0f0f0;cursor:pointer;border:1px solid #999;box-shadow:none;-webkit-transition:background-color .15s ease-in-out,box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color .15s ease-in-out,box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.customize-control-kirki-slider .kirki-control-slider::-webkit-slider-thumb:hover,.customize-control-kirki-slider .kirki-control-slider::-webkit-slider-thumb:focus{background-color:#e7e7e7}.customize-control-kirki-slider .kirki-control-slider:active::-webkit-slider-thumb{background-color:#e7e7e7}.customize-control-kirki-slider .kirki-control-slider::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background-color:#f0f0f0;cursor:pointer;border:1px solid #999;box-shadow:none;-moz-transition:background-color .15s ease-in-out,box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color .15s ease-in-out,box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.customize-control-kirki-slider .kirki-control-slider::-moz-range-thumb:hover,.customize-control-kirki-slider .kirki-control-slider::-moz-range-thumb:focus{background-color:#e7e7e7}.customize-control-kirki-slider ::-moz-range-track{background-color:#bdc3c7;border:0}.customize-control-kirki-slider input::-moz-focus-inner,.customize-control-kirki-slider input::-moz-focus-outer{border:0} + +/*# sourceMappingURL=control.css.map*/ \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/control-slider/dist/control.js b/functions/kirki/packages/kirki-framework/control-slider/dist/control.js new file mode 100644 index 0000000..99e848a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/dist/control.js @@ -0,0 +1,2 @@ +(()=>{"use strict";const t=React,e=function(e){var n=e.control,o=e.customizerSetting,a=e.choices,i="";n.updateComponentState=function(t){"slider"===i?s.current.textContent=t:"input"===i?l.current.value=t:"reset"===i&&(s.current.textContent=t,l.current.value=t)};var r="kirki-control-input-".concat(o.id),c=""!==e.value?e.value:0,l=(0,t.useRef)(null),s=(0,t.useRef)(null);return React.createElement("div",{className:"kirki-control-form",tabIndex:"1"},React.createElement("label",{className:"kirki-control-label",htmlFor:r},React.createElement("span",{className:"customize-control-title"},e.label),React.createElement("span",{className:"customize-control-description description",dangerouslySetInnerHTML:{__html:e.description}})),React.createElement("div",{className:"customize-control-notifications-container",ref:e.setNotificationContainer}),React.createElement("button",{type:"button",className:"kirki-control-reset",onClick:function(t){""!==e.default&&void 0!==e.default?(l.current.value=e.default,s.current.textContent=e.default):""!==e.value?(l.current.value=e.value,s.current.textContent=e.value):(l.current.value=a.min,s.current.textContent=""),i="reset",o.set(l.current.value)}},React.createElement("i",{className:"dashicons dashicons-image-rotate"})),React.createElement("div",{className:"kirki-control-cols"},React.createElement("div",{className:"kirki-control-left-col"},React.createElement("input",{ref:l,type:"range",id:r,defaultValue:c,min:a.min,max:a.max,step:a.step,className:"kirki-control-slider",onChange:function(t){i="range"===t.target.type?"slider":"input";var e=t.target.value;ea.max&&(e=a.max),"input"===i&&(t.target.value=e),o.set(e)}})),React.createElement("div",{className:"kirki-control-right-col"},React.createElement("div",{className:"kirki-control-value",ref:s},c))))};function n(){return n=Object.assign||function(t){for(var e=1;ejson['choices'] = wp_parse_args( + $this->json['choices'], + [ + 'min' => 0, + 'max' => 100, + 'step' => 1, + ] + ); + + if ( isset( $this->json['label'] ) ) { + $this->json['label'] = html_entity_decode( $this->json['label'] ); + } + + if ( isset( $this->json['description'] ) ) { + $this->json['description'] = html_entity_decode( $this->json['description'] ); + } + + $this->json['choices']['min'] = (float) $this->json['choices']['min']; + $this->json['choices']['max'] = (float) $this->json['choices']['max']; + $this->json['choices']['step'] = (float) $this->json['choices']['step']; + + $this->json['value'] = $this->json['value'] < $this->json['choices']['min'] ? $this->json['choices']['min'] : $this->json['value']; + $this->json['value'] = $this->json['value'] > $this->json['choices']['max'] ? $this->json['choices']['max'] : $this->json['value']; + $this->json['value'] = (float) $this->json['value']; + + } + + /** + * An Underscore (JS) template for this control's content (but not its container). + * + * Class variables for this control class are available in the `data` JS object; + * export custom variables by overriding WP_Customize_Control::to_json(). + * + * @see WP_Customize_Control::print_template() + * + * @since 1.0 + */ + protected function content_template() {} + +} diff --git a/functions/kirki/packages/kirki-framework/control-slider/src/Field/Slider.php b/functions/kirki/packages/kirki-framework/control-slider/src/Field/Slider.php new file mode 100644 index 0000000..4df624a --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/src/Field/Slider.php @@ -0,0 +1,92 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize_callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = function ( $value ) { + return filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + }; + } + } + + return $args; + + } + + /** + * Filter arguments before creating the control. + * + * @param array $args The field arguments. + * @param \WP_Customize_Manager $wp_customize The customizer instance. + * + * @return array $args The maybe-filtered arguments. + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-slider'; + } + + return $args; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderControl.js b/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderControl.js new file mode 100644 index 0000000..2b7332f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderControl.js @@ -0,0 +1,128 @@ +import KirkiSliderForm from './KirkiSliderForm'; + +/** + * KirkiSliderControl. + * + * Global objects brought: + * - wp + * - jQuery + * - React + * - ReactDOM + * + * @class + * @augments wp.customize.Control + * @augments wp.customize.Class + */ +const KirkiSliderControl = wp.customize.Control.extend({ + + /** + * Initialize. + * + * @param {string} id - Control ID. + * @param {object} params - Control params. + */ + initialize: function (id, params) { + const control = this; + + // Bind functions to this control context for passing as React props. + control.setNotificationContainer = control.setNotificationContainer.bind(control); + + wp.customize.Control.prototype.initialize.call(control, id, params); + + // The following should be eliminated with . + function onRemoved(removedControl) { + if (control === removedControl) { + control.destroy(); + control.container.remove(); + wp.customize.control.unbind('removed', onRemoved); + } + } + wp.customize.control.bind('removed', onRemoved); + }, + + /** + * Set notification container and render. + * + * This is called when the React component is mounted. + * + * @param {Element} element - Notification container. + * @returns {void} + */ + setNotificationContainer: function setNotificationContainer(element) { + const control = this; + + control.notifications.container = jQuery(element); + control.notifications.render(); + }, + + /** + * Render the control into the DOM. + * + * This is called from the Control#embed() method in the parent class. + * + * @returns {void} + */ + renderContent: function renderContent() { + const control = this; + + ReactDOM.render( + , + control.container[0] + ); + + if (false !== control.params.choices.allowCollapse) { + control.container.addClass('allowCollapse'); + } + }, + + /** + * After control has been first rendered, start re-rendering when setting changes. + * + * React is able to be used here instead of the wp.customize.Element abstraction. + * + * @returns {void} + */ + ready: function ready() { + const control = this; + + /** + * Update component value's state when customizer setting's value is changed. + */ + control.setting.bind((val) => { + control.updateComponentState(val); + }); + }, + + /** + * This method will be overriden by the rendered component. + */ + updateComponentState: (val) => { }, + + /** + * Handle removal/de-registration of the control. + * + * This is essentially the inverse of the Control#embed() method. + * + * @link https://core.trac.wordpress.org/ticket/31334 + * @returns {void} + */ + destroy: function destroy() { + const control = this; + + // Garbage collection: undo mounting that was done in the embed/renderContent method. + ReactDOM.unmountComponentAtNode(control.container[0]); + + // Call destroy method in parent if it exists (as of #31334). + if (wp.customize.Control.prototype.destroy) { + wp.customize.Control.prototype.destroy.call(control); + } + } +}); + +export default KirkiSliderControl; diff --git a/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderForm.js b/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderForm.js new file mode 100644 index 0000000..a1bfeb5 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/src/KirkiSliderForm.js @@ -0,0 +1,104 @@ +import { useRef } from "react"; + +const KirkiSliderForm = (props) => { + const { control, customizerSetting, choices } = props; + + let trigger = ""; + + control.updateComponentState = (val) => { + if ("slider" === trigger) { + valueRef.current.textContent = val; + } else if ("input" === trigger) { + sliderRef.current.value = val; + } else if ("reset" === trigger) { + valueRef.current.textContent = val; + sliderRef.current.value = val; + } + }; + + const handleChange = (e) => { + trigger = "range" === e.target.type ? "slider" : "input"; + + let value = e.target.value; + + if (value < choices.min) value = choices.min; + + if (value > choices.max) value = choices.max; + + if ("input" === trigger) e.target.value = value; + customizerSetting.set(value); + }; + + const handleReset = (e) => { + if ("" !== props.default && "undefined" !== typeof props.default) { + sliderRef.current.value = props.default; + valueRef.current.textContent = props.default; + } else { + if ("" !== props.value) { + sliderRef.current.value = props.value; + valueRef.current.textContent = props.value; + } else { + sliderRef.current.value = choices.min; + valueRef.current.textContent = ""; + } + } + + trigger = "reset"; + customizerSetting.set(sliderRef.current.value); + }; + + // Preparing for the template. + const fieldId = `kirki-control-input-${customizerSetting.id}`; + const value = "" !== props.value ? props.value : 0; + + const sliderRef = useRef(null); + const valueRef = useRef(null); + + return ( +
      + + +
      + + + +
      +
      + +
      +
      +
      + {value} +
      +
      +
      +
      + ); +}; + +export default KirkiSliderForm; diff --git a/functions/kirki/packages/kirki-framework/control-slider/src/control.js b/functions/kirki/packages/kirki-framework/control-slider/src/control.js new file mode 100644 index 0000000..a5c1177 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/src/control.js @@ -0,0 +1,6 @@ +import "./control.scss"; +import KirkiSliderControl from './KirkiSliderControl'; + + +// Register control type with Customizer. +wp.customize.controlConstructor['kirki-slider'] = KirkiSliderControl; diff --git a/functions/kirki/packages/kirki-framework/control-slider/webpack.config.js b/functions/kirki/packages/kirki-framework/control-slider/webpack.config.js new file mode 100644 index 0000000..4d0ea32 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-slider/webpack.config.js @@ -0,0 +1,41 @@ +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +module.exports = { + externals: { + "jquery": "jQuery", + "react": "React", + "react-dom": "ReactDOM" + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: "./control.css" + }) + ], + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader" + } + }, + { + test: /\.s[ac]ss$/i, + use: [ + // Extracts CSS into separate files + MiniCssExtractPlugin.loader, + // Translates CSS into CommonJS + "css-loader", + // Compiles Sass to CSS + "sass-loader", + ], + } + ] + }, + entry: "./src/control.js", + output: { + filename: "control.js", + }, + devtool: "source-map" +}; diff --git a/functions/kirki/packages/kirki-framework/control-sortable/LICENSE b/functions/kirki/packages/kirki-framework/control-sortable/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-sortable/README.md b/functions/kirki/packages/kirki-framework/control-sortable/README.md new file mode 100644 index 0000000..c3636c5 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/README.md @@ -0,0 +1,69 @@ +# control-sortable + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-sortable +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\sortable' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => [ 'option-1', 'option-2' ], + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => function( $value ) { + $value = (array) $value; + $sanitized = []; + + foreach ( $value as $sub_value ) { + if ( ! in_array( $sub_value, [ 'option-1', 'option-2', 'option-3', 'option-3', 'option-4', 'option-5' ], true ) ) { + $sanitized[] = $sub_value; + } + } + return $sanitized; + }, + ] ); + + $wp_customize->add_control( new \Kirki\Control\Select( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-sortable/dist/control.css b/functions/kirki/packages/kirki-framework/control-sortable/dist/control.css new file mode 100644 index 0000000..64c1622 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki-sortable ul.ui-sortable li{background:#fff;border:1px solid #333;padding:5px 10px}.customize-control-kirki-sortable ul.ui-sortable li .dashicons.dashicons-menu{float:right}.customize-control-kirki-sortable ul.ui-sortable li .dashicons.visibility{margin-right:10px}.customize-control-kirki-sortable ul.ui-sortable li.invisible{border:1px dashed #aaa;color:#aaa}.customize-control-kirki-sortable ul.ui-sortable li.invisible .dashicons.visibility{color:#aaa} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/control-sortable/dist/control.js b/functions/kirki/packages/kirki-framework/control-sortable/dist/control.js new file mode 100644 index 0000000..3b03852 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/dist/control.js @@ -0,0 +1,2 @@ +wp.customize.controlConstructor["kirki-sortable"]=wp.customize.Control.extend({ready:function(){var i=this;jQuery(i.container.find("ul.sortable").first()).sortable({update:function(){i.setting.set(i.getNewVal())}}).disableSelection().find("li").each((function(){jQuery(this).find("i.visibility").click((function(){jQuery(this).toggleClass("dashicons-visibility-faint").parents("li:eq(0)").toggleClass("invisible")}))})).click((function(){i.setting.set(i.getNewVal())}))},getNewVal:function(){var i=jQuery(this.container.find("li")),t=[];return _.each(i,(function(i){jQuery(i).hasClass("invisible")||t.push(jQuery(i).data("value"))})),t}}); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/control-sortable/src/Control/Sortable.php b/functions/kirki/packages/kirki-framework/control-sortable/src/Control/Sortable.php new file mode 100644 index 0000000..48dec01 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/src/Control/Sortable.php @@ -0,0 +1,102 @@ + + + args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = [ $this, 'sanitize' ]; + } + } + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'kirki-sortable'; + } + return $args; + } + + /** + * Sanitizes sortable values. + * + * @static + * @access public + * @since 1.0 + * @param array $value The checkbox value. + * @return array + */ + public function sanitize( $value = [] ) { + $value = (array) $value; + + foreach ( $value as $key => $sub_value ) { + $value[ $key ] = sanitize_text_field( $sub_value ); + } + return $value; + } +} diff --git a/functions/kirki/packages/kirki-framework/control-sortable/src/control.js b/functions/kirki/packages/kirki-framework/control-sortable/src/control.js new file mode 100644 index 0000000..92e79be --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-sortable/src/control.js @@ -0,0 +1,46 @@ +import "./control.scss"; + +wp.customize.controlConstructor['kirki-sortable'] = wp.customize.Control.extend({ + + // When we're finished loading continue processing + ready: function() { + + var control = this; + + // Init sortable. + jQuery( control.container.find( 'ul.sortable' ).first() ).sortable({ + + // Update value when we stop sorting. + update: function() { + control.setting.set( control.getNewVal() ); + } + }).disableSelection().find( 'li' ).each( function() { + + // Enable/disable options when we click on the eye of Thundera. + jQuery( this ).find( 'i.visibility' ).click( function() { + jQuery( this ).toggleClass( 'dashicons-visibility-faint' ).parents( 'li:eq(0)' ).toggleClass( 'invisible' ); + }); + }).click( function() { + + // Update value on click. + control.setting.set( control.getNewVal() ); + }); + }, + + /** + * Getss thhe new vvalue. + * + * @since 3.0.35 + * @returns {Array} - Returns the value as an array. + */ + getNewVal: function() { + var items = jQuery( this.container.find( 'li' ) ), + newVal = []; + _.each( items, function( item ) { + if ( ! jQuery( item ).hasClass( 'invisible' ) ) { + newVal.push( jQuery( item ).data( 'value' ) ); + } + }); + return newVal; + } +}); diff --git a/functions/kirki/packages/kirki-framework/control-upload/LICENSE b/functions/kirki/packages/kirki-framework/control-upload/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-upload/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/control-upload/README.md b/functions/kirki/packages/kirki-framework/control-upload/README.md new file mode 100644 index 0000000..1565bed --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-upload/README.md @@ -0,0 +1,55 @@ +# control-upload + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-upload +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Upload' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add settings. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => 'option-1', + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'esc_url_raw', + 'default' => '', + ] ); + + // Add controls. + $wp_customize->add_control( new \Kirki\Control\Upload( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/control-upload/src/Control/Upload.php b/functions/kirki/packages/kirki-framework/control-upload/src/Control/Upload.php new file mode 100644 index 0000000..4692f24 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-upload/src/Control/Upload.php @@ -0,0 +1,72 @@ +value(); + + if ( ! empty( $value ) ) { + if ( is_array( $value ) && isset( $value['id'] ) ) { + $attachment_id = $value['id']; + } elseif ( is_numeric( $value ) ) { + $attachment_id = absint( $value ); + } elseif ( is_string( $value ) && ! is_numeric( $value ) ) { + $attachment_id = attachment_url_to_postid( $value ); + } + + if ( ! empty( $attachment_id ) ) { + $this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id ); + } + } + } + +} diff --git a/functions/kirki/packages/kirki-framework/control-upload/src/Field/Upload.php b/functions/kirki/packages/kirki-framework/control-upload/src/Field/Upload.php new file mode 100644 index 0000000..41116ac --- /dev/null +++ b/functions/kirki/packages/kirki-framework/control-upload/src/Field/Upload.php @@ -0,0 +1,152 @@ +args['settings'] ) { + $args = parent::filter_setting_args( $args, $wp_customize ); + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + + $args['sanitize_callback'] = function( $value ) { + $save_as = isset( $this->args['choices']['save_as'] ) ? $this->args['choices']['save_as'] : 'url'; + + return self::sanitize( $value, $save_as ); + }; + + } + } + + return $args; + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( $args['settings'] === $this->args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['type'] = 'upload'; + } + return $args; + } + + /** + * Sanitizes the field value. + * + * @since 1.0.2 + * + * @param mixed $value The field value. + * @param string $save_as The expected saving format. + * + * @return mixed + */ + public static function sanitize( $value, $save_as = 'url' ) { + + if ( 'array' === $save_as ) { + + if ( is_array( $value ) ) { + return [ + 'id' => ( isset( $value['id'] ) && '' !== $value['id'] ) ? (int) $value['id'] : '', + 'url' => ( isset( $value['url'] ) && '' !== $value['url'] ) ? esc_url_raw( $value['url'] ) : '', + 'filename' => ( isset( $value['filename'] ) && '' !== $value['filename'] ) ? sanitize_text_field( $value['filename'] ) : '', + ]; + } elseif ( is_string( $value ) && ! is_numeric( $value ) ) { + // Here, we assume that the value is the URL. + $attachment_id = attachment_url_to_postid( $value ); + + return [ + 'id' => $attachment_id, + 'url' => $value, + 'filename' => basename( get_attached_file( $attachment_id ) ), + ]; + } else { + // Here, we assume that the value is int or numeric (the attachment ID). + $value = absint( $value ); + + return [ + 'id' => $value, + 'url' => wp_get_attachment_url( $value ), + 'filename' => basename( get_attached_file( $value ) ), + ]; + } + } elseif ( 'id' === $save_as ) { + + if ( is_string( $value ) && ! is_numeric( $value ) ) { + // Here, we assume that the value is the URL. + return attachment_url_to_postid( $value ); + } elseif ( is_array( $value ) && isset( $value['id'] ) ) { + return absint( $value['id'] ); + } + + // Here, we assume that the value is int or numeric (the attachment ID). + return absint( $value ); + + } + + // If we're reaching this point, then we're saving the URL. + if ( is_array( $value ) && isset( $value['url'] ) ) { + $value = $value['url']; + } elseif ( is_numeric( $value ) ) { + $value = absint( $value ); + $value = wp_get_attachment_url( $value ); + } else { + $value = esc_url_raw( $value ); + } + + return $value; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/data-option/LICENSE b/functions/kirki/packages/kirki-framework/data-option/LICENSE new file mode 100644 index 0000000..39ac926 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/data-option/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Kirki Framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/data-option/README.md b/functions/kirki/packages/kirki-framework/data-option/README.md new file mode 100644 index 0000000..e4abd3b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/data-option/README.md @@ -0,0 +1 @@ +# data-option \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/data-option/src/Option.php b/functions/kirki/packages/kirki-framework/data-option/src/Option.php new file mode 100644 index 0000000..96290f0 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/data-option/src/Option.php @@ -0,0 +1,181 @@ + $part ) { + /** + * Skip the 1st item, it's already been dealt with + * when we got the value initially right before this loop. + */ + if ( 0 === $key ) { + continue; + } + + $part = str_replace( ']', '', $part ); + + /** + * If the item exists in the value, then change $value to the item. + * This runs recursively for all parts until we get to the end. + */ + if ( is_array( $value ) && isset( $value[ $part ] ) ) { + $value = $value[ $part ]; + continue; + } + + /** + * If we got here, the item was not found in the value. + * We need to change the value accordingly depending on whether + * this is the last item in the loop or not. + */ + $value = ( isset( $parts[ $key + 1 ] ) ) ? [] : ''; + } + } + + return $value; + + } + + /** + * Allow filtering the arguments. + * + * @since 0.1 + * @param array $args The arguments. + * @param WP_Customize_Manager $customizer The customizer instance. + * @return array Return the arguments. + */ + public function add_setting_args( $args, $customizer ) { + + // If this is not an option, early exit. + if ( ! isset( $args['option_type'] ) || 'option' !== $args['option_type'] ) { + return $args; + } + + // Set "type" argument to option. + $args['type'] = 'option'; + return $this->maybe_change_settings( $args ); + + } + + /** + * Allow filtering the arguments. + * + * @since 0.1 + * @param array $args The arguments. + * @param WP_Customize_Manager $customizer The customizer instance. + * @return array Return the arguments. + */ + public function add_control_args( $args, $customizer ) { + + // If this is not an option, early exit. + if ( ! isset( $args['option_type'] ) || 'option' !== $args['option_type'] ) { + return $args; + } + + return $this->maybe_change_settings( $args ); + + } + + /** + * Change the settings argument. + * + * @access private + * @since 1.0 + * @param array $args The arguments. + * @return array Returns modified array with tweaks to the [settings] argument if needed. + */ + private function maybe_change_settings( $args ) { + + // Check if we have an option-name defined. + if ( isset( $args['option_name'] ) ) { + if ( empty( $args['option_name'] ) ) { + return $args; + } + + if ( isset( $args['settings'] ) && $args['settings'] && false !== strpos( $args['settings'], $args['option_name'] . '[' ) ) { + return $args; + } + + if ( false === strpos( $args['settings'], '[' ) ) { + // ? Bagus: in line above, it's obvious that '[' is not found in $args['settings']. But why do we explode it using '[' here? + $parts = explode( '[', $args['settings'] ); + $final_parts = [ $args['option_name'] ]; + + foreach ( $parts as $part ) { + $final_parts[] = $part; + } + + $args['settings'] = \implode( '][', $final_parts ) . ']'; + $args['settings'] = str_replace( + $args['option_name'] . '][', + $args['option_name'] . '[', + $args['settings'] + ); + } + } + + return $args; + + } +} diff --git a/functions/kirki/packages/kirki-framework/field-background/LICENSE b/functions/kirki/packages/kirki-framework/field-background/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-background/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field-background/README.md b/functions/kirki/packages/kirki-framework/field-background/README.md new file mode 100644 index 0000000..447f75f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-background/README.md @@ -0,0 +1,16 @@ +# control-background + +The background control is a pseudo-control for the Kirki framework. The control itself doesn't exist, it it a proxy for more basic controls. It adds controls for the following properties: + +* background-color +* background-image +* background-repeat +* background-position +* background-size +* background-attachment + +In addition to the above visible controls, a hidden control is added which contains the value for the sum of the above sub-controls saved as an array. + +The control is only useful when using the Kirki API (which is just a proxy for the WordPress-Core Customizer API) and can not be used as-is using the customizer API directly. + +If you are using the customizer-api directly, you can see what the control does by examining the code it contains in `src/Field/Background.php` and extrapolating the fields you need to use directly from there. \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/field-background/src/Background.php b/functions/kirki/packages/kirki-framework/field-background/src/Background.php new file mode 100644 index 0000000..9ba66c7 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-background/src/Background.php @@ -0,0 +1,467 @@ + 'kirki-generic', + 'default' => '', + 'choices' => [ + 'type' => 'hidden', + 'parent_type' => 'kirki-background', + ], + 'sanitize_callback' => [ '\Kirki\Field\Background', 'sanitize' ], + ], + $args + ) + ); + + $args['parent_setting'] = $args['settings']; + $args['output'] = []; + $args['wrapper_attrs'] = [ + 'data-kirki-parent-control-type' => 'kirki-background', + ]; + + if ( isset( $args['transport'] ) && 'auto' === $args['transport'] ) { + $args['transport'] = 'postMessage'; + } + + $default_bg_color = isset( $args['default']['background-color'] ) ? $args['default']['background-color'] : ''; + + /** + * Background Color. + */ + new \Kirki\Field\Color( + wp_parse_args( + [ + 'settings' => $args['settings'] . '[background-color]', + 'label' => '', + 'description' => esc_html__( 'Background Color', 'kirki' ), + 'default' => $default_bg_color, + 'section' => $args['section'], + 'choices' => [ + 'alpha' => true, + ], + ], + $args + ) + ); + + /** + * Background Image. + */ + new \Kirki\Field\Image( + wp_parse_args( + [ + 'settings' => $args['settings'] . '[background-image]', + 'label' => '', + 'description' => esc_html__( 'Background Image', 'kirki' ), + 'default' => isset( $args['default']['background-image'] ) ? $args['default']['background-image'] : '', + 'section' => $args['section'], + ], + $args + ) + ); + + /** + * Background Repeat. + */ + new Kirki\Field\Select( + wp_parse_args( + [ + 'settings' => $args['settings'] . '[background-repeat]', + 'label' => '', + 'description' => esc_html__( 'Background Repeat', 'kirki' ), + 'section' => $args['section'], + 'default' => isset( $args['default']['background-repeat'] ) ? $args['default']['background-repeat'] : '', + 'choices' => [ + 'no-repeat' => esc_html__( 'No Repeat', 'kirki' ), + 'repeat' => esc_html__( 'Repeat All', 'kirki' ), + 'repeat-x' => esc_html__( 'Repeat Horizontally', 'kirki' ), + 'repeat-y' => esc_html__( 'Repeat Vertically', 'kirki' ), + ], + 'required' => array_merge( + $args['required'], + [ + [ + 'setting' => $args['settings'], + 'operator' => '!=', + 'value' => '', + 'choice' => 'background-image', + ], + ] + ), + ], + $args + ) + ); + + /** + * Background Position. + */ + new Kirki\Field\Select( + wp_parse_args( + [ + 'settings' => $args['settings'] . '[background-position]', + 'label' => '', + 'description' => esc_html__( 'Background Position', 'kirki' ), + 'default' => isset( $args['default']['background-position'] ) ? $args['default']['background-position'] : '', + 'section' => $args['section'], + 'choices' => [ + 'left top' => esc_html__( 'Left Top', 'kirki' ), + 'left center' => esc_html__( 'Left Center', 'kirki' ), + 'left bottom' => esc_html__( 'Left Bottom', 'kirki' ), + 'center top' => esc_html__( 'Center Top', 'kirki' ), + 'center center' => esc_html__( 'Center Center', 'kirki' ), + 'center bottom' => esc_html__( 'Center Bottom', 'kirki' ), + 'right top' => esc_html__( 'Right Top', 'kirki' ), + 'right center' => esc_html__( 'Right Center', 'kirki' ), + 'right bottom' => esc_html__( 'Right Bottom', 'kirki' ), + ], + 'required' => array_merge( + $args['required'], + [ + [ + 'setting' => $args['settings'], + 'operator' => '!=', + 'value' => '', + 'choice' => 'background-image', + ], + ] + ), + ], + $args + ) + ); + + /** + * Background size. + */ + new Kirki\Field\Radio_Buttonset( + wp_parse_args( + [ + 'settings' => $args['settings'] . '[background-size]', + 'label' => '', + 'description' => esc_html__( 'Background Size', 'kirki' ), + 'default' => isset( $args['default']['background-size'] ) ? $args['default']['background-size'] : '', + 'section' => $args['section'], + 'choices' => [ + 'cover' => esc_html__( 'Cover', 'kirki' ), + 'contain' => esc_html__( 'Contain', 'kirki' ), + 'auto' => esc_html__( 'Auto', 'kirki' ), + ], + 'required' => array_merge( + $args['required'], + [ + [ + 'setting' => $args['settings'], + 'operator' => '!=', + 'value' => '', + 'choice' => 'background-image', + ], + ] + ), + ], + $args + ) + ); + + /** + * Background attachment. + */ + new Kirki\Field\Radio_Buttonset( + wp_parse_args( + [ + 'type' => 'kirki-radio-buttonset', + 'settings' => $args['settings'] . '[background-attachment]', + 'description' => esc_html__( 'Background Attachment', 'kirki' ), + 'label' => '', + 'default' => isset( $args['default']['background-attachment'] ) ? $args['default']['background-attachment'] : '', + 'section' => $args['section'], + 'choices' => [ + 'scroll' => esc_html__( 'Scroll', 'kirki' ), + 'fixed' => esc_html__( 'Fixed', 'kirki' ), + ], + 'required' => array_merge( + $args['required'], + [ + [ + 'setting' => $args['settings'], + 'operator' => '!=', + 'value' => '', + 'choice' => 'background-image', + ], + ] + ), + ], + $args + ) + ); + + add_action( 'customize_preview_init', [ $this, 'enqueue_scripts' ] ); + add_filter( 'kirki_output_control_classnames', [ $this, 'output_control_classnames' ] ); + + } + + /** + * Sets the $sanitize_callback + * + * @access protected + * @since 1.0 + * @return void + */ + protected function set_sanitize_callback() { + + // If a custom sanitize_callback has been defined, + // then we don't need to proceed any further. + if ( ! empty( $this->sanitize_callback ) ) { + return; + } + + $this->sanitize_callback = [ '\Kirki\Field\Background', 'sanitize' ]; + + } + + /** + * Sanitizes background controls + * + * @static + * @access public + * @since 1.0 + * @param array $value The value. + * @return array + */ + public static function sanitize( $value ) { + + if ( ! is_array( $value ) ) { + return []; + } + + $sanitized_value = [ + 'background-color' => '', + 'background-image' => '', + 'background-repeat' => '', + 'background-position' => '', + 'background-size' => '', + 'background-attachment' => '', + ]; + + if ( isset( $value['background-color'] ) ) { + $sanitized_value['background-color'] = \Kirki\Field\Color::sanitize( $value['background-color'] ); + } + + if ( isset( $value['background-image'] ) ) { + $sanitized_value['background-image'] = esc_url_raw( $value['background-image'] ); + } + + if ( isset( $value['background-repeat'] ) ) { + $sanitized_value['background-repeat'] = in_array( + $value['background-repeat'], + [ + 'no-repeat', + 'repeat', + 'repeat-x', + 'repeat-y', + ], + true + ) ? $value['background-repeat'] : ''; + } + + if ( isset( $value['background-position'] ) ) { + $sanitized_value['background-position'] = in_array( + $value['background-position'], + [ + 'left top', + 'left center', + 'left bottom', + 'center top', + 'center center', + 'center bottom', + 'right top', + 'right center', + 'right bottom', + ], + true + ) ? $value['background-position'] : ''; + } + + if ( isset( $value['background-size'] ) ) { + $sanitized_value['background-size'] = in_array( + $value['background-size'], + [ + 'cover', + 'contain', + 'auto', + ], + true + ) ? $value['background-size'] : ''; + } + + if ( isset( $value['background-attachment'] ) ) { + $sanitized_value['background-attachment'] = in_array( + $value['background-attachment'], + [ + 'scroll', + 'fixed', + ], + true + ) ? $value['background-attachment'] : ''; + } + + return $sanitized_value; + + } + + /** + * Sets the $js_vars + * + * @access protected + * @since 1.0 + * @return void + */ + protected function set_js_vars() { + + // Typecast to array. + $this->js_vars = (array) $this->js_vars; + + // Check if transport is set to auto. + // If not, then skip the auto-calculations and exit early. + if ( 'auto' !== $this->transport ) { + return; + } + + // Set transport to refresh initially. + // Serves as a fallback in case we failt to auto-calculate js_vars. + $this->transport = 'refresh'; + + $js_vars = []; + + // Try to auto-generate js_vars. + // First we need to check if js_vars are empty, and that output is not empty. + if ( empty( $this->js_vars ) && ! empty( $this->output ) ) { + + // Start going through each item in the $output array. + foreach ( $this->output as $output ) { + + // If 'element' is not defined, skip this. + if ( ! isset( $output['element'] ) ) { + continue; + } + if ( is_array( $output['element'] ) ) { + $output['element'] = implode( ',', $output['element'] ); + } + + // If there's a sanitize_callback defined, skip this. + if ( isset( $output['sanitize_callback'] ) && ! empty( $output['sanitize_callback'] ) ) { + continue; + } + + // If we got this far, it's safe to add this. + $js_vars[] = $output; + } + + // Did we manage to get all the items from 'output'? + // If not, then we're missing something so don't add this. + if ( count( $js_vars ) !== count( $this->output ) ) { + return; + } + $this->js_vars = $js_vars; + $this->transport = 'postMessage'; + } + + } + + /** + * Override parent method. No need to register any setting. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_setting( $wp_customize ) {} + + /** + * Override the parent method. No need for a control. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_control( $wp_customize ) {} + + /** + * Enqueue scripts & styles. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue_scripts() { + + wp_enqueue_script( 'kirki-typography', URL::get_from_path( __DIR__ ) . '/script.js', [ 'wp-hooks' ], '1.0', true ); + + } + + /** + * Adds a custom output class for typography fields. + * + * @access public + * @since 1.0 + * @param array $classnames The array of classnames. + * @return array + */ + public function output_control_classnames( $classnames ) { + + $classnames['kirki-background'] = '\Kirki\Field\CSS\Background'; + return $classnames; + + } + +} diff --git a/functions/kirki/packages/kirki-framework/field-background/src/CSS/Background.php b/functions/kirki/packages/kirki-framework/field-background/src/CSS/Background.php new file mode 100644 index 0000000..7c20a09 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-background/src/CSS/Background.php @@ -0,0 +1,51 @@ + 'global', + 'element' => 'body', + 'prefix' => '', + 'suffix' => '', + ] + ); + + foreach ( [ 'background-image', 'background-color', 'background-repeat', 'background-position', 'background-size', 'background-attachment' ] as $property ) { + + // See https://github.com/aristath/kirki/issues/1808. + if ( 'background-color' === $property && isset( $value['background-color'] ) && $value['background-color'] && ( ! isset( $value['background-image'] ) || empty( $value['background-image'] ) ) ) { + $this->styles[ $output['media_query'] ][ $output['element'] ]['background'] = $output['prefix'] . $this->process_property_value( $property, $value[ $property ] ) . $output['suffix']; + } + + if ( isset( $value[ $property ] ) && ! empty( $value[ $property ] ) ) { + $this->styles[ $output['media_query'] ][ $output['element'] ][ $property ] = $output['prefix'] . $this->process_property_value( $property, $value[ $property ] ) . $output['suffix']; + } + } + } +} diff --git a/functions/kirki/packages/kirki-framework/field-background/src/script.js b/functions/kirki/packages/kirki-framework/field-background/src/script.js new file mode 100644 index 0000000..5d3cacf --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-background/src/script.js @@ -0,0 +1,53 @@ +/* global kirkiPostMessage */ + +/** + * Hook in the kirkiPostMessageStylesOutput filter. + * + * Handles postMessage styles for typography controls. + */ +jQuery( document ).ready( function() { + wp.hooks.addFilter( + 'kirkiPostMessageStylesOutput', + 'kirki', + + /** + * Append styles for this control. + * + * @param {string} styles - The styles. + * @param {Object} value - The control value. + * @param {Object} output - The control's "output" argument. + * @param {string} controlType - The control type. + * @returns {string} - Returns CSS styles as a string. + */ + function( styles, value, output, controlType ) { + var processedValue; + if ( 'kirki-background' === controlType ) { + styles += output.element + '{'; + _.each( value, function( val, key ) { + if ( output.choice && key !== output.choice ) { + return; + } + if ( 'background-image' === key ) { + val = -1 === val.indexOf( 'url(' ) ? 'url(' + val + ')' : val; + } + + processedValue = kirkiPostMessage.util.processValue( output, val ); + + if ( '' === processedValue ) { + if ( 'background-color' === output.property ) { + processedValue = 'unset'; + } else if ( 'background-image' === output.property ) { + processedValue = 'none'; + } + } + + if ( false !== processedValue ) { + styles += output.property ? output.property + ':' + processedValue + ';' : key + ':' + processedValue + ';'; + } + } ); + styles += '}'; + } + return styles; + } + ); +} ); diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/LICENSE b/functions/kirki/packages/kirki-framework/field-dimensions/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/README.md b/functions/kirki/packages/kirki-framework/field-dimensions/README.md new file mode 100644 index 0000000..2a34d14 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/README.md @@ -0,0 +1,58 @@ +# control-dimensions + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-dimensions +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Dimensions' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => [ + 'top' => '10px', + 'bottom' => '3em', + ], + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => 'sanitize_text_field', // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Dimensions( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/dist/control.css b/functions/kirki/packages/kirki-framework/field-dimensions/dist/control.css new file mode 100644 index 0000000..5a9ef3f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/dist/control.css @@ -0,0 +1,2 @@ + +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/dist/preview.js b/functions/kirki/packages/kirki-framework/field-dimensions/dist/preview.js new file mode 100644 index 0000000..48955b3 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/dist/preview.js @@ -0,0 +1,2 @@ +jQuery(document).ready((function(){wp.hooks.addFilter("kirkiPostMessageStylesOutput","kirki",(function(e,t,i,o){var r;return"kirki-dimensions"===o&&(e+=i.element+"{",_.each(t,(function(t,o){i.choice&&o!==i.choice||!1!==(r=kirkiPostMessage.util.processValue(i,t))&&(i.property?(e+=i.property,""===i.property||"top"!==o&&"bottom"!==o&&"left"!==o&&"right"!==o||(e+="-"+o),e+=":"+r+";"):e+=o+":"+r+";")})),e+="}"),e}))})); +//# sourceMappingURL=preview.js.map diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/src/CSS/Dimensions.php b/functions/kirki/packages/kirki-framework/field-dimensions/src/CSS/Dimensions.php new file mode 100644 index 0000000..bd5c89e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/src/CSS/Dimensions.php @@ -0,0 +1,60 @@ + '', + 'property' => '', + 'media_query' => 'global', + 'prefix' => '', + 'suffix' => '', + ] + ); + + if ( ! is_array( $value ) ) { + return; + } + + foreach ( array_keys( $value ) as $key ) { + + $property = ( empty( $output['property'] ) ) ? $key : $output['property'] . '-' . $key; + if ( isset( $output['choice'] ) && $output['property'] ) { + if ( $key === $output['choice'] ) { + $property = $output['property']; + } else { + continue; + } + } + if ( false !== strpos( $output['property'], '%%' ) ) { + $property = str_replace( '%%', $key, $output['property'] ); + } + $this->styles[ $output['media_query'] ][ $output['element'] ][ $property ] = $output['prefix'] . $this->process_property_value( $property, $value[ $key ] ) . $output['suffix']; + } + } +} diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/src/Dimensions.php b/functions/kirki/packages/kirki-framework/field-dimensions/src/Dimensions.php new file mode 100644 index 0000000..82d73ea --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/src/Dimensions.php @@ -0,0 +1,267 @@ + esc_html__( 'Left Top', 'kirki' ), + 'left-center' => esc_html__( 'Left Center', 'kirki' ), + 'left-bottom' => esc_html__( 'Left Bottom', 'kirki' ), + 'right-top' => esc_html__( 'Right Top', 'kirki' ), + 'right-center' => esc_html__( 'Right Center', 'kirki' ), + 'right-bottom' => esc_html__( 'Right Bottom', 'kirki' ), + 'center-top' => esc_html__( 'Center Top', 'kirki' ), + 'center-center' => esc_html__( 'Center Center', 'kirki' ), + 'center-bottom' => esc_html__( 'Center Bottom', 'kirki' ), + 'font-size' => esc_html__( 'Font Size', 'kirki' ), + 'font-weight' => esc_html__( 'Font Weight', 'kirki' ), + 'line-height' => esc_html__( 'Line Height', 'kirki' ), + 'font-style' => esc_html__( 'Font Style', 'kirki' ), + 'letter-spacing' => esc_html__( 'Letter Spacing', 'kirki' ), + 'word-spacing' => esc_html__( 'Word Spacing', 'kirki' ), + 'top' => esc_html__( 'Top', 'kirki' ), + 'bottom' => esc_html__( 'Bottom', 'kirki' ), + 'left' => esc_html__( 'Left', 'kirki' ), + 'right' => esc_html__( 'Right', 'kirki' ), + 'center' => esc_html__( 'Center', 'kirki' ), + 'size' => esc_html__( 'Size', 'kirki' ), + 'spacing' => esc_html__( 'Spacing', 'kirki' ), + 'width' => esc_html__( 'Width', 'kirki' ), + 'height' => esc_html__( 'Height', 'kirki' ), + 'invalid-value' => esc_html__( 'Invalid Value', 'kirki' ), + ); + + /** + * Add a hidden field, the label & description. + */ + new \Kirki\Field\Generic( + wp_parse_args( + array( + 'type' => 'kirki-generic', + 'default' => '', + 'wrapper_opts' => array( + 'gap' => 'small', + ), + 'sanitize_callback' => isset( $args['sanitize_callback'] ) ? $args['sanitize_callback'] : array( __CLASS__, 'sanitize' ), + 'choices' => array( + 'type' => 'hidden', + 'parent_type' => 'kirki-dimensions', + ), + ), + $args + ) + ); + + $args['choices'] = isset( $args['choices'] ) ? $args['choices'] : array(); + $args['choices']['labels'] = isset( $args['choices']['labels'] ) ? $args['choices']['labels'] : array(); + + if ( isset( $args['transport'] ) && 'auto' === $args['transport'] ) { + $args['transport'] = 'postMessage'; + } + + $total_items = count( $args['default'] ); + $item_count = 0; + + $width = 100; + + $break_indexes = array(); + + // The 'kirki-group-break' only supports 12 group items inside a group. + if ( 2 === $total_items ) { + $width = 50; + } elseif ( 3 === $total_items ) { + $width = 33; + } elseif ( 4 === $total_items ) { + $width = 25; + } elseif ( 5 === $total_items ) { + array_push( $break_indexes, 3 ); + $width = 33; + } elseif ( 6 === $total_items ) { + array_push( $break_indexes, 3 ); + $width = 33; + } elseif ( 7 === $total_items || 8 === $total_items ) { + array_push( $break_indexes, 4 ); + $width = 25; + } elseif ( 9 === $total_items ) { + array_push( $break_indexes, 3, 6 ); + $width = 33; + } elseif ( $total_items > 9 ) { + array_push( $break_indexes, 4, 8 ); + $width = 25; + } + + foreach ( $args['default'] as $choice => $default ) { + $item_count++; + + $label = $choice; + $label = isset( $labels[ $choice ] ) ? $labels[ $choice ] : $label; + $label = isset( $args['choices']['labels'][ $choice ] ) ? $args['choices']['labels'][ $choice ] : $label; + + $wrapper_attrs = array( + 'data-kirki-parent-control-type' => 'kirki-dimensions', + 'data-kirki-parent-control-setting' => $args['settings'], + 'class' => '{default_class} kirki-group-item kirki-w' . $width, + ); + + if ( $item_count === 1 ) { + $wrapper_attrs['class'] .= ' kirki-group-start'; + } + + if ( in_array( $item_count, $break_indexes, true ) ) { + $wrapper_attrs['class'] .= ' kirki-group-break'; + } + + if ( $item_count === $total_items ) { + $wrapper_attrs['class'] .= ' kirki-group-end'; + } + + new \Kirki\Field\Dimension( + wp_parse_args( + array( + 'type' => 'kirki-dimension', + 'settings' => $args['settings'] . '[' . $choice . ']', + 'parent_setting' => $args['settings'], + 'label' => $label, + 'default' => $default, + 'wrapper_attrs' => $wrapper_attrs, + 'choices' => array( + 'label_position' => 'bottom', + ), + 'js_vars' => array(), + 'css_vars' => array(), + 'output' => array(), + ), + $args + ) + ); + } + + } + + /** + * Sanitizes dimension controls. + * + * @static + * @access public + * @since 1.0 + * @param array $value The value. + * @return array + */ + public static function sanitize( $value ) { + + if ( ! is_array( $value ) ) { + return array(); + } + + foreach ( $value as $key => $val ) { + $value[ $key ] = sanitize_text_field( $val ); + } + + return $value; + + } + + /** + * Override parent method. No need to register any setting. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_setting( $wp_customize ) {} + + /** + * Override the parent method. No need for a control. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_control( $wp_customize ) {} + + /** + * Enqueue scripts & styles. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue_scripts() { + + wp_enqueue_style( 'kirki-field-dimensions', URL::get_from_path( dirname( __DIR__ ) . '/dist/control.css' ), array(), '1.0' ); + + } + + /** + * Enqueue scripts & styles on customize_preview_init. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue_customize_preview_scripts() { + + wp_enqueue_script( 'kirki-field-dimensions', URL::get_from_path( dirname( __DIR__ ) ) . '/dist/preview.js', array( 'wp-hooks' ), '1.0', true ); + + } + + /** + * Adds a custom output class for typography fields. + * + * @access public + * @since 1.0 + * @param array $classnames The array of classnames. + * @return array + */ + public function output_control_classnames( $classnames ) { + + $classnames['kirki-dimensions'] = '\Kirki\Field\CSS\Dimensions'; + return $classnames; + + } +} diff --git a/functions/kirki/packages/kirki-framework/field-dimensions/src/preview.js b/functions/kirki/packages/kirki-framework/field-dimensions/src/preview.js new file mode 100644 index 0000000..8d1ff27 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-dimensions/src/preview.js @@ -0,0 +1,53 @@ +/* global kirkiPostMessage */ + +import "./control.scss"; + +/** + * Hook in the kirkiPostMessageStylesOutput filter. + * + * Handles postMessage styles for typography controls. + */ +jQuery( document ).ready( function() { + wp.hooks.addFilter( + 'kirkiPostMessageStylesOutput', + 'kirki', + + /** + * Append styles for this control. + * + * @param {string} styles - The styles. + * @param {Object} value - The control value. + * @param {Object} output - The control's "output" argument. + * @param {string} controlType - The control type. + * @returns {string} - Returns the CSS as a string. + */ + function( styles, value, output, controlType ) { + var processedValue; + if ( 'kirki-dimensions' === controlType ) { + styles += output.element + '{'; + _.each( value, function( val, key ) { + if ( output.choice && key !== output.choice ) { + return; + } + processedValue = kirkiPostMessage.util.processValue( output, val ); + + if ( false !== processedValue ) { + + // Mostly used for padding, margin & position properties. + if ( output.property ) { + styles += output.property; + if ( '' !== output.property && ( 'top' === key || 'bottom' === key || 'left' === key || 'right' === key ) ) { + styles += '-' + key; + } + styles += ':' + processedValue + ';'; + } else { + styles += key + ':' + processedValue + ';'; + } + } + } ); + styles += '}'; + } + return styles; + } + ); +} ); diff --git a/functions/kirki/packages/kirki-framework/field-fontawesome/LICENSE b/functions/kirki/packages/kirki-framework/field-fontawesome/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-fontawesome/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field-fontawesome/README.md b/functions/kirki/packages/kirki-framework/field-fontawesome/README.md new file mode 100644 index 0000000..c7ed500 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-fontawesome/README.md @@ -0,0 +1,16 @@ +# control-fontawesome + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/field-fontawesome +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +This field creates a dropdown containing all names for the font-awesome v4.7 diff --git a/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/FontAwesome.php b/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/FontAwesome.php new file mode 100644 index 0000000..c890d97 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/FontAwesome.php @@ -0,0 +1,48 @@ +args['settings'] ) { + $args = parent::filter_control_args( $args, $wp_customize ); + + ob_start(); + include 'fontawesome.json'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude + $font_awesome_json = ob_get_clean(); + + $fa_array = (array) json_decode( $font_awesome_json, true ); + $args['choices'] = []; + foreach ( $fa_array['icons'] as $icon ) { + if ( ! isset( $icon['id'] ) || ! isset( $icon['name'] ) ) { + continue; + } + $args['choices'][ $icon['id'] ] = $icon['name']; + } + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/fontawesome.json b/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/fontawesome.json new file mode 100644 index 0000000..5986779 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-fontawesome/src/Field/fontawesome.json @@ -0,0 +1,8315 @@ +{ + "icons": [ + { + "name": "Glass", + "id": "glass", + "unicode": "f000", + "created": 1, + "filter": [ + "martini", + "drink", + "bar", + "alcohol", + "liquor" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Music", + "id": "music", + "unicode": "f001", + "created": 1, + "filter": [ + "note", + "sound" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Search", + "id": "search", + "unicode": "f002", + "created": 1, + "filter": [ + "magnify", + "zoom", + "enlarge", + "bigger" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Envelope Outlined", + "id": "envelope-o", + "unicode": "f003", + "created": 1, + "filter": [ + "email", + "e-mail", + "letter", + "support", + "mail", + "message", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Heart", + "id": "heart", + "unicode": "f004", + "created": 1, + "filter": [ + "love", + "like", + "favorite" + ], + "categories": [ + "Web Application Icons", + "Medical Icons" + ] + }, + { + "name": "Star", + "id": "star", + "unicode": "f005", + "created": 1, + "filter": [ + "award", + "achievement", + "night", + "rating", + "score", + "favorite" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Star Outlined", + "id": "star-o", + "unicode": "f006", + "created": 1, + "filter": [ + "award", + "achievement", + "night", + "rating", + "score", + "favorite" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "User", + "id": "user", + "unicode": "f007", + "created": 1, + "filter": [ + "person", + "man", + "head", + "profile" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Film", + "id": "film", + "unicode": "f008", + "created": 1, + "filter": [ + "movie" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "th-large", + "id": "th-large", + "unicode": "f009", + "created": 1, + "filter": [ + "blocks", + "squares", + "boxes", + "grid" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "th", + "id": "th", + "unicode": "f00a", + "created": 1, + "filter": [ + "blocks", + "squares", + "boxes", + "grid" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "th-list", + "id": "th-list", + "unicode": "f00b", + "created": 1, + "filter": [ + "ul", + "ol", + "checklist", + "finished", + "completed", + "done", + "todo" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Check", + "id": "check", + "unicode": "f00c", + "created": 1, + "filter": [ + "checkmark", + "done", + "todo", + "agree", + "accept", + "confirm", + "tick", + "ok" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Times", + "id": "times", + "unicode": "f00d", + "created": 1, + "aliases": [ + "remove", + "close" + ], + "filter": [ + "close", + "exit", + "x", + "cross" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Search Plus", + "id": "search-plus", + "unicode": "f00e", + "created": 1, + "filter": [ + "magnify", + "zoom", + "enlarge", + "bigger" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Search Minus", + "id": "search-minus", + "unicode": "f010", + "created": 1, + "filter": [ + "magnify", + "minify", + "zoom", + "smaller" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Power Off", + "id": "power-off", + "unicode": "f011", + "created": 1, + "filter": [ + "on" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "signal", + "id": "signal", + "unicode": "f012", + "created": 1, + "filter": [ + "graph", + "bars" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "cog", + "id": "cog", + "unicode": "f013", + "created": 1, + "filter": [ + "settings" + ], + "aliases": [ + "gear" + ], + "categories": [ + "Web Application Icons", + "Spinner Icons" + ] + }, + { + "name": "Trash Outlined", + "id": "trash-o", + "unicode": "f014", + "created": 1, + "filter": [ + "garbage", + "delete", + "remove", + "trash", + "hide" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "home", + "id": "home", + "unicode": "f015", + "created": 1, + "filter": [ + "main", + "house" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "File Outlined", + "id": "file-o", + "unicode": "f016", + "created": 1, + "filter": [ + "new", + "page", + "pdf", + "document" + ], + "categories": [ + "Text Editor Icons", + "File Type Icons" + ] + }, + { + "name": "Clock Outlined", + "id": "clock-o", + "unicode": "f017", + "created": 1, + "filter": [ + "watch", + "timer", + "late", + "timestamp" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "road", + "id": "road", + "unicode": "f018", + "created": 1, + "filter": [ + "street" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Download", + "id": "download", + "unicode": "f019", + "created": 1, + "filter": [ + "import" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Arrow Circle Outlined Down", + "id": "arrow-circle-o-down", + "unicode": "f01a", + "created": 1, + "filter": [ + "download" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Arrow Circle Outlined Up", + "id": "arrow-circle-o-up", + "unicode": "f01b", + "created": 1, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "inbox", + "id": "inbox", + "unicode": "f01c", + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Play Circle Outlined", + "id": "play-circle-o", + "unicode": "f01d", + "created": 1, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Repeat", + "id": "repeat", + "unicode": "f01e", + "created": 1, + "filter": [ + "redo", + "forward" + ], + "aliases": [ + "rotate-right" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "refresh", + "id": "refresh", + "unicode": "f021", + "created": 1, + "filter": [ + "reload", + "sync" + ], + "categories": [ + "Web Application Icons", + "Spinner Icons" + ] + }, + { + "name": "list-alt", + "id": "list-alt", + "unicode": "f022", + "created": 1, + "filter": [ + "ul", + "ol", + "checklist", + "finished", + "completed", + "done", + "todo" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "lock", + "id": "lock", + "unicode": "f023", + "created": 1, + "filter": [ + "protect", + "admin", + "security" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "flag", + "id": "flag", + "unicode": "f024", + "created": 1, + "filter": [ + "report", + "notification", + "notify" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "headphones", + "id": "headphones", + "unicode": "f025", + "created": 1, + "filter": [ + "sound", + "listen", + "music", + "audio" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "volume-off", + "id": "volume-off", + "unicode": "f026", + "created": 1, + "filter": [ + "audio", + "mute", + "sound", + "music" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "volume-down", + "id": "volume-down", + "unicode": "f027", + "created": 1, + "filter": [ + "audio", + "lower", + "quieter", + "sound", + "music" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "volume-up", + "id": "volume-up", + "unicode": "f028", + "created": 1, + "filter": [ + "audio", + "higher", + "louder", + "sound", + "music" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "qrcode", + "id": "qrcode", + "unicode": "f029", + "created": 1, + "filter": [ + "scan" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "barcode", + "id": "barcode", + "unicode": "f02a", + "created": 1, + "filter": [ + "scan" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "tag", + "id": "tag", + "unicode": "f02b", + "created": 1, + "filter": [ + "label" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "tags", + "id": "tags", + "unicode": "f02c", + "created": 1, + "filter": [ + "labels" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "book", + "id": "book", + "unicode": "f02d", + "created": 1, + "filter": [ + "read", + "documentation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "bookmark", + "id": "bookmark", + "unicode": "f02e", + "created": 1, + "filter": [ + "save" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "print", + "id": "print", + "unicode": "f02f", + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "camera", + "id": "camera", + "unicode": "f030", + "created": 1, + "filter": [ + "photo", + "picture", + "record" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "font", + "id": "font", + "unicode": "f031", + "created": 1, + "filter": [ + "text" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "bold", + "id": "bold", + "unicode": "f032", + "created": 1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "italic", + "id": "italic", + "unicode": "f033", + "created": 1, + "filter": [ + "italics" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "text-height", + "id": "text-height", + "unicode": "f034", + "created": 1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "text-width", + "id": "text-width", + "unicode": "f035", + "created": 1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "align-left", + "id": "align-left", + "unicode": "f036", + "created": 1, + "filter": [ + "text" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "align-center", + "id": "align-center", + "unicode": "f037", + "created": 1, + "filter": [ + "middle", + "text" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "align-right", + "id": "align-right", + "unicode": "f038", + "created": 1, + "filter": [ + "text" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "align-justify", + "id": "align-justify", + "unicode": "f039", + "created": 1, + "filter": [ + "text" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "list", + "id": "list", + "unicode": "f03a", + "created": 1, + "filter": [ + "ul", + "ol", + "checklist", + "finished", + "completed", + "done", + "todo" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Outdent", + "id": "outdent", + "unicode": "f03b", + "created": 1, + "aliases": [ + "dedent" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Indent", + "id": "indent", + "unicode": "f03c", + "created": 1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Video Camera", + "id": "video-camera", + "unicode": "f03d", + "created": 1, + "filter": [ + "film", + "movie", + "record" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Picture Outlined", + "id": "picture-o", + "unicode": "f03e", + "created": 1, + "aliases": [ + "photo", + "image" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "pencil", + "id": "pencil", + "unicode": "f040", + "created": 1, + "filter": [ + "write", + "edit", + "update" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "map-marker", + "id": "map-marker", + "unicode": "f041", + "created": 1, + "filter": [ + "map", + "pin", + "location", + "coordinates", + "localize", + "address", + "travel", + "where", + "place" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "adjust", + "id": "adjust", + "unicode": "f042", + "created": 1, + "filter": [ + "contrast" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "tint", + "id": "tint", + "unicode": "f043", + "created": 1, + "filter": [ + "raindrop", + "waterdrop", + "drop", + "droplet" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Pencil Square Outlined", + "id": "pencil-square-o", + "unicode": "f044", + "created": 1, + "filter": [ + "write", + "edit", + "update" + ], + "aliases": [ + "edit" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Share Square Outlined", + "id": "share-square-o", + "unicode": "f045", + "created": 1, + "filter": [ + "social", + "send", + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Check Square Outlined", + "id": "check-square-o", + "unicode": "f046", + "created": 1, + "filter": [ + "todo", + "done", + "agree", + "accept", + "confirm", + "ok" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Arrows", + "id": "arrows", + "unicode": "f047", + "created": 1, + "filter": [ + "move", + "reorder", + "resize" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "step-backward", + "id": "step-backward", + "unicode": "f048", + "created": 1, + "filter": [ + "rewind", + "previous", + "beginning", + "start", + "first" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "fast-backward", + "id": "fast-backward", + "unicode": "f049", + "created": 1, + "filter": [ + "rewind", + "previous", + "beginning", + "start", + "first" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "backward", + "id": "backward", + "unicode": "f04a", + "created": 1, + "filter": [ + "rewind", + "previous" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "play", + "id": "play", + "unicode": "f04b", + "created": 1, + "filter": [ + "start", + "playing", + "music", + "sound" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "pause", + "id": "pause", + "unicode": "f04c", + "created": 1, + "filter": [ + "wait" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "stop", + "id": "stop", + "unicode": "f04d", + "created": 1, + "filter": [ + "block", + "box", + "square" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "forward", + "id": "forward", + "unicode": "f04e", + "created": 1, + "filter": [ + "forward", + "next" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "fast-forward", + "id": "fast-forward", + "unicode": "f050", + "created": 1, + "filter": [ + "next", + "end", + "last" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "step-forward", + "id": "step-forward", + "unicode": "f051", + "created": 1, + "filter": [ + "next", + "end", + "last" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "eject", + "id": "eject", + "unicode": "f052", + "created": 1, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "chevron-left", + "id": "chevron-left", + "unicode": "f053", + "created": 1, + "filter": [ + "bracket", + "previous", + "back" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "chevron-right", + "id": "chevron-right", + "unicode": "f054", + "created": 1, + "filter": [ + "bracket", + "next", + "forward" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Plus Circle", + "id": "plus-circle", + "unicode": "f055", + "created": 1, + "filter": [ + "add", + "new", + "create", + "expand" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Minus Circle", + "id": "minus-circle", + "unicode": "f056", + "created": 1, + "filter": [ + "delete", + "remove", + "trash", + "hide" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Times Circle", + "id": "times-circle", + "unicode": "f057", + "created": 1, + "filter": [ + "close", + "exit", + "x" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Check Circle", + "id": "check-circle", + "unicode": "f058", + "created": 1, + "filter": [ + "todo", + "done", + "agree", + "accept", + "confirm", + "ok" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Question Circle", + "id": "question-circle", + "unicode": "f059", + "filter": [ + "help", + "information", + "unknown", + "support" + ], + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Info Circle", + "id": "info-circle", + "unicode": "f05a", + "created": 1, + "filter": [ + "help", + "information", + "more", + "details" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Crosshairs", + "id": "crosshairs", + "unicode": "f05b", + "created": 1, + "filter": [ + "picker" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Times Circle Outlined", + "id": "times-circle-o", + "unicode": "f05c", + "created": 1, + "filter": [ + "close", + "exit", + "x" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Check Circle Outlined", + "id": "check-circle-o", + "unicode": "f05d", + "created": 1, + "filter": [ + "todo", + "done", + "agree", + "accept", + "confirm", + "ok" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "ban", + "id": "ban", + "unicode": "f05e", + "created": 1, + "filter": [ + "delete", + "remove", + "trash", + "hide", + "block", + "stop", + "abort", + "cancel" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "arrow-left", + "id": "arrow-left", + "unicode": "f060", + "created": 1, + "filter": [ + "previous", + "back" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "arrow-right", + "id": "arrow-right", + "unicode": "f061", + "created": 1, + "filter": [ + "next", + "forward" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "arrow-up", + "id": "arrow-up", + "unicode": "f062", + "created": 1, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "arrow-down", + "id": "arrow-down", + "unicode": "f063", + "created": 1, + "filter": [ + "download" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Share", + "id": "share", + "unicode": "f064", + "created": 1, + "aliases": [ + "mail-forward" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Expand", + "id": "expand", + "unicode": "f065", + "created": 1, + "filter": [ + "enlarge", + "bigger", + "resize" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Compress", + "id": "compress", + "unicode": "f066", + "created": 1, + "filter": [ + "collapse", + "combine", + "contract", + "merge", + "smaller" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "plus", + "id": "plus", + "unicode": "f067", + "created": 1, + "filter": [ + "add", + "new", + "create", + "expand" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "minus", + "id": "minus", + "unicode": "f068", + "created": 1, + "filter": [ + "hide", + "minify", + "delete", + "remove", + "trash", + "hide", + "collapse" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "asterisk", + "id": "asterisk", + "unicode": "f069", + "created": 1, + "filter": [ + "details" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Exclamation Circle", + "id": "exclamation-circle", + "unicode": "f06a", + "created": 1, + "filter": [ + "warning", + "error", + "problem", + "notification", + "alert" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "gift", + "id": "gift", + "unicode": "f06b", + "created": 1, + "filter": [ + "present" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "leaf", + "id": "leaf", + "unicode": "f06c", + "created": 1, + "filter": [ + "eco", + "nature", + "plant" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "fire", + "id": "fire", + "unicode": "f06d", + "created": 1, + "filter": [ + "flame", + "hot", + "popular" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Eye", + "id": "eye", + "unicode": "f06e", + "created": 1, + "filter": [ + "show", + "visible", + "views" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Eye Slash", + "id": "eye-slash", + "unicode": "f070", + "created": 1, + "filter": [ + "toggle", + "show", + "hide", + "visible", + "visiblity", + "views" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Exclamation Triangle", + "id": "exclamation-triangle", + "unicode": "f071", + "created": 1, + "filter": [ + "warning", + "error", + "problem", + "notification", + "alert" + ], + "aliases": [ + "warning" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "plane", + "id": "plane", + "unicode": "f072", + "created": 1, + "filter": [ + "travel", + "trip", + "location", + "destination", + "airplane", + "fly", + "mode" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "calendar", + "id": "calendar", + "unicode": "f073", + "created": 1, + "filter": [ + "date", + "time", + "when", + "event" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "random", + "id": "random", + "unicode": "f074", + "created": 1, + "filter": [ + "sort", + "shuffle" + ], + "categories": [ + "Web Application Icons", + "Video Player Icons" + ] + }, + { + "name": "comment", + "id": "comment", + "unicode": "f075", + "created": 1, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "magnet", + "id": "magnet", + "unicode": "f076", + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "chevron-up", + "id": "chevron-up", + "unicode": "f077", + "created": 1, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "chevron-down", + "id": "chevron-down", + "unicode": "f078", + "created": 1, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "retweet", + "id": "retweet", + "unicode": "f079", + "created": 1, + "filter": [ + "refresh", + "reload", + "share" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "shopping-cart", + "id": "shopping-cart", + "unicode": "f07a", + "created": 1, + "filter": [ + "checkout", + "buy", + "purchase", + "payment" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Folder", + "id": "folder", + "unicode": "f07b", + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Folder Open", + "id": "folder-open", + "unicode": "f07c", + "created": 1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Arrows Vertical", + "id": "arrows-v", + "unicode": "f07d", + "created": 1, + "filter": [ + "resize" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Arrows Horizontal", + "id": "arrows-h", + "unicode": "f07e", + "created": 1, + "filter": [ + "resize" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Bar Chart", + "id": "bar-chart", + "unicode": "f080", + "created": 1, + "aliases": [ + "bar-chart-o" + ], + "filter": [ + "graph", + "analytics" + ], + "categories": [ + "Web Application Icons", + "Chart Icons" + ] + }, + { + "name": "Twitter Square", + "id": "twitter-square", + "unicode": "f081", + "created": 1, + "filter": [ + "tweet", + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Facebook Square", + "id": "facebook-square", + "unicode": "f082", + "created": 1, + "filter": [ + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "camera-retro", + "id": "camera-retro", + "unicode": "f083", + "created": 1, + "filter": [ + "photo", + "picture", + "record" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "key", + "id": "key", + "unicode": "f084", + "created": 1, + "filter": [ + "unlock", + "password" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "cogs", + "id": "cogs", + "unicode": "f085", + "created": 1, + "aliases": [ + "gears" + ], + "filter": [ + "settings" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "comments", + "id": "comments", + "unicode": "f086", + "created": 1, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Thumbs Up Outlined", + "id": "thumbs-o-up", + "unicode": "f087", + "created": 1, + "filter": [ + "like", + "approve", + "favorite", + "agree", + "hand" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Thumbs Down Outlined", + "id": "thumbs-o-down", + "unicode": "f088", + "created": 1, + "filter": [ + "dislike", + "disapprove", + "disagree", + "hand" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "star-half", + "id": "star-half", + "unicode": "f089", + "created": 1, + "filter": [ + "award", + "achievement", + "rating", + "score" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Heart Outlined", + "id": "heart-o", + "unicode": "f08a", + "created": 1, + "filter": [ + "love", + "like", + "favorite" + ], + "categories": [ + "Web Application Icons", + "Medical Icons" + ] + }, + { + "name": "Sign Out", + "id": "sign-out", + "unicode": "f08b", + "created": 1, + "filter": [ + "log out", + "logout", + "leave", + "exit", + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "LinkedIn Square", + "id": "linkedin-square", + "unicode": "f08c", + "created": 1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Thumb Tack", + "id": "thumb-tack", + "unicode": "f08d", + "created": 1, + "filter": [ + "marker", + "pin", + "location", + "coordinates" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "External Link", + "id": "external-link", + "unicode": "f08e", + "created": 1, + "filter": [ + "open", + "new" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sign In", + "id": "sign-in", + "unicode": "f090", + "created": 1, + "filter": [ + "enter", + "join", + "log in", + "login", + "sign up", + "sign in", + "signin", + "signup", + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "trophy", + "id": "trophy", + "unicode": "f091", + "created": 1, + "filter": [ + "award", + "achievement", + "cup", + "winner", + "game" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "GitHub Square", + "id": "github-square", + "unicode": "f092", + "created": 1, + "url": "github.com/logos", + "filter": [ + "octocat" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Upload", + "id": "upload", + "unicode": "f093", + "created": 1, + "filter": [ + "import" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Lemon Outlined", + "id": "lemon-o", + "unicode": "f094", + "created": 1, + "filter": [ + "food" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Phone", + "id": "phone", + "unicode": "f095", + "created": 2, + "filter": [ + "call", + "voice", + "number", + "support", + "earphone", + "telephone" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Square Outlined", + "id": "square-o", + "unicode": "f096", + "created": 2, + "filter": [ + "block", + "square", + "box" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Bookmark Outlined", + "id": "bookmark-o", + "unicode": "f097", + "created": 2, + "filter": [ + "save" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Phone Square", + "id": "phone-square", + "unicode": "f098", + "created": 2, + "filter": [ + "call", + "voice", + "number", + "support", + "telephone" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Twitter", + "id": "twitter", + "unicode": "f099", + "created": 2, + "filter": [ + "tweet", + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Facebook", + "id": "facebook", + "unicode": "f09a", + "created": 2, + "aliases": [ + "facebook-f" + ], + "filter": [ + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "GitHub", + "id": "github", + "unicode": "f09b", + "created": 2, + "url": "github.com/logos", + "filter": [ + "octocat" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "unlock", + "id": "unlock", + "unicode": "f09c", + "created": 2, + "filter": [ + "protect", + "admin", + "password", + "lock" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "credit-card", + "id": "credit-card", + "unicode": "f09d", + "created": 2, + "filter": [ + "money", + "buy", + "debit", + "checkout", + "purchase", + "payment" + ], + "categories": [ + "Web Application Icons", + "Payment Icons" + ] + }, + { + "name": "rss", + "id": "rss", + "unicode": "f09e", + "created": 2, + "filter": [ + "blog" + ], + "aliases": [ + "feed" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "HDD", + "id": "hdd-o", + "unicode": "f0a0", + "created": 2, + "filter": [ + "harddrive", + "hard drive", + "storage", + "save" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "bullhorn", + "id": "bullhorn", + "unicode": "f0a1", + "created": 2, + "filter": [ + "announcement", + "share", + "broadcast", + "louder", + "megaphone" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "bell", + "id": "bell", + "unicode": "f0f3", + "created": 2, + "filter": [ + "alert", + "reminder", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "certificate", + "id": "certificate", + "unicode": "f0a3", + "created": 2, + "filter": [ + "badge", + "star" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hand Outlined Right", + "id": "hand-o-right", + "unicode": "f0a4", + "created": 2, + "filter": [ + "point", + "right", + "next", + "forward", + "finger" + ], + "categories": [ + "Directional Icons", + "Hand Icons" + ] + }, + { + "name": "Hand Outlined Left", + "id": "hand-o-left", + "unicode": "f0a5", + "created": 2, + "filter": [ + "point", + "left", + "previous", + "back", + "finger" + ], + "categories": [ + "Directional Icons", + "Hand Icons" + ] + }, + { + "name": "Hand Outlined Up", + "id": "hand-o-up", + "unicode": "f0a6", + "created": 2, + "filter": [ + "point", + "finger" + ], + "categories": [ + "Directional Icons", + "Hand Icons" + ] + }, + { + "name": "Hand Outlined Down", + "id": "hand-o-down", + "unicode": "f0a7", + "created": 2, + "filter": [ + "point", + "finger" + ], + "categories": [ + "Directional Icons", + "Hand Icons" + ] + }, + { + "name": "Arrow Circle Left", + "id": "arrow-circle-left", + "unicode": "f0a8", + "created": 2, + "filter": [ + "previous", + "back" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Arrow Circle Right", + "id": "arrow-circle-right", + "unicode": "f0a9", + "created": 2, + "filter": [ + "next", + "forward" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Arrow Circle Up", + "id": "arrow-circle-up", + "unicode": "f0aa", + "created": 2, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Arrow Circle Down", + "id": "arrow-circle-down", + "unicode": "f0ab", + "created": 2, + "filter": [ + "download" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Globe", + "id": "globe", + "unicode": "f0ac", + "created": 2, + "filter": [ + "world", + "planet", + "map", + "place", + "travel", + "earth", + "global", + "translate", + "all", + "language", + "localize", + "location", + "coordinates", + "country" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Wrench", + "id": "wrench", + "unicode": "f0ad", + "created": 2, + "filter": [ + "settings", + "fix", + "update", + "spanner" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Tasks", + "id": "tasks", + "unicode": "f0ae", + "created": 2, + "filter": [ + "progress", + "loading", + "downloading", + "downloads", + "settings" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Filter", + "id": "filter", + "unicode": "f0b0", + "created": 2, + "filter": [ + "funnel", + "options" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Briefcase", + "id": "briefcase", + "unicode": "f0b1", + "created": 2, + "filter": [ + "work", + "business", + "office", + "luggage", + "bag" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Arrows Alt", + "id": "arrows-alt", + "unicode": "f0b2", + "created": 2, + "filter": [ + "expand", + "enlarge", + "fullscreen", + "bigger", + "move", + "reorder", + "resize", + "arrow" + ], + "categories": [ + "Video Player Icons", + "Directional Icons" + ] + }, + { + "name": "Users", + "id": "users", + "unicode": "f0c0", + "created": 2, + "filter": [ + "people", + "profiles", + "persons" + ], + "aliases": [ + "group" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Link", + "id": "link", + "unicode": "f0c1", + "created": 2, + "filter": [ + "chain" + ], + "aliases": [ + "chain" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Cloud", + "id": "cloud", + "filter": [ + "save" + ], + "unicode": "f0c2", + "created": 2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Flask", + "id": "flask", + "unicode": "f0c3", + "created": 2, + "filter": [ + "science", + "beaker", + "experimental", + "labs" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Scissors", + "id": "scissors", + "unicode": "f0c4", + "created": 2, + "aliases": [ + "cut" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Files Outlined", + "id": "files-o", + "unicode": "f0c5", + "created": 2, + "filter": [ + "duplicate", + "clone", + "copy" + ], + "aliases": [ + "copy" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Paperclip", + "id": "paperclip", + "unicode": "f0c6", + "created": 2, + "filter": [ + "attachment" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Floppy Outlined", + "id": "floppy-o", + "unicode": "f0c7", + "created": 2, + "aliases": [ + "save" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Square", + "id": "square", + "unicode": "f0c8", + "created": 2, + "filter": [ + "block", + "box" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Bars", + "id": "bars", + "unicode": "f0c9", + "created": 2, + "aliases": [ + "navicon", + "reorder" + ], + "filter": [ + "menu", + "drag", + "reorder", + "settings", + "list", + "ul", + "ol", + "checklist", + "todo", + "list", + "hamburger" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "list-ul", + "id": "list-ul", + "unicode": "f0ca", + "created": 2, + "filter": [ + "ul", + "ol", + "checklist", + "todo", + "list" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "list-ol", + "id": "list-ol", + "unicode": "f0cb", + "created": 2, + "filter": [ + "ul", + "ol", + "checklist", + "list", + "todo", + "list", + "numbers" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Strikethrough", + "id": "strikethrough", + "unicode": "f0cc", + "created": 2, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Underline", + "id": "underline", + "unicode": "f0cd", + "created": 2, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "table", + "id": "table", + "unicode": "f0ce", + "created": 2, + "filter": [ + "data", + "excel", + "spreadsheet" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "magic", + "id": "magic", + "unicode": "f0d0", + "created": 2, + "filter": [ + "wizard", + "automatic", + "autocomplete" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "truck", + "id": "truck", + "unicode": "f0d1", + "created": 2, + "filter": [ + "shipping" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Pinterest", + "id": "pinterest", + "unicode": "f0d2", + "created": 2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pinterest Square", + "id": "pinterest-square", + "unicode": "f0d3", + "created": 2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Google Plus Square", + "id": "google-plus-square", + "unicode": "f0d4", + "created": 2, + "filter": [ + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Google Plus", + "id": "google-plus", + "unicode": "f0d5", + "created": 2, + "filter": [ + "social network" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Money", + "id": "money", + "unicode": "f0d6", + "created": 2, + "filter": [ + "cash", + "money", + "buy", + "checkout", + "purchase", + "payment" + ], + "categories": [ + "Web Application Icons", + "Currency Icons" + ] + }, + { + "name": "Caret Down", + "id": "caret-down", + "unicode": "f0d7", + "created": 2, + "filter": [ + "more", + "dropdown", + "menu", + "triangle down", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Caret Up", + "id": "caret-up", + "unicode": "f0d8", + "created": 2, + "filter": [ + "triangle up", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Caret Left", + "id": "caret-left", + "unicode": "f0d9", + "created": 2, + "filter": [ + "previous", + "back", + "triangle left", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Caret Right", + "id": "caret-right", + "unicode": "f0da", + "created": 2, + "filter": [ + "next", + "forward", + "triangle right", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Columns", + "id": "columns", + "unicode": "f0db", + "created": 2, + "filter": [ + "split", + "panes" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Sort", + "id": "sort", + "unicode": "f0dc", + "created": 2, + "filter": [ + "order" + ], + "aliases": [ + "unsorted" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Descending", + "id": "sort-desc", + "unicode": "f0dd", + "created": 2, + "filter": [ + "dropdown", + "more", + "menu", + "arrow" + ], + "aliases": [ + "sort-down" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Ascending", + "id": "sort-asc", + "unicode": "f0de", + "created": 2, + "aliases": [ + "sort-up" + ], + "filter": [ + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Envelope", + "id": "envelope", + "unicode": "f0e0", + "created": 2, + "filter": [ + "email", + "e-mail", + "letter", + "support", + "mail", + "message", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "LinkedIn", + "id": "linkedin", + "unicode": "f0e1", + "created": 2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Undo", + "id": "undo", + "unicode": "f0e2", + "created": 2, + "filter": [ + "back" + ], + "aliases": [ + "rotate-left" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Gavel", + "id": "gavel", + "unicode": "f0e3", + "created": 2, + "filter": [ + "judge", + "lawyer", + "opinion" + ], + "aliases": [ + "legal" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Tachometer", + "id": "tachometer", + "unicode": "f0e4", + "created": 2, + "filter": [ + "speedometer", + "fast" + ], + "aliases": [ + "dashboard" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "comment-o", + "id": "comment-o", + "unicode": "f0e5", + "created": 2, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "comments-o", + "id": "comments-o", + "unicode": "f0e6", + "created": 2, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Lightning Bolt", + "id": "bolt", + "unicode": "f0e7", + "created": 2, + "filter": [ + "lightning", + "weather" + ], + "aliases": [ + "flash" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sitemap", + "id": "sitemap", + "unicode": "f0e8", + "created": 2, + "filter": [ + "directory", + "hierarchy", + "organization" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Umbrella", + "id": "umbrella", + "unicode": "f0e9", + "created": 2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Clipboard", + "id": "clipboard", + "unicode": "f0ea", + "created": 2, + "filter": [ + "copy" + ], + "aliases": [ + "paste" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Lightbulb Outlined", + "id": "lightbulb-o", + "unicode": "f0eb", + "created": 3, + "filter": [ + "idea", + "inspiration" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Exchange", + "id": "exchange", + "unicode": "f0ec", + "created": 3, + "filter": [ + "transfer", + "arrows", + "arrow" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Cloud Download", + "id": "cloud-download", + "unicode": "f0ed", + "created": 3, + "filter": [ + "import" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Cloud Upload", + "id": "cloud-upload", + "unicode": "f0ee", + "created": 3, + "filter": [ + "import" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "user-md", + "id": "user-md", + "unicode": "f0f0", + "created": 2, + "filter": [ + "doctor", + "profile", + "medical", + "nurse" + ], + "categories": [ + "Medical Icons" + ] + }, + { + "name": "Stethoscope", + "id": "stethoscope", + "unicode": "f0f1", + "created": 3, + "categories": [ + "Medical Icons" + ] + }, + { + "name": "Suitcase", + "id": "suitcase", + "unicode": "f0f2", + "created": 3, + "filter": [ + "trip", + "luggage", + "travel", + "move", + "baggage" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bell Outlined", + "id": "bell-o", + "unicode": "f0a2", + "created": 3, + "filter": [ + "alert", + "reminder", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Coffee", + "id": "coffee", + "unicode": "f0f4", + "created": 3, + "filter": [ + "morning", + "mug", + "breakfast", + "tea", + "drink", + "cafe" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Cutlery", + "id": "cutlery", + "unicode": "f0f5", + "created": 3, + "filter": [ + "food", + "restaurant", + "spoon", + "knife", + "dinner", + "eat" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "File Text Outlined", + "id": "file-text-o", + "unicode": "f0f6", + "created": 3, + "filter": [ + "new", + "page", + "pdf", + "document" + ], + "categories": [ + "Text Editor Icons", + "File Type Icons" + ] + }, + { + "name": "Building Outlined", + "id": "building-o", + "unicode": "f0f7", + "created": 3, + "filter": [ + "work", + "business", + "apartment", + "office", + "company" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "hospital Outlined", + "id": "hospital-o", + "unicode": "f0f8", + "created": 3, + "filter": [ + "building" + ], + "categories": [ + "Medical Icons" + ] + }, + { + "name": "ambulance", + "id": "ambulance", + "unicode": "f0f9", + "created": 3, + "filter": [ + "vehicle", + "support", + "help" + ], + "categories": [ + "Medical Icons", + "Transportation Icons" + ] + }, + { + "name": "medkit", + "id": "medkit", + "unicode": "f0fa", + "created": 3, + "filter": [ + "first aid", + "firstaid", + "help", + "support", + "health" + ], + "categories": [ + "Medical Icons" + ] + }, + { + "name": "fighter-jet", + "id": "fighter-jet", + "unicode": "f0fb", + "created": 3, + "filter": [ + "fly", + "plane", + "airplane", + "quick", + "fast", + "travel" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "beer", + "id": "beer", + "unicode": "f0fc", + "created": 3, + "filter": [ + "alcohol", + "stein", + "drink", + "mug", + "bar", + "liquor" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "H Square", + "id": "h-square", + "unicode": "f0fd", + "created": 3, + "filter": [ + "hospital", + "hotel" + ], + "categories": [ + "Medical Icons" + ] + }, + { + "name": "Plus Square", + "id": "plus-square", + "unicode": "f0fe", + "created": 3, + "filter": [ + "add", + "new", + "create", + "expand" + ], + "categories": [ + "Medical Icons", + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Angle Double Left", + "id": "angle-double-left", + "unicode": "f100", + "created": 3, + "filter": [ + "laquo", + "quote", + "previous", + "back", + "arrows" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Angle Double Right", + "id": "angle-double-right", + "unicode": "f101", + "created": 3, + "filter": [ + "raquo", + "quote", + "next", + "forward", + "arrows" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Angle Double Up", + "id": "angle-double-up", + "unicode": "f102", + "created": 3, + "filter": [ + "arrows" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Angle Double Down", + "id": "angle-double-down", + "unicode": "f103", + "created": 3, + "filter": [ + "arrows" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "angle-left", + "id": "angle-left", + "unicode": "f104", + "created": 3, + "filter": [ + "previous", + "back", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "angle-right", + "id": "angle-right", + "unicode": "f105", + "created": 3, + "filter": [ + "next", + "forward", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "angle-up", + "id": "angle-up", + "unicode": "f106", + "created": 3, + "filter": [ + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "angle-down", + "id": "angle-down", + "unicode": "f107", + "created": 3, + "filter": [ + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Desktop", + "id": "desktop", + "unicode": "f108", + "created": 3, + "filter": [ + "monitor", + "screen", + "desktop", + "computer", + "demo", + "device" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Laptop", + "id": "laptop", + "unicode": "f109", + "created": 3, + "filter": [ + "demo", + "computer", + "device" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "tablet", + "id": "tablet", + "unicode": "f10a", + "created": 3, + "filter": [ + "ipad", + "device" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Mobile Phone", + "id": "mobile", + "unicode": "f10b", + "created": 3, + "filter": [ + "cell phone", + "cellphone", + "text", + "call", + "iphone", + "number", + "telephone" + ], + "aliases": [ + "mobile-phone" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Circle Outlined", + "id": "circle-o", + "unicode": "f10c", + "created": 3, + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "quote-left", + "id": "quote-left", + "unicode": "f10d", + "created": 3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "quote-right", + "id": "quote-right", + "unicode": "f10e", + "created": 3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Spinner", + "id": "spinner", + "unicode": "f110", + "created": 3, + "filter": [ + "loading", + "progress" + ], + "categories": [ + "Web Application Icons", + "Spinner Icons" + ] + }, + { + "name": "Circle", + "id": "circle", + "unicode": "f111", + "created": 3, + "filter": [ + "dot", + "notification" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Reply", + "id": "reply", + "unicode": "f112", + "created": 3, + "aliases": [ + "mail-reply" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "GitHub Alt", + "id": "github-alt", + "unicode": "f113", + "created": 3, + "url": "github.com/logos", + "filter": [ + "octocat" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Folder Outlined", + "id": "folder-o", + "unicode": "f114", + "created": 3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Folder Open Outlined", + "id": "folder-open-o", + "unicode": "f115", + "created": 3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Smile Outlined", + "id": "smile-o", + "unicode": "f118", + "created": 3.1, + "filter": [ + "face", + "emoticon", + "happy", + "approve", + "satisfied", + "rating" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Frown Outlined", + "id": "frown-o", + "unicode": "f119", + "created": 3.1, + "filter": [ + "face", + "emoticon", + "sad", + "disapprove", + "rating" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Meh Outlined", + "id": "meh-o", + "unicode": "f11a", + "created": 3.1, + "filter": [ + "face", + "emoticon", + "rating", + "neutral" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Gamepad", + "id": "gamepad", + "unicode": "f11b", + "created": 3.1, + "filter": [ + "controller" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Keyboard Outlined", + "id": "keyboard-o", + "unicode": "f11c", + "created": 3.1, + "filter": [ + "type", + "input" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Flag Outlined", + "id": "flag-o", + "unicode": "f11d", + "created": 3.1, + "filter": [ + "report", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "flag-checkered", + "id": "flag-checkered", + "unicode": "f11e", + "created": 3.1, + "filter": [ + "report", + "notification", + "notify" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Terminal", + "id": "terminal", + "unicode": "f120", + "created": 3.1, + "filter": [ + "command", + "prompt", + "code" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Code", + "id": "code", + "unicode": "f121", + "created": 3.1, + "filter": [ + "html", + "brackets" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "reply-all", + "id": "reply-all", + "unicode": "f122", + "created": 3.1, + "aliases": [ + "mail-reply-all" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Star Half Outlined", + "id": "star-half-o", + "unicode": "f123", + "created": 3.1, + "filter": [ + "award", + "achievement", + "rating", + "score" + ], + "aliases": [ + "star-half-empty", + "star-half-full" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "location-arrow", + "id": "location-arrow", + "unicode": "f124", + "created": 3.1, + "filter": [ + "map", + "coordinates", + "location", + "address", + "place", + "where" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "crop", + "id": "crop", + "unicode": "f125", + "created": 3.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "code-fork", + "id": "code-fork", + "unicode": "f126", + "created": 3.1, + "filter": [ + "git", + "fork", + "vcs", + "svn", + "github", + "rebase", + "version", + "merge" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Chain Broken", + "id": "chain-broken", + "unicode": "f127", + "created": 3.1, + "filter": [ + "remove" + ], + "aliases": [ + "unlink" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Question", + "id": "question", + "unicode": "f128", + "created": 3.1, + "filter": [ + "help", + "information", + "unknown", + "support" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Info", + "id": "info", + "unicode": "f129", + "created": 3.1, + "filter": [ + "help", + "information", + "more", + "details" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "exclamation", + "id": "exclamation", + "unicode": "f12a", + "created": 3.1, + "filter": [ + "warning", + "error", + "problem", + "notification", + "notify", + "alert" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "superscript", + "id": "superscript", + "unicode": "f12b", + "created": 3.1, + "filter": [ + "exponential" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "subscript", + "id": "subscript", + "unicode": "f12c", + "created": 3.1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "eraser", + "id": "eraser", + "unicode": "f12d", + "created": 3.1, + "filter": [ + "remove", + "delete" + ], + "categories": [ + "Text Editor Icons", + "Web Application Icons" + ] + }, + { + "name": "Puzzle Piece", + "id": "puzzle-piece", + "unicode": "f12e", + "created": 3.1, + "filter": [ + "addon", + "add-on", + "section" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "microphone", + "id": "microphone", + "unicode": "f130", + "created": 3.1, + "filter": [ + "record", + "voice", + "sound" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Microphone Slash", + "id": "microphone-slash", + "unicode": "f131", + "created": 3.1, + "filter": [ + "record", + "voice", + "sound", + "mute" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "shield", + "id": "shield", + "unicode": "f132", + "created": 3.1, + "filter": [ + "award", + "achievement", + "security", + "winner" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "calendar-o", + "id": "calendar-o", + "unicode": "f133", + "created": 3.1, + "filter": [ + "date", + "time", + "when", + "event" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "fire-extinguisher", + "id": "fire-extinguisher", + "unicode": "f134", + "created": 3.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "rocket", + "id": "rocket", + "unicode": "f135", + "created": 3.1, + "filter": [ + "app" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "MaxCDN", + "id": "maxcdn", + "unicode": "f136", + "created": 3.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Chevron Circle Left", + "id": "chevron-circle-left", + "unicode": "f137", + "created": 3.1, + "filter": [ + "previous", + "back", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Chevron Circle Right", + "id": "chevron-circle-right", + "unicode": "f138", + "created": 3.1, + "filter": [ + "next", + "forward", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Chevron Circle Up", + "id": "chevron-circle-up", + "unicode": "f139", + "created": 3.1, + "filter": [ + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Chevron Circle Down", + "id": "chevron-circle-down", + "unicode": "f13a", + "created": 3.1, + "filter": [ + "more", + "dropdown", + "menu", + "arrow" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "HTML 5 Logo", + "id": "html5", + "unicode": "f13b", + "created": 3.1, + "code": [ + "code", + "html5" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "CSS 3 Logo", + "id": "css3", + "unicode": "f13c", + "created": 3.1, + "filter": [ + "code" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Anchor", + "id": "anchor", + "unicode": "f13d", + "created": 3.1, + "filter": [ + "link" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Unlock Alt", + "id": "unlock-alt", + "unicode": "f13e", + "created": 3.1, + "filter": [ + "protect", + "admin", + "password", + "lock" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bullseye", + "id": "bullseye", + "unicode": "f140", + "created": 3.1, + "filter": [ + "target" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Ellipsis Horizontal", + "id": "ellipsis-h", + "unicode": "f141", + "created": 3.1, + "filter": [ + "dots" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Ellipsis Vertical", + "id": "ellipsis-v", + "unicode": "f142", + "created": 3.1, + "filter": [ + "dots" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "RSS Square", + "id": "rss-square", + "unicode": "f143", + "created": 3.1, + "filter": [ + "feed", + "blog" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Play Circle", + "id": "play-circle", + "unicode": "f144", + "created": 3.1, + "filter": [ + "start", + "playing" + ], + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Ticket", + "id": "ticket", + "unicode": "f145", + "created": 3.1, + "filter": [ + "movie", + "pass", + "support" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Minus Square", + "id": "minus-square", + "unicode": "f146", + "created": 3.1, + "filter": [ + "hide", + "minify", + "delete", + "remove", + "trash", + "hide", + "collapse" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Minus Square Outlined", + "id": "minus-square-o", + "unicode": "f147", + "created": 3.1, + "filter": [ + "hide", + "minify", + "delete", + "remove", + "trash", + "hide", + "collapse" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Level Up", + "id": "level-up", + "unicode": "f148", + "created": 3.1, + "filter": [ + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Level Down", + "id": "level-down", + "unicode": "f149", + "created": 3.1, + "filter": [ + "arrow" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Check Square", + "id": "check-square", + "unicode": "f14a", + "created": 3.1, + "filter": [ + "checkmark", + "done", + "todo", + "agree", + "accept", + "confirm", + "ok" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Pencil Square", + "id": "pencil-square", + "unicode": "f14b", + "created": 3.1, + "filter": [ + "write", + "edit", + "update" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "External Link Square", + "id": "external-link-square", + "unicode": "f14c", + "created": 3.1, + "filter": [ + "open", + "new" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Share Square", + "id": "share-square", + "unicode": "f14d", + "created": 3.1, + "filter": [ + "social", + "send" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Compass", + "id": "compass", + "unicode": "f14e", + "created": 3.2, + "filter": [ + "safari", + "directory", + "menu", + "location" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Caret Square Outlined Down", + "id": "caret-square-o-down", + "unicode": "f150", + "created": 3.2, + "aliases": [ + "toggle-down" + ], + "filter": [ + "more", + "dropdown", + "menu" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Caret Square Outlined Up", + "id": "caret-square-o-up", + "unicode": "f151", + "created": 3.2, + "aliases": [ + "toggle-up" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Caret Square Outlined Right", + "id": "caret-square-o-right", + "unicode": "f152", + "created": 3.2, + "filter": [ + "next", + "forward" + ], + "aliases": [ + "toggle-right" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Euro (EUR)", + "id": "eur", + "unicode": "f153", + "created": 3.2, + "aliases": [ + "euro" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "GBP", + "id": "gbp", + "unicode": "f154", + "created": 3.2, + "categories": [ + "Currency Icons" + ] + }, + { + "name": "US Dollar", + "id": "usd", + "unicode": "f155", + "created": 3.2, + "aliases": [ + "dollar" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Indian Rupee (INR)", + "id": "inr", + "unicode": "f156", + "created": 3.2, + "aliases": [ + "rupee" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Japanese Yen (JPY)", + "id": "jpy", + "unicode": "f157", + "created": 3.2, + "aliases": [ + "cny", + "rmb", + "yen" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Russian Ruble (RUB)", + "id": "rub", + "unicode": "f158", + "created": 4, + "aliases": [ + "ruble", + "rouble" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Korean Won (KRW)", + "id": "krw", + "unicode": "f159", + "created": 3.2, + "aliases": [ + "won" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Bitcoin (BTC)", + "id": "btc", + "unicode": "f15a", + "created": 3.2, + "aliases": [ + "bitcoin" + ], + "categories": [ + "Currency Icons", + "Brand Icons" + ] + }, + { + "name": "File", + "id": "file", + "unicode": "f15b", + "created": 3.2, + "filter": [ + "new", + "page", + "pdf", + "document" + ], + "categories": [ + "Text Editor Icons", + "File Type Icons" + ] + }, + { + "name": "File Text", + "id": "file-text", + "unicode": "f15c", + "created": 3.2, + "filter": [ + "new", + "page", + "pdf", + "document" + ], + "categories": [ + "Text Editor Icons", + "File Type Icons" + ] + }, + { + "name": "Sort Alpha Ascending", + "id": "sort-alpha-asc", + "unicode": "f15d", + "created": 3.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Alpha Descending", + "id": "sort-alpha-desc", + "unicode": "f15e", + "created": 3.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Amount Ascending", + "id": "sort-amount-asc", + "unicode": "f160", + "created": 3.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Amount Descending", + "id": "sort-amount-desc", + "unicode": "f161", + "created": 3.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Numeric Ascending", + "id": "sort-numeric-asc", + "unicode": "f162", + "created": 3.2, + "filter": [ + "numbers" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sort Numeric Descending", + "id": "sort-numeric-desc", + "unicode": "f163", + "created": 3.2, + "filter": [ + "numbers" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "thumbs-up", + "id": "thumbs-up", + "unicode": "f164", + "created": 3.2, + "filter": [ + "like", + "favorite", + "approve", + "agree", + "hand" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "thumbs-down", + "id": "thumbs-down", + "unicode": "f165", + "created": 3.2, + "filter": [ + "dislike", + "disapprove", + "disagree", + "hand" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "YouTube Square", + "id": "youtube-square", + "unicode": "f166", + "created": 3.2, + "filter": [ + "video", + "film" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "YouTube", + "id": "youtube", + "unicode": "f167", + "created": 3.2, + "filter": [ + "video", + "film" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Xing", + "id": "xing", + "unicode": "f168", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Xing Square", + "id": "xing-square", + "unicode": "f169", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "YouTube Play", + "id": "youtube-play", + "unicode": "f16a", + "created": 3.2, + "filter": [ + "start", + "playing" + ], + "categories": [ + "Brand Icons", + "Video Player Icons" + ] + }, + { + "name": "Dropbox", + "id": "dropbox", + "unicode": "f16b", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Stack Overflow", + "id": "stack-overflow", + "unicode": "f16c", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Instagram", + "id": "instagram", + "unicode": "f16d", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Flickr", + "id": "flickr", + "unicode": "f16e", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "App.net", + "id": "adn", + "unicode": "f170", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Bitbucket", + "id": "bitbucket", + "unicode": "f171", + "created": 3.2, + "filter": [ + "git" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Bitbucket Square", + "id": "bitbucket-square", + "unicode": "f172", + "created": 3.2, + "filter": [ + "git" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Tumblr", + "id": "tumblr", + "unicode": "f173", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Tumblr Square", + "id": "tumblr-square", + "unicode": "f174", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Long Arrow Down", + "id": "long-arrow-down", + "unicode": "f175", + "created": 3.2, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Long Arrow Up", + "id": "long-arrow-up", + "unicode": "f176", + "created": 3.2, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Long Arrow Left", + "id": "long-arrow-left", + "unicode": "f177", + "created": 3.2, + "filter": [ + "previous", + "back" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Long Arrow Right", + "id": "long-arrow-right", + "unicode": "f178", + "created": 3.2, + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Apple", + "id": "apple", + "unicode": "f179", + "created": 3.2, + "filter": [ + "osx", + "food" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Windows", + "id": "windows", + "unicode": "f17a", + "created": 3.2, + "filter": [ + "microsoft" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Android", + "id": "android", + "unicode": "f17b", + "created": 3.2, + "filter": [ + "robot" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Linux", + "id": "linux", + "unicode": "f17c", + "created": 3.2, + "filter": [ + "tux" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Dribbble", + "id": "dribbble", + "unicode": "f17d", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Skype", + "id": "skype", + "unicode": "f17e", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Foursquare", + "id": "foursquare", + "unicode": "f180", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Trello", + "id": "trello", + "unicode": "f181", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Female", + "id": "female", + "unicode": "f182", + "created": 3.2, + "filter": [ + "woman", + "user", + "person", + "profile" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Male", + "id": "male", + "unicode": "f183", + "created": 3.2, + "filter": [ + "man", + "user", + "person", + "profile" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Gratipay (Gittip)", + "id": "gratipay", + "unicode": "f184", + "created": 3.2, + "aliases": [ + "gittip" + ], + "filter": [ + "heart", + "like", + "favorite", + "love" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Sun Outlined", + "id": "sun-o", + "unicode": "f185", + "created": 3.2, + "filter": [ + "weather", + "contrast", + "lighter", + "brighten", + "day" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Moon Outlined", + "id": "moon-o", + "unicode": "f186", + "created": 3.2, + "filter": [ + "night", + "darker", + "contrast" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Archive", + "id": "archive", + "unicode": "f187", + "created": 3.2, + "filter": [ + "box", + "storage" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bug", + "id": "bug", + "unicode": "f188", + "created": 3.2, + "filter": [ + "report", + "insect" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "VK", + "id": "vk", + "unicode": "f189", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Weibo", + "id": "weibo", + "unicode": "f18a", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Renren", + "id": "renren", + "unicode": "f18b", + "created": 3.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pagelines", + "id": "pagelines", + "unicode": "f18c", + "created": 4, + "filter": [ + "leaf", + "leaves", + "tree", + "plant", + "eco", + "nature" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Stack Exchange", + "id": "stack-exchange", + "unicode": "f18d", + "created": 4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Arrow Circle Outlined Right", + "id": "arrow-circle-o-right", + "unicode": "f18e", + "created": 4, + "filter": [ + "next", + "forward" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Arrow Circle Outlined Left", + "id": "arrow-circle-o-left", + "unicode": "f190", + "created": 4, + "filter": [ + "previous", + "back" + ], + "categories": [ + "Directional Icons" + ] + }, + { + "name": "Caret Square Outlined Left", + "id": "caret-square-o-left", + "unicode": "f191", + "created": 4, + "filter": [ + "previous", + "back" + ], + "aliases": [ + "toggle-left" + ], + "categories": [ + "Web Application Icons", + "Directional Icons" + ] + }, + { + "name": "Dot Circle Outlined", + "id": "dot-circle-o", + "unicode": "f192", + "created": 4, + "filter": [ + "target", + "bullseye", + "notification" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Wheelchair", + "id": "wheelchair", + "unicode": "f193", + "created": 4, + "filter": [ + "handicap", + "person" + ], + "categories": [ + "Web Application Icons", + "Medical Icons", + "Transportation Icons", + "Accessibility Icons" + ] + }, + { + "name": "Vimeo Square", + "id": "vimeo-square", + "unicode": "f194", + "created": 4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Turkish Lira (TRY)", + "id": "try", + "unicode": "f195", + "created": 4, + "aliases": [ + "turkish-lira" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "Plus Square Outlined", + "id": "plus-square-o", + "unicode": "f196", + "created": 4, + "filter": [ + "add", + "new", + "create", + "expand" + ], + "categories": [ + "Web Application Icons", + "Form Control Icons" + ] + }, + { + "name": "Space Shuttle", + "id": "space-shuttle", + "unicode": "f197", + "created": 4.1, + "filter": null, + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Slack Logo", + "id": "slack", + "unicode": "f198", + "created": 4.1, + "filter": [ + "hashtag", + "anchor", + "hash" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Envelope Square", + "id": "envelope-square", + "unicode": "f199", + "created": 4.1, + "filter": [ + "email", + "e-mail", + "letter", + "support", + "mail", + "message", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "WordPress Logo", + "id": "wordpress", + "unicode": "f19a", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "OpenID", + "id": "openid", + "unicode": "f19b", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "University", + "id": "university", + "unicode": "f19c", + "created": 4.1, + "aliases": [ + "institution", + "bank" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Graduation Cap", + "id": "graduation-cap", + "unicode": "f19d", + "created": 4.1, + "aliases": [ + "mortar-board" + ], + "filter": [ + "learning", + "school", + "student" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Yahoo Logo", + "id": "yahoo", + "unicode": "f19e", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Google Logo", + "id": "google", + "unicode": "f1a0", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "reddit Logo", + "id": "reddit", + "unicode": "f1a1", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "reddit Square", + "id": "reddit-square", + "unicode": "f1a2", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "StumbleUpon Circle", + "id": "stumbleupon-circle", + "unicode": "f1a3", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "StumbleUpon Logo", + "id": "stumbleupon", + "unicode": "f1a4", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Delicious Logo", + "id": "delicious", + "unicode": "f1a5", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Digg Logo", + "id": "digg", + "unicode": "f1a6", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pied Piper PP Logo (Old)", + "id": "pied-piper-pp", + "unicode": "f1a7", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pied Piper Alternate Logo", + "id": "pied-piper-alt", + "unicode": "f1a8", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Drupal Logo", + "id": "drupal", + "unicode": "f1a9", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Joomla Logo", + "id": "joomla", + "unicode": "f1aa", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Language", + "id": "language", + "unicode": "f1ab", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Fax", + "id": "fax", + "unicode": "f1ac", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Building", + "id": "building", + "unicode": "f1ad", + "created": 4.1, + "filter": [ + "work", + "business", + "apartment", + "office", + "company" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Child", + "id": "child", + "unicode": "f1ae", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Paw", + "id": "paw", + "unicode": "f1b0", + "created": 4.1, + "filter": [ + "pet" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "spoon", + "id": "spoon", + "unicode": "f1b1", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Cube", + "id": "cube", + "unicode": "f1b2", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Cubes", + "id": "cubes", + "unicode": "f1b3", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Behance", + "id": "behance", + "unicode": "f1b4", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Behance Square", + "id": "behance-square", + "unicode": "f1b5", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Steam", + "id": "steam", + "unicode": "f1b6", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Steam Square", + "id": "steam-square", + "unicode": "f1b7", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Recycle", + "id": "recycle", + "unicode": "f1b8", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Car", + "id": "car", + "unicode": "f1b9", + "created": 4.1, + "aliases": [ + "automobile" + ], + "filter": [ + "vehicle" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Taxi", + "id": "taxi", + "unicode": "f1ba", + "created": 4.1, + "aliases": [ + "cab" + ], + "filter": [ + "vehicle" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Tree", + "id": "tree", + "unicode": "f1bb", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Spotify", + "id": "spotify", + "unicode": "f1bc", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "deviantART", + "id": "deviantart", + "unicode": "f1bd", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "SoundCloud", + "id": "soundcloud", + "unicode": "f1be", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Database", + "id": "database", + "unicode": "f1c0", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "PDF File Outlined", + "id": "file-pdf-o", + "unicode": "f1c1", + "created": 4.1, + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Word File Outlined", + "id": "file-word-o", + "unicode": "f1c2", + "created": 4.1, + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Excel File Outlined", + "id": "file-excel-o", + "unicode": "f1c3", + "created": 4.1, + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Powerpoint File Outlined", + "id": "file-powerpoint-o", + "unicode": "f1c4", + "created": 4.1, + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Image File Outlined", + "id": "file-image-o", + "unicode": "f1c5", + "created": 4.1, + "aliases": [ + "file-photo-o", + "file-picture-o" + ], + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Archive File Outlined", + "id": "file-archive-o", + "unicode": "f1c6", + "created": 4.1, + "aliases": [ + "file-zip-o" + ], + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Audio File Outlined", + "id": "file-audio-o", + "unicode": "f1c7", + "created": 4.1, + "aliases": [ + "file-sound-o" + ], + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Video File Outlined", + "id": "file-video-o", + "unicode": "f1c8", + "created": 4.1, + "aliases": [ + "file-movie-o" + ], + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Code File Outlined", + "id": "file-code-o", + "unicode": "f1c9", + "created": 4.1, + "categories": [ + "Web Application Icons", + "File Type Icons" + ] + }, + { + "name": "Vine", + "id": "vine", + "unicode": "f1ca", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Codepen", + "id": "codepen", + "unicode": "f1cb", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "jsFiddle", + "id": "jsfiddle", + "unicode": "f1cc", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Life Ring", + "id": "life-ring", + "unicode": "f1cd", + "created": 4.1, + "aliases": [ + { + "life-bouy": "Deprecated - remove in 5.0.0" + }, + "life-buoy", + "life-saver", + "support" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Circle Outlined Notched", + "id": "circle-o-notch", + "unicode": "f1ce", + "created": 4.1, + "categories": [ + "Web Application Icons", + "Spinner Icons" + ] + }, + { + "name": "Rebel Alliance", + "id": "rebel", + "unicode": "f1d0", + "created": 4.1, + "aliases": [ + "ra", + "resistance" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Galactic Empire", + "id": "empire", + "unicode": "f1d1", + "created": 4.1, + "aliases": [ + "ge" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Git Square", + "id": "git-square", + "unicode": "f1d2", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Git", + "id": "git", + "unicode": "f1d3", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Hacker News", + "id": "hacker-news", + "unicode": "f1d4", + "created": 4.1, + "aliases": [ + "y-combinator-square", + "yc-square" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Tencent Weibo", + "id": "tencent-weibo", + "unicode": "f1d5", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "QQ", + "id": "qq", + "unicode": "f1d6", + "created": 4.1, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Weixin (WeChat)", + "id": "weixin", + "unicode": "f1d7", + "created": 4.1, + "aliases": [ + "wechat" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Paper Plane", + "id": "paper-plane", + "unicode": "f1d8", + "created": 4.1, + "aliases": [ + "send" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Paper Plane Outlined", + "id": "paper-plane-o", + "unicode": "f1d9", + "created": 4.1, + "aliases": [ + "send-o" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "History", + "id": "history", + "unicode": "f1da", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Circle Outlined Thin", + "id": "circle-thin", + "unicode": "f1db", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "header", + "id": "header", + "unicode": "f1dc", + "created": 4.1, + "filter": [ + "heading" + ], + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "paragraph", + "id": "paragraph", + "unicode": "f1dd", + "created": 4.1, + "categories": [ + "Text Editor Icons" + ] + }, + { + "name": "Sliders", + "id": "sliders", + "unicode": "f1de", + "created": 4.1, + "filter": [ + "settings" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Share Alt", + "id": "share-alt", + "unicode": "f1e0", + "created": 4.1, + "categories": [ + "Web Application Icons", + "Brand Icons" + ] + }, + { + "name": "Share Alt Square", + "id": "share-alt-square", + "unicode": "f1e1", + "created": 4.1, + "categories": [ + "Web Application Icons", + "Brand Icons" + ] + }, + { + "name": "Bomb", + "id": "bomb", + "unicode": "f1e2", + "created": 4.1, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Futbol Outlined", + "id": "futbol-o", + "unicode": "f1e3", + "created": 4.2, + "aliases": [ + "soccer-ball-o" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "TTY", + "id": "tty", + "unicode": "f1e4", + "created": 4.2, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Binoculars", + "id": "binoculars", + "unicode": "f1e5", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Plug", + "id": "plug", + "unicode": "f1e6", + "created": 4.2, + "filter": [ + "power", + "connect" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Slideshare", + "id": "slideshare", + "unicode": "f1e7", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Twitch", + "id": "twitch", + "unicode": "f1e8", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Yelp", + "id": "yelp", + "unicode": "f1e9", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Newspaper Outlined", + "id": "newspaper-o", + "unicode": "f1ea", + "created": 4.2, + "filter": [ + "press" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "WiFi", + "id": "wifi", + "unicode": "f1eb", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Calculator", + "id": "calculator", + "unicode": "f1ec", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Paypal", + "id": "paypal", + "unicode": "f1ed", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Google Wallet", + "id": "google-wallet", + "unicode": "f1ee", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Visa Credit Card", + "id": "cc-visa", + "unicode": "f1f0", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "MasterCard Credit Card", + "id": "cc-mastercard", + "unicode": "f1f1", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Discover Credit Card", + "id": "cc-discover", + "unicode": "f1f2", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "American Express Credit Card", + "id": "cc-amex", + "unicode": "f1f3", + "created": 4.2, + "filter": [ + "amex" + ], + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Paypal Credit Card", + "id": "cc-paypal", + "unicode": "f1f4", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Stripe Credit Card", + "id": "cc-stripe", + "unicode": "f1f5", + "created": 4.2, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Bell Slash", + "id": "bell-slash", + "unicode": "f1f6", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bell Slash Outlined", + "id": "bell-slash-o", + "unicode": "f1f7", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Trash", + "id": "trash", + "unicode": "f1f8", + "created": 4.2, + "filter": [ + "garbage", + "delete", + "remove", + "hide" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Copyright", + "id": "copyright", + "unicode": "f1f9", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "At", + "id": "at", + "unicode": "f1fa", + "created": 4.2, + "filter": [ + "email", + "e-mail" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Eyedropper", + "id": "eyedropper", + "unicode": "f1fb", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Paint Brush", + "id": "paint-brush", + "unicode": "f1fc", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Birthday Cake", + "id": "birthday-cake", + "unicode": "f1fd", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Area Chart", + "id": "area-chart", + "unicode": "f1fe", + "created": 4.2, + "filter": [ + "graph", + "analytics" + ], + "categories": [ + "Web Application Icons", + "Chart Icons" + ] + }, + { + "name": "Pie Chart", + "id": "pie-chart", + "unicode": "f200", + "created": 4.2, + "filter": [ + "graph", + "analytics" + ], + "categories": [ + "Web Application Icons", + "Chart Icons" + ] + }, + { + "name": "Line Chart", + "id": "line-chart", + "unicode": "f201", + "created": 4.2, + "filter": [ + "graph", + "analytics" + ], + "categories": [ + "Web Application Icons", + "Chart Icons" + ] + }, + { + "name": "last.fm", + "id": "lastfm", + "unicode": "f202", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "last.fm Square", + "id": "lastfm-square", + "unicode": "f203", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Toggle Off", + "id": "toggle-off", + "unicode": "f204", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Toggle On", + "id": "toggle-on", + "unicode": "f205", + "created": 4.2, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bicycle", + "id": "bicycle", + "unicode": "f206", + "created": 4.2, + "filter": [ + "vehicle", + "bike" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Bus", + "id": "bus", + "unicode": "f207", + "created": 4.2, + "filter": [ + "vehicle" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "ioxhost", + "id": "ioxhost", + "unicode": "f208", + "created": 4.2, + "url": "ioxhost.co.uk", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "AngelList", + "id": "angellist", + "unicode": "f209", + "created": 4.2, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Closed Captions", + "id": "cc", + "unicode": "f20a", + "created": 4.2, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Shekel (ILS)", + "id": "ils", + "unicode": "f20b", + "created": 4.2, + "aliases": [ + "shekel", + "sheqel" + ], + "categories": [ + "Currency Icons" + ] + }, + { + "name": "meanpath", + "id": "meanpath", + "unicode": "f20c", + "created": 4.2, + "url": "meanpath.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "BuySellAds", + "id": "buysellads", + "unicode": "f20d", + "created": 4.3, + "url": "buysellads.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Connect Develop", + "id": "connectdevelop", + "unicode": "f20e", + "created": 4.3, + "url": "connectdevelop.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "DashCube", + "id": "dashcube", + "unicode": "f210", + "created": 4.3, + "url": "dashcube.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Forumbee", + "id": "forumbee", + "unicode": "f211", + "created": 4.3, + "url": "forumbee.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Leanpub", + "id": "leanpub", + "unicode": "f212", + "created": 4.3, + "url": "leanpub.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Sellsy", + "id": "sellsy", + "unicode": "f213", + "created": 4.3, + "url": "sellsy.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Shirts in Bulk", + "id": "shirtsinbulk", + "unicode": "f214", + "created": 4.3, + "url": "shirtsinbulk.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "SimplyBuilt", + "id": "simplybuilt", + "unicode": "f215", + "created": 4.3, + "url": "simplybuilt.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "skyatlas", + "id": "skyatlas", + "unicode": "f216", + "created": 4.3, + "url": "skyatlas.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Add to Shopping Cart", + "id": "cart-plus", + "unicode": "f217", + "created": 4.3, + "filter": [ + "add", + "shopping" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Shopping Cart Arrow Down", + "id": "cart-arrow-down", + "unicode": "f218", + "created": 4.3, + "filter": [ + "shopping" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Diamond", + "id": "diamond", + "unicode": "f219", + "created": 4.3, + "filter": [ + "gem", + "gemstone" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Ship", + "id": "ship", + "unicode": "f21a", + "created": 4.3, + "filter": [ + "boat", + "sea" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "User Secret", + "id": "user-secret", + "unicode": "f21b", + "created": 4.3, + "filter": [ + "whisper", + "spy", + "incognito", + "privacy" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Motorcycle", + "id": "motorcycle", + "unicode": "f21c", + "created": 4.3, + "filter": [ + "vehicle", + "bike" + ], + "categories": [ + "Web Application Icons", + "Transportation Icons" + ] + }, + { + "name": "Street View", + "id": "street-view", + "unicode": "f21d", + "created": 4.3, + "filter": [ + "map" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Heartbeat", + "id": "heartbeat", + "unicode": "f21e", + "created": 4.3, + "filter": [ + "ekg" + ], + "categories": [ + "Web Application Icons", + "Medical Icons" + ] + }, + { + "name": "Venus", + "id": "venus", + "unicode": "f221", + "created": 4.3, + "filter": [ + "female" + ], + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mars", + "id": "mars", + "unicode": "f222", + "created": 4.3, + "filter": [ + "male" + ], + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mercury", + "id": "mercury", + "unicode": "f223", + "created": 4.3, + "filter": [ + "transgender" + ], + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Transgender", + "id": "transgender", + "unicode": "f224", + "created": 4.3, + "aliases": [ + "intersex" + ], + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Transgender Alt", + "id": "transgender-alt", + "unicode": "f225", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Venus Double", + "id": "venus-double", + "unicode": "f226", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mars Double", + "id": "mars-double", + "unicode": "f227", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Venus Mars", + "id": "venus-mars", + "unicode": "f228", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mars Stroke", + "id": "mars-stroke", + "unicode": "f229", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mars Stroke Vertical", + "id": "mars-stroke-v", + "unicode": "f22a", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Mars Stroke Horizontal", + "id": "mars-stroke-h", + "unicode": "f22b", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Neuter", + "id": "neuter", + "unicode": "f22c", + "created": 4.3, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Genderless", + "id": "genderless", + "unicode": "f22d", + "created": 4.4, + "categories": [ + "Gender Icons" + ] + }, + { + "name": "Facebook Official", + "id": "facebook-official", + "unicode": "f230", + "created": 4.3, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pinterest P", + "id": "pinterest-p", + "unicode": "f231", + "created": 4.3, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "What's App", + "id": "whatsapp", + "unicode": "f232", + "created": 4.3, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Server", + "id": "server", + "unicode": "f233", + "created": 4.3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Add User", + "id": "user-plus", + "unicode": "f234", + "created": 4.3, + "filter": [ + "sign up", + "signup" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Remove User", + "id": "user-times", + "unicode": "f235", + "created": 4.3, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bed", + "id": "bed", + "unicode": "f236", + "created": 4.3, + "filter": [ + "travel" + ], + "aliases": [ + "hotel" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Viacoin", + "id": "viacoin", + "unicode": "f237", + "created": 4.3, + "url": "viacoin.org", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Train", + "id": "train", + "unicode": "f238", + "created": 4.3, + "categories": [ + "Transportation Icons" + ] + }, + { + "name": "Subway", + "id": "subway", + "unicode": "f239", + "created": 4.3, + "categories": [ + "Transportation Icons" + ] + }, + { + "name": "Medium", + "id": "medium", + "unicode": "f23a", + "created": 4.3, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Y Combinator", + "id": "y-combinator", + "unicode": "f23b", + "created": 4.4, + "aliases": [ + "yc" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Optin Monster", + "id": "optin-monster", + "unicode": "f23c", + "created": 4.4, + "url": "optinmonster.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "OpenCart", + "id": "opencart", + "unicode": "f23d", + "created": 4.4, + "url": "opencart.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "ExpeditedSSL", + "id": "expeditedssl", + "unicode": "f23e", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Battery Full", + "id": "battery-full", + "unicode": "f240", + "created": 4.4, + "aliases": [ + "battery-4", + "battery" + ], + "filter": [ + "power" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Battery 3/4 Full", + "id": "battery-three-quarters", + "unicode": "f241", + "created": 4.4, + "aliases": [ + "battery-3" + ], + "filter": [ + "power" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Battery 1/2 Full", + "id": "battery-half", + "unicode": "f242", + "created": 4.4, + "aliases": [ + "battery-2" + ], + "filter": [ + "power" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Battery 1/4 Full", + "id": "battery-quarter", + "unicode": "f243", + "created": 4.4, + "aliases": [ + "battery-1" + ], + "filter": [ + "power" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Battery Empty", + "id": "battery-empty", + "unicode": "f244", + "created": 4.4, + "aliases": [ + "battery-0" + ], + "filter": [ + "power" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Mouse Pointer", + "id": "mouse-pointer", + "unicode": "f245", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "I Beam Cursor", + "id": "i-cursor", + "unicode": "f246", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Object Group", + "id": "object-group", + "unicode": "f247", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Object Ungroup", + "id": "object-ungroup", + "unicode": "f248", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sticky Note", + "id": "sticky-note", + "unicode": "f249", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Sticky Note Outlined", + "id": "sticky-note-o", + "unicode": "f24a", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "JCB Credit Card", + "id": "cc-jcb", + "unicode": "f24b", + "created": 4.4, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Diner's Club Credit Card", + "id": "cc-diners-club", + "unicode": "f24c", + "created": 4.4, + "categories": [ + "Brand Icons", + "Payment Icons" + ] + }, + { + "name": "Clone", + "id": "clone", + "unicode": "f24d", + "created": 4.4, + "filter": [ + "copy" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Balance Scale", + "id": "balance-scale", + "unicode": "f24e", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hourglass Outlined", + "id": "hourglass-o", + "unicode": "f250", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hourglass Start", + "id": "hourglass-start", + "unicode": "f251", + "created": 4.4, + "aliases": [ + "hourglass-1" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hourglass Half", + "id": "hourglass-half", + "unicode": "f252", + "created": 4.4, + "aliases": [ + "hourglass-2" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hourglass End", + "id": "hourglass-end", + "unicode": "f253", + "created": 4.4, + "aliases": [ + "hourglass-3" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hourglass", + "id": "hourglass", + "unicode": "f254", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Rock (Hand)", + "id": "hand-rock-o", + "unicode": "f255", + "created": 4.4, + "aliases": [ + "hand-grab-o" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Paper (Hand)", + "id": "hand-paper-o", + "unicode": "f256", + "created": 4.4, + "aliases": [ + "hand-stop-o" + ], + "filter": [ + "stop" + ], + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Scissors (Hand)", + "id": "hand-scissors-o", + "unicode": "f257", + "created": 4.4, + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Lizard (Hand)", + "id": "hand-lizard-o", + "unicode": "f258", + "created": 4.4, + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Spock (Hand)", + "id": "hand-spock-o", + "unicode": "f259", + "created": 4.4, + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Hand Pointer", + "id": "hand-pointer-o", + "unicode": "f25a", + "created": 4.4, + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Hand Peace", + "id": "hand-peace-o", + "unicode": "f25b", + "created": 4.4, + "categories": [ + "Web Application Icons", + "Hand Icons" + ] + }, + { + "name": "Trademark", + "id": "trademark", + "unicode": "f25c", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Registered Trademark", + "id": "registered", + "unicode": "f25d", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Creative Commons", + "id": "creative-commons", + "unicode": "f25e", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "GG Currency", + "id": "gg", + "unicode": "f260", + "created": 4.4, + "categories": [ + "Currency Icons", + "Brand Icons" + ] + }, + { + "name": "GG Currency Circle", + "id": "gg-circle", + "unicode": "f261", + "created": 4.4, + "categories": [ + "Currency Icons", + "Brand Icons" + ] + }, + { + "name": "TripAdvisor", + "id": "tripadvisor", + "unicode": "f262", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Odnoklassniki", + "id": "odnoklassniki", + "unicode": "f263", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Odnoklassniki Square", + "id": "odnoklassniki-square", + "unicode": "f264", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Get Pocket", + "id": "get-pocket", + "unicode": "f265", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Wikipedia W", + "id": "wikipedia-w", + "unicode": "f266", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Safari", + "id": "safari", + "unicode": "f267", + "created": 4.4, + "filter": [ + "browser" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Chrome", + "id": "chrome", + "unicode": "f268", + "created": 4.4, + "filter": [ + "browser" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Firefox", + "id": "firefox", + "unicode": "f269", + "created": 4.4, + "filter": [ + "browser" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Opera", + "id": "opera", + "unicode": "f26a", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Internet-explorer", + "id": "internet-explorer", + "unicode": "f26b", + "created": 4.4, + "filter": [ + "browser", + "ie" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Television", + "id": "television", + "unicode": "f26c", + "created": 4.4, + "aliases": [ + "tv" + ], + "filter": [ + "display", + "computer", + "monitor" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Contao", + "id": "contao", + "unicode": "f26d", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "500px", + "id": "500px", + "unicode": "f26e", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Amazon", + "id": "amazon", + "unicode": "f270", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Calendar Plus Outlined", + "id": "calendar-plus-o", + "unicode": "f271", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Calendar Minus Outlined", + "id": "calendar-minus-o", + "unicode": "f272", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Calendar Times Outlined", + "id": "calendar-times-o", + "unicode": "f273", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Calendar Check Outlined", + "id": "calendar-check-o", + "unicode": "f274", + "created": 4.4, + "filter": [ + "ok" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Industry", + "id": "industry", + "unicode": "f275", + "created": 4.4, + "filter": [ + "factory" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Map Pin", + "id": "map-pin", + "unicode": "f276", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Map Signs", + "id": "map-signs", + "unicode": "f277", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Map Outlined", + "id": "map-o", + "unicode": "f278", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Map", + "id": "map", + "unicode": "f279", + "created": 4.4, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Commenting", + "id": "commenting", + "unicode": "f27a", + "created": 4.4, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Commenting Outlined", + "id": "commenting-o", + "unicode": "f27b", + "created": 4.4, + "filter": [ + "speech", + "notification", + "note", + "chat", + "bubble", + "feedback", + "message", + "texting", + "sms", + "conversation" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Houzz", + "id": "houzz", + "unicode": "f27c", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Vimeo", + "id": "vimeo", + "unicode": "f27d", + "created": 4.4, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Font Awesome Black Tie", + "id": "black-tie", + "unicode": "f27e", + "created": 4.4, + "url": "blacktie.io", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Fonticons", + "id": "fonticons", + "unicode": "f280", + "created": 4.4, + "url": "fonticons.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "reddit Alien", + "id": "reddit-alien", + "unicode": "f281", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Edge Browser", + "id": "edge", + "unicode": "f282", + "created": 4.5, + "filter": [ + "browser", + "ie" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Credit Card", + "id": "credit-card-alt", + "unicode": "f283", + "created": 4.5, + "filter": [ + "money", + "buy", + "debit", + "checkout", + "purchase", + "payment", + "credit card" + ], + "categories": [ + "Payment Icons", + "Web Application Icons" + ] + }, + { + "name": "Codie Pie", + "id": "codiepie", + "unicode": "f284", + "created": 4.5, + "url": "codiepie.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "MODX", + "id": "modx", + "unicode": "f285", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Fort Awesome", + "id": "fort-awesome", + "unicode": "f286", + "created": 4.5, + "url": "fortawesome.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "USB", + "id": "usb", + "unicode": "f287", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Product Hunt", + "id": "product-hunt", + "unicode": "f288", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Mixcloud", + "id": "mixcloud", + "unicode": "f289", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Scribd", + "id": "scribd", + "unicode": "f28a", + "created": 4.5, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pause Circle", + "id": "pause-circle", + "unicode": "f28b", + "created": 4.5, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Pause Circle Outlined", + "id": "pause-circle-o", + "unicode": "f28c", + "created": 4.5, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Stop Circle", + "id": "stop-circle", + "unicode": "f28d", + "created": 4.5, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Stop Circle Outlined", + "id": "stop-circle-o", + "unicode": "f28e", + "created": 4.5, + "categories": [ + "Video Player Icons" + ] + }, + { + "name": "Shopping Bag", + "id": "shopping-bag", + "unicode": "f290", + "created": 4.5, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Shopping Basket", + "id": "shopping-basket", + "unicode": "f291", + "created": 4.5, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Hashtag", + "id": "hashtag", + "unicode": "f292", + "created": 4.5, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bluetooth", + "id": "bluetooth", + "unicode": "f293", + "created": 4.5, + "categories": [ + "Web Application Icons", + "Brand Icons" + ] + }, + { + "name": "Bluetooth", + "id": "bluetooth-b", + "unicode": "f294", + "created": 4.5, + "categories": [ + "Web Application Icons", + "Brand Icons" + ] + }, + { + "name": "Percent", + "id": "percent", + "unicode": "f295", + "created": 4.5, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "GitLab", + "id": "gitlab", + "unicode": "f296", + "created": 4.6, + "url": "gitlab.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "WPBeginner", + "id": "wpbeginner", + "unicode": "f297", + "created": 4.6, + "url": "wpbeginner.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "WPForms", + "id": "wpforms", + "unicode": "f298", + "created": 4.6, + "url": "wpforms.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Envira Gallery", + "id": "envira", + "unicode": "f299", + "created": 4.6, + "url": "enviragallery.com", + "filter": [ + "leaf" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Universal Access", + "id": "universal-access", + "unicode": "f29a", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Wheelchair Alt", + "id": "wheelchair-alt", + "unicode": "f29b", + "created": 4.6, + "filter": [ + "handicap", + "person" + ], + "categories": [ + "Web Application Icons", + "Medical Icons", + "Transportation Icons", + "Accessibility Icons" + ] + }, + { + "name": "Question Circle Outlined", + "id": "question-circle-o", + "unicode": "f29c", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Blind", + "id": "blind", + "unicode": "f29d", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Audio Description", + "id": "audio-description", + "unicode": "f29e", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Volume Control Phone", + "id": "volume-control-phone", + "unicode": "f2a0", + "created": 4.6, + "filter": [ + "telephone" + ], + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Braille", + "id": "braille", + "unicode": "f2a1", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Assistive Listening Systems", + "id": "assistive-listening-systems", + "unicode": "f2a2", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "American Sign Language Interpreting", + "id": "american-sign-language-interpreting", + "unicode": "f2a3", + "created": 4.6, + "aliases": [ + "asl-interpreting" + ], + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Deaf", + "id": "deaf", + "unicode": "f2a4", + "created": 4.6, + "aliases": [ + "deafness", + "hard-of-hearing" + ], + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Glide", + "id": "glide", + "unicode": "f2a5", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Glide G", + "id": "glide-g", + "unicode": "f2a6", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Sign Language", + "id": "sign-language", + "unicode": "f2a7", + "created": 4.6, + "aliases": [ + "signing" + ], + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Low Vision", + "id": "low-vision", + "unicode": "f2a8", + "created": 4.6, + "categories": [ + "Web Application Icons", + "Accessibility Icons" + ] + }, + { + "name": "Viadeo", + "id": "viadeo", + "unicode": "f2a9", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Viadeo Square", + "id": "viadeo-square", + "unicode": "f2aa", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Snapchat", + "id": "snapchat", + "unicode": "f2ab", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Snapchat Ghost", + "id": "snapchat-ghost", + "unicode": "f2ac", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Snapchat Square", + "id": "snapchat-square", + "unicode": "f2ad", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Pied Piper Logo", + "id": "pied-piper", + "unicode": "f2ae", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "First Order", + "id": "first-order", + "unicode": "f2b0", + "created": 4.6, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Yoast", + "id": "yoast", + "unicode": "f2b1", + "created": 4.6, + "url": "yoast.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "ThemeIsle", + "id": "themeisle", + "unicode": "f2b2", + "created": 4.6, + "url": "themeisle.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Google Plus Official", + "id": "google-plus-official", + "unicode": "f2b3", + "created": 4.6, + "aliases": [ + "google-plus-circle" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Font Awesome", + "id": "font-awesome", + "unicode": "f2b4", + "created": 4.6, + "aliases": [ + "fa" + ], + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Handshake Outlined", + "id": "handshake-o", + "unicode": "f2b5", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Envelope Open", + "id": "envelope-open", + "unicode": "f2b6", + "created": 4.7, + "filter": [ + "email", + "e-mail", + "letter", + "support", + "mail", + "message", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Envelope Open Outlined", + "id": "envelope-open-o", + "unicode": "f2b7", + "created": 4.7, + "filter": [ + "email", + "e-mail", + "letter", + "support", + "mail", + "message", + "notification" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Linode", + "id": "linode", + "unicode": "f2b8", + "created": 4.7, + "url": "linode.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Address Book", + "id": "address-book", + "unicode": "f2b9", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Address Book Outlined", + "id": "address-book-o", + "unicode": "f2ba", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Address Card", + "id": "address-card", + "unicode": "f2bb", + "created": 4.7, + "aliases": [ + "vcard" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Address Card Outlined", + "id": "address-card-o", + "unicode": "f2bc", + "created": 4.7, + "aliases": [ + "vcard-o" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "User Circle", + "id": "user-circle", + "unicode": "f2bd", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "User Circle Outlined", + "id": "user-circle-o", + "unicode": "f2be", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "User Outlined", + "id": "user-o", + "unicode": "f2c0", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Identification Badge", + "id": "id-badge", + "unicode": "f2c1", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Identification Card", + "id": "id-card", + "unicode": "f2c2", + "created": 4.7, + "aliases": [ + "drivers-license" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Identification Card Outlined", + "id": "id-card-o", + "unicode": "f2c3", + "created": 4.7, + "aliases": [ + "drivers-license-o" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Quora", + "id": "quora", + "unicode": "f2c4", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Free Code Camp", + "id": "free-code-camp", + "unicode": "f2c5", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Telegram", + "id": "telegram", + "unicode": "f2c6", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Thermometer Full", + "id": "thermometer-full", + "unicode": "f2c7", + "created": 4.7, + "aliases": [ + "thermometer-4", + "thermometer" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Thermometer 3/4 Full", + "id": "thermometer-three-quarters", + "unicode": "f2c8", + "created": 4.7, + "aliases": [ + "thermometer-3" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Thermometer 1/2 Full", + "id": "thermometer-half", + "unicode": "f2c9", + "created": 4.7, + "aliases": [ + "thermometer-2" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Thermometer 1/4 Full", + "id": "thermometer-quarter", + "unicode": "f2ca", + "created": 4.7, + "aliases": [ + "thermometer-1" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Thermometer Empty", + "id": "thermometer-empty", + "unicode": "f2cb", + "created": 4.7, + "aliases": [ + "thermometer-0" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Shower", + "id": "shower", + "unicode": "f2cc", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bath", + "id": "bath", + "unicode": "f2cd", + "created": 4.7, + "aliases": [ + "bathtub", + "s15" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Podcast", + "id": "podcast", + "unicode": "f2ce", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Window Maximize", + "id": "window-maximize", + "unicode": "f2d0", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Window Minimize", + "id": "window-minimize", + "unicode": "f2d1", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Window Restore", + "id": "window-restore", + "unicode": "f2d2", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Window Close", + "id": "window-close", + "unicode": "f2d3", + "created": 4.7, + "aliases": [ + "times-rectangle" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Window Close Outline", + "id": "window-close-o", + "unicode": "f2d4", + "created": 4.7, + "aliases": [ + "times-rectangle-o" + ], + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Bandcamp", + "id": "bandcamp", + "unicode": "f2d5", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Grav", + "id": "grav", + "unicode": "f2d6", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Etsy", + "id": "etsy", + "unicode": "f2d7", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "IMDB", + "id": "imdb", + "unicode": "f2d8", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Ravelry", + "id": "ravelry", + "unicode": "f2d9", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Eercast", + "id": "eercast", + "unicode": "f2da", + "created": 4.7, + "url": "eercast.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Microchip", + "id": "microchip", + "unicode": "f2db", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Snowflake Outlined", + "id": "snowflake-o", + "unicode": "f2dc", + "created": 4.7, + "categories": [ + "Web Application Icons" + ] + }, + { + "name": "Superpowers", + "id": "superpowers", + "unicode": "f2dd", + "created": 4.7, + "url": "superpowers.io", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "WPExplorer", + "id": "wpexplorer", + "unicode": "f2de", + "created": 4.7, + "url": "wpexplorer.com", + "categories": [ + "Brand Icons" + ] + }, + { + "name": "Meetup", + "id": "meetup", + "unicode": "f2e0", + "created": 4.7, + "categories": [ + "Brand Icons" + ] + } + ] +} diff --git a/functions/kirki/packages/kirki-framework/field-multicolor/LICENSE b/functions/kirki/packages/kirki-framework/field-multicolor/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-multicolor/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field-multicolor/README.md b/functions/kirki/packages/kirki-framework/field-multicolor/README.md new file mode 100644 index 0000000..78f0ce1 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-multicolor/README.md @@ -0,0 +1,65 @@ +# control-multicolor + +## Installation + +First, install the package using composer: + +```bash +composer require kirki-framework/control-multicolor +``` + +Make sure you include the autoloader: +```php +require_once get_parent_theme_file_path( 'vendor/autoload.php' ); +``` + +To add a control using the customizer API: + +```php + +/** + * Registers the control and whitelists it for JS templating. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + $wp_customize->register_control_type( '\Kirki\Control\Multicolor' ); +} ); + +/** + * Add Customizer settings & controls. + * + * @since 1.0 + * @param WP_Customize_Manager $wp_customize The WP_Customize_Manager object. + * @return void + */ +add_action( 'customize_register', function( $wp_customize ) { + + // Add setting. + $wp_customize->add_setting( 'my_control', [ + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'default' => [ + 'default' => '#ffffff', + 'active' => '#08ccff', + ], + 'transport' => 'refresh', // Or postMessage. + 'sanitize_callback' => [ '\Kirki\Field\Multicolor', 'sanitize' ], // Or a custom sanitization callback. + ] ); + + // Add control. + $wp_customize->add_control( new \Kirki\Control\Multicolor( $wp_customize, 'my_control', [ + 'label' => esc_html__( 'My Control', 'theme_textdomain' ), + 'section' => 'my_section', + 'choices' => [ + 'option-1' => esc_html__( 'Option 1', 'theme_textdomain' ), + 'option-2' => esc_html__( 'Option 2', 'theme_textdomain' ), + 'option-3' => esc_html__( 'Option 3', 'theme_textdomain' ), + 'option-4' => esc_html__( 'Option 4', 'theme_textdomain' ), + 'option-5' => esc_html__( 'Option 5', 'theme_textdomain' ), + ], + ] ) ); +} ); +``` diff --git a/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/CSS/Multicolor.php b/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/CSS/Multicolor.php new file mode 100644 index 0000000..b23ced4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/CSS/Multicolor.php @@ -0,0 +1,58 @@ + $sub_value ) { + + // If "element" is not defined, there's no reason to continue. + if ( ! isset( $output['element'] ) ) { + continue; + } + + // If the "choice" is not the same as the $key in our loop, there's no reason to proceed. + if ( isset( $output['choice'] ) && $key !== $output['choice'] ) { + continue; + } + + // If "property" is not defined, fallback to the $key. + $property = ( ! isset( $output['property'] ) || empty( $output['property'] ) ) ? $key : $output['property']; + + // If "media_query" is not defined, use "global". + if ( ! isset( $output['media_query'] ) || empty( $output['media_query'] ) ) { + $output['media_query'] = 'global'; + } + + // If "suffix" is defined, add it to the value. + $output['suffix'] = ( isset( $output['suffix'] ) ) ? $output['suffix'] : ''; + + // Create the styles. + $this->styles[ $output['media_query'] ][ $output['element'] ][ $property ] = $sub_value . $output['suffix']; + + } + } +} diff --git a/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/Multicolor.php b/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/Multicolor.php new file mode 100644 index 0000000..f37827f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-multicolor/src/Field/Multicolor.php @@ -0,0 +1,259 @@ + 'kirki-generic', + 'default' => '', + 'wrapper_opts' => [ + 'gap' => 'small', + ], + 'input_attrs' => '', + 'choices' => [ + 'type' => 'hidden', + 'parent_type' => 'kirki-multicolor', + ], + 'sanitize_callback' => [ __CLASS__, 'sanitize' ], + ], + $args + ); + + /** + * Add a hidden field, the label & description. + */ + new \Kirki\Field\Generic( $parent_control_args ); + + $total_colors = count( $args['choices'] ); + $loop_index = 0; + + $use_alpha = $this->filter_preferred_choice_setting( 'alpha', null, $args ) ? true : false; + $swatches = $this->filter_preferred_choice_setting( 'swatches', null, $args ); + $swatches = empty( $swatches ) ? $this->filter_preferred_choice_setting( 'palettes', null, $args ) : $swatches; + $swatches = empty( $swatches ) ? [] : $swatches; + + if ( empty( $swatches ) ) { + $swatches = isset( $args['palettes'] ) && ! empty( $args['palettes'] ) ? $args['palettes'] : []; + } + + foreach ( $args['choices'] as $choice => $choice_label ) { + $loop_index++; + + $classnames = '{default_class} kirki-group-item'; + $classnames .= 1 === $loop_index ? ' kirki-group-start' : ( $loop_index === $total_colors ? ' kirki-group-end' : $classnames ); + + $use_alpha_per_choice = $this->filter_preferred_choice_setting( 'alpha', $choice, $args ) ? true : $use_alpha; + $swatches_per_choice = $this->filter_preferred_choice_setting( 'swatches', $choice, $args ); + $swatches_per_choice = empty( $swatches_per_choice ) ? $this->filter_preferred_choice_setting( 'palettes', $choice, $args ) : $swatches_per_choice; + $swatches_per_choice = empty( $swatches_per_choice ) ? $swatches : $swatches_per_choice; + + $control_args = wp_parse_args( + [ + 'settings' => $args['settings'] . '[' . $choice . ']', + 'parent_setting' => $args['settings'], + 'label' => $choice_label, + 'description' => '', + 'default' => $this->filter_preferred_choice_setting( 'default', $choice, $args ), + 'wrapper_attrs' => [ + 'data-kirki-parent-control-type' => 'kirki-multicolor', + 'class' => $classnames, + ], + 'input_attrs' => $this->filter_preferred_choice_setting( 'input_attrs', $choice, $args ), + 'choices' => [ + 'alpha' => $use_alpha_per_choice, + 'label_style' => 'tooltip', + 'swatches' => $swatches_per_choice, + ], + 'css_vars' => [], + 'output' => [], + ], + $args + ); + + foreach ( $control_args['choices'] as $control_choice_id => $control_choice_value ) { + if ( isset( $control_args[ $control_choice_id ] ) ) { + unset( $control_args[ $control_choice_id ] ); + } else { + if ( 'swatches' === $control_choice_id || 'palettes' === $control_choice_id ) { + if ( isset( $control_args['palettes'] ) ) { + unset( $control_args['palettes'] ); + } + + if ( isset( $control_args['swatches'] ) ) { + unset( $control_args['swatches'] ); + } + } + } + } + + new \Kirki\Field\ReactColorful( $control_args ); + } + } + + /** + * Prefer control specific value over field value + * + * @access public + * @since 4.0 + * + * @param string $setting The argument key inside $args. + * @param string $choice The choice key inside $args['choices']. + * @param array $args The arguments. + * + * @return string + */ + public function filter_preferred_choice_setting( $setting, $choice, $args ) { + + // Fail early. + if ( ! isset( $args[ $setting ] ) ) { + return ''; + } + + if ( null === $choice ) { + $per_choice_found = false; + + foreach ( $args['choices'] as $choice_id => $choice_label ) { + if ( isset( $args[ $setting ][ $choice_id ] ) ) { + $per_choice_found = true; + break; + } + } + + if ( ! $per_choice_found ) { + return $args[ $setting ]; + } + + return ''; + } + + // If a specific field for the choice is set. + if ( isset( $args[ $setting ][ $choice ] ) ) { + return $args[ $setting ][ $choice ]; + } + + // Unset all other choices. + foreach ( $args['choices'] as $id => $set ) { + if ( $id !== $choice && isset( $args[ $setting ][ $id ] ) ) { + unset( $args[ $setting ][ $id ] ); + } elseif ( ! isset( $args[ $setting ][ $id ] ) ) { + $args[ $setting ] = ''; + } + } + + return $args[ $setting ]; + + } + + /** + * Filter arguments before creating the setting. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_setting_args( $args, $wp_customize ) { + + if ( $args['settings'] !== $this->args['settings'] ) { + return $args; + } + + // Set the sanitize-callback if none is defined. + if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) { + $args['sanitize_callback'] = [ __CLASS__, 'sanitize' ]; + } + + return $args; + } + + /** + * Sanitizes background controls + * + * @static + * @access public + * @since 1.0 + * @param array $value The value. + * @return array + */ + public static function sanitize( $value ) { + + foreach ( $value as $key => $subvalue ) { + $value[ $key ] = \Kirki\Field\Color::sanitize( $subvalue ); + } + + return $value; + + } + + /** + * Override parent method. No need to register any setting. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_setting( $wp_customize ) {} + + /** + * Override the parent method. No need for a control. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_control( $wp_customize ) {} + + /** + * Adds a custom output class for typography fields. + * + * @access public + * @since 1.0 + * @param array $classnames The array of classnames. + * @return array + */ + public function output_control_classnames( $classnames ) { + $classnames['kirki-multicolor'] = '\Kirki\Field\CSS\Multicolor'; + return $classnames; + } +} diff --git a/functions/kirki/packages/kirki-framework/field-typography/LICENSE b/functions/kirki/packages/kirki-framework/field-typography/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field-typography/dist/control.css b/functions/kirki/packages/kirki-framework/field-typography/dist/control.css new file mode 100644 index 0000000..411c55b --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/dist/control.css @@ -0,0 +1,2 @@ +.customize-control-kirki[data-kirki-parent-control-type=kirki-typography]{margin-bottom:10px}.customize-control-kirki[data-kirki-parent-control-type=kirki-typography] .customize-control-title{font-size:12px;font-weight:500;margin-bottom:0}.customize-control-kirki[data-kirki-typography-css-prop=text-decoration]{margin-bottom:15px}.kirki-typography-end{margin-bottom:8px;margin-top:8px}.kirki-typography-end hr{margin-bottom:0;margin-top:0} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/field-typography/dist/control.js b/functions/kirki/packages/kirki-framework/field-typography/dist/control.js new file mode 100644 index 0000000..d9ffd58 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/dist/control.js @@ -0,0 +1,2 @@ +!function(){function t(t,i){var n=wp.customize.control(t);if(void 0!==n){var o=(i=i||n.setting.get())["font-family"]&&kirkiGoogleFonts.items[i["font-family"]],a=i.variant?i.variant.toString():"regular",e=wp.customize.control(t+"[variant]"),r=[];if(o){var l=kirkiGoogleFonts.items[i["font-family"]].variants;l.sort((function(t,i){return ti?1:0})),kirkiFontVariants.complete.forEach((function(t){-1!==l.indexOf(t.value)&&r.push({value:t.value,label:t.label})}))}else{var c=t.replace(/]/g,"");c=c.replace(/\[/g,"_"),r=kirkiCustomVariants[c][i["font-family"]]?kirkiCustomVariants[c][i["font-family"]]:kirkiFontVariants.standard}-1!==a.indexOf("i")?i["font-style"]="italic":i["font-style"]="normal",i["font-weight"]="regular"===a||"italic"===a?400:parseInt(a,10),e&&(1field['default'][ $property ] ) ) { + continue; + } + + // Early exit if the value is not saved in the values. + if ( ! isset( $value[ $property ] ) || ! $value[ $property ] ) { + continue; + } + + // Early exit if we use "choice" but not for this property. + if ( isset( $output['choice'] ) && $output['choice'] !== $property ) { + continue; + } + + // Take care of variants. + if ( 'variant' === $property && isset( $value['variant'] ) && ! empty( $value['variant'] ) ) { + + // Get the font_weight. + $font_weight = str_replace( 'italic', '', $value['variant'] ); + $font_weight = ( in_array( $font_weight, [ '', 'regular' ], true ) ) ? '400' : $font_weight; + + // Is this italic? + $is_italic = ( false !== strpos( $value['variant'], 'italic' ) ); + + $this->styles[ $output['media_query'] ][ $output['element'] ]['font-weight'] = $font_weight; + + if ( $is_italic ) { + $this->styles[ $output['media_query'] ][ $output['element'] ]['font-style'] = 'italic'; + } + + continue; + } + + $property_value = $this->process_property_value( $property, $value[ $property ] ); + $property = ( isset( $output['choice'] ) && isset( $output['property'] ) ) ? $output['property'] : $property; + $property_value = ( is_array( $property_value ) && isset( $property_value[0] ) ) ? $property_value[0] : $property_value; + $this->styles[ $output['media_query'] ][ $output['element'] ][ $property ] = $output['prefix'] . $property_value . $output['suffix']; + } + + } +} diff --git a/functions/kirki/packages/kirki-framework/field-typography/src/Field/Typography.php b/functions/kirki/packages/kirki-framework/field-typography/src/Field/Typography.php new file mode 100644 index 0000000..14362aa --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/src/Field/Typography.php @@ -0,0 +1,1016 @@ + 'regular', + 'label' => __( 'Regular', 'kirki' ), + ], + [ + 'value' => 'italic', + 'label' => __( 'Italic', 'kirki' ), + ], + [ + 'value' => '700', + 'label' => __( '700', 'kirki' ), + ], + [ + 'value' => '700italic', + 'label' => __( '700 Italic', 'kirki' ), + ], + ]; + + self::$complete_variants = [ + [ + 'value' => 'regular', + 'label' => __( 'Regular', 'kirki' ), + ], + [ + 'value' => 'italic', + 'label' => __( 'Italic', 'kirki' ), + ], + [ + 'value' => '100', + 'label' => __( '100', 'kirki' ), + ], + [ + 'value' => '100italic', + 'label' => __( '100 Italic', 'kirki' ), + ], + [ + 'value' => '200', + 'label' => __( '200', 'kirki' ), + ], + [ + 'value' => '200italic', + 'label' => __( '200 Italic', 'kirki' ), + ], + [ + 'value' => '300', + 'label' => __( '300', 'kirki' ), + ], + [ + 'value' => '300italic', + 'label' => __( '300 Italic', 'kirki' ), + ], + [ + 'value' => '500', + 'label' => __( '500', 'kirki' ), + ], + [ + 'value' => '500italic', + 'label' => __( '500 Italic', 'kirki' ), + ], + [ + 'value' => '600', + 'label' => __( '600', 'kirki' ), + ], + [ + 'value' => '600italic', + 'label' => __( '600 Italic', 'kirki' ), + ], + [ + 'value' => '700', + 'label' => __( '700', 'kirki' ), + ], + [ + 'value' => '700italic', + 'label' => __( '700 Italic', 'kirki' ), + ], + [ + 'value' => '800', + 'label' => __( '800', 'kirki' ), + ], + [ + 'value' => '800italic', + 'label' => __( '800 Italic', 'kirki' ), + ], + [ + 'value' => '900', + 'label' => __( '900', 'kirki' ), + ], + [ + 'value' => '900italic', + 'label' => __( '900 Italic', 'kirki' ), + ], + ]; + + foreach ( self::$complete_variants as $variants ) { + self::$complete_variant_labels[ $variants['value'] ] = $variants['label']; + } + + $this->add_sub_fields( $args ); + + add_action( 'customize_controls_enqueue_scripts', [ $this, 'enqueue_control_scripts' ] ); + add_action( 'customize_preview_init', [ $this, 'enqueue_preview_scripts' ] ); + add_filter( 'kirki_output_control_classnames', [ $this, 'output_control_classnames' ] ); + } + + /** + * Add sub-fields. + * + * @access private + * @since 1.0 + * @param array $args The field arguments. + * @return void + */ + private function add_sub_fields( $args ) { + + $args['kirki_config'] = isset( $args['kirki_config'] ) ? $args['kirki_config'] : 'global'; + + $defaults = isset( $args['default'] ) ? $args['default'] : []; + + /** + * Add a hidden field, the label & description. + */ + new \Kirki\Field\Generic( + wp_parse_args( + [ + 'sanitize_callback' => isset( $args['sanitize_callback'] ) ? $args['sanitize_callback'] : [ __CLASS__, 'sanitize' ], + 'wrapper_opts' => [ + 'gap' => 'small', + ], + 'input_attrs' => '', + 'choices' => [ + 'type' => 'hidden', + 'parent_type' => 'kirki-typography', + ], + ], + $args + ) + ); + + $args['parent_setting'] = $args['settings']; + $args['output'] = []; + $args['wrapper_attrs'] = [ + 'data-kirki-parent-control-type' => 'kirki-typography', + ]; + + if ( isset( $args['transport'] ) && 'auto' === $args['transport'] ) { + $args['transport'] = 'postMessage'; + } + + /** + * Add font-family selection controls. + * These include font-family and variant. + * They are grouped here because all they are required. + * in order to get the right googlefont variant. + */ + if ( isset( $args['default']['font-family'] ) ) { + + $args['wrapper_attrs']['kirki-typography-subcontrol-type'] = 'font-family'; + + /** + * Add font-family control. + */ + new \Kirki\Field\ReactSelect( + wp_parse_args( + [ + 'label' => esc_html__( 'Font Family', 'kirki' ), + 'description' => '', + 'settings' => $args['settings'] . '[font-family]', + 'default' => isset( $args['default']['font-family'] ) ? $args['default']['font-family'] : '', + 'input_attrs' => $this->filter_preferred_choice_setting( 'input_attrs', 'font-family', $args ), + 'choices' => [], // The choices will be populated later inside `get_font_family_choices` function in this file. + 'css_vars' => [], + 'output' => [], + ], + $args + ) + ); + + /** + * Add font variant. + */ + $font_variant = isset( $args['default']['variant'] ) ? $args['default']['variant'] : 'regular'; + + if ( isset( $args['default']['font-weight'] ) ) { + $font_variant = 400 === $args['default']['font-weight'] || '400' === $args['default']['font-weight'] ? 'regular' : $args['default']['font-weight']; + } + + $args['wrapper_attrs']['kirki-typography-subcontrol-type'] = 'font-variant'; + + new \Kirki\Field\ReactSelect( + wp_parse_args( + [ + 'label' => esc_html__( 'Font Variant', 'kirki' ), + 'description' => '', + 'settings' => $args['settings'] . '[variant]', + 'default' => $font_variant, + 'input_attrs' => $this->filter_preferred_choice_setting( 'input_attrs', 'variant', $args ), + 'choices' => [], // The choices will be populated later inside `get_variant_choices` function in this file. + 'css_vars' => [], + 'output' => [], + ], + $args + ) + ); + + } + + $font_size_field_specified = isset( $defaults['font-size'] ); + $color_field_specified = isset( $defaults['color'] ); + + if ( $font_size_field_specified || $color_field_specified ) { + $group = [ + 'font-size' => [ + 'type' => 'dimension', + 'label' => esc_html__( 'Font Size', 'kirki' ), + 'is_specified' => $font_size_field_specified, + ], + 'color' => [ + 'type' => 'react-colorful', + 'label' => esc_html__( 'Font Color', 'kirki' ), + 'is_specified' => $color_field_specified, + 'choices' => [ + 'alpha' => true, + 'label_style' => 'top', + ], + ], + ]; + + $this->generate_controls_group( $group, $args ); + } + + $text_align_field_specified = isset( $defaults['text-align'] ); + $text_transform_field_specified = isset( $defaults['text-transform'] ); + + if ( $text_align_field_specified || $text_transform_field_specified ) { + $group = [ + 'text-align' => [ + 'type' => 'react-select', + 'label' => esc_html__( 'Text Align', 'kirki' ), + 'is_specified' => $text_align_field_specified, + 'choices' => [ + 'initial' => esc_html__( 'Initial', 'kirki' ), + 'left' => esc_html__( 'Left', 'kirki' ), + 'center' => esc_html__( 'Center', 'kirki' ), + 'right' => esc_html__( 'Right', 'kirki' ), + 'justify' => esc_html__( 'Justify', 'kirki' ), + ], + ], + 'text-transform' => [ + 'type' => 'react-select', + 'label' => esc_html__( 'Text Transform', 'kirki' ), + 'is_specified' => $text_transform_field_specified, + 'choices' => [ + 'none' => esc_html__( 'None', 'kirki' ), + 'capitalize' => esc_html__( 'Capitalize', 'kirki' ), + 'uppercase' => esc_html__( 'Uppercase', 'kirki' ), + 'lowercase' => esc_html__( 'Lowercase', 'kirki' ), + ], + ], + ]; + + $this->generate_controls_group( $group, $args ); + } + + $text_decoration_field_specified = isset( $defaults['text-decoration'] ); + + if ( $text_decoration_field_specified ) { + $group = [ + 'text-decoration' => [ + 'type' => 'react-select', + 'label' => esc_html__( 'Text Decoration', 'kirki' ), + 'is_specified' => $text_decoration_field_specified, + 'choices' => [ + 'none' => esc_html__( 'None', 'kirki' ), + 'underline' => esc_html__( 'Underline', 'kirki' ), + 'line-through' => esc_html__( 'Line Through', 'kirki' ), + 'overline' => esc_html__( 'Overline', 'kirki' ), + 'solid' => esc_html__( 'Solid', 'kirki' ), + 'wavy' => esc_html__( 'Wavy', 'kirki' ), + ], + ], + ]; + + $this->generate_controls_group( $group, $args ); + } + + $line_height_field_specified = isset( $defaults['line-height'] ); + $letter_spacing_field_specified = isset( $defaults['letter-spacing'] ); + + if ( $line_height_field_specified || $letter_spacing_field_specified ) { + $group = [ + 'line-height' => [ + 'type' => 'dimension', + 'label' => esc_html__( 'Line Height', 'kirki' ), + 'is_specified' => $line_height_field_specified, + ], + 'letter-spacing' => [ + 'type' => 'dimension', + 'label' => esc_html__( 'Letter Spacing', 'kirki' ), + 'is_specified' => $letter_spacing_field_specified, + ], + ]; + + $this->generate_controls_group( $group, $args ); + } + + $margin_top_field_specified = isset( $defaults['margin-top'] ); + $margin_bottom_field_specified = isset( $defaults['margin-bottom'] ); + + if ( $margin_top_field_specified || $margin_bottom_field_specified ) { + $group = [ + 'margin-top' => [ + 'type' => 'dimension', + 'label' => esc_html__( 'Margin Top', 'kirki' ), + 'is_specified' => $margin_top_field_specified, + ], + 'margin-bottom' => [ + 'type' => 'dimension', + 'label' => esc_html__( 'Margin Bottom', 'kirki' ), + 'is_specified' => $margin_bottom_field_specified, + ], + ]; + + $this->generate_controls_group( $group, $args ); + } + + } + + /** + * Generate controls group. + * + * @param array $group The group data. + * @param array $args The field args. + */ + public function generate_controls_group( $group, $args ) { + + $total_specified = 0; + $field_width = 100; + + foreach ( $group as $css_prop => $control ) { + if ( $control['is_specified'] ) { + $total_specified++; + } + } + + if ( $total_specified > 1 ) { + $field_width = floor( 100 / $total_specified ); + } + + $group_count = 0; + + foreach ( $group as $css_prop => $control ) { + if ( $control['is_specified'] ) { + $group_count++; + + $group_classname = 'kirki-group-item'; + $group_classname .= 1 === $group_count ? ' kirki-group-start' : ( $group_count === $total_specified ? ' kirki-group-end' : '' ); + + $control_class = str_ireplace( '-', ' ', $control['type'] ); + $control_class = ucwords( $control_class ); + $control_class = str_replace( ' ', '', $control_class ); + $control_class = '\\Kirki\\Field\\' . $control_class; + + new $control_class( + wp_parse_args( + [ + 'label' => isset( $control['label'] ) ? $control['label'] : '', + 'description' => isset( $control['description'] ) ? $control['description'] : '', + 'settings' => $args['settings'] . '[' . $css_prop . ']', + 'default' => $args['default'][ $css_prop ], + 'wrapper_attrs' => wp_parse_args( + [ + 'data-kirki-typography-css-prop' => $css_prop, + 'kirki-typography-subcontrol-type' => $css_prop, + 'class' => '{default_class} ' . $group_classname . ' kirki-w' . $field_width, + ], + $args['wrapper_attrs'] + ), + 'input_attrs' => $this->filter_preferred_choice_setting( 'input_attrs', $css_prop, $args ), + 'choices' => ( isset( $control['choices'] ) ? $control['choices'] : [] ), + 'css_vars' => [], + 'output' => [], + ], + $args + ) + ); + + } + } + + } + + /** + * Sanitizes typography controls + * + * @static + * @since 1.0 + * @param array $value The value. + * @return array + */ + public static function sanitize( $value ) { + + if ( ! is_array( $value ) ) { + return []; + } + + foreach ( $value as $key => $val ) { + switch ( $key ) { + case 'font-family': + $value['font-family'] = sanitize_text_field( $val ); + break; + + case 'variant': + // Use 'regular' instead of 400 for font-variant. + $value['variant'] = ( 400 === $val || '400' === $val ) ? 'regular' : $val; + + // Get font-weight from variant. + $value['font-weight'] = filter_var( $value['variant'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); + $value['font-weight'] = ( 'regular' === $value['variant'] || 'italic' === $value['variant'] ) ? '400' : (string) absint( $value['font-weight'] ); + + // Get font-style from variant. + if ( ! isset( $value['font-style'] ) ) { + $value['font-style'] = ( false === strpos( $value['variant'], 'italic' ) ) ? 'normal' : 'italic'; + } + + break; + + case 'text-align': + if ( ! in_array( $val, [ '', 'inherit', 'left', 'center', 'right', 'justify' ], true ) ) { + $value['text-align'] = ''; + } + + break; + + case 'text-transform': + if ( ! in_array( $val, [ '', 'none', 'capitalize', 'uppercase', 'lowercase', 'initial', 'inherit' ], true ) ) { + $value['text-transform'] = ''; + } + + break; + + case 'text-decoration': + if ( ! in_array( $val, [ '', 'none', 'underline', 'overline', 'line-through', 'solid', 'wavy', 'initial', 'inherit' ], true ) ) { + $value['text-transform'] = ''; + } + + break; + + case 'color': + $value['color'] = '' === $value['color'] ? '' : \Kirki\Field\ReactColorful::sanitize( $value['color'] ); + break; + + default: + $value[ $key ] = sanitize_text_field( $value[ $key ] ); + } + } + + return $value; + + } + + /** + * Enqueue scripts & styles. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue_control_scripts() { + + wp_enqueue_style( 'kirki-control-typography', \Kirki\URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.css' ), [], '1.0' ); + + wp_enqueue_script( 'kirki-control-typography', \Kirki\URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/control.js' ), [], '1.0', true ); + + wp_localize_script( 'kirki-control-typography', 'kirkiTypographyControls', self::$typography_controls ); + + $args = $this->args; + + $variants = []; + + // Add custom variants (for custom fonts) to the $variants. + if ( isset( $args['choices'] ) && isset( $args['choices']['fonts'] ) && isset( $args['choices']['fonts']['families'] ) ) { + + // If $args['choices']['fonts']['families'] exists, then loop it. + foreach ( $args['choices']['fonts']['families'] as $font_family_key => $font_family_value ) { + + // Then loop the $font_family_value['children]. + foreach ( $font_family_value['children'] as $font_family ) { + + // Then check if $font_family['id'] exists in variants argument. + if ( isset( $args['choices']['fonts']['variants'] ) && isset( $args['choices']['fonts']['variants'][ $font_family['id'] ] ) ) { + + // Create new array if $variants[ $font_family['id'] ] doesn't exist. + if ( ! isset( $variants[ $font_family['id'] ] ) ) { + $variants[ $font_family['id'] ] = []; + } + + // The $custom_variant here can be something like "400italic" or "italic". + foreach ( $args['choices']['fonts']['variants'][ $font_family['id'] ] as $custom_variant ) { + + // Check if $custom_variant exists in self::$complete_variant_labels. + if ( isset( self::$complete_variant_labels[ $custom_variant ] ) ) { + + // If it exists, assign it to $variants[ $font_family['id'] ], so that they will be available in JS object. + array_push( + $variants[ $font_family['id'] ], + [ + 'value' => $custom_variant, + 'label' => self::$complete_variant_labels[ $custom_variant ], + ] + ); + + } // End of isset(self::$complete_variant_labels[$font_family['id']]) if. + } // End of $args['choices']['fonts']['variants'][ $font_family['id'] foreach. + } + } // End of $font_family_value['children'] foreach. + } // End of $args['choices']['fonts']['families'] foreach. + } // End of $args['choices']['fonts']['families'] if. + + if ( ! isset( $args['choices']['fonts'] ) || ! isset( $args['choices']['fonts']['standard'] ) ) { + $standard_fonts = Fonts::get_standard_fonts(); + + foreach ( $standard_fonts as $font ) { + if ( isset( $font['variants'] ) ) { + + // Create new array if $variants[ $font['stack'] ] doesn't exist. + if ( ! isset( $variants[ $font['stack'] ] ) ) { + $variants[ $font['stack'] ] = []; + } + + // The $std_variant here can be something like "400italic" or "italic". + foreach ( $font['variants'] as $std_variant ) { + + // Check if $std_variant exists in self::$complete_variant_labels. + if ( isset( self::$complete_variant_labels[ $std_variant ] ) ) { + + // If it exists, assign it to $variants[ $font['stack'] ], so that they will be available in JS object. + array_push( + $variants[ $font['stack'] ], + [ + 'value' => $std_variant, + 'label' => self::$complete_variant_labels[ $std_variant ], + ] + ); + + } // End of isset(self::$complete_variant_labels[$font_family['id']]) if. + } // End of $args['choices']['fonts']['variants'][ $font_family['id'] foreach. + } + } + } elseif ( is_array( $args['choices']['fonts']['standard'] ) ) { + foreach ( $args['choices']['fonts']['standard'] as $key => $val ) { + $key = ( is_int( $key ) ) ? $val : $key; + + if ( isset( $val['variants'] ) ) { + + // Create new array if $variants[ $font['stack'] ] doesn't exist. + if ( ! isset( $variants[ $key ] ) ) { + $variants[ $key ] = []; + } + + // The $std_variant here can be something like "400italic" or "italic". + foreach ( $val['variants'] as $std_variant ) { + + // Check if $std_variant exists in self::$complete_variant_labels. + if ( isset( self::$complete_variant_labels[ $std_variant ] ) ) { + + // If it exists, assign it to $variants[ $font['stack'] ], so that they will be available in JS object. + array_push( + $variants[ $key ], + [ + 'value' => $std_variant, + 'label' => self::$complete_variant_labels[ $std_variant ], + ] + ); + + } // End of isset(self::$complete_variant_labels[$font_family['id']]) if. + } // End of $args['choices']['fonts']['variants'][ $font_family['id'] foreach. + } + } + } + + // Scripts inside this block will only be executed once. + if ( ! self::$fonts_var_added ) { + wp_localize_script( + 'kirki-control-typography', + 'kirkiFontVariants', + [ + 'standard' => self::$std_variants, + 'complete' => self::$complete_variants, + ] + ); + + $google = new GoogleFonts(); + + wp_localize_script( 'kirki-control-typography', 'kirkiGoogleFonts', $google->get_array() ); + wp_add_inline_script( 'kirki-control-typography', 'var kirkiCustomVariants = {};', 'before' ); + + self::$fonts_var_added = true; + } + + // This custom variants will be available for each typography control. + $custom_variant_key = str_ireplace( ']', '', $args['settings'] ); + $custom_variant_key = str_ireplace( '[', '_', $custom_variant_key ); + $custom_variant_value = wp_json_encode( Helper::prepare_php_array_for_js( $variants ) ); + + wp_add_inline_script( + 'kirki-control-typography', + 'kirkiCustomVariants["' . $custom_variant_key . '"] = ' . $custom_variant_value . ';', + $variants + ); + + } + + /** + * Enqueue scripts for customize_preview_init. + * + * @access public + * @since 1.0 + * @return void + */ + public function enqueue_preview_scripts() { + + wp_enqueue_script( 'kirki-preview-typography', \Kirki\URL::get_from_path( dirname( dirname( __DIR__ ) ) . '/dist/preview.js' ), [ 'wp-hooks' ], '1.0', true ); + + if ( ! self::$preview_var_added ) { + $google = new GoogleFonts(); + + wp_localize_script( + 'kirki-preview-typography', + 'kirkiGoogleFontNames', + $google->get_google_font_names() + ); + + self::$preview_var_added = true; + } + + } + + /** + * Prefer control specific value over field value + * + * @access public + * @since 4.0 + * @param $setting + * @param $choice + * @param $args + * + * @return string + */ + public function filter_preferred_choice_setting( $setting, $choice, $args ) { + + // Fail early. + if ( ! isset( $args[ $setting ] ) ) { + return ''; + } + + // If a specific field for the choice is set + if ( isset( $args[ $setting ][ $choice ] ) ) { + return $args[ $setting ][ $choice ]; + } + + // Unset input_attrs of all other choices. + foreach ( $args['choices'] as $id => $set ) { + if ( $id !== $choice && isset( $args[ $setting ][ $id ] ) ) { + unset( $args[ $setting ][ $id ] ); + } elseif ( ! isset( $args[ $setting ][ $id ] ) ) { + $args[ $setting ] = ''; + } + } + + return $args[ $setting ]; + + } + + /** + * Populate the font family choices. + * + * It's separated from the `add_sub_field` function to prevent a bug + * when hooking a function into `kirki_fonts_standard_fonts` hook after registering the field. + * + * When a function is hooked to `kirki_fonts_standard_fonts` before registering the field, it will work. + * But if it's hooked after field registration, then the function won't be available. + * + * @access private + * @since 1.0.1 + * + * @return array + */ + private function get_font_family_choices() { + + $args = $this->args; + + // Figure out how to sort the fonts. + $sorting = 'alpha'; + $max_fonts = 9999; + $google = new GoogleFonts(); + + if ( isset( $args['choices'] ) && isset( $args['choices']['fonts'] ) && isset( $args['choices']['fonts']['google'] ) && ! empty( $args['choices']['fonts']['google'] ) ) { + if ( in_array( $args['choices']['fonts']['google'][0], [ 'alpha', 'popularity', 'trending' ], true ) ) { + $sorting = $args['choices']['fonts']['google'][0]; + + if ( isset( $args['choices']['fonts']['google'][1] ) && is_int( $args['choices']['fonts']['google'][1] ) ) { + $max_fonts = (int) $args['choices']['fonts']['google'][1]; + } + + $g_fonts = $google->get_google_fonts_by_args( + [ + 'sort' => $sorting, + 'count' => $max_fonts, + ] + ); + } else { + $g_fonts = $args['choices']['fonts']['google']; + } + } else { + $g_fonts = $google->get_google_fonts_by_args( + [ + 'sort' => $sorting, + 'count' => $max_fonts, + ] + ); + } + + $std_fonts = []; + + if ( ! isset( $args['choices']['fonts'] ) || ! isset( $args['choices']['fonts']['standard'] ) ) { + $standard_fonts = Fonts::get_standard_fonts(); + + foreach ( $standard_fonts as $font ) { + $std_fonts[ $font['stack'] ] = $font['label']; + } + } elseif ( is_array( $args['choices']['fonts']['standard'] ) ) { + foreach ( $args['choices']['fonts']['standard'] as $key => $val ) { + $key = ( \is_int( $key ) ) ? $val : $key; + $std_fonts[ $key ] = $val; + } + } + + $choices = []; + + $choices['default'] = [ + esc_html__( 'Defaults', 'kirki' ), + [ + '' => esc_html__( 'Default', 'kirki' ), + ], + ]; + + if ( isset( $args['choices'] ) && isset( $args['choices']['fonts'] ) && isset( $args['choices']['fonts']['families'] ) ) { + // Implementing the custom font families. + foreach ( $args['choices']['fonts']['families'] as $font_family_key => $font_family_value ) { + if ( ! isset( $choices[ $font_family_key ] ) ) { + $choices[ $font_family_key ] = []; + } + + $family_opts = []; + + foreach ( $font_family_value['children'] as $font_family ) { + $family_opts[ $font_family['id'] ] = $font_family['text']; + } + + $choices[ $font_family_key ] = [ + $font_family_value['text'], + $family_opts, + ]; + } + } + + $choices['standard'] = [ + esc_html__( 'Standard Fonts', 'kirki' ), + $std_fonts, + ]; + + $choices['google'] = [ + esc_html__( 'Google Fonts', 'kirki' ), + array_combine( array_values( $g_fonts ), array_values( $g_fonts ) ), + ]; + + if ( empty( $choices['standard'][1] ) ) { + $choices = array_combine( array_values( $g_fonts ), array_values( $g_fonts ) ); + } elseif ( empty( $choices['google'][1] ) ) { + $choices = $std_fonts; + } + + return $choices; + + } + + /** + * Get custom variant choices (for custom fonts). + * + * It's separated from the `add_sub_field` function to prevent a bug + * when hooking a function into `kirki_fonts_standard_fonts` hook after registering the field. + * + * When a function is hooked to `kirki_fonts_standard_fonts` before registering the field, it will work. + * But if it's hooked after field registration, then the function won't be available. + * + * @access private + * @since 1.0.2 + * + * @return array + */ + private function get_variant_choices() { + + $args = $this->args; + + $choices = self::$std_variants; + + // Implementing the custom variants for custom fonts. + if ( isset( $args['choices'] ) && isset( $args['choices']['fonts'] ) && isset( $args['choices']['fonts']['families'] ) ) { + + $choices = []; + + // If $args['choices']['fonts']['families'] exists, then loop it. + foreach ( $args['choices']['fonts']['families'] as $font_family_key => $font_family_value ) { + + // Then loop the $font_family_value['children]. + foreach ( $font_family_value['children'] as $font_family ) { + + // Then check if $font_family['id'] exists in $args['choices']['fonts']['variants']. + if ( isset( $args['choices']['fonts']['variants'] ) && isset( $args['choices']['fonts']['variants'][ $font_family['id'] ] ) ) { + + // The $custom_variant here can be something like "400italic" or "italic". + foreach ( $args['choices']['fonts']['variants'][ $font_family['id'] ] as $custom_variant ) { + + // Check if $custom_variant exists in self::$complete_variant_labels. + if ( isset( self::$complete_variant_labels[ $custom_variant ] ) ) { + + // If it exists, assign it to $choices. + array_push( + $choices, + [ + 'value' => $custom_variant, + 'label' => self::$complete_variant_labels[ $custom_variant ], + ] + ); + + } // End of isset(self::$complete_variant_labels[$font_family['id']]) if. + } // End of $args['choices']['fonts']['variants'][ $font_family['id'] foreach. + } + } // End of $font_family_value['children'] foreach. + } // End of $args['choices']['fonts']['families'] foreach. + } // End of $args['choices']['fonts']['families'] if. + + return $choices; + + } + + /** + * Filter arguments before creating the control. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + if ( $args['settings'] === $this->args['settings'] . '[font-family]' ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['choices'] = $this->get_font_family_choices(); + } + + if ( $args['settings'] === $this->args['settings'] . '[variant]' ) { + $args = parent::filter_control_args( $args, $wp_customize ); + $args['choices'] = $this->get_variant_choices(); + } + + return $args; + + } + + /** + * Adds a custom output class for typography fields. + * + * @access public + * @since 1.0 + * @param array $classnames The array of classnames. + * @return array + */ + public function output_control_classnames( $classnames ) { + + $classnames['kirki-typography'] = '\Kirki\Field\CSS\Typography'; + return $classnames; + + } + + /** + * Override parent method. No need to register any setting. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_setting( $wp_customize ) {} + + /** + * Override the parent method. No need for a control. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_control( $wp_customize ) {} + +} diff --git a/functions/kirki/packages/kirki-framework/field-typography/src/control.js b/functions/kirki/packages/kirki-framework/field-typography/src/control.js new file mode 100644 index 0000000..c4f18b8 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/src/control.js @@ -0,0 +1,105 @@ +import "./control.scss"; + +/* global kirkiTypographyControls, kirkiGoogleFonts, kirkiFontVariants */ +function kirkiTypographyCompositeControlFontProperties(id, value) { + const control = wp.customize.control(id); + + if ("undefined" === typeof control) { + return; + } + + value = value || control.setting.get(); + + const isGoogle = + value["font-family"] && kirkiGoogleFonts.items[value["font-family"]]; + const variantValue = value["variant"] + ? value["variant"].toString() + : "regular"; + const variantControl = wp.customize.control(id + "[variant]"); + + const sortVariants = function (a, b) { + if (a < b) return -1; + if (a > b) return 1; + return 0; + }; + + let variants = []; + + if (isGoogle) { + let gFontVariants = kirkiGoogleFonts.items[value["font-family"]].variants; + gFontVariants.sort(sortVariants); + + kirkiFontVariants.complete.forEach(function (variant) { + if (-1 !== gFontVariants.indexOf(variant.value)) { + variants.push({ + value: variant.value, + label: variant.label, + }); + } + }); + } else { + let customVariantKey = id.replace(/]/g, ''); + customVariantKey = customVariantKey.replace(/\[/g, '_'); + + if (kirkiCustomVariants[customVariantKey][value["font-family"]]) { + variants = kirkiCustomVariants[customVariantKey][value["font-family"]]; + } else { + variants = kirkiFontVariants.standard; + } + } + + // Set the font-style value. + if (-1 !== variantValue.indexOf("i")) { + value["font-style"] = "italic"; + } else { + value["font-style"] = "normal"; + } + + // Set the font-weight value. + value["font-weight"] = + "regular" === variantValue || "italic" === variantValue + ? 400 + : parseInt(variantValue, 10); + + if (variantControl) { + // Hide/show variant options depending on which are available for this font-family. + if (1 < variants.length && control.active()) { + variantControl.activate(); + } else { + // If there's only 1 variant to choose from, we can hide the control. + variantControl.deactivate(); + } + + variantControl.params.choices = variants; + variantControl.formattedOptions = []; + variantControl.destroy(); + + if (!variants.includes(variantValue)) { + // If the selected font-family doesn't support the currently selected variant, switch to "regular". + variantControl.doSelectAction("selectOption", "regular"); + } else { + variantControl.doSelectAction("selectOption", variantValue); + } + } + + wp.hooks.addAction( + "kirki.dynamicControl.initKirkiControl", + "kirki", + function (controlInit) { + if (variantControl && id + "[variant]" === controlInit.id) { + } + } + ); +} + +jQuery(document).ready(function () { + _.each(kirkiTypographyControls, function (id) { + kirkiTypographyCompositeControlFontProperties(id); + + wp.customize(id, function (value) { + value.bind(function (newval) { + kirkiTypographyCompositeControlFontProperties(id, newval); + }); + }); + }); +}); diff --git a/functions/kirki/packages/kirki-framework/field-typography/src/preview.js b/functions/kirki/packages/kirki-framework/field-typography/src/preview.js new file mode 100644 index 0000000..25b05fb --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field-typography/src/preview.js @@ -0,0 +1,92 @@ +/** + * Hook in the kirkiPostMessageStylesOutput filter. + * + * Handles postMessage styles for typography controls. + */ +jQuery(document).ready(function () { + wp.hooks.addFilter( + "kirkiPostMessageStylesOutput", + "kirki", + + /** + * Append styles for this control. + * + * @param {string} styles - The styles. + * @param {Object} value - The control value. + * @param {Object} output - The control's "output" argument. + * @param {string} controlType - The control type. + * @returns {string} - Returns the CSS as a string. + */ + function (styles, value, output, controlType) { + var googleFont = "", + processedValue; + + if (value.variant) { + value["font-weight"] = + "regular" === value.variant || "italic" === value.variant + ? 400 + : parseInt(value.variant, 10); + + value["font-style"] = value.variant.includes("italic") + ? "italic" + : "normal"; + } + + if ("kirki-typography" === controlType) { + styles += output.element + "{"; + + _.each(value, function (val, key) { + if (output.choice && key !== output.choice) { + return; + } + + if ("variant" === key) { + return; + } + + processedValue = window.kirkiPostMessage.util.processValue( + output, + val + ); + + if (false !== processedValue) { + styles += key + ":" + processedValue + ";"; + } + }); + + styles += "}"; + + // Check if this is a googlefont so that we may load it. + if ( + !_.isUndefined(window.WebFont) && + value["font-family"] && + kirkiGoogleFontNames.includes(value["font-family"]) + ) { + // Calculate the googlefont params. + googleFont = value["font-family"].replace(/\"/g, """); // eslint-disable-line no-useless-escape + + if (value.variant) { + if ("regular" === value.variant) { + googleFont += ":400"; + } else if ("italic" === value.variant) { + googleFont += ":400i"; + } else { + googleFont += ":" + value.variant; + } + } + + googleFont += + ":cyrillic,cyrillic-ext,devanagari,greek,greek-ext,khmer,latin,latin-ext,vietnamese,hebrew,arabic,bengali,gujarati,tamil,telugu,thai"; + + window.WebFont.load({ + google: { + families: [googleFont], + }, + }); + } + } + + return styles; + } + ); +}); diff --git a/functions/kirki/packages/kirki-framework/field/LICENSE b/functions/kirki/packages/kirki-framework/field/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/field/src/Field.php b/functions/kirki/packages/kirki-framework/field/src/Field.php new file mode 100644 index 0000000..b3d8ebd --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field/src/Field.php @@ -0,0 +1,272 @@ +control_class ) ? $this->control_class : ''; + + // Allow 3rd parties to do their custom "init" work. + do_action( 'kirki_field_custom_init', $this, $args, $control_class ); + + // Allow 3rd parties to early stop the field from being registered. + if ( apply_filters( 'kirki_field_exclude_init', false, $this, $args ) ) { + return; + } + + // Set the arguments in this object. + $this->args = $args; + + if ( ! isset( $this->args['settings'] ) ) { + $this->args['settings'] = md5( wp_json_encode( $this->args ) ); + } + + add_action( + 'wp_loaded', + function() { + do_action( 'kirki_field_init', $this->args, $this ); + } + ); + + add_action( + 'wp', + function() { + do_action( 'kirki_field_wp', $this->args, $this ); + } + ); + + $this->init( $this->args ); + + // Register control-type for JS-templating in the customizer. + add_action( 'customize_register', [ $this, 'register_control_type' ] ); + + // Add customizer setting. + add_action( 'customize_register', [ $this, 'add_setting' ] ); + + // Add customizer control. + add_action( 'customize_register', [ $this, 'add_control' ] ); + + // Add default filters. Can be overriden in child classes. + add_filter( 'kirki_field_add_setting_args', [ $this, 'filter_setting_args' ], 10, 2 ); + add_filter( 'kirki_field_add_control_args', [ $this, 'filter_control_args' ], 10, 2 ); + + // Copy $this->args to a variable to be added to Kirki::$all_fields global. + $field_args = $this->args; + + /** + * Kirki::$fields contains only fields which are not extending the new base Field. + * So we collect all fields and add them to Kirki::$all_fields. + * + * ! This patch is used by Kirki::get_option which calls Values::get_value method. + * Even though this is a patch, this is fine and still a good solution to handle backwards compatibility. + */ + \Kirki\Compatibility\Kirki::$all_fields[ $field_args['settings'] ] = $field_args; + + } + + /** + * Runs in the constructor. Can be used by child-classes to define extra logic. + * + * @access protected + * @since 0.1 + * @param array $args The field arguments. + * @return void + */ + protected function init( $args ) {} + + /** + * Register the control-type. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function register_control_type( $wp_customize ) { + + if ( $this->control_class ) { + $wp_customize->register_control_type( $this->control_class ); + } + + } + + /** + * Filter setting args. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_setting_args( $args, $wp_customize ) { + + return $args; + + } + + /** + * Filter control args. + * + * @access public + * @since 0.1 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + + return $args; + + } + + /** + * Registers the setting. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $customizer The customizer instance. + * @return void + */ + public function add_setting( $customizer ) { + + $args = $this->args; + + // This is for postMessage purpose. + // @see wp-content/plugins/kirki/packages/kirki-framework/module-postmessage/src/Postmessage.php inside 'field_add_setting_args' method. + $args['type'] = isset( $this->type ) ? $this->type : ''; + + /** + * Allow filtering the arguments. + * + * @since 0.1 + * @param array $this->args The arguments. + * @param WP_Customize_Manager $customizer The customizer instance. + * @return array Return the arguments. + */ + $args = apply_filters( 'kirki_field_add_setting_args', $args, $customizer ); + + if ( ! isset( $args['settings'] ) || empty( $args['settings'] ) ) { + return; + } + + $setting_id = $args['settings']; + + $args = [ + 'type' => isset( $args['option_type'] ) ? $args['option_type'] : 'theme_mod', // 'type' here doesn't use the $args['type'] but instead checking the $args['option_type']. + 'capability' => isset( $args['capability'] ) ? $args['capability'] : 'edit_theme_options', + 'theme_supports' => isset( $args['theme_supports'] ) ? $args['theme_supports'] : '', + 'default' => isset( $args['default'] ) ? $args['default'] : '', + 'transport' => isset( $args['transport'] ) ? $args['transport'] : 'refresh', + 'sanitize_callback' => isset( $args['sanitize_callback'] ) ? $args['sanitize_callback'] : '', + 'sanitize_js_callback' => isset( $args['sanitize_js_callback'] ) ? $args['sanitize_js_callback'] : '', + ]; + + $settings_class = $this->settings_class ? $this->settings_class : null; + + if ( $settings_class ) { + $customizer->add_setting( new $settings_class( $customizer, $setting_id, $args ) ); + } else { + $customizer->add_setting( $setting_id, $args ); + } + + } + + /** + * Registers the control. + * + * @access public + * @since 0.1 + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return void + */ + public function add_control( $wp_customize ) { + + $control_class = $this->control_class; + + // If no class-name is defined, early exit. + if ( ! $control_class ) { + return; + } + + /** + * Allow filtering the arguments. + * + * @since 0.1 + * @param array $this->args The arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array Return the arguments. + */ + $args = apply_filters( 'kirki_field_add_control_args', $this->args, $wp_customize ); + + $wp_customize->add_control( new $control_class( $wp_customize, $this->args['settings'], $args ) ); + + } + +} diff --git a/functions/kirki/packages/kirki-framework/field/src/Field/None.php b/functions/kirki/packages/kirki-framework/field/src/Field/None.php new file mode 100644 index 0000000..989583f --- /dev/null +++ b/functions/kirki/packages/kirki-framework/field/src/Field/None.php @@ -0,0 +1,20 @@ +get_array(); + + self::$google_fonts = []; + if ( is_array( $fonts ) ) { + foreach ( $fonts['items'] as $font ) { + self::$google_fonts[ $font['family'] ] = [ + 'label' => $font['family'], + 'variants' => $font['variants'], + 'category' => $font['category'], + ]; + } + } + + // Apply the 'kirki_fonts_google_fonts' filter. + self::$google_fonts = apply_filters( 'kirki_fonts_google_fonts', self::$google_fonts ); + + // Save the array in cache. + $cache_time = apply_filters( 'kirki_googlefonts_transient_time', HOUR_IN_SECONDS ); + set_site_transient( 'kirki_googlefonts_cache', self::$google_fonts, $cache_time ); + + return self::$google_fonts; + } + + /** + * Return an array of all available Google Font names. + * + * @access public + * @since 1.0.2 + * @return array All Google Font names. + */ + public function get_google_font_names() { + + // Get fonts from cache. + self::$google_font_names = get_site_transient( 'kirki_googlefont_names_cache' ); + + // If cache is populated, return cached fonts array. + if ( self::$google_font_names ) { + return self::$google_font_names; + } + + // If we got this far, cache was empty so we need to get from JSON. + self::$google_font_names = $this->get_names_array(); + + // Apply the 'kirki_fonts_google_font_names' filter. + self::$google_font_names = apply_filters( 'kirki_fonts_google_font_names', self::$google_font_names ); + + // Save the array in cache. + $cache_time = apply_filters( 'kirki_googlefont_names_transient_time', HOUR_IN_SECONDS ); + set_site_transient( 'kirki_googlefont_names_cache', self::$google_font_names, $cache_time ); + + return self::$google_font_names; + } + + /** + * Returns an array of google-fonts matching our arguments. + * + * @access public + * @since 1.0.0 + * @param array $args The arguments. + * @return array + */ + public function get_google_fonts_by_args( $args = [] ) { + $cache_name = 'kirki_googlefonts_' . md5( wp_json_encode( $args ) ); + $cache = get_site_transient( $cache_name ); + if ( $cache ) { + return $cache; + } + + $args['sort'] = isset( $args['sort'] ) ? $args['sort'] : 'alpha'; + + $fonts = $this->get_array(); + $ordered_fonts = $fonts['order'][ $args['sort'] ]; + if ( isset( $args['count'] ) ) { + $ordered_fonts = array_slice( $ordered_fonts, 0, $args['count'] ); + set_site_transient( $cache_name, $ordered_fonts, HOUR_IN_SECONDS ); + return $ordered_fonts; + } + set_site_transient( $cache_name, $ordered_fonts, HOUR_IN_SECONDS ); + return $ordered_fonts; + } +} diff --git a/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-files.json b/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-files.json new file mode 100644 index 0000000..90bbb9e --- /dev/null +++ b/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-files.json @@ -0,0 +1 @@ +{"Roboto":{"100":"http://fonts.gstatic.com/s/roboto/v29/KFOkCnqEu92Fr1MmgWxPKTM1K9nz.ttf","300":"http://fonts.gstatic.com/s/roboto/v29/KFOlCnqEu92Fr1MmSU5vAx05IsDqlA.ttf","500":"http://fonts.gstatic.com/s/roboto/v29/KFOlCnqEu92Fr1MmEU9vAx05IsDqlA.ttf","700":"http://fonts.gstatic.com/s/roboto/v29/KFOlCnqEu92Fr1MmWUlvAx05IsDqlA.ttf","900":"http://fonts.gstatic.com/s/roboto/v29/KFOlCnqEu92Fr1MmYUtvAx05IsDqlA.ttf","100italic":"http://fonts.gstatic.com/s/roboto/v29/KFOiCnqEu92Fr1Mu51QrIzcXLsnzjYk.ttf","300italic":"http://fonts.gstatic.com/s/roboto/v29/KFOjCnqEu92Fr1Mu51TjARc9AMX6lJBP.ttf","regular":"http://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Me5WZLCzYlKw.ttf","italic":"http://fonts.gstatic.com/s/roboto/v29/KFOkCnqEu92Fr1Mu52xPKTM1K9nz.ttf","500italic":"http://fonts.gstatic.com/s/roboto/v29/KFOjCnqEu92Fr1Mu51S7ABc9AMX6lJBP.ttf","700italic":"http://fonts.gstatic.com/s/roboto/v29/KFOjCnqEu92Fr1Mu51TzBhc9AMX6lJBP.ttf","900italic":"http://fonts.gstatic.com/s/roboto/v29/KFOjCnqEu92Fr1Mu51TLBBc9AMX6lJBP.ttf"},"Open Sans":{"300":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4nY1M2xLER.ttf","500":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4nY1M2xLER.ttf","600":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4nY1M2xLER.ttf","700":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4nY1M2xLER.ttf","800":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4nY1M2xLER.ttf","regular":"http://fonts.gstatic.com/s/opensans/v27/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4nY1M2xLER.ttf","300italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVcUwaERZjA.ttf","italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVcUwaERZjA.ttf","500italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVcUwaERZjA.ttf","600italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVcUwaERZjA.ttf","700italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVcUwaERZjA.ttf","800italic":"http://fonts.gstatic.com/s/opensans/v27/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVcUwaERZjA.ttf"},"Noto Sans JP":{"100":"http://fonts.gstatic.com/s/notosansjp/v36/-F6ofjtqLzI2JPCgQBnw7HFQoggM-FNthvIU.otf","300":"http://fonts.gstatic.com/s/notosansjp/v36/-F6pfjtqLzI2JPCgQBnw7HFQaioq1H1hj-sNFQ.otf","500":"http://fonts.gstatic.com/s/notosansjp/v36/-F6pfjtqLzI2JPCgQBnw7HFQMisq1H1hj-sNFQ.otf","700":"http://fonts.gstatic.com/s/notosansjp/v36/-F6pfjtqLzI2JPCgQBnw7HFQei0q1H1hj-sNFQ.otf","900":"http://fonts.gstatic.com/s/notosansjp/v36/-F6pfjtqLzI2JPCgQBnw7HFQQi8q1H1hj-sNFQ.otf","regular":"http://fonts.gstatic.com/s/notosansjp/v36/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf"},"Lato":{"100":"http://fonts.gstatic.com/s/lato/v20/S6u8w4BMUTPHh30wWyWrFCbw7A.ttf","300":"http://fonts.gstatic.com/s/lato/v20/S6u9w4BMUTPHh7USew-FGC_p9dw.ttf","700":"http://fonts.gstatic.com/s/lato/v20/S6u9w4BMUTPHh6UVew-FGC_p9dw.ttf","900":"http://fonts.gstatic.com/s/lato/v20/S6u9w4BMUTPHh50Xew-FGC_p9dw.ttf","100italic":"http://fonts.gstatic.com/s/lato/v20/S6u-w4BMUTPHjxsIPy-vNiPg7MU0.ttf","300italic":"http://fonts.gstatic.com/s/lato/v20/S6u_w4BMUTPHjxsI9w2PHA3s5dwt7w.ttf","regular":"http://fonts.gstatic.com/s/lato/v20/S6uyw4BMUTPHvxk6XweuBCY.ttf","italic":"http://fonts.gstatic.com/s/lato/v20/S6u8w4BMUTPHjxswWyWrFCbw7A.ttf","700italic":"http://fonts.gstatic.com/s/lato/v20/S6u_w4BMUTPHjxsI5wqPHA3s5dwt7w.ttf","900italic":"http://fonts.gstatic.com/s/lato/v20/S6u_w4BMUTPHjxsI3wiPHA3s5dwt7w.ttf"},"Montserrat":{"100":"http://fonts.gstatic.com/s/montserrat/v18/JTUQjIg1_i6t8kCHKm45_QphziTn89dtpQ.ttf","200":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_aZA7g7J_950vCo.ttf","300":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_cJD7g7J_950vCo.ttf","500":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_ZpC7g7J_950vCo.ttf","600":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_bZF7g7J_950vCo.ttf","700":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_dJE7g7J_950vCo.ttf","800":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_c5H7g7J_950vCo.ttf","900":"http://fonts.gstatic.com/s/montserrat/v18/JTURjIg1_i6t8kCHKm45_epG7g7J_950vCo.ttf","100italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUOjIg1_i6t8kCHKm459WxZqi7j0dJ9pTOi.ttf","200italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZBg_D-_xxrCq7qg.ttf","300italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZYgzD-_xxrCq7qg.ttf","regular":"http://fonts.gstatic.com/s/montserrat/v18/JTUSjIg1_i6t8kCHKm45xW5rygbi49c.ttf","italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUQjIg1_i6t8kCHKm459WxhziTn89dtpQ.ttf","500italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZOg3D-_xxrCq7qg.ttf","600italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZFgrD-_xxrCq7qg.ttf","700italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZcgvD-_xxrCq7qg.ttf","800italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZbgjD-_xxrCq7qg.ttf","900italic":"http://fonts.gstatic.com/s/montserrat/v18/JTUPjIg1_i6t8kCHKm459WxZSgnD-_xxrCq7qg.ttf"},"Roboto Condensed":{"300":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVi2ZhZI2eCN5jzbjEETS9weq8-33mZKCMSbvtdYyQ.ttf","700":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meKCMSbvtdYyQ.ttf","300italic":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVg2ZhZI2eCN5jzbjEETS9weq8-19eDpCEYatlYcyRi4A.ttf","regular":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVl2ZhZI2eCN5jzbjEETS9weq8-59WxDCs5cvI.ttf","italic":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVj2ZhZI2eCN5jzbjEETS9weq8-19e7CAk8YvJEeg.ttf","700italic":"http://fonts.gstatic.com/s/robotocondensed/v19/ieVg2ZhZI2eCN5jzbjEETS9weq8-19eDtCYYatlYcyRi4A.ttf"},"Source Sans Pro":{"200":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKydSBYKcSV-LCoeQqfX1RYOo3i94_AkB1v_8CGxg.ttf","300":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkB1v_8CGxg.ttf","600":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkB1v_8CGxg.ttf","700":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkB1v_8CGxg.ttf","900":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nAkB1v_8CGxg.ttf","200italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZYokRdr3cWWxg40.ttf","300italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZMkhdr3cWWxg40.ttf","regular":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xK3dSBYKcSV-LCoeQqfX1RYOo3aP6TkmDZz9g.ttf","italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7gujNj9tmf.ttf","600italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZY4lBdr3cWWxg40.ttf","700italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZclRdr3cWWxg40.ttf","900italic":"http://fonts.gstatic.com/s/sourcesanspro/v18/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZklxdr3cWWxg40.ttf"},"Poppins":{"100":"http://fonts.gstatic.com/s/poppins/v15/pxiGyp8kv8JHgFVrLPTed3FBGPaTSQ.ttf","200":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLFj_V1tvFP-KUEg.ttf","300":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLDz8V1tvFP-KUEg.ttf","500":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLGT9V1tvFP-KUEg.ttf","600":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLEj6V1tvFP-KUEg.ttf","700":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLCz7V1tvFP-KUEg.ttf","800":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLDD4V1tvFP-KUEg.ttf","900":"http://fonts.gstatic.com/s/poppins/v15/pxiByp8kv8JHgFVrLBT5V1tvFP-KUEg.ttf","100italic":"http://fonts.gstatic.com/s/poppins/v15/pxiAyp8kv8JHgFVrJJLmE3tFOvODSVFF.ttf","200italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLmv1plEN2PQEhcqw.ttf","300italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLm21llEN2PQEhcqw.ttf","regular":"http://fonts.gstatic.com/s/poppins/v15/pxiEyp8kv8JHgFVrFJDUc1NECPY.ttf","italic":"http://fonts.gstatic.com/s/poppins/v15/pxiGyp8kv8JHgFVrJJLed3FBGPaTSQ.ttf","500italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLmg1hlEN2PQEhcqw.ttf","600italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLmr19lEN2PQEhcqw.ttf","700italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLmy15lEN2PQEhcqw.ttf","800italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLm111lEN2PQEhcqw.ttf","900italic":"http://fonts.gstatic.com/s/poppins/v15/pxiDyp8kv8JHgFVrJJLm81xlEN2PQEhcqw.ttf"},"Oswald":{"200":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs13FvgUFoZAaRliE.ttf","300":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs169vgUFoZAaRliE.ttf","500":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvgUFoZAaRliE.ttf","600":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs1y9ogUFoZAaRliE.ttf","700":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUFoZAaRliE.ttf","regular":"http://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUFoZAaRliE.ttf"},"Roboto Mono":{"100":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vuPQ--5Ip2sSQ.ttf","200":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_XvqPQ--5Ip2sSQ.ttf","300":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_gPqPQ--5Ip2sSQ.ttf","500":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_7PqPQ--5Ip2sSQ.ttf","600":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_AP2PQ--5Ip2sSQ.ttf","700":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_Of2PQ--5Ip2sSQ.ttf","regular":"http://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vqPQ--5Ip2sSQ.ttf","100italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAeW9AJi8SZwt.ttf","200italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrnnAOW9AJi8SZwt.ttf","300italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrk5AOW9AJi8SZwt.ttf","italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAOW9AJi8SZwt.ttf","500italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlVAOW9AJi8SZwt.ttf","600italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrm5B-W9AJi8SZwt.ttf","700italic":"http://fonts.gstatic.com/s/robotomono/v13/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrmAB-W9AJi8SZwt.ttf"},"Raleway":{"100":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvao4CPNLA3JC9c.ttf","200":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtaooCPNLA3JC9c.ttf","300":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVuEooCPNLA3JC9c.ttf","500":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvoooCPNLA3JC9c.ttf","600":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpYCPNLA3JC9c.ttf","700":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pYCPNLA3JC9c.ttf","800":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtapYCPNLA3JC9c.ttf","900":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtzpYCPNLA3JC9c.ttf","regular":"http://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaooCPNLA3JC9c.ttf","100italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjNPrQVIT9c2c8.ttf","200italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4ejMPrQVIT9c2c8.ttf","300italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4TbMPrQVIT9c2c8.ttf","italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjMPrQVIT9c2c8.ttf","500italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4VrMPrQVIT9c2c8.ttf","600italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4bbLPrQVIT9c2c8.ttf","700italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4Y_LPrQVIT9c2c8.ttf","800italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4ejLPrQVIT9c2c8.ttf","900italic":"http://fonts.gstatic.com/s/raleway/v22/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4cHLPrQVIT9c2c8.ttf"},"Noto Sans":{"700":"http://fonts.gstatic.com/s/notosans/v21/o-0NIpQlx3QUlC5A4PNjXhFlY9aA5Wl6PQ.ttf","regular":"http://fonts.gstatic.com/s/notosans/v21/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf","italic":"http://fonts.gstatic.com/s/notosans/v21/o-0OIpQlx3QUlC5A4PNr4DRFSfiM7HBj.ttf","700italic":"http://fonts.gstatic.com/s/notosans/v21/o-0TIpQlx3QUlC5A4PNr4Az5ZtyEx2xqPaif.ttf"},"Nunito":{"200":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDDshRTM9jo7eTWk.ttf","300":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDOUhRTM9jo7eTWk.ttf","500":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhRTM9jo7eTWk.ttf","600":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTM9jo7eTWk.ttf","700":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTM9jo7eTWk.ttf","800":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDDsmRTM9jo7eTWk.ttf","900":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDBImRTM9jo7eTWk.ttf","regular":"http://fonts.gstatic.com/s/nunito/v20/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTM9jo7eTWk.ttf","200italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiLXA3iqzbXWnoeg.ttf","300italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNi83A3iqzbXWnoeg.ttf","italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNirXA3iqzbXWnoeg.ttf","500italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNin3A3iqzbXWnoeg.ttf","600italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNic3c3iqzbXWnoeg.ttf","700italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiSnc3iqzbXWnoeg.ttf","800italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiLXc3iqzbXWnoeg.ttf","900italic":"http://fonts.gstatic.com/s/nunito/v20/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiBHc3iqzbXWnoeg.ttf"},"Ubuntu":{"300":"http://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzTt2aMH4V_gg.ttf","500":"http://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCjC3Tt2aMH4V_gg.ttf","700":"http://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvTt2aMH4V_gg.ttf","300italic":"http://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftWyIPYBvgpUI.ttf","regular":"http://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgo6eAT3v02QFg.ttf","italic":"http://fonts.gstatic.com/s/ubuntu/v15/4iCu6KVjbNBYlgoKeg7znUiAFpxm.ttf","500italic":"http://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejYHtGyIPYBvgpUI.ttf","700italic":"http://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPsmyIPYBvgpUI.ttf"},"PT Sans":{"700":"http://fonts.gstatic.com/s/ptsans/v12/jizfRExUiTo99u79B_mh4OmnLD0Z4zM.ttf","regular":"http://fonts.gstatic.com/s/ptsans/v12/jizaRExUiTo99u79P0WOxOGMMDQ.ttf","italic":"http://fonts.gstatic.com/s/ptsans/v12/jizYRExUiTo99u79D0eEwMOJIDQA-g.ttf","700italic":"http://fonts.gstatic.com/s/ptsans/v12/jizdRExUiTo99u79D0e8fOytKB8c8zMrig.ttf"},"Merriweather":{"300":"http://fonts.gstatic.com/s/merriweather/v28/u-4n0qyriQwlOrhSvowK_l521wRpX837pvjxPA.ttf","700":"http://fonts.gstatic.com/s/merriweather/v28/u-4n0qyriQwlOrhSvowK_l52xwNpX837pvjxPA.ttf","900":"http://fonts.gstatic.com/s/merriweather/v28/u-4n0qyriQwlOrhSvowK_l52_wFpX837pvjxPA.ttf","300italic":"http://fonts.gstatic.com/s/merriweather/v28/u-4l0qyriQwlOrhSvowK_l5-eR7lXcf_hP3hPGWH.ttf","regular":"http://fonts.gstatic.com/s/merriweather/v28/u-440qyriQwlOrhSvowK_l5OeyxNV-bnrw.ttf","italic":"http://fonts.gstatic.com/s/merriweather/v28/u-4m0qyriQwlOrhSvowK_l5-eSZJdeP3r-Ho.ttf","700italic":"http://fonts.gstatic.com/s/merriweather/v28/u-4l0qyriQwlOrhSvowK_l5-eR71Wsf_hP3hPGWH.ttf","900italic":"http://fonts.gstatic.com/s/merriweather/v28/u-4l0qyriQwlOrhSvowK_l5-eR7NWMf_hP3hPGWH.ttf"},"Roboto Slab":{"100":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjojIWWaG5iddG-1A.ttf","200":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoDISWaG5iddG-1A.ttf","300":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjo0oSWaG5iddG-1A.ttf","500":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjovoSWaG5iddG-1A.ttf","600":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoUoOWaG5iddG-1A.ttf","700":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoa4OWaG5iddG-1A.ttf","800":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoDIOWaG5iddG-1A.ttf","900":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoJYOWaG5iddG-1A.ttf","regular":"http://fonts.gstatic.com/s/robotoslab/v16/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjojISWaG5iddG-1A.ttf"},"Playfair Display":{"500":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKd3vUDQZNLo_U2r.ttf","600":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKebukDQZNLo_U2r.ttf","700":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKeiukDQZNLo_U2r.ttf","800":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfFukDQZNLo_U2r.ttf","900":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsukDQZNLo_U2r.ttf","regular":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvUDQZNLo_U2r.ttf","italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_qiTbtbK-F2rA0s.ttf","500italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_pqTbtbK-F2rA0s.ttf","600italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUbtbK-F2rA0s.ttf","700italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_k-UbtbK-F2rA0s.ttf","800italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_iiUbtbK-F2rA0s.ttf","900italic":"http://fonts.gstatic.com/s/playfairdisplay/v25/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_gGUbtbK-F2rA0s.ttf"},"Inter":{"100":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyeMZhrib2Bg-4.ttf","200":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuDyfMZhrib2Bg-4.ttf","300":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuOKfMZhrib2Bg-4.ttf","500":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZhrib2Bg-4.ttf","600":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZhrib2Bg-4.ttf","700":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZhrib2Bg-4.ttf","800":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuDyYMZhrib2Bg-4.ttf","900":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYMZhrib2Bg-4.ttf","regular":"http://fonts.gstatic.com/s/inter/v7/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZhrib2Bg-4.ttf"},"Mukta":{"200":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbEOjFma-2HW7ZB_.ttf","300":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbFqj1ma-2HW7ZB_.ttf","500":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbEyjlma-2HW7ZB_.ttf","600":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbEeiVma-2HW7ZB_.ttf","700":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbF6iFma-2HW7ZB_.ttf","800":"http://fonts.gstatic.com/s/mukta/v8/iJWHBXyXfDDVXbFmi1ma-2HW7ZB_.ttf","regular":"http://fonts.gstatic.com/s/mukta/v8/iJWKBXyXfDDVXYnGp32S0H3f.ttf"},"Rubik":{"300":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-WYi1UE80V4bVkA.ttf","500":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-NYi1UE80V4bVkA.ttf","600":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-1UE80V4bVkA.ttf","700":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-4I-1UE80V4bVkA.ttf","800":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-h4-1UE80V4bVkA.ttf","900":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-ro-1UE80V4bVkA.ttf","regular":"http://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-B4i1UE80V4bVkA.ttf","300italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8sDE0UwdYPFkJ1O.ttf","italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8tdE0UwdYPFkJ1O.ttf","500italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8tvE0UwdYPFkJ1O.ttf","600italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFEUwdYPFkJ1O.ttf","700italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8u6FEUwdYPFkJ1O.ttf","800italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8vdFEUwdYPFkJ1O.ttf","900italic":"http://fonts.gstatic.com/s/rubik/v14/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8v0FEUwdYPFkJ1O.ttf"},"Open Sans Condensed":{"300":"http://fonts.gstatic.com/s/opensanscondensed/v15/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff1GhPuLGRpWRyAs.ttf","700":"http://fonts.gstatic.com/s/opensanscondensed/v15/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff0GmPuLGRpWRyAs.ttf","300italic":"http://fonts.gstatic.com/s/opensanscondensed/v15/z7NHdQDnbTkabZAIOl9il_O6KJj73e7Fd_-7suDMQreU2AsJSg.ttf"},"Lora":{"500":"http://fonts.gstatic.com/s/lora/v20/0QI6MX1D_JOuGQbT0gvTJPa787wsuyJGmKxemMeZ.ttf","600":"http://fonts.gstatic.com/s/lora/v20/0QI6MX1D_JOuGQbT0gvTJPa787zAvCJGmKxemMeZ.ttf","700":"http://fonts.gstatic.com/s/lora/v20/0QI6MX1D_JOuGQbT0gvTJPa787z5vCJGmKxemMeZ.ttf","regular":"http://fonts.gstatic.com/s/lora/v20/0QI6MX1D_JOuGQbT0gvTJPa787weuyJGmKxemMeZ.ttf","italic":"http://fonts.gstatic.com/s/lora/v20/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFkqh8ndeZzZ0.ttf","500italic":"http://fonts.gstatic.com/s/lora/v20/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-PgFkqh8ndeZzZ0.ttf","600italic":"http://fonts.gstatic.com/s/lora/v20/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-BQCkqh8ndeZzZ0.ttf","700italic":"http://fonts.gstatic.com/s/lora/v20/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-C0Ckqh8ndeZzZ0.ttf"},"Noto Sans KR":{"100":"http://fonts.gstatic.com/s/notosanskr/v21/Pby6FmXiEBPT4ITbgNA5CgmOsn7uwpYcuH8y.otf","300":"http://fonts.gstatic.com/s/notosanskr/v21/Pby7FmXiEBPT4ITbgNA5CgmOelzI7rgQsWYrzw.otf","500":"http://fonts.gstatic.com/s/notosanskr/v21/Pby7FmXiEBPT4ITbgNA5CgmOIl3I7rgQsWYrzw.otf","700":"http://fonts.gstatic.com/s/notosanskr/v21/Pby7FmXiEBPT4ITbgNA5CgmOalvI7rgQsWYrzw.otf","900":"http://fonts.gstatic.com/s/notosanskr/v21/Pby7FmXiEBPT4ITbgNA5CgmOUlnI7rgQsWYrzw.otf","regular":"http://fonts.gstatic.com/s/notosanskr/v21/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf"},"Work Sans":{"100":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K0nWNigDp6_cOyA.ttf","200":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K8nXNigDp6_cOyA.ttf","300":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32KxfXNigDp6_cOyA.ttf","500":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K3vXNigDp6_cOyA.ttf","600":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K5fQNigDp6_cOyA.ttf","700":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K67QNigDp6_cOyA.ttf","800":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K8nQNigDp6_cOyA.ttf","900":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K-DQNigDp6_cOyA.ttf","regular":"http://fonts.gstatic.com/s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K0nXNigDp6_cOyA.ttf","100italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGU3moJo43ZKyDSQQ.ttf","200italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUXmsJo43ZKyDSQQ.ttf","300italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUgGsJo43ZKyDSQQ.ttf","italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGU3msJo43ZKyDSQQ.ttf","500italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGU7GsJo43ZKyDSQQ.ttf","600italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUAGwJo43ZKyDSQQ.ttf","700italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUOWwJo43ZKyDSQQ.ttf","800italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUXmwJo43ZKyDSQQ.ttf","900italic":"http://fonts.gstatic.com/s/worksans/v13/QGY9z_wNahGAdqQ43Rh_ebrnlwyYfEPxPoGUd2wJo43ZKyDSQQ.ttf"},"Nunito Sans":{"200":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc9yAv5qWVAgVol-.ttf","300":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc8WAf5qWVAgVol-.ttf","600":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc9iB_5qWVAgVol-.ttf","700":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc8GBv5qWVAgVol-.ttf","800":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc8aBf5qWVAgVol-.ttf","900":"http://fonts.gstatic.com/s/nunitosans/v8/pe03MImSLYBIv1o4X1M8cc8-BP5qWVAgVol-.ttf","200italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4GxZrU1QCU5l-06Y.ttf","300italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4G3JoU1QCU5l-06Y.ttf","regular":"http://fonts.gstatic.com/s/nunitosans/v8/pe0qMImSLYBIv1o4X1M8cfe6Kdpickwp.ttf","italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe0oMImSLYBIv1o4X1M8cce4I95Ad1wpT5A.ttf","600italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4GwZuU1QCU5l-06Y.ttf","700italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4G2JvU1QCU5l-06Y.ttf","800italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4G35sU1QCU5l-06Y.ttf","900italic":"http://fonts.gstatic.com/s/nunitosans/v8/pe01MImSLYBIv1o4X1M8cce4G1ptU1QCU5l-06Y.ttf"},"Nanum Gothic":{"700":"http://fonts.gstatic.com/s/nanumgothic/v17/PN_oRfi-oW3hYwmKDpxS7F_LQv37zlEn14YEUQ.ttf","800":"http://fonts.gstatic.com/s/nanumgothic/v17/PN_oRfi-oW3hYwmKDpxS7F_LXv77zlEn14YEUQ.ttf","regular":"http://fonts.gstatic.com/s/nanumgothic/v17/PN_3Rfi-oW3hYwmKDpxS7F_z_tLfxno73g.ttf"},"Fira Sans":{"100":"http://fonts.gstatic.com/s/firasans/v11/va9C4kDNxMZdWfMOD5Vn9IjOazP3dUTP.ttf","200":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnWKnuQR37fF3Wlg.ttf","300":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnPKruQR37fF3Wlg.ttf","500":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnZKvuQR37fF3Wlg.ttf","600":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnSKzuQR37fF3Wlg.ttf","700":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnLK3uQR37fF3Wlg.ttf","800":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnMK7uQR37fF3Wlg.ttf","900":"http://fonts.gstatic.com/s/firasans/v11/va9B4kDNxMZdWfMOD5VnFK_uQR37fF3Wlg.ttf","100italic":"http://fonts.gstatic.com/s/firasans/v11/va9A4kDNxMZdWfMOD5VvkrCqYTfVcFTPj0s.ttf","200italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrAGQBf_XljGllLX.ttf","300italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrBiQxf_XljGllLX.ttf","regular":"http://fonts.gstatic.com/s/firasans/v11/va9E4kDNxMZdWfMOD5VfkILKSTbndQ.ttf","italic":"http://fonts.gstatic.com/s/firasans/v11/va9C4kDNxMZdWfMOD5VvkojOazP3dUTP.ttf","500italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrA6Qhf_XljGllLX.ttf","600italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrAWRRf_XljGllLX.ttf","700italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrByRBf_XljGllLX.ttf","800italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrBuRxf_XljGllLX.ttf","900italic":"http://fonts.gstatic.com/s/firasans/v11/va9f4kDNxMZdWfMOD5VvkrBKRhf_XljGllLX.ttf"},"PT Serif":{"700":"http://fonts.gstatic.com/s/ptserif/v12/EJRSQgYoZZY2vCFuvAnt65qVXSr3pNNB.ttf","regular":"http://fonts.gstatic.com/s/ptserif/v12/EJRVQgYoZZY2vCFuvDFRxL6ddjb-.ttf","italic":"http://fonts.gstatic.com/s/ptserif/v12/EJRTQgYoZZY2vCFuvAFTzrq_cyb-vco.ttf","700italic":"http://fonts.gstatic.com/s/ptserif/v12/EJRQQgYoZZY2vCFuvAFT9gaQVy7VocNB6Iw.ttf"},"Quicksand":{"300":"http://fonts.gstatic.com/s/quicksand/v24/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkKEo18G0wx40QDw.ttf","500":"http://fonts.gstatic.com/s/quicksand/v24/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkM0o18G0wx40QDw.ttf","600":"http://fonts.gstatic.com/s/quicksand/v24/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkCEv18G0wx40QDw.ttf","700":"http://fonts.gstatic.com/s/quicksand/v24/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkBgv18G0wx40QDw.ttf","regular":"http://fonts.gstatic.com/s/quicksand/v24/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkP8o18G0wx40QDw.ttf"},"Titillium Web":{"200":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPDcZTIAOhVxoMyOr9n_E7ffAzHKIx5YrSYqWM.ttf","300":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPDcZTIAOhVxoMyOr9n_E7ffGjEKIx5YrSYqWM.ttf","600":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPDcZTIAOhVxoMyOr9n_E7ffBzCKIx5YrSYqWM.ttf","700":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPDcZTIAOhVxoMyOr9n_E7ffHjDKIx5YrSYqWM.ttf","900":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPDcZTIAOhVxoMyOr9n_E7ffEDBKIx5YrSYqWM.ttf","200italic":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPFcZTIAOhVxoMyOr9n_E7fdMbewI1zZpaduWMmxA.ttf","300italic":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPFcZTIAOhVxoMyOr9n_E7fdMbepI5zZpaduWMmxA.ttf","regular":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPecZTIAOhVxoMyOr9n_E7fRMTsDIRSfr0.ttf","italic":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPAcZTIAOhVxoMyOr9n_E7fdMbmCKZXbr2BsA.ttf","600italic":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPFcZTIAOhVxoMyOr9n_E7fdMbe0IhzZpaduWMmxA.ttf","700italic":"http://fonts.gstatic.com/s/titilliumweb/v10/NaPFcZTIAOhVxoMyOr9n_E7fdMbetIlzZpaduWMmxA.ttf"},"Hind Siliguri":{"300":"http://fonts.gstatic.com/s/hindsiliguri/v7/ijwOs5juQtsyLLR5jN4cxBEoRDf44uEfKiGvxts.ttf","500":"http://fonts.gstatic.com/s/hindsiliguri/v7/ijwOs5juQtsyLLR5jN4cxBEoRG_54uEfKiGvxts.ttf","600":"http://fonts.gstatic.com/s/hindsiliguri/v7/ijwOs5juQtsyLLR5jN4cxBEoREP-4uEfKiGvxts.ttf","700":"http://fonts.gstatic.com/s/hindsiliguri/v7/ijwOs5juQtsyLLR5jN4cxBEoRCf_4uEfKiGvxts.ttf","regular":"http://fonts.gstatic.com/s/hindsiliguri/v7/ijwTs5juQtsyLLR5jN4cxBEofJvQxuk0Nig.ttf"},"Noto Serif":{"700":"http://fonts.gstatic.com/s/notoserif/v16/ga6Law1J5X9T9RW6j9bNdOwzTRCUcM1IKoY.ttf","regular":"http://fonts.gstatic.com/s/notoserif/v16/ga6Iaw1J5X9T9RW6j9bNTFAcaRi_bMQ.ttf","italic":"http://fonts.gstatic.com/s/notoserif/v16/ga6Kaw1J5X9T9RW6j9bNfFIWbTq6fMRRMw.ttf","700italic":"http://fonts.gstatic.com/s/notoserif/v16/ga6Vaw1J5X9T9RW6j9bNfFIu0RWedO9NOoYIDg.ttf"},"Karla":{"200":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDeJqqFENLR7fHGw.ttf","300":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDppqqFENLR7fHGw.ttf","500":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDypqqFENLR7fHGw.ttf","600":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDJp2qFENLR7fHGw.ttf","700":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDH52qFENLR7fHGw.ttf","800":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTDeJ2qFENLR7fHGw.ttf","regular":"http://fonts.gstatic.com/s/karla/v15/qkBIXvYC6trAT55ZBi1ueQVIjQTD-JqqFENLR7fHGw.ttf","200italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNnCV0lPZbLXGxGR.ttf","300italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNkcV0lPZbLXGxGR.ttf","italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNlCV0lPZbLXGxGR.ttf","500italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNlwV0lPZbLXGxGR.ttf","600italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNmcUElPZbLXGxGR.ttf","700italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNmlUElPZbLXGxGR.ttf","800italic":"http://fonts.gstatic.com/s/karla/v15/qkBKXvYC6trAT7RQNNK2EG7SIwPWMNnCUElPZbLXGxGR.ttf"},"Barlow":{"100":"http://fonts.gstatic.com/s/barlow/v5/7cHrv4kjgoGqM7E3b8s8yn4hnCci.ttf","200":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3w-oc4FAtlT47dw.ttf","300":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3p-kc4FAtlT47dw.ttf","500":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3_-gc4FAtlT47dw.ttf","600":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E30-8c4FAtlT47dw.ttf","700":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3t-4c4FAtlT47dw.ttf","800":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3q-0c4FAtlT47dw.ttf","900":"http://fonts.gstatic.com/s/barlow/v5/7cHqv4kjgoGqM7E3j-wc4FAtlT47dw.ttf","100italic":"http://fonts.gstatic.com/s/barlow/v5/7cHtv4kjgoGqM7E_CfNYwHoDmTcibrA.ttf","200italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfP04Voptzsrd6m9.ttf","300italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfOQ4loptzsrd6m9.ttf","regular":"http://fonts.gstatic.com/s/barlow/v5/7cHpv4kjgoGqM7EPC8E46HsxnA.ttf","italic":"http://fonts.gstatic.com/s/barlow/v5/7cHrv4kjgoGqM7E_Ccs8yn4hnCci.ttf","500italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfPI41optzsrd6m9.ttf","600italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfPk5Foptzsrd6m9.ttf","700italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfOA5Voptzsrd6m9.ttf","800italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfOc5loptzsrd6m9.ttf","900italic":"http://fonts.gstatic.com/s/barlow/v5/7cHsv4kjgoGqM7E_CfO451optzsrd6m9.ttf"},"Noto Sans TC":{"100":"http://fonts.gstatic.com/s/notosanstc/v20/-nFlOG829Oofr2wohFbTp9i9WyEJIfNZ1sjy.otf","300":"http://fonts.gstatic.com/s/notosanstc/v20/-nFkOG829Oofr2wohFbTp9i9kwMvDd1V39Hr7g.otf","500":"http://fonts.gstatic.com/s/notosanstc/v20/-nFkOG829Oofr2wohFbTp9i9ywIvDd1V39Hr7g.otf","700":"http://fonts.gstatic.com/s/notosanstc/v20/-nFkOG829Oofr2wohFbTp9i9gwQvDd1V39Hr7g.otf","900":"http://fonts.gstatic.com/s/notosanstc/v20/-nFkOG829Oofr2wohFbTp9i9uwYvDd1V39Hr7g.otf","regular":"http://fonts.gstatic.com/s/notosanstc/v20/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf"},"Inconsolata":{"200":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7LppwU8aRr8lleY2co.ttf","300":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp9s8aRr8lleY2co.ttf","500":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp7c8aRr8lleY2co.ttf","600":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp1s7aRr8lleY2co.ttf","700":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp2I7aRr8lleY2co.ttf","800":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7LppwU7aRr8lleY2co.ttf","900":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lppyw7aRr8lleY2co.ttf","regular":"http://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp4U8aRr8lleY2co.ttf"},"Heebo":{"100":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EiS2cckOnz02SXQ.ttf","200":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1ECSycckOnz02SXQ.ttf","300":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1E1yycckOnz02SXQ.ttf","500":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EuyycckOnz02SXQ.ttf","600":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EVyucckOnz02SXQ.ttf","700":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EbiucckOnz02SXQ.ttf","800":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1ECSucckOnz02SXQ.ttf","900":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EICucckOnz02SXQ.ttf","regular":"http://fonts.gstatic.com/s/heebo/v15/NGSpv5_NC0k9P_v6ZUCbLRAHxK1EiSycckOnz02SXQ.ttf"},"IBM Plex Sans":{"100":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX-KVElMYYaJe8bpLHnCwDKjbLeEKxIedbzDw.ttf","200":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX9KVElMYYaJe8bpLHnCwDKjR7_MIZmdd_qFmo.ttf","300":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX9KVElMYYaJe8bpLHnCwDKjXr8MIZmdd_qFmo.ttf","500":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX9KVElMYYaJe8bpLHnCwDKjSL9MIZmdd_qFmo.ttf","600":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX9KVElMYYaJe8bpLHnCwDKjQ76MIZmdd_qFmo.ttf","700":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX9KVElMYYaJe8bpLHnCwDKjWr7MIZmdd_qFmo.ttf","100italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX8KVElMYYaJe8bpLHnCwDKhdTmdKZMW9PjD3N8.ttf","200italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX7KVElMYYaJe8bpLHnCwDKhdTm2Idscf3vBmpl8A.ttf","300italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRscf3vBmpl8A.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYXgKVElMYYaJe8bpLHnCwDKtdbUFI5NadY.ttf","italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX-KVElMYYaJe8bpLHnCwDKhdTeEKxIedbzDw.ttf","500italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX7KVElMYYaJe8bpLHnCwDKhdTm5IVscf3vBmpl8A.ttf","600italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJscf3vBmpl8A.ttf","700italic":"http://fonts.gstatic.com/s/ibmplexsans/v9/zYX7KVElMYYaJe8bpLHnCwDKhdTmrINscf3vBmpl8A.ttf"},"Libre Franklin":{"100":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsSUB9rIb-JH1g.ttf","200":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsWUB9rIb-JH1g.ttf","300":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhcMWUB9rIb-JH1g.ttf","500":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhHMWUB9rIb-JH1g.ttf","600":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduh8MKUB9rIb-JH1g.ttf","700":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhycKUB9rIb-JH1g.ttf","800":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsKUB9rIb-JH1g.ttf","900":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhh8KUB9rIb-JH1g.ttf","regular":"http://fonts.gstatic.com/s/librefranklin/v7/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsWUB9rIb-JH1g.ttf","100italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RdDMTedX1sGE.ttf","200italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8RNDMTedX1sGE.ttf","300italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oYiRNDMTedX1sGE.ttf","italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RNDMTedX1sGE.ttf","500italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZORNDMTedX1sGE.ttf","600italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oaiQ9DMTedX1sGE.ttf","700italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oabQ9DMTedX1sGE.ttf","800italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8Q9DMTedX1sGE.ttf","900italic":"http://fonts.gstatic.com/s/librefranklin/v7/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05obVQ9DMTedX1sGE.ttf"},"PT Sans Narrow":{"700":"http://fonts.gstatic.com/s/ptsansnarrow/v12/BngSUXNadjH0qYEzV7ab-oWlsbg95DiCUfzgRd-3.ttf","regular":"http://fonts.gstatic.com/s/ptsansnarrow/v12/BngRUXNadjH0qYEzV7ab-oWlsYCByxyKeuDp.ttf"},"Libre Baskerville":{"700":"http://fonts.gstatic.com/s/librebaskerville/v9/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTjYwI8Gcw6Oi.ttf","regular":"http://fonts.gstatic.com/s/librebaskerville/v9/kmKnZrc3Hgbbcjq75U4uslyuy4kn0pNeYRI4CN2V.ttf","italic":"http://fonts.gstatic.com/s/librebaskerville/v9/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcaxYaDc2V2ro.ttf"},"Oxygen":{"300":"http://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCJW8Db2-4C7wFZQ.ttf","700":"http://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgDb2-4C7wFZQ.ttf","regular":"http://fonts.gstatic.com/s/oxygen/v10/2sDfZG1Wl4Lcnbu6iUcnZ0SkAg.ttf"},"Source Code Pro":{"200":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DEyQhM5hTXUcdJg.ttf","300":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DJKQhM5hTXUcdJg.ttf","500":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DP6QhM5hTXUcdJg.ttf","600":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DBKXhM5hTXUcdJg.ttf","700":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DCuXhM5hTXUcdJg.ttf","800":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DEyXhM5hTXUcdJg.ttf","900":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DGWXhM5hTXUcdJg.ttf","regular":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhM5hTXUcdJg.ttf","200italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTT7I1rSVcZZJiGpw.ttf","300italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTMo1rSVcZZJiGpw.ttf","italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTbI1rSVcZZJiGpw.ttf","500italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTXo1rSVcZZJiGpw.ttf","600italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTsoprSVcZZJiGpw.ttf","700italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTi4prSVcZZJiGpw.ttf","800italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTT7IprSVcZZJiGpw.ttf","900italic":"http://fonts.gstatic.com/s/sourcecodepro/v18/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTxYprSVcZZJiGpw.ttf"},"Arimo":{"500":"http://fonts.gstatic.com/s/arimo/v17/P5sfzZCDf9_T_3cV7NCUECyoxNk338xsBxDAVQI4aA.ttf","600":"http://fonts.gstatic.com/s/arimo/v17/P5sfzZCDf9_T_3cV7NCUECyoxNk3M8tsBxDAVQI4aA.ttf","700":"http://fonts.gstatic.com/s/arimo/v17/P5sfzZCDf9_T_3cV7NCUECyoxNk3CstsBxDAVQI4aA.ttf","regular":"http://fonts.gstatic.com/s/arimo/v17/P5sfzZCDf9_T_3cV7NCUECyoxNk37cxsBxDAVQI4aA.ttf","italic":"http://fonts.gstatic.com/s/arimo/v17/P5sdzZCDf9_T_10c3i9MeUcyat4iJY-ERBrEdwcoaKww.ttf","500italic":"http://fonts.gstatic.com/s/arimo/v17/P5sdzZCDf9_T_10c3i9MeUcyat4iJY-2RBrEdwcoaKww.ttf","600italic":"http://fonts.gstatic.com/s/arimo/v17/P5sdzZCDf9_T_10c3i9MeUcyat4iJY9aQxrEdwcoaKww.ttf","700italic":"http://fonts.gstatic.com/s/arimo/v17/P5sdzZCDf9_T_10c3i9MeUcyat4iJY9jQxrEdwcoaKww.ttf"},"Dosis":{"200":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJt7MV3BkFTq4EPw.ttf","300":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJabMV3BkFTq4EPw.ttf","500":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJBbMV3BkFTq4EPw.ttf","600":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJ6bQV3BkFTq4EPw.ttf","700":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJ0LQV3BkFTq4EPw.ttf","800":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJt7QV3BkFTq4EPw.ttf","regular":"http://fonts.gstatic.com/s/dosis/v22/HhyJU5sn9vOmLxNkIwRSjTVNWLEJN7MV3BkFTq4EPw.ttf"},"Josefin Sans":{"100":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_DjRXMFrLgTsQV0.ttf","200":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_LjQXMFrLgTsQV0.ttf","300":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_GbQXMFrLgTsQV0.ttf","500":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_ArQXMFrLgTsQV0.ttf","600":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_ObXXMFrLgTsQV0.ttf","700":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_N_XXMFrLgTsQV0.ttf","regular":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3PZQNVED7rKGKxtqIqX5E-AVSJrOCfjY46_DjQXMFrLgTsQV0.ttf","100italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCTtINhKibpUV3MEQ.ttf","200italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCTNIJhKibpUV3MEQ.ttf","300italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCT6oJhKibpUV3MEQ.ttf","italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCTtIJhKibpUV3MEQ.ttf","500italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCThoJhKibpUV3MEQ.ttf","600italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCTaoVhKibpUV3MEQ.ttf","700italic":"http://fonts.gstatic.com/s/josefinsans/v20/Qw3JZQNVED7rKGKxtqIqX5EUCGZ2dIn0FyA96fCTU4VhKibpUV3MEQ.ttf"},"Bebas Neue":{"regular":"http://fonts.gstatic.com/s/bebasneue/v2/JTUSjIg69CK48gW7PXooxW5rygbi49c.ttf"},"Mulish":{"200":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexRNRwaClGrw-PTY.ttf","300":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexc1RwaClGrw-PTY.ttf","500":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexaFRwaClGrw-PTY.ttf","600":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexU1WwaClGrw-PTY.ttf","700":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexXRWwaClGrw-PTY.ttf","800":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexRNWwaClGrw-PTY.ttf","900":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexTpWwaClGrw-PTY.ttf","regular":"http://fonts.gstatic.com/s/mulish/v7/1Ptyg83HX_SGhgqO0yLcmjzUAuWexZNRwaClGrw-PTY.ttf","200italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSqeOvHp47LTZFwA.ttf","300italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSd-OvHp47LTZFwA.ttf","italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSKeOvHp47LTZFwA.ttf","500italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSG-OvHp47LTZFwA.ttf","600italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsS9-SvHp47LTZFwA.ttf","700italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSzuSvHp47LTZFwA.ttf","800italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSqeSvHp47LTZFwA.ttf","900italic":"http://fonts.gstatic.com/s/mulish/v7/1Ptwg83HX_SGhgqk2hAjQlW_mEuZ0FsSgOSvHp47LTZFwA.ttf"},"Cabin":{"500":"http://fonts.gstatic.com/s/cabin/v18/u-4X0qWljRw-PfU81xCKCpdpbgZJl6XFpfEd7eA9BIxxkW-EL7Gvxm7rE_s.ttf","600":"http://fonts.gstatic.com/s/cabin/v18/u-4X0qWljRw-PfU81xCKCpdpbgZJl6XFpfEd7eA9BIxxkYODL7Gvxm7rE_s.ttf","700":"http://fonts.gstatic.com/s/cabin/v18/u-4X0qWljRw-PfU81xCKCpdpbgZJl6XFpfEd7eA9BIxxkbqDL7Gvxm7rE_s.ttf","regular":"http://fonts.gstatic.com/s/cabin/v18/u-4X0qWljRw-PfU81xCKCpdpbgZJl6XFpfEd7eA9BIxxkV2EL7Gvxm7rE_s.ttf","italic":"http://fonts.gstatic.com/s/cabin/v18/u-4V0qWljRw-Pd815fNqc8T_wAFcX-c37MPiNYlWniJ2hJXHx_KlwkzuA_u1Bg.ttf","500italic":"http://fonts.gstatic.com/s/cabin/v18/u-4V0qWljRw-Pd815fNqc8T_wAFcX-c37MPiNYlWniJ2hJXH9fKlwkzuA_u1Bg.ttf","600italic":"http://fonts.gstatic.com/s/cabin/v18/u-4V0qWljRw-Pd815fNqc8T_wAFcX-c37MPiNYlWniJ2hJXHGfWlwkzuA_u1Bg.ttf","700italic":"http://fonts.gstatic.com/s/cabin/v18/u-4V0qWljRw-Pd815fNqc8T_wAFcX-c37MPiNYlWniJ2hJXHIPWlwkzuA_u1Bg.ttf"},"Lobster":{"regular":"http://fonts.gstatic.com/s/lobster/v23/neILzCirqoswsqX9_oWsMqEzSJQ.ttf"},"Bitter":{"100":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8fbeCL_EXFh2reU.ttf","200":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8XbfCL_EXFh2reU.ttf","300":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8ajfCL_EXFh2reU.ttf","500":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8cTfCL_EXFh2reU.ttf","600":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8SjYCL_EXFh2reU.ttf","700":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8RHYCL_EXFh2reU.ttf","800":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8XbYCL_EXFh2reU.ttf","900":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8V_YCL_EXFh2reU.ttf","regular":"http://fonts.gstatic.com/s/bitter/v19/raxhHiqOu8IVPmnRc6SY1KXhnF_Y8fbfCL_EXFh2reU.ttf","100italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6c4P3OWHpzveWxBw.ttf","200italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cYPzOWHpzveWxBw.ttf","300italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cvvzOWHpzveWxBw.ttf","italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6c4PzOWHpzveWxBw.ttf","500italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6c0vzOWHpzveWxBw.ttf","600italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cPvvOWHpzveWxBw.ttf","700italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cB_vOWHpzveWxBw.ttf","800italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cYPvOWHpzveWxBw.ttf","900italic":"http://fonts.gstatic.com/s/bitter/v19/raxjHiqOu8IVPmn7epZnDMyKBvHf5D6cSfvOWHpzveWxBw.ttf"},"EB Garamond":{"500":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChoKC0VCIEdhcmFtb25kOgsI9NCduwcVAAD6QyAAKgQIARgB.ttf","600":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChoKC0VCIEdhcmFtb25kOgsI9NCduwcVAAAWRCAAKgQIARgB.ttf","700":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChoKC0VCIEdhcmFtb25kOgsI9NCduwcVAAAvRCAAKgQIARgB.ttf","800":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChoKC0VCIEdhcmFtb25kOgsI9NCduwcVAABIRCAAKgQIARgB.ttf","regular":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChoKC0VCIEdhcmFtb25kOgsI9NCduwcVAADIQyAAKgQIARgB.ttf","italic":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChwKC0VCIEdhcmFtb25kEAI6Cwj00J27BxUAAMhDIAAqBAgBGAE=.ttf","500italic":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChwKC0VCIEdhcmFtb25kEAI6Cwj00J27BxUAAPpDIAAqBAgBGAE=.ttf","600italic":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChwKC0VCIEdhcmFtb25kEAI6Cwj00J27BxUAABZEIAAqBAgBGAE=.ttf","700italic":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChwKC0VCIEdhcmFtb25kEAI6Cwj00J27BxUAAC9EIAAqBAgBGAE=.ttf","800italic":"http://fonts.gstatic.com/s/ebgaramond/v19/~ChwKC0VCIEdhcmFtb25kEAI6Cwj00J27BxUAAEhEIAAqBAgBGAE=.ttf"},"Anton":{"regular":"http://fonts.gstatic.com/s/anton/v15/1Ptgg87LROyAm0K08i4gS7lu.ttf"},"DM Sans":{"500":"http://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriAWCrOB-sClQX6Cg.ttf","700":"http://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriASitOB-sClQX6Cg.ttf","regular":"http://fonts.gstatic.com/s/dmsans/v6/rP2Hp2ywxg089UriOZSCHBeHFl0.ttf","italic":"http://fonts.gstatic.com/s/dmsans/v6/rP2Fp2ywxg089UriCZaIGDWCBl0O8Q.ttf","500italic":"http://fonts.gstatic.com/s/dmsans/v6/rP2Ap2ywxg089UriCZaw7BymDnYS-Cjk6Q.ttf","700italic":"http://fonts.gstatic.com/s/dmsans/v6/rP2Ap2ywxg089UriCZawpBqmDnYS-Cjk6Q.ttf"},"Dancing Script":{"500":"http://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BAyoHTeB9ptDqpw.ttf","600":"http://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7B7y0HTeB9ptDqpw.ttf","700":"http://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7B1i0HTeB9ptDqpw.ttf","regular":"http://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSoHTeB9ptDqpw.ttf"},"Source Serif Pro":{"200":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIXzD-0qpwxpaWvjeD0X88SAOeasbsfhSugxYUvZrI.ttf","300":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIXzD-0qpwxpaWvjeD0X88SAOeasd8chSugxYUvZrI.ttf","600":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIXzD-0qpwxpaWvjeD0X88SAOeasasahSugxYUvZrI.ttf","700":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIXzD-0qpwxpaWvjeD0X88SAOeasc8bhSugxYUvZrI.ttf","900":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIXzD-0qpwxpaWvjeD0X88SAOeasfcZhSugxYUvZrI.ttf","200italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGbSqqwacqdrKvbQ.ttf","300italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGCSmqwacqdrKvbQ.ttf","regular":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIQzD-0qpwxpaWvjeD0X88SAOeaiXM0oSOL2Yw.ttf","italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIWzD-0qpwxpaWvjeD0X88SAOeauXE-pQGOyYw2fw.ttf","600italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGfS-qwacqdrKvbQ.ttf","700italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGGS6qwacqdrKvbQ.ttf","900italic":"http://fonts.gstatic.com/s/sourceserifpro/v11/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGISyqwacqdrKvbQ.ttf"},"Prompt":{"100":"http://fonts.gstatic.com/s/prompt/v5/-W_9XJnvUD7dzB2CA9oYREcjeo0k.ttf","200":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2Cr_s4bmkvc5Q9dw.ttf","300":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2Cy_g4bmkvc5Q9dw.ttf","500":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2Ck_k4bmkvc5Q9dw.ttf","600":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2Cv_44bmkvc5Q9dw.ttf","700":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2C2_84bmkvc5Q9dw.ttf","800":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2Cx_w4bmkvc5Q9dw.ttf","900":"http://fonts.gstatic.com/s/prompt/v5/-W_8XJnvUD7dzB2C4_04bmkvc5Q9dw.ttf","100italic":"http://fonts.gstatic.com/s/prompt/v5/-W_7XJnvUD7dzB2KZeJ8TkMBf50kbiM.ttf","200italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeLQb2MrUZEtdzow.ttf","300italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeK0bGMrUZEtdzow.ttf","regular":"http://fonts.gstatic.com/s/prompt/v5/-W__XJnvUD7dzB26Z9AcZkIzeg.ttf","italic":"http://fonts.gstatic.com/s/prompt/v5/-W_9XJnvUD7dzB2KZdoYREcjeo0k.ttf","500italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeLsbWMrUZEtdzow.ttf","600italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeLAamMrUZEtdzow.ttf","700italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeKka2MrUZEtdzow.ttf","800italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeK4aGMrUZEtdzow.ttf","900italic":"http://fonts.gstatic.com/s/prompt/v5/-W_6XJnvUD7dzB2KZeKcaWMrUZEtdzow.ttf"},"Cairo":{"200":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5l2WgsQSaT0J0vRQ.ttf","300":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5lB2gsQSaT0J0vRQ.ttf","500":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5la2gsQSaT0J0vRQ.ttf","600":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5lh28sQSaT0J0vRQ.ttf","700":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5lvm8sQSaT0J0vRQ.ttf","800":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5l2W8sQSaT0J0vRQ.ttf","900":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5l8G8sQSaT0J0vRQ.ttf","regular":"http://fonts.gstatic.com/s/cairo/v14/SLXVc1nY6HkvangtZmpcWmhzfH5lWWgsQSaT0J0vRQ.ttf"},"Yanone Kaffeesatz":{"200":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIftodtWpcGuLCnXkVA.ttf","300":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIftoqNWpcGuLCnXkVA.ttf","500":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIftoxNWpcGuLCnXkVA.ttf","600":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIftoKNKpcGuLCnXkVA.ttf","700":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIftoEdKpcGuLCnXkVA.ttf","regular":"http://fonts.gstatic.com/s/yanonekaffeesatz/v18/3y9I6aknfjLm_3lMKjiMgmUUYBs04aUXNxt9gW2LIfto9tWpcGuLCnXkVA.ttf"},"Varela Round":{"regular":"http://fonts.gstatic.com/s/varelaround/v13/w8gdH283Tvk__Lua32TysjIvoMGOD9gxZw.ttf"},"Hind":{"300":"http://fonts.gstatic.com/s/hind/v11/5aU19_a8oxmIfMJaIRuYjDpf5Vw.ttf","500":"http://fonts.gstatic.com/s/hind/v11/5aU19_a8oxmIfJpbIRuYjDpf5Vw.ttf","600":"http://fonts.gstatic.com/s/hind/v11/5aU19_a8oxmIfLZcIRuYjDpf5Vw.ttf","700":"http://fonts.gstatic.com/s/hind/v11/5aU19_a8oxmIfNJdIRuYjDpf5Vw.ttf","regular":"http://fonts.gstatic.com/s/hind/v11/5aU69_a8oxmIRG5yBROzkDM.ttf"},"Abel":{"regular":"http://fonts.gstatic.com/s/abel/v12/MwQ5bhbm2POE6VhLPJp6qGI.ttf"},"Kanit":{"100":"http://fonts.gstatic.com/s/kanit/v7/nKKX-Go6G5tXcr72GwWKcaxALFs.ttf","200":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr5aOiWgX6BJNUJy.ttf","300":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr4-OSWgX6BJNUJy.ttf","500":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr5mOCWgX6BJNUJy.ttf","600":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr5KPyWgX6BJNUJy.ttf","700":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr4uPiWgX6BJNUJy.ttf","800":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr4yPSWgX6BJNUJy.ttf","900":"http://fonts.gstatic.com/s/kanit/v7/nKKU-Go6G5tXcr4WPCWgX6BJNUJy.ttf","100italic":"http://fonts.gstatic.com/s/kanit/v7/nKKV-Go6G5tXcraQI2GAdY5FPFtrGw.ttf","200italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI82hVaRrMFJyAu4.ttf","300italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI6miVaRrMFJyAu4.ttf","regular":"http://fonts.gstatic.com/s/kanit/v7/nKKZ-Go6G5tXcoaSEQGodLxA.ttf","italic":"http://fonts.gstatic.com/s/kanit/v7/nKKX-Go6G5tXcraQGwWKcaxALFs.ttf","500italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI_GjVaRrMFJyAu4.ttf","600italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI92kVaRrMFJyAu4.ttf","700italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI7mlVaRrMFJyAu4.ttf","800italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI6WmVaRrMFJyAu4.ttf","900italic":"http://fonts.gstatic.com/s/kanit/v7/nKKS-Go6G5tXcraQI4GnVaRrMFJyAu4.ttf"},"Barlow Condensed":{"100":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxxL3I-JCGChYJ8VI-L6OO_au7B43LT31vytKgbaw.ttf","200":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B497y_3HcuKECcrs.ttf","300":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B47rx_3HcuKECcrs.ttf","500":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lw_3HcuKECcrs.ttf","600":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873_3HcuKECcrs.ttf","700":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2_3HcuKECcrs.ttf","800":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1_3HcuKECcrs.ttf","900":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0_3HcuKECcrs.ttf","100italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxzL3I-JCGChYJ8VI-L6OO_au7B6xTru1H2lq0La6JN.ttf","200italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrF3DWvIMHYrtUxg.ttf","300italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrc3PWvIMHYrtUxg.ttf","regular":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTx3L3I-JCGChYJ8VI-L6OO_au7B2xbZ23n3pKg.ttf","italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxxL3I-JCGChYJ8VI-L6OO_au7B6xTT31vytKgbaw.ttf","500italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrK3LWvIMHYrtUxg.ttf","600italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrB3XWvIMHYrtUxg.ttf","700italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrY3TWvIMHYrtUxg.ttf","800italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrf3fWvIMHYrtUxg.ttf","900italic":"http://fonts.gstatic.com/s/barlowcondensed/v5/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrW3bWvIMHYrtUxg.ttf"},"Fjalla One":{"regular":"http://fonts.gstatic.com/s/fjallaone/v8/Yq6R-LCAWCX3-6Ky7FAFnOZwkxgtUb8.ttf"},"Comfortaa":{"300":"http://fonts.gstatic.com/s/comfortaa/v34/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4TbMPrQVIT9c2c8.ttf","500":"http://fonts.gstatic.com/s/comfortaa/v34/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4VrMPrQVIT9c2c8.ttf","600":"http://fonts.gstatic.com/s/comfortaa/v34/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4bbLPrQVIT9c2c8.ttf","700":"http://fonts.gstatic.com/s/comfortaa/v34/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4Y_LPrQVIT9c2c8.ttf","regular":"http://fonts.gstatic.com/s/comfortaa/v34/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4WjMPrQVIT9c2c8.ttf"},"Arvo":{"700":"http://fonts.gstatic.com/s/arvo/v14/tDbM2oWUg0MKoZw1yLTA8vL7lAE.ttf","regular":"http://fonts.gstatic.com/s/arvo/v14/tDbD2oWUg0MKmSAa7Lzr7vs.ttf","italic":"http://fonts.gstatic.com/s/arvo/v14/tDbN2oWUg0MKqSIQ6J7u_vvijQ.ttf","700italic":"http://fonts.gstatic.com/s/arvo/v14/tDbO2oWUg0MKqSIoVLHK9tD-hAHkGg.ttf"},"Exo 2":{"100":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jvvOcPtq-rpvLpQ.ttf","200":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jPvKcPtq-rpvLpQ.ttf","300":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8j4PKcPtq-rpvLpQ.ttf","500":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jjPKcPtq-rpvLpQ.ttf","600":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jYPWcPtq-rpvLpQ.ttf","700":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jWfWcPtq-rpvLpQ.ttf","800":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jPvWcPtq-rpvLpQ.ttf","900":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jF_WcPtq-rpvLpQ.ttf","regular":"http://fonts.gstatic.com/s/exo2/v15/7cH1v4okm5zmbvwkAx_sfcEuiD8jvvKcPtq-rpvLpQ.ttf","100italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drF0fNC6jJ7bpQBL.ttf","200italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drH0fdC6jJ7bpQBL.ttf","300italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drEqfdC6jJ7bpQBL.ttf","italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drF0fdC6jJ7bpQBL.ttf","500italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drFGfdC6jJ7bpQBL.ttf","600italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drGqetC6jJ7bpQBL.ttf","700italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drGTetC6jJ7bpQBL.ttf","800italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drH0etC6jJ7bpQBL.ttf","900italic":"http://fonts.gstatic.com/s/exo2/v15/7cH3v4okm5zmbtYtMeA0FKq0Jjg2drHdetC6jJ7bpQBL.ttf"},"Pacifico":{"regular":"http://fonts.gstatic.com/s/pacifico/v17/FwZY7-Qmy14u9lezJ96A4sijpFu_.ttf"},"Overpass":{"100":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6_PLrOZCLtce-og.ttf","200":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6fPPrOZCLtce-og.ttf","300":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6ovPrOZCLtce-og.ttf","500":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6zvPrOZCLtce-og.ttf","600":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6IvTrOZCLtce-og.ttf","700":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6G_TrOZCLtce-og.ttf","800":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6fPTrOZCLtce-og.ttf","900":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6VfTrOZCLtce-og.ttf","regular":"http://fonts.gstatic.com/s/overpass/v7/qFda35WCmI96Ajtm83upeyoaX6QPnlo6_PPrOZCLtce-og.ttf","100italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLADe5qPl8Kuosgz.ttf","200italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLCDepqPl8Kuosgz.ttf","300italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLBdepqPl8Kuosgz.ttf","italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLADepqPl8Kuosgz.ttf","500italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLAxepqPl8Kuosgz.ttf","600italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLDdfZqPl8Kuosgz.ttf","700italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLDkfZqPl8Kuosgz.ttf","800italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLCDfZqPl8Kuosgz.ttf","900italic":"http://fonts.gstatic.com/s/overpass/v7/qFdU35WCmI96Ajtm81GgSdXCNs-VMF0vNLCqfZqPl8Kuosgz.ttf"},"Maven Pro":{"500":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8Rf25nCpozp5GvU.ttf","600":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8fvx5nCpozp5GvU.ttf","700":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8cLx5nCpozp5GvU.ttf","800":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8aXx5nCpozp5GvU.ttf","900":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8Yzx5nCpozp5GvU.ttf","regular":"http://fonts.gstatic.com/s/mavenpro/v25/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX25nCpozp5GvU.ttf"},"Teko":{"300":"http://fonts.gstatic.com/s/teko/v10/LYjCdG7kmE0gdQhfgCNqqVIuTN4.ttf","500":"http://fonts.gstatic.com/s/teko/v10/LYjCdG7kmE0gdVBegCNqqVIuTN4.ttf","600":"http://fonts.gstatic.com/s/teko/v10/LYjCdG7kmE0gdXxZgCNqqVIuTN4.ttf","700":"http://fonts.gstatic.com/s/teko/v10/LYjCdG7kmE0gdRhYgCNqqVIuTN4.ttf","regular":"http://fonts.gstatic.com/s/teko/v10/LYjNdG7kmE0gTaR3pCtBtVs.ttf"},"Merriweather Sans":{"300":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZ_O4ljuEG7xFHnQ.ttf","500":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZkO4ljuEG7xFHnQ.ttf","600":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZfOkljuEG7xFHnQ.ttf","700":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZRekljuEG7xFHnQ.ttf","800":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZIukljuEG7xFHnQ.ttf","regular":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cO9IRs1JiJN1FRAMjTN5zd9vgsFF_5asQTb6hZ2JKZou4ljuEG7xFHnQ.ttf","300italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq2TzesCzRRXnaur.ttf","italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq3NzesCzRRXnaur.ttf","500italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq3_zesCzRRXnaur.ttf","600italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq0TyusCzRRXnaur.ttf","700italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq0qyusCzRRXnaur.ttf","800italic":"http://fonts.gstatic.com/s/merriweathersans/v14/2-cM9IRs1JiJN1FRAMjTN5zd9vgsFHXwWDvLBsPDdpWMaq1NyusCzRRXnaur.ttf"},"Shadows Into Light":{"regular":"http://fonts.gstatic.com/s/shadowsintolight/v10/UqyNK9UOIntux_czAvDQx_ZcHqZXBNQDcsr4xzSMYA.ttf"},"Asap":{"500":"http://fonts.gstatic.com/s/asap/v15/KFO9CniXp96a4Tc2EZzSuDAoKsEI1qhOUX-8AEEe.ttf","600":"http://fonts.gstatic.com/s/asap/v15/KFO9CniXp96a4Tc2EZzSuDAoKsHk0ahOUX-8AEEe.ttf","700":"http://fonts.gstatic.com/s/asap/v15/KFO9CniXp96a4Tc2EZzSuDAoKsHd0ahOUX-8AEEe.ttf","regular":"http://fonts.gstatic.com/s/asap/v15/KFO9CniXp96a4Tc2EZzSuDAoKsE61qhOUX-8AEEe.ttf","italic":"http://fonts.gstatic.com/s/asap/v15/KFO7CniXp96ayz4E7kS706qGLdTylUANW3ueBVEeezU.ttf","500italic":"http://fonts.gstatic.com/s/asap/v15/KFO7CniXp96ayz4E7kS706qGLdTylXINW3ueBVEeezU.ttf","600italic":"http://fonts.gstatic.com/s/asap/v15/KFO7CniXp96ayz4E7kS706qGLdTylZ4KW3ueBVEeezU.ttf","700italic":"http://fonts.gstatic.com/s/asap/v15/KFO7CniXp96ayz4E7kS706qGLdTylacKW3ueBVEeezU.ttf"},"Indie Flower":{"regular":"http://fonts.gstatic.com/s/indieflower/v12/m8JVjfNVeKWVnh3QMuKkFcZlbkGG1dKEDw.ttf"},"Signika Negative":{"300":"http://fonts.gstatic.com/s/signikanegative/v15/E21x_cfngu7HiRpPX3ZpNE4kY5zKSPmJXkF0VDD2RAr5S73st9hiuEq8.ttf","500":"http://fonts.gstatic.com/s/signikanegative/v15/E21x_cfngu7HiRpPX3ZpNE4kY5zKSPmJXkF0VDD2RAqVS73st9hiuEq8.ttf","600":"http://fonts.gstatic.com/s/signikanegative/v15/E21x_cfngu7HiRpPX3ZpNE4kY5zKSPmJXkF0VDD2RAp5TL3st9hiuEq8.ttf","700":"http://fonts.gstatic.com/s/signikanegative/v15/E21x_cfngu7HiRpPX3ZpNE4kY5zKSPmJXkF0VDD2RApATL3st9hiuEq8.ttf","regular":"http://fonts.gstatic.com/s/signikanegative/v15/E21x_cfngu7HiRpPX3ZpNE4kY5zKSPmJXkF0VDD2RAqnS73st9hiuEq8.ttf"},"Noto Sans SC":{"100":"http://fonts.gstatic.com/s/notosanssc/v20/k3kJo84MPvpLmixcA63oeALZTYKL2wv287Sb.otf","300":"http://fonts.gstatic.com/s/notosanssc/v20/k3kIo84MPvpLmixcA63oeALZhaCt9yX6-q2CGg.otf","500":"http://fonts.gstatic.com/s/notosanssc/v20/k3kIo84MPvpLmixcA63oeALZ3aGt9yX6-q2CGg.otf","700":"http://fonts.gstatic.com/s/notosanssc/v20/k3kIo84MPvpLmixcA63oeALZlaet9yX6-q2CGg.otf","900":"http://fonts.gstatic.com/s/notosanssc/v20/k3kIo84MPvpLmixcA63oeALZraWt9yX6-q2CGg.otf","regular":"http://fonts.gstatic.com/s/notosanssc/v20/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf"},"Abril Fatface":{"regular":"http://fonts.gstatic.com/s/abrilfatface/v12/zOL64pLDlL1D99S8g8PtiKchm-BsjOLhZBY.ttf"},"Rajdhani":{"300":"http://fonts.gstatic.com/s/rajdhani/v10/LDI2apCSOBg7S-QT7pasEcOsc-bGkqIw.ttf","500":"http://fonts.gstatic.com/s/rajdhani/v10/LDI2apCSOBg7S-QT7pb0EMOsc-bGkqIw.ttf","600":"http://fonts.gstatic.com/s/rajdhani/v10/LDI2apCSOBg7S-QT7pbYF8Osc-bGkqIw.ttf","700":"http://fonts.gstatic.com/s/rajdhani/v10/LDI2apCSOBg7S-QT7pa8FsOsc-bGkqIw.ttf","regular":"http://fonts.gstatic.com/s/rajdhani/v10/LDIxapCSOBg7S-QT7q4AOeekWPrP.ttf"},"Architects Daughter":{"regular":"http://fonts.gstatic.com/s/architectsdaughter/v11/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfY5q4szgE-Q.ttf"},"Hind Madurai":{"300":"http://fonts.gstatic.com/s/hindmadurai/v6/f0Xu0e2p98ZvDXdZQIOcpqjfXaUnecsoMJ0b_g.ttf","500":"http://fonts.gstatic.com/s/hindmadurai/v6/f0Xu0e2p98ZvDXdZQIOcpqjfBaQnecsoMJ0b_g.ttf","600":"http://fonts.gstatic.com/s/hindmadurai/v6/f0Xu0e2p98ZvDXdZQIOcpqjfKaMnecsoMJ0b_g.ttf","700":"http://fonts.gstatic.com/s/hindmadurai/v6/f0Xu0e2p98ZvDXdZQIOcpqjfTaInecsoMJ0b_g.ttf","regular":"http://fonts.gstatic.com/s/hindmadurai/v6/f0Xx0e2p98ZvDXdZQIOcpqjn8Y0DceA0OQ.ttf"},"Questrial":{"regular":"http://fonts.gstatic.com/s/questrial/v13/QdVUSTchPBm7nuUeVf7EuStkm20oJA.ttf"},"Cormorant Garamond":{"300":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQAllvuQWJ5heb_w.ttf","500":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQWlhvuQWJ5heb_w.ttf","600":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQdl9vuQWJ5heb_w.ttf","700":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQEl5vuQWJ5heb_w.ttf","300italic":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEPjuw-NxBKL_y94.ttf","regular":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3bmX5slCNuHLi8bLeY9MK7whWMhyjornFLsS6V7w.ttf","italic":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrHtPkyuF7w6C.ttf","500italic":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEO7ug-NxBKL_y94.ttf","600italic":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEOXvQ-NxBKL_y94.ttf","700italic":"http://fonts.gstatic.com/s/cormorantgaramond/v10/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEPzvA-NxBKL_y94.ttf"},"Saira Condensed":{"100":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRMQgErUN8XuHNEtX81i9TmEkrnwetA2omSrzS8.ttf","200":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnbcpg8Keepi2lHw.ttf","300":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnCclg8Keepi2lHw.ttf","500":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnUchg8Keepi2lHw.ttf","600":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnfc9g8Keepi2lHw.ttf","700":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnGc5g8Keepi2lHw.ttf","800":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnBc1g8Keepi2lHw.ttf","900":"http://fonts.gstatic.com/s/sairacondensed/v6/EJRLQgErUN8XuHNEtX81i9TmEkrnIcxg8Keepi2lHw.ttf","regular":"http://fonts.gstatic.com/s/sairacondensed/v6/EJROQgErUN8XuHNEtX81i9TmEkrfpeFE-IyCrw.ttf"},"Slabo 27px":{"regular":"http://fonts.gstatic.com/s/slabo27px/v7/mFT0WbgBwKPR_Z4hGN2qsxgJ1EJ7i90.ttf"},"Noto Serif JP":{"200":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZBaPRkgfU8fEwb0.otf","300":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZHKMRkgfU8fEwb0.otf","500":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZCqNRkgfU8fEwb0.otf","600":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZAaKRkgfU8fEwb0.otf","700":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZGKLRkgfU8fEwb0.otf","900":"http://fonts.gstatic.com/s/notoserifjp/v15/xn77YHs72GKoTvER4Gn3b5eMZFqJRkgfU8fEwb0.otf","regular":"http://fonts.gstatic.com/s/notoserifjp/v15/xn7mYHs72GKoTvER4Gn3b5eMXNikYkY0T84.otf"},"IBM Plex Serif":{"100":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizBREVNn1dOx-zrZ2X3pZvkTi182zIZj1bIkNo.ttf","200":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizAREVNn1dOx-zrZ2X3pZvkTi3Q-hIzoVrBicOg.ttf","300":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizAREVNn1dOx-zrZ2X3pZvkTi20-RIzoVrBicOg.ttf","500":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizAREVNn1dOx-zrZ2X3pZvkTi3s-BIzoVrBicOg.ttf","600":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizAREVNn1dOx-zrZ2X3pZvkTi3A_xIzoVrBicOg.ttf","700":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizAREVNn1dOx-zrZ2X3pZvkTi2k_hIzoVrBicOg.ttf","100italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizHREVNn1dOx-zrZ2X3pZvkTiUa41YTi3TNgNq55w.ttf","200italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizGREVNn1dOx-zrZ2X3pZvkTiUa4_oyq17jjNOg_oc.ttf","300italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizGREVNn1dOx-zrZ2X3pZvkTiUa454xq17jjNOg_oc.ttf","regular":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizDREVNn1dOx-zrZ2X3pZvkThUY0TY7ikbI.ttf","italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizBREVNn1dOx-zrZ2X3pZvkTiUa2zIZj1bIkNo.ttf","500italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizGREVNn1dOx-zrZ2X3pZvkTiUa48Ywq17jjNOg_oc.ttf","600italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizGREVNn1dOx-zrZ2X3pZvkTiUa4-o3q17jjNOg_oc.ttf","700italic":"http://fonts.gstatic.com/s/ibmplexserif/v10/jizGREVNn1dOx-zrZ2X3pZvkTiUa4442q17jjNOg_oc.ttf"},"Assistant":{"200":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtmZnEGGf3qGuvM4.ttf","300":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtrhnEGGf3qGuvM4.ttf","500":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQttRnEGGf3qGuvM4.ttf","600":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtjhgEGGf3qGuvM4.ttf","700":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtgFgEGGf3qGuvM4.ttf","800":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtmZgEGGf3qGuvM4.ttf","regular":"http://fonts.gstatic.com/s/assistant/v8/2sDPZGJYnIjSi6H75xkZZE1I0yCmYzzQtuZnEGGf3qGuvM4.ttf"},"Caveat":{"500":"http://fonts.gstatic.com/s/caveat/v10/WnznHAc5bAfYB2QRah7pcpNvOx-pjcB9SIKjYBxPigs.ttf","600":"http://fonts.gstatic.com/s/caveat/v10/WnznHAc5bAfYB2QRah7pcpNvOx-pjSx6SIKjYBxPigs.ttf","700":"http://fonts.gstatic.com/s/caveat/v10/WnznHAc5bAfYB2QRah7pcpNvOx-pjRV6SIKjYBxPigs.ttf","regular":"http://fonts.gstatic.com/s/caveat/v10/WnznHAc5bAfYB2QRah7pcpNvOx-pjfJ9SIKjYBxPigs.ttf"},"Fira Sans Condensed":{"100":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOjEADFm8hSaQTFG18FErVhsC9x-tarWZXtqOlQfx9CjA.ttf","200":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWTnMiMN-cxZblY4.ttf","300":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWV3PiMN-cxZblY4.ttf","500":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWQXOiMN-cxZblY4.ttf","600":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWSnJiMN-cxZblY4.ttf","700":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWU3IiMN-cxZblY4.ttf","800":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWVHLiMN-cxZblY4.ttf","900":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWXXKiMN-cxZblY4.ttf","100italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOtEADFm8hSaQTFG18FErVhsC9x-tarUfPVzONUXRpSjJcu.ttf","200italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVYMJ0dzRehY43EA.ttf","300italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVBMF0dzRehY43EA.ttf","regular":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOhEADFm8hSaQTFG18FErVhsC9x-tarYfHnrMtVbx8.ttf","italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOjEADFm8hSaQTFG18FErVhsC9x-tarUfPtqOlQfx9CjA.ttf","500italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVXMB0dzRehY43EA.ttf","600italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVcMd0dzRehY43EA.ttf","700italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVFMZ0dzRehY43EA.ttf","800italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVCMV0dzRehY43EA.ttf","900italic":"http://fonts.gstatic.com/s/firasanscondensed/v5/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVLMR0dzRehY43EA.ttf"},"Catamaran":{"100":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPHjc1anXuluiLyw.ttf","200":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPPjd1anXuluiLyw.ttf","300":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPCbd1anXuluiLyw.ttf","500":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPErd1anXuluiLyw.ttf","600":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPKba1anXuluiLyw.ttf","700":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPJ_a1anXuluiLyw.ttf","800":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPPja1anXuluiLyw.ttf","900":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPNHa1anXuluiLyw.ttf","regular":"http://fonts.gstatic.com/s/catamaran/v8/o-0bIpQoyXQa2RxT7-5B6Ryxs2E_6n1iPHjd1anXuluiLyw.ttf"},"Manrope":{"200":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59FO_F87jxeN7B.ttf","300":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk6jFO_F87jxeN7B.ttf","500":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_F87jxeN7B.ttf","600":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_F87jxeN7B.ttf","700":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_F87jxeN7B.ttf","800":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59E-_F87jxeN7B.ttf","regular":"http://fonts.gstatic.com/s/manrope/v8/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_F87jxeN7B.ttf"},"Permanent Marker":{"regular":"http://fonts.gstatic.com/s/permanentmarker/v10/Fh4uPib9Iyv2ucM6pGQMWimMp004HaqIfrT5nlk.ttf"},"Balsamiq Sans":{"700":"http://fonts.gstatic.com/s/balsamiqsans/v3/P5sZzZiAbNrN8SB3lQQX7PncyWUyBY9mAzLFRQI.ttf","regular":"http://fonts.gstatic.com/s/balsamiqsans/v3/P5sEzZiAbNrN8SB3lQQX7Pnc8dkdIYdNHzs.ttf","italic":"http://fonts.gstatic.com/s/balsamiqsans/v3/P5sazZiAbNrN8SB3lQQX7PncwdsXJaVIDzvcXA.ttf","700italic":"http://fonts.gstatic.com/s/balsamiqsans/v3/P5sfzZiAbNrN8SB3lQQX7PncwdsvmYpsBxDAVQI4aA.ttf"},"Nanum Myeongjo":{"700":"http://fonts.gstatic.com/s/nanummyeongjo/v15/9Bty3DZF0dXLMZlywRbVRNhxy2pXV1A0pfCs5Kos.ttf","800":"http://fonts.gstatic.com/s/nanummyeongjo/v15/9Bty3DZF0dXLMZlywRbVRNhxy2pLVFA0pfCs5Kos.ttf","regular":"http://fonts.gstatic.com/s/nanummyeongjo/v15/9Btx3DZF0dXLMZlywRbVRNhxy1LreHQ8juyl.ttf"},"Exo":{"100":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4lM2CwNsOl4p5Is.ttf","200":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4tM3CwNsOl4p5Is.ttf","300":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4g03CwNsOl4p5Is.ttf","500":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4mE3CwNsOl4p5Is.ttf","600":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4o0wCwNsOl4p5Is.ttf","700":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4rQwCwNsOl4p5Is.ttf","800":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4tMwCwNsOl4p5Is.ttf","900":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4vowCwNsOl4p5Is.ttf","regular":"http://fonts.gstatic.com/s/exo/v15/4UaZrEtFpBI4f1ZSIK9d4LjJ4lM3CwNsOl4p5Is.ttf","100italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t040FmPnws9Iu-uA.ttf","200italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0Y0BmPnws9Iu-uA.ttf","300italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0vUBmPnws9Iu-uA.ttf","italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t040BmPnws9Iu-uA.ttf","500italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t00UBmPnws9Iu-uA.ttf","600italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0PUdmPnws9Iu-uA.ttf","700italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0BEdmPnws9Iu-uA.ttf","800italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0Y0dmPnws9Iu-uA.ttf","900italic":"http://fonts.gstatic.com/s/exo/v15/4UafrEtFpBISdmSt-MY2ehbO95t0SkdmPnws9Iu-uA.ttf"},"Ubuntu Mono":{"700":"http://fonts.gstatic.com/s/ubuntumono/v10/KFO-CneDtsqEr0keqCMhbC-BL-Hyv4xGemO1.ttf","regular":"http://fonts.gstatic.com/s/ubuntumono/v10/KFOjCneDtsqEr0keqCMhbBc9AMX6lJBP.ttf","italic":"http://fonts.gstatic.com/s/ubuntumono/v10/KFOhCneDtsqEr0keqCMhbCc_CsHYkYBPY3o.ttf","700italic":"http://fonts.gstatic.com/s/ubuntumono/v10/KFO8CneDtsqEr0keqCMhbCc_Mn33tYhkf3O1GVg.ttf"},"Tajawal":{"200":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l_6gLrZjiLlJ-G0.ttf","300":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l5qjLrZjiLlJ-G0.ttf","500":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l8KiLrZjiLlJ-G0.ttf","700":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l4qkLrZjiLlJ-G0.ttf","800":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l5anLrZjiLlJ-G0.ttf","900":"http://fonts.gstatic.com/s/tajawal/v4/Iurf6YBj_oCad4k1l7KmLrZjiLlJ-G0.ttf","regular":"http://fonts.gstatic.com/s/tajawal/v4/Iura6YBj_oCad4k1rzaLCr5IlLA.ttf"},"Padauk":{"700":"http://fonts.gstatic.com/s/padauk/v8/RrQSboJg-id7Onb512DE1JJEZ4YwGg.ttf","regular":"http://fonts.gstatic.com/s/padauk/v8/RrQRboJg-id7OnbBa0_g3LlYbg.ttf"},"Archivo":{"100":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTNDJp8B1oJ0vyVQ.ttf","200":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTtDNp8B1oJ0vyVQ.ttf","300":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTajNp8B1oJ0vyVQ.ttf","500":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTBjNp8B1oJ0vyVQ.ttf","600":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTT6jRp8B1oJ0vyVQ.ttf","700":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTT0zRp8B1oJ0vyVQ.ttf","800":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTtDRp8B1oJ0vyVQ.ttf","900":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTnTRp8B1oJ0vyVQ.ttf","regular":"http://fonts.gstatic.com/s/archivo/v9/k3k6o8UDI-1M0wlSV9XAw6lQkqWY8Q82sJaRE-NWIDdgffTTNDNp8B1oJ0vyVQ.ttf","100italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HCBshdsBU7iVdxQ.ttf","200italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HABsxdsBU7iVdxQ.ttf","300italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HDfsxdsBU7iVdxQ.ttf","italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HCBsxdsBU7iVdxQ.ttf","500italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HCzsxdsBU7iVdxQ.ttf","600italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HBftBdsBU7iVdxQ.ttf","700italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HBmtBdsBU7iVdxQ.ttf","800italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HABtBdsBU7iVdxQ.ttf","900italic":"http://fonts.gstatic.com/s/archivo/v9/k3k8o8UDI-1M0wlSfdzyIEkpwTM29hr-8mTYIRyOSVz60_PG_HAotBdsBU7iVdxQ.ttf"},"Patrick Hand":{"regular":"http://fonts.gstatic.com/s/patrickhand/v14/LDI1apSQOAYtSuYWp8ZhfYeMWcjKm7sp8g.ttf"},"Archivo Narrow":{"500":"http://fonts.gstatic.com/s/archivonarrow/v18/tss5ApVBdCYD5Q7hcxTE1ArZ0Zz8oY2KRmwvKhhvHlGKpHOtFCQ76Q.ttf","600":"http://fonts.gstatic.com/s/archivonarrow/v18/tss5ApVBdCYD5Q7hcxTE1ArZ0Zz8oY2KRmwvKhhv8laKpHOtFCQ76Q.ttf","700":"http://fonts.gstatic.com/s/archivonarrow/v18/tss5ApVBdCYD5Q7hcxTE1ArZ0Zz8oY2KRmwvKhhvy1aKpHOtFCQ76Q.ttf","regular":"http://fonts.gstatic.com/s/archivonarrow/v18/tss5ApVBdCYD5Q7hcxTE1ArZ0Zz8oY2KRmwvKhhvLFGKpHOtFCQ76Q.ttf","italic":"http://fonts.gstatic.com/s/archivonarrow/v18/tss7ApVBdCYD5Q7hcxTE1ArZ0bb1k3JSLwe1hB965BJi53mpNiEr6T6Y.ttf","500italic":"http://fonts.gstatic.com/s/archivonarrow/v18/tss7ApVBdCYD5Q7hcxTE1ArZ0bb1k3JSLwe1hB965BJQ53mpNiEr6T6Y.ttf","600italic":"http://fonts.gstatic.com/s/archivonarrow/v18/tss7ApVBdCYD5Q7hcxTE1ArZ0bb1k3JSLwe1hB965BK84HmpNiEr6T6Y.ttf","700italic":"http://fonts.gstatic.com/s/archivonarrow/v18/tss7ApVBdCYD5Q7hcxTE1ArZ0bb1k3JSLwe1hB965BKF4HmpNiEr6T6Y.ttf"},"Domine":{"500":"http://fonts.gstatic.com/s/domine/v11/L0xhDFMnlVwD4h3Lt9JWnbX3jG-2X0DAI10VErGuW8Q.ttf","600":"http://fonts.gstatic.com/s/domine/v11/L0xhDFMnlVwD4h3Lt9JWnbX3jG-2X6zHI10VErGuW8Q.ttf","700":"http://fonts.gstatic.com/s/domine/v11/L0xhDFMnlVwD4h3Lt9JWnbX3jG-2X5XHI10VErGuW8Q.ttf","regular":"http://fonts.gstatic.com/s/domine/v11/L0xhDFMnlVwD4h3Lt9JWnbX3jG-2X3LAI10VErGuW8Q.ttf"},"Satisfy":{"regular":"http://fonts.gstatic.com/s/satisfy/v11/rP2Hp2yn6lkG50LoOZSCHBeHFl0.ttf"},"Secular One":{"regular":"http://fonts.gstatic.com/s/secularone/v5/8QINdiTajsj_87rMuMdKypDlMul7LJpK.ttf"},"Play":{"700":"http://fonts.gstatic.com/s/play/v12/6ae84K2oVqwItm4TOpc423nTJTM.ttf","regular":"http://fonts.gstatic.com/s/play/v12/6aez4K2oVqwIjtI8Hp8Tx3A.ttf"},"Zilla Slab":{"300":"http://fonts.gstatic.com/s/zillaslab/v6/dFa5ZfeM_74wlPZtksIFYpEY2HSjWlhzbaw.ttf","500":"http://fonts.gstatic.com/s/zillaslab/v6/dFa5ZfeM_74wlPZtksIFYskZ2HSjWlhzbaw.ttf","600":"http://fonts.gstatic.com/s/zillaslab/v6/dFa5ZfeM_74wlPZtksIFYuUe2HSjWlhzbaw.ttf","700":"http://fonts.gstatic.com/s/zillaslab/v6/dFa5ZfeM_74wlPZtksIFYoEf2HSjWlhzbaw.ttf","300italic":"http://fonts.gstatic.com/s/zillaslab/v6/dFanZfeM_74wlPZtksIFaj8CVHapXnp2fazkfg.ttf","regular":"http://fonts.gstatic.com/s/zillaslab/v6/dFa6ZfeM_74wlPZtksIFWj0w_HyIRlE.ttf","italic":"http://fonts.gstatic.com/s/zillaslab/v6/dFa4ZfeM_74wlPZtksIFaj86-F6NVlFqdA.ttf","500italic":"http://fonts.gstatic.com/s/zillaslab/v6/dFanZfeM_74wlPZtksIFaj8CDHepXnp2fazkfg.ttf","600italic":"http://fonts.gstatic.com/s/zillaslab/v6/dFanZfeM_74wlPZtksIFaj8CIHCpXnp2fazkfg.ttf","700italic":"http://fonts.gstatic.com/s/zillaslab/v6/dFanZfeM_74wlPZtksIFaj8CRHGpXnp2fazkfg.ttf"},"Acme":{"regular":"http://fonts.gstatic.com/s/acme/v11/RrQfboBx-C5_bx3Lb23lzLk.ttf"},"M PLUS Rounded 1c":{"100":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGCAYIAV6gnpUpoWwNkYvrugw9RuM3ixLsg6-av1x0.ttf","300":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0q5psKxeqmzgRK.ttf","500":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sKxeqmzgRK.ttf","700":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsKxeqmzgRK.ttf","800":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0m4psKxeqmzgRK.ttf","900":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0C45sKxeqmzgRK.ttf","regular":"http://fonts.gstatic.com/s/mplusrounded1c/v10/VdGEAYIAV6gnpUpoWwNkYvrugw9RuPWGzr8C7vav.ttf"},"ABeeZee":{"regular":"http://fonts.gstatic.com/s/abeezee/v14/esDR31xSG-6AGleN6tKukbcHCpE.ttf","italic":"http://fonts.gstatic.com/s/abeezee/v14/esDT31xSG-6AGleN2tCklZUCGpG-GQ.ttf"},"Alfa Slab One":{"regular":"http://fonts.gstatic.com/s/alfaslabone/v10/6NUQ8FmMKwSEKjnm5-4v-4Jh6dVretWvYmE.ttf"},"Spartan":{"100":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrGFuG6OChXtf4qS.ttf","200":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrEFuW6OChXtf4qS.ttf","300":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrHbuW6OChXtf4qS.ttf","500":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrG3uW6OChXtf4qS.ttf","600":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrFbvm6OChXtf4qS.ttf","700":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrFivm6OChXtf4qS.ttf","800":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrEFvm6OChXtf4qS.ttf","900":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrEsvm6OChXtf4qS.ttf","regular":"http://fonts.gstatic.com/s/spartan/v7/l7gAbjR61M69yt8Z8w6FZf9WoBxdBrGFuW6OChXtf4qS.ttf"},"Public Sans":{"100":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuFpi5ww0pX189fg.ttf","200":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymulpm5ww0pX189fg.ttf","300":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuSJm5ww0pX189fg.ttf","500":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuJJm5ww0pX189fg.ttf","600":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuyJ65ww0pX189fg.ttf","700":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymu8Z65ww0pX189fg.ttf","800":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymulp65ww0pX189fg.ttf","900":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuv565ww0pX189fg.ttf","regular":"http://fonts.gstatic.com/s/publicsans/v7/ijwGs572Xtc6ZYQws9YVwllKVG8qX1oyOymuFpm5ww0pX189fg.ttf","100italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tpRgQctfVotfj7j.ttf","200italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673trRgActfVotfj7j.ttf","300italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673toPgActfVotfj7j.ttf","italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tpRgActfVotfj7j.ttf","500italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tpjgActfVotfj7j.ttf","600italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tqPhwctfVotfj7j.ttf","700italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tq2hwctfVotfj7j.ttf","800italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673trRhwctfVotfj7j.ttf","900italic":"http://fonts.gstatic.com/s/publicsans/v7/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tr4hwctfVotfj7j.ttf"},"Bree Serif":{"regular":"http://fonts.gstatic.com/s/breeserif/v10/4UaHrEJCrhhnVA3DgluAx63j5pN1MwI.ttf"},"Signika":{"300":"http://fonts.gstatic.com/s/signika/v15/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tIJHJbGhs_cfKe1.ttf","500":"http://fonts.gstatic.com/s/signika/v15/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJlHJbGhs_cfKe1.ttf","600":"http://fonts.gstatic.com/s/signika/v15/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tKJG5bGhs_cfKe1.ttf","700":"http://fonts.gstatic.com/s/signika/v15/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tKwG5bGhs_cfKe1.ttf","regular":"http://fonts.gstatic.com/s/signika/v15/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHJbGhs_cfKe1.ttf"},"Amatic SC":{"700":"http://fonts.gstatic.com/s/amaticsc/v16/TUZ3zwprpvBS1izr_vOMscG6eb8D3WTy-A.ttf","regular":"http://fonts.gstatic.com/s/amaticsc/v16/TUZyzwprpvBS1izr_vO0De6ecZQf1A.ttf"},"Noto Sans Display":{"100":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_3cLVTGQ2iHrvWM.ttf","200":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp__cKVTGQ2iHrvWM.ttf","300":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_ykKVTGQ2iHrvWM.ttf","500":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_0UKVTGQ2iHrvWM.ttf","600":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_6kNVTGQ2iHrvWM.ttf","700":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_5ANVTGQ2iHrvWM.ttf","800":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp__cNVTGQ2iHrvWM.ttf","900":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_94NVTGQ2iHrvWM.ttf","regular":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_3cKVTGQ2iHrvWM.ttf","100italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JvXOa3gPurWM9uQ.ttf","200italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JPXKa3gPurWM9uQ.ttf","300italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9J43Ka3gPurWM9uQ.ttf","italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JvXKa3gPurWM9uQ.ttf","500italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9Jj3Ka3gPurWM9uQ.ttf","600italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JY3Wa3gPurWM9uQ.ttf","700italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JWnWa3gPurWM9uQ.ttf","800italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JPXWa3gPurWM9uQ.ttf","900italic":"http://fonts.gstatic.com/s/notosansdisplay/v13/RLpZK4fy6r6tOBEJg0IAKzqdFZVZxrktbnDB5UzBIup9PwAcHtEsOFNBZqyu6r9JFHWa3gPurWM9uQ.ttf"},"Gloria Hallelujah":{"regular":"http://fonts.gstatic.com/s/gloriahallelujah/v12/LYjYdHv3kUk9BMV96EIswT9DIbW-MLSy3TKEvkCF.ttf"},"Jost":{"100":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7myjJAVGPokMmuHL.ttf","200":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mwjJQVGPokMmuHL.ttf","300":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mz9JQVGPokMmuHL.ttf","500":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7myRJQVGPokMmuHL.ttf","600":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mx9IgVGPokMmuHL.ttf","700":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mxEIgVGPokMmuHL.ttf","800":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mwjIgVGPokMmuHL.ttf","900":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mwKIgVGPokMmuHL.ttf","regular":"http://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7myjJQVGPokMmuHL.ttf","100italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZu0ENI0un_HLMEo.ttf","200italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZm0FNI0un_HLMEo.ttf","300italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZrMFNI0un_HLMEo.ttf","italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZu0FNI0un_HLMEo.ttf","500italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZt8FNI0un_HLMEo.ttf","600italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZjMCNI0un_HLMEo.ttf","700italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZgoCNI0un_HLMEo.ttf","800italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZm0CNI0un_HLMEo.ttf","900italic":"http://fonts.gstatic.com/s/jost/v9/92zJtBhPNqw73oHH7BbQp4-B6XlrZkQCNI0un_HLMEo.ttf"},"Patua One":{"regular":"http://fonts.gstatic.com/s/patuaone/v11/ZXuke1cDvLCKLDcimxBI5PNvNA9LuA.ttf"},"Barlow Semi Condensed":{"100":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlphgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfG4qvKk8ogoSP.ttf","200":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRft6uPAGEki52WfA.ttf","300":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf06iPAGEki52WfA.ttf","500":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfi6mPAGEki52WfA.ttf","600":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfp66PAGEki52WfA.ttf","700":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfw6-PAGEki52WfA.ttf","800":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf36yPAGEki52WfA.ttf","900":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf-62PAGEki52WfA.ttf","100italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpjgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbLLIEsKh5SPZWs.ttf","200italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJnAWsgqZiGfHK5.ttf","300italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIDAmsgqZiGfHK5.ttf","regular":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpvgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRnf4CrCEo4gg.ttf","italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlphgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfYqvKk8ogoSP.ttf","500italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJbA2sgqZiGfHK5.ttf","600italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJ3BGsgqZiGfHK5.ttf","700italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbITBWsgqZiGfHK5.ttf","800italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIPBmsgqZiGfHK5.ttf","900italic":"http://fonts.gstatic.com/s/barlowsemicondensed/v7/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIrB2sgqZiGfHK5.ttf"},"Staatliches":{"regular":"http://fonts.gstatic.com/s/staatliches/v6/HI_OiY8KO6hCsQSoAPmtMbectJG9O9PS.ttf"},"Crete Round":{"regular":"http://fonts.gstatic.com/s/creteround/v9/55xoey1sJNPjPiv1ZZZrxJ1827zAKnxN.ttf","italic":"http://fonts.gstatic.com/s/creteround/v9/55xqey1sJNPjPiv1ZZZrxK1-0bjiL2xNhKc.ttf"},"Righteous":{"regular":"http://fonts.gstatic.com/s/righteous/v9/1cXxaUPXBpj2rGoU7C9mj3uEicG01A.ttf"},"Sarabun":{"100":"http://fonts.gstatic.com/s/sarabun/v8/DtVhJx26TKEr37c9YHZJmnYI5gnOpg.ttf","200":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YNpoulwm6gDXvwE.ttf","300":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YL5rulwm6gDXvwE.ttf","500":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YOZqulwm6gDXvwE.ttf","600":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YMptulwm6gDXvwE.ttf","700":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YK5sulwm6gDXvwE.ttf","800":"http://fonts.gstatic.com/s/sarabun/v8/DtVmJx26TKEr37c9YLJvulwm6gDXvwE.ttf","100italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVnJx26TKEr37c9aBBx_nwMxAzephhN.ttf","200italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxUl0s7iLSrwFUlw.ttf","300italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxNl4s7iLSrwFUlw.ttf","regular":"http://fonts.gstatic.com/s/sarabun/v8/DtVjJx26TKEr37c9WBJDnlQN9gk.ttf","italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVhJx26TKEr37c9aBBJmnYI5gnOpg.ttf","500italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxbl8s7iLSrwFUlw.ttf","600italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxQlgs7iLSrwFUlw.ttf","700italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxJlks7iLSrwFUlw.ttf","800italic":"http://fonts.gstatic.com/s/sarabun/v8/DtVkJx26TKEr37c9aBBxOlos7iLSrwFUlw.ttf"},"Vollkorn":{"500":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df2AnGuGWOdEbD63w.ttf","600":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df27nauGWOdEbD63w.ttf","700":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df213auGWOdEbD63w.ttf","800":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df2sHauGWOdEbD63w.ttf","900":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df2mXauGWOdEbD63w.ttf","regular":"http://fonts.gstatic.com/s/vollkorn/v17/0ybgGDoxxrvAnPhYGzMlQLzuMasz6Df2MHGuGWOdEbD63w.ttf","italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DJGWmmZM7Xq34g9.ttf","500italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DJ0WmmZM7Xq34g9.ttf","600italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DKYXWmZM7Xq34g9.ttf","700italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DKhXWmZM7Xq34g9.ttf","800italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DLGXWmZM7Xq34g9.ttf","900italic":"http://fonts.gstatic.com/s/vollkorn/v17/0ybuGDoxxrvAnPhYGxksckM2WMCpRjDj-DLvXWmZM7Xq34g9.ttf"},"Fredoka One":{"regular":"http://fonts.gstatic.com/s/fredokaone/v8/k3kUo8kEI-tA1RRcTZGmTmHBA6aF8Bf_.ttf"},"Red Hat Display":{"300":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbjKWckg5-Xecg3w.ttf","500":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbl6Wckg5-Xecg3w.ttf","600":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbrKRckg5-Xecg3w.ttf","700":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbouRckg5-Xecg3w.ttf","800":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbuyRckg5-Xecg3w.ttf","900":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbsWRckg5-Xecg3w.ttf","regular":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIf7wUr0m80wwYf0QCXZzYzUoTK8RZQvRd-D1NYbmyWckg5-Xecg3w.ttf","300italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVxAsz_VWZk3zJGg.ttf","italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVmgsz_VWZk3zJGg.ttf","500italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVqAsz_VWZk3zJGg.ttf","600italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVRAwz_VWZk3zJGg.ttf","700italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVfQwz_VWZk3zJGg.ttf","800italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVGgwz_VWZk3zJGg.ttf","900italic":"http://fonts.gstatic.com/s/redhatdisplay/v7/8vIh7wUr0m80wwYf0QCXZzYzUoTg-CSvZX4Vlf1fe6TVMwwz_VWZk3zJGg.ttf"},"Cinzel":{"500":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-uTnTYrvDE5ZdqU.ttf","600":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-gjgTYrvDE5ZdqU.ttf","700":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-jHgTYrvDE5ZdqU.ttf","800":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-lbgTYrvDE5ZdqU.ttf","900":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-n_gTYrvDE5ZdqU.ttf","regular":"http://fonts.gstatic.com/s/cinzel/v11/8vIU7ww63mVu7gtR-kwKxNvkNOjw-tbnTYrvDE5ZdqU.ttf"},"Eczar":{"500":"http://fonts.gstatic.com/s/eczar/v13/BXRovF3Pi-DLmzXWL8t622v9WNjW.ttf","600":"http://fonts.gstatic.com/s/eczar/v13/BXRovF3Pi-DLmzX6KMt622v9WNjW.ttf","700":"http://fonts.gstatic.com/s/eczar/v13/BXRovF3Pi-DLmzWeKct622v9WNjW.ttf","800":"http://fonts.gstatic.com/s/eczar/v13/BXRovF3Pi-DLmzWCKst622v9WNjW.ttf","regular":"http://fonts.gstatic.com/s/eczar/v13/BXRlvF3Pi-DLmw0iBu9y8Hf0.ttf"},"Martel":{"200":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XVqekahRbX9vnDzw.ttf","300":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XVzeoahRbX9vnDzw.ttf","600":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XVuewahRbX9vnDzw.ttf","700":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XV3e0ahRbX9vnDzw.ttf","800":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XVwe4ahRbX9vnDzw.ttf","900":"http://fonts.gstatic.com/s/martel/v5/PN_yRfK9oXHga0XV5e8ahRbX9vnDzw.ttf","regular":"http://fonts.gstatic.com/s/martel/v5/PN_xRfK9oXHga0XtYcI-jT3L_w.ttf"},"Cookie":{"regular":"http://fonts.gstatic.com/s/cookie/v12/syky-y18lb0tSbfNlQCT9tPdpw.ttf"},"Chakra Petch":{"300":"http://fonts.gstatic.com/s/chakrapetch/v4/cIflMapbsEk7TDLdtEz1BwkeNIhFQJXE3AY00g.ttf","500":"http://fonts.gstatic.com/s/chakrapetch/v4/cIflMapbsEk7TDLdtEz1BwkebIlFQJXE3AY00g.ttf","600":"http://fonts.gstatic.com/s/chakrapetch/v4/cIflMapbsEk7TDLdtEz1BwkeQI5FQJXE3AY00g.ttf","700":"http://fonts.gstatic.com/s/chakrapetch/v4/cIflMapbsEk7TDLdtEz1BwkeJI9FQJXE3AY00g.ttf","300italic":"http://fonts.gstatic.com/s/chakrapetch/v4/cIfnMapbsEk7TDLdtEz1BwkWmpLJQp_A_gMk0izH.ttf","regular":"http://fonts.gstatic.com/s/chakrapetch/v4/cIf6MapbsEk7TDLdtEz1BwkmmKBhSL7Y1Q.ttf","italic":"http://fonts.gstatic.com/s/chakrapetch/v4/cIfkMapbsEk7TDLdtEz1BwkWmqplarvI1R8t.ttf","500italic":"http://fonts.gstatic.com/s/chakrapetch/v4/cIfnMapbsEk7TDLdtEz1BwkWmpKRQ5_A_gMk0izH.ttf","600italic":"http://fonts.gstatic.com/s/chakrapetch/v4/cIfnMapbsEk7TDLdtEz1BwkWmpK9RJ_A_gMk0izH.ttf","700italic":"http://fonts.gstatic.com/s/chakrapetch/v4/cIfnMapbsEk7TDLdtEz1BwkWmpLZRZ_A_gMk0izH.ttf"},"Alegreya Sans":{"100":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUt9_-1phKLFgshYDvh6Vwt5TltuGdShm5bsg.ttf","300":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUu9_-1phKLFgshYDvh6Vwt5fFPmE18imdCqxI.ttf","500":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUu9_-1phKLFgshYDvh6Vwt5alOmE18imdCqxI.ttf","700":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUu9_-1phKLFgshYDvh6Vwt5eFImE18imdCqxI.ttf","800":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUu9_-1phKLFgshYDvh6Vwt5f1LmE18imdCqxI.ttf","900":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUu9_-1phKLFgshYDvh6Vwt5dlKmE18imdCqxI.ttf","100italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUv9_-1phKLFgshYDvh6Vwt7V9V3G1WpGtLsgu7.ttf","300italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUo9_-1phKLFgshYDvh6Vwt7V9VFE92jkVHuxKiBA.ttf","regular":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUz9_-1phKLFgshYDvh6Vwt3V1nvEVXlm4.ttf","italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUt9_-1phKLFgshYDvh6Vwt7V9tuGdShm5bsg.ttf","500italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUo9_-1phKLFgshYDvh6Vwt7V9VTE52jkVHuxKiBA.ttf","700italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUo9_-1phKLFgshYDvh6Vwt7V9VBEh2jkVHuxKiBA.ttf","800italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUo9_-1phKLFgshYDvh6Vwt7V9VGEt2jkVHuxKiBA.ttf","900italic":"http://fonts.gstatic.com/s/alegreyasans/v14/5aUo9_-1phKLFgshYDvh6Vwt7V9VPEp2jkVHuxKiBA.ttf"},"Yantramanav":{"100":"http://fonts.gstatic.com/s/yantramanav/v6/flU-Rqu5zY00QEpyWJYWN5-QXeNzDB41rZg.ttf","300":"http://fonts.gstatic.com/s/yantramanav/v6/flUhRqu5zY00QEpyWJYWN59Yf8NZIhI8tIHh.ttf","500":"http://fonts.gstatic.com/s/yantramanav/v6/flUhRqu5zY00QEpyWJYWN58AfsNZIhI8tIHh.ttf","700":"http://fonts.gstatic.com/s/yantramanav/v6/flUhRqu5zY00QEpyWJYWN59IeMNZIhI8tIHh.ttf","900":"http://fonts.gstatic.com/s/yantramanav/v6/flUhRqu5zY00QEpyWJYWN59wesNZIhI8tIHh.ttf","regular":"http://fonts.gstatic.com/s/yantramanav/v6/flU8Rqu5zY00QEpyWJYWN6f0V-dRCQ41.ttf"},"Space Mono":{"700":"http://fonts.gstatic.com/s/spacemono/v6/i7dMIFZifjKcF5UAWdDRaPpZYFKQHwyVd3U.ttf","regular":"http://fonts.gstatic.com/s/spacemono/v6/i7dPIFZifjKcF5UAWdDRUEZ2RFq7AwU.ttf","italic":"http://fonts.gstatic.com/s/spacemono/v6/i7dNIFZifjKcF5UAWdDRYER8QHi-EwWMbg.ttf","700italic":"http://fonts.gstatic.com/s/spacemono/v6/i7dSIFZifjKcF5UAWdDRYERE_FeaGy6QZ3WfYg.ttf"},"Antic Slab":{"regular":"http://fonts.gstatic.com/s/anticslab/v9/bWt97fPFfRzkCa9Jlp6IWcJWXW5p5Qo.ttf"},"Amiri":{"700":"http://fonts.gstatic.com/s/amiri/v17/J7acnpd8CGxBHp2VkZY4xJ9CGyAa.ttf","regular":"http://fonts.gstatic.com/s/amiri/v17/J7aRnpd8CGxBHqUpvrIw74NL.ttf","italic":"http://fonts.gstatic.com/s/amiri/v17/J7afnpd8CGxBHpUrtLYS6pNLAjk.ttf","700italic":"http://fonts.gstatic.com/s/amiri/v17/J7aanpd8CGxBHpUrjAo9zptgHjAavCA.ttf"},"Courgette":{"regular":"http://fonts.gstatic.com/s/courgette/v8/wEO_EBrAnc9BLjLQAUkFUfAL3EsHiA.ttf"},"Space Grotesk":{"300":"http://fonts.gstatic.com/s/spacegrotesk/v6/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj62UUsjNsFjTDJK.ttf","500":"http://fonts.gstatic.com/s/spacegrotesk/v6/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7aUUsjNsFjTDJK.ttf","600":"http://fonts.gstatic.com/s/spacegrotesk/v6/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj42VksjNsFjTDJK.ttf","700":"http://fonts.gstatic.com/s/spacegrotesk/v6/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj4PVksjNsFjTDJK.ttf","regular":"http://fonts.gstatic.com/s/spacegrotesk/v6/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7oUUsjNsFjTDJK.ttf"},"Almarai":{"300":"http://fonts.gstatic.com/s/almarai/v5/tssoApxBaigK_hnnS_anhnicoq72sXg.ttf","700":"http://fonts.gstatic.com/s/almarai/v5/tssoApxBaigK_hnnS-aghnicoq72sXg.ttf","800":"http://fonts.gstatic.com/s/almarai/v5/tssoApxBaigK_hnnS_qjhnicoq72sXg.ttf","regular":"http://fonts.gstatic.com/s/almarai/v5/tsstApxBaigK_hnnc1qPonC3vqc.ttf"},"M PLUS 1p":{"100":"http://fonts.gstatic.com/s/mplus1p/v19/e3tleuShHdiFyPFzBRrQnDQAUW3aq-5N.ttf","300":"http://fonts.gstatic.com/s/mplus1p/v19/e3tmeuShHdiFyPFzBRrQVBYge0PWovdU4w.ttf","500":"http://fonts.gstatic.com/s/mplus1p/v19/e3tmeuShHdiFyPFzBRrQDBcge0PWovdU4w.ttf","700":"http://fonts.gstatic.com/s/mplus1p/v19/e3tmeuShHdiFyPFzBRrQRBEge0PWovdU4w.ttf","800":"http://fonts.gstatic.com/s/mplus1p/v19/e3tmeuShHdiFyPFzBRrQWBIge0PWovdU4w.ttf","900":"http://fonts.gstatic.com/s/mplus1p/v19/e3tmeuShHdiFyPFzBRrQfBMge0PWovdU4w.ttf","regular":"http://fonts.gstatic.com/s/mplus1p/v19/e3tjeuShHdiFyPFzBRro-D4Ec2jKqw.ttf"},"Lobster Two":{"700":"http://fonts.gstatic.com/s/lobstertwo/v13/BngRUXZGTXPUvIoyV6yN5-92w4CByxyKeuDp.ttf","regular":"http://fonts.gstatic.com/s/lobstertwo/v13/BngMUXZGTXPUvIoyV6yN59fK7KSJ4ACD.ttf","italic":"http://fonts.gstatic.com/s/lobstertwo/v13/BngOUXZGTXPUvIoyV6yN5-fI5qCr5RCDY_k.ttf","700italic":"http://fonts.gstatic.com/s/lobstertwo/v13/BngTUXZGTXPUvIoyV6yN5-fI3hyEwRiof_DpXMY.ttf"},"IBM Plex Mono":{"100":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6pfjptAgt5VM-kVkqdyU8n3kwq0n1hj-sNFQ.ttf","200":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6qfjptAgt5VM-kVkqdyU8n3uAL8ldPg-IUDNg.ttf","300":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6qfjptAgt5VM-kVkqdyU8n3oQI8ldPg-IUDNg.ttf","500":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6qfjptAgt5VM-kVkqdyU8n3twJ8ldPg-IUDNg.ttf","600":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6qfjptAgt5VM-kVkqdyU8n3vAO8ldPg-IUDNg.ttf","700":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6qfjptAgt5VM-kVkqdyU8n3pQP8ldPg-IUDNg.ttf","100italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6rfjptAgt5VM-kVkqdyU8n1ioStndlre4dFcFh.ttf","200italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZFh8ARHNh4zg.ttf","300italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6sfjptAgt5VM-kVkqdyU8n1ioSflVFh8ARHNh4zg.ttf","regular":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F63fjptAgt5VM-kVkqdyU8n5igg1l9kn-s.ttf","italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6pfjptAgt5VM-kVkqdyU8n1ioq0n1hj-sNFQ.ttf","500italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlRFh8ARHNh4zg.ttf","600italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6sfjptAgt5VM-kVkqdyU8n1ioSClNFh8ARHNh4zg.ttf","700italic":"http://fonts.gstatic.com/s/ibmplexmono/v7/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJFh8ARHNh4zg.ttf"},"Great Vibes":{"regular":"http://fonts.gstatic.com/s/greatvibes/v9/RWmMoKWR9v4ksMfaWd_JN-XCg6UKDXlq.ttf"},"PT Sans Caption":{"700":"http://fonts.gstatic.com/s/ptsanscaption/v13/0FlJVP6Hrxmt7-fsUFhlFXNIlpcSwSrUSwWuz38Tgg.ttf","regular":"http://fonts.gstatic.com/s/ptsanscaption/v13/0FlMVP6Hrxmt7-fsUFhlFXNIlpcqfQXwQy6yxg.ttf"},"Ubuntu Condensed":{"regular":"http://fonts.gstatic.com/s/ubuntucondensed/v11/u-4k0rCzjgs5J7oXnJcM_0kACGMtf-fVqvHoJXw.ttf"},"Tinos":{"700":"http://fonts.gstatic.com/s/tinos/v16/buE1poGnedXvwj1AW0Fp2i43-cxL.ttf","regular":"http://fonts.gstatic.com/s/tinos/v16/buE4poGnedXvwgX8dGVh8TI-.ttf","italic":"http://fonts.gstatic.com/s/tinos/v16/buE2poGnedXvwjX-fmFD9CI-4NU.ttf","700italic":"http://fonts.gstatic.com/s/tinos/v16/buEzpoGnedXvwjX-Rt1s0CoV_NxLeiw.ttf"},"Alegreya":{"500":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGxBUI_KCisSGVrw.ttf","600":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGKBII_KCisSGVrw.ttf","700":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGERII_KCisSGVrw.ttf","800":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGdhII_KCisSGVrw.ttf","900":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNGXxII_KCisSGVrw.ttf","regular":"http://fonts.gstatic.com/s/alegreya/v19/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNG9hUI_KCisSGVrw.ttf","italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlbgv6qmkySFr9V9.ttf","500italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlbSv6qmkySFr9V9.ttf","600italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlY-uKqmkySFr9V9.ttf","700italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlYHuKqmkySFr9V9.ttf","800italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlZguKqmkySFr9V9.ttf","900italic":"http://fonts.gstatic.com/s/alegreya/v19/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlZJuKqmkySFr9V9.ttf"},"Didact Gothic":{"regular":"http://fonts.gstatic.com/s/didactgothic/v14/ahcfv8qz1zt6hCC5G4F_P4ASpUySp0LlcyQ.ttf"},"Encode Sans":{"100":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHiZtWP7FJCt2c.ttf","200":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHjZtWP7FJCt2c.ttf","300":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGD_jZtWP7FJCt2c.ttf","500":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGFPjZtWP7FJCt2c.ttf","600":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGL_kZtWP7FJCt2c.ttf","700":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGIbkZtWP7FJCt2c.ttf","800":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHkZtWP7FJCt2c.ttf","900":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGMjkZtWP7FJCt2c.ttf","regular":"http://fonts.gstatic.com/s/encodesans/v8/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHjZtWP7FJCt2c.ttf"},"Gothic A1":{"100":"http://fonts.gstatic.com/s/gothica1/v8/CSR74z5ZnPydRjlCCwlCCMcqYtd2vfwk.ttf","200":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlCpOYKSPl6tOU9Eg.ttf","300":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlCwOUKSPl6tOU9Eg.ttf","500":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlCmOQKSPl6tOU9Eg.ttf","600":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlCtOMKSPl6tOU9Eg.ttf","700":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlC0OIKSPl6tOU9Eg.ttf","800":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlCzOEKSPl6tOU9Eg.ttf","900":"http://fonts.gstatic.com/s/gothica1/v8/CSR44z5ZnPydRjlCCwlC6OAKSPl6tOU9Eg.ttf","regular":"http://fonts.gstatic.com/s/gothica1/v8/CSR94z5ZnPydRjlCCwl6bM0uQNJmvQ.ttf"},"Prata":{"regular":"http://fonts.gstatic.com/s/prata/v13/6xKhdSpbNNCT-vWIAG_5LWwJ.ttf"},"DM Serif Display":{"regular":"http://fonts.gstatic.com/s/dmserifdisplay/v5/-nFnOHM81r4j6k0gjAW3mujVU2B2K_d709jy92k.ttf","italic":"http://fonts.gstatic.com/s/dmserifdisplay/v5/-nFhOHM81r4j6k0gjAW3mujVU2B2G_Vx1_r352np3Q.ttf"},"Russo One":{"regular":"http://fonts.gstatic.com/s/russoone/v9/Z9XUDmZRWg6M1LvRYsH-yMOInrib9Q.ttf"},"Kaushan Script":{"regular":"http://fonts.gstatic.com/s/kaushanscript/v9/vm8vdRfvXFLG3OLnsO15WYS5DF7_ytN3M48a.ttf"},"Montserrat Alternates":{"100":"http://fonts.gstatic.com/s/montserratalternates/v12/mFThWacfw6zH4dthXcyms1lPpC8I_b0juU0xiKfVKphL03l4.ttf","200":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xJIb1ALZH2mBhkw.ttf","300":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xQIX1ALZH2mBhkw.ttf","500":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xGIT1ALZH2mBhkw.ttf","600":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xNIP1ALZH2mBhkw.ttf","700":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xUIL1ALZH2mBhkw.ttf","800":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xTIH1ALZH2mBhkw.ttf","900":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xaID1ALZH2mBhkw.ttf","100italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTjWacfw6zH4dthXcyms1lPpC8I_b0juU057p-xIJxp1ml4imo.ttf","200italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8dAbxD-GVxk3Nd.ttf","300italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p95ArxD-GVxk3Nd.ttf","regular":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTvWacfw6zH4dthXcyms1lPpC8I_b0juU0J7K3RCJ1b0w.ttf","italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFThWacfw6zH4dthXcyms1lPpC8I_b0juU057qfVKphL03l4.ttf","500italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8hA7xD-GVxk3Nd.ttf","600italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8NBLxD-GVxk3Nd.ttf","700italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p9pBbxD-GVxk3Nd.ttf","800italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p91BrxD-GVxk3Nd.ttf","900italic":"http://fonts.gstatic.com/s/montserratalternates/v12/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p9RB7xD-GVxk3Nd.ttf"},"Archivo Black":{"regular":"http://fonts.gstatic.com/s/archivoblack/v10/HTxqL289NzCGg4MzN6KJ7eW6OYuP_x7yx3A.ttf"},"Frank Ruhl Libre":{"300":"http://fonts.gstatic.com/s/frankruhllibre/v6/j8_36_fAw7jrcalD7oKYNX0QfAnPUxvHxJDMhYeIHw8.ttf","500":"http://fonts.gstatic.com/s/frankruhllibre/v6/j8_36_fAw7jrcalD7oKYNX0QfAnPU0PGxJDMhYeIHw8.ttf","700":"http://fonts.gstatic.com/s/frankruhllibre/v6/j8_36_fAw7jrcalD7oKYNX0QfAnPUwvAxJDMhYeIHw8.ttf","900":"http://fonts.gstatic.com/s/frankruhllibre/v6/j8_36_fAw7jrcalD7oKYNX0QfAnPUzPCxJDMhYeIHw8.ttf","regular":"http://fonts.gstatic.com/s/frankruhllibre/v6/j8_w6_fAw7jrcalD7oKYNX0QfAnPa7fv4JjnmY4.ttf"},"Spectral":{"200":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9v2s13GY_etWWIJ.ttf","300":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9uSsF3GY_etWWIJ.ttf","500":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9vKsV3GY_etWWIJ.ttf","600":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9vmtl3GY_etWWIJ.ttf","700":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9uCt13GY_etWWIJ.ttf","800":"http://fonts.gstatic.com/s/spectral/v7/rnCs-xNNww_2s0amA9uetF3GY_etWWIJ.ttf","200italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qrXHafOPXHIJErY.ttf","300italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qtHEafOPXHIJErY.ttf","regular":"http://fonts.gstatic.com/s/spectral/v7/rnCr-xNNww_2s0amA-M-mHnOSOuk.ttf","italic":"http://fonts.gstatic.com/s/spectral/v7/rnCt-xNNww_2s0amA9M8kn3sTfukQHs.ttf","500italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qonFafOPXHIJErY.ttf","600italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qqXCafOPXHIJErY.ttf","700italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qsHDafOPXHIJErY.ttf","800italic":"http://fonts.gstatic.com/s/spectral/v7/rnCu-xNNww_2s0amA9M8qt3AafOPXHIJErY.ttf"},"Noticia Text":{"700":"http://fonts.gstatic.com/s/noticiatext/v10/VuJpdNDF2Yv9qppOePKYRP1-3R59v2HRrDH0eA.ttf","regular":"http://fonts.gstatic.com/s/noticiatext/v10/VuJ2dNDF2Yv9qppOePKYRP1GYTFZt0rNpQ.ttf","italic":"http://fonts.gstatic.com/s/noticiatext/v10/VuJodNDF2Yv9qppOePKYRP12YztdlU_dpSjt.ttf","700italic":"http://fonts.gstatic.com/s/noticiatext/v10/VuJrdNDF2Yv9qppOePKYRP12YwPhumvVjjTkeMnz.ttf"},"Cardo":{"700":"http://fonts.gstatic.com/s/cardo/v14/wlpygwjKBV1pqhND-aQR82JHaTBX.ttf","regular":"http://fonts.gstatic.com/s/cardo/v14/wlp_gwjKBV1pqiv_1oAZ2H5O.ttf","italic":"http://fonts.gstatic.com/s/cardo/v14/wlpxgwjKBV1pqhv93IQ73W5OcCk.ttf"},"Francois One":{"regular":"http://fonts.gstatic.com/s/francoisone/v15/_Xmr-H4zszafZw3A-KPSZutNxgKQu_avAg.ttf"},"Parisienne":{"regular":"http://fonts.gstatic.com/s/parisienne/v8/E21i_d3kivvAkxhLEVZpcy96DuKuavM.ttf"},"Old Standard TT":{"700":"http://fonts.gstatic.com/s/oldstandardtt/v13/MwQrbh3o1vLImiwAVvYawgcf2eVWEX-dTFxeb80flQ.ttf","regular":"http://fonts.gstatic.com/s/oldstandardtt/v13/MwQubh3o1vLImiwAVvYawgcf2eVurVC5RHdCZg.ttf","italic":"http://fonts.gstatic.com/s/oldstandardtt/v13/MwQsbh3o1vLImiwAVvYawgcf2eVer1q9ZnJSZtQG.ttf"},"Baloo 2":{"500":"http://fonts.gstatic.com/s/baloo2/v9/wXK0E3kTposypRydzVT08TS3JnAmtdgozapv9Fat7WcN.ttf","600":"http://fonts.gstatic.com/s/baloo2/v9/wXK0E3kTposypRydzVT08TS3JnAmtdjEyqpv9Fat7WcN.ttf","700":"http://fonts.gstatic.com/s/baloo2/v9/wXK0E3kTposypRydzVT08TS3JnAmtdj9yqpv9Fat7WcN.ttf","800":"http://fonts.gstatic.com/s/baloo2/v9/wXK0E3kTposypRydzVT08TS3JnAmtdiayqpv9Fat7WcN.ttf","regular":"http://fonts.gstatic.com/s/baloo2/v9/wXK0E3kTposypRydzVT08TS3JnAmtdgazapv9Fat7WcN.ttf"},"Kalam":{"300":"http://fonts.gstatic.com/s/kalam/v11/YA9Qr0Wd4kDdMtD6GgLLmCUItqGt.ttf","700":"http://fonts.gstatic.com/s/kalam/v11/YA9Qr0Wd4kDdMtDqHQLLmCUItqGt.ttf","regular":"http://fonts.gstatic.com/s/kalam/v11/YA9dr0Wd4kDdMuhWMibDszkB.ttf"},"Passion One":{"700":"http://fonts.gstatic.com/s/passionone/v11/Pby6FmL8HhTPqbjUzux3JEMq037owpYcuH8y.ttf","900":"http://fonts.gstatic.com/s/passionone/v11/Pby6FmL8HhTPqbjUzux3JEMS0X7owpYcuH8y.ttf","regular":"http://fonts.gstatic.com/s/passionone/v11/PbynFmL8HhTPqbjUzux3JHuW_Frg6YoV.ttf"},"Noto Kufi Arabic":{"100":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh5v3obPnLSmf5yD.ttf","200":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh7v34bPnLSmf5yD.ttf","300":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh4x34bPnLSmf5yD.ttf","500":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh5d34bPnLSmf5yD.ttf","600":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh6x2IbPnLSmf5yD.ttf","700":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh6I2IbPnLSmf5yD.ttf","800":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh7v2IbPnLSmf5yD.ttf","900":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh7G2IbPnLSmf5yD.ttf","regular":"http://fonts.gstatic.com/s/notokufiarabic/v11/CSRp4ydQnPyaDxEXLFF6LZVLKrodhu8t57o1kDc5Wh5v34bPnLSmf5yD.ttf"},"Changa":{"200":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZy2xQjDp9htf1ZM.ttf","300":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZ_OxQjDp9htf1ZM.ttf","500":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZ5-xQjDp9htf1ZM.ttf","600":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZ3O2QjDp9htf1ZM.ttf","700":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZ0q2QjDp9htf1ZM.ttf","800":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZy22QjDp9htf1ZM.ttf","regular":"http://fonts.gstatic.com/s/changa/v14/2-c79JNi2YuVOUcOarRPgnNGooxCZ62xQjDp9htf1ZM.ttf"},"Sacramento":{"regular":"http://fonts.gstatic.com/s/sacramento/v8/buEzpo6gcdjy0EiZMBUG0CoV_NxLeiw.ttf"},"Asap Condensed":{"500":"http://fonts.gstatic.com/s/asapcondensed/v8/pxieypY1o9NHyXh3WvSbGSggdO9_S2lEgGqgp-pO.ttf","600":"http://fonts.gstatic.com/s/asapcondensed/v8/pxieypY1o9NHyXh3WvSbGSggdO9TTGlEgGqgp-pO.ttf","700":"http://fonts.gstatic.com/s/asapcondensed/v8/pxieypY1o9NHyXh3WvSbGSggdO83TWlEgGqgp-pO.ttf","regular":"http://fonts.gstatic.com/s/asapcondensed/v8/pxidypY1o9NHyXh3WvSbGSggdNeLYk1Mq3ap.ttf","italic":"http://fonts.gstatic.com/s/asapcondensed/v8/pxifypY1o9NHyXh3WvSbGSggdOeJaElurmapvvM.ttf","500italic":"http://fonts.gstatic.com/s/asapcondensed/v8/pxiYypY1o9NHyXh3WvSbGSggdOeJUL1Him6CovpOkXA.ttf","600italic":"http://fonts.gstatic.com/s/asapcondensed/v8/pxiYypY1o9NHyXh3WvSbGSggdOeJUJFAim6CovpOkXA.ttf","700italic":"http://fonts.gstatic.com/s/asapcondensed/v8/pxiYypY1o9NHyXh3WvSbGSggdOeJUPVBim6CovpOkXA.ttf"},"Crimson Pro":{"200":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZTm18OJE_VNWoyQ.ttf","300":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZkG18OJE_VNWoyQ.ttf","500":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZ_G18OJE_VNWoyQ.ttf","600":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZEGp8OJE_VNWoyQ.ttf","700":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZKWp8OJE_VNWoyQ.ttf","800":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZTmp8OJE_VNWoyQ.ttf","900":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZZ2p8OJE_VNWoyQ.ttf","regular":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uUsoa5M_tv7IihmnkabC5XiXCAlXGks1WZzm18OJE_VNWoyQ.ttf","200italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi4Ue5s7dtC4yZNE.ttf","300italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi7Ke5s7dtC4yZNE.ttf","italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi6Ue5s7dtC4yZNE.ttf","500italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi6me5s7dtC4yZNE.ttf","600italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi5KfJs7dtC4yZNE.ttf","700italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi5zfJs7dtC4yZNE.ttf","800italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi4UfJs7dtC4yZNE.ttf","900italic":"http://fonts.gstatic.com/s/crimsonpro/v17/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi49fJs7dtC4yZNE.ttf"},"Rokkitt":{"100":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1rydpDLE76HvN6n.ttf","200":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1pyd5DLE76HvN6n.ttf","300":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1qsd5DLE76HvN6n.ttf","500":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1rAd5DLE76HvN6n.ttf","600":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1oscJDLE76HvN6n.ttf","700":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1oVcJDLE76HvN6n.ttf","800":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1pycJDLE76HvN6n.ttf","900":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1pbcJDLE76HvN6n.ttf","regular":"http://fonts.gstatic.com/s/rokkitt/v24/qFdb35qfgYFjGy5hukqqhw5XeRgdi1ryd5DLE76HvN6n.ttf"},"Cantarell":{"700":"http://fonts.gstatic.com/s/cantarell/v10/B50IF7ZDq37KMUvlO01xN4dOFISeJY8GgQ.ttf","regular":"http://fonts.gstatic.com/s/cantarell/v10/B50NF7ZDq37KMUvlO01Ji6hqHK-CLA.ttf","italic":"http://fonts.gstatic.com/s/cantarell/v10/B50LF7ZDq37KMUvlO015iaJuPqqSLJYf.ttf","700italic":"http://fonts.gstatic.com/s/cantarell/v10/B50WF7ZDq37KMUvlO015iZrSEY6aB4oWgWHB.ttf"},"Special Elite":{"regular":"http://fonts.gstatic.com/s/specialelite/v11/XLYgIZbkc4JPUL5CVArUVL0nhncESXFtUsM.ttf"},"Orbitron":{"500":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyKS6xpmIyXjU1pg.ttf","600":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyxSmxpmIyXjU1pg.ttf","700":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1ny_CmxpmIyXjU1pg.ttf","800":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nymymxpmIyXjU1pg.ttf","900":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nysimxpmIyXjU1pg.ttf","regular":"http://fonts.gstatic.com/s/orbitron/v19/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyGy6xpmIyXjU1pg.ttf"},"Cormorant":{"300":"http://fonts.gstatic.com/s/cormorant/v11/H4cgBXOCl9bbnla_nHIiRLmYgoyyYzFzFw.ttf","500":"http://fonts.gstatic.com/s/cormorant/v11/H4cgBXOCl9bbnla_nHIiHLiYgoyyYzFzFw.ttf","600":"http://fonts.gstatic.com/s/cormorant/v11/H4cgBXOCl9bbnla_nHIiML-YgoyyYzFzFw.ttf","700":"http://fonts.gstatic.com/s/cormorant/v11/H4cgBXOCl9bbnla_nHIiVL6YgoyyYzFzFw.ttf","300italic":"http://fonts.gstatic.com/s/cormorant/v11/H4c-BXOCl9bbnla_nHIq6qMUgIa2QTRjF8ER.ttf","regular":"http://fonts.gstatic.com/s/cormorant/v11/H4clBXOCl9bbnla_nHIa6JG8iqeuag.ttf","italic":"http://fonts.gstatic.com/s/cormorant/v11/H4cjBXOCl9bbnla_nHIq6pu4qKK-aihq.ttf","500italic":"http://fonts.gstatic.com/s/cormorant/v11/H4c-BXOCl9bbnla_nHIq6qNMgYa2QTRjF8ER.ttf","600italic":"http://fonts.gstatic.com/s/cormorant/v11/H4c-BXOCl9bbnla_nHIq6qNghoa2QTRjF8ER.ttf","700italic":"http://fonts.gstatic.com/s/cormorant/v11/H4c-BXOCl9bbnla_nHIq6qMEh4a2QTRjF8ER.ttf"},"Paytone One":{"regular":"http://fonts.gstatic.com/s/paytoneone/v13/0nksC9P7MfYHj2oFtYm2CiTqivr9iBq_.ttf"},"Quattrocento Sans":{"700":"http://fonts.gstatic.com/s/quattrocentosans/v13/va9Z4lja2NVIDdIAAoMR5MfuElaRB0RykmrWN33AiasJ.ttf","regular":"http://fonts.gstatic.com/s/quattrocentosans/v13/va9c4lja2NVIDdIAAoMR5MfuElaRB3zOvU7eHGHJ.ttf","italic":"http://fonts.gstatic.com/s/quattrocentosans/v13/va9a4lja2NVIDdIAAoMR5MfuElaRB0zMt0r8GXHJkLI.ttf","700italic":"http://fonts.gstatic.com/s/quattrocentosans/v13/va9X4lja2NVIDdIAAoMR5MfuElaRB0zMj_bTPXnijLsJV7E.ttf"},"Concert One":{"regular":"http://fonts.gstatic.com/s/concertone/v12/VEM1Ro9xs5PjtzCu-srDqRTlhv-CuVAQ.ttf"},"Cuprum":{"500":"http://fonts.gstatic.com/s/cuprum/v14/dg45_pLmvrkcOkBnKsOzXyGWTBcmg9f6ZjzSJjQjgnU.ttf","600":"http://fonts.gstatic.com/s/cuprum/v14/dg45_pLmvrkcOkBnKsOzXyGWTBcmgzv9ZjzSJjQjgnU.ttf","700":"http://fonts.gstatic.com/s/cuprum/v14/dg45_pLmvrkcOkBnKsOzXyGWTBcmgwL9ZjzSJjQjgnU.ttf","regular":"http://fonts.gstatic.com/s/cuprum/v14/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6ZjzSJjQjgnU.ttf","italic":"http://fonts.gstatic.com/s/cuprum/v14/dg47_pLmvrkcOkBNI_FMh0j91rkhli25jn_YIhYmknUPEA.ttf","500italic":"http://fonts.gstatic.com/s/cuprum/v14/dg47_pLmvrkcOkBNI_FMh0j91rkhli25vH_YIhYmknUPEA.ttf","600italic":"http://fonts.gstatic.com/s/cuprum/v14/dg47_pLmvrkcOkBNI_FMh0j91rkhli25UHjYIhYmknUPEA.ttf","700italic":"http://fonts.gstatic.com/s/cuprum/v14/dg47_pLmvrkcOkBNI_FMh0j91rkhli25aXjYIhYmknUPEA.ttf"},"Saira":{"100":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA71rDosg7lwYmUVY.ttf","200":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA79rCosg7lwYmUVY.ttf","300":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA7wTCosg7lwYmUVY.ttf","500":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA72jCosg7lwYmUVY.ttf","600":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA74TFosg7lwYmUVY.ttf","700":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA773Fosg7lwYmUVY.ttf","800":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA79rFosg7lwYmUVY.ttf","900":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA7_PFosg7lwYmUVY.ttf","regular":"http://fonts.gstatic.com/s/saira/v8/memWYa2wxmKQyPMrZX79wwYZQMhsyuShhKMjjbU9uXuA71rCosg7lwYmUVY.ttf","100italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBSooxkyQjQVYmxA.ttf","200italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKByosxkyQjQVYmxA.ttf","300italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBFIsxkyQjQVYmxA.ttf","italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBSosxkyQjQVYmxA.ttf","500italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBeIsxkyQjQVYmxA.ttf","600italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBlIwxkyQjQVYmxA.ttf","700italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKBrYwxkyQjQVYmxA.ttf","800italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKByowxkyQjQVYmxA.ttf","900italic":"http://fonts.gstatic.com/s/saira/v8/memUYa2wxmKQyNkiV50dulWP7s95AqZTzZHcVdxWI9WH-pKB44wxkyQjQVYmxA.ttf"},"Pathway Gothic One":{"regular":"http://fonts.gstatic.com/s/pathwaygothicone/v9/MwQrbgD32-KAvjkYGNUUxAtW7pEBwx-dTFxeb80flQ.ttf"},"Luckiest Guy":{"regular":"http://fonts.gstatic.com/s/luckiestguy/v11/_gP_1RrxsjcxVyin9l9n_j2RStR3qDpraA.ttf"},"Noto Serif TC":{"200":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0Bvr8vbX9GTsoOAX4.otf","300":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0BvtssbX9GTsoOAX4.otf","500":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0BvoMtbX9GTsoOAX4.otf","600":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0Bvq8qbX9GTsoOAX4.otf","700":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0BvssrbX9GTsoOAX4.otf","900":"http://fonts.gstatic.com/s/notoseriftc/v17/XLY9IZb5bJNDGYxLBibeHZ0BvvMpbX9GTsoOAX4.otf","regular":"http://fonts.gstatic.com/s/notoseriftc/v17/XLYgIZb5bJNDGYxLBibeHZ0BhnEESXFtUsM.otf"},"Volkhov":{"700":"http://fonts.gstatic.com/s/volkhov/v12/SlGVmQieoJcKemNeeY4hoHRYbDQUego.ttf","regular":"http://fonts.gstatic.com/s/volkhov/v12/SlGQmQieoJcKemNeQTIOhHxzcD0.ttf","italic":"http://fonts.gstatic.com/s/volkhov/v12/SlGSmQieoJcKemNecTAEgF52YD0NYw.ttf","700italic":"http://fonts.gstatic.com/s/volkhov/v12/SlGXmQieoJcKemNecTA8PHFSaBYRagrQrA.ttf"},"Chivo":{"300":"http://fonts.gstatic.com/s/chivo/v12/va9F4kzIxd1KFrjDY8Z_uqzGQC_-.ttf","700":"http://fonts.gstatic.com/s/chivo/v12/va9F4kzIxd1KFrjTZMZ_uqzGQC_-.ttf","900":"http://fonts.gstatic.com/s/chivo/v12/va9F4kzIxd1KFrjrZsZ_uqzGQC_-.ttf","300italic":"http://fonts.gstatic.com/s/chivo/v12/va9D4kzIxd1KFrBteUp9sKjkRT_-bF0.ttf","regular":"http://fonts.gstatic.com/s/chivo/v12/va9I4kzIxd1KFoBvS-J3kbDP.ttf","italic":"http://fonts.gstatic.com/s/chivo/v12/va9G4kzIxd1KFrBtQeZVlKDPWTY.ttf","700italic":"http://fonts.gstatic.com/s/chivo/v12/va9D4kzIxd1KFrBteVp6sKjkRT_-bF0.ttf","900italic":"http://fonts.gstatic.com/s/chivo/v12/va9D4kzIxd1KFrBteWJ4sKjkRT_-bF0.ttf"},"Handlee":{"regular":"http://fonts.gstatic.com/s/handlee/v9/-F6xfjBsISg9aMakDmr6oilJ3ik.ttf"},"Josefin Slab":{"100":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W71mtd3k3K6CcEyI.ttf","200":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W79msd3k3K6CcEyI.ttf","300":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W7wesd3k3K6CcEyI.ttf","500":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W72usd3k3K6CcEyI.ttf","600":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W74erd3k3K6CcEyI.ttf","700":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W776rd3k3K6CcEyI.ttf","regular":"http://fonts.gstatic.com/s/josefinslab/v13/lW-swjwOK3Ps5GSJlNNkMalNpiZe_ldbOR4W71msd3k3K6CcEyI.ttf","100italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvnzs9L4KZAyK43w.ttf","200italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvHzo9L4KZAyK43w.ttf","300italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvwTo9L4KZAyK43w.ttf","italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvnzo9L4KZAyK43w.ttf","500italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvrTo9L4KZAyK43w.ttf","600italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHvQT09L4KZAyK43w.ttf","700italic":"http://fonts.gstatic.com/s/josefinslab/v13/lW-qwjwOK3Ps5GSJlNNkMalnrxShJj4wo7AR-pHveD09L4KZAyK43w.ttf"},"Khand":{"300":"http://fonts.gstatic.com/s/khand/v9/TwMN-IINQlQQ0bL5cFE3ZwaH__-C.ttf","500":"http://fonts.gstatic.com/s/khand/v9/TwMN-IINQlQQ0bKhcVE3ZwaH__-C.ttf","600":"http://fonts.gstatic.com/s/khand/v9/TwMN-IINQlQQ0bKNdlE3ZwaH__-C.ttf","700":"http://fonts.gstatic.com/s/khand/v9/TwMN-IINQlQQ0bLpd1E3ZwaH__-C.ttf","regular":"http://fonts.gstatic.com/s/khand/v9/TwMA-IINQlQQ0YpVWHU_TBqO.ttf"},"Ropa Sans":{"regular":"http://fonts.gstatic.com/s/ropasans/v10/EYqxmaNOzLlWtsZSScyKWjloU5KP2g.ttf","italic":"http://fonts.gstatic.com/s/ropasans/v10/EYq3maNOzLlWtsZSScy6WDNscZef2mNE.ttf"},"PT Mono":{"regular":"http://fonts.gstatic.com/s/ptmono/v8/9oRONYoBnWILk-9ArCg5MtPyAcg.ttf"},"Faustina":{"300":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHls3IEvGVWWe8tbEg.ttf","500":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHlssIEvGVWWe8tbEg.ttf","600":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHlsXIYvGVWWe8tbEg.ttf","700":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHlsZYYvGVWWe8tbEg.ttf","800":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHlsAoYvGVWWe8tbEg.ttf","regular":"http://fonts.gstatic.com/s/faustina/v11/XLY4IZPxYpJfTbZAFXWzNT2SO8wpWHlsgoEvGVWWe8tbEg.ttf","300italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsKZWl-SWc5LEnoF.ttf","italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsLHWl-SWc5LEnoF.ttf","500italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsL1Wl-SWc5LEnoF.ttf","600italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsIZXV-SWc5LEnoF.ttf","700italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsIgXV-SWc5LEnoF.ttf","800italic":"http://fonts.gstatic.com/s/faustina/v11/XLY2IZPxYpJfTbZAFV-6B8JKUqez9n55SsJHXV-SWc5LEnoF.ttf"},"Sawarabi Mincho":{"regular":"http://fonts.gstatic.com/s/sawarabimincho/v10/8QIRdiDaitzr7brc8ahpxt6GcIJTLahP46UDUw.ttf"},"Titan One":{"regular":"http://fonts.gstatic.com/s/titanone/v8/mFTzWbsGxbbS_J5cQcjykzIn2Etikg.ttf"},"Itim":{"regular":"http://fonts.gstatic.com/s/itim/v5/0nknC9ziJOYewARKkc7ZdwU.ttf"},"Unna":{"700":"http://fonts.gstatic.com/s/unna/v16/AYCLpXzofN0NMiQusGnpRFpr3vc.ttf","regular":"http://fonts.gstatic.com/s/unna/v16/AYCEpXzofN0NCpgBlGHCWFM.ttf","italic":"http://fonts.gstatic.com/s/unna/v16/AYCKpXzofN0NOpoLkEPHSFNyxw.ttf","700italic":"http://fonts.gstatic.com/s/unna/v16/AYCJpXzofN0NOpozLGzjQHhuzvef5Q.ttf"},"Gelasio":{"500":"http://fonts.gstatic.com/s/gelasio/v4/cIf4MaFfvUQxTTqS_N2CRGEsnIJkWL4.ttf","600":"http://fonts.gstatic.com/s/gelasio/v4/cIf4MaFfvUQxTTqS_PGFRGEsnIJkWL4.ttf","700":"http://fonts.gstatic.com/s/gelasio/v4/cIf4MaFfvUQxTTqS_JWERGEsnIJkWL4.ttf","regular":"http://fonts.gstatic.com/s/gelasio/v4/cIf9MaFfvUQxTTqSxCmrYGkHgIs.ttf","italic":"http://fonts.gstatic.com/s/gelasio/v4/cIf_MaFfvUQxTTqS9CuhZEsCkIt9QQ.ttf","500italic":"http://fonts.gstatic.com/s/gelasio/v4/cIf6MaFfvUQxTTqS9CuZkGImmKBhSL7Y1Q.ttf","600italic":"http://fonts.gstatic.com/s/gelasio/v4/cIf6MaFfvUQxTTqS9CuZvGUmmKBhSL7Y1Q.ttf","700italic":"http://fonts.gstatic.com/s/gelasio/v4/cIf6MaFfvUQxTTqS9CuZ2GQmmKBhSL7Y1Q.ttf"},"News Cycle":{"700":"http://fonts.gstatic.com/s/newscycle/v17/CSR54z1Qlv-GDxkbKVQ_dFsvaNNUuOwkC2s.ttf","regular":"http://fonts.gstatic.com/s/newscycle/v17/CSR64z1Qlv-GDxkbKVQ_TOcATNt_pOU.ttf"},"Playfair Display SC":{"700":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke80OhoaMkR6-hSn7kbHVoFf7ZfgMPr_nQIpNcsdL4IUMyE.ttf","900":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke80OhoaMkR6-hSn7kbHVoFf7ZfgMPr_nTorNcsdL4IUMyE.ttf","regular":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke85OhoaMkR6-hSn7kbHVoFf7ZfgMPr_pb4GEcM2M4s.ttf","italic":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke87OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbwMFeEzI4sNKg.ttf","700italic":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke82OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbw0qc4XK6ARIyH5IA.ttf","900italic":"http://fonts.gstatic.com/s/playfairdisplaysc/v10/ke82OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbw0kcwXK6ARIyH5IA.ttf"},"Philosopher":{"700":"http://fonts.gstatic.com/s/philosopher/v14/vEFI2_5QCwIS4_Dhez5jcWjVamgc-NaXXq7H.ttf","regular":"http://fonts.gstatic.com/s/philosopher/v14/vEFV2_5QCwIS4_Dhez5jcVBpRUwU08qe.ttf","italic":"http://fonts.gstatic.com/s/philosopher/v14/vEFX2_5QCwIS4_Dhez5jcWBrT0g21tqeR7c.ttf","700italic":"http://fonts.gstatic.com/s/philosopher/v14/vEFK2_5QCwIS4_Dhez5jcWBrd_QZ8tK1W77HtMo.ttf"},"Quattrocento":{"700":"http://fonts.gstatic.com/s/quattrocento/v12/OZpbg_xvsDZQL_LKIF7q4jP_eE3fd6PZsXcM9w.ttf","regular":"http://fonts.gstatic.com/s/quattrocento/v12/OZpEg_xvsDZQL_LKIF7q4jPHxGL7f4jFuA.ttf"},"Syncopate":{"700":"http://fonts.gstatic.com/s/syncopate/v12/pe0pMIuPIYBCpEV5eFdKvtKaA_Rue1UwVg.ttf","regular":"http://fonts.gstatic.com/s/syncopate/v12/pe0sMIuPIYBCpEV5eFdyAv2-C99ycg.ttf"},"Sanchez":{"regular":"http://fonts.gstatic.com/s/sanchez/v8/Ycm2sZJORluHnXbITm5b_BwE1l0.ttf","italic":"http://fonts.gstatic.com/s/sanchez/v8/Ycm0sZJORluHnXbIfmxR-D4Bxl3gkw.ttf"},"Press Start 2P":{"regular":"http://fonts.gstatic.com/s/pressstart2p/v9/e3t4euO8T-267oIAQAu6jDQyK0nSgPJE4580.ttf"},"Mitr":{"200":"http://fonts.gstatic.com/s/mitr/v6/pxiEypw5ucZF8fMZFJDUc1NECPY.ttf","300":"http://fonts.gstatic.com/s/mitr/v6/pxiEypw5ucZF8ZcaFJDUc1NECPY.ttf","500":"http://fonts.gstatic.com/s/mitr/v6/pxiEypw5ucZF8c8bFJDUc1NECPY.ttf","600":"http://fonts.gstatic.com/s/mitr/v6/pxiEypw5ucZF8eMcFJDUc1NECPY.ttf","700":"http://fonts.gstatic.com/s/mitr/v6/pxiEypw5ucZF8YcdFJDUc1NECPY.ttf","regular":"http://fonts.gstatic.com/s/mitr/v6/pxiLypw5ucZFyTsyMJj_b1o.ttf"},"Poiret One":{"regular":"http://fonts.gstatic.com/s/poiretone/v9/UqyVK80NJXN4zfRgbdfbk5lWVscxdKE.ttf"},"Alata":{"regular":"http://fonts.gstatic.com/s/alata/v2/PbytFmztEwbIofe6xKcRQEOX.ttf"},"Vidaloka":{"regular":"http://fonts.gstatic.com/s/vidaloka/v13/7cHrv4c3ipenMKlEass8yn4hnCci.ttf"},"Monda":{"700":"http://fonts.gstatic.com/s/monda/v11/TK3gWkYFABsmjsLaGz8Dl-tPKo2t.ttf","regular":"http://fonts.gstatic.com/s/monda/v11/TK3tWkYFABsmjvpmNBsLvPdG.ttf"},"Advent Pro":{"100":"http://fonts.gstatic.com/s/adventpro/v11/V8mCoQfxVT4Dvddr_yOwjVmtLZxcBtItFw.ttf","200":"http://fonts.gstatic.com/s/adventpro/v11/V8mDoQfxVT4Dvddr_yOwjfWMDbZyCts0DqQ.ttf","300":"http://fonts.gstatic.com/s/adventpro/v11/V8mDoQfxVT4Dvddr_yOwjZGPDbZyCts0DqQ.ttf","500":"http://fonts.gstatic.com/s/adventpro/v11/V8mDoQfxVT4Dvddr_yOwjcmODbZyCts0DqQ.ttf","600":"http://fonts.gstatic.com/s/adventpro/v11/V8mDoQfxVT4Dvddr_yOwjeWJDbZyCts0DqQ.ttf","700":"http://fonts.gstatic.com/s/adventpro/v11/V8mDoQfxVT4Dvddr_yOwjYGIDbZyCts0DqQ.ttf","regular":"http://fonts.gstatic.com/s/adventpro/v11/V8mAoQfxVT4Dvddr_yOwtT2nKb5ZFtI.ttf"},"Bungee":{"regular":"http://fonts.gstatic.com/s/bungee/v6/N0bU2SZBIuF2PU_ECn50Kd_PmA.ttf"},"Arima Madurai":{"100":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t4IRoeKYORG0WNMgnC3seB1V3PqrGCch4Drg.ttf","200":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1fHuipusfhcat2c.ttf","300":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1ZXtipusfhcat2c.ttf","500":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1c3sipusfhcat2c.ttf","700":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1YXqipusfhcat2c.ttf","800":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1Znpipusfhcat2c.ttf","900":"http://fonts.gstatic.com/s/arimamadurai/v7/t5t7IRoeKYORG0WNMgnC3seB1b3oipusfhcat2c.ttf","regular":"http://fonts.gstatic.com/s/arimamadurai/v7/t5tmIRoeKYORG0WNMgnC3seB7TnFrpOHYh4.ttf"},"Neuton":{"200":"http://fonts.gstatic.com/s/neuton/v13/UMBQrPtMoH62xUZKAKkfegD5Drog6Q.ttf","300":"http://fonts.gstatic.com/s/neuton/v13/UMBQrPtMoH62xUZKZKofegD5Drog6Q.ttf","700":"http://fonts.gstatic.com/s/neuton/v13/UMBQrPtMoH62xUZKdK0fegD5Drog6Q.ttf","800":"http://fonts.gstatic.com/s/neuton/v13/UMBQrPtMoH62xUZKaK4fegD5Drog6Q.ttf","regular":"http://fonts.gstatic.com/s/neuton/v13/UMBTrPtMoH62xUZyyII7civlBw.ttf","italic":"http://fonts.gstatic.com/s/neuton/v13/UMBRrPtMoH62xUZCyog_UC71B6M5.ttf"},"Playball":{"regular":"http://fonts.gstatic.com/s/playball/v11/TK3gWksYAxQ7jbsKcj8Dl-tPKo2t.ttf"},"Viga":{"regular":"http://fonts.gstatic.com/s/viga/v9/xMQbuFFdSaiX_QIjD4e2OX8.ttf"},"Noto Sans HK":{"100":"http://fonts.gstatic.com/s/notosanshk/v15/nKKO-GM_FYFRJvXzVXaAPe9ZUHp1MOv2ObB7.otf","300":"http://fonts.gstatic.com/s/notosanshk/v15/nKKP-GM_FYFRJvXzVXaAPe9ZmFhTHMX6MKliqQ.otf","500":"http://fonts.gstatic.com/s/notosanshk/v15/nKKP-GM_FYFRJvXzVXaAPe9ZwFlTHMX6MKliqQ.otf","700":"http://fonts.gstatic.com/s/notosanshk/v15/nKKP-GM_FYFRJvXzVXaAPe9ZiF9THMX6MKliqQ.otf","900":"http://fonts.gstatic.com/s/notosanshk/v15/nKKP-GM_FYFRJvXzVXaAPe9ZsF1THMX6MKliqQ.otf","regular":"http://fonts.gstatic.com/s/notosanshk/v15/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf"},"Yeseva One":{"regular":"http://fonts.gstatic.com/s/yesevaone/v15/OpNJno4ck8vc-xYpwWWxpipfWhXD00c.ttf"},"Ultra":{"regular":"http://fonts.gstatic.com/s/ultra/v13/zOLy4prXmrtY-tT6yLOD6NxF.ttf"},"Yellowtail":{"regular":"http://fonts.gstatic.com/s/yellowtail/v11/OZpGg_pnoDtINPfRIlLotlzNwED-b4g.ttf"},"Taviraj":{"100":"http://fonts.gstatic.com/s/taviraj/v6/ahcbv8Cj3ylylTXzRIorV8N1jU2gog.ttf","200":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRCYKd-lbgUS5u0s.ttf","300":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzREIJd-lbgUS5u0s.ttf","500":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRBoId-lbgUS5u0s.ttf","600":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRDYPd-lbgUS5u0s.ttf","700":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRFIOd-lbgUS5u0s.ttf","800":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRE4Nd-lbgUS5u0s.ttf","900":"http://fonts.gstatic.com/s/taviraj/v6/ahccv8Cj3ylylTXzRGoMd-lbgUS5u0s.ttf","100italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcdv8Cj3ylylTXzTOwTM8lxr0iwolLl.ttf","200italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwTn-hRhWa8q0v8ag.ttf","300italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwT--tRhWa8q0v8ag.ttf","regular":"http://fonts.gstatic.com/s/taviraj/v6/ahcZv8Cj3ylylTXzfO4hU-FwnU0.ttf","italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcbv8Cj3ylylTXzTOwrV8N1jU2gog.ttf","500italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwTo-pRhWa8q0v8ag.ttf","600italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwTj-1RhWa8q0v8ag.ttf","700italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwT6-xRhWa8q0v8ag.ttf","800italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwT9-9RhWa8q0v8ag.ttf","900italic":"http://fonts.gstatic.com/s/taviraj/v6/ahcev8Cj3ylylTXzTOwT0-5RhWa8q0v8ag.ttf"},"Saira Semi Condensed":{"100":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MN6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXdvaOM8rXT-8V8.ttf","200":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXfDScMWg3j36Ebz.ttf","300":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXenSsMWg3j36Ebz.ttf","500":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXf_S8MWg3j36Ebz.ttf","600":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXfTTMMWg3j36Ebz.ttf","700":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXe3TcMWg3j36Ebz.ttf","800":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXerTsMWg3j36Ebz.ttf","900":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXePT8MWg3j36Ebz.ttf","regular":"http://fonts.gstatic.com/s/sairasemicondensed/v6/U9MD6c-2-nnJkHxyCjRcnMHcWVWV1cWRRU8LYuceqGT-.ttf"},"Fira Sans Extra Condensed":{"100":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPMcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3Zyuv1WarE9ncg.ttf","200":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3TCPn3-0oEZ-a2Q.ttf","300":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3VSMn3-0oEZ-a2Q.ttf","500":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3QyNn3-0oEZ-a2Q.ttf","600":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3SCKn3-0oEZ-a2Q.ttf","700":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3USLn3-0oEZ-a2Q.ttf","800":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3ViIn3-0oEZ-a2Q.ttf","900":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3XyJn3-0oEZ-a2Q.ttf","100italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPOcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqW21-ejkp3cn22.ttf","200italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWd36-pGR7e2SvJQ.ttf","300italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWE32-pGR7e2SvJQ.ttf","regular":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPKcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda5fiku3efvE8.ttf","italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPMcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fquv1WarE9ncg.ttf","500italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWS3y-pGR7e2SvJQ.ttf","600italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWZ3u-pGR7e2SvJQ.ttf","700italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWA3q-pGR7e2SvJQ.ttf","800italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWH3m-pGR7e2SvJQ.ttf","900italic":"http://fonts.gstatic.com/s/firasansextracondensed/v5/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWO3i-pGR7e2SvJQ.ttf"},"Marcellus":{"regular":"http://fonts.gstatic.com/s/marcellus/v8/wEO_EBrOk8hQLDvIAF8FUfAL3EsHiA.ttf"},"Karma":{"300":"http://fonts.gstatic.com/s/karma/v11/va9F4kzAzMZRGLjDY8Z_uqzGQC_-.ttf","500":"http://fonts.gstatic.com/s/karma/v11/va9F4kzAzMZRGLibYsZ_uqzGQC_-.ttf","600":"http://fonts.gstatic.com/s/karma/v11/va9F4kzAzMZRGLi3ZcZ_uqzGQC_-.ttf","700":"http://fonts.gstatic.com/s/karma/v11/va9F4kzAzMZRGLjTZMZ_uqzGQC_-.ttf","regular":"http://fonts.gstatic.com/s/karma/v11/va9I4kzAzMZRGIBvS-J3kbDP.ttf"},"Tangerine":{"700":"http://fonts.gstatic.com/s/tangerine/v12/Iurd6Y5j_oScZZow4VO5srNpjJtM6G0t9w.ttf","regular":"http://fonts.gstatic.com/s/tangerine/v12/IurY6Y5j_oScZZow4VOBDpxNhLBQ4Q.ttf"},"Creepster":{"regular":"http://fonts.gstatic.com/s/creepster/v9/AlZy_zVUqJz4yMrniH4hdXf4XB0Tow.ttf"},"Bangers":{"regular":"http://fonts.gstatic.com/s/bangers/v13/FeVQS0BTqb0h60ACL5la2bxii28.ttf"},"Noto Serif KR":{"200":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXTihC8O1ZNH1ahck.otf","300":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXTkxB8O1ZNH1ahck.otf","500":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXThRA8O1ZNH1ahck.otf","600":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXTjhH8O1ZNH1ahck.otf","700":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXTlxG8O1ZNH1ahck.otf","900":"http://fonts.gstatic.com/s/notoserifkr/v15/3JnmSDn90Gmq2mr3blnHaTZXTmRE8O1ZNH1ahck.otf","regular":"http://fonts.gstatic.com/s/notoserifkr/v15/3Jn7SDn90Gmq2mr3blnHaTZXduZp1ONyKHQ.otf"},"Sigmar One":{"regular":"http://fonts.gstatic.com/s/sigmarone/v11/co3DmWZ8kjZuErj9Ta3dk6Pjp3Di8U0.ttf"},"Hammersmith One":{"regular":"http://fonts.gstatic.com/s/hammersmithone/v12/qWcyB624q4L_C4jGQ9IK0O_dFlnbshsks4MRXw.ttf"},"Sora":{"100":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSdSn3-KIwNhBti0.ttf","200":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSfSnn-KIwNhBti0.ttf","300":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmScMnn-KIwNhBti0.ttf","500":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSdgnn-KIwNhBti0.ttf","600":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSeMmX-KIwNhBti0.ttf","700":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSe1mX-KIwNhBti0.ttf","800":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSfSmX-KIwNhBti0.ttf","regular":"http://fonts.gstatic.com/s/sora/v3/xMQOuFFYT72X5wkB_18qmnndmSdSnn-KIwNhBti0.ttf"},"Aleo":{"300":"http://fonts.gstatic.com/s/aleo/v4/c4mg1nF8G8_syKbr9DVDno985KM.ttf","700":"http://fonts.gstatic.com/s/aleo/v4/c4mg1nF8G8_syLbs9DVDno985KM.ttf","300italic":"http://fonts.gstatic.com/s/aleo/v4/c4mi1nF8G8_swAjxeDdJmq159KOnWA.ttf","regular":"http://fonts.gstatic.com/s/aleo/v4/c4mv1nF8G8_s8ArD0D1ogoY.ttf","italic":"http://fonts.gstatic.com/s/aleo/v4/c4mh1nF8G8_swAjJ1B9tkoZl_Q.ttf","700italic":"http://fonts.gstatic.com/s/aleo/v4/c4mi1nF8G8_swAjxaDBJmq159KOnWA.ttf"},"Lusitana":{"700":"http://fonts.gstatic.com/s/lusitana/v8/CSR74z9ShvucWzsMKyDmaccqYtd2vfwk.ttf","regular":"http://fonts.gstatic.com/s/lusitana/v8/CSR84z9ShvucWzsMKxhaRuMiSct_.ttf"},"Alice":{"regular":"http://fonts.gstatic.com/s/alice/v18/OpNCnoEEmtHa6FcJpA_chzJ0.ttf"},"Actor":{"regular":"http://fonts.gstatic.com/s/actor/v10/wEOzEBbCkc5cO3ekXygtUMIO.ttf"},"Gochi Hand":{"regular":"http://fonts.gstatic.com/s/gochihand/v11/hES06XlsOjtJsgCkx1PkTo71-n0nXWA.ttf"},"El Messiri":{"500":"http://fonts.gstatic.com/s/elmessiri/v10/K2FhfZBRmr9vQ1pHEey6GIGo8_pv3myYjuXCe65ghj3OoapG.ttf","600":"http://fonts.gstatic.com/s/elmessiri/v10/K2FhfZBRmr9vQ1pHEey6GIGo8_pv3myYjuUufK5ghj3OoapG.ttf","700":"http://fonts.gstatic.com/s/elmessiri/v10/K2FhfZBRmr9vQ1pHEey6GIGo8_pv3myYjuUXfK5ghj3OoapG.ttf","regular":"http://fonts.gstatic.com/s/elmessiri/v10/K2FhfZBRmr9vQ1pHEey6GIGo8_pv3myYjuXwe65ghj3OoapG.ttf"},"Arapey":{"regular":"http://fonts.gstatic.com/s/arapey/v9/-W__XJn-UDDA2RC6Z9AcZkIzeg.ttf","italic":"http://fonts.gstatic.com/s/arapey/v9/-W_9XJn-UDDA2RCKZdoYREcjeo0k.ttf"},"Istok Web":{"700":"http://fonts.gstatic.com/s/istokweb/v15/3qTqojGmgSyUukBzKslhvU5a_mkUYBfcMw.ttf","regular":"http://fonts.gstatic.com/s/istokweb/v15/3qTvojGmgSyUukBzKslZAWF-9kIIaQ.ttf","italic":"http://fonts.gstatic.com/s/istokweb/v15/3qTpojGmgSyUukBzKslpA2t61EcYaQ7F.ttf","700italic":"http://fonts.gstatic.com/s/istokweb/v15/3qT0ojGmgSyUukBzKslpA1PG-2MQQhLMMygN.ttf"},"Sawarabi Gothic":{"regular":"http://fonts.gstatic.com/s/sawarabigothic/v8/x3d4ckfVaqqa-BEj-I9mE65u3k3NBSk3E2YljQ.ttf"},"Mali":{"200":"http://fonts.gstatic.com/s/mali/v4/N0bV2SRONuN4QOLlKlRaJdbWgdY.ttf","300":"http://fonts.gstatic.com/s/mali/v4/N0bV2SRONuN4QIbmKlRaJdbWgdY.ttf","500":"http://fonts.gstatic.com/s/mali/v4/N0bV2SRONuN4QN7nKlRaJdbWgdY.ttf","600":"http://fonts.gstatic.com/s/mali/v4/N0bV2SRONuN4QPLgKlRaJdbWgdY.ttf","700":"http://fonts.gstatic.com/s/mali/v4/N0bV2SRONuN4QJbhKlRaJdbWgdY.ttf","200italic":"http://fonts.gstatic.com/s/mali/v4/N0bX2SRONuN4SCj8wlVQIfTTkdbJYA.ttf","300italic":"http://fonts.gstatic.com/s/mali/v4/N0bX2SRONuN4SCj8plZQIfTTkdbJYA.ttf","regular":"http://fonts.gstatic.com/s/mali/v4/N0ba2SRONuN4eCrODlxxOd8.ttf","italic":"http://fonts.gstatic.com/s/mali/v4/N0bU2SRONuN4SCjECn50Kd_PmA.ttf","500italic":"http://fonts.gstatic.com/s/mali/v4/N0bX2SRONuN4SCj8_ldQIfTTkdbJYA.ttf","600italic":"http://fonts.gstatic.com/s/mali/v4/N0bX2SRONuN4SCj80lBQIfTTkdbJYA.ttf","700italic":"http://fonts.gstatic.com/s/mali/v4/N0bX2SRONuN4SCj8tlFQIfTTkdbJYA.ttf"},"Neucha":{"regular":"http://fonts.gstatic.com/s/neucha/v12/q5uGsou0JOdh94bvugNsCxVEgA.ttf"},"Gudea":{"700":"http://fonts.gstatic.com/s/gudea/v10/neIIzCqgsI0mp9gz26WGHK06UY30.ttf","regular":"http://fonts.gstatic.com/s/gudea/v10/neIFzCqgsI0mp-CP9IGON7Ez.ttf","italic":"http://fonts.gstatic.com/s/gudea/v10/neILzCqgsI0mp9CN_oWsMqEzSJQ.ttf"},"Merienda":{"700":"http://fonts.gstatic.com/s/merienda/v9/gNMAW3x8Qoy5_mf8uWu-Fa-y1sfpPES4.ttf","regular":"http://fonts.gstatic.com/s/merienda/v9/gNMHW3x8Qoy5_mf8uVMCOou6_dvg.ttf"},"Nanum Gothic Coding":{"700":"http://fonts.gstatic.com/s/nanumgothiccoding/v14/8QIYdjzHisX_8vv59_xMxtPFW4IXROws8xgecsV88t5V9r4.ttf","regular":"http://fonts.gstatic.com/s/nanumgothiccoding/v14/8QIVdjzHisX_8vv59_xMxtPFW4IXROwsy6QxVs1X7tc.ttf"},"DM Serif Text":{"regular":"http://fonts.gstatic.com/s/dmseriftext/v5/rnCu-xZa_krGokauCeNq1wWyafOPXHIJErY.ttf","italic":"http://fonts.gstatic.com/s/dmseriftext/v5/rnCw-xZa_krGokauCeNq1wWyWfGFWFAMArZKqQ.ttf"},"Ruda":{"500":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaJ3si_-2KiSGg-H.ttf","600":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaKbtS_-2KiSGg-H.ttf","700":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaKitS_-2KiSGg-H.ttf","800":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaLFtS_-2KiSGg-H.ttf","900":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaLstS_-2KiSGg-H.ttf","regular":"http://fonts.gstatic.com/s/ruda/v17/k3kKo8YQJOpFgHQ1mQ5VkEbUKaJFsi_-2KiSGg-H.ttf"},"Fugaz One":{"regular":"http://fonts.gstatic.com/s/fugazone/v10/rax_HiWKp9EAITukFslMBBJek0vA8A.ttf"},"Homemade Apple":{"regular":"http://fonts.gstatic.com/s/homemadeapple/v11/Qw3EZQFXECDrI2q789EKQZJob3x9Vnksi4M7.ttf"},"Nanum Pen Script":{"regular":"http://fonts.gstatic.com/s/nanumpenscript/v15/daaDSSYiLGqEal3MvdA_FOL_3FkN2z7-aMFCcTU.ttf"},"Adamina":{"regular":"http://fonts.gstatic.com/s/adamina/v14/j8_r6-DH1bjoc-dwu-reETl4Bno.ttf"},"Jura":{"300":"http://fonts.gstatic.com/s/jura/v19/z7NOdRfiaC4Vd8hhoPzfb5vBTP0D7auhTfmrH_rt.ttf","500":"http://fonts.gstatic.com/s/jura/v19/z7NOdRfiaC4Vd8hhoPzfb5vBTP1v7auhTfmrH_rt.ttf","600":"http://fonts.gstatic.com/s/jura/v19/z7NOdRfiaC4Vd8hhoPzfb5vBTP2D6quhTfmrH_rt.ttf","700":"http://fonts.gstatic.com/s/jura/v19/z7NOdRfiaC4Vd8hhoPzfb5vBTP266quhTfmrH_rt.ttf","regular":"http://fonts.gstatic.com/s/jura/v19/z7NOdRfiaC4Vd8hhoPzfb5vBTP1d7auhTfmrH_rt.ttf"},"Allura":{"regular":"http://fonts.gstatic.com/s/allura/v15/9oRPNYsQpS4zjuAPjAIXPtrrGA.ttf"},"Carter One":{"regular":"http://fonts.gstatic.com/s/carterone/v12/q5uCsoe5IOB2-pXv9UcNIxR2hYxREMs.ttf"},"Recursive":{"300":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadDck018vwxjDJCL.ttf","500":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadCwk018vwxjDJCL.ttf","600":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadBclE18vwxjDJCL.ttf","700":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadBllE18vwxjDJCL.ttf","800":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadAClE18vwxjDJCL.ttf","900":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadArlE18vwxjDJCL.ttf","regular":"http://fonts.gstatic.com/s/recursive/v26/8vJN7wMr0mhh-RQChyHEH06TlXhq_gukbYrFMk1QuAIcyEwG_X-dpEfaE5YaERmK-CImKsvxvU-MXGX2fSqasNfUvz2xbXfn1uEQadCCk018vwxjDJCL.ttf"},"Cabin Condensed":{"500":"http://fonts.gstatic.com/s/cabincondensed/v14/nwpJtK6mNhBK2err_hqkYhHRqmwilMH97F15-K1oqQ.ttf","600":"http://fonts.gstatic.com/s/cabincondensed/v14/nwpJtK6mNhBK2err_hqkYhHRqmwiuMb97F15-K1oqQ.ttf","700":"http://fonts.gstatic.com/s/cabincondensed/v14/nwpJtK6mNhBK2err_hqkYhHRqmwi3Mf97F15-K1oqQ.ttf","regular":"http://fonts.gstatic.com/s/cabincondensed/v14/nwpMtK6mNhBK2err_hqkYhHRqmwaYOjZ5HZl8Q.ttf"},"Lilita One":{"regular":"http://fonts.gstatic.com/s/lilitaone/v8/i7dPIFZ9Zz-WBtRtedDbUEZ2RFq7AwU.ttf"},"BenchNine":{"300":"http://fonts.gstatic.com/s/benchnine/v9/ahcev8612zF4jxrwMosT--tRhWa8q0v8ag.ttf","700":"http://fonts.gstatic.com/s/benchnine/v9/ahcev8612zF4jxrwMosT6-xRhWa8q0v8ag.ttf","regular":"http://fonts.gstatic.com/s/benchnine/v9/ahcbv8612zF4jxrwMosrV8N1jU2gog.ttf"},"Bai Jamjuree":{"200":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIqapSCOBt_aeQQ7ftydoa0kePuk5A1-yiSgA.ttf","300":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIqapSCOBt_aeQQ7ftydoa09eDuk5A1-yiSgA.ttf","500":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIqapSCOBt_aeQQ7ftydoa0reHuk5A1-yiSgA.ttf","600":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIqapSCOBt_aeQQ7ftydoa0gebuk5A1-yiSgA.ttf","700":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIqapSCOBt_aeQQ7ftydoa05efuk5A1-yiSgA.ttf","200italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIoapSCOBt_aeQQ7ftydoa8W_oGkpox2S2CgOva.ttf","300italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIoapSCOBt_aeQQ7ftydoa8W_pikZox2S2CgOva.ttf","regular":"http://fonts.gstatic.com/s/baijamjuree/v4/LDI1apSCOBt_aeQQ7ftydoaMWcjKm7sp8g.ttf","italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIrapSCOBt_aeQQ7ftydoa8W8LOub458jGL.ttf","500italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIoapSCOBt_aeQQ7ftydoa8W_o6kJox2S2CgOva.ttf","600italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIoapSCOBt_aeQQ7ftydoa8W_oWl5ox2S2CgOva.ttf","700italic":"http://fonts.gstatic.com/s/baijamjuree/v4/LDIoapSCOBt_aeQQ7ftydoa8W_pylpox2S2CgOva.ttf"},"Hind Vadodara":{"300":"http://fonts.gstatic.com/s/hindvadodara/v7/neIQzCKvrIcn5pbuuuriV9tTSDn3iXM0oSOL2Yw.ttf","500":"http://fonts.gstatic.com/s/hindvadodara/v7/neIQzCKvrIcn5pbuuuriV9tTSGH2iXM0oSOL2Yw.ttf","600":"http://fonts.gstatic.com/s/hindvadodara/v7/neIQzCKvrIcn5pbuuuriV9tTSE3xiXM0oSOL2Yw.ttf","700":"http://fonts.gstatic.com/s/hindvadodara/v7/neIQzCKvrIcn5pbuuuriV9tTSCnwiXM0oSOL2Yw.ttf","regular":"http://fonts.gstatic.com/s/hindvadodara/v7/neINzCKvrIcn5pbuuuriV9tTcJXfrXsfvSo.ttf"},"Lexend Deca":{"100":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U48MxArBPCqLNflg.ttf","200":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4cM1ArBPCqLNflg.ttf","300":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4rs1ArBPCqLNflg.ttf","500":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4ws1ArBPCqLNflg.ttf","600":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4LspArBPCqLNflg.ttf","700":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4F8pArBPCqLNflg.ttf","800":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4cMpArBPCqLNflg.ttf","900":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U4WcpArBPCqLNflg.ttf","regular":"http://fonts.gstatic.com/s/lexenddeca/v13/K2FifZFYk-dHSE0UPPuwQ7CrD94i-NCKm-U48M1ArBPCqLNflg.ttf"},"Marck Script":{"regular":"http://fonts.gstatic.com/s/marckscript/v11/nwpTtK2oNgBA3Or78gapdwuCzyI-aMPF7Q.ttf"},"Noto Serif SC":{"200":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7mm63SzZBEtERe7U.otf","300":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7mgq0SzZBEtERe7U.otf","500":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7mlK1SzZBEtERe7U.otf","600":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7mn6ySzZBEtERe7U.otf","700":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7mhqzSzZBEtERe7U.otf","900":"http://fonts.gstatic.com/s/notoserifsc/v16/H4c8BXePl9DZ0Xe7gG9cyOj7miKxSzZBEtERe7U.otf","regular":"http://fonts.gstatic.com/s/notoserifsc/v16/H4chBXePl9DZ0Xe7gG9cyOj7oqCcbzhqDtg.otf"},"Amaranth":{"700":"http://fonts.gstatic.com/s/amaranth/v11/KtkpALODe433f0j1zMF-OPWi6WDfFpuc.ttf","regular":"http://fonts.gstatic.com/s/amaranth/v11/KtkuALODe433f0j1zPnCF9GqwnzW.ttf","italic":"http://fonts.gstatic.com/s/amaranth/v11/KtkoALODe433f0j1zMnAHdWIx2zWD4I.ttf","700italic":"http://fonts.gstatic.com/s/amaranth/v11/KtkrALODe433f0j1zMnAJWmn42T9E4ucRY8.ttf"},"Economica":{"700":"http://fonts.gstatic.com/s/economica/v8/Qw3aZQZaHCLgIWa29ZBTjeckCnZ5dHw8iw.ttf","regular":"http://fonts.gstatic.com/s/economica/v8/Qw3fZQZaHCLgIWa29ZBrMcgAAl1lfQ.ttf","italic":"http://fonts.gstatic.com/s/economica/v8/Qw3ZZQZaHCLgIWa29ZBbM8IEIFh1fWUl.ttf","700italic":"http://fonts.gstatic.com/s/economica/v8/Qw3EZQZaHCLgIWa29ZBbM_q4D3x9Vnksi4M7.ttf"},"Unica One":{"regular":"http://fonts.gstatic.com/s/unicaone/v8/DPEuYwWHyAYGVTSmalshdtffuEY7FA.ttf"},"Alef":{"700":"http://fonts.gstatic.com/s/alef/v12/FeVQS0NQpLYglo50L5la2bxii28.ttf","regular":"http://fonts.gstatic.com/s/alef/v12/FeVfS0NQpLYgrjJbC5FxxbU.ttf"},"Pragati Narrow":{"700":"http://fonts.gstatic.com/s/pragatinarrow/v8/vm8sdRf0T0bS1ffgsPB7WZ-mD2ZD5fd_GJMTlo_4.ttf","regular":"http://fonts.gstatic.com/s/pragatinarrow/v8/vm8vdRf0T0bS1ffgsPB7WZ-mD17_ytN3M48a.ttf"},"Palanquin":{"100":"http://fonts.gstatic.com/s/palanquin/v10/9XUhlJ90n1fBFg7ceXwUEltI7rWmZzTH.ttf","200":"http://fonts.gstatic.com/s/palanquin/v10/9XUilJ90n1fBFg7ceXwUvnpoxJuqbi3ezg.ttf","300":"http://fonts.gstatic.com/s/palanquin/v10/9XUilJ90n1fBFg7ceXwU2nloxJuqbi3ezg.ttf","500":"http://fonts.gstatic.com/s/palanquin/v10/9XUilJ90n1fBFg7ceXwUgnhoxJuqbi3ezg.ttf","600":"http://fonts.gstatic.com/s/palanquin/v10/9XUilJ90n1fBFg7ceXwUrn9oxJuqbi3ezg.ttf","700":"http://fonts.gstatic.com/s/palanquin/v10/9XUilJ90n1fBFg7ceXwUyn5oxJuqbi3ezg.ttf","regular":"http://fonts.gstatic.com/s/palanquin/v10/9XUnlJ90n1fBFg7ceXwsdlFMzLC2Zw.ttf"},"Gentium Basic":{"700":"http://fonts.gstatic.com/s/gentiumbasic/v12/WnzgHAw9aB_JD2VGQVR80We3JLasrToUbIqIfBU.ttf","regular":"http://fonts.gstatic.com/s/gentiumbasic/v12/Wnz9HAw9aB_JD2VGQVR80We3HAqDiTI_cIM.ttf","italic":"http://fonts.gstatic.com/s/gentiumbasic/v12/WnzjHAw9aB_JD2VGQVR80We3LAiJjRA6YIORZQ.ttf","700italic":"http://fonts.gstatic.com/s/gentiumbasic/v12/WnzmHAw9aB_JD2VGQVR80We3LAixMT8eaKiNbBVWkw.ttf"},"Mukta Malar":{"200":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqIMwBtAB62ruoAZW.ttf","300":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqINUBdAB62ruoAZW.ttf","500":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqIMMBNAB62ruoAZW.ttf","600":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqIMgA9AB62ruoAZW.ttf","700":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqINEAtAB62ruoAZW.ttf","800":"http://fonts.gstatic.com/s/muktamalar/v7/MCoKzAXyz8LOE2FpJMxZqINYAdAB62ruoAZW.ttf","regular":"http://fonts.gstatic.com/s/muktamalar/v7/MCoXzAXyz8LOE2FpJMxZqLv4LfQJwHbn.ttf"},"Khula":{"300":"http://fonts.gstatic.com/s/khula/v7/OpNPnoEOns3V7G-ljCvUrC59XwXD.ttf","600":"http://fonts.gstatic.com/s/khula/v7/OpNPnoEOns3V7G_RiivUrC59XwXD.ttf","700":"http://fonts.gstatic.com/s/khula/v7/OpNPnoEOns3V7G-1iyvUrC59XwXD.ttf","800":"http://fonts.gstatic.com/s/khula/v7/OpNPnoEOns3V7G-piCvUrC59XwXD.ttf","regular":"http://fonts.gstatic.com/s/khula/v7/OpNCnoEOns3V7FcJpA_chzJ0.ttf"},"Julius Sans One":{"regular":"http://fonts.gstatic.com/s/juliussansone/v9/1Pt2g8TAX_SGgBGUi0tGOYEga5W-xXEW6aGXHw.ttf"},"IM Fell English SC":{"regular":"http://fonts.gstatic.com/s/imfellenglishsc/v12/a8IENpD3CDX-4zrWfr1VY879qFF05pZLO4gOg0shzA.ttf"},"Sen":{"700":"http://fonts.gstatic.com/s/sen/v2/6xKudSxYI9__J9CoKkH1JHUQSQ.ttf","800":"http://fonts.gstatic.com/s/sen/v2/6xKudSxYI9__O9OoKkH1JHUQSQ.ttf","regular":"http://fonts.gstatic.com/s/sen/v2/6xKjdSxYI9_Hm_-MImrpLQ.ttf"},"Rock Salt":{"regular":"http://fonts.gstatic.com/s/rocksalt/v11/MwQ0bhv11fWD6QsAVOZbsEk7hbBWrA.ttf"},"Armata":{"regular":"http://fonts.gstatic.com/s/armata/v12/gokvH63_HV5jQ-E9lD53Q2u_mQ.ttf"},"Monoton":{"regular":"http://fonts.gstatic.com/s/monoton/v10/5h1aiZUrOngCibe4fkbBQ2S7FU8.ttf"},"Ramabhadra":{"regular":"http://fonts.gstatic.com/s/ramabhadra/v10/EYq2maBOwqRW9P1SQ83LehNGX5uWw3o.ttf"},"Abhaya Libre":{"500":"http://fonts.gstatic.com/s/abhayalibre/v6/e3t5euGtX-Co5MNzeAOqinEYj2ryqtxI6oYtBA.ttf","600":"http://fonts.gstatic.com/s/abhayalibre/v6/e3t5euGtX-Co5MNzeAOqinEYo23yqtxI6oYtBA.ttf","700":"http://fonts.gstatic.com/s/abhayalibre/v6/e3t5euGtX-Co5MNzeAOqinEYx2zyqtxI6oYtBA.ttf","800":"http://fonts.gstatic.com/s/abhayalibre/v6/e3t5euGtX-Co5MNzeAOqinEY22_yqtxI6oYtBA.ttf","regular":"http://fonts.gstatic.com/s/abhayalibre/v6/e3tmeuGtX-Co5MNzeAOqinEge0PWovdU4w.ttf"},"Nothing You Could Do":{"regular":"http://fonts.gstatic.com/s/nothingyoucoulddo/v10/oY1B8fbBpaP5OX3DtrRYf_Q2BPB1SnfZb0OJl1ol2Ymo.ttf"},"Alex Brush":{"regular":"http://fonts.gstatic.com/s/alexbrush/v13/SZc83FzrJKuqFbwMKk6EtUL57DtOmCc.ttf"},"Audiowide":{"regular":"http://fonts.gstatic.com/s/audiowide/v9/l7gdbjpo0cum0ckerWCtkQXPExpQBw.ttf"},"Gentium Book Basic":{"700":"http://fonts.gstatic.com/s/gentiumbookbasic/v11/pe0wMJCbPYBVokB1LHA9bbyaQb8ZGjcw65Rfy43Y0V4kvg.ttf","regular":"http://fonts.gstatic.com/s/gentiumbookbasic/v11/pe0zMJCbPYBVokB1LHA9bbyaQb8ZGjcIV7t7w6bE2A.ttf","italic":"http://fonts.gstatic.com/s/gentiumbookbasic/v11/pe0xMJCbPYBVokB1LHA9bbyaQb8ZGjc4VbF_4aPU2Ec9.ttf","700italic":"http://fonts.gstatic.com/s/gentiumbookbasic/v11/pe0-MJCbPYBVokB1LHA9bbyaQb8ZGjc4VYnDzofc81s0voO3.ttf"},"Pontano Sans":{"regular":"http://fonts.gstatic.com/s/pontanosans/v8/qFdD35GdgYR8EzR6oBLDHa3qwjUMg1siNQ.ttf"},"Tenor Sans":{"regular":"http://fonts.gstatic.com/s/tenorsans/v12/bx6ANxqUneKx06UkIXISr3JyC22IyqI.ttf"},"Gruppo":{"regular":"http://fonts.gstatic.com/s/gruppo/v11/WwkfxPmzE06v_ZWFWXDAOIEQUQ.ttf"},"Bad Script":{"regular":"http://fonts.gstatic.com/s/badscript/v9/6NUT8F6PJgbFWQn47_x7lOwuzd1AZtw.ttf"},"Allerta":{"regular":"http://fonts.gstatic.com/s/allerta/v11/TwMO-IAHRlkbx940UnEdSQqO5uY.ttf"},"Courier Prime":{"700":"http://fonts.gstatic.com/s/courierprime/v2/u-4k0q2lgwslOqpF_6gQ8kELY7pMf-fVqvHoJXw.ttf","regular":"http://fonts.gstatic.com/s/courierprime/v2/u-450q2lgwslOqpF_6gQ8kELWwZjW-_-tvg.ttf","italic":"http://fonts.gstatic.com/s/courierprime/v2/u-4n0q2lgwslOqpF_6gQ8kELawRpX837pvjxPA.ttf","700italic":"http://fonts.gstatic.com/s/courierprime/v2/u-4i0q2lgwslOqpF_6gQ8kELawRR4-LfrtPtNXyeAg.ttf"},"Share Tech Mono":{"regular":"http://fonts.gstatic.com/s/sharetechmono/v10/J7aHnp1uDWRBEqV98dVQztYldFc7pAsEIc3Xew.ttf"},"Cousine":{"700":"http://fonts.gstatic.com/s/cousine/v17/d6lNkaiiRdih4SpP9Z8K6T7G09BlnmQ.ttf","regular":"http://fonts.gstatic.com/s/cousine/v17/d6lIkaiiRdih4SpPzSMlzTbtz9k.ttf","italic":"http://fonts.gstatic.com/s/cousine/v17/d6lKkaiiRdih4SpP_SEvyRTo39l8hw.ttf","700italic":"http://fonts.gstatic.com/s/cousine/v17/d6lPkaiiRdih4SpP_SEXdTvM1_JgjmRpOA.ttf"},"Aclonica":{"regular":"http://fonts.gstatic.com/s/aclonica/v11/K2FyfZJVlfNNSEBXGb7TCI6oBjLz.ttf"},"Reenie Beanie":{"regular":"http://fonts.gstatic.com/s/reeniebeanie/v11/z7NSdR76eDkaJKZJFkkjuvWxbP2_qoOgf_w.ttf"},"Pangolin":{"regular":"http://fonts.gstatic.com/s/pangolin/v6/cY9GfjGcW0FPpi-tWPfK5d3aiLBG.ttf"},"Electrolize":{"regular":"http://fonts.gstatic.com/s/electrolize/v9/cIf5Ma1dtE0zSiGSiED7AUEGso5tQafB.ttf"},"Varela":{"regular":"http://fonts.gstatic.com/s/varela/v11/DPEtYwqExx0AWHXJBBQFfvzDsQ.ttf"},"Fira Code":{"300":"http://fonts.gstatic.com/s/firacode/v14/uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_GNsFVfxN87gsj0.ttf","500":"http://fonts.gstatic.com/s/firacode/v14/uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_A9sFVfxN87gsj0.ttf","600":"http://fonts.gstatic.com/s/firacode/v14/uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_ONrFVfxN87gsj0.ttf","700":"http://fonts.gstatic.com/s/firacode/v14/uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_NprFVfxN87gsj0.ttf","regular":"http://fonts.gstatic.com/s/firacode/v14/uU9eCBsR6Z2vfE9aq3bL0fxyUs4tcw4W_D1sFVfxN87gsj0.ttf"},"Kosugi Maru":{"regular":"http://fonts.gstatic.com/s/kosugimaru/v11/0nksC9PgP_wGh21A2KeqGiTqivr9iBq_.ttf"},"Rufina":{"700":"http://fonts.gstatic.com/s/rufina/v8/Yq6W-LyURyLy-aKKHztAvMxenxE0SA.ttf","regular":"http://fonts.gstatic.com/s/rufina/v8/Yq6V-LyURyLy-aKyoxRktOdClg.ttf"},"Sorts Mill Goudy":{"regular":"http://fonts.gstatic.com/s/sortsmillgoudy/v10/Qw3GZR9MED_6PSuS_50nEaVrfzgEXH0OjpM75PE.ttf","italic":"http://fonts.gstatic.com/s/sortsmillgoudy/v10/Qw3AZR9MED_6PSuS_50nEaVrfzgEbH8EirE-9PGLfQ.ttf"},"Commissioner":{"100":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Ni-IO9pOXuRoaY.ttf","200":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Fi_IO9pOXuRoaY.ttf","300":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Ia_IO9pOXuRoaY.ttf","500":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Oq_IO9pOXuRoaY.ttf","600":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Aa4IO9pOXuRoaY.ttf","700":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5D-4IO9pOXuRoaY.ttf","800":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Fi4IO9pOXuRoaY.ttf","900":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5HG4IO9pOXuRoaY.ttf","regular":"http://fonts.gstatic.com/s/commissioner/v5/tDbe2o2WnlgI0FNDgduEk4jAhwgIy5k8SlfU5Ni_IO9pOXuRoaY.ttf"},"Sarala":{"700":"http://fonts.gstatic.com/s/sarala/v5/uK_x4riEZv4o1w9ptjI3OtWYVkMpXA.ttf","regular":"http://fonts.gstatic.com/s/sarala/v5/uK_y4riEZv4o1w9RCh0TMv6EXw.ttf"},"Oleo Script":{"700":"http://fonts.gstatic.com/s/oleoscript/v9/raxkHieDvtMOe0iICsUccCDmnmrY2zqUKafv.ttf","regular":"http://fonts.gstatic.com/s/oleoscript/v9/rax5HieDvtMOe0iICsUccBhasU7Q8Cad.ttf"},"Black Ops One":{"regular":"http://fonts.gstatic.com/s/blackopsone/v12/qWcsB6-ypo7xBdr6Xshe96H3WDzRtjkho4M.ttf"},"Arsenal":{"700":"http://fonts.gstatic.com/s/arsenal/v5/wXKuE3kQtZQ4pF3D7-P5JeQAmX8yrdk.ttf","regular":"http://fonts.gstatic.com/s/arsenal/v5/wXKrE3kQtZQ4pF3D11_WAewrhXY.ttf","italic":"http://fonts.gstatic.com/s/arsenal/v5/wXKpE3kQtZQ4pF3D513cBc4ulXYrtA.ttf","700italic":"http://fonts.gstatic.com/s/arsenal/v5/wXKsE3kQtZQ4pF3D513kueEKnV03vdnKjw.ttf"},"Mate SC":{"regular":"http://fonts.gstatic.com/s/matesc/v11/-nF8OGQ1-uoVr2wKyiXZ95OkJwA.ttf"},"Martel Sans":{"200":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hAX5suHFUknqMxQ.ttf","300":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hBz5cuHFUknqMxQ.ttf","600":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hAH48uHFUknqMxQ.ttf","700":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hBj4suHFUknqMxQ.ttf","800":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hB_4cuHFUknqMxQ.ttf","900":"http://fonts.gstatic.com/s/martelsans/v7/h0GxssGi7VdzDgKjM-4d8hBb4MuHFUknqMxQ.ttf","regular":"http://fonts.gstatic.com/s/martelsans/v7/h0GsssGi7VdzDgKjM-4d8ijfze-PPlUu.ttf"},"Mandali":{"regular":"http://fonts.gstatic.com/s/mandali/v9/LhWlMVbYOfASNfNUVFk1ZPdcKtA.ttf"},"Rubik Mono One":{"regular":"http://fonts.gstatic.com/s/rubikmonoone/v9/UqyJK8kPP3hjw6ANTdfRk9YSN-8wRqQrc_j9.ttf"},"Red Hat Text":{"300":"http://fonts.gstatic.com/s/redhattext/v6/RrQCbohi_ic6B3yVSzGBrMx6ZI_cy1A6Ok2ML-ZwVrbacYVFtIY.ttf","500":"http://fonts.gstatic.com/s/redhattext/v6/RrQCbohi_ic6B3yVSzGBrMx6ZI_cy1A6Ok2ML4pwVrbacYVFtIY.ttf","600":"http://fonts.gstatic.com/s/redhattext/v6/RrQCbohi_ic6B3yVSzGBrMx6ZI_cy1A6Ok2ML2Z3VrbacYVFtIY.ttf","700":"http://fonts.gstatic.com/s/redhattext/v6/RrQCbohi_ic6B3yVSzGBrMx6ZI_cy1A6Ok2ML193VrbacYVFtIY.ttf","regular":"http://fonts.gstatic.com/s/redhattext/v6/RrQCbohi_ic6B3yVSzGBrMx6ZI_cy1A6Ok2ML7hwVrbacYVFtIY.ttf","300italic":"http://fonts.gstatic.com/s/redhattext/v6/RrQEbohi_ic6B3yVSzGBrMxQbb0jEzlRoOOLOnAz4PXQdadApIYv_g.ttf","italic":"http://fonts.gstatic.com/s/redhattext/v6/RrQEbohi_ic6B3yVSzGBrMxQbb0jEzlRoOOLOnAzvvXQdadApIYv_g.ttf","500italic":"http://fonts.gstatic.com/s/redhattext/v6/RrQEbohi_ic6B3yVSzGBrMxQbb0jEzlRoOOLOnAzjPXQdadApIYv_g.ttf","600italic":"http://fonts.gstatic.com/s/redhattext/v6/RrQEbohi_ic6B3yVSzGBrMxQbb0jEzlRoOOLOnAzYPLQdadApIYv_g.ttf","700italic":"http://fonts.gstatic.com/s/redhattext/v6/RrQEbohi_ic6B3yVSzGBrMxQbb0jEzlRoOOLOnAzWfLQdadApIYv_g.ttf"},"Sriracha":{"regular":"http://fonts.gstatic.com/s/sriracha/v5/0nkrC9D4IuYBgWcI9ObYRQDioeb0.ttf"},"Damion":{"regular":"http://fonts.gstatic.com/s/damion/v10/hv-XlzJ3KEUe_YZUbWY3MTFgVg.ttf"},"Forum":{"regular":"http://fonts.gstatic.com/s/forum/v11/6aey4Ky-Vb8Ew_IWMJMa3mnT.ttf"},"Shadows Into Light Two":{"regular":"http://fonts.gstatic.com/s/shadowsintolighttwo/v8/4iC86LVlZsRSjQhpWGedwyOoW-0A6_kpsyNmlAvNGLNnIF0.ttf"},"Cantata One":{"regular":"http://fonts.gstatic.com/s/cantataone/v10/PlI5Fl60Nb5obNzNe2jslVxEt8CwfGaD.ttf"},"Coda":{"800":"http://fonts.gstatic.com/s/coda/v16/SLXIc1jY5nQ8HeIgTp6mw9t1cX8.ttf","regular":"http://fonts.gstatic.com/s/coda/v16/SLXHc1jY5nQ8JUIMapaN39I.ttf"},"Suez One":{"regular":"http://fonts.gstatic.com/s/suezone/v5/taiJGmd_EZ6rqscQgNFJkIqg-I0w.ttf"},"Lalezar":{"regular":"http://fonts.gstatic.com/s/lalezar/v9/zrfl0HLVx-HwTP82UaDyIiL0RCg.ttf"},"Quantico":{"700":"http://fonts.gstatic.com/s/quantico/v10/rax5HiSdp9cPL3KIF7TQARhasU7Q8Cad.ttf","regular":"http://fonts.gstatic.com/s/quantico/v10/rax-HiSdp9cPL3KIF4xsLjxSmlLZ.ttf","italic":"http://fonts.gstatic.com/s/quantico/v10/rax4HiSdp9cPL3KIF7xuJDhwn0LZ6T8.ttf","700italic":"http://fonts.gstatic.com/s/quantico/v10/rax7HiSdp9cPL3KIF7xuHIRfu0ry9TadML4.ttf"},"Fira Mono":{"500":"http://fonts.gstatic.com/s/firamono/v9/N0bS2SlFPv1weGeLZDto1d33mf3VaZBRBQ.ttf","700":"http://fonts.gstatic.com/s/firamono/v9/N0bS2SlFPv1weGeLZDtondv3mf3VaZBRBQ.ttf","regular":"http://fonts.gstatic.com/s/firamono/v9/N0bX2SlFPv1weGeLZDtQIfTTkdbJYA.ttf"},"Krub":{"200":"http://fonts.gstatic.com/s/krub/v4/sZlEdRyC6CRYZo47KLF4R6gWaf8.ttf","300":"http://fonts.gstatic.com/s/krub/v4/sZlEdRyC6CRYZuo4KLF4R6gWaf8.ttf","500":"http://fonts.gstatic.com/s/krub/v4/sZlEdRyC6CRYZrI5KLF4R6gWaf8.ttf","600":"http://fonts.gstatic.com/s/krub/v4/sZlEdRyC6CRYZp4-KLF4R6gWaf8.ttf","700":"http://fonts.gstatic.com/s/krub/v4/sZlEdRyC6CRYZvo_KLF4R6gWaf8.ttf","200italic":"http://fonts.gstatic.com/s/krub/v4/sZlGdRyC6CRYbkQiwLByQ4oTef_6gQ.ttf","300italic":"http://fonts.gstatic.com/s/krub/v4/sZlGdRyC6CRYbkQipLNyQ4oTef_6gQ.ttf","regular":"http://fonts.gstatic.com/s/krub/v4/sZlLdRyC6CRYXkYQDLlTW6E.ttf","italic":"http://fonts.gstatic.com/s/krub/v4/sZlFdRyC6CRYbkQaCJtWS6EPcA.ttf","500italic":"http://fonts.gstatic.com/s/krub/v4/sZlGdRyC6CRYbkQi_LJyQ4oTef_6gQ.ttf","600italic":"http://fonts.gstatic.com/s/krub/v4/sZlGdRyC6CRYbkQi0LVyQ4oTef_6gQ.ttf","700italic":"http://fonts.gstatic.com/s/krub/v4/sZlGdRyC6CRYbkQitLRyQ4oTef_6gQ.ttf"},"Bubblegum Sans":{"regular":"http://fonts.gstatic.com/s/bubblegumsans/v9/AYCSpXb_Z9EORv1M5QTjEzMEtdaHzoPPb7R4.ttf"},"Basic":{"regular":"http://fonts.gstatic.com/s/basic/v10/xfu_0WLxV2_XKQN34lDVyR7D.ttf"},"Black Han Sans":{"regular":"http://fonts.gstatic.com/s/blackhansans/v8/ea8Aad44WunzF9a-dL6toA8r8nqVIXSkH-Hc.ttf"},"IBM Plex Sans Condensed":{"100":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8nN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY7KyKvBgYsMDhM.ttf","200":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY5m6Yvrr4cFFwq5.ttf","300":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY4C6ovrr4cFFwq5.ttf","500":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY5a64vrr4cFFwq5.ttf","600":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY527Ivrr4cFFwq5.ttf","700":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY4S7Yvrr4cFFwq5.ttf","100italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8hN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8M_LhakJHhOgBg.ttf","200italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8GPqpYMnEhq5H1w.ttf","300italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8AfppYMnEhq5H1w.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8lN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHbauwq_jhJsM.ttf","italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8nN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYasyKvBgYsMDhM.ttf","500italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8F_opYMnEhq5H1w.ttf","600italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8HPvpYMnEhq5H1w.ttf","700italic":"http://fonts.gstatic.com/s/ibmplexsanscondensed/v8/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8BfupYMnEhq5H1w.ttf"},"Mr Dafoe":{"regular":"http://fonts.gstatic.com/s/mrdafoe/v9/lJwE-pIzkS5NXuMMrGiqg7MCxz_C.ttf"},"Changa One":{"regular":"http://fonts.gstatic.com/s/changaone/v13/xfu00W3wXn3QLUJXhzq46AbouLfbK64.ttf","italic":"http://fonts.gstatic.com/s/changaone/v13/xfu20W3wXn3QLUJXhzq42ATivJXeO67ISw.ttf"},"Italianno":{"regular":"http://fonts.gstatic.com/s/italianno/v11/dg4n_p3sv6gCJkwzT6Rnj5YpQwM-gg.ttf"},"Michroma":{"regular":"http://fonts.gstatic.com/s/michroma/v11/PN_zRfy9qWD8fEagAMg6rzjb_-Da.ttf"},"Laila":{"300":"http://fonts.gstatic.com/s/laila/v8/LYjBdG_8nE8jDLzxogNAh14nVcfe.ttf","500":"http://fonts.gstatic.com/s/laila/v8/LYjBdG_8nE8jDLypowNAh14nVcfe.ttf","600":"http://fonts.gstatic.com/s/laila/v8/LYjBdG_8nE8jDLyFpANAh14nVcfe.ttf","700":"http://fonts.gstatic.com/s/laila/v8/LYjBdG_8nE8jDLzhpQNAh14nVcfe.ttf","regular":"http://fonts.gstatic.com/s/laila/v8/LYjMdG_8nE8jDIRdiidIrEIu.ttf"},"Markazi Text":{"500":"http://fonts.gstatic.com/s/markazitext/v16/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtcaQT4MlBekmJLo.ttf","600":"http://fonts.gstatic.com/s/markazitext/v16/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtSqXT4MlBekmJLo.ttf","700":"http://fonts.gstatic.com/s/markazitext/v16/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtROXT4MlBekmJLo.ttf","regular":"http://fonts.gstatic.com/s/markazitext/v16/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtfSQT4MlBekmJLo.ttf"},"Mada":{"200":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSdf3nCCL8zkwMIFg.ttf","300":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSdZnkCCL8zkwMIFg.ttf","500":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSdcHlCCL8zkwMIFg.ttf","600":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSde3iCCL8zkwMIFg.ttf","700":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSdYnjCCL8zkwMIFg.ttf","900":"http://fonts.gstatic.com/s/mada/v11/7Au_p_0qnzeSdbHhCCL8zkwMIFg.ttf","regular":"http://fonts.gstatic.com/s/mada/v11/7Auwp_0qnzeSTTXMLCrX0kU.ttf"},"Annie Use Your Telescope":{"regular":"http://fonts.gstatic.com/s/annieuseyourtelescope/v11/daaLSS4tI2qYYl3Jq9s_Hu74xwktnlKxH6osGVGjlDfB3UUVZA.ttf"},"Literata":{"200":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbJG_F_bcTWCWp8g.ttf","300":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbE-_F_bcTWCWp8g.ttf","500":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbCO_F_bcTWCWp8g.ttf","600":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbM-4F_bcTWCWp8g.ttf","700":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbPa4F_bcTWCWp8g.ttf","800":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbJG4F_bcTWCWp8g.ttf","900":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbLi4F_bcTWCWp8g.ttf","regular":"http://fonts.gstatic.com/s/literata/v23/or3PQ6P12-iJxAIgLa78DkrbXsDgk0oVDaDPYLanFLHpPf2TbBG_F_bcTWCWp8g.ttf","200italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8f7XWSUKTt8iVow.ttf","300italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8obXWSUKTt8iVow.ttf","italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8_7XWSUKTt8iVow.ttf","500italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8zbXWSUKTt8iVow.ttf","600italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8IbLWSUKTt8iVow.ttf","700italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8GLLWSUKTt8iVow.ttf","800italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8f7LWSUKTt8iVow.ttf","900italic":"http://fonts.gstatic.com/s/literata/v23/or3NQ6P12-iJxAIgLYT1PLs1Zd0nfUwAbeGVKoRYzNiCp1OUedn8VrLWSUKTt8iVow.ttf"},"Boogaloo":{"regular":"http://fonts.gstatic.com/s/boogaloo/v12/kmK-Zq45GAvOdnaW6x1F_SrQo_1K.ttf"},"Jaldi":{"700":"http://fonts.gstatic.com/s/jaldi/v7/or3hQ67z0_CI33voSbT3LLQ1niPn.ttf","regular":"http://fonts.gstatic.com/s/jaldi/v7/or3sQ67z0_CI30NUZpD_B6g8.ttf"},"Sintony":{"700":"http://fonts.gstatic.com/s/sintony/v8/XoHj2YDqR7-98cVUGYgIn9cDkjLp6C8.ttf","regular":"http://fonts.gstatic.com/s/sintony/v8/XoHm2YDqR7-98cVUITQnu98ojjs.ttf"},"Average":{"regular":"http://fonts.gstatic.com/s/average/v9/fC1hPYBHe23MxA7rIeJwVWytTyk.ttf"},"Days One":{"regular":"http://fonts.gstatic.com/s/daysone/v10/mem9YaCnxnKRiYZOCLYVeLkWVNBt.ttf"},"Six Caps":{"regular":"http://fonts.gstatic.com/s/sixcaps/v11/6ae_4KGrU7VR7bNmabcS9XXaPCop.ttf"},"Rasa":{"300":"http://fonts.gstatic.com/s/rasa/v11/xn76YHIn1mWmVKl8ZtAM9NrJfN4YJW41fcvN2KT4.ttf","500":"http://fonts.gstatic.com/s/rasa/v11/xn76YHIn1mWmVKl8ZtAM9NrJfN50JW41fcvN2KT4.ttf","600":"http://fonts.gstatic.com/s/rasa/v11/xn76YHIn1mWmVKl8ZtAM9NrJfN6YIm41fcvN2KT4.ttf","700":"http://fonts.gstatic.com/s/rasa/v11/xn76YHIn1mWmVKl8ZtAM9NrJfN6hIm41fcvN2KT4.ttf","regular":"http://fonts.gstatic.com/s/rasa/v11/xn76YHIn1mWmVKl8ZtAM9NrJfN5GJW41fcvN2KT4.ttf","300italic":"http://fonts.gstatic.com/s/rasa/v11/xn78YHIn1mWmfqBOmQhln0Bne8uOZth2d8_v3bT4Ycc.ttf","italic":"http://fonts.gstatic.com/s/rasa/v11/xn78YHIn1mWmfqBOmQhln0Bne8uOZoZ2d8_v3bT4Ycc.ttf","500italic":"http://fonts.gstatic.com/s/rasa/v11/xn78YHIn1mWmfqBOmQhln0Bne8uOZrR2d8_v3bT4Ycc.ttf","600italic":"http://fonts.gstatic.com/s/rasa/v11/xn78YHIn1mWmfqBOmQhln0Bne8uOZlhxd8_v3bT4Ycc.ttf","700italic":"http://fonts.gstatic.com/s/rasa/v11/xn78YHIn1mWmfqBOmQhln0Bne8uOZmFxd8_v3bT4Ycc.ttf"},"Overlock":{"700":"http://fonts.gstatic.com/s/overlock/v10/Z9XSDmdMWRiN1_T9Z7xizcmMvL2L9TLT.ttf","900":"http://fonts.gstatic.com/s/overlock/v10/Z9XSDmdMWRiN1_T9Z7xaz8mMvL2L9TLT.ttf","regular":"http://fonts.gstatic.com/s/overlock/v10/Z9XVDmdMWRiN1_T9Z4Te4u2El6GC.ttf","italic":"http://fonts.gstatic.com/s/overlock/v10/Z9XTDmdMWRiN1_T9Z7Tc6OmmkrGC7Cs.ttf","700italic":"http://fonts.gstatic.com/s/overlock/v10/Z9XQDmdMWRiN1_T9Z7Tc0FWJtrmp8CLTlNs.ttf","900italic":"http://fonts.gstatic.com/s/overlock/v10/Z9XQDmdMWRiN1_T9Z7Tc0G2Ltrmp8CLTlNs.ttf"},"Caveat Brush":{"regular":"http://fonts.gstatic.com/s/caveatbrush/v6/EYq0maZfwr9S9-ETZc3fKXtMW7mT03pdQw.ttf"},"Overpass Mono":{"300":"http://fonts.gstatic.com/s/overpassmono/v10/_Xm5-H86tzKDdAPa-KPQZ-AC_COcRycquHlL6EWKokzzXur-SmIr.ttf","500":"http://fonts.gstatic.com/s/overpassmono/v10/_Xm5-H86tzKDdAPa-KPQZ-AC_COcRycquHlL6EXmokzzXur-SmIr.ttf","600":"http://fonts.gstatic.com/s/overpassmono/v10/_Xm5-H86tzKDdAPa-KPQZ-AC_COcRycquHlL6EUKpUzzXur-SmIr.ttf","700":"http://fonts.gstatic.com/s/overpassmono/v10/_Xm5-H86tzKDdAPa-KPQZ-AC_COcRycquHlL6EUzpUzzXur-SmIr.ttf","regular":"http://fonts.gstatic.com/s/overpassmono/v10/_Xm5-H86tzKDdAPa-KPQZ-AC_COcRycquHlL6EXUokzzXur-SmIr.ttf"},"Lexend":{"100":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WCzsX_LBte6KuGEo.ttf","200":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC7sW_LBte6KuGEo.ttf","300":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC2UW_LBte6KuGEo.ttf","500":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WCwkW_LBte6KuGEo.ttf","600":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC-UR_LBte6KuGEo.ttf","700":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC9wR_LBte6KuGEo.ttf","800":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC7sR_LBte6KuGEo.ttf","900":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WC5IR_LBte6KuGEo.ttf","regular":"http://fonts.gstatic.com/s/lexend/v12/wlptgwvFAVdoq2_F94zlCfv0bz1WCzsW_LBte6KuGEo.ttf"},"Spinnaker":{"regular":"http://fonts.gstatic.com/s/spinnaker/v12/w8gYH2oyX-I0_rvR6Hmn3HwLqOqSBg.ttf"},"Pinyon Script":{"regular":"http://fonts.gstatic.com/s/pinyonscript/v11/6xKpdSJbL9-e9LuoeQiDRQR8aOLQO4bhiDY.ttf"},"Berkshire Swash":{"regular":"http://fonts.gstatic.com/s/berkshireswash/v9/ptRRTi-cavZOGqCvnNJDl5m5XmNPrcQybX4pQA.ttf"},"Yrsa":{"300":"http://fonts.gstatic.com/s/yrsa/v11/wlprgwnQFlxs_wD3CFSMYmFaaCjASNNV9rRPfrKu.ttf","500":"http://fonts.gstatic.com/s/yrsa/v11/wlprgwnQFlxs_wD3CFSMYmFaaCisSNNV9rRPfrKu.ttf","600":"http://fonts.gstatic.com/s/yrsa/v11/wlprgwnQFlxs_wD3CFSMYmFaaChAT9NV9rRPfrKu.ttf","700":"http://fonts.gstatic.com/s/yrsa/v11/wlprgwnQFlxs_wD3CFSMYmFaaCh5T9NV9rRPfrKu.ttf","regular":"http://fonts.gstatic.com/s/yrsa/v11/wlprgwnQFlxs_wD3CFSMYmFaaCieSNNV9rRPfrKu.ttf","300italic":"http://fonts.gstatic.com/s/yrsa/v11/wlptgwnQFlxs1QnF94zlCfv0bz1WC2UW_LBte6KuGEo.ttf","italic":"http://fonts.gstatic.com/s/yrsa/v11/wlptgwnQFlxs1QnF94zlCfv0bz1WCzsW_LBte6KuGEo.ttf","500italic":"http://fonts.gstatic.com/s/yrsa/v11/wlptgwnQFlxs1QnF94zlCfv0bz1WCwkW_LBte6KuGEo.ttf","600italic":"http://fonts.gstatic.com/s/yrsa/v11/wlptgwnQFlxs1QnF94zlCfv0bz1WC-UR_LBte6KuGEo.ttf","700italic":"http://fonts.gstatic.com/s/yrsa/v11/wlptgwnQFlxs1QnF94zlCfv0bz1WC9wR_LBte6KuGEo.ttf"},"Niramit":{"200":"http://fonts.gstatic.com/s/niramit/v5/I_urMpWdvgLdNxVLVXx7tiiEr5_BdZ8.ttf","300":"http://fonts.gstatic.com/s/niramit/v5/I_urMpWdvgLdNxVLVRh4tiiEr5_BdZ8.ttf","500":"http://fonts.gstatic.com/s/niramit/v5/I_urMpWdvgLdNxVLVUB5tiiEr5_BdZ8.ttf","600":"http://fonts.gstatic.com/s/niramit/v5/I_urMpWdvgLdNxVLVWx-tiiEr5_BdZ8.ttf","700":"http://fonts.gstatic.com/s/niramit/v5/I_urMpWdvgLdNxVLVQh_tiiEr5_BdZ8.ttf","200italic":"http://fonts.gstatic.com/s/niramit/v5/I_upMpWdvgLdNxVLXbZiXimOq73EZZ_f6w.ttf","300italic":"http://fonts.gstatic.com/s/niramit/v5/I_upMpWdvgLdNxVLXbZiOiqOq73EZZ_f6w.ttf","regular":"http://fonts.gstatic.com/s/niramit/v5/I_uuMpWdvgLdNxVLbbRQkiCvs5Y.ttf","italic":"http://fonts.gstatic.com/s/niramit/v5/I_usMpWdvgLdNxVLXbZalgKqo5bYbA.ttf","500italic":"http://fonts.gstatic.com/s/niramit/v5/I_upMpWdvgLdNxVLXbZiYiuOq73EZZ_f6w.ttf","600italic":"http://fonts.gstatic.com/s/niramit/v5/I_upMpWdvgLdNxVLXbZiTiyOq73EZZ_f6w.ttf","700italic":"http://fonts.gstatic.com/s/niramit/v5/I_upMpWdvgLdNxVLXbZiKi2Oq73EZZ_f6w.ttf"},"Arizonia":{"regular":"http://fonts.gstatic.com/s/arizonia/v11/neIIzCemt4A5qa7mv6WGHK06UY30.ttf"},"Alegreya Sans SC":{"100":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGn4-RGJqfMvt7P8FUr0Q1j-Hf1Dipl8g5FPYtmMg.ttf","300":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DuJH0iRrMYJ_K-4.ttf","500":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DrpG0iRrMYJ_K-4.ttf","700":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DvJA0iRrMYJ_K-4.ttf","800":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1Du5D0iRrMYJ_K-4.ttf","900":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DspC0iRrMYJ_K-4.ttf","100italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGl4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdlgRBH452Mvds.ttf","300italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdXiZhNaB6O-51OA.ttf","regular":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGh4-RGJqfMvt7P8FUr0Q1j-Hf1Nk5v9ixALYs.ttf","italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGn4-RGJqfMvt7P8FUr0Q1j-Hf1Bkxl8g5FPYtmMg.ttf","500italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdBidhNaB6O-51OA.ttf","700italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdTiFhNaB6O-51OA.ttf","800italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdUiJhNaB6O-51OA.ttf","900italic":"http://fonts.gstatic.com/s/alegreyasanssc/v13/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxddiNhNaB6O-51OA.ttf"},"Chewy":{"regular":"http://fonts.gstatic.com/s/chewy/v12/uK_94ruUb-k-wk5xIDMfO-ed.ttf"},"Bodoni Moda":{"500":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oXzawIBytVjMYwE.ttf","600":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oZDdwIBytVjMYwE.ttf","700":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oandwIBytVjMYwE.ttf","800":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oc7dwIBytVjMYwE.ttf","900":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oefdwIBytVjMYwE.ttf","regular":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oU7awIBytVjMYwE.ttf","italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZKMN4sXrJcwHqoQ.ttf","500italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZGsN4sXrJcwHqoQ.ttf","600italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZ9sR4sXrJcwHqoQ.ttf","700italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZz8R4sXrJcwHqoQ.ttf","800italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZqMR4sXrJcwHqoQ.ttf","900italic":"http://fonts.gstatic.com/s/bodonimoda/v7/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZgcR4sXrJcwHqoQ.ttf"},"Encode Sans Condensed":{"100":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_76_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-5a-JLQoFI2KR.ttf","200":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-SY6pByQJKnuIFA.ttf","300":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-LY2pByQJKnuIFA.ttf","500":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-dYypByQJKnuIFA.ttf","600":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-WYupByQJKnuIFA.ttf","700":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-PYqpByQJKnuIFA.ttf","800":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-IYmpByQJKnuIFA.ttf","900":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-BYipByQJKnuIFA.ttf","regular":"http://fonts.gstatic.com/s/encodesanscondensed/v5/j8_16_LD37rqfuwxyIuaZhE6cRXOLtm2gfTGgaWNDw8VIw.ttf"},"Antic":{"regular":"http://fonts.gstatic.com/s/antic/v12/TuGfUVB8XY5DRaZLodgzydtk.ttf"},"Candal":{"regular":"http://fonts.gstatic.com/s/candal/v10/XoHn2YH6T7-t_8cNAR4Jt9Yxlw.ttf"},"Fredericka the Great":{"regular":"http://fonts.gstatic.com/s/frederickathegreat/v10/9Bt33CxNwt7aOctW2xjbCstzwVKsIBVV-9Skz7Ylch2L.ttf"},"Blinker":{"100":"http://fonts.gstatic.com/s/blinker/v4/cIf_MaFatEE-VTaP_E2hZEsCkIt9QQ.ttf","200":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_OGARGEsnIJkWL4.ttf","300":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_IWDRGEsnIJkWL4.ttf","600":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_PGFRGEsnIJkWL4.ttf","700":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_JWERGEsnIJkWL4.ttf","800":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_ImHRGEsnIJkWL4.ttf","900":"http://fonts.gstatic.com/s/blinker/v4/cIf4MaFatEE-VTaP_K2GRGEsnIJkWL4.ttf","regular":"http://fonts.gstatic.com/s/blinker/v4/cIf9MaFatEE-VTaPxCmrYGkHgIs.ttf"},"Rancho":{"regular":"http://fonts.gstatic.com/s/rancho/v11/46kulbzmXjLaqZRlbWXgd0RY1g.ttf"},"Judson":{"700":"http://fonts.gstatic.com/s/judson/v13/FeVSS0Fbvbc14Vxps5xQ3Z5nm29Gww.ttf","regular":"http://fonts.gstatic.com/s/judson/v13/FeVRS0Fbvbc14VxRD7N01bV7kg.ttf","italic":"http://fonts.gstatic.com/s/judson/v13/FeVTS0Fbvbc14VxhDblw97BrknZf.ttf"},"Voltaire":{"regular":"http://fonts.gstatic.com/s/voltaire/v10/1Pttg8PcRfSblAvGvQooYKVnBOif.ttf"},"Shrikhand":{"regular":"http://fonts.gstatic.com/s/shrikhand/v6/a8IbNovtLWfR7T7bMJwbBIiQ0zhMtA.ttf"},"Norican":{"regular":"http://fonts.gstatic.com/s/norican/v9/MwQ2bhXp1eSBqjkPGJJRtGs-lbA.ttf"},"Harmattan":{"700":"http://fonts.gstatic.com/s/harmattan/v11/gokpH6L2DkFvVvRp9Xpr92-HmNZEq6TTFw.ttf","regular":"http://fonts.gstatic.com/s/harmattan/v11/goksH6L2DkFvVvRp9XpTS0CjkP1Yog.ttf"},"Pridi":{"200":"http://fonts.gstatic.com/s/pridi/v6/2sDdZG5JnZLfkc1SiE0jRUG0AqUc.ttf","300":"http://fonts.gstatic.com/s/pridi/v6/2sDdZG5JnZLfkc02i00jRUG0AqUc.ttf","500":"http://fonts.gstatic.com/s/pridi/v6/2sDdZG5JnZLfkc1uik0jRUG0AqUc.ttf","600":"http://fonts.gstatic.com/s/pridi/v6/2sDdZG5JnZLfkc1CjU0jRUG0AqUc.ttf","700":"http://fonts.gstatic.com/s/pridi/v6/2sDdZG5JnZLfkc0mjE0jRUG0AqUc.ttf","regular":"http://fonts.gstatic.com/s/pridi/v6/2sDQZG5JnZLfkfWao2krbl29.ttf"},"Glegoo":{"700":"http://fonts.gstatic.com/s/glegoo/v10/_Xmu-HQyrTKWaw2xN4a9CKRpzimMsg.ttf","regular":"http://fonts.gstatic.com/s/glegoo/v10/_Xmt-HQyrTKWaw2Ji6mZAI91xw.ttf"},"Sansita":{"700":"http://fonts.gstatic.com/s/sansita/v5/QldLNTRRphEb_-V7JKWUaXl0wqVv3_g.ttf","800":"http://fonts.gstatic.com/s/sansita/v5/QldLNTRRphEb_-V7JLmXaXl0wqVv3_g.ttf","900":"http://fonts.gstatic.com/s/sansita/v5/QldLNTRRphEb_-V7JJ2WaXl0wqVv3_g.ttf","regular":"http://fonts.gstatic.com/s/sansita/v5/QldONTRRphEb_-V7HBm7TXFf3qw.ttf","italic":"http://fonts.gstatic.com/s/sansita/v5/QldMNTRRphEb_-V7LBuxSVNazqx2xg.ttf","700italic":"http://fonts.gstatic.com/s/sansita/v5/QldJNTRRphEb_-V7LBuJ9Xx-xodqz_joDQ.ttf","800italic":"http://fonts.gstatic.com/s/sansita/v5/QldJNTRRphEb_-V7LBuJ6X9-xodqz_joDQ.ttf","900italic":"http://fonts.gstatic.com/s/sansita/v5/QldJNTRRphEb_-V7LBuJzX5-xodqz_joDQ.ttf"},"Corben":{"700":"http://fonts.gstatic.com/s/corben/v14/LYjAdGzzklQtCMpFHCZgrXArXN7HWQ.ttf","regular":"http://fonts.gstatic.com/s/corben/v14/LYjDdGzzklQtCMp9oAlEpVs3VQ.ttf"},"Kreon":{"300":"http://fonts.gstatic.com/s/kreon/v27/t5t9IRIUKY-TFF_LW5lnMR3v2DnvPNimejUfp2dWNg.ttf","500":"http://fonts.gstatic.com/s/kreon/v27/t5t9IRIUKY-TFF_LW5lnMR3v2DnvUNimejUfp2dWNg.ttf","600":"http://fonts.gstatic.com/s/kreon/v27/t5t9IRIUKY-TFF_LW5lnMR3v2DnvvN-mejUfp2dWNg.ttf","700":"http://fonts.gstatic.com/s/kreon/v27/t5t9IRIUKY-TFF_LW5lnMR3v2Dnvhd-mejUfp2dWNg.ttf","regular":"http://fonts.gstatic.com/s/kreon/v27/t5t9IRIUKY-TFF_LW5lnMR3v2DnvYtimejUfp2dWNg.ttf"},"Lemonada":{"300":"http://fonts.gstatic.com/s/lemonada/v14/0QI-MXFD9oygTWy_R-FFlwV-bgfR7QJGJOt2mfWc3Z2pTg.ttf","500":"http://fonts.gstatic.com/s/lemonada/v14/0QI-MXFD9oygTWy_R-FFlwV-bgfR7QJGSOt2mfWc3Z2pTg.ttf","600":"http://fonts.gstatic.com/s/lemonada/v14/0QI-MXFD9oygTWy_R-FFlwV-bgfR7QJGpOx2mfWc3Z2pTg.ttf","700":"http://fonts.gstatic.com/s/lemonada/v14/0QI-MXFD9oygTWy_R-FFlwV-bgfR7QJGnex2mfWc3Z2pTg.ttf","regular":"http://fonts.gstatic.com/s/lemonada/v14/0QI-MXFD9oygTWy_R-FFlwV-bgfR7QJGeut2mfWc3Z2pTg.ttf"},"Stint Ultra Condensed":{"regular":"http://fonts.gstatic.com/s/stintultracondensed/v11/-W_gXIrsVjjeyEnPC45qD2NoFPtBE0xCh2A-qhUO2cNvdg.ttf"},"Squada One":{"regular":"http://fonts.gstatic.com/s/squadaone/v9/BCasqZ8XsOrx4mcOk6MtWaA8WDBkHgs.ttf"},"Kameron":{"700":"http://fonts.gstatic.com/s/kameron/v11/vm8zdR7vXErQxuzniAIfC-3jfHb--NY.ttf","regular":"http://fonts.gstatic.com/s/kameron/v11/vm82dR7vXErQxuznsL4wL-XIYH8.ttf"},"Enriqueta":{"500":"http://fonts.gstatic.com/s/enriqueta/v10/gokpH6L7AUFrRvV44HVrv2mHmNZEq6TTFw.ttf","600":"http://fonts.gstatic.com/s/enriqueta/v10/gokpH6L7AUFrRvV44HVrk26HmNZEq6TTFw.ttf","700":"http://fonts.gstatic.com/s/enriqueta/v10/gokpH6L7AUFrRvV44HVr92-HmNZEq6TTFw.ttf","regular":"http://fonts.gstatic.com/s/enriqueta/v10/goksH6L7AUFrRvV44HVTS0CjkP1Yog.ttf"},"Noto Naskh Arabic":{"500":"http://fonts.gstatic.com/s/notonaskharabic/v13/RrQ5bpV-9Dd1b1OAGA6M9PkyDuVBePeKNaxcsss0Y7bwj85krK0z9_Mnuw.ttf","600":"http://fonts.gstatic.com/s/notonaskharabic/v13/RrQ5bpV-9Dd1b1OAGA6M9PkyDuVBePeKNaxcsss0Y7bwY8lkrK0z9_Mnuw.ttf","700":"http://fonts.gstatic.com/s/notonaskharabic/v13/RrQ5bpV-9Dd1b1OAGA6M9PkyDuVBePeKNaxcsss0Y7bwWslkrK0z9_Mnuw.ttf","regular":"http://fonts.gstatic.com/s/notonaskharabic/v13/RrQ5bpV-9Dd1b1OAGA6M9PkyDuVBePeKNaxcsss0Y7bwvc5krK0z9_Mnuw.ttf"},"Anonymous Pro":{"700":"http://fonts.gstatic.com/s/anonymouspro/v14/rP2cp2a15UIB7Un-bOeISG3pFuAT0CnW7KOywKo.ttf","regular":"http://fonts.gstatic.com/s/anonymouspro/v14/rP2Bp2a15UIB7Un-bOeISG3pLlw89CH98Ko.ttf","italic":"http://fonts.gstatic.com/s/anonymouspro/v14/rP2fp2a15UIB7Un-bOeISG3pHl428AP44Kqr2Q.ttf","700italic":"http://fonts.gstatic.com/s/anonymouspro/v14/rP2ap2a15UIB7Un-bOeISG3pHl4OTCzc6IG30KqB9Q.ttf"},"Lateef":{"regular":"http://fonts.gstatic.com/s/lateef/v18/hESw6XVnNCxEvkbMpheEZo_H_w.ttf"},"Belgrano":{"regular":"http://fonts.gstatic.com/s/belgrano/v11/55xvey5tM9rwKWrJZcMFirl08KDJ.ttf"},"Reem Kufi":{"500":"http://fonts.gstatic.com/s/reemkufi/v13/2sDPZGJLip7W2J7v7wQZZE1I0yCmYzzQttRnEGGf3qGuvM4.ttf","600":"http://fonts.gstatic.com/s/reemkufi/v13/2sDPZGJLip7W2J7v7wQZZE1I0yCmYzzQtjhgEGGf3qGuvM4.ttf","700":"http://fonts.gstatic.com/s/reemkufi/v13/2sDPZGJLip7W2J7v7wQZZE1I0yCmYzzQtgFgEGGf3qGuvM4.ttf","regular":"http://fonts.gstatic.com/s/reemkufi/v13/2sDPZGJLip7W2J7v7wQZZE1I0yCmYzzQtuZnEGGf3qGuvM4.ttf"},"VT323":{"regular":"http://fonts.gstatic.com/s/vt323/v12/pxiKyp0ihIEF2hsYHpT2dkNE.ttf"},"Hind Guntur":{"300":"http://fonts.gstatic.com/s/hindguntur/v7/wXKyE3UZrok56nvamSuJd_yGn1czn9zaj5Ju.ttf","500":"http://fonts.gstatic.com/s/hindguntur/v7/wXKyE3UZrok56nvamSuJd_zenlczn9zaj5Ju.ttf","600":"http://fonts.gstatic.com/s/hindguntur/v7/wXKyE3UZrok56nvamSuJd_zymVczn9zaj5Ju.ttf","700":"http://fonts.gstatic.com/s/hindguntur/v7/wXKyE3UZrok56nvamSuJd_yWmFczn9zaj5Ju.ttf","regular":"http://fonts.gstatic.com/s/hindguntur/v7/wXKvE3UZrok56nvamSuJd8Qqt3M7tMDT.ttf"},"Londrina Solid":{"100":"http://fonts.gstatic.com/s/londrinasolid/v10/flUjRq6sw40kQEJxWNgkLuudGfs9KBYesZHhV64.ttf","300":"http://fonts.gstatic.com/s/londrinasolid/v10/flUiRq6sw40kQEJxWNgkLuudGfv1CjY0n53oTrcL.ttf","900":"http://fonts.gstatic.com/s/londrinasolid/v10/flUiRq6sw40kQEJxWNgkLuudGfvdDzY0n53oTrcL.ttf","regular":"http://fonts.gstatic.com/s/londrinasolid/v10/flUhRq6sw40kQEJxWNgkLuudGcNZIhI8tIHh.ttf"},"PT Serif Caption":{"regular":"http://fonts.gstatic.com/s/ptserifcaption/v12/ieVl2ZhbGCW-JoW6S34pSDpqYKU059WxDCs5cvI.ttf","italic":"http://fonts.gstatic.com/s/ptserifcaption/v12/ieVj2ZhbGCW-JoW6S34pSDpqYKU019e7CAk8YvJEeg.ttf"},"Bowlby One SC":{"regular":"http://fonts.gstatic.com/s/bowlbyonesc/v12/DtVlJxerQqQm37tzN3wMug9Pzgj8owhNjuE.ttf"},"Bevan":{"regular":"http://fonts.gstatic.com/s/bevan/v18/4iCj6KZ0a9NXjF8aUir7tlSJ.ttf","italic":"http://fonts.gstatic.com/s/bevan/v18/4iCt6KZ0a9NXjG8YWC7Zs0SJD4U.ttf"},"Darker Grotesque":{"300":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVoxr2AW8hTOsXsX0.ttf","500":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVo0L3AW8hTOsXsX0.ttf","600":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVo27wAW8hTOsXsX0.ttf","700":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVowrxAW8hTOsXsX0.ttf","800":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVoxbyAW8hTOsXsX0.ttf","900":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MA6cuh-mLQlC4BKCtayOfARkSVozLzAW8hTOsXsX0.ttf","regular":"http://fonts.gstatic.com/s/darkergrotesque/v2/U9MH6cuh-mLQlC4BKCtayOfARkSVm7beJWcKUOI.ttf"},"Aldrich":{"regular":"http://fonts.gstatic.com/s/aldrich/v11/MCoTzAn-1s3IGyJMZaAS3pP5H_E.ttf"},"Telex":{"regular":"http://fonts.gstatic.com/s/telex/v9/ieVw2Y1fKWmIO9fTB1piKFIf.ttf"},"Knewave":{"regular":"http://fonts.gstatic.com/s/knewave/v9/sykz-yx0lLcxQaSItSq9-trEvlQ.ttf"},"Cabin Sketch":{"700":"http://fonts.gstatic.com/s/cabinsketch/v14/QGY2z_kZZAGCONcK2A4bGOj0I_1o4dLyI4CMFw.ttf","regular":"http://fonts.gstatic.com/s/cabinsketch/v14/QGYpz_kZZAGCONcK2A4bGOjMn9JM6fnuKg.ttf"},"Palanquin Dark":{"500":"http://fonts.gstatic.com/s/palanquindark/v7/xn76YHgl1nqmANMB-26xC7yuF8Z6ZW41fcvN2KT4.ttf","600":"http://fonts.gstatic.com/s/palanquindark/v7/xn76YHgl1nqmANMB-26xC7yuF8ZWYm41fcvN2KT4.ttf","700":"http://fonts.gstatic.com/s/palanquindark/v7/xn76YHgl1nqmANMB-26xC7yuF8YyY241fcvN2KT4.ttf","regular":"http://fonts.gstatic.com/s/palanquindark/v7/xn75YHgl1nqmANMB-26xC7yuF_6OTEo9VtfE.ttf"},"Covered By Your Grace":{"regular":"http://fonts.gstatic.com/s/coveredbyyourgrace/v10/QGYwz-AZahWOJJI9kykWW9mD6opopoqXSOS0FgItq6bFIg.ttf"},"Charm":{"700":"http://fonts.gstatic.com/s/charm/v5/7cHrv4oii5K0Md6TDss8yn4hnCci.ttf","regular":"http://fonts.gstatic.com/s/charm/v5/7cHmv4oii5K0MeYvIe804WIo.ttf"},"Niconne":{"regular":"http://fonts.gstatic.com/s/niconne/v10/w8gaH2QvRug1_rTfrQut2F4OuOo.ttf"},"Leckerli One":{"regular":"http://fonts.gstatic.com/s/leckerlione/v11/V8mCoQH8VCsNttEnxnGQ-1itLZxcBtItFw.ttf"},"Allerta Stencil":{"regular":"http://fonts.gstatic.com/s/allertastencil/v11/HTx0L209KT-LmIE9N7OR6eiycOeF-zz313DuvQ.ttf"},"Coming Soon":{"regular":"http://fonts.gstatic.com/s/comingsoon/v12/qWcuB6mzpYL7AJ2VfdQR1u-SUjjzsykh.ttf"},"Arbutus Slab":{"regular":"http://fonts.gstatic.com/s/arbutusslab/v9/oY1Z8e7OuLXkJGbXtr5ba7ZVa68dJlaFAQ.ttf"},"Graduate":{"regular":"http://fonts.gstatic.com/s/graduate/v8/C8cg4cs3o2n15t_2YxgR6X2NZAn2.ttf"},"GFS Didot":{"regular":"http://fonts.gstatic.com/s/gfsdidot/v10/Jqzh5TybZ9vZMWFssvwiF-fGFSCGAA.ttf"},"Castoro":{"regular":"http://fonts.gstatic.com/s/castoro/v8/1q2GY5yMCld3-O4cHYhEzOYenEU.ttf","italic":"http://fonts.gstatic.com/s/castoro/v8/1q2EY5yMCld3-O4cLYpOyMQbjEX5fw.ttf"},"Mrs Saint Delafield":{"regular":"http://fonts.gstatic.com/s/mrssaintdelafield/v8/v6-IGZDIOVXH9xtmTZfRagunqBw5WC62cK4tLsubB2w.ttf"},"Baskervville":{"regular":"http://fonts.gstatic.com/s/baskervville/v11/YA9Ur0yU4l_XOrogbkun3kQgt5OohvbJ9A.ttf","italic":"http://fonts.gstatic.com/s/baskervville/v11/YA9Kr0yU4l_XOrogbkun3kQQtZmspPPZ9Mlt.ttf"},"Holtwood One SC":{"regular":"http://fonts.gstatic.com/s/holtwoodonesc/v11/yYLx0hLR0P-3vMFSk1TCq3Txg5B3cbb6LZttyg.ttf"},"Rozha One":{"regular":"http://fonts.gstatic.com/s/rozhaone/v8/AlZy_zVFtYP12Zncg2khdXf4XB0Tow.ttf"},"Herr Von Muellerhoff":{"regular":"http://fonts.gstatic.com/s/herrvonmuellerhoff/v10/WBL6rFjRZkREW8WqmCWYLgCkQKXb4CAft3c6_qJY3QPQ.ttf"},"Saira Extra Condensed":{"100":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFsOHYr-vcC7h8MklGBkrvmUG9rbpkisrTri0jx9i5ss3a3.ttf","200":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrJ2nR3ABgum-uoQ.ttf","300":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrQ2rR3ABgum-uoQ.ttf","500":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrG2vR3ABgum-uoQ.ttf","600":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrN2zR3ABgum-uoQ.ttf","700":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrU23R3ABgum-uoQ.ttf","800":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrT27R3ABgum-uoQ.ttf","900":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTra2_R3ABgum-uoQ.ttf","regular":"http://fonts.gstatic.com/s/sairaextracondensed/v6/-nFiOHYr-vcC7h8MklGBkrvmUG9rbpkisrTT70L11Ct8sw.ttf"},"Libre Caslon Text":{"700":"http://fonts.gstatic.com/s/librecaslontext/v2/DdT578IGsGw1aF1JU10PUbTvNNaDMfID8sdjNR-8ssPt.ttf","regular":"http://fonts.gstatic.com/s/librecaslontext/v2/DdT878IGsGw1aF1JU10PUbTvNNaDMcq_3eNrHgO1.ttf","italic":"http://fonts.gstatic.com/s/librecaslontext/v2/DdT678IGsGw1aF1JU10PUbTvNNaDMfq91-dJGxO1q9o.ttf"},"Mate":{"regular":"http://fonts.gstatic.com/s/mate/v9/m8JdjftRd7WZ2z28WoXSaLU.ttf","italic":"http://fonts.gstatic.com/s/mate/v9/m8JTjftRd7WZ6z-2XqfXeLVdbw.ttf"},"Grand Hotel":{"regular":"http://fonts.gstatic.com/s/grandhotel/v8/7Au7p_IgjDKdCRWuR1azpmQNEl0O0kEx.ttf"},"Trocchi":{"regular":"http://fonts.gstatic.com/s/trocchi/v9/qWcqB6WkuIDxDZLcDrtUvMeTYD0.ttf"},"Cinzel Decorative":{"700":"http://fonts.gstatic.com/s/cinzeldecorative/v9/daaHSScvJGqLYhG8nNt8KPPswUAPniZoaelDQzCLlQXE.ttf","900":"http://fonts.gstatic.com/s/cinzeldecorative/v9/daaHSScvJGqLYhG8nNt8KPPswUAPniZQa-lDQzCLlQXE.ttf","regular":"http://fonts.gstatic.com/s/cinzeldecorative/v9/daaCSScvJGqLYhG8nNt8KPPswUAPnh7URs1LaCyC.ttf"},"Syne":{"500":"http://fonts.gstatic.com/s/syne/v3/8vIS7w4qzmVxsWxjBZRjr0FKM_0KuT6kR47NCV5Z.ttf","600":"http://fonts.gstatic.com/s/syne/v3/8vIS7w4qzmVxsWxjBZRjr0FKM_3mvj6kR47NCV5Z.ttf","700":"http://fonts.gstatic.com/s/syne/v3/8vIS7w4qzmVxsWxjBZRjr0FKM_3fvj6kR47NCV5Z.ttf","800":"http://fonts.gstatic.com/s/syne/v3/8vIS7w4qzmVxsWxjBZRjr0FKM_24vj6kR47NCV5Z.ttf","regular":"http://fonts.gstatic.com/s/syne/v3/8vIS7w4qzmVxsWxjBZRjr0FKM_04uT6kR47NCV5Z.ttf"},"Scada":{"700":"http://fonts.gstatic.com/s/scada/v9/RLp8K5Pv5qumeVrU6BEgRVfmZOE5.ttf","regular":"http://fonts.gstatic.com/s/scada/v9/RLpxK5Pv5qumeWJoxzUobkvv.ttf","italic":"http://fonts.gstatic.com/s/scada/v9/RLp_K5Pv5qumeVJqzTEKa1vvffg.ttf","700italic":"http://fonts.gstatic.com/s/scada/v9/RLp6K5Pv5qumeVJq9Y0lT1PEYfE5p6g.ttf"},"Just Another Hand":{"regular":"http://fonts.gstatic.com/s/justanotherhand/v12/845CNN4-AJyIGvIou-6yJKyptyOpOcr_BmmlS5aw.ttf"},"Racing Sans One":{"regular":"http://fonts.gstatic.com/s/racingsansone/v8/sykr-yRtm7EvTrXNxkv5jfKKyDCwL3rmWpIBtA.ttf"},"Gilda Display":{"regular":"http://fonts.gstatic.com/s/gildadisplay/v8/t5tmIRoYMoaYG0WEOh7HwMeR7TnFrpOHYh4.ttf"},"Capriola":{"regular":"http://fonts.gstatic.com/s/capriola/v8/wXKoE3YSppcvo1PDln_8L-AinG8y.ttf"},"Amita":{"700":"http://fonts.gstatic.com/s/amita/v9/HhyXU5si9Om7PTHTLtCCOopCTKkI.ttf","regular":"http://fonts.gstatic.com/s/amita/v9/HhyaU5si9Om7PQlvAfSKEZZL.ttf"},"Trirong":{"100":"http://fonts.gstatic.com/s/trirong/v6/7r3EqXNgp8wxdOdOl-go3YRl6ujngw.ttf","200":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOl0QJ_a5L5uH-mts.ttf","300":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOlyAK_a5L5uH-mts.ttf","500":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOl3gL_a5L5uH-mts.ttf","600":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOl1QM_a5L5uH-mts.ttf","700":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOlzAN_a5L5uH-mts.ttf","800":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOlywO_a5L5uH-mts.ttf","900":"http://fonts.gstatic.com/s/trirong/v6/7r3DqXNgp8wxdOdOlwgP_a5L5uH-mts.ttf","100italic":"http://fonts.gstatic.com/s/trirong/v6/7r3CqXNgp8wxdOdOn44QuY5hyO33g8IY.ttf","200italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QFa9B4sP7itsB5g.ttf","300italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QcaxB4sP7itsB5g.ttf","regular":"http://fonts.gstatic.com/s/trirong/v6/7r3GqXNgp8wxdOdOr4wi2aZg-ug.ttf","italic":"http://fonts.gstatic.com/s/trirong/v6/7r3EqXNgp8wxdOdOn44o3YRl6ujngw.ttf","500italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QKa1B4sP7itsB5g.ttf","600italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QBapB4sP7itsB5g.ttf","700italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QYatB4sP7itsB5g.ttf","800italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QfahB4sP7itsB5g.ttf","900italic":"http://fonts.gstatic.com/s/trirong/v6/7r3BqXNgp8wxdOdOn44QWalB4sP7itsB5g.ttf"},"Caudex":{"700":"http://fonts.gstatic.com/s/caudex/v10/esDT311QOP6BJUrwdteklZUCGpG-GQ.ttf","regular":"http://fonts.gstatic.com/s/caudex/v10/esDQ311QOP6BJUrIyviAnb4eEw.ttf","italic":"http://fonts.gstatic.com/s/caudex/v10/esDS311QOP6BJUr4yPKEv7sOE4in.ttf","700italic":"http://fonts.gstatic.com/s/caudex/v10/esDV311QOP6BJUr4yMo4kJ8GOJSuGdLB.ttf"},"Epilogue":{"100":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXMDLiDJXVigHPVA.ttf","200":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXsDPiDJXVigHPVA.ttf","300":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXbjPiDJXVigHPVA.ttf","500":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXAjPiDJXVigHPVA.ttf","600":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OX7jTiDJXVigHPVA.ttf","700":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OX1zTiDJXVigHPVA.ttf","800":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXsDTiDJXVigHPVA.ttf","900":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXmTTiDJXVigHPVA.ttf","regular":"http://fonts.gstatic.com/s/epilogue/v7/O4ZMFGj5hxF0EhjimngomvnCCtqb30OXMDPiDJXVigHPVA.ttf","100italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HAKTp_RqATfVHNU.ttf","200italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HCKT5_RqATfVHNU.ttf","300italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HBUT5_RqATfVHNU.ttf","italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HAKT5_RqATfVHNU.ttf","500italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HA4T5_RqATfVHNU.ttf","600italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HDUSJ_RqATfVHNU.ttf","700italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HDtSJ_RqATfVHNU.ttf","800italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HCKSJ_RqATfVHNU.ttf","900italic":"http://fonts.gstatic.com/s/epilogue/v7/O4ZCFGj5hxF0EhjimlIhqAYaY7EBcUSC-HCjSJ_RqATfVHNU.ttf"},"Noto Sans Devanagari":{"100":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGAUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1E1fxxPDT4d_AU.ttf","200":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1GZXjxlIzIU5RwD.ttf","300":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1H9XTxlIzIU5RwD.ttf","500":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1GlXDxlIzIU5RwD.ttf","600":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1GJWzxlIzIU5RwD.ttf","700":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1HtWjxlIzIU5RwD.ttf","800":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1HxWTxlIzIU5RwD.ttf","900":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGBUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv1HVWDxlIzIU5RwD.ttf","regular":"http://fonts.gstatic.com/s/notosansdevanagari/v13/TuGOUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv2lRdRhtCC4d.ttf"},"Bowlby One":{"regular":"http://fonts.gstatic.com/s/bowlbyone/v12/taiPGmVuC4y96PFeqp8smo6C_Z0wcK4.ttf"},"Alike":{"regular":"http://fonts.gstatic.com/s/alike/v13/HI_EiYEYI6BIoEjBSZXAQ4-d.ttf"},"Magra":{"700":"http://fonts.gstatic.com/s/magra/v9/uK_w4ruaZus72nbNDxcXEPuUX1ow.ttf","regular":"http://fonts.gstatic.com/s/magra/v9/uK_94ruaZus72k5xIDMfO-ed.ttf"},"Rambla":{"700":"http://fonts.gstatic.com/s/rambla/v8/snfos0ip98hx6mrMn50qPvN4yJuDYQ.ttf","regular":"http://fonts.gstatic.com/s/rambla/v8/snfrs0ip98hx6mr0I7IONthkwQ.ttf","italic":"http://fonts.gstatic.com/s/rambla/v8/snfps0ip98hx6mrEIbgKFN10wYKa.ttf","700italic":"http://fonts.gstatic.com/s/rambla/v8/snfus0ip98hx6mrEIYC2O_l86p6TYS-Y.ttf"},"Kristi":{"regular":"http://fonts.gstatic.com/s/kristi/v12/uK_y4ricdeU6zwdRCh0TMv6EXw.ttf"},"Share":{"700":"http://fonts.gstatic.com/s/share/v11/i7dJIFliZjKNF63xM56-WkJUQUq7.ttf","regular":"http://fonts.gstatic.com/s/share/v11/i7dEIFliZjKNF5VNHLq2cV5d.ttf","italic":"http://fonts.gstatic.com/s/share/v11/i7dKIFliZjKNF6VPFr6UdE5dWFM.ttf","700italic":"http://fonts.gstatic.com/s/share/v11/i7dPIFliZjKNF6VPLgK7UEZ2RFq7AwU.ttf"},"Rye":{"regular":"http://fonts.gstatic.com/s/rye/v8/r05XGLJT86YDFpTsXOqx4w.ttf"},"Alike Angular":{"regular":"http://fonts.gstatic.com/s/alikeangular/v13/3qTrojWunjGQtEBlIcwMbSoI3kM6bB7FKjE.ttf"},"Nanum Brush Script":{"regular":"http://fonts.gstatic.com/s/nanumbrushscript/v17/wXK2E2wfpokopxzthSqPbcR5_gVaxazyjqBr1lO97Q.ttf"},"Jua":{"regular":"http://fonts.gstatic.com/s/jua/v8/co3KmW9ljjAjc-DZCsKgsg.ttf"},"Delius":{"regular":"http://fonts.gstatic.com/s/delius/v10/PN_xRfK0pW_9e1rtYcI-jT3L_w.ttf"},"Rochester":{"regular":"http://fonts.gstatic.com/s/rochester/v11/6ae-4KCqVa4Zy6Fif-Uy31vWNTMwoQ.ttf"},"Alatsi":{"regular":"http://fonts.gstatic.com/s/alatsi/v2/TK3iWkUJAxQ2nLNGHjUHte5fKg.ttf"},"Lustria":{"regular":"http://fonts.gstatic.com/s/lustria/v8/9oRONYodvDEyjuhOrCg5MtPyAcg.ttf"},"Athiti":{"200":"http://fonts.gstatic.com/s/athiti/v5/pe0sMISdLIZIv1wAxDNyAv2-C99ycg.ttf","300":"http://fonts.gstatic.com/s/athiti/v5/pe0sMISdLIZIv1wAoDByAv2-C99ycg.ttf","500":"http://fonts.gstatic.com/s/athiti/v5/pe0sMISdLIZIv1wA-DFyAv2-C99ycg.ttf","600":"http://fonts.gstatic.com/s/athiti/v5/pe0sMISdLIZIv1wA1DZyAv2-C99ycg.ttf","700":"http://fonts.gstatic.com/s/athiti/v5/pe0sMISdLIZIv1wAsDdyAv2-C99ycg.ttf","regular":"http://fonts.gstatic.com/s/athiti/v5/pe0vMISdLIZIv1w4DBhWCtaiAg.ttf"},"Mukta Vaani":{"200":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGXNV8BD-u97MW1a.ttf","300":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGWpVMBD-u97MW1a.ttf","500":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGXxVcBD-u97MW1a.ttf","600":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGXdUsBD-u97MW1a.ttf","700":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGW5U8BD-u97MW1a.ttf","800":"http://fonts.gstatic.com/s/muktavaani/v8/3JnkSD_-ynaxmxnEfVHPIGWlUMBD-u97MW1a.ttf","regular":"http://fonts.gstatic.com/s/muktavaani/v8/3Jn5SD_-ynaxmxnEfVHPIF0FfORL0fNy.ttf"},"Copse":{"regular":"http://fonts.gstatic.com/s/copse/v10/11hPGpDKz1rGb0djHkihUb-A.ttf"},"Oranienbaum":{"regular":"http://fonts.gstatic.com/s/oranienbaum/v10/OZpHg_txtzZKMuXLIVrx-3zn7kz3dpHc.ttf"},"Coustard":{"900":"http://fonts.gstatic.com/s/coustard/v11/3XFuErgg3YsZ5fqUU-2LkEHmb_jU3eRL.ttf","regular":"http://fonts.gstatic.com/s/coustard/v11/3XFpErgg3YsZ5fqUU9UPvWXuROTd.ttf"},"Biryani":{"200":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84YddYQyGTBSU-J-RxQ.ttf","300":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84YddeAxGTBSU-J-RxQ.ttf","600":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84YddZQ3GTBSU-J-RxQ.ttf","700":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84YddfA2GTBSU-J-RxQ.ttf","800":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84Yddew1GTBSU-J-RxQ.ttf","900":"http://fonts.gstatic.com/s/biryani/v6/hv-TlzNxIFoO84Yddcg0GTBSU-J-RxQ.ttf","regular":"http://fonts.gstatic.com/s/biryani/v6/hv-WlzNxIFoO84YdTUwZPTh5T-s.ttf"},"Yesteryear":{"regular":"http://fonts.gstatic.com/s/yesteryear/v9/dg4g_p78rroaKl8kRKo1r7wHTwonmyw.ttf"},"Marcellus SC":{"regular":"http://fonts.gstatic.com/s/marcellussc/v8/ke8iOgUHP1dg-Rmi6RWjbLEPgdydGKikhA.ttf"},"Alegreya SC":{"500":"http://fonts.gstatic.com/s/alegreyasc/v15/taiTGmRtCJ62-O0HhNEa-ZZc-rUxQqu2FXKD.ttf","700":"http://fonts.gstatic.com/s/alegreyasc/v15/taiTGmRtCJ62-O0HhNEa-ZYU_LUxQqu2FXKD.ttf","800":"http://fonts.gstatic.com/s/alegreyasc/v15/taiTGmRtCJ62-O0HhNEa-ZYI_7UxQqu2FXKD.ttf","900":"http://fonts.gstatic.com/s/alegreyasc/v15/taiTGmRtCJ62-O0HhNEa-ZYs_rUxQqu2FXKD.ttf","regular":"http://fonts.gstatic.com/s/alegreyasc/v15/taiOGmRtCJ62-O0HhNEa-a6o05E5abe_.ttf","italic":"http://fonts.gstatic.com/s/alegreyasc/v15/taiMGmRtCJ62-O0HhNEa-Z6q2ZUbbKe_DGs.ttf","500italic":"http://fonts.gstatic.com/s/alegreyasc/v15/taiRGmRtCJ62-O0HhNEa-Z6q4WEySK-UEGKDBz4.ttf","700italic":"http://fonts.gstatic.com/s/alegreyasc/v15/taiRGmRtCJ62-O0HhNEa-Z6q4Sk0SK-UEGKDBz4.ttf","800italic":"http://fonts.gstatic.com/s/alegreyasc/v15/taiRGmRtCJ62-O0HhNEa-Z6q4TU3SK-UEGKDBz4.ttf","900italic":"http://fonts.gstatic.com/s/alegreyasc/v15/taiRGmRtCJ62-O0HhNEa-Z6q4RE2SK-UEGKDBz4.ttf"},"K2D":{"100":"http://fonts.gstatic.com/s/k2d/v4/J7aRnpF2V0ErE6UpvrIw74NL.ttf","200":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Erv4QJlJw85ppSGw.ttf","300":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Er24cJlJw85ppSGw.ttf","500":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Erg4YJlJw85ppSGw.ttf","600":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Err4EJlJw85ppSGw.ttf","700":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Ery4AJlJw85ppSGw.ttf","800":"http://fonts.gstatic.com/s/k2d/v4/J7aenpF2V0Er14MJlJw85ppSGw.ttf","100italic":"http://fonts.gstatic.com/s/k2d/v4/J7afnpF2V0EjdZ1NtLYS6pNLAjk.ttf","200italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ3hlZY4xJ9CGyAa.ttf","300italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ2FlpY4xJ9CGyAa.ttf","regular":"http://fonts.gstatic.com/s/k2d/v4/J7aTnpF2V0ETd68tnLcg7w.ttf","italic":"http://fonts.gstatic.com/s/k2d/v4/J7aRnpF2V0EjdaUpvrIw74NL.ttf","500italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ3dl5Y4xJ9CGyAa.ttf","600italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ3xkJY4xJ9CGyAa.ttf","700italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ2VkZY4xJ9CGyAa.ttf","800italic":"http://fonts.gstatic.com/s/k2d/v4/J7acnpF2V0EjdZ2JkpY4xJ9CGyAa.ttf"},"Miriam Libre":{"700":"http://fonts.gstatic.com/s/miriamlibre/v7/DdT-798HsHwubBAqfkcBTL_X3LbbRcC7_-Z7Hg.ttf","regular":"http://fonts.gstatic.com/s/miriamlibre/v7/DdTh798HsHwubBAqfkcBTL_vYJn_Teun9g.ttf"},"Amethysta":{"regular":"http://fonts.gstatic.com/s/amethysta/v9/rP2Fp2K15kgb_F3ibfWIGDWCBl0O8Q.ttf"},"Skranji":{"700":"http://fonts.gstatic.com/s/skranji/v8/OZpGg_dtriVFNerMW4eBtlzNwED-b4g.ttf","regular":"http://fonts.gstatic.com/s/skranji/v8/OZpDg_dtriVFNerMYzuuklTm3Ek.ttf"},"Gugi":{"regular":"http://fonts.gstatic.com/s/gugi/v8/A2BVn5dXywshVA6A9DEfgqM.ttf"},"Krona One":{"regular":"http://fonts.gstatic.com/s/kronaone/v9/jAnEgHdjHcjgfIb1ZcUCMY-h3cWkWg.ttf"},"Noto Sans Tamil":{"100":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGor0RqKDt_EvT.ttf","200":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7tGo70RqKDt_EvT.ttf","300":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7uYo70RqKDt_EvT.ttf","500":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7v0o70RqKDt_EvT.ttf","600":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7sYpL0RqKDt_EvT.ttf","700":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7shpL0RqKDt_EvT.ttf","800":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7tGpL0RqKDt_EvT.ttf","900":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7tvpL0RqKDt_EvT.ttf","regular":"http://fonts.gstatic.com/s/notosanstamil/v13/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf"},"Comic Neue":{"300":"http://fonts.gstatic.com/s/comicneue/v3/4UaErEJDsxBrF37olUeD_wHLwpteLwtHJlc.ttf","700":"http://fonts.gstatic.com/s/comicneue/v3/4UaErEJDsxBrF37olUeD_xHMwpteLwtHJlc.ttf","300italic":"http://fonts.gstatic.com/s/comicneue/v3/4UaarEJDsxBrF37olUeD96_RTplUKylCNlcw_Q.ttf","regular":"http://fonts.gstatic.com/s/comicneue/v3/4UaHrEJDsxBrF37olUeDx63j5pN1MwI.ttf","italic":"http://fonts.gstatic.com/s/comicneue/v3/4UaFrEJDsxBrF37olUeD96_p4rFwIwJePw.ttf","700italic":"http://fonts.gstatic.com/s/comicneue/v3/4UaarEJDsxBrF37olUeD96_RXp5UKylCNlcw_Q.ttf"},"Nobile":{"500":"http://fonts.gstatic.com/s/nobile/v12/m8JQjflSeaOVl1iOqo7zcJ5BZmqa3A.ttf","700":"http://fonts.gstatic.com/s/nobile/v12/m8JQjflSeaOVl1iO4ojzcJ5BZmqa3A.ttf","regular":"http://fonts.gstatic.com/s/nobile/v12/m8JTjflSeaOVl1i2XqfXeLVdbw.ttf","italic":"http://fonts.gstatic.com/s/nobile/v12/m8JRjflSeaOVl1iGXK3TWrBNb3OD.ttf","500italic":"http://fonts.gstatic.com/s/nobile/v12/m8JWjflSeaOVl1iGXJUnc5RFRG-K3Mud.ttf","700italic":"http://fonts.gstatic.com/s/nobile/v12/m8JWjflSeaOVl1iGXJVvdZRFRG-K3Mud.ttf"},"Convergence":{"regular":"http://fonts.gstatic.com/s/convergence/v10/rax5HiePvdgXPmmMHcIPYRhasU7Q8Cad.ttf"},"Nixie One":{"regular":"http://fonts.gstatic.com/s/nixieone/v11/lW-8wjkKLXjg5y2o2uUoUOFzpS-yLw.ttf"},"Pattaya":{"regular":"http://fonts.gstatic.com/s/pattaya/v7/ea8ZadcqV_zkHY-XNdCn92ZEmVs.ttf"},"Carme":{"regular":"http://fonts.gstatic.com/s/carme/v11/ptRHTiWdbvZIDOjGxLNrxfbZ.ttf"},"Seaweed Script":{"regular":"http://fonts.gstatic.com/s/seaweedscript/v8/bx6cNx6Tne2pxOATYE8C_Rsoe0WJ-KcGVbLW.ttf"},"Contrail One":{"regular":"http://fonts.gstatic.com/s/contrailone/v10/eLGbP-j_JA-kG0_Zo51noafdZUvt_c092w.ttf"},"Suranna":{"regular":"http://fonts.gstatic.com/s/suranna/v8/gokuH6ztGkFjWe58tBRZT2KmgP0.ttf"},"Fauna One":{"regular":"http://fonts.gstatic.com/s/faunaone/v8/wlpzgwTPBVpjpCuwkuEx2UxLYClOCg.ttf"},"Sunflower":{"300":"http://fonts.gstatic.com/s/sunflower/v9/RWmPoKeF8fUjqIj7Vc-06MfiqYsGBGBzCw.ttf","500":"http://fonts.gstatic.com/s/sunflower/v9/RWmPoKeF8fUjqIj7Vc-0sMbiqYsGBGBzCw.ttf","700":"http://fonts.gstatic.com/s/sunflower/v9/RWmPoKeF8fUjqIj7Vc-0-MDiqYsGBGBzCw.ttf"},"Average Sans":{"regular":"http://fonts.gstatic.com/s/averagesans/v9/1Ptpg8fLXP2dlAXR-HlJJNJPBdqazVoK4A.ttf"},"Petit Formal Script":{"regular":"http://fonts.gstatic.com/s/petitformalscript/v8/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qoHnqP4gZSiE.ttf"},"Cedarville Cursive":{"regular":"http://fonts.gstatic.com/s/cedarvillecursive/v12/yYL00g_a2veiudhUmxjo5VKkoqA-B_neJbBxw8BeTg.ttf"},"Podkova":{"500":"http://fonts.gstatic.com/s/podkova/v20/K2FufZ1EmftJSV9VQpXb1lo9vC3nZWt3zcU4EoporSHH.ttf","600":"http://fonts.gstatic.com/s/podkova/v20/K2FufZ1EmftJSV9VQpXb1lo9vC3nZWubysU4EoporSHH.ttf","700":"http://fonts.gstatic.com/s/podkova/v20/K2FufZ1EmftJSV9VQpXb1lo9vC3nZWuiysU4EoporSHH.ttf","800":"http://fonts.gstatic.com/s/podkova/v20/K2FufZ1EmftJSV9VQpXb1lo9vC3nZWvFysU4EoporSHH.ttf","regular":"http://fonts.gstatic.com/s/podkova/v20/K2FufZ1EmftJSV9VQpXb1lo9vC3nZWtFzcU4EoporSHH.ttf"},"Belleza":{"regular":"http://fonts.gstatic.com/s/belleza/v9/0nkoC9_pNeMfhX4BtcbyawzruP8.ttf"},"Bungee Inline":{"regular":"http://fonts.gstatic.com/s/bungeeinline/v6/Gg8zN58UcgnlCweMrih332VuDGJ1-FEglsc.ttf"},"NTR":{"regular":"http://fonts.gstatic.com/s/ntr/v10/RLpzK5Xy0ZjiGGhs5TA4bg.ttf"},"Big Shoulders Display":{"100":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdY86JF46SRP4yZQ.ttf","200":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdQ87JF46SRP4yZQ.ttf","300":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YddE7JF46SRP4yZQ.ttf","500":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0Ydb07JF46SRP4yZQ.ttf","600":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdVE8JF46SRP4yZQ.ttf","700":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdWg8JF46SRP4yZQ.ttf","800":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdQ88JF46SRP4yZQ.ttf","900":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdSY8JF46SRP4yZQ.ttf","regular":"http://fonts.gstatic.com/s/bigshouldersdisplay/v6/fC1MPZJEZG-e9gHhdI4-NBbfd2ys3SjJCx12wPgf9g-_3F0YdY87JF46SRP4yZQ.ttf"},"JetBrains Mono":{"100":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yK1jPVmUsaaDhw.ttf","200":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8SKxjPVmUsaaDhw.ttf","300":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8lqxjPVmUsaaDhw.ttf","500":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8-qxjPVmUsaaDhw.ttf","600":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8FqtjPVmUsaaDhw.ttf","700":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8L6tjPVmUsaaDhw.ttf","800":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8SKtjPVmUsaaDhw.ttf","regular":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxjPVmUsaaDhw.ttf","100italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO-Lf1OQk6OThxPA.ttf","200italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO8LflOQk6OThxPA.ttf","300italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO_VflOQk6OThxPA.ttf","italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO-LflOQk6OThxPA.ttf","500italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO-5flOQk6OThxPA.ttf","600italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO9VeVOQk6OThxPA.ttf","700italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO9seVOQk6OThxPA.ttf","800italic":"http://fonts.gstatic.com/s/jetbrainsmono/v6/tDba2o-flEEny0FZhsfKu5WU4xD-IQ-PuZJJXxfpAO8LeVOQk6OThxPA.ttf"},"Halant":{"300":"http://fonts.gstatic.com/s/halant/v8/u-490qaujRI2Pbsvc_pCmwZqcwdRXg.ttf","500":"http://fonts.gstatic.com/s/halant/v8/u-490qaujRI2PbsvK_tCmwZqcwdRXg.ttf","600":"http://fonts.gstatic.com/s/halant/v8/u-490qaujRI2PbsvB_xCmwZqcwdRXg.ttf","700":"http://fonts.gstatic.com/s/halant/v8/u-490qaujRI2PbsvY_1CmwZqcwdRXg.ttf","regular":"http://fonts.gstatic.com/s/halant/v8/u-4-0qaujRI2PbsX39Jmky12eg.ttf"},"Do Hyeon":{"regular":"http://fonts.gstatic.com/s/dohyeon/v11/TwMN-I8CRRU2zM86HFE3ZwaH__-C.ttf"},"Baloo Tamma 2":{"500":"http://fonts.gstatic.com/s/balootamma2/v8/vEFE2_hCAgcR46PaajtrYlBbVUMUJgIC5LHTrMsuPp-0IF71SGC5.ttf","600":"http://fonts.gstatic.com/s/balootamma2/v8/vEFE2_hCAgcR46PaajtrYlBbVUMUJgIC5LHTrMvCOZ-0IF71SGC5.ttf","700":"http://fonts.gstatic.com/s/balootamma2/v8/vEFE2_hCAgcR46PaajtrYlBbVUMUJgIC5LHTrMv7OZ-0IF71SGC5.ttf","800":"http://fonts.gstatic.com/s/balootamma2/v8/vEFE2_hCAgcR46PaajtrYlBbVUMUJgIC5LHTrMucOZ-0IF71SGC5.ttf","regular":"http://fonts.gstatic.com/s/balootamma2/v8/vEFE2_hCAgcR46PaajtrYlBbVUMUJgIC5LHTrMscPp-0IF71SGC5.ttf"},"Averia Serif Libre":{"300":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIVzD2ms4wxr6GvjeD0X88SHPyX2xYGCSmqwacqdrKvbQ.ttf","700":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIVzD2ms4wxr6GvjeD0X88SHPyX2xYGGS6qwacqdrKvbQ.ttf","300italic":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIbzD2ms4wxr6GvjeD0X88SHPyX2xYOpzMmw60uVLe_bXHq.ttf","regular":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIWzD2ms4wxr6GvjeD0X88SHPyX2xY-pQGOyYw2fw.ttf","italic":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIUzD2ms4wxr6GvjeD0X88SHPyX2xYOpwuK64kmf6u2.ttf","700italic":"http://fonts.gstatic.com/s/averiaseriflibre/v10/neIbzD2ms4wxr6GvjeD0X88SHPyX2xYOpzM2xK0uVLe_bXHq.ttf"},"Amiko":{"600":"http://fonts.gstatic.com/s/amiko/v5/WwkdxPq1DFK04uJ9XXrEGoQAUco5.ttf","700":"http://fonts.gstatic.com/s/amiko/v5/WwkdxPq1DFK04uIZXHrEGoQAUco5.ttf","regular":"http://fonts.gstatic.com/s/amiko/v5/WwkQxPq1DFK04tqlc17MMZgJ.ttf"},"Allan":{"700":"http://fonts.gstatic.com/s/allan/v13/ea8aadU7WuTxEu5KEPCN2WpNgEKU.ttf","regular":"http://fonts.gstatic.com/s/allan/v13/ea8XadU7WuTxEtb2P9SF8nZE.ttf"},"Aladin":{"regular":"http://fonts.gstatic.com/s/aladin/v9/ZgNSjPJFPrvJV5f16Sf4pGT2Ng.ttf"},"Outfit":{"100":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4TC0C4G-EiAou6Y.ttf","200":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4bC1C4G-EiAou6Y.ttf","300":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4W61C4G-EiAou6Y.ttf","500":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4QK1C4G-EiAou6Y.ttf","600":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4e6yC4G-EiAou6Y.ttf","700":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4deyC4G-EiAou6Y.ttf","800":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4bCyC4G-EiAou6Y.ttf","900":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4ZmyC4G-EiAou6Y.ttf","regular":"http://fonts.gstatic.com/s/outfit/v2/QGYyz_MVcBeNP4NjuGObqx1XmO1I4TC1C4G-EiAou6Y.ttf"},"Carrois Gothic":{"regular":"http://fonts.gstatic.com/s/carroisgothic/v11/Z9XPDmFATg-N1PLtLOOxvIHl9ZmD3i7ajcJ-.ttf"},"BioRhyme":{"200":"http://fonts.gstatic.com/s/biorhyme/v5/1cX3aULHBpDMsHYW_ESOjnGAq8Sk1PoH.ttf","300":"http://fonts.gstatic.com/s/biorhyme/v5/1cX3aULHBpDMsHYW_ETqjXGAq8Sk1PoH.ttf","700":"http://fonts.gstatic.com/s/biorhyme/v5/1cX3aULHBpDMsHYW_ET6inGAq8Sk1PoH.ttf","800":"http://fonts.gstatic.com/s/biorhyme/v5/1cX3aULHBpDMsHYW_ETmiXGAq8Sk1PoH.ttf","regular":"http://fonts.gstatic.com/s/biorhyme/v5/1cXwaULHBpDMsHYW_HxGpVWIgNit.ttf"},"Maitree":{"200":"http://fonts.gstatic.com/s/maitree/v5/MjQDmil5tffhpBrklhGNWJGovLdh6OE.ttf","300":"http://fonts.gstatic.com/s/maitree/v5/MjQDmil5tffhpBrklnWOWJGovLdh6OE.ttf","500":"http://fonts.gstatic.com/s/maitree/v5/MjQDmil5tffhpBrkli2PWJGovLdh6OE.ttf","600":"http://fonts.gstatic.com/s/maitree/v5/MjQDmil5tffhpBrklgGIWJGovLdh6OE.ttf","700":"http://fonts.gstatic.com/s/maitree/v5/MjQDmil5tffhpBrklmWJWJGovLdh6OE.ttf","regular":"http://fonts.gstatic.com/s/maitree/v5/MjQGmil5tffhpBrkrtmmfJmDoL4.ttf"},"Cormorant Infant":{"300":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyIU44g9vKiM1sORYSiWeAsLN9951w3_DMrQqcdJrk.ttf","500":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyIU44g9vKiM1sORYSiWeAsLN995wQ2_DMrQqcdJrk.ttf","600":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyIU44g9vKiM1sORYSiWeAsLN995ygx_DMrQqcdJrk.ttf","700":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyIU44g9vKiM1sORYSiWeAsLN9950ww_DMrQqcdJrk.ttf","300italic":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyKU44g9vKiM1sORYSiWeAsLN997_ItcDEhRoUYNrn_Ig.ttf","regular":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyPU44g9vKiM1sORYSiWeAsLN993_Af2DsAXq4.ttf","italic":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyJU44g9vKiM1sORYSiWeAsLN997_IV3BkFTq4EPw.ttf","500italic":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyKU44g9vKiM1sORYSiWeAsLN997_ItKDAhRoUYNrn_Ig.ttf","600italic":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyKU44g9vKiM1sORYSiWeAsLN997_ItBDchRoUYNrn_Ig.ttf","700italic":"http://fonts.gstatic.com/s/cormorantinfant/v11/HhyKU44g9vKiM1sORYSiWeAsLN997_ItYDYhRoUYNrn_Ig.ttf"},"Georama":{"100":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5GvktmQsL5_tgbg.ttf","200":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5mvgtmQsL5_tgbg.ttf","300":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5RPgtmQsL5_tgbg.ttf","500":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5KPgtmQsL5_tgbg.ttf","600":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5xP8tmQsL5_tgbg.ttf","700":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5_f8tmQsL5_tgbg.ttf","800":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5mv8tmQsL5_tgbg.ttf","900":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5s_8tmQsL5_tgbg.ttf","regular":"http://fonts.gstatic.com/s/georama/v4/MCo5zAn438bIEyxFf6swMnNpvPcUwW4u4yRcDh-ZjxApn9K5GvgtmQsL5_tgbg.ttf","100italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rvF2wEPxf5wbh3T.ttf","200italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rtF2gEPxf5wbh3T.ttf","300italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rub2gEPxf5wbh3T.ttf","italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rvF2gEPxf5wbh3T.ttf","500italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rv32gEPxf5wbh3T.ttf","600italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rsb3QEPxf5wbh3T.ttf","700italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rsi3QEPxf5wbh3T.ttf","800italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rtF3QEPxf5wbh3T.ttf","900italic":"http://fonts.gstatic.com/s/georama/v4/MCo_zAn438bIEyxFVaIC0ZMQ72G6xnvmodYVPOBB5nuzMdWs0rts3QEPxf5wbh3T.ttf"},"Kumbh Sans":{"100":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNorqSyNIXIwSP0XD.ttf","200":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNopqSiNIXIwSP0XD.ttf","300":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNoq0SiNIXIwSP0XD.ttf","500":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNorYSiNIXIwSP0XD.ttf","600":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNoo0TSNIXIwSP0XD.ttf","700":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNooNTSNIXIwSP0XD.ttf","800":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNopqTSNIXIwSP0XD.ttf","900":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNopDTSNIXIwSP0XD.ttf","regular":"http://fonts.gstatic.com/s/kumbhsans/v6/c4mw1n92AsfhuCq6tVsaoIx1CHIi4kToNorqSiNIXIwSP0XD.ttf"},"Calligraffitti":{"regular":"http://fonts.gstatic.com/s/calligraffitti/v12/46k2lbT3XjDVqJw3DCmCFjE0vnFZM5ZBpYN-.ttf"},"Ovo":{"regular":"http://fonts.gstatic.com/s/ovo/v12/yYLl0h7Wyfzjy4Q5_3WVxA.ttf"},"Hanuman":{"100":"http://fonts.gstatic.com/s/hanuman/v20/VuJzdNvD15HhpJJBQMLdPKNiaRpFvg.ttf","300":"http://fonts.gstatic.com/s/hanuman/v20/VuJ0dNvD15HhpJJBQAr_HIlMZRNcp0o.ttf","700":"http://fonts.gstatic.com/s/hanuman/v20/VuJ0dNvD15HhpJJBQBr4HIlMZRNcp0o.ttf","900":"http://fonts.gstatic.com/s/hanuman/v20/VuJ0dNvD15HhpJJBQCL6HIlMZRNcp0o.ttf","regular":"http://fonts.gstatic.com/s/hanuman/v20/VuJxdNvD15HhpJJBeKbXOIFneRo.ttf"},"Mountains of Christmas":{"700":"http://fonts.gstatic.com/s/mountainsofchristmas/v13/3y9z6a4zcCnn5X0FDyrKi2ZRUBIy8uxoUo7eBGqJFPtCOp6IaEA.ttf","regular":"http://fonts.gstatic.com/s/mountainsofchristmas/v13/3y9w6a4zcCnn5X0FDyrKi2ZRUBIy8uxoUo7ePNamMPNpJpc.ttf"},"Libre Barcode 39":{"regular":"http://fonts.gstatic.com/s/librebarcode39/v14/-nFnOHM08vwC6h8Li1eQnP_AHzI2K_d709jy92k.ttf"},"Wallpoet":{"regular":"http://fonts.gstatic.com/s/wallpoet/v12/f0X10em2_8RnXVVdUNbu7cXP8L8G.ttf"},"Merienda One":{"regular":"http://fonts.gstatic.com/s/meriendaone/v11/H4cgBXaMndbflEq6kyZ1ht6YgoyyYzFzFw.ttf"},"Mr De Haviland":{"regular":"http://fonts.gstatic.com/s/mrdehaviland/v9/OpNVnooIhJj96FdB73296ksbOj3C4ULVNTlB.ttf"},"Sofia":{"regular":"http://fonts.gstatic.com/s/sofia/v9/8QIHdirahM3j_vu-sowsrqjk.ttf"},"La Belle Aurore":{"regular":"http://fonts.gstatic.com/s/labelleaurore/v11/RrQIbot8-mNYKnGNDkWlocovHeIIG-eFNVmULg.ttf"},"Antonio":{"100":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVxx8BtIY2DwSXlM.ttf","200":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVzx8RtIY2DwSXlM.ttf","300":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVwv8RtIY2DwSXlM.ttf","500":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVxD8RtIY2DwSXlM.ttf","600":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVyv9htIY2DwSXlM.ttf","700":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVyW9htIY2DwSXlM.ttf","regular":"http://fonts.gstatic.com/s/antonio/v1/gNMbW3NwSYq_9WD34ngK5F8vR8T0PVxx8RtIY2DwSXlM.ttf"},"Marmelad":{"regular":"http://fonts.gstatic.com/s/marmelad/v10/Qw3eZQdSHj_jK2e-8tFLG-YMC0R8.ttf"},"Molengo":{"regular":"http://fonts.gstatic.com/s/molengo/v11/I_uuMpWeuBzZNBtQbbRQkiCvs5Y.ttf"},"Stardos Stencil":{"700":"http://fonts.gstatic.com/s/stardosstencil/v11/X7n44bcuGPC8hrvEOHXOgaKCc2TpU3tTvg-t29HSHw.ttf","regular":"http://fonts.gstatic.com/s/stardosstencil/v11/X7n94bcuGPC8hrvEOHXOgaKCc2TR71R3tiSx0g.ttf"},"Encode Sans Semi Condensed":{"100":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT6oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1T19MFtQ9jpVUA.ttf","200":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1RZ1eFHbdTgTFmr.ttf","300":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Q91uFHbdTgTFmr.ttf","500":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Rl1-FHbdTgTFmr.ttf","600":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1RJ0OFHbdTgTFmr.ttf","700":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Qt0eFHbdTgTFmr.ttf","800":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Qx0uFHbdTgTFmr.ttf","900":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1QV0-FHbdTgTFmr.ttf","regular":"http://fonts.gstatic.com/s/encodesanssemicondensed/v5/3qT4oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG2yR_sVPRsjp.ttf"},"Slabo 13px":{"regular":"http://fonts.gstatic.com/s/slabo13px/v8/11hEGp_azEvXZUdSBzzRcKer2wkYnvI.ttf"},"Spectral SC":{"200":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs1qwkTXPYeVXJZB.ttf","300":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs0OwUTXPYeVXJZB.ttf","500":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs1WwETXPYeVXJZB.ttf","600":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs16x0TXPYeVXJZB.ttf","700":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs0exkTXPYeVXJZB.ttf","800":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk0ALCRZonmalTgyPmRfs0CxUTXPYeVXJZB.ttf","200italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg26zWN4O3WYZB_sU.ttf","300italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg28jVN4O3WYZB_sU.ttf","regular":"http://fonts.gstatic.com/s/spectralsc/v6/KtkpALCRZonmalTgyPmRfvWi6WDfFpuc.ttf","italic":"http://fonts.gstatic.com/s/spectralsc/v6/KtkrALCRZonmalTgyPmRfsWg42T9E4ucRY8.ttf","500italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg25DUN4O3WYZB_sU.ttf","600italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg27zTN4O3WYZB_sU.ttf","700italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg29jSN4O3WYZB_sU.ttf","800italic":"http://fonts.gstatic.com/s/spectralsc/v6/Ktk2ALCRZonmalTgyPmRfsWg28TRN4O3WYZB_sU.ttf"},"Rosario":{"300":"http://fonts.gstatic.com/s/rosario/v22/xfuu0WDhWW_fOEoY8l_VPNZfB7jPM69GCWczd-YnOzUD.ttf","500":"http://fonts.gstatic.com/s/rosario/v22/xfuu0WDhWW_fOEoY8l_VPNZfB7jPM68qCWczd-YnOzUD.ttf","600":"http://fonts.gstatic.com/s/rosario/v22/xfuu0WDhWW_fOEoY8l_VPNZfB7jPM6_GDmczd-YnOzUD.ttf","700":"http://fonts.gstatic.com/s/rosario/v22/xfuu0WDhWW_fOEoY8l_VPNZfB7jPM6__Dmczd-YnOzUD.ttf","regular":"http://fonts.gstatic.com/s/rosario/v22/xfuu0WDhWW_fOEoY8l_VPNZfB7jPM68YCWczd-YnOzUD.ttf","300italic":"http://fonts.gstatic.com/s/rosario/v22/xfug0WDhWW_fOEoY2Fbnww42bCJhNLrQStFwfeIFPiUDn08.ttf","italic":"http://fonts.gstatic.com/s/rosario/v22/xfug0WDhWW_fOEoY2Fbnww42bCJhNLrQSo9wfeIFPiUDn08.ttf","500italic":"http://fonts.gstatic.com/s/rosario/v22/xfug0WDhWW_fOEoY2Fbnww42bCJhNLrQSr1wfeIFPiUDn08.ttf","600italic":"http://fonts.gstatic.com/s/rosario/v22/xfug0WDhWW_fOEoY2Fbnww42bCJhNLrQSlF3feIFPiUDn08.ttf","700italic":"http://fonts.gstatic.com/s/rosario/v22/xfug0WDhWW_fOEoY2Fbnww42bCJhNLrQSmh3feIFPiUDn08.ttf"},"Jockey One":{"regular":"http://fonts.gstatic.com/s/jockeyone/v10/HTxpL2g2KjCFj4x8WI6ArIb7HYOk4xc.ttf"},"Cutive Mono":{"regular":"http://fonts.gstatic.com/s/cutivemono/v9/m8JWjfRfY7WVjVi2E-K9H5RFRG-K3Mud.ttf"},"Qwigley":{"regular":"http://fonts.gstatic.com/s/qwigley/v11/1cXzaU3UGJb5tGoCuVxsi1mBmcE.ttf"},"Rammetto One":{"regular":"http://fonts.gstatic.com/s/rammettoone/v9/LhWiMV3HOfMbMetJG3lQDpp9Mvuciu-_SQ.ttf"},"STIX Two Text":{"500":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Gr02F12Xkf5whdwKf11l0jbKkeidMTtZ5YihS2SOYWxFMN1WD.ttf","600":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Gr02F12Xkf5whdwKf11l0jbKkeidMTtZ5Yii-3iOYWxFMN1WD.ttf","700":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Gr02F12Xkf5whdwKf11l0jbKkeidMTtZ5YiiH3iOYWxFMN1WD.ttf","regular":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Gr02F12Xkf5whdwKf11l0jbKkeidMTtZ5Yihg2SOYWxFMN1WD.ttf","italic":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Er02F12Xkf5whdwKf11l0p7uWhf8lJUzXZT2omsvbURVuMkWDmSo.ttf","500italic":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Er02F12Xkf5whdwKf11l0p7uWhf8lJUzXZT2omvnbURVuMkWDmSo.ttf","600italic":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Er02F12Xkf5whdwKf11l0p7uWhf8lJUzXZT2omhXcURVuMkWDmSo.ttf","700italic":"http://fonts.gstatic.com/s/stixtwotext/v4/YA9Er02F12Xkf5whdwKf11l0p7uWhf8lJUzXZT2omizcURVuMkWDmSo.ttf"},"Metrophobic":{"regular":"http://fonts.gstatic.com/s/metrophobic/v14/sJoA3LZUhMSAPV_u0qwiAT-J737FPEEL.ttf"},"Mansalva":{"regular":"http://fonts.gstatic.com/s/mansalva/v4/aWB4m0aacbtDfvq5NJllI47vdyBg.ttf"},"Grandstander":{"100":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD1-_D3jWttFGmQk.ttf","200":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD9--D3jWttFGmQk.ttf","300":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQDwG-D3jWttFGmQk.ttf","500":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD22-D3jWttFGmQk.ttf","600":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD4G5D3jWttFGmQk.ttf","700":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD7i5D3jWttFGmQk.ttf","800":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD9-5D3jWttFGmQk.ttf","900":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD_a5D3jWttFGmQk.ttf","regular":"http://fonts.gstatic.com/s/grandstander/v4/ga6fawtA-GpSsTWrnNHPCSIMZhhKpFjyNZIQD1--D3jWttFGmQk.ttf","100italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf95zrcsvNDiQlBYQ.ttf","200italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9ZzvcsvNDiQlBYQ.ttf","300italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9uTvcsvNDiQlBYQ.ttf","italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf95zvcsvNDiQlBYQ.ttf","500italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf91TvcsvNDiQlBYQ.ttf","600italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9OTzcsvNDiQlBYQ.ttf","700italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9ADzcsvNDiQlBYQ.ttf","800italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9ZzzcsvNDiQlBYQ.ttf","900italic":"http://fonts.gstatic.com/s/grandstander/v4/ga6ZawtA-GpSsTWrnNHPCSImbyq1fDGZrzwXGpf9TjzcsvNDiQlBYQ.ttf"},"Hi Melody":{"regular":"http://fonts.gstatic.com/s/himelody/v8/46ktlbP8Vnz0pJcqCTbEf29E31BBGA.ttf"},"Oxygen Mono":{"regular":"http://fonts.gstatic.com/s/oxygenmono/v8/h0GsssGg9FxgDgCjLeAd7ijfze-PPlUu.ttf"},"Schoolbell":{"regular":"http://fonts.gstatic.com/s/schoolbell/v11/92zQtBZWOrcgoe-fgnJIVxIQ6mRqfiQ.ttf"},"Monsieur La Doulaise":{"regular":"http://fonts.gstatic.com/s/monsieurladoulaise/v9/_Xmz-GY4rjmCbQfc-aPRaa4pqV340p7EZl5ewkEU4HTy.ttf"},"Kosugi":{"regular":"http://fonts.gstatic.com/s/kosugi/v11/pxiFyp4_v8FCjlI4NLr6f1pdEQ.ttf"},"Raleway Dots":{"regular":"http://fonts.gstatic.com/s/ralewaydots/v9/6NUR8FifJg6AfQvzpshgwJ8kyf9Fdty2ew.ttf"},"Radley":{"regular":"http://fonts.gstatic.com/s/radley/v15/LYjDdGzinEIjCN19oAlEpVs3VQ.ttf","italic":"http://fonts.gstatic.com/s/radley/v15/LYjBdGzinEIjCN1NogNAh14nVcfe.ttf"},"David Libre":{"500":"http://fonts.gstatic.com/s/davidlibre/v6/snfzs0W_99N64iuYSvp4W8GIw7qbSjORSo9W.ttf","700":"http://fonts.gstatic.com/s/davidlibre/v6/snfzs0W_99N64iuYSvp4W8HAxbqbSjORSo9W.ttf","regular":"http://fonts.gstatic.com/s/davidlibre/v6/snfus0W_99N64iuYSvp4W_l86p6TYS-Y.ttf"},"Bellefair":{"regular":"http://fonts.gstatic.com/s/bellefair/v6/kJExBuYY6AAuhiXUxG19__A2pOdvDA.ttf"},"Oxanium":{"200":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G83JfniMBXQ7d67x.ttf","300":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G80XfniMBXQ7d67x.ttf","500":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G817fniMBXQ7d67x.ttf","600":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G82XeXiMBXQ7d67x.ttf","700":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G82ueXiMBXQ7d67x.ttf","800":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G83JeXiMBXQ7d67x.ttf","regular":"http://fonts.gstatic.com/s/oxanium/v6/RrQPboN_4yJ0JmiMUW7sIGjd1IA9G81JfniMBXQ7d67x.ttf"},"Esteban":{"regular":"http://fonts.gstatic.com/s/esteban/v9/r05bGLZE-bdGdN-GdOuD5jokU8E.ttf"},"Short Stack":{"regular":"http://fonts.gstatic.com/s/shortstack/v10/bMrzmS2X6p0jZC6EcmPFX-SScX8D0nq6.ttf"},"Duru Sans":{"regular":"http://fonts.gstatic.com/s/durusans/v14/xn7iYH8xwmSyTvEV_HOxT_fYdN-WZw.ttf"},"Dela Gothic One":{"regular":"http://fonts.gstatic.com/s/delagothicone/v8/~ChEKD0RlbGEgR290aGljIE9uZSAAKgQIARgB.ttf"},"Manjari":{"100":"http://fonts.gstatic.com/s/manjari/v4/k3kSo8UPMOBO2w1UdbroK2vFIaOV8A.ttf","700":"http://fonts.gstatic.com/s/manjari/v4/k3kVo8UPMOBO2w1UdWLNC0HrLaqM6Q4.ttf","regular":"http://fonts.gstatic.com/s/manjari/v4/k3kQo8UPMOBO2w1UTd7iL0nAMaM.ttf"},"Thasadith":{"700":"http://fonts.gstatic.com/s/thasadith/v4/mtG94_1TIqPYrd_f5R1gDGYw2A6yHk9d8w.ttf","regular":"http://fonts.gstatic.com/s/thasadith/v4/mtG44_1TIqPYrd_f5R1YsEkU0CWuFw.ttf","italic":"http://fonts.gstatic.com/s/thasadith/v4/mtG-4_1TIqPYrd_f5R1oskMQ8iC-F1ZE.ttf","700italic":"http://fonts.gstatic.com/s/thasadith/v4/mtGj4_1TIqPYrd_f5R1osnus3QS2PEpN8zxA.ttf"},"Averia Libre":{"300":"http://fonts.gstatic.com/s/averialibre/v9/2V0FKIcMGZEnV6xygz7eNjEarovtb07t-pQgTw.ttf","700":"http://fonts.gstatic.com/s/averialibre/v9/2V0FKIcMGZEnV6xygz7eNjEavoztb07t-pQgTw.ttf","300italic":"http://fonts.gstatic.com/s/averialibre/v9/2V0HKIcMGZEnV6xygz7eNjESAJFhbUTp2JEwT4Sk.ttf","regular":"http://fonts.gstatic.com/s/averialibre/v9/2V0aKIcMGZEnV6xygz7eNjEiAqPJZ2Xx8w.ttf","italic":"http://fonts.gstatic.com/s/averialibre/v9/2V0EKIcMGZEnV6xygz7eNjESAKnNRWDh8405.ttf","700italic":"http://fonts.gstatic.com/s/averialibre/v9/2V0HKIcMGZEnV6xygz7eNjESAJFxakTp2JEwT4Sk.ttf"},"Kelly Slab":{"regular":"http://fonts.gstatic.com/s/kellyslab/v11/-W_7XJX0Rz3cxUnJC5t6TkMBf50kbiM.ttf"},"Marvel":{"700":"http://fonts.gstatic.com/s/marvel/v10/nwpWtKeoNgBV0qawLXHgB1WmxwkiYQ.ttf","regular":"http://fonts.gstatic.com/s/marvel/v10/nwpVtKeoNgBV0qaIkV7ED366zg.ttf","italic":"http://fonts.gstatic.com/s/marvel/v10/nwpXtKeoNgBV0qa4k1TALXuqzhA7.ttf","700italic":"http://fonts.gstatic.com/s/marvel/v10/nwpQtKeoNgBV0qa4k2x8Al-i5QwyYdrc.ttf"},"Cambay":{"700":"http://fonts.gstatic.com/s/cambay/v7/SLXKc1rY6H0_ZDs-0pusx_lwYX99kA.ttf","regular":"http://fonts.gstatic.com/s/cambay/v7/SLXJc1rY6H0_ZDsGbrSIz9JsaA.ttf","italic":"http://fonts.gstatic.com/s/cambay/v7/SLXLc1rY6H0_ZDs2bL6M7dd8aGZk.ttf","700italic":"http://fonts.gstatic.com/s/cambay/v7/SLXMc1rY6H0_ZDs2bIYwwvN0Q3ptkDMN.ttf"},"Baloo Da 2":{"500":"http://fonts.gstatic.com/s/balooda2/v9/2-c39J9j0IaUMQZwAJyJaOX1UUnf3GLnYjA5sTNe55aRa7UE.ttf","600":"http://fonts.gstatic.com/s/balooda2/v9/2-c39J9j0IaUMQZwAJyJaOX1UUnf3GLnYjDVtjNe55aRa7UE.ttf","700":"http://fonts.gstatic.com/s/balooda2/v9/2-c39J9j0IaUMQZwAJyJaOX1UUnf3GLnYjDstjNe55aRa7UE.ttf","800":"http://fonts.gstatic.com/s/balooda2/v9/2-c39J9j0IaUMQZwAJyJaOX1UUnf3GLnYjCLtjNe55aRa7UE.ttf","regular":"http://fonts.gstatic.com/s/balooda2/v9/2-c39J9j0IaUMQZwAJyJaOX1UUnf3GLnYjALsTNe55aRa7UE.ttf"},"Chonburi":{"regular":"http://fonts.gstatic.com/s/chonburi/v5/8AtqGs-wOpGRTBq66IWaFr3biAfZ.ttf"},"Sniglet":{"800":"http://fonts.gstatic.com/s/sniglet/v12/cIf4MaFLtkE3UjaJ_ImHRGEsnIJkWL4.ttf","regular":"http://fonts.gstatic.com/s/sniglet/v12/cIf9MaFLtkE3UjaJxCmrYGkHgIs.ttf"},"IM Fell DW Pica":{"regular":"http://fonts.gstatic.com/s/imfelldwpica/v12/2sDGZGRQotv9nbn2qSl0TxXVYNw9ZAPUvi88MQ.ttf","italic":"http://fonts.gstatic.com/s/imfelldwpica/v12/2sDEZGRQotv9nbn2qSl0TxXVYNwNZgnQnCosMXm0.ttf"},"Poly":{"regular":"http://fonts.gstatic.com/s/poly/v11/MQpb-W6wKNitRLCAq2Lpris.ttf","italic":"http://fonts.gstatic.com/s/poly/v11/MQpV-W6wKNitdLKKr0DsviuGWA.ttf"},"Mallanna":{"regular":"http://fonts.gstatic.com/s/mallanna/v8/hv-Vlzx-KEQb84YaDGwzEzRwVvJ-.ttf"},"Calistoga":{"regular":"http://fonts.gstatic.com/s/calistoga/v5/6NUU8F2OJg6MeR7l4e0vtMYAwdRZfw.ttf"},"Cambo":{"regular":"http://fonts.gstatic.com/s/cambo/v9/IFSqHeNEk8FJk416ok7xkPm8.ttf"},"B612 Mono":{"700":"http://fonts.gstatic.com/s/b612mono/v5/kmK6Zq85QVWbN1eW6lJdayv4os9Pv7JGSg.ttf","regular":"http://fonts.gstatic.com/s/b612mono/v5/kmK_Zq85QVWbN1eW6lJl1wTcquRTtg.ttf","italic":"http://fonts.gstatic.com/s/b612mono/v5/kmK5Zq85QVWbN1eW6lJV1Q7YiOFDtqtf.ttf","700italic":"http://fonts.gstatic.com/s/b612mono/v5/kmKkZq85QVWbN1eW6lJV1TZkp8VLnbdWSg4x.ttf"},"Farro":{"300":"http://fonts.gstatic.com/s/farro/v4/i7dJIFl3byGNHa3hNJ6-WkJUQUq7.ttf","500":"http://fonts.gstatic.com/s/farro/v4/i7dJIFl3byGNHa25NZ6-WkJUQUq7.ttf","700":"http://fonts.gstatic.com/s/farro/v4/i7dJIFl3byGNHa3xM56-WkJUQUq7.ttf","regular":"http://fonts.gstatic.com/s/farro/v4/i7dEIFl3byGNHZVNHLq2cV5d.ttf"},"Bentham":{"regular":"http://fonts.gstatic.com/s/bentham/v11/VdGeAZQPEpYfmHglKWw7CJaK_y4.ttf"},"Kurale":{"regular":"http://fonts.gstatic.com/s/kurale/v6/4iCs6KV9e9dXjho6eAT3v02QFg.ttf"},"Atkinson Hyperlegible":{"700":"http://fonts.gstatic.com/s/atkinsonhyperlegible/v7/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8WbcNcy-OZFy-FA.ttf","regular":"http://fonts.gstatic.com/s/atkinsonhyperlegible/v7/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45GE5ZgpewSSbQ.ttf","italic":"http://fonts.gstatic.com/s/atkinsonhyperlegible/v7/9Bt43C1KxNDXMspQ1lPyU89-1h6ONRlW45G055ItWQGCbUWn.ttf","700italic":"http://fonts.gstatic.com/s/atkinsonhyperlegible/v7/9Bt93C1KxNDXMspQ1lPyU89-1h6ONRlW45G056qRdiWKRlmuFH24.ttf"},"Hepta Slab":{"100":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvkV5jfbY5B0NBkz.ttf","200":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvmV5zfbY5B0NBkz.ttf","300":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvlL5zfbY5B0NBkz.ttf","500":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5Hvkn5zfbY5B0NBkz.ttf","600":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvnL4DfbY5B0NBkz.ttf","700":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5Hvny4DfbY5B0NBkz.ttf","800":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvmV4DfbY5B0NBkz.ttf","900":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5Hvm84DfbY5B0NBkz.ttf","regular":"http://fonts.gstatic.com/s/heptaslab/v12/ea8JadoyU_jkHdalebHvyWVNdYoIsHe5HvkV5zfbY5B0NBkz.ttf"},"Proza Libre":{"500":"http://fonts.gstatic.com/s/prozalibre/v5/LYjbdGHgj0k1DIQRyUEyyELbV__fcpC69i6N.ttf","600":"http://fonts.gstatic.com/s/prozalibre/v5/LYjbdGHgj0k1DIQRyUEyyEL3UP_fcpC69i6N.ttf","700":"http://fonts.gstatic.com/s/prozalibre/v5/LYjbdGHgj0k1DIQRyUEyyEKTUf_fcpC69i6N.ttf","800":"http://fonts.gstatic.com/s/prozalibre/v5/LYjbdGHgj0k1DIQRyUEyyEKPUv_fcpC69i6N.ttf","regular":"http://fonts.gstatic.com/s/prozalibre/v5/LYjGdGHgj0k1DIQRyUEyyHovftvXWYyz.ttf","italic":"http://fonts.gstatic.com/s/prozalibre/v5/LYjEdGHgj0k1DIQRyUEyyEotdN_1XJyz7zc.ttf","500italic":"http://fonts.gstatic.com/s/prozalibre/v5/LYjZdGHgj0k1DIQRyUEyyEotTCvceJSY8z6Np1k.ttf","600italic":"http://fonts.gstatic.com/s/prozalibre/v5/LYjZdGHgj0k1DIQRyUEyyEotTAfbeJSY8z6Np1k.ttf","700italic":"http://fonts.gstatic.com/s/prozalibre/v5/LYjZdGHgj0k1DIQRyUEyyEotTGPaeJSY8z6Np1k.ttf","800italic":"http://fonts.gstatic.com/s/prozalibre/v5/LYjZdGHgj0k1DIQRyUEyyEotTH_ZeJSY8z6Np1k.ttf"},"Shippori Mincho":{"500":"http://fonts.gstatic.com/s/shipporimincho/v11/VdGDAZweH5EbgHY6YExcZfDoj0B4L9am5JEO5--2zg.ttf","600":"http://fonts.gstatic.com/s/shipporimincho/v11/VdGDAZweH5EbgHY6YExcZfDoj0B4A9Gm5JEO5--2zg.ttf","700":"http://fonts.gstatic.com/s/shipporimincho/v11/VdGDAZweH5EbgHY6YExcZfDoj0B4Z9Cm5JEO5--2zg.ttf","800":"http://fonts.gstatic.com/s/shipporimincho/v11/VdGDAZweH5EbgHY6YExcZfDoj0B4e9Om5JEO5--2zg.ttf","regular":"http://fonts.gstatic.com/s/shipporimincho/v11/VdGGAZweH5EbgHY6YExcZfDoj0BA2_-C7LoS7g.ttf"},"Lemon":{"regular":"http://fonts.gstatic.com/s/lemon/v9/HI_EiYEVKqRMq0jBSZXAQ4-d.ttf"},"Dawning of a New Day":{"regular":"http://fonts.gstatic.com/s/dawningofanewday/v11/t5t_IQMbOp2SEwuncwLRjMfIg1yYit_nAz8bhWJGNoBE.ttf"},"Gabriela":{"regular":"http://fonts.gstatic.com/s/gabriela/v9/qkBWXvsO6sreR8E-b_m-zrpHmRzC.ttf"},"Poller One":{"regular":"http://fonts.gstatic.com/s/pollerone/v12/ahccv82n0TN3gia5E4Bud-lbgUS5u0s.ttf"},"IM Fell English":{"regular":"http://fonts.gstatic.com/s/imfellenglish/v10/Ktk1ALSLW8zDe0rthJysWrnLsAz3F6mZVY9Y5w.ttf","italic":"http://fonts.gstatic.com/s/imfellenglish/v10/Ktk3ALSLW8zDe0rthJysWrnLsAzHFaOdd4pI59zg.ttf"},"Noto Serif Display":{"100":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVpd49gKaDU9hvzC.ttf","200":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVrd4tgKaDU9hvzC.ttf","300":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVoD4tgKaDU9hvzC.ttf","500":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVpv4tgKaDU9hvzC.ttf","600":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVqD5dgKaDU9hvzC.ttf","700":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVq65dgKaDU9hvzC.ttf","800":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVrd5dgKaDU9hvzC.ttf","900":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVr05dgKaDU9hvzC.ttf","regular":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buERppa9f8_vkXaZLAgP0G5Wi6QmA1QaeYah2sovLCDq_ZgLyt3idQfktOG-PVpd4tgKaDU9hvzC.ttf","100italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoTBIYjEfg-zCmf4.ttf","200italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VobBJYjEfg-zCmf4.ttf","300italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoW5JYjEfg-zCmf4.ttf","italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoTBJYjEfg-zCmf4.ttf","500italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoQJJYjEfg-zCmf4.ttf","600italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-Voe5OYjEfg-zCmf4.ttf","700italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoddOYjEfg-zCmf4.ttf","800italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VobBOYjEfg-zCmf4.ttf","900italic":"http://fonts.gstatic.com/s/notoserifdisplay/v12/buEPppa9f8_vkXaZLAgP0G5Wi6QmA1QwcLRCOrN8uo7t6FBJOJTQit-N33sQOk-VoZlOYjEfg-zCmf4.ttf"},"Andika":{"regular":"http://fonts.gstatic.com/s/andika/v12/mem_Ya6iyW-LwqgAbbwRWrwGVA.ttf"},"Chelsea Market":{"regular":"http://fonts.gstatic.com/s/chelseamarket/v8/BCawqZsHqfr89WNP_IApC8tzKBhlLA4uKkWk.ttf"},"UnifrakturMaguntia":{"regular":"http://fonts.gstatic.com/s/unifrakturmaguntia/v11/WWXPlieVYwiGNomYU-ciRLRvEmK7oaVun2xNNgNa1A.ttf"},"Oregano":{"regular":"http://fonts.gstatic.com/s/oregano/v8/If2IXTPxciS3H4S2kZffPznO3yM.ttf","italic":"http://fonts.gstatic.com/s/oregano/v8/If2KXTPxciS3H4S2oZXVOxvLzyP_qw.ttf"},"Expletus Sans":{"500":"http://fonts.gstatic.com/s/expletussans/v19/RLpqK5v5_bqufTYdnhFzDj2dX_IwS3my73zcDaSq2s1oFQTcXfMm.ttf","600":"http://fonts.gstatic.com/s/expletussans/v19/RLpqK5v5_bqufTYdnhFzDj2dX_IwS3my73zcDaRG3c1oFQTcXfMm.ttf","700":"http://fonts.gstatic.com/s/expletussans/v19/RLpqK5v5_bqufTYdnhFzDj2dX_IwS3my73zcDaR_3c1oFQTcXfMm.ttf","regular":"http://fonts.gstatic.com/s/expletussans/v19/RLpqK5v5_bqufTYdnhFzDj2dX_IwS3my73zcDaSY2s1oFQTcXfMm.ttf","italic":"http://fonts.gstatic.com/s/expletussans/v19/RLpoK5v5_bqufTYdnhFzDj2ddfsCtKHbhOZyCrFQmSUrHwD-WOMmKKY.ttf","500italic":"http://fonts.gstatic.com/s/expletussans/v19/RLpoK5v5_bqufTYdnhFzDj2ddfsCtKHbhOZyCrFQmRcrHwD-WOMmKKY.ttf","600italic":"http://fonts.gstatic.com/s/expletussans/v19/RLpoK5v5_bqufTYdnhFzDj2ddfsCtKHbhOZyCrFQmfssHwD-WOMmKKY.ttf","700italic":"http://fonts.gstatic.com/s/expletussans/v19/RLpoK5v5_bqufTYdnhFzDj2ddfsCtKHbhOZyCrFQmcIsHwD-WOMmKKY.ttf"},"Zeyada":{"regular":"http://fonts.gstatic.com/s/zeyada/v10/11hAGpPTxVPUbgZDNGatWKaZ3g.ttf"},"Coda Caption":{"800":"http://fonts.gstatic.com/s/codacaption/v14/ieVm2YRII2GMY7SyXSoDRiQGqcx6x_-fACIgaw.ttf"},"Goudy Bookletter 1911":{"regular":"http://fonts.gstatic.com/s/goudybookletter1911/v10/sykt-z54laciWfKv-kX8krex0jDiD2HbY6I5tRbXZ4IXAA.ttf"},"ZCOOL QingKe HuangYou":{"regular":"http://fonts.gstatic.com/s/zcoolqingkehuangyou/v5/2Eb5L_R5IXJEWhD3AOhSvFC554MOOahI4mRIi_28c8bHWA.ttf"},"Mirza":{"500":"http://fonts.gstatic.com/s/mirza/v10/co3FmWlikiN5EtIpAeO4mafBomDi.ttf","600":"http://fonts.gstatic.com/s/mirza/v10/co3FmWlikiN5EtIFBuO4mafBomDi.ttf","700":"http://fonts.gstatic.com/s/mirza/v10/co3FmWlikiN5EtJhB-O4mafBomDi.ttf","regular":"http://fonts.gstatic.com/s/mirza/v10/co3ImWlikiN5EurdKMewsrvI.ttf"},"Bungee Shade":{"regular":"http://fonts.gstatic.com/s/bungeeshade/v6/DtVkJxarWL0t2KdzK3oI_jks7iLSrwFUlw.ttf"},"Cutive":{"regular":"http://fonts.gstatic.com/s/cutive/v12/NaPZcZ_fHOhV3Ip7T_hDoyqlZQ.ttf"},"Fanwood Text":{"regular":"http://fonts.gstatic.com/s/fanwoodtext/v10/3XFtErwl05Ad_vSCF6Fq7xXGRdbY1P1Sbg.ttf","italic":"http://fonts.gstatic.com/s/fanwoodtext/v10/3XFzErwl05Ad_vSCF6Fq7xX2R9zc9vhCblye.ttf"},"Noto Sans Malayalam":{"100":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuH9BFzEr6HxEA.ttf","200":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_xuD9BFzEr6HxEA.ttf","300":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_GOD9BFzEr6HxEA.ttf","500":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_dOD9BFzEr6HxEA.ttf","600":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_mOf9BFzEr6HxEA.ttf","700":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_oef9BFzEr6HxEA.ttf","800":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_xuf9BFzEr6HxEA.ttf","900":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_7-f9BFzEr6HxEA.ttf","regular":"http://fonts.gstatic.com/s/notosansmalayalam/v13/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf"},"Montez":{"regular":"http://fonts.gstatic.com/s/montez/v11/845ZNMk5GoGIX8lm1LDeSd-R_g.ttf"},"Noto Sans Mandaic":{"regular":"http://fonts.gstatic.com/s/notosansmandaic/v13/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf"},"Limelight":{"regular":"http://fonts.gstatic.com/s/limelight/v11/XLYkIZL7aopJVbZJHDuYPeNGrnY2TA.ttf"},"Emilys Candy":{"regular":"http://fonts.gstatic.com/s/emilyscandy/v8/2EbgL-1mD1Rnb0OGKudbk0y5r9xrX84JjA.ttf"},"Cormorant SC":{"300":"http://fonts.gstatic.com/s/cormorantsc/v11/0ybmGD4kxqXBmOVLG30OGwsmABIU_R3y8DOWGA.ttf","500":"http://fonts.gstatic.com/s/cormorantsc/v11/0ybmGD4kxqXBmOVLG30OGwsmWBMU_R3y8DOWGA.ttf","600":"http://fonts.gstatic.com/s/cormorantsc/v11/0ybmGD4kxqXBmOVLG30OGwsmdBQU_R3y8DOWGA.ttf","700":"http://fonts.gstatic.com/s/cormorantsc/v11/0ybmGD4kxqXBmOVLG30OGwsmEBUU_R3y8DOWGA.ttf","regular":"http://fonts.gstatic.com/s/cormorantsc/v11/0yb5GD4kxqXBmOVLG30OGwserDow9Tbu-Q.ttf"},"Nova Mono":{"regular":"http://fonts.gstatic.com/s/novamono/v13/Cn-0JtiGWQ5Ajb--MRKfYGxYrdM9Sg.ttf"},"Oleo Script Swash Caps":{"700":"http://fonts.gstatic.com/s/oleoscriptswashcaps/v8/Noag6Vb-w5SFbTTAsZP_7JkCS08K-jCzDn_HCcaBbYUsn9T5dt0.ttf","regular":"http://fonts.gstatic.com/s/oleoscriptswashcaps/v8/Noaj6Vb-w5SFbTTAsZP_7JkCS08K-jCzDn_HMXquSY0Hg90.ttf"},"Noto Sans Thai":{"100":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RspzF-QRvzzXg.ttf","200":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdUxRtpzF-QRvzzXg.ttf","300":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU8ptpzF-QRvzzXg.ttf","500":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU6ZtpzF-QRvzzXg.ttf","600":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU0pqpzF-QRvzzXg.ttf","700":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU3NqpzF-QRvzzXg.ttf","800":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdUxRqpzF-QRvzzXg.ttf","900":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdUz1qpzF-QRvzzXg.ttf","regular":"http://fonts.gstatic.com/s/notosansthai/v13/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf"},"Megrim":{"regular":"http://fonts.gstatic.com/s/megrim/v11/46kulbz5WjvLqJZlbWXgd0RY1g.ttf"},"IM Fell Double Pica":{"regular":"http://fonts.gstatic.com/s/imfelldoublepica/v10/3XF2EqMq_94s9PeKF7Fg4gOKINyMtZ8rT0S1UL5Ayp0.ttf","italic":"http://fonts.gstatic.com/s/imfelldoublepica/v10/3XF0EqMq_94s9PeKF7Fg4gOKINyMtZ8rf0a_VJxF2p2G8g.ttf"},"Waiting for the Sunrise":{"regular":"http://fonts.gstatic.com/s/waitingforthesunrise/v11/WBL1rFvOYl9CEv2i1mO6KUW8RKWJ2zoXoz5JsYZQ9h_ZYk5J.ttf"},"Love Ya Like A Sister":{"regular":"http://fonts.gstatic.com/s/loveyalikeasister/v11/R70EjzUBlOqPeouhFDfR80-0FhOqJubN-Be78nZcsGGycA.ttf"},"Quando":{"regular":"http://fonts.gstatic.com/s/quando/v9/xMQVuFNaVa6YuW0pC6WzKX_QmA.ttf"},"Fahkwang":{"200":"http://fonts.gstatic.com/s/fahkwang/v6/Noa26Uj3zpmBOgbNpOJHmZlRFipxkwjx.ttf","300":"http://fonts.gstatic.com/s/fahkwang/v6/Noa26Uj3zpmBOgbNpOIjmplRFipxkwjx.ttf","500":"http://fonts.gstatic.com/s/fahkwang/v6/Noa26Uj3zpmBOgbNpOJ7m5lRFipxkwjx.ttf","600":"http://fonts.gstatic.com/s/fahkwang/v6/Noa26Uj3zpmBOgbNpOJXnJlRFipxkwjx.ttf","700":"http://fonts.gstatic.com/s/fahkwang/v6/Noa26Uj3zpmBOgbNpOIznZlRFipxkwjx.ttf","200italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa06Uj3zpmBOgbNpOqNgHFQHC5Tlhjxdw4.ttf","300italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa06Uj3zpmBOgbNpOqNgBVTHC5Tlhjxdw4.ttf","regular":"http://fonts.gstatic.com/s/fahkwang/v6/Noax6Uj3zpmBOgbNpNqPsr1ZPTZ4.ttf","italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa36Uj3zpmBOgbNpOqNuLl7OCZ4ihE.ttf","500italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa06Uj3zpmBOgbNpOqNgE1SHC5Tlhjxdw4.ttf","600italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa06Uj3zpmBOgbNpOqNgGFVHC5Tlhjxdw4.ttf","700italic":"http://fonts.gstatic.com/s/fahkwang/v6/Noa06Uj3zpmBOgbNpOqNgAVUHC5Tlhjxdw4.ttf"},"Buenard":{"700":"http://fonts.gstatic.com/s/buenard/v12/OD5GuM6Cyma8FnnsB4vSjGCWALepwss.ttf","regular":"http://fonts.gstatic.com/s/buenard/v12/OD5DuM6Cyma8FnnsPzf9qGi9HL4.ttf"},"Tillana":{"500":"http://fonts.gstatic.com/s/tillana/v6/VuJ0dNvf35P4qJ1OQFL-HIlMZRNcp0o.ttf","600":"http://fonts.gstatic.com/s/tillana/v6/VuJ0dNvf35P4qJ1OQH75HIlMZRNcp0o.ttf","700":"http://fonts.gstatic.com/s/tillana/v6/VuJ0dNvf35P4qJ1OQBr4HIlMZRNcp0o.ttf","800":"http://fonts.gstatic.com/s/tillana/v6/VuJ0dNvf35P4qJ1OQAb7HIlMZRNcp0o.ttf","regular":"http://fonts.gstatic.com/s/tillana/v6/VuJxdNvf35P4qJ1OeKbXOIFneRo.ttf"},"Brawler":{"regular":"http://fonts.gstatic.com/s/brawler/v11/xn7gYHE3xXewAscGsgC7S9XdZN8.ttf"},"Rouge Script":{"regular":"http://fonts.gstatic.com/s/rougescript/v9/LYjFdGbiklMoCIQOw1Ep3S4PVPXbUJWq9g.ttf"},"Sue Ellen Francisco":{"regular":"http://fonts.gstatic.com/s/sueellenfrancisco/v11/wXK3E20CsoJ9j1DDkjHcQ5ZL8xRaxru9ropF2lqk9H4.ttf"},"Urbanist":{"100":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDyx8fFpOrS8SlKw.ttf","200":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDSx4fFpOrS8SlKw.ttf","300":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDlR4fFpOrS8SlKw.ttf","500":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqD-R4fFpOrS8SlKw.ttf","600":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDFRkfFpOrS8SlKw.ttf","700":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDLBkfFpOrS8SlKw.ttf","800":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDSxkfFpOrS8SlKw.ttf","900":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDYhkfFpOrS8SlKw.ttf","regular":"http://fonts.gstatic.com/s/urbanist/v5/L0xjDF02iFML4hGCyOCpRdycFsGxSrqDyx4fFpOrS8SlKw.ttf","100italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA133VJmvacG1K4S1.ttf","200italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA113VZmvacG1K4S1.ttf","300italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA12pVZmvacG1K4S1.ttf","italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA133VZmvacG1K4S1.ttf","500italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA13FVZmvacG1K4S1.ttf","600italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA10pUpmvacG1K4S1.ttf","700italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA10QUpmvacG1K4S1.ttf","800italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA113UpmvacG1K4S1.ttf","900italic":"http://fonts.gstatic.com/s/urbanist/v5/L0xtDF02iFML4hGCyMqgdyNEf6or5L2WA11eUpmvacG1K4S1.ttf"},"Grenze Gotisch":{"100":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5Lz5UcICdYPSd_w.ttf","200":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5rz9UcICdYPSd_w.ttf","300":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5cT9UcICdYPSd_w.ttf","500":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5HT9UcICdYPSd_w.ttf","600":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i58ThUcICdYPSd_w.ttf","700":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5yDhUcICdYPSd_w.ttf","800":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5rzhUcICdYPSd_w.ttf","900":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5hjhUcICdYPSd_w.ttf","regular":"http://fonts.gstatic.com/s/grenzegotisch/v6/Fh4hPjjqNDz1osh_jX9YfjudpBJBNV5y5wf_k1i5Lz9UcICdYPSd_w.ttf"},"Katibeh":{"regular":"http://fonts.gstatic.com/s/katibeh/v12/ZGjXol5MQJog4bxDaC1RVDNdGDs.ttf"},"Pompiere":{"regular":"http://fonts.gstatic.com/s/pompiere/v10/VEMyRoxis5Dwuyeov6Wt5jDtreOL.ttf"},"Give You Glory":{"regular":"http://fonts.gstatic.com/s/giveyouglory/v10/8QIQdiHOgt3vv4LR7ahjw9-XYc1zB4ZD6rwa.ttf"},"Happy Monkey":{"regular":"http://fonts.gstatic.com/s/happymonkey/v9/K2F2fZZcl-9SXwl5F_C4R_OABwD2bWqVjw.ttf"},"Finger Paint":{"regular":"http://fonts.gstatic.com/s/fingerpaint/v10/0QInMXVJ-o-oRn_7dron8YWO85bS8ANesw.ttf"},"Gravitas One":{"regular":"http://fonts.gstatic.com/s/gravitasone/v10/5h1diZ4hJ3cblKy3LWakKQmaDWRNr3DzbQ.ttf"},"Irish Grover":{"regular":"http://fonts.gstatic.com/s/irishgrover/v12/buExpoi6YtLz2QW7LA4flVgf-P5Oaiw4cw.ttf"},"Turret Road":{"200":"http://fonts.gstatic.com/s/turretroad/v2/pxidypMgpcBFjE84Zv-fE0ONEdeLYk1Mq3ap.ttf","300":"http://fonts.gstatic.com/s/turretroad/v2/pxidypMgpcBFjE84Zv-fE0PpEteLYk1Mq3ap.ttf","500":"http://fonts.gstatic.com/s/turretroad/v2/pxidypMgpcBFjE84Zv-fE0OxE9eLYk1Mq3ap.ttf","700":"http://fonts.gstatic.com/s/turretroad/v2/pxidypMgpcBFjE84Zv-fE0P5FdeLYk1Mq3ap.ttf","800":"http://fonts.gstatic.com/s/turretroad/v2/pxidypMgpcBFjE84Zv-fE0PlFteLYk1Mq3ap.ttf","regular":"http://fonts.gstatic.com/s/turretroad/v2/pxiAypMgpcBFjE84Zv-fE3tFOvODSVFF.ttf"},"McLaren":{"regular":"http://fonts.gstatic.com/s/mclaren/v8/2EbnL-ZuAXFqZFXISYYf8z2Yt_c.ttf"},"Source Sans 3":{"200":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kw461EN_io6npfB.ttf","300":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kzm61EN_io6npfB.ttf","500":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8KyK61EN_io6npfB.ttf","600":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxm7FEN_io6npfB.ttf","700":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxf7FEN_io6npfB.ttf","800":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kw47FEN_io6npfB.ttf","900":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8KwR7FEN_io6npfB.ttf","regular":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Ky461EN_io6npfB.ttf","200italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqDlO9C4Ym4fB3Ts.ttf","300italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqOdO9C4Ym4fB3Ts.ttf","italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqLlO9C4Ym4fB3Ts.ttf","500italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqItO9C4Ym4fB3Ts.ttf","600italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqGdJ9C4Ym4fB3Ts.ttf","700italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqF5J9C4Ym4fB3Ts.ttf","800italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqDlJ9C4Ym4fB3Ts.ttf","900italic":"http://fonts.gstatic.com/s/sourcesans3/v2/nwpDtKy2OAdR1K-IwhWudF-R3woAa8opPOrG97lwqBBJ9C4Ym4fB3Ts.ttf"},"Kadwa":{"700":"http://fonts.gstatic.com/s/kadwa/v5/rnCr-x5V0g7ipix7auM-mHnOSOuk.ttf","regular":"http://fonts.gstatic.com/s/kadwa/v5/rnCm-x5V0g7iphTHRcc2s2XH.ttf"},"Original Surfer":{"regular":"http://fonts.gstatic.com/s/originalsurfer/v11/RWmQoKGZ9vIirYntXJ3_MbekzNMiDEtvAlaMKw.ttf"},"Azeret Mono":{"100":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfnPRh0raa-5s3AA.ttf","200":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfHPVh0raa-5s3AA.ttf","300":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfwvVh0raa-5s3AA.ttf","500":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfrvVh0raa-5s3AA.ttf","600":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfQvJh0raa-5s3AA.ttf","700":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfe_Jh0raa-5s3AA.ttf","800":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfHPJh0raa-5s3AA.ttf","900":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfNfJh0raa-5s3AA.ttf","regular":"http://fonts.gstatic.com/s/azeretmono/v6/3XF5ErsiyJsY9O_Gepph-FvtTQgMQUdNekSfnPVh0raa-5s3AA.ttf","100italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLaJkLye2Z4nAN7J.ttf","200italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLYJkbye2Z4nAN7J.ttf","300italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLbXkbye2Z4nAN7J.ttf","italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLaJkbye2Z4nAN7J.ttf","500italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLa7kbye2Z4nAN7J.ttf","600italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLZXlrye2Z4nAN7J.ttf","700italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLZulrye2Z4nAN7J.ttf","800italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLYJlrye2Z4nAN7J.ttf","900italic":"http://fonts.gstatic.com/s/azeretmono/v6/3XF_ErsiyJsY9O_Gepph-HHkf_fUKCzX1EOKVLYglrye2Z4nAN7J.ttf"},"Clicker Script":{"regular":"http://fonts.gstatic.com/s/clickerscript/v8/raxkHiKPvt8CMH6ZWP8PdlEq72rY2zqUKafv.ttf"},"ZCOOL XiaoWei":{"regular":"http://fonts.gstatic.com/s/zcoolxiaowei/v5/i7dMIFFrTRywPpUVX9_RJyM1YFKQHwyVd3U.ttf"},"Henny Penny":{"regular":"http://fonts.gstatic.com/s/hennypenny/v10/wXKvE3UZookzsxz_kjGSfMQqt3M7tMDT.ttf"},"Over the Rainbow":{"regular":"http://fonts.gstatic.com/s/overtherainbow/v11/11haGoXG1k_HKhMLUWz7Mc7vvW5upvOm9NA2XG0.ttf"},"Inknut Antiqua":{"300":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU2vwrj5bBoIYJNf.ttf","500":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU33w7j5bBoIYJNf.ttf","600":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU3bxLj5bBoIYJNf.ttf","700":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU2_xbj5bBoIYJNf.ttf","800":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU2jxrj5bBoIYJNf.ttf","900":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GRYax7VC4ot_qNB4nYpBdaKU2Hx7j5bBoIYJNf.ttf","regular":"http://fonts.gstatic.com/s/inknutantiqua/v9/Y4GSYax7VC4ot_qNB4nYpBdaKXUD6pzxRwYB.ttf"},"Euphoria Script":{"regular":"http://fonts.gstatic.com/s/euphoriascript/v11/mFTpWb0X2bLb_cx6To2B8GpKoD5ak_ZT1D8x7Q.ttf"},"Sarpanch":{"500":"http://fonts.gstatic.com/s/sarpanch/v6/hES16Xt4NCpRuk6PziV0ba7f1HEuRHkM.ttf","600":"http://fonts.gstatic.com/s/sarpanch/v6/hES16Xt4NCpRuk6PziVYaq7f1HEuRHkM.ttf","700":"http://fonts.gstatic.com/s/sarpanch/v6/hES16Xt4NCpRuk6PziU8a67f1HEuRHkM.ttf","800":"http://fonts.gstatic.com/s/sarpanch/v6/hES16Xt4NCpRuk6PziUgaK7f1HEuRHkM.ttf","900":"http://fonts.gstatic.com/s/sarpanch/v6/hES16Xt4NCpRuk6PziUEaa7f1HEuRHkM.ttf","regular":"http://fonts.gstatic.com/s/sarpanch/v6/hESy6Xt4NCpRuk6Pzh2ARIrX_20n.ttf"},"Nova Round":{"regular":"http://fonts.gstatic.com/s/novaround/v14/flU9Rqquw5UhEnlwTJYTYYfeeetYEBc.ttf"},"Homenaje":{"regular":"http://fonts.gstatic.com/s/homenaje/v11/FwZY7-Q-xVAi_l-6Ld6A4sijpFu_.ttf"},"Ceviche One":{"regular":"http://fonts.gstatic.com/s/cevicheone/v11/gyB4hws1IcA6JzR-GB_JX6zdZ4vZVbgZ.ttf"},"Piazzolla":{"100":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7LYx3Ly1AHfAAy5.ttf","200":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7JYxnLy1AHfAAy5.ttf","300":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7KGxnLy1AHfAAy5.ttf","500":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7LqxnLy1AHfAAy5.ttf","600":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7IGwXLy1AHfAAy5.ttf","700":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7I_wXLy1AHfAAy5.ttf","800":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7JYwXLy1AHfAAy5.ttf","900":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7JxwXLy1AHfAAy5.ttf","regular":"http://fonts.gstatic.com/s/piazzolla/v16/N0b52SlTPu5rIkWIZjVKKtYtfxYqZ4RJBFzFfYUjkSDdlqZgy7LYxnLy1AHfAAy5.ttf","100italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhZqw3gX9BRy5m5M.ttf","200italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhRqx3gX9BRy5m5M.ttf","300italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhcSx3gX9BRy5m5M.ttf","italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhZqx3gX9BRy5m5M.ttf","500italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhaix3gX9BRy5m5M.ttf","600italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhUS23gX9BRy5m5M.ttf","700italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhX223gX9BRy5m5M.ttf","800italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhRq23gX9BRy5m5M.ttf","900italic":"http://fonts.gstatic.com/s/piazzolla/v16/N0b72SlTPu5rIkWIZjVgI-TckS03oGpPETyEJ88Rbvi0_TzOzKcQhTO23gX9BRy5m5M.ttf"},"Inder":{"regular":"http://fonts.gstatic.com/s/inder/v9/w8gUH2YoQe8_4vq6pw-P3U4O.ttf"},"Ranchers":{"regular":"http://fonts.gstatic.com/s/ranchers/v8/zrfm0H3Lx-P2Xvs2AoDYDC79XTHv.ttf"},"Della Respira":{"regular":"http://fonts.gstatic.com/s/dellarespira/v10/RLp5K5v44KaueWI6iEJQBiGPRfkSu6EuTHo.ttf"},"Dokdo":{"regular":"http://fonts.gstatic.com/s/dokdo/v10/esDf315XNuCBLxLo4NaMlKcH.ttf"},"Gurajada":{"regular":"http://fonts.gstatic.com/s/gurajada/v10/FwZY7-Qx308m-l-0Kd6A4sijpFu_.ttf"},"Galada":{"regular":"http://fonts.gstatic.com/s/galada/v9/H4cmBXyGmcjXlUX-8iw-4Lqggw.ttf"},"Noto Sans Hebrew":{"100":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4utoiJltutR2g.ttf","200":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiX94qtoiJltutR2g.ttf","300":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXKYqtoiJltutR2g.ttf","500":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXRYqtoiJltutR2g.ttf","600":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXqY2toiJltutR2g.ttf","700":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXkI2toiJltutR2g.ttf","800":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiX942toiJltutR2g.ttf","900":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiX3o2toiJltutR2g.ttf","regular":"http://fonts.gstatic.com/s/notosanshebrew/v30/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf"},"Timmana":{"regular":"http://fonts.gstatic.com/s/timmana/v7/6xKvdShfL9yK-rvpCmvbKHwJUOM.ttf"},"Sedgwick Ave":{"regular":"http://fonts.gstatic.com/s/sedgwickave/v7/uK_04rKEYuguzAcSYRdWTJq8Xmg1Vcf5JA.ttf"},"Freckle Face":{"regular":"http://fonts.gstatic.com/s/freckleface/v9/AMOWz4SXrmKHCvXTohxY-YI0U1K2w9lb4g.ttf"},"Patrick Hand SC":{"regular":"http://fonts.gstatic.com/s/patrickhandsc/v8/0nkwC9f7MfsBiWcLtY65AWDK873ViSi6JQc7Vg.ttf"},"Praise":{"regular":"http://fonts.gstatic.com/s/praise/v3/qkBUXvUZ-cnFXcFyDvO67L9XmQ.ttf"},"Atma":{"300":"http://fonts.gstatic.com/s/atma/v8/uK_z4rqWc-Eoo8JzKjc9PvedRkM.ttf","500":"http://fonts.gstatic.com/s/atma/v8/uK_z4rqWc-Eoo5pyKjc9PvedRkM.ttf","600":"http://fonts.gstatic.com/s/atma/v8/uK_z4rqWc-Eoo7Z1Kjc9PvedRkM.ttf","700":"http://fonts.gstatic.com/s/atma/v8/uK_z4rqWc-Eoo9J0Kjc9PvedRkM.ttf","regular":"http://fonts.gstatic.com/s/atma/v8/uK_84rqWc-Eom25bDj8WIv4.ttf"},"Major Mono Display":{"regular":"http://fonts.gstatic.com/s/majormonodisplay/v7/RWmVoLyb5fEqtsfBX9PDZIGr2tFubRhLCn2QIndPww.ttf"},"Trykker":{"regular":"http://fonts.gstatic.com/s/trykker/v11/KtktALyWZJXudUPzhNnoOd2j22U.ttf"},"Vast Shadow":{"regular":"http://fonts.gstatic.com/s/vastshadow/v10/pe0qMImKOZ1V62ZwbVY9dfe6Kdpickwp.ttf"},"Livvic":{"100":"http://fonts.gstatic.com/s/livvic/v8/rnCr-x1S2hzjrlffC-M-mHnOSOuk.ttf","200":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlffp8IeslfCQfK9WQ.ttf","300":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlffw8EeslfCQfK9WQ.ttf","500":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlffm8AeslfCQfK9WQ.ttf","600":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlfft8ceslfCQfK9WQ.ttf","700":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlff08YeslfCQfK9WQ.ttf","900":"http://fonts.gstatic.com/s/livvic/v8/rnCq-x1S2hzjrlff68QeslfCQfK9WQ.ttf","100italic":"http://fonts.gstatic.com/s/livvic/v8/rnCt-x1S2hzjrlfXbdtakn3sTfukQHs.ttf","200italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbdv2s13GY_etWWIJ.ttf","300italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbduSsF3GY_etWWIJ.ttf","regular":"http://fonts.gstatic.com/s/livvic/v8/rnCp-x1S2hzjrlfnb-k6unzeSA.ttf","italic":"http://fonts.gstatic.com/s/livvic/v8/rnCr-x1S2hzjrlfXbeM-mHnOSOuk.ttf","500italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbdvKsV3GY_etWWIJ.ttf","600italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbdvmtl3GY_etWWIJ.ttf","700italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbduCt13GY_etWWIJ.ttf","900italic":"http://fonts.gstatic.com/s/livvic/v8/rnCs-x1S2hzjrlfXbdu6tV3GY_etWWIJ.ttf"},"Mochiy Pop One":{"regular":"http://fonts.gstatic.com/s/mochiypopone/v5/QdVPSTA9Jh-gg-5XZP2UmU4O9kwwD3s6ZKAi.ttf"},"Aguafina Script":{"regular":"http://fonts.gstatic.com/s/aguafinascript/v9/If2QXTv_ZzSxGIO30LemWEOmt1bHqs4pgicOrg.ttf"},"Vollkorn SC":{"600":"http://fonts.gstatic.com/s/vollkornsc/v6/j8_y6-zQ3rXpceZj9cqnVimhGluqYbPN5Yjn.ttf","700":"http://fonts.gstatic.com/s/vollkornsc/v6/j8_y6-zQ3rXpceZj9cqnVinFG1uqYbPN5Yjn.ttf","900":"http://fonts.gstatic.com/s/vollkornsc/v6/j8_y6-zQ3rXpceZj9cqnVin9GVuqYbPN5Yjn.ttf","regular":"http://fonts.gstatic.com/s/vollkornsc/v6/j8_v6-zQ3rXpceZj9cqnVhF5NH-iSq_E.ttf"},"Big Shoulders Text":{"100":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Y-r3TIPNl6P2pc.ttf","200":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Q-q3TIPNl6P2pc.ttf","300":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3dGq3TIPNl6P2pc.ttf","500":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3b2q3TIPNl6P2pc.ttf","600":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3VGt3TIPNl6P2pc.ttf","700":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Wit3TIPNl6P2pc.ttf","800":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Q-t3TIPNl6P2pc.ttf","900":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Sat3TIPNl6P2pc.ttf","regular":"http://fonts.gstatic.com/s/bigshoulderstext/v8/55xEezRtP9G3CGPIf49hxc8P0eytUxB2l66LmF6xc3kA3Y-q3TIPNl6P2pc.ttf"},"Mukta Mahee":{"200":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9MFcBoHJndqZCsW.ttf","300":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9NhcxoHJndqZCsW.ttf","500":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9M5choHJndqZCsW.ttf","600":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9MVdRoHJndqZCsW.ttf","700":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9NxdBoHJndqZCsW.ttf","800":"http://fonts.gstatic.com/s/muktamahee/v10/XRXN3IOIi0hcP8iVU67hA9NtdxoHJndqZCsW.ttf","regular":"http://fonts.gstatic.com/s/muktamahee/v10/XRXQ3IOIi0hcP8iVU67hA-vNWz4PDWtj.ttf"},"DM Mono":{"300":"http://fonts.gstatic.com/s/dmmono/v5/aFTR7PB1QTsUX8KYvrGyIYSnbKX9Rlk.ttf","500":"http://fonts.gstatic.com/s/dmmono/v5/aFTR7PB1QTsUX8KYvumzIYSnbKX9Rlk.ttf","300italic":"http://fonts.gstatic.com/s/dmmono/v5/aFTT7PB1QTsUX8KYth-orYataIf4VllXuA.ttf","regular":"http://fonts.gstatic.com/s/dmmono/v5/aFTU7PB1QTsUX8KYhh2aBYyMcKw.ttf","italic":"http://fonts.gstatic.com/s/dmmono/v5/aFTW7PB1QTsUX8KYth-QAa6JYKzkXw.ttf","500italic":"http://fonts.gstatic.com/s/dmmono/v5/aFTT7PB1QTsUX8KYth-o9YetaIf4VllXuA.ttf"},"Rakkas":{"regular":"http://fonts.gstatic.com/s/rakkas/v12/Qw3cZQlNHiblL3j_lttPOeMcCw.ttf"},"Fondamento":{"regular":"http://fonts.gstatic.com/s/fondamento/v11/4UaHrEJGsxNmFTPDnkaJx63j5pN1MwI.ttf","italic":"http://fonts.gstatic.com/s/fondamento/v11/4UaFrEJGsxNmFTPDnkaJ96_p4rFwIwJePw.ttf"},"Noto Sans Kannada":{"100":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvMzSIMLsPKrkY.ttf","200":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrLvNzSIMLsPKrkY.ttf","300":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrGXNzSIMLsPKrkY.ttf","500":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrAnNzSIMLsPKrkY.ttf","600":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrOXKzSIMLsPKrkY.ttf","700":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrNzKzSIMLsPKrkY.ttf","800":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrLvKzSIMLsPKrkY.ttf","900":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrJLKzSIMLsPKrkY.ttf","regular":"http://fonts.gstatic.com/s/notosanskannada/v12/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf"},"Antic Didone":{"regular":"http://fonts.gstatic.com/s/anticdidone/v9/RWmPoKKX6u8sp8fIWdnDKqDiqYsGBGBzCw.ttf"},"Cormorant Upright":{"300":"http://fonts.gstatic.com/s/cormorantupright/v11/VuJudM3I2Y35poFONtLdafkUCHw1y1N5phDsU9X6RPzQ.ttf","500":"http://fonts.gstatic.com/s/cormorantupright/v11/VuJudM3I2Y35poFONtLdafkUCHw1y1MhpxDsU9X6RPzQ.ttf","600":"http://fonts.gstatic.com/s/cormorantupright/v11/VuJudM3I2Y35poFONtLdafkUCHw1y1MNoBDsU9X6RPzQ.ttf","700":"http://fonts.gstatic.com/s/cormorantupright/v11/VuJudM3I2Y35poFONtLdafkUCHw1y1NpoRDsU9X6RPzQ.ttf","regular":"http://fonts.gstatic.com/s/cormorantupright/v11/VuJrdM3I2Y35poFONtLdafkUCHw1y2vVjjTkeMnz.ttf"},"Noto Sans Bengali":{"100":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolKudCk8izI0lc.ttf","200":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsglLudCk8izI0lc.ttf","300":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmstdLudCk8izI0lc.ttf","500":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsrtLudCk8izI0lc.ttf","600":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsldMudCk8izI0lc.ttf","700":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6Kmsm5MudCk8izI0lc.ttf","800":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsglMudCk8izI0lc.ttf","900":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsiBMudCk8izI0lc.ttf","regular":"http://fonts.gstatic.com/s/notosansbengali/v13/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf"},"Tenali Ramakrishna":{"regular":"http://fonts.gstatic.com/s/tenaliramakrishna/v7/raxgHj6Yt9gAN3LLKs0BZVMo8jmwn1-8KJXqUFFvtA.ttf"},"Share Tech":{"regular":"http://fonts.gstatic.com/s/sharetech/v12/7cHtv4Uyi5K0OeZ7bohUwHoDmTcibrA.ttf"},"Baloo Thambi 2":{"500":"http://fonts.gstatic.com/s/baloothambi2/v9/cY9RfjeOW0NHpmOQXranrbDyu5JMJmNp-aDvUBbK_8IzaQRG_n4osQ.ttf","600":"http://fonts.gstatic.com/s/baloothambi2/v9/cY9RfjeOW0NHpmOQXranrbDyu5JMJmNp-aDvUBbKE8UzaQRG_n4osQ.ttf","700":"http://fonts.gstatic.com/s/baloothambi2/v9/cY9RfjeOW0NHpmOQXranrbDyu5JMJmNp-aDvUBbKKsUzaQRG_n4osQ.ttf","800":"http://fonts.gstatic.com/s/baloothambi2/v9/cY9RfjeOW0NHpmOQXranrbDyu5JMJmNp-aDvUBbKTcUzaQRG_n4osQ.ttf","regular":"http://fonts.gstatic.com/s/baloothambi2/v9/cY9RfjeOW0NHpmOQXranrbDyu5JMJmNp-aDvUBbKzcIzaQRG_n4osQ.ttf"},"Anaheim":{"regular":"http://fonts.gstatic.com/s/anaheim/v8/8vII7w042Wp87g4G0UTUEE5eK_w.ttf"},"Battambang":{"100":"http://fonts.gstatic.com/s/battambang/v22/uk-kEGe7raEw-HjkzZabNhGp5w50_o9T7Q.ttf","300":"http://fonts.gstatic.com/s/battambang/v22/uk-lEGe7raEw-HjkzZabNtmLxyRa8oZK9I0.ttf","700":"http://fonts.gstatic.com/s/battambang/v22/uk-lEGe7raEw-HjkzZabNsmMxyRa8oZK9I0.ttf","900":"http://fonts.gstatic.com/s/battambang/v22/uk-lEGe7raEw-HjkzZabNvGOxyRa8oZK9I0.ttf","regular":"http://fonts.gstatic.com/s/battambang/v22/uk-mEGe7raEw-HjkzZabDnWj4yxx7o8.ttf"},"Doppio One":{"regular":"http://fonts.gstatic.com/s/doppioone/v8/Gg8wN5gSaBfyBw2MqCh-lgshKGpe5Fg.ttf"},"Vesper Libre":{"500":"http://fonts.gstatic.com/s/vesperlibre/v14/bx6dNxyWnf-uxPdXDHUD_RdA-2ap0okKXKvPlw.ttf","700":"http://fonts.gstatic.com/s/vesperlibre/v14/bx6dNxyWnf-uxPdXDHUD_RdAs2Cp0okKXKvPlw.ttf","900":"http://fonts.gstatic.com/s/vesperlibre/v14/bx6dNxyWnf-uxPdXDHUD_RdAi2Kp0okKXKvPlw.ttf","regular":"http://fonts.gstatic.com/s/vesperlibre/v14/bx6CNxyWnf-uxPdXDHUD_Rd4D0-N2qIWVQ.ttf"},"Meddon":{"regular":"http://fonts.gstatic.com/s/meddon/v15/kmK8ZqA2EgDNeHTZhBdB3y_Aow.ttf"},"Noto Sans Telugu":{"100":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezfqQUbf-3v37w.ttf","200":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEnt-zbqQUbf-3v37w.ttf","300":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntJTbqQUbf-3v37w.ttf","500":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntSTbqQUbf-3v37w.ttf","600":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntpTHqQUbf-3v37w.ttf","700":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntnDHqQUbf-3v37w.ttf","800":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEnt-zHqQUbf-3v37w.ttf","900":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEnt0jHqQUbf-3v37w.ttf","regular":"http://fonts.gstatic.com/s/notosanstelugu/v12/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf"},"Federo":{"regular":"http://fonts.gstatic.com/s/federo/v14/iJWFBX-cbD_ETsbmjVOe2WTG7Q.ttf"},"Tienne":{"700":"http://fonts.gstatic.com/s/tienne/v15/AYCJpX7pe9YCRP0zLGzjQHhuzvef5Q.ttf","900":"http://fonts.gstatic.com/s/tienne/v15/AYCJpX7pe9YCRP0zFG7jQHhuzvef5Q.ttf","regular":"http://fonts.gstatic.com/s/tienne/v15/AYCKpX7pe9YCRP0LkEPHSFNyxw.ttf"},"Baumans":{"regular":"http://fonts.gstatic.com/s/baumans/v10/-W_-XJj9QyTd3QfpR_oyaksqY5Q.ttf"},"Road Rage":{"regular":"http://fonts.gstatic.com/s/roadrage/v3/6NUU8F2fKAOBKjjr4ekvtMYAwdRZfw.ttf"},"Geo":{"regular":"http://fonts.gstatic.com/s/geo/v14/CSRz4zRZlufVL3BmQjlCbQ.ttf","italic":"http://fonts.gstatic.com/s/geo/v14/CSRx4zRZluflLXpiYDxSbf8r.ttf"},"Mouse Memoirs":{"regular":"http://fonts.gstatic.com/s/mousememoirs/v8/t5tmIRoSNJ-PH0WNNgDYxdSb7TnFrpOHYh4.ttf"},"Faster One":{"regular":"http://fonts.gstatic.com/s/fasterone/v12/H4ciBXCHmdfClFb-vWhfyLuShq63czE.ttf"},"Unkempt":{"700":"http://fonts.gstatic.com/s/unkempt/v12/2EbiL-Z2DFZue0DScTow1zWzq_5uT84.ttf","regular":"http://fonts.gstatic.com/s/unkempt/v12/2EbnL-Z2DFZue0DSSYYf8z2Yt_c.ttf"},"Codystar":{"300":"http://fonts.gstatic.com/s/codystar/v10/FwZf7-Q1xVk-40qxOuYsyuyrj0e29bfC.ttf","regular":"http://fonts.gstatic.com/s/codystar/v10/FwZY7-Q1xVk-40qxOt6A4sijpFu_.ttf"},"Chau Philomene One":{"regular":"http://fonts.gstatic.com/s/chauphilomeneone/v10/55xxezRsPtfie1vPY49qzdgSlJiHRQFsnIx7QMISdQ.ttf","italic":"http://fonts.gstatic.com/s/chauphilomeneone/v10/55xzezRsPtfie1vPY49qzdgSlJiHRQFcnoZ_YscCdXQB.ttf"},"Ma Shan Zheng":{"regular":"http://fonts.gstatic.com/s/mashanzheng/v5/NaPecZTRCLxvwo41b4gvzkXaRMTsDIRSfr0.ttf"},"Metamorphous":{"regular":"http://fonts.gstatic.com/s/metamorphous/v13/Wnz8HA03aAXcC39ZEX5y1330PCCthTsmaQ.ttf"},"Sail":{"regular":"http://fonts.gstatic.com/s/sail/v11/DPEjYwiBxwYJFBTDADYAbvw.ttf"},"Averia Sans Libre":{"300":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6SaxZG_G5OvCf_rt7FH3B6BHLMEd3lMKcQJZP1LmD9.ttf","700":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6SaxZG_G5OvCf_rt7FH3B6BHLMEd31N6cQJZP1LmD9.ttf","300italic":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6caxZG_G5OvCf_rt7FH3B6BHLMEdVLKisSL5fXK3D9qtg.ttf","regular":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6XaxZG_G5OvCf_rt7FH3B6BHLMEeVJGIMYDo_8.ttf","italic":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6RaxZG_G5OvCf_rt7FH3B6BHLMEdVLEoc6C5_8N3k.ttf","700italic":"http://fonts.gstatic.com/s/averiasanslibre/v11/ga6caxZG_G5OvCf_rt7FH3B6BHLMEdVLKjsVL5fXK3D9qtg.ttf"},"Kiwi Maru":{"300":"http://fonts.gstatic.com/s/kiwimaru/v7/R70djykGkuuDep-hRg6gNCi0Vxn9R5ShnA.ttf","500":"http://fonts.gstatic.com/s/kiwimaru/v7/R70djykGkuuDep-hRg6gbCm0Vxn9R5ShnA.ttf","regular":"http://fonts.gstatic.com/s/kiwimaru/v7/R70YjykGkuuDep-hRg6YmACQXzLhTg.ttf"},"Peralta":{"regular":"http://fonts.gstatic.com/s/peralta/v10/hYkJPu0-RP_9d3kRGxAhrv956B8.ttf"},"Yatra One":{"regular":"http://fonts.gstatic.com/s/yatraone/v9/C8ch4copsHzj8p7NaF0xw1OBbRDvXw.ttf"},"Bellota Text":{"300":"http://fonts.gstatic.com/s/bellotatext/v4/0FlMVP2VnlWS4f3-UE9hHXM5VfsqfQXwQy6yxg.ttf","700":"http://fonts.gstatic.com/s/bellotatext/v4/0FlMVP2VnlWS4f3-UE9hHXM5RfwqfQXwQy6yxg.ttf","300italic":"http://fonts.gstatic.com/s/bellotatext/v4/0FlOVP2VnlWS4f3-UE9hHXMx--Gmfw_0YSuixmYK.ttf","regular":"http://fonts.gstatic.com/s/bellotatext/v4/0FlTVP2VnlWS4f3-UE9hHXMB-dMOdS7sSg.ttf","italic":"http://fonts.gstatic.com/s/bellotatext/v4/0FlNVP2VnlWS4f3-UE9hHXMx-9kKVyv8Sjer.ttf","700italic":"http://fonts.gstatic.com/s/bellotatext/v4/0FlOVP2VnlWS4f3-UE9hHXMx--G2eA_0YSuixmYK.ttf"},"Reggae One":{"regular":"http://fonts.gstatic.com/s/reggaeone/v9/~CgwKClJlZ2dhZSBPbmUgACoECAEYAQ==.ttf"},"Ledger":{"regular":"http://fonts.gstatic.com/s/ledger/v11/j8_q6-HK1L3if_sxm8DwHTBhHw.ttf"},"B612":{"700":"http://fonts.gstatic.com/s/b612/v5/3Jn9SDDxiSz34oWXPDCLTXUETuE.ttf","regular":"http://fonts.gstatic.com/s/b612/v5/3JnySDDxiSz32jm4GDigUXw.ttf","italic":"http://fonts.gstatic.com/s/b612/v5/3Jn8SDDxiSz36juyHBqlQXwdVw.ttf","700italic":"http://fonts.gstatic.com/s/b612/v5/3Jn_SDDxiSz36juKoDWBSVcBXuFb0Q.ttf"},"Lekton":{"700":"http://fonts.gstatic.com/s/lekton/v12/SZc73FDmLaWmWpBm4zjMlWjX4DJXgQ.ttf","regular":"http://fonts.gstatic.com/s/lekton/v12/SZc43FDmLaWmWpBeXxfonUPL6Q.ttf","italic":"http://fonts.gstatic.com/s/lekton/v12/SZc63FDmLaWmWpBuXR3sv0bb6StO.ttf"},"Walter Turncoat":{"regular":"http://fonts.gstatic.com/s/walterturncoat/v13/snfys0Gs98ln43n0d-14ULoToe67YB2dQ5ZPqQ.ttf"},"Caladea":{"700":"http://fonts.gstatic.com/s/caladea/v2/kJE2BugZ7AAjhybUtaNY39oYqO52FZ0.ttf","regular":"http://fonts.gstatic.com/s/caladea/v2/kJEzBugZ7AAjhybUjR93-9IztOc.ttf","italic":"http://fonts.gstatic.com/s/caladea/v2/kJExBugZ7AAjhybUvR19__A2pOdvDA.ttf","700italic":"http://fonts.gstatic.com/s/caladea/v2/kJE0BugZ7AAjhybUvR1FQ98SrMxzBZ2lDA.ttf"},"Aref Ruqaa":{"700":"http://fonts.gstatic.com/s/arefruqaa/v16/WwkYxPW1E165rajQKDulKDwNcNIS2N_7Bdk.ttf","regular":"http://fonts.gstatic.com/s/arefruqaa/v16/WwkbxPW1E165rajQKDulEIAiVNo5xNY.ttf"},"Goblin One":{"regular":"http://fonts.gstatic.com/s/goblinone/v12/CSR64z1ZnOqZRjRCBVY_TOcATNt_pOU.ttf"},"Frijole":{"regular":"http://fonts.gstatic.com/s/frijole/v9/uU9PCBUR8oakM2BQ7xPb3vyHmlI.ttf"},"Baloo Chettan 2":{"500":"http://fonts.gstatic.com/s/baloochettan2/v9/vm8hdRbmXEva26PK-NtuX4ynWEzF69-L4gqgkIL5CdCTO1oeH9xI2gc.ttf","600":"http://fonts.gstatic.com/s/baloochettan2/v9/vm8hdRbmXEva26PK-NtuX4ynWEzF69-L4gqgkIL5CTyUO1oeH9xI2gc.ttf","700":"http://fonts.gstatic.com/s/baloochettan2/v9/vm8hdRbmXEva26PK-NtuX4ynWEzF69-L4gqgkIL5CQWUO1oeH9xI2gc.ttf","800":"http://fonts.gstatic.com/s/baloochettan2/v9/vm8hdRbmXEva26PK-NtuX4ynWEzF69-L4gqgkIL5CWKUO1oeH9xI2gc.ttf","regular":"http://fonts.gstatic.com/s/baloochettan2/v9/vm8hdRbmXEva26PK-NtuX4ynWEzF69-L4gqgkIL5CeKTO1oeH9xI2gc.ttf"},"Balthazar":{"regular":"http://fonts.gstatic.com/s/balthazar/v10/d6lKkaajS8Gm4CVQjFEvyRTo39l8hw.ttf"},"Noto Sans Oriya":{"100":"http://fonts.gstatic.com/s/notosansoriya/v13/AYCRpXfzfccDCstK_hrjDyADv5efgKfHRKhxIh_G.ttf","700":"http://fonts.gstatic.com/s/notosansoriya/v13/AYCWpXfzfccDCstK_hrjDyADv5efWILnboZ9KwbfIQ.ttf","900":"http://fonts.gstatic.com/s/notosansoriya/v13/AYCWpXfzfccDCstK_hrjDyADv5efYIDnboZ9KwbfIQ.ttf","regular":"http://fonts.gstatic.com/s/notosansoriya/v13/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf"},"Flamenco":{"300":"http://fonts.gstatic.com/s/flamenco/v13/neIPzCehqYguo67ssZ0qNIkyepH9qGsf.ttf","regular":"http://fonts.gstatic.com/s/flamenco/v13/neIIzCehqYguo67ssaWGHK06UY30.ttf"},"Prosto One":{"regular":"http://fonts.gstatic.com/s/prostoone/v12/OpNJno4VhNfK-RgpwWWxpipfWhXD00c.ttf"},"Cherry Cream Soda":{"regular":"http://fonts.gstatic.com/s/cherrycreamsoda/v13/UMBIrOxBrW6w2FFyi9paG0fdVdRciTd6Cd47DJ7G.ttf"},"Notable":{"regular":"http://fonts.gstatic.com/s/notable/v9/gNMEW3N_SIqx-WX9-HMoFIez5MI.ttf"},"Odibee Sans":{"regular":"http://fonts.gstatic.com/s/odibeesans/v4/neIPzCSooYAho6WvjeToRYkyepH9qGsf.ttf"},"Montserrat Subrayada":{"700":"http://fonts.gstatic.com/s/montserratsubrayada/v12/U9MM6c-o9H7PgjlTHThBnNHGVUORwteQQHe3TcMWg3j36Ebz.ttf","regular":"http://fonts.gstatic.com/s/montserratsubrayada/v12/U9MD6c-o9H7PgjlTHThBnNHGVUORwteQQE8LYuceqGT-.ttf"},"Italiana":{"regular":"http://fonts.gstatic.com/s/italiana/v11/QldNNTtLsx4E__B0XTmRY31Wx7Vv.ttf"},"Fraunces":{"100":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIctxqjDvTShUtWNg.ttf","200":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcNxujDvTShUtWNg.ttf","300":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIc6RujDvTShUtWNg.ttf","500":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIchRujDvTShUtWNg.ttf","600":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcaRyjDvTShUtWNg.ttf","700":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcUByjDvTShUtWNg.ttf","800":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcNxyjDvTShUtWNg.ttf","900":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIcHhyjDvTShUtWNg.ttf","regular":"http://fonts.gstatic.com/s/fraunces/v10/6NUh8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7hzFUPJH58nib1603gg7S2nfgRYIctxujDvTShUtWNg.ttf","100italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1hLTP7Wp05GNi3k.ttf","200italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1jLTf7Wp05GNi3k.ttf","300italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1gVTf7Wp05GNi3k.ttf","italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1hLTf7Wp05GNi3k.ttf","500italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1h5Tf7Wp05GNi3k.ttf","600italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1iVSv7Wp05GNi3k.ttf","700italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1isSv7Wp05GNi3k.ttf","800italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1jLSv7Wp05GNi3k.ttf","900italic":"http://fonts.gstatic.com/s/fraunces/v10/6NVf8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9vIVYX9G37lvd9sPEKsxx664UJf1jiSv7Wp05GNi3k.ttf"},"Readex Pro":{"200":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQzfm7w3bk38hTB8.ttf","300":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQwBm7w3bk38hTB8.ttf","500":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQxtm7w3bk38hTB8.ttf","600":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQyBnLw3bk38hTB8.ttf","700":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQy4nLw3bk38hTB8.ttf","regular":"http://fonts.gstatic.com/s/readexpro/v6/SLXYc1bJ7HE5YDoGPuzj_dh8na74KiwZQQxfm7w3bk38hTB8.ttf"},"Headland One":{"regular":"http://fonts.gstatic.com/s/headlandone/v10/yYLu0hHR2vKnp89Tk1TCq3Tx0PlTeZ3mJA.ttf"},"Crafty Girls":{"regular":"http://fonts.gstatic.com/s/craftygirls/v10/va9B4kXI39VaDdlPJo8N_NvuQR37fF3Wlg.ttf"},"Shojumaru":{"regular":"http://fonts.gstatic.com/s/shojumaru/v10/rax_HiWfutkLLnaKCtlMBBJek0vA8A.ttf"},"Arya":{"700":"http://fonts.gstatic.com/s/arya/v9/ga6NawNG-HJdzfra3b-BaFg3dRE.ttf","regular":"http://fonts.gstatic.com/s/arya/v9/ga6CawNG-HJd9Ub1-beqdFE.ttf"},"Bilbo Swash Caps":{"regular":"http://fonts.gstatic.com/s/bilboswashcaps/v15/zrf-0GXbz-H3Wb4XBsGrTgq2PVmdqAPopiRfKp8.ttf"},"Varta":{"300":"http://fonts.gstatic.com/s/varta/v5/Qw3AZQpJHj_6LzHUngWbrFkDH1x96j4EirE-9PGLfQ.ttf","500":"http://fonts.gstatic.com/s/varta/v5/Qw3AZQpJHj_6LzHUngWbrFkDH1x9hj4EirE-9PGLfQ.ttf","600":"http://fonts.gstatic.com/s/varta/v5/Qw3AZQpJHj_6LzHUngWbrFkDH1x9ajkEirE-9PGLfQ.ttf","700":"http://fonts.gstatic.com/s/varta/v5/Qw3AZQpJHj_6LzHUngWbrFkDH1x9UzkEirE-9PGLfQ.ttf","regular":"http://fonts.gstatic.com/s/varta/v5/Qw3AZQpJHj_6LzHUngWbrFkDH1x9tD4EirE-9PGLfQ.ttf"},"Eater":{"regular":"http://fonts.gstatic.com/s/eater/v11/mtG04_FCK7bOvpu2u3FwsXsR.ttf"},"Meera Inimai":{"regular":"http://fonts.gstatic.com/s/meerainimai/v7/845fNMM5EIqOW5MPuvO3ILep_2jDVevnLQ.ttf"},"Numans":{"regular":"http://fonts.gstatic.com/s/numans/v10/SlGRmQmGupYAfH8IYRggiHVqaQ.ttf"},"Coiny":{"regular":"http://fonts.gstatic.com/s/coiny/v8/gyByhwU1K989PXwbElSvO5Tc.ttf"},"Strait":{"regular":"http://fonts.gstatic.com/s/strait/v8/DtViJxy6WaEr1LZzeDhtkl0U7w.ttf"},"Lexend Zetta":{"100":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy9bH0z5jbs8qbts.ttf","200":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy1bG0z5jbs8qbts.ttf","300":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy4jG0z5jbs8qbts.ttf","500":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy-TG0z5jbs8qbts.ttf","600":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCywjB0z5jbs8qbts.ttf","700":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCyzHB0z5jbs8qbts.ttf","800":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy1bB0z5jbs8qbts.ttf","900":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy3_B0z5jbs8qbts.ttf","regular":"http://fonts.gstatic.com/s/lexendzetta/v20/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy9bG0z5jbs8qbts.ttf"},"Orienta":{"regular":"http://fonts.gstatic.com/s/orienta/v8/PlI9FlK4Jrl5Y9zNeyeo9HRFhcU.ttf"},"Cherry Swash":{"700":"http://fonts.gstatic.com/s/cherryswash/v11/i7dSIFByZjaNAMxtZcnfAy5E_FeaGy6QZ3WfYg.ttf","regular":"http://fonts.gstatic.com/s/cherryswash/v11/i7dNIFByZjaNAMxtZcnfAy58QHi-EwWMbg.ttf"},"Wendy One":{"regular":"http://fonts.gstatic.com/s/wendyone/v9/2sDcZGJOipXfgfXV5wgDb2-4C7wFZQ.ttf"},"Elsie":{"900":"http://fonts.gstatic.com/s/elsie/v11/BCaqqZABrez54x6q2-1IU6QeXSBk.ttf","regular":"http://fonts.gstatic.com/s/elsie/v11/BCanqZABrez54yYu9slAeLgX.ttf"},"Noto Sans Gujarati":{"100":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpugx_HC1ti5ViekvcxnhMlCVo3f5pNuJBHVa6nAVMh.ttf","200":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNFLFnf4CrCEo4gg.ttf","300":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNcLJnf4CrCEo4gg.ttf","500":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNKLNnf4CrCEo4gg.ttf","600":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNBLRnf4CrCEo4gg.ttf","700":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNYLVnf4CrCEo4gg.ttf","800":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNfLZnf4CrCEo4gg.ttf","900":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpvgx_HC1ti5ViekvcxnhMlCVo3f5pNWLdnf4CrCEo4gg.ttf","regular":"http://fonts.gstatic.com/s/notosansgujarati/v13/wlpsgx_HC1ti5ViekvcxnhMlCVo3f5p13JpDd6u3AQ.ttf"},"Newsreader":{"200":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438w-I_ADOxEPjCggA.ttf","300":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438wJo_ADOxEPjCggA.ttf","500":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438wSo_ADOxEPjCggA.ttf","600":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438wpojADOxEPjCggA.ttf","700":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438wn4jADOxEPjCggA.ttf","800":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438w-IjADOxEPjCggA.ttf","regular":"http://fonts.gstatic.com/s/newsreader/v7/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438weI_ADOxEPjCggA.ttf","200italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMyoT-ZAHDWwgECi.ttf","300italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMx2T-ZAHDWwgECi.ttf","italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMwoT-ZAHDWwgECi.ttf","500italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMwaT-ZAHDWwgECi.ttf","600italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMz2SOZAHDWwgECi.ttf","700italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMzPSOZAHDWwgECi.ttf","800italic":"http://fonts.gstatic.com/s/newsreader/v7/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMyoSOZAHDWwgECi.ttf"},"Noto Sans Gurmukhi":{"100":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1Oe3bxZ_trdp7h.ttf","200":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG3OenbxZ_trdp7h.ttf","300":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG0QenbxZ_trdp7h.ttf","500":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG18enbxZ_trdp7h.ttf","600":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG2QfXbxZ_trdp7h.ttf","700":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG2pfXbxZ_trdp7h.ttf","800":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG3OfXbxZ_trdp7h.ttf","900":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG3nfXbxZ_trdp7h.ttf","regular":"http://fonts.gstatic.com/s/notosansgurmukhi/v13/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf"},"Loved by the King":{"regular":"http://fonts.gstatic.com/s/lovedbytheking/v12/Gw6gwdP76VDVJNXerebZxUMeRXUF2PiNlXFu2R64.ttf"},"Port Lligat Sans":{"regular":"http://fonts.gstatic.com/s/portlligatsans/v11/kmKmZrYrGBbdN1aV7Vokow6Lw4s4l7N0Tx4xEcQ.ttf"},"Fjord One":{"regular":"http://fonts.gstatic.com/s/fjordone/v11/zOL-4pbEnKBY_9S1jNKr6e5As-FeiQ.ttf"},"Montaga":{"regular":"http://fonts.gstatic.com/s/montaga/v8/H4cnBX2Ml8rCkEO_0gYQ7LO5mqc.ttf"},"Imprima":{"regular":"http://fonts.gstatic.com/s/imprima/v11/VEMxRoN7sY3yuy-7-oWHyDzktPo.ttf"},"Mohave":{"300":"http://fonts.gstatic.com/s/mohave/v4/7cH0v4ksjJunKqMVAOPIMOeSmiojdif_HvCQopLSvBk.ttf","500":"http://fonts.gstatic.com/s/mohave/v4/7cH0v4ksjJunKqMVAOPIMOeSmiojdkv_HvCQopLSvBk.ttf","600":"http://fonts.gstatic.com/s/mohave/v4/7cH0v4ksjJunKqMVAOPIMOeSmiojdqf4HvCQopLSvBk.ttf","700":"http://fonts.gstatic.com/s/mohave/v4/7cH0v4ksjJunKqMVAOPIMOeSmiojdp74HvCQopLSvBk.ttf","regular":"http://fonts.gstatic.com/s/mohave/v4/7cH0v4ksjJunKqMVAOPIMOeSmiojdnn_HvCQopLSvBk.ttf","300italic":"http://fonts.gstatic.com/s/mohave/v4/7cH2v4ksjJunKqM_CdE36I75AIQkY7G8qLOaprDXrBlSVw.ttf","italic":"http://fonts.gstatic.com/s/mohave/v4/7cH2v4ksjJunKqM_CdE36I75AIQkY7G89rOaprDXrBlSVw.ttf","500italic":"http://fonts.gstatic.com/s/mohave/v4/7cH2v4ksjJunKqM_CdE36I75AIQkY7G8xLOaprDXrBlSVw.ttf","600italic":"http://fonts.gstatic.com/s/mohave/v4/7cH2v4ksjJunKqM_CdE36I75AIQkY7G8KLSaprDXrBlSVw.ttf","700italic":"http://fonts.gstatic.com/s/mohave/v4/7cH2v4ksjJunKqM_CdE36I75AIQkY7G8EbSaprDXrBlSVw.ttf"},"Shippori Mincho B1":{"500":"http://fonts.gstatic.com/s/shipporiminchob1/v14/~ChcKElNoaXBwb3JpIE1pbmNobyBCMRj0AyAAKgQIARgB.ttf","600":"http://fonts.gstatic.com/s/shipporiminchob1/v14/~ChcKElNoaXBwb3JpIE1pbmNobyBCMRjYBCAAKgQIARgB.ttf","700":"http://fonts.gstatic.com/s/shipporiminchob1/v14/~ChcKElNoaXBwb3JpIE1pbmNobyBCMRi8BSAAKgQIARgB.ttf","800":"http://fonts.gstatic.com/s/shipporiminchob1/v14/~ChcKElNoaXBwb3JpIE1pbmNobyBCMRigBiAAKgQIARgB.ttf","regular":"http://fonts.gstatic.com/s/shipporiminchob1/v14/~ChQKElNoaXBwb3JpIE1pbmNobyBCMSAAKgQIARgB.ttf"},"Baloo Tammudu 2":{"500":"http://fonts.gstatic.com/s/balootammudu2/v15/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_Jc0e4c6PZSlGmAA.ttf","600":"http://fonts.gstatic.com/s/balootammudu2/v15/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_JSEZ4c6PZSlGmAA.ttf","700":"http://fonts.gstatic.com/s/balootammudu2/v15/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_JRgZ4c6PZSlGmAA.ttf","800":"http://fonts.gstatic.com/s/balootammudu2/v15/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_JX8Z4c6PZSlGmAA.ttf","regular":"http://fonts.gstatic.com/s/balootammudu2/v15/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_Jf8e4c6PZSlGmAA.ttf"},"Port Lligat Slab":{"regular":"http://fonts.gstatic.com/s/portlligatslab/v11/LDIpaoiQNgArA8kR7ulhZ8P_NYOss7ob9yGLmfI.ttf"},"Salsa":{"regular":"http://fonts.gstatic.com/s/salsa/v12/gNMKW3FiRpKj-imY8ncKEZez.ttf"},"RocknRoll One":{"regular":"http://fonts.gstatic.com/s/rocknrollone/v7/kmK7ZqspGAfCeUiW6FFlmEC9guVhs7tfUxc.ttf"},"Amarante":{"regular":"http://fonts.gstatic.com/s/amarante/v10/xMQXuF1KTa6EvGx9bq-3C3rAmD-b.ttf"},"Encode Sans Expanded":{"100":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mx1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpJGKQNicoAbJlw.ttf","200":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpLqCCNIXIwSP0XD.ttf","300":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKOCyNIXIwSP0XD.ttf","500":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpLWCiNIXIwSP0XD.ttf","600":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpL6DSNIXIwSP0XD.ttf","700":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKeDCNIXIwSP0XD.ttf","800":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKCDyNIXIwSP0XD.ttf","900":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKmDiNIXIwSP0XD.ttf","regular":"http://fonts.gstatic.com/s/encodesansexpanded/v5/c4m_1mF4GcnstG_Jh1QH6ac4hNLeNyeYUqoiIwdAd5Ab.ttf"},"Sansita Swashed":{"300":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSW-ppbToVehmEa4Q.ttf","500":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSW4ZpbToVehmEa4Q.ttf","600":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSW2pubToVehmEa4Q.ttf","700":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSW1NubToVehmEa4Q.ttf","800":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSWzRubToVehmEa4Q.ttf","900":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSWx1ubToVehmEa4Q.ttf","regular":"http://fonts.gstatic.com/s/sansitaswashed/v5/BXR8vFfZifTZgFlDDLgNkBydPKTt3pVCeYWqJnZSW7RpbToVehmEa4Q.ttf"},"Shalimar":{"regular":"http://fonts.gstatic.com/s/shalimar/v3/uU9MCBoE6I6iNWFUvTPx8PCOg0uX.ttf"},"MonteCarlo":{"regular":"http://fonts.gstatic.com/s/montecarlo/v5/buEzpo6-f9X01GadLA0G0CoV_NxLeiw.ttf"},"Trade Winds":{"regular":"http://fonts.gstatic.com/s/tradewinds/v12/AYCPpXPpYNIIT7h8-QenM3Jq7PKP5Z_G.ttf"},"Stalemate":{"regular":"http://fonts.gstatic.com/s/stalemate/v10/taiIGmZ_EJq97-UfkZRpuqSs8ZQpaQ.ttf"},"Style Script":{"regular":"http://fonts.gstatic.com/s/stylescript/v5/vm8xdRX3SV7Z0aPa88xzW5npeFT76NZnMw.ttf"},"Iceland":{"regular":"http://fonts.gstatic.com/s/iceland/v11/rax9HiuFsdMNOnWPWKxGADBbg0s.ttf"},"Ranga":{"700":"http://fonts.gstatic.com/s/ranga/v8/C8cg4cYisGb28qY-AxgR6X2NZAn2.ttf","regular":"http://fonts.gstatic.com/s/ranga/v8/C8ct4cYisGb28p6CLDwZwmGE.ttf"},"Baloo Paaji 2":{"500":"http://fonts.gstatic.com/s/baloopaaji2/v15/i7dfIFFzbz-QHZUdV9_UGWZuelmy79QJ1HOSY9Al74fybRUz1r5t.ttf","600":"http://fonts.gstatic.com/s/baloopaaji2/v15/i7dfIFFzbz-QHZUdV9_UGWZuelmy79QJ1HOSY9DJ6IfybRUz1r5t.ttf","700":"http://fonts.gstatic.com/s/baloopaaji2/v15/i7dfIFFzbz-QHZUdV9_UGWZuelmy79QJ1HOSY9Dw6IfybRUz1r5t.ttf","800":"http://fonts.gstatic.com/s/baloopaaji2/v15/i7dfIFFzbz-QHZUdV9_UGWZuelmy79QJ1HOSY9CX6IfybRUz1r5t.ttf","regular":"http://fonts.gstatic.com/s/baloopaaji2/v15/i7dfIFFzbz-QHZUdV9_UGWZuelmy79QJ1HOSY9AX74fybRUz1r5t.ttf"},"Mako":{"regular":"http://fonts.gstatic.com/s/mako/v14/H4coBX6Mmc_Z0ST09g478Lo.ttf"},"Carrois Gothic SC":{"regular":"http://fonts.gstatic.com/s/carroisgothicsc/v10/ZgNJjOVHM6jfUZCmyUqT2A2HVKjc-28nNHabY4dN.ttf"},"Delius Swash Caps":{"regular":"http://fonts.gstatic.com/s/deliusswashcaps/v14/oY1E8fPLr7v4JWCExZpWebxVKORpXXedKmeBvEYs.ttf"},"Spicy Rice":{"regular":"http://fonts.gstatic.com/s/spicyrice/v11/uK_24rSEd-Uqwk4jY1RyGv-2WkowRcc.ttf"},"Shanti":{"regular":"http://fonts.gstatic.com/s/shanti/v14/t5thIREMM4uSDgzgU0ezpKfwzA.ttf"},"Fresca":{"regular":"http://fonts.gstatic.com/s/fresca/v11/6ae94K--SKgCzbM2Gr0W13DKPA.ttf"},"Mina":{"700":"http://fonts.gstatic.com/s/mina/v6/-nF8OGc18vARl4NMyiXZ95OkJwA.ttf","regular":"http://fonts.gstatic.com/s/mina/v6/-nFzOGc18vARrz9j7i3y65o.ttf"},"Artifika":{"regular":"http://fonts.gstatic.com/s/artifika/v13/VEMyRoxzronptCuxu6Wt5jDtreOL.ttf"},"The Girl Next Door":{"regular":"http://fonts.gstatic.com/s/thegirlnextdoor/v13/pe0zMJCIMIsBjFxqYBIcZ6_OI5oFHCYIV7t7w6bE2A.ttf"},"Just Me Again Down Here":{"regular":"http://fonts.gstatic.com/s/justmeagaindownhere/v14/MwQmbgXtz-Wc6RUEGNMc0QpRrfUh2hSdBBMoAuwHvqDwc_fg.ttf"},"Bilbo":{"regular":"http://fonts.gstatic.com/s/bilbo/v13/o-0EIpgpwWwZ210hpIRz4wxE.ttf"},"Pavanam":{"regular":"http://fonts.gstatic.com/s/pavanam/v6/BXRrvF_aiezLh0xPDOtQ9Wf0QcE.ttf"},"Englebert":{"regular":"http://fonts.gstatic.com/s/englebert/v10/xn7iYH8w2XGrC8AR4HSxT_fYdN-WZw.ttf"},"Life Savers":{"700":"http://fonts.gstatic.com/s/lifesavers/v13/ZXu_e1UftKKabUQMgxAal8HXOS5Tk8fIpPRW.ttf","800":"http://fonts.gstatic.com/s/lifesavers/v13/ZXu_e1UftKKabUQMgxAal8HLOi5Tk8fIpPRW.ttf","regular":"http://fonts.gstatic.com/s/lifesavers/v13/ZXuie1UftKKabUQMgxAal_lrFgpbuNvB.ttf"},"Scope One":{"regular":"http://fonts.gstatic.com/s/scopeone/v9/WBLnrEXKYFlGHrOKmGD1W0_MJMGxiQ.ttf"},"Averia Gruesa Libre":{"regular":"http://fonts.gstatic.com/s/averiagruesalibre/v11/NGSov4nEGEktOaDRKsY-1dhh8eEtIx3ZUmmJw0SLRA8.ttf"},"Yusei Magic":{"regular":"http://fonts.gstatic.com/s/yuseimagic/v6/yYLt0hbAyuCmoo5wlhPkpjHR-tdfcIT_.ttf"},"Wire One":{"regular":"http://fonts.gstatic.com/s/wireone/v13/qFdH35Wah5htUhV75WGiWdrCwwcJ.ttf"},"Charmonman":{"700":"http://fonts.gstatic.com/s/charmonman/v8/MjQAmiR3vP_nuxDv47jiYC2HmL9K9OhmGnY.ttf","regular":"http://fonts.gstatic.com/s/charmonman/v8/MjQDmiR3vP_nuxDv47jiWJGovLdh6OE.ttf"},"Gaegu":{"300":"http://fonts.gstatic.com/s/gaegu/v10/TuGSUVB6Up9NU57nifw74sdtBk0x.ttf","700":"http://fonts.gstatic.com/s/gaegu/v10/TuGSUVB6Up9NU573jvw74sdtBk0x.ttf","regular":"http://fonts.gstatic.com/s/gaegu/v10/TuGfUVB6Up9NU6ZLodgzydtk.ttf"},"Bakbak One":{"regular":"http://fonts.gstatic.com/s/bakbakone/v3/zOL54pXAl6RI-p_ardnuycRuv-hHkOs.ttf"},"Lily Script One":{"regular":"http://fonts.gstatic.com/s/lilyscriptone/v10/LhW9MV7ZMfIPdMxeBjBvFN8SXLS4gsSjQNsRMg.ttf"},"Kodchasan":{"200":"http://fonts.gstatic.com/s/kodchasan/v6/1cX0aUPOAJv9sG4I-DJeR1Cggeqo3eMeoA.ttf","300":"http://fonts.gstatic.com/s/kodchasan/v6/1cX0aUPOAJv9sG4I-DJeI1Oggeqo3eMeoA.ttf","500":"http://fonts.gstatic.com/s/kodchasan/v6/1cX0aUPOAJv9sG4I-DJee1Kggeqo3eMeoA.ttf","600":"http://fonts.gstatic.com/s/kodchasan/v6/1cX0aUPOAJv9sG4I-DJeV1Wggeqo3eMeoA.ttf","700":"http://fonts.gstatic.com/s/kodchasan/v6/1cX0aUPOAJv9sG4I-DJeM1Sggeqo3eMeoA.ttf","200italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cXqaUPOAJv9sG4I-DJWjUlIgOCs_-YOoIgN.ttf","300italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cXqaUPOAJv9sG4I-DJWjUksg-Cs_-YOoIgN.ttf","regular":"http://fonts.gstatic.com/s/kodchasan/v6/1cXxaUPOAJv9sG4I-DJmj3uEicG01A.ttf","italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cX3aUPOAJv9sG4I-DJWjXGAq8Sk1PoH.ttf","500italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cXqaUPOAJv9sG4I-DJWjUl0guCs_-YOoIgN.ttf","600italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cXqaUPOAJv9sG4I-DJWjUlYheCs_-YOoIgN.ttf","700italic":"http://fonts.gstatic.com/s/kodchasan/v6/1cXqaUPOAJv9sG4I-DJWjUk8hOCs_-YOoIgN.ttf"},"Asul":{"700":"http://fonts.gstatic.com/s/asul/v12/VuJxdNjKxYr40U8qeKbXOIFneRo.ttf","regular":"http://fonts.gstatic.com/s/asul/v12/VuJ-dNjKxYr46fMFXK78JIg.ttf"},"Baloo Bhai 2":{"500":"http://fonts.gstatic.com/s/baloobhai2/v14/sZlWdRSL-z1VEWZ4YNA7Y5ItevYWUOHDE8FvNhohMXeCo-jsZzo.ttf","600":"http://fonts.gstatic.com/s/baloobhai2/v14/sZlWdRSL-z1VEWZ4YNA7Y5ItevYWUOHDE8FvNvYmMXeCo-jsZzo.ttf","700":"http://fonts.gstatic.com/s/baloobhai2/v14/sZlWdRSL-z1VEWZ4YNA7Y5ItevYWUOHDE8FvNs8mMXeCo-jsZzo.ttf","800":"http://fonts.gstatic.com/s/baloobhai2/v14/sZlWdRSL-z1VEWZ4YNA7Y5ItevYWUOHDE8FvNqgmMXeCo-jsZzo.ttf","regular":"http://fonts.gstatic.com/s/baloobhai2/v14/sZlWdRSL-z1VEWZ4YNA7Y5ItevYWUOHDE8FvNighMXeCo-jsZzo.ttf"},"Nova Square":{"regular":"http://fonts.gstatic.com/s/novasquare/v15/RrQUbo9-9DV7b06QHgSWsZhARYMgGtWA.ttf"},"Libre Barcode 39 Text":{"regular":"http://fonts.gstatic.com/s/librebarcode39text/v16/sJoa3KhViNKANw_E3LwoDXvs5Un0HQ1vT-031RRL-9rYaw.ttf"},"Bubbler One":{"regular":"http://fonts.gstatic.com/s/bubblerone/v11/f0Xy0eqj68ppQV9KBLmAouHH26MPePkt.ttf"},"Gafata":{"regular":"http://fonts.gstatic.com/s/gafata/v11/XRXV3I6Cn0VJKon4MuyAbsrVcA.ttf"},"KoHo":{"200":"http://fonts.gstatic.com/s/koho/v6/K2FxfZ5fmddNPuE1WJ75JoKhHys.ttf","300":"http://fonts.gstatic.com/s/koho/v6/K2FxfZ5fmddNPoU2WJ75JoKhHys.ttf","500":"http://fonts.gstatic.com/s/koho/v6/K2FxfZ5fmddNPt03WJ75JoKhHys.ttf","600":"http://fonts.gstatic.com/s/koho/v6/K2FxfZ5fmddNPvEwWJ75JoKhHys.ttf","700":"http://fonts.gstatic.com/s/koho/v6/K2FxfZ5fmddNPpUxWJ75JoKhHys.ttf","200italic":"http://fonts.gstatic.com/s/koho/v6/K2FzfZ5fmddNNisssJ_zIqCkDyvqZA.ttf","300italic":"http://fonts.gstatic.com/s/koho/v6/K2FzfZ5fmddNNiss1JzzIqCkDyvqZA.ttf","regular":"http://fonts.gstatic.com/s/koho/v6/K2F-fZ5fmddNBikefJbSOos.ttf","italic":"http://fonts.gstatic.com/s/koho/v6/K2FwfZ5fmddNNisUeLTXKou4Bg.ttf","500italic":"http://fonts.gstatic.com/s/koho/v6/K2FzfZ5fmddNNissjJ3zIqCkDyvqZA.ttf","600italic":"http://fonts.gstatic.com/s/koho/v6/K2FzfZ5fmddNNissoJrzIqCkDyvqZA.ttf","700italic":"http://fonts.gstatic.com/s/koho/v6/K2FzfZ5fmddNNissxJvzIqCkDyvqZA.ttf"},"Dynalight":{"regular":"http://fonts.gstatic.com/s/dynalight/v11/1Ptsg8LOU_aOmQvTsF4ISotrDfGGxA.ttf"},"Solway":{"300":"http://fonts.gstatic.com/s/solway/v5/AMOTz46Cs2uTAOCuLlgZms0QW3mqyg.ttf","500":"http://fonts.gstatic.com/s/solway/v5/AMOTz46Cs2uTAOCudlkZms0QW3mqyg.ttf","700":"http://fonts.gstatic.com/s/solway/v5/AMOTz46Cs2uTAOCuPl8Zms0QW3mqyg.ttf","800":"http://fonts.gstatic.com/s/solway/v5/AMOTz46Cs2uTAOCuIlwZms0QW3mqyg.ttf","regular":"http://fonts.gstatic.com/s/solway/v5/AMOQz46Cs2uTAOCWgnA9kuYMUg.ttf"},"Goldman":{"700":"http://fonts.gstatic.com/s/goldman/v5/pe0rMIWbN4JFplR2FI5XIteQB9Zra1U.ttf","regular":"http://fonts.gstatic.com/s/goldman/v5/pe0uMIWbN4JFplR2LDJ4Bt-7G98.ttf"},"Voces":{"regular":"http://fonts.gstatic.com/s/voces/v15/-F6_fjJyLyU8d4PBBG7YpzlJ.ttf"},"Ruslan Display":{"regular":"http://fonts.gstatic.com/s/ruslandisplay/v13/Gw6jwczl81XcIZuckK_e3UpfdzxrldyFvm1n.ttf"},"Delius Unicase":{"700":"http://fonts.gstatic.com/s/deliusunicase/v16/845CNMEwEIOVT8BmgfSzIr_6mlp7WMr_BmmlS5aw.ttf","regular":"http://fonts.gstatic.com/s/deliusunicase/v16/845BNMEwEIOVT8BmgfSzIr_6mmLHd-73LXWs.ttf"},"Big Shoulders Stencil Text":{"100":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGR04XIGS_Py_AWbQ.ttf","200":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGRU4TIGS_Py_AWbQ.ttf","300":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGRjYTIGS_Py_AWbQ.ttf","500":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGR4YTIGS_Py_AWbQ.ttf","600":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGRDYPIGS_Py_AWbQ.ttf","700":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGRNIPIGS_Py_AWbQ.ttf","800":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGRU4PIGS_Py_AWbQ.ttf","900":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGReoPIGS_Py_AWbQ.ttf","regular":"http://fonts.gstatic.com/s/bigshouldersstenciltext/v10/5aUV9-i2oxDMNwY3dHfW7UAt3Q453SM15wNj53bCcab2SJYLLUtk1OGR04TIGS_Py_AWbQ.ttf"},"Cormorant Unicase":{"300":"http://fonts.gstatic.com/s/cormorantunicase/v13/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9N_tucv7Gy0DRzS.ttf","500":"http://fonts.gstatic.com/s/cormorantunicase/v13/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9Mnt-cv7Gy0DRzS.ttf","600":"http://fonts.gstatic.com/s/cormorantunicase/v13/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9MLsOcv7Gy0DRzS.ttf","700":"http://fonts.gstatic.com/s/cormorantunicase/v13/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9Nvsecv7Gy0DRzS.ttf","regular":"http://fonts.gstatic.com/s/cormorantunicase/v13/HI_QiZUaILtOqhqgDeXoF_n1_fTGX-vTnsMnx3C9.ttf"},"Festive":{"regular":"http://fonts.gstatic.com/s/festive/v5/cY9Ffj6KX1xcoDWhFtfgy9HTkak.ttf"},"Corinthia":{"700":"http://fonts.gstatic.com/s/corinthia/v7/wEO6EBrAnchaJyPMHE097d8v1GAbgbLXQA.ttf","regular":"http://fonts.gstatic.com/s/corinthia/v7/wEO_EBrAnchaJyPMHE0FUfAL3EsHiA.ttf"},"Overlock SC":{"regular":"http://fonts.gstatic.com/s/overlocksc/v11/1cX3aUHKGZrstGAY8nwVzHGAq8Sk1PoH.ttf"},"Puritan":{"700":"http://fonts.gstatic.com/s/puritan/v14/845dNMgkAJ2VTtIozCbfYd6j-0rGRes.ttf","regular":"http://fonts.gstatic.com/s/puritan/v14/845YNMgkAJ2VTtIo9JrwRdaI50M.ttf","italic":"http://fonts.gstatic.com/s/puritan/v14/845aNMgkAJ2VTtIoxJj6QfSN90PfXA.ttf","700italic":"http://fonts.gstatic.com/s/puritan/v14/845fNMgkAJ2VTtIoxJjC_dup_2jDVevnLQ.ttf"},"Medula One":{"regular":"http://fonts.gstatic.com/s/medulaone/v12/YA9Wr0qb5kjJM6l2V0yukiEqs7GtlvY.ttf"},"Encode Sans Semi Expanded":{"100":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8xOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM-41KwrlKXeOEA.ttf","200":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM0IUCyDLJX6XCWU.ttf","300":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMyYXCyDLJX6XCWU.ttf","500":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM34WCyDLJX6XCWU.ttf","600":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM1IRCyDLJX6XCWU.ttf","700":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMzYQCyDLJX6XCWU.ttf","800":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMyoTCyDLJX6XCWU.ttf","900":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMw4SCyDLJX6XCWU.ttf","regular":"http://fonts.gstatic.com/s/encodesanssemiexpanded/v8/ke83OhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TC4o_LyjgOXc.ttf"},"Vibur":{"regular":"http://fonts.gstatic.com/s/vibur/v13/DPEiYwmEzw0QRjTpLjoJd-Xa.ttf"},"UnifrakturCook":{"700":"http://fonts.gstatic.com/s/unifrakturcook/v14/IurA6Yli8YOdcoky-0PTTdkm56n05Uw13ILXs-h6.ttf"},"Slackey":{"regular":"http://fonts.gstatic.com/s/slackey/v13/N0bV2SdQO-5yM0-dKlRaJdbWgdY.ttf"},"Noto Sans Sinhala":{"100":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2b5lgLpJwbQRM.ttf","200":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwo2a5lgLpJwbQRM.ttf","300":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwlOa5lgLpJwbQRM.ttf","500":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwj-a5lgLpJwbQRM.ttf","600":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwtOd5lgLpJwbQRM.ttf","700":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwuqd5lgLpJwbQRM.ttf","800":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwo2d5lgLpJwbQRM.ttf","900":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwqSd5lgLpJwbQRM.ttf","regular":"http://fonts.gstatic.com/s/notosanssinhala/v20/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf"},"Cantora One":{"regular":"http://fonts.gstatic.com/s/cantoraone/v12/gyB4hws1JdgnKy56GB_JX6zdZ4vZVbgZ.ttf"},"Tauri":{"regular":"http://fonts.gstatic.com/s/tauri/v11/TwMA-IISS0AM3IpVWHU_TBqO.ttf"},"Engagement":{"regular":"http://fonts.gstatic.com/s/engagement/v12/x3dlckLDZbqa7RUs9MFVXNossybsHQI.ttf"},"League Script":{"regular":"http://fonts.gstatic.com/s/leaguescript/v14/CSR54zpSlumSWj9CGVsoBZdeaNNUuOwkC2s.ttf"},"Baloo Bhaina 2":{"500":"http://fonts.gstatic.com/s/baloobhaina2/v15/qWc-B6yyq4P9Adr3RtoX1q6ySgbwusXwJjkOS-XEgMPvRfRLYWmZSA.ttf","600":"http://fonts.gstatic.com/s/baloobhaina2/v15/qWc-B6yyq4P9Adr3RtoX1q6ySgbwusXwJjkOS-XEbMTvRfRLYWmZSA.ttf","700":"http://fonts.gstatic.com/s/baloobhaina2/v15/qWc-B6yyq4P9Adr3RtoX1q6ySgbwusXwJjkOS-XEVcTvRfRLYWmZSA.ttf","800":"http://fonts.gstatic.com/s/baloobhaina2/v15/qWc-B6yyq4P9Adr3RtoX1q6ySgbwusXwJjkOS-XEMsTvRfRLYWmZSA.ttf","regular":"http://fonts.gstatic.com/s/baloobhaina2/v15/qWc-B6yyq4P9Adr3RtoX1q6ySgbwusXwJjkOS-XEssPvRfRLYWmZSA.ttf"},"Ibarra Real Nova":{"500":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlSdQiA-DBIDCcaWtQzL4BZHoiDundw4ATyjed3EXdS5MDtVT9TWIvS.ttf","600":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlSdQiA-DBIDCcaWtQzL4BZHoiDundw4ATyjed3EXe-48DtVT9TWIvS.ttf","700":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlSdQiA-DBIDCcaWtQzL4BZHoiDundw4ATyjed3EXeH48DtVT9TWIvS.ttf","regular":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlSdQiA-DBIDCcaWtQzL4BZHoiDundw4ATyjed3EXdg5MDtVT9TWIvS.ttf","italic":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlsdQiA-DBIDCcaWtQzL4BZHoiDkH5CH9yb5n3ZFmKopyiuXztxXZvSkTo.ttf","500italic":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlsdQiA-DBIDCcaWtQzL4BZHoiDkH5CH9yb5n3ZFmKopxquXztxXZvSkTo.ttf","600italic":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlsdQiA-DBIDCcaWtQzL4BZHoiDkH5CH9yb5n3ZFmKop_apXztxXZvSkTo.ttf","700italic":"http://fonts.gstatic.com/s/ibarrarealnova/v8/sZlsdQiA-DBIDCcaWtQzL4BZHoiDkH5CH9yb5n3ZFmKop8-pXztxXZvSkTo.ttf"},"MuseoModerno":{"100":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAyEIgACoECAEYAQ==.ttf","200":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAASEMgACoECAEYAQ==.ttf","300":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAlkMgACoECAEYAQ==.ttf","500":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAA-kMgACoECAEYAQ==.ttf","600":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAFkQgACoECAEYAQ==.ttf","700":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAL0QgACoECAEYAQ==.ttf","800":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAASEQgACoECAEYAQ==.ttf","900":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAYUQgACoECAEYAQ==.ttf","regular":"http://fonts.gstatic.com/s/museomoderno/v14/~ChsKDE11c2VvTW9kZXJubzoLCPTQnbsHFQAAyEMgACoECAEYAQ==.ttf"},"Denk One":{"regular":"http://fonts.gstatic.com/s/denkone/v10/dg4m_pzhrqcFb2IzROtHpbglShon.ttf"},"Poor Story":{"regular":"http://fonts.gstatic.com/s/poorstory/v10/jizfREFUsnUct9P6cDfd4OmnLD0Z4zM.ttf"},"Akaya Kanadaka":{"regular":"http://fonts.gstatic.com/s/akayakanadaka/v4/N0bM2S5CPO5oOQqvazoRRb-8-PfRS5VBBSSF.ttf"},"Kite One":{"regular":"http://fonts.gstatic.com/s/kiteone/v10/70lQu7shLnA_E02vyq1b6HnGO4uA.ttf"},"Chango":{"regular":"http://fonts.gstatic.com/s/chango/v11/2V0cKI0OB5U7WaJyz324TFUaAw.ttf"},"Milonga":{"regular":"http://fonts.gstatic.com/s/milonga/v10/SZc53FHnIaK9W5kffz3GkUrS8DI.ttf"},"Manuale":{"300":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeG6e7wD1TB_JHHY.ttf","500":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeHWe7wD1TB_JHHY.ttf","600":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeE6fLwD1TB_JHHY.ttf","700":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeEDfLwD1TB_JHHY.ttf","800":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeFkfLwD1TB_JHHY.ttf","regular":"http://fonts.gstatic.com/s/manuale/v15/f0Xp0eas_8Z-TFZdHv3mMxFaSqASeeHke7wD1TB_JHHY.ttf","300italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsOApA3zRdIWHYr8M.ttf","italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsOFRA3zRdIWHYr8M.ttf","500italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsOGZA3zRdIWHYr8M.ttf","600italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsOIpH3zRdIWHYr8M.ttf","700italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsOLNH3zRdIWHYr8M.ttf","800italic":"http://fonts.gstatic.com/s/manuale/v15/f0Xn0eas_8Z-TFZdNPTUzMkzITq8fvQsONRH3zRdIWHYr8M.ttf"},"Sarina":{"regular":"http://fonts.gstatic.com/s/sarina/v11/-F6wfjF3ITQwasLhLkDUriBQxw.ttf"},"Song Myung":{"regular":"http://fonts.gstatic.com/s/songmyung/v10/1cX2aUDWAJH5-EIC7DIhr1GqhcitzeM.ttf"},"Buda":{"300":"http://fonts.gstatic.com/s/buda/v13/GFDqWAN8mnyIJSSrG7UBr7pZKA0.ttf"},"Almendra":{"700":"http://fonts.gstatic.com/s/almendra/v15/H4cjBXKAlMnTn0Cskx6G7Zu4qKK-aihq.ttf","regular":"http://fonts.gstatic.com/s/almendra/v15/H4ckBXKAlMnTn0CskyY6wr-wg763.ttf","italic":"http://fonts.gstatic.com/s/almendra/v15/H4ciBXKAlMnTn0CskxY4yLuShq63czE.ttf","700italic":"http://fonts.gstatic.com/s/almendra/v15/H4chBXKAlMnTn0CskxY48Ae9oqacbzhqDtg.ttf"},"Macondo Swash Caps":{"regular":"http://fonts.gstatic.com/s/macondoswashcaps/v10/6NUL8EaAJgGKZA7lpt941Z9s6ZYgDq6Oekoa_mm5bA.ttf"},"Germania One":{"regular":"http://fonts.gstatic.com/s/germaniaone/v10/Fh4yPjrqIyv2ucM2qzBjeS3ezAJONau6ew.ttf"},"Libre Barcode 39 Extended Text":{"regular":"http://fonts.gstatic.com/s/librebarcode39extendedtext/v15/eLG1P_rwIgOiDA7yrs9LoKaYRVLQ1YldrrOnnL7xPO4jNP68fLIiPopNNA.ttf"},"Besley":{"500":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fYTBSdRoFPOl8-E.ttf","600":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fWjGSdRoFPOl8-E.ttf","700":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fVHGSdRoFPOl8-E.ttf","800":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fTbGSdRoFPOl8-E.ttf","900":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fR_GSdRoFPOl8-E.ttf","regular":"http://fonts.gstatic.com/s/besley/v7/PlIhFlO1MaNwaNGWUC92IOH_mtG4fbbBSdRoFPOl8-E.ttf","italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6CoZdiENGg4-E04A.ttf","500italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6Ck5diENGg4-E04A.ttf","600italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6Cf5BiENGg4-E04A.ttf","700italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6CRpBiENGg4-E04A.ttf","800italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6CIZBiENGg4-E04A.ttf","900italic":"http://fonts.gstatic.com/s/besley/v7/PlIjFlO1MaNwaNG8WR2J-IiUAH-_aH6CCJBiENGg4-E04A.ttf"},"Modak":{"regular":"http://fonts.gstatic.com/s/modak/v8/EJRYQgs1XtIEsnMH8BVZ76KU.ttf"},"Stoke":{"300":"http://fonts.gstatic.com/s/stoke/v12/z7NXdRb7aTMfKNvFVgxC_pjcTeWU.ttf","regular":"http://fonts.gstatic.com/s/stoke/v12/z7NadRb7aTMfKONpfihK1YTV.ttf"},"Kranky":{"regular":"http://fonts.gstatic.com/s/kranky/v13/hESw6XVgJzlPsFnMpheEZo_H_w.ttf"},"Paprika":{"regular":"http://fonts.gstatic.com/s/paprika/v10/8QIJdijZitv49rDfuIgOq7jkAOw.ttf"},"MedievalSharp":{"regular":"http://fonts.gstatic.com/s/medievalsharp/v14/EvOJzAlL3oU5AQl2mP5KdgptAq96MwvXLDk.ttf"},"IM Fell French Canon":{"regular":"http://fonts.gstatic.com/s/imfellfrenchcanon/v12/-F6ufiNtDWYfYc-tDiyiw08rrghJszkK6coVPt1ozoPz.ttf","italic":"http://fonts.gstatic.com/s/imfellfrenchcanon/v12/-F6gfiNtDWYfYc-tDiyiw08rrghJszkK6foXNNlKy5PzzrU.ttf"},"Habibi":{"regular":"http://fonts.gstatic.com/s/habibi/v11/CSR-4zFWkuqcTTNCShJeZOYySQ.ttf"},"Sonsie One":{"regular":"http://fonts.gstatic.com/s/sonsieone/v11/PbymFmP_EAnPqbKaoc18YVu80lbp8JM.ttf"},"Yeon Sung":{"regular":"http://fonts.gstatic.com/s/yeonsung/v10/QldMNTpbohAGtsJvUn6xSVNazqx2xg.ttf"},"Lovers Quarrel":{"regular":"http://fonts.gstatic.com/s/loversquarrel/v14/~ChAKDkxvdmVycyBRdWFycmVsIAAqBAgBGAE=.ttf"},"Nova Flat":{"regular":"http://fonts.gstatic.com/s/novaflat/v14/QdVUSTc-JgqpytEbVebEuStkm20oJA.ttf"},"Gamja Flower":{"regular":"http://fonts.gstatic.com/s/gamjaflower/v10/6NUR8FiKJg-Pa0rM6uN40Z4kyf9Fdty2ew.ttf"},"DotGothic16":{"regular":"http://fonts.gstatic.com/s/dotgothic16/v10/~Cg0KC0RvdEdvdGhpYzE2IAAqBAgBGAE=.ttf"},"Akaya Telivigala":{"regular":"http://fonts.gstatic.com/s/akayatelivigala/v13/lJwc-oo_iG9wXqU3rCTD395tp0uifdLdsIH0YH8.ttf"},"Libre Barcode 128":{"regular":"http://fonts.gstatic.com/s/librebarcode128/v16/cIfnMbdUsUoiW3O_hVviCwVjuLtXeJ_A_gMk0izH.ttf"},"Kulim Park":{"200":"http://fonts.gstatic.com/s/kulimpark/v4/fdN49secq3hflz1Uu3IwjJYNwa5aZbUvGjU.ttf","300":"http://fonts.gstatic.com/s/kulimpark/v4/fdN49secq3hflz1Uu3IwjPIOwa5aZbUvGjU.ttf","600":"http://fonts.gstatic.com/s/kulimpark/v4/fdN49secq3hflz1Uu3IwjIYIwa5aZbUvGjU.ttf","700":"http://fonts.gstatic.com/s/kulimpark/v4/fdN49secq3hflz1Uu3IwjOIJwa5aZbUvGjU.ttf","200italic":"http://fonts.gstatic.com/s/kulimpark/v4/fdNm9secq3hflz1Uu3IwhFwUKa9QYZcqCjVVUA.ttf","300italic":"http://fonts.gstatic.com/s/kulimpark/v4/fdNm9secq3hflz1Uu3IwhFwUTaxQYZcqCjVVUA.ttf","regular":"http://fonts.gstatic.com/s/kulimpark/v4/fdN79secq3hflz1Uu3IwtF4m5aZxebw.ttf","italic":"http://fonts.gstatic.com/s/kulimpark/v4/fdN59secq3hflz1Uu3IwhFws4YR0abw2Aw.ttf","600italic":"http://fonts.gstatic.com/s/kulimpark/v4/fdNm9secq3hflz1Uu3IwhFwUOapQYZcqCjVVUA.ttf","700italic":"http://fonts.gstatic.com/s/kulimpark/v4/fdNm9secq3hflz1Uu3IwhFwUXatQYZcqCjVVUA.ttf"},"Tomorrow":{"100":"http://fonts.gstatic.com/s/tomorrow/v5/WBLgrETNbFtZCeGqgR2xe2XiKMiokE4.ttf","200":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR0dWkXIBsShiVd4.ttf","300":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR15WUXIBsShiVd4.ttf","500":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR0hWEXIBsShiVd4.ttf","600":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR0NX0XIBsShiVd4.ttf","700":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR1pXkXIBsShiVd4.ttf","800":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR11XUXIBsShiVd4.ttf","900":"http://fonts.gstatic.com/s/tomorrow/v5/WBLhrETNbFtZCeGqgR1RXEXIBsShiVd4.ttf","100italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLirETNbFtZCeGqgRXXQwHoLOqtgE5h0A.ttf","200italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ63JDMCDjEd4yVY.ttf","300italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ8nKDMCDjEd4yVY.ttf","regular":"http://fonts.gstatic.com/s/tomorrow/v5/WBLmrETNbFtZCeGqgSXVcWHALdio.ttf","italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLgrETNbFtZCeGqgRXXe2XiKMiokE4.ttf","500italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ5HLDMCDjEd4yVY.ttf","600italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ73MDMCDjEd4yVY.ttf","700italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ9nNDMCDjEd4yVY.ttf","800italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ8XODMCDjEd4yVY.ttf","900italic":"http://fonts.gstatic.com/s/tomorrow/v5/WBLjrETNbFtZCeGqgRXXQ-HPDMCDjEd4yVY.ttf"},"Allison":{"regular":"http://fonts.gstatic.com/s/allison/v7/X7nl4b88AP2nkbvZOCaQ4MTgAgk.ttf"},"Bellota":{"300":"http://fonts.gstatic.com/s/bellota/v4/MwQzbhXl3_qEpiwAID55kGMViblPtXs.ttf","700":"http://fonts.gstatic.com/s/bellota/v4/MwQzbhXl3_qEpiwAIC5-kGMViblPtXs.ttf","300italic":"http://fonts.gstatic.com/s/bellota/v4/MwQxbhXl3_qEpiwAKJBjHGEfjZtKpXulTQ.ttf","regular":"http://fonts.gstatic.com/s/bellota/v4/MwQ2bhXl3_qEpiwAGJJRtGs-lbA.ttf","italic":"http://fonts.gstatic.com/s/bellota/v4/MwQ0bhXl3_qEpiwAKJBbsEk7hbBWrA.ttf","700italic":"http://fonts.gstatic.com/s/bellota/v4/MwQxbhXl3_qEpiwAKJBjDGYfjZtKpXulTQ.ttf"},"Ribeye":{"regular":"http://fonts.gstatic.com/s/ribeye/v11/L0x8DFMxk1MP9R3RvPCmRSlUig.ttf"},"Redacted":{"regular":"http://fonts.gstatic.com/s/redacted/v3/Z9XVDmdRShme2O_7aITe4u2El6GC.ttf"},"Mystery Quest":{"regular":"http://fonts.gstatic.com/s/mysteryquest/v10/-nF6OG414u0E6k0wynSGlujRHwElD_9Qz9E.ttf"},"Saira Stencil One":{"regular":"http://fonts.gstatic.com/s/sairastencilone/v4/SLXSc03I6HkvZGJ1GvvipLoYSTEL9AsMawif2YQ2.ttf"},"Ramaraja":{"regular":"http://fonts.gstatic.com/s/ramaraja/v7/SlGTmQearpYAYG1CABIkqnB6aSQU.ttf"},"Zilla Slab Highlight":{"700":"http://fonts.gstatic.com/s/zillaslabhighlight/v10/gNMUW2BrTpK8-inLtBJgMMfbm6uNVDvRxiP0TET4YmVF0Mb6.ttf","regular":"http://fonts.gstatic.com/s/zillaslabhighlight/v10/gNMbW2BrTpK8-inLtBJgMMfbm6uNVDvRxhtIY2DwSXlM.ttf"},"Fontdiner Swanky":{"regular":"http://fonts.gstatic.com/s/fontdinerswanky/v11/ijwOs4XgRNsiaI5-hcVb4hQgMvCD4uEfKiGvxts.ttf"},"Libre Caslon Display":{"regular":"http://fonts.gstatic.com/s/librecaslondisplay/v4/TuGOUUFxWphYQ6YI6q9Xp61FQzxDRKmzr2lRdRhtCC4d.ttf"},"Cute Font":{"regular":"http://fonts.gstatic.com/s/cutefont/v10/Noaw6Uny2oWPbSHMrY6vmJNVNC9hkw.ttf"},"Julee":{"regular":"http://fonts.gstatic.com/s/julee/v12/TuGfUVB3RpZPQ6ZLodgzydtk.ttf"},"Sulphur Point":{"300":"http://fonts.gstatic.com/s/sulphurpoint/v4/RLpkK5vv8KaycDcazWFPBj2afVU6n6kFUHPIFaU.ttf","700":"http://fonts.gstatic.com/s/sulphurpoint/v4/RLpkK5vv8KaycDcazWFPBj2afUU9n6kFUHPIFaU.ttf","regular":"http://fonts.gstatic.com/s/sulphurpoint/v4/RLp5K5vv8KaycDcazWFPBj2aRfkSu6EuTHo.ttf"},"Prociono":{"regular":"http://fonts.gstatic.com/s/prociono/v12/r05YGLlR-KxAf9GGO8upyDYtStiJ.ttf"},"Ephesis":{"regular":"http://fonts.gstatic.com/s/ephesis/v5/uU9PCBUS8IerL2VG7xPb3vyHmlI.ttf"},"ZCOOL KuaiLe":{"regular":"http://fonts.gstatic.com/s/zcoolkuaile/v7/tssqApdaRQokwFjFJjvM6h2WpozzoXhC2g.ttf"},"Margarine":{"regular":"http://fonts.gstatic.com/s/margarine/v11/qkBXXvoE6trLT9Y7YLye5JRLkAXbMQ.ttf"},"Londrina Outline":{"regular":"http://fonts.gstatic.com/s/londrinaoutline/v13/C8c44dM8vmb14dfsZxhetg3pDH-SfuoxrSKMDvI.ttf"},"Khmer":{"regular":"http://fonts.gstatic.com/s/khmer/v15/MjQImit_vPPwpF-BpN2EeYmD.ttf"},"Farsan":{"regular":"http://fonts.gstatic.com/s/farsan/v8/VEMwRoJ0vY_zsyz62q-pxDX9rQ.ttf"},"Iceberg":{"regular":"http://fonts.gstatic.com/s/iceberg/v10/8QIJdijAiM7o-qnZuIgOq7jkAOw.ttf"},"Lexend Exa":{"100":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9r7T6bHHJ8BRq0b.ttf","200":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9p7TqbHHJ8BRq0b.ttf","300":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9qlTqbHHJ8BRq0b.ttf","500":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9rJTqbHHJ8BRq0b.ttf","600":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9olSabHHJ8BRq0b.ttf","700":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9ocSabHHJ8BRq0b.ttf","800":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9p7SabHHJ8BRq0b.ttf","900":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9pSSabHHJ8BRq0b.ttf","regular":"http://fonts.gstatic.com/s/lexendexa/v20/UMBCrPdOoHOnxExyjdBeQCH18mulUxBvI9r7TqbHHJ8BRq0b.ttf"},"Asar":{"regular":"http://fonts.gstatic.com/s/asar/v10/sZlLdRyI6TBIXkYQDLlTW6E.ttf"},"Inika":{"700":"http://fonts.gstatic.com/s/inika/v11/rnCr-x5X3QP-pix7auM-mHnOSOuk.ttf","regular":"http://fonts.gstatic.com/s/inika/v11/rnCm-x5X3QP-phTHRcc2s2XH.ttf"},"Uncial Antiqua":{"regular":"http://fonts.gstatic.com/s/uncialantiqua/v10/N0bM2S5WOex4OUbESzoESK-i-PfRS5VBBSSF.ttf"},"Nokora":{"100":"http://fonts.gstatic.com/s/nokora/v25/~CgoKBk5va29yYRhkIAAqBAgBGAE=.ttf","300":"http://fonts.gstatic.com/s/nokora/v25/~CgsKBk5va29yYRisAiAAKgQIARgB.ttf","700":"http://fonts.gstatic.com/s/nokora/v25/~CgsKBk5va29yYRi8BSAAKgQIARgB.ttf","900":"http://fonts.gstatic.com/s/nokora/v25/~CgsKBk5va29yYRiEByAAKgQIARgB.ttf","regular":"http://fonts.gstatic.com/s/nokora/v25/~CggKBk5va29yYSAAKgQIARgB.ttf"},"Rosarivo":{"regular":"http://fonts.gstatic.com/s/rosarivo/v10/PlI-Fl2lO6N9f8HaNAeC2nhMnNy5.ttf","italic":"http://fonts.gstatic.com/s/rosarivo/v10/PlI4Fl2lO6N9f8HaNDeA0Hxumcy5ZX8.ttf"},"Dekko":{"regular":"http://fonts.gstatic.com/s/dekko/v9/46khlb_wWjfSrttFR0vsfl1B.ttf"},"Lakki Reddy":{"regular":"http://fonts.gstatic.com/s/lakkireddy/v9/S6u5w49MUSzD9jlCPmvLZQfox9k97-xZ.ttf"},"Sumana":{"700":"http://fonts.gstatic.com/s/sumana/v5/4UaArE5TqRBjGj--TDfG54fN6ppsKg.ttf","regular":"http://fonts.gstatic.com/s/sumana/v5/4UaDrE5TqRBjGj-G8Bji76zR4w.ttf"},"Stint Ultra Expanded":{"regular":"http://fonts.gstatic.com/s/stintultraexpanded/v10/CSRg4yNNh-GbW3o3JkwoDcdvMKMf0oBAd0qoATQkWwam.ttf"},"Meie Script":{"regular":"http://fonts.gstatic.com/s/meiescript/v14/_LOImzDK7erRjhunIspaMjxn5IXg0WDz.ttf"},"Fenix":{"regular":"http://fonts.gstatic.com/s/fenix/v10/XoHo2YL_S7-g5ostKzAFvs8o.ttf"},"Kufam":{"500":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3pKk7qQCJHvIwYg.ttf","600":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3SK47qQCJHvIwYg.ttf","700":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3ca47qQCJHvIwYg.ttf","800":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3Fq47qQCJHvIwYg.ttf","900":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3P647qQCJHvIwYg.ttf","regular":"http://fonts.gstatic.com/s/kufam/v11/C8c-4cY7pG7w_oSJDszBXsKCcBH3lqk7qQCJHvIwYg.ttf","italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXurT6gqNPPcgYp0i.ttf","500italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXurh6gqNPPcgYp0i.ttf","600italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXuoN7QqNPPcgYp0i.ttf","700italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXuo07QqNPPcgYp0i.ttf","800italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXupT7QqNPPcgYp0i.ttf","900italic":"http://fonts.gstatic.com/s/kufam/v11/C8c84cY7pG7w_q6APDMZN6kY3hbiXup67QqNPPcgYp0i.ttf"},"Croissant One":{"regular":"http://fonts.gstatic.com/s/croissantone/v10/3y9n6bU9bTPg4m8NDy3Kq24UM3pqn5cdJ-4.ttf"},"Donegal One":{"regular":"http://fonts.gstatic.com/s/donegalone/v10/m8JWjfRYea-ZnFz6fsK9FZRFRG-K3Mud.ttf"},"Vampiro One":{"regular":"http://fonts.gstatic.com/s/vampiroone/v13/gokqH6DoDl5yXvJytFsdLkqnsvhIor3K.ttf"},"Chicle":{"regular":"http://fonts.gstatic.com/s/chicle/v11/lJwG-pw9i2dqU-BDyWKuobYSxw.ttf"},"Rationale":{"regular":"http://fonts.gstatic.com/s/rationale/v14/9XUnlJ92n0_JFxHIfHcsdlFMzLC2Zw.ttf"},"Fuzzy Bubbles":{"700":"http://fonts.gstatic.com/s/fuzzybubbles/v3/6qLbKZMbrgv9pwtjPEVNV0F2Ds_WQxMAZkM1pn4.ttf","regular":"http://fonts.gstatic.com/s/fuzzybubbles/v3/6qLGKZMbrgv9pwtjPEVNV0F2NnP5Zxsreko.ttf"},"IM Fell French Canon SC":{"regular":"http://fonts.gstatic.com/s/imfellfrenchcanonsc/v12/FBVmdCru5-ifcor2bgq9V89khWcmQghEURY7H3c0UBCVIVqH.ttf"},"Single Day":{"regular":"http://fonts.gstatic.com/s/singleday/v5/LYjHdGDjlEgoAcF95EI5jVoFUNfeQJU.ttf"},"New Rocker":{"regular":"http://fonts.gstatic.com/s/newrocker/v11/MwQzbhjp3-HImzcCU_cJkGMViblPtXs.ttf"},"Text Me One":{"regular":"http://fonts.gstatic.com/s/textmeone/v10/i7dOIFdlayuLUvgoFvHQFWZcalayGhyV.ttf"},"Pirata One":{"regular":"http://fonts.gstatic.com/s/pirataone/v15/I_urMpiDvgLdLh0fAtoftiiEr5_BdZ8.ttf"},"Condiment":{"regular":"http://fonts.gstatic.com/s/condiment/v10/pONk1hggFNmwvXALyH6Sq4n4o1vyCQ.ttf"},"Autour One":{"regular":"http://fonts.gstatic.com/s/autourone/v12/UqyVK80cP25l3fJgbdfbk5lWVscxdKE.ttf"},"Sree Krushnadevaraya":{"regular":"http://fonts.gstatic.com/s/sreekrushnadevaraya/v14/~ChYKFFNyZWUgS3J1c2huYWRldmFyYXlhIAAqBAgBGAE=.ttf"},"Jomhuria":{"regular":"http://fonts.gstatic.com/s/jomhuria/v12/Dxxp8j-TMXf-llKur2b1MOGbC3Dh.ttf"},"Andika New Basic":{"700":"http://fonts.gstatic.com/s/andikanewbasic/v5/taiWGn9tCp-44eleq5Q-mszJivxScBO7NGqoGzdME84.ttf","regular":"http://fonts.gstatic.com/s/andikanewbasic/v5/taiRGn9tCp-44eleq5Q-mszJivxSSK-UEGKDBz4.ttf","italic":"http://fonts.gstatic.com/s/andikanewbasic/v5/taiXGn9tCp-44eleq5Q-mszJivxSeK2eFECGFz5VCg.ttf","700italic":"http://fonts.gstatic.com/s/andikanewbasic/v5/taiUGn9tCp-44eleq5Q-mszJivxSeK2mqG-iHxVJA85Okw.ttf"},"Cagliostro":{"regular":"http://fonts.gstatic.com/s/cagliostro/v11/ZgNWjP5HM73BV5amnX-TjGXEM4COoE4.ttf"},"Simonetta":{"900":"http://fonts.gstatic.com/s/simonetta/v13/x3dnckHVYrCU5BU15c45-N0mtwTpDQIrGg.ttf","regular":"http://fonts.gstatic.com/s/simonetta/v13/x3dickHVYrCU5BU15c4BfPACvy_1BA.ttf","italic":"http://fonts.gstatic.com/s/simonetta/v13/x3dkckHVYrCU5BU15c4xfvoGnSrlBBsy.ttf","900italic":"http://fonts.gstatic.com/s/simonetta/v13/x3d5ckHVYrCU5BU15c4xfsKCsA7tLwc7Gn88.ttf"},"Akronim":{"regular":"http://fonts.gstatic.com/s/akronim/v12/fdN-9sqWtWZZlHRp-gBxkFYN-a8.ttf"},"Ruluko":{"regular":"http://fonts.gstatic.com/s/ruluko/v14/xMQVuFNZVaODtm0pC6WzKX_QmA.ttf"},"Petrona":{"100":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk6NsARBH452Mvds.ttf","200":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk4NsQRBH452Mvds.ttf","300":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk7TsQRBH452Mvds.ttf","500":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk6_sQRBH452Mvds.ttf","600":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk5TtgRBH452Mvds.ttf","700":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk5qtgRBH452Mvds.ttf","800":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk4NtgRBH452Mvds.ttf","900":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk4ktgRBH452Mvds.ttf","regular":"http://fonts.gstatic.com/s/petrona/v16/mtGl4_NXL7bZo9XXq35wRLONYyOjFk6NsQRBH452Mvds.ttf","100italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8uwDFYpUN-dsIWs.ttf","200italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8mwCFYpUN-dsIWs.ttf","300italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8rICFYpUN-dsIWs.ttf","italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8uwCFYpUN-dsIWs.ttf","500italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8t4CFYpUN-dsIWs.ttf","600italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8jIFFYpUN-dsIWs.ttf","700italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8gsFFYpUN-dsIWs.ttf","800italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8mwFFYpUN-dsIWs.ttf","900italic":"http://fonts.gstatic.com/s/petrona/v16/mtGr4_NXL7bZo9XXgXdCu2vkCLkNEVtF8kUFFYpUN-dsIWs.ttf"},"Kotta One":{"regular":"http://fonts.gstatic.com/s/kottaone/v10/S6u_w41LXzPc_jlfNWqPHA3s5dwt7w.ttf"},"IBM Plex Sans Thai":{"100":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JNje1VVIzcq1HzJq2AEdo2Tj_qvLqEatYlR8ZKUqcX.ttf","200":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JMje1VVIzcq1HzJq2AEdo2Tj_qvLqExvcFbehGW74OXw.ttf","300":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JMje1VVIzcq1HzJq2AEdo2Tj_qvLqEovQFbehGW74OXw.ttf","500":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JMje1VVIzcq1HzJq2AEdo2Tj_qvLqE-vUFbehGW74OXw.ttf","600":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JMje1VVIzcq1HzJq2AEdo2Tj_qvLqE1vIFbehGW74OXw.ttf","700":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JMje1VVIzcq1HzJq2AEdo2Tj_qvLqEsvMFbehGW74OXw.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsansthai/v5/m8JPje1VVIzcq1HzJq2AEdo2Tj_qvLq8DtwhZcNaUg.ttf"},"Crushed":{"regular":"http://fonts.gstatic.com/s/crushed/v13/U9Mc6dym6WXImTlFT1kfuIqyLzA.ttf"},"Sancreek":{"regular":"http://fonts.gstatic.com/s/sancreek/v13/pxiHypAnsdxUm159X7D-XV9NEe-K.ttf"},"Gayathri":{"100":"http://fonts.gstatic.com/s/gayathri/v6/MCoWzAb429DbBilWLLhc-pvSA_gA2W8.ttf","700":"http://fonts.gstatic.com/s/gayathri/v6/MCoXzAb429DbBilWLLiE37v4LfQJwHbn.ttf","regular":"http://fonts.gstatic.com/s/gayathri/v6/MCoQzAb429DbBilWLIA48J_wBugA.ttf"},"Glory":{"100":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQwIiDpn-dDi9EOQ.ttf","200":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQQImDpn-dDi9EOQ.ttf","300":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQnomDpn-dDi9EOQ.ttf","500":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQ8omDpn-dDi9EOQ.ttf","600":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQHo6Dpn-dDi9EOQ.ttf","700":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQJ46Dpn-dDi9EOQ.ttf","800":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQQI6Dpn-dDi9EOQ.ttf","regular":"http://fonts.gstatic.com/s/glory/v5/q5uasoi9Lf1w5t3Est24nq9blIRQwImDpn-dDi9EOQ.ttf","100italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMpr5HWZLCpUOaM6.ttf","200italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMrr5XWZLCpUOaM6.ttf","300italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMo15XWZLCpUOaM6.ttf","italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMpr5XWZLCpUOaM6.ttf","500italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMpZ5XWZLCpUOaM6.ttf","600italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMq14nWZLCpUOaM6.ttf","700italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMqM4nWZLCpUOaM6.ttf","800italic":"http://fonts.gstatic.com/s/glory/v5/q5uYsoi9Lf1w5vfNgCJg98TBOoNFCMrr4nWZLCpUOaM6.ttf"},"Rowdies":{"300":"http://fonts.gstatic.com/s/rowdies/v5/ptRMTieMYPNBAK219hth5O7yKQNute8.ttf","700":"http://fonts.gstatic.com/s/rowdies/v5/ptRMTieMYPNBAK219gtm5O7yKQNute8.ttf","regular":"http://fonts.gstatic.com/s/rowdies/v5/ptRJTieMYPNBAK21zrdJwObZNQo.ttf"},"Noto Sans Arabic":{"100":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyG2vu3CBFQLaig.ttf","200":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfSGyvu3CBFQLaig.ttf","300":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCflmyvu3CBFQLaig.ttf","500":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCf-myvu3CBFQLaig.ttf","600":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfFmuvu3CBFQLaig.ttf","700":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfL2uvu3CBFQLaig.ttf","800":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfSGuvu3CBFQLaig.ttf","900":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfYWuvu3CBFQLaig.ttf","regular":"http://fonts.gstatic.com/s/notosansarabic/v13/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf"},"Angkor":{"regular":"http://fonts.gstatic.com/s/angkor/v19/H4cmBXyAlsPdnlb-8iw-4Lqggw.ttf"},"Potta One":{"regular":"http://fonts.gstatic.com/s/pottaone/v6/FeVSS05Bp6cy7xI-YfxQ3Z5nm29Gww.ttf"},"Quintessential":{"regular":"http://fonts.gstatic.com/s/quintessential/v10/fdNn9sOGq31Yjnh3qWU14DdtjY5wS7kmAyxM.ttf"},"Rum Raisin":{"regular":"http://fonts.gstatic.com/s/rumraisin/v10/nwpRtKu3Ih8D5avB4h2uJ3-IywA7eMM.ttf"},"Swanky and Moo Moo":{"regular":"http://fonts.gstatic.com/s/swankyandmoomoo/v12/flUlRrKz24IuWVI_WJYTYcqbEsMUZ3kUtbPkR64SYQ.ttf"},"Stylish":{"regular":"http://fonts.gstatic.com/s/stylish/v10/m8JSjfhPYriQkk7-fo35dLxEdmo.ttf"},"Be Vietnam Pro":{"100":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVNSTAyLFyeg_IDWvOJmVES_HRUBX8YYbAiah8.ttf","200":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HT4JF8yT7wrcwap.ttf","300":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HScJ18yT7wrcwap.ttf","500":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HTEJl8yT7wrcwap.ttf","600":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HToIV8yT7wrcwap.ttf","700":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HSMIF8yT7wrcwap.ttf","800":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HSQI18yT7wrcwap.ttf","900":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVMSTAyLFyeg_IDWvOJmVES_HS0Il8yT7wrcwap.ttf","100italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVLSTAyLFyeg_IDWvOJmVES_HwyPRsSZZIneh-waA.ttf","200italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPbczRbgJdhapcUU.ttf","300italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPdMwRbgJdhapcUU.ttf","regular":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVPSTAyLFyeg_IDWvOJmVES_EwwD3s6ZKAi.ttf","italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVNSTAyLFyeg_IDWvOJmVES_HwyBX8YYbAiah8.ttf","500italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPYsxRbgJdhapcUU.ttf","600italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPac2RbgJdhapcUU.ttf","700italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPcM3RbgJdhapcUU.ttf","800italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPd80RbgJdhapcUU.ttf","900italic":"http://fonts.gstatic.com/s/bevietnampro/v8/QdVKSTAyLFyeg_IDWvOJmVES_HwyPfs1RbgJdhapcUU.ttf"},"Nosifer":{"regular":"http://fonts.gstatic.com/s/nosifer/v11/ZGjXol5JTp0g5bxZaC1RVDNdGDs.ttf"},"Hachi Maru Pop":{"regular":"http://fonts.gstatic.com/s/hachimarupop/v10/~ChAKDkhhY2hpIE1hcnUgUG9wIAAqBAgBGAE=.ttf"},"Offside":{"regular":"http://fonts.gstatic.com/s/offside/v10/HI_KiYMWKa9QrAykQ5HiRp-dhpQ.ttf"},"Piedra":{"regular":"http://fonts.gstatic.com/s/piedra/v11/ke8kOg8aN0Bn7hTunEyHN_M3gA.ttf"},"Redacted Script":{"300":"http://fonts.gstatic.com/s/redactedscript/v3/ypvEbXGRglhokR7dcC3d1-R6zmxqHUzVmbI397ldkg.ttf","700":"http://fonts.gstatic.com/s/redactedscript/v3/ypvEbXGRglhokR7dcC3d1-R6zmxqDUvVmbI397ldkg.ttf","regular":"http://fonts.gstatic.com/s/redactedscript/v3/ypvBbXGRglhokR7dcC3d1-R6zmxSsWTxkZkr_g.ttf"},"Kumar One":{"regular":"http://fonts.gstatic.com/s/kumarone/v7/bMr1mS-P958wYi6YaGeGNO6WU3oT0g.ttf"},"Kavivanar":{"regular":"http://fonts.gstatic.com/s/kavivanar/v8/o-0IIpQgyXYSwhxP7_Jb4j5Ba_2c7A.ttf"},"Chilanka":{"regular":"http://fonts.gstatic.com/s/chilanka/v8/WWXRlj2DZQiMJYaYRrJQI9EAZhTO.ttf"},"Eagle Lake":{"regular":"http://fonts.gstatic.com/s/eaglelake/v10/ptRMTiqbbuNJDOiKj9wG5O7yKQNute8.ttf"},"Big Shoulders Stencil Display":{"100":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_O0nPKHznJucP9w.ttf","200":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_u0jPKHznJucP9w.ttf","300":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_ZUjPKHznJucP9w.ttf","500":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_CUjPKHznJucP9w.ttf","600":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_5U_PKHznJucP9w.ttf","700":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_3E_PKHznJucP9w.ttf","800":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_u0_PKHznJucP9w.ttf","900":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_kk_PKHznJucP9w.ttf","regular":"http://fonts.gstatic.com/s/bigshouldersstencildisplay/v10/6aeZ4LS6U6pR_bp5b_t2ugOhHWFcxSGP9ttD96KCb8xPytKb-oPRU-vkuLm_O0jPKHznJucP9w.ttf"},"Griffy":{"regular":"http://fonts.gstatic.com/s/griffy/v11/FwZa7-ox2FQh9kfwSNSEwM2zpA.ttf"},"Wellfleet":{"regular":"http://fonts.gstatic.com/s/wellfleet/v10/nuF7D_LfQJb3VYgX6eyT42aLDhO2HA.ttf"},"Underdog":{"regular":"http://fonts.gstatic.com/s/underdog/v15/CHygV-jCElj7diMroVSiU14GN2Il.ttf"},"Inria Serif":{"300":"http://fonts.gstatic.com/s/inriaserif/v4/fC14PYxPY3rXxEndZJAzN3wAVQjFhFyta3xN.ttf","700":"http://fonts.gstatic.com/s/inriaserif/v4/fC14PYxPY3rXxEndZJAzN3wQUgjFhFyta3xN.ttf","300italic":"http://fonts.gstatic.com/s/inriaserif/v4/fC16PYxPY3rXxEndZJAzN3SuT4THjliPbmxN0_E.ttf","regular":"http://fonts.gstatic.com/s/inriaserif/v4/fC1lPYxPY3rXxEndZJAzN0SsfSzNr0Ck.ttf","italic":"http://fonts.gstatic.com/s/inriaserif/v4/fC1nPYxPY3rXxEndZJAzN3SudyjvqlCkcmU.ttf","700italic":"http://fonts.gstatic.com/s/inriaserif/v4/fC16PYxPY3rXxEndZJAzN3SuT5TAjliPbmxN0_E.ttf"},"Moul":{"regular":"http://fonts.gstatic.com/s/moul/v23/nuF2D__FSo_3E-RYiJCy-00.ttf"},"Asset":{"regular":"http://fonts.gstatic.com/s/asset/v12/SLXGc1na-mM4cWImRJqExst1.ttf"},"East Sea Dokdo":{"regular":"http://fonts.gstatic.com/s/eastseadokdo/v10/xfuo0Wn2V2_KanASqXSZp22m05_aGavYS18y.ttf"},"Londrina Shadow":{"regular":"http://fonts.gstatic.com/s/londrinashadow/v12/oPWX_kB4kOQoWNJmjxLV5JuoCUlXRlaSxkrMCQ.ttf"},"IM Fell Great Primer":{"regular":"http://fonts.gstatic.com/s/imfellgreatprimer/v12/bx6aNwSJtayYxOkbYFsT6hMsLzX7u85rJorXvDo3SQY1.ttf","italic":"http://fonts.gstatic.com/s/imfellgreatprimer/v12/bx6UNwSJtayYxOkbYFsT6hMsLzX7u85rJrrVtj4VTBY1N6U.ttf"},"Ruthie":{"regular":"http://fonts.gstatic.com/s/ruthie/v17/~CggKBlJ1dGhpZSAAKgQIARgB.ttf"},"Bigelow Rules":{"regular":"http://fonts.gstatic.com/s/bigelowrules/v11/RrQWboly8iR_I3KWSzeRuN0zT4cCH8WAJVk.ttf"},"Zen Dots":{"regular":"http://fonts.gstatic.com/s/zendots/v1/XRXX3ICfm00IGoesQeaETM_FcCIG.ttf"},"Scheherazade New":{"700":"http://fonts.gstatic.com/s/scheherazadenew/v8/4UaerFhTvxVnHDvUkUiHg8jprP4DM79DHlYC-IKnoSE.ttf","regular":"http://fonts.gstatic.com/s/scheherazadenew/v8/4UaZrFhTvxVnHDvUkUiHg8jprP4DCwNsOl4p5Is.ttf"},"Gemunu Libre":{"200":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp05iJPvSLeMXPIWA.ttf","300":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp00aJPvSLeMXPIWA.ttf","500":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp0yqJPvSLeMXPIWA.ttf","600":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp08aOPvSLeMXPIWA.ttf","700":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp0_-OPvSLeMXPIWA.ttf","800":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp05iOPvSLeMXPIWA.ttf","regular":"http://fonts.gstatic.com/s/gemunulibre/v4/X7n34bQ6Cfy7jKGXVE_YlqnbEQAFP-PIuTCp0xiJPvSLeMXPIWA.ttf"},"Junge":{"regular":"http://fonts.gstatic.com/s/junge/v10/gokgH670Gl1lUqAdvhB7SnKm.ttf"},"IM Fell DW Pica SC":{"regular":"http://fonts.gstatic.com/s/imfelldwpicasc/v12/0ybjGCAu5PfqkvtGVU15aBhXz3EUrnTW-BiKEUiBGA.ttf"},"Sura":{"700":"http://fonts.gstatic.com/s/sura/v7/SZc53FL5PbyzLUJ7fz3GkUrS8DI.ttf","regular":"http://fonts.gstatic.com/s/sura/v7/SZc23FL5PbyzFf5UWzXtjUM.ttf"},"Princess Sofia":{"regular":"http://fonts.gstatic.com/s/princesssofia/v11/qWczB6yguIb8DZ_GXZst16n7GRz7mDUoupoI.ttf"},"Barriecito":{"regular":"http://fonts.gstatic.com/s/barriecito/v5/WWXXlj-CbBOSLY2QTuY_KdUiYwTO0MU.ttf"},"Ruge Boogie":{"regular":"http://fonts.gstatic.com/s/rugeboogie/v18/JIA3UVFwbHRF_GIWSMhKNROiPzUveSxy.ttf"},"Tulpen One":{"regular":"http://fonts.gstatic.com/s/tulpenone/v12/dFa6ZfeC474skLgesc0CWj0w_HyIRlE.ttf"},"Miniver":{"regular":"http://fonts.gstatic.com/s/miniver/v11/eLGcP-PxIg-5H0vC770Cy8r8fWA.ttf"},"Felipa":{"regular":"http://fonts.gstatic.com/s/felipa/v9/FwZa7-owz1Eu4F_wSNSEwM2zpA.ttf"},"Dorsa":{"regular":"http://fonts.gstatic.com/s/dorsa/v13/yYLn0hjd0OGwqo493XCFxAnQ.ttf"},"Sirin Stencil":{"regular":"http://fonts.gstatic.com/s/sirinstencil/v11/mem4YaWwznmLx-lzGfN7MdRydchGBq6al6o.ttf"},"Noto Nastaliq Urdu":{"700":"http://fonts.gstatic.com/s/notonastaliqurdu/v11/LhW7MUPbN-oZdNFcBy1-DJYsEoTq5pu_9N8pM_35MVRvQw.ttf","regular":"http://fonts.gstatic.com/s/notonastaliqurdu/v11/LhW4MUPbN-oZdNFcBy1-DJYsEoTq5puHSPANO9blOA.ttf"},"Risque":{"regular":"http://fonts.gstatic.com/s/risque/v10/VdGfAZUfHosahXxoCUYVBJ-T5g.ttf"},"Gotu":{"regular":"http://fonts.gstatic.com/s/gotu/v4/o-0FIpksx3QOlH0Lioh6-hU.ttf"},"Elsie Swash Caps":{"900":"http://fonts.gstatic.com/s/elsieswashcaps/v11/845ENN8xGZyVX5MVo_upKf7KnjK0RW74DG2HToawrdU.ttf","regular":"http://fonts.gstatic.com/s/elsieswashcaps/v11/845DNN8xGZyVX5MVo_upKf7KnjK0ferVKGWsUo8.ttf"},"Tourney":{"100":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GOQByZTp1I1LcGA.ttf","200":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GuQFyZTp1I1LcGA.ttf","300":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GZwFyZTp1I1LcGA.ttf","500":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GCwFyZTp1I1LcGA.ttf","600":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7G5wZyZTp1I1LcGA.ttf","700":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7G3gZyZTp1I1LcGA.ttf","800":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GuQZyZTp1I1LcGA.ttf","900":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GkAZyZTp1I1LcGA.ttf","regular":"http://fonts.gstatic.com/s/tourney/v4/AlZa_ztDtYzv1tzq1wcJnbVt7xseomk-tNs7qrzTWbyt8n7GOQFyZTp1I1LcGA.ttf","100italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UKaJzBxAVfMGOPb.ttf","200italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UIaJjBxAVfMGOPb.ttf","300italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8ULEJjBxAVfMGOPb.ttf","italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UKaJjBxAVfMGOPb.ttf","500italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UKoJjBxAVfMGOPb.ttf","600italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UJEITBxAVfMGOPb.ttf","700italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UJ9ITBxAVfMGOPb.ttf","800italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UIaITBxAVfMGOPb.ttf","900italic":"http://fonts.gstatic.com/s/tourney/v4/AlZc_ztDtYzv1tzq_Q47flUUvI2wpXz29ilymEMLMNc3XHnT8UIzITBxAVfMGOPb.ttf"},"Barrio":{"regular":"http://fonts.gstatic.com/s/barrio/v7/wEO8EBXBk8hBIDiEdQYhWdsX1Q.ttf"},"Yaldevi":{"200":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpfxJzvobxLCBJkS.ttf","300":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpcvJzvobxLCBJkS.ttf","500":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpdDJzvobxLCBJkS.ttf","600":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpevIDvobxLCBJkS.ttf","700":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpeWIDvobxLCBJkS.ttf","regular":"http://fonts.gstatic.com/s/yaldevi/v4/cY9afj6VW0NMrDWtDNzCOwlPMq9SLpdxJzvobxLCBJkS.ttf"},"Gorditas":{"700":"http://fonts.gstatic.com/s/gorditas/v10/ll84K2aTVD26DsPEtThUIooIvAoShA1i.ttf","regular":"http://fonts.gstatic.com/s/gorditas/v10/ll8_K2aTVD26DsPEtQDoDa4AlxYb.ttf"},"WindSong":{"500":"http://fonts.gstatic.com/s/windsong/v5/KR1RBsyu-P-GFEW57oeNNPWylS3-jVXm.ttf","regular":"http://fonts.gstatic.com/s/windsong/v5/KR1WBsyu-P-GFEW57r95HdG6vjH3.ttf"},"Kantumruy":{"300":"http://fonts.gstatic.com/s/kantumruy/v11/syk0-yJ0m7wyVb-f4FOPUtDlpn-UJ1H6Uw.ttf","700":"http://fonts.gstatic.com/s/kantumruy/v11/syk0-yJ0m7wyVb-f4FOPQtflpn-UJ1H6Uw.ttf","regular":"http://fonts.gstatic.com/s/kantumruy/v11/sykx-yJ0m7wyVb-f4FO3_vjBrlSILg.ttf"},"Marko One":{"regular":"http://fonts.gstatic.com/s/markoone/v12/9Btq3DFG0cnVM5lw1haaKpUfrHPzUw.ttf"},"Modern Antiqua":{"regular":"http://fonts.gstatic.com/s/modernantiqua/v12/NGStv5TIAUg6Iq_RLNo_2dp1sI1Ea2u0c3Gi.ttf"},"Noto Sans Mono":{"100":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_FNI49rXVEQQL8Y.ttf","200":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_NNJ49rXVEQQL8Y.ttf","300":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_A1J49rXVEQQL8Y.ttf","500":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_GFJ49rXVEQQL8Y.ttf","600":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_I1O49rXVEQQL8Y.ttf","700":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_LRO49rXVEQQL8Y.ttf","800":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_NNO49rXVEQQL8Y.ttf","900":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_PpO49rXVEQQL8Y.ttf","regular":"http://fonts.gstatic.com/s/notosansmono/v14/BngrUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZcdthSBUsYck4-_FNJ49rXVEQQL8Y.ttf"},"Spirax":{"regular":"http://fonts.gstatic.com/s/spirax/v11/buE3poKgYNLy0F3cXktt-Csn-Q.ttf"},"Chathura":{"100":"http://fonts.gstatic.com/s/chathura/v13/_gP91R7-rzUuVjim42dEq0SbTvZyuDo.ttf","300":"http://fonts.gstatic.com/s/chathura/v13/_gP81R7-rzUuVjim42eMiWSxYPp7oSNy.ttf","700":"http://fonts.gstatic.com/s/chathura/v13/_gP81R7-rzUuVjim42ecjmSxYPp7oSNy.ttf","800":"http://fonts.gstatic.com/s/chathura/v13/_gP81R7-rzUuVjim42eAjWSxYPp7oSNy.ttf","regular":"http://fonts.gstatic.com/s/chathura/v13/_gP71R7-rzUuVjim418goUC5S-Zy.ttf"},"Content":{"700":"http://fonts.gstatic.com/s/content/v15/zrfg0HLayePhU_AwaRzdBirfWCHvkAI.ttf","regular":"http://fonts.gstatic.com/s/content/v15/zrfl0HLayePhU_AwUaDyIiL0RCg.ttf"},"Redressed":{"regular":"http://fonts.gstatic.com/s/redressed/v13/x3dickHUbrmJ7wMy9MsBfPACvy_1BA.ttf"},"Combo":{"regular":"http://fonts.gstatic.com/s/combo/v11/BXRlvF3Jh_fIhg0iBu9y8Hf0.ttf"},"Sahitya":{"700":"http://fonts.gstatic.com/s/sahitya/v7/6qLFKZkOuhnuqlJAUZsqGyQvEnvSexI.ttf","regular":"http://fonts.gstatic.com/s/sahitya/v7/6qLAKZkOuhnuqlJAaScFPywEDnI.ttf"},"Monofett":{"regular":"http://fonts.gstatic.com/s/monofett/v12/mFTyWbofw6zc9NtnW43SuRwr0VJ7.ttf"},"Bayon":{"regular":"http://fonts.gstatic.com/s/bayon/v20/9XUrlJNmn0LPFl-pOhYEd2NJ.ttf"},"Maiden Orange":{"regular":"http://fonts.gstatic.com/s/maidenorange/v13/kJE1BuIX7AUmhi2V4m08kb1XjOZdCZS8FY8.ttf"},"Red Rose":{"300":"http://fonts.gstatic.com/s/redrose/v8/QdVISTYiLBjouPgEUajvsfWwDtc3MH8y8_sDcjSsYUVUjg.ttf","500":"http://fonts.gstatic.com/s/redrose/v8/QdVISTYiLBjouPgEUajvsfWwDtc3MH8yn_sDcjSsYUVUjg.ttf","600":"http://fonts.gstatic.com/s/redrose/v8/QdVISTYiLBjouPgEUajvsfWwDtc3MH8yc_wDcjSsYUVUjg.ttf","700":"http://fonts.gstatic.com/s/redrose/v8/QdVISTYiLBjouPgEUajvsfWwDtc3MH8ySvwDcjSsYUVUjg.ttf","regular":"http://fonts.gstatic.com/s/redrose/v8/QdVISTYiLBjouPgEUajvsfWwDtc3MH8yrfsDcjSsYUVUjg.ttf"},"Mogra":{"regular":"http://fonts.gstatic.com/s/mogra/v9/f0X40eSs8c95TBo4DvLmxtnG.ttf"},"Mrs Sheppards":{"regular":"http://fonts.gstatic.com/s/mrssheppards/v11/PN_2Rfm9snC0XUGoEZhb91ig3vjxynMix4Y.ttf"},"Arbutus":{"regular":"http://fonts.gstatic.com/s/arbutus/v12/NaPYcZ7dG_5J3poob9JtryO8fMU.ttf"},"Jomolhari":{"regular":"http://fonts.gstatic.com/s/jomolhari/v4/EvONzA1M1Iw_CBd2hsQCF1IZKq5INg.ttf"},"Kavoon":{"regular":"http://fonts.gstatic.com/s/kavoon/v11/pxiFyp4_scRYhlU4NLr6f1pdEQ.ttf"},"Ravi Prakash":{"regular":"http://fonts.gstatic.com/s/raviprakash/v9/gokpH6fsDkVrF9Bv9X8SOAKHmNZEq6TTFw.ttf"},"Linden Hill":{"regular":"http://fonts.gstatic.com/s/lindenhill/v12/-F61fjxoKSg9Yc3hZgO8ygFI7CwC009k.ttf","italic":"http://fonts.gstatic.com/s/lindenhill/v12/-F63fjxoKSg9Yc3hZgO8yjFK5igg1l9kn-s.ttf"},"Ribeye Marrow":{"regular":"http://fonts.gstatic.com/s/ribeyemarrow/v12/GFDsWApshnqMRO2JdtRZ2d0vEAwTVWgKdtw.ttf"},"Kumar One Outline":{"regular":"http://fonts.gstatic.com/s/kumaroneoutline/v8/Noao6VH62pyLP0fsrZ-v18wlUEcX9zDwRQu8EGKF.ttf"},"Brygada 1918":{"500":"http://fonts.gstatic.com/s/brygada1918/v8/pe08MI6eKpdGqlF5LANrM--ACNaeo8mTUIR_y12f-V8Wu5O3gbo.ttf","600":"http://fonts.gstatic.com/s/brygada1918/v8/pe08MI6eKpdGqlF5LANrM--ACNaeo8mTUIR_y7GY-V8Wu5O3gbo.ttf","700":"http://fonts.gstatic.com/s/brygada1918/v8/pe08MI6eKpdGqlF5LANrM--ACNaeo8mTUIR_y4iY-V8Wu5O3gbo.ttf","regular":"http://fonts.gstatic.com/s/brygada1918/v8/pe08MI6eKpdGqlF5LANrM--ACNaeo8mTUIR_y2-f-V8Wu5O3gbo.ttf","italic":"http://fonts.gstatic.com/s/brygada1918/v8/pe06MI6eKpdGqlF5LANrM--qAeRhe6D4yip43qfcERwcv7GykboaLg.ttf","500italic":"http://fonts.gstatic.com/s/brygada1918/v8/pe06MI6eKpdGqlF5LANrM--qAeRhe6D4yip43qfcIxwcv7GykboaLg.ttf","600italic":"http://fonts.gstatic.com/s/brygada1918/v8/pe06MI6eKpdGqlF5LANrM--qAeRhe6D4yip43qfczxscv7GykboaLg.ttf","700italic":"http://fonts.gstatic.com/s/brygada1918/v8/pe06MI6eKpdGqlF5LANrM--qAeRhe6D4yip43qfc9hscv7GykboaLg.ttf"},"Lexend Mega":{"100":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDL8fivveyiq9EqQw.ttf","200":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLcfmvveyiq9EqQw.ttf","300":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLr_mvveyiq9EqQw.ttf","500":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLw_mvveyiq9EqQw.ttf","600":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLL_6vveyiq9EqQw.ttf","700":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLFv6vveyiq9EqQw.ttf","800":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLcf6vveyiq9EqQw.ttf","900":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDLWP6vveyiq9EqQw.ttf","regular":"http://fonts.gstatic.com/s/lexendmega/v20/qFdX35aBi5JtHD41zSTFEuTByuvYFuE9IbDL8fmvveyiq9EqQw.ttf"},"Joti One":{"regular":"http://fonts.gstatic.com/s/jotione/v11/Z9XVDmdJQAmWm9TwaYTe4u2El6GC.ttf"},"Rhodium Libre":{"regular":"http://fonts.gstatic.com/s/rhodiumlibre/v7/1q2AY5adA0tn_ukeHcQHqpx6pETLeo2gm2U.ttf"},"Molle":{"italic":"http://fonts.gstatic.com/s/molle/v11/E21n_dL5hOXFhWEsXzgmVydREus.ttf"},"Metal Mania":{"regular":"http://fonts.gstatic.com/s/metalmania/v12/RWmMoKWb4e8kqMfBUdPFJeXCg6UKDXlq.ttf"},"Beth Ellen":{"regular":"http://fonts.gstatic.com/s/bethellen/v5/WwkbxPW2BE-3rb_JNT-qEIAiVNo5xNY.ttf"},"Diplomata SC":{"regular":"http://fonts.gstatic.com/s/diplomatasc/v11/buExpoi3ecvs3kidKgBJo2kf-P5Oaiw4cw.ttf"},"Lancelot":{"regular":"http://fonts.gstatic.com/s/lancelot/v12/J7acnppxBGtQEulG4JY4xJ9CGyAa.ttf"},"Romanesco":{"regular":"http://fonts.gstatic.com/s/romanesco/v11/w8gYH2ozQOY7_r_J7mSn3HwLqOqSBg.ttf"},"Fascinate Inline":{"regular":"http://fonts.gstatic.com/s/fascinateinline/v12/jVyR7mzzB3zc-jp6QCAu60poNqIy1g3CfRXxWZQ.ttf"},"Diplomata":{"regular":"http://fonts.gstatic.com/s/diplomata/v14/Cn-0JtiMXwhNwp-wKxyfYGxYrdM9Sg.ttf"},"Stick":{"regular":"http://fonts.gstatic.com/s/stick/v9/Qw3TZQpMCyTtJSvfvPVDMPoF.ttf"},"Black And White Picture":{"regular":"http://fonts.gstatic.com/s/blackandwhitepicture/v10/TwMe-JAERlQd3ooUHBUXGmrmioKjjnRSFO-NqI5HbcMi-yWY.ttf"},"Almendra SC":{"regular":"http://fonts.gstatic.com/s/almendrasc/v13/Iure6Yx284eebowr7hbyTZZJprVA4XQ0.ttf"},"Noto Serif Bengali":{"100":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfcAH3qn4LjQH8yD.ttf","200":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfeAHnqn4LjQH8yD.ttf","300":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfdeHnqn4LjQH8yD.ttf","500":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfcyHnqn4LjQH8yD.ttf","600":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JffeGXqn4LjQH8yD.ttf","700":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JffnGXqn4LjQH8yD.ttf","800":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfeAGXqn4LjQH8yD.ttf","900":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfepGXqn4LjQH8yD.ttf","regular":"http://fonts.gstatic.com/s/notoserifbengali/v12/hYkuPvggTvnzO14VSXltirUdnnkt1pwmWrprmO7RjE0a5BtdATYU1crFaM_5JfcAHnqn4LjQH8yD.ttf"},"Devonshire":{"regular":"http://fonts.gstatic.com/s/devonshire/v11/46kqlbDwWirWr4gtBD2BX0Vq01lYAZM.ttf"},"Lexend Giga":{"100":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRC2LmE68oo6eepYQ.ttf","200":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRCWLiE68oo6eepYQ.ttf","300":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRChriE68oo6eepYQ.ttf","500":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRC6riE68oo6eepYQ.ttf","600":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRCBr-E68oo6eepYQ.ttf","700":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRCP7-E68oo6eepYQ.ttf","800":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRCWL-E68oo6eepYQ.ttf","900":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRCcb-E68oo6eepYQ.ttf","regular":"http://fonts.gstatic.com/s/lexendgiga/v20/PlIuFl67Mah5Y8yMHE7lkUZPlTBo4MWFfNRC2LiE68oo6eepYQ.ttf"},"Glass Antiqua":{"regular":"http://fonts.gstatic.com/s/glassantiqua/v10/xfu30Wr0Wn3NOQM2piC0uXOjnL_wN6fRUkY.ttf"},"Libre Barcode 39 Extended":{"regular":"http://fonts.gstatic.com/s/librebarcode39extended/v15/8At7Gt6_O5yNS0-K4Nf5U922qSzhJ3dUdfJpwNUgfNRCOZ1GOBw.ttf"},"Viaoda Libre":{"regular":"http://fonts.gstatic.com/s/viaodalibre/v5/vEFW2_lWCgoR6OKuRz9kcRVJb2IY2tOHXg.ttf"},"Jolly Lodger":{"regular":"http://fonts.gstatic.com/s/jollylodger/v10/BXRsvFTAh_bGkA1uQ48dlB3VWerT3ZyuqA.ttf"},"Galdeano":{"regular":"http://fonts.gstatic.com/s/galdeano/v12/uU9MCBoQ4YOqOW1boDPx8PCOg0uX.ttf"},"Bigshot One":{"regular":"http://fonts.gstatic.com/s/bigshotone/v13/u-470qukhRkkO6BD_7cM_gxuUQJBXv_-.ttf"},"Kaisei Tokumin":{"500":"http://fonts.gstatic.com/s/kaiseitokumin/v6/Gg8vN5wdZg7xCwuMsylww2ZiQnqr_3khpMIzeI6v.ttf","700":"http://fonts.gstatic.com/s/kaiseitokumin/v6/Gg8vN5wdZg7xCwuMsylww2ZiQnrj-XkhpMIzeI6v.ttf","800":"http://fonts.gstatic.com/s/kaiseitokumin/v6/Gg8vN5wdZg7xCwuMsylww2ZiQnr_-nkhpMIzeI6v.ttf","regular":"http://fonts.gstatic.com/s/kaiseitokumin/v6/Gg8sN5wdZg7xCwuMsylww2ZiQkJf1l0pj946.ttf"},"Inria Sans":{"300":"http://fonts.gstatic.com/s/inriasans/v4/ptRPTiqXYfZMCOiVj9kQ3ELaDQtFqeY3fX4.ttf","700":"http://fonts.gstatic.com/s/inriasans/v4/ptRPTiqXYfZMCOiVj9kQ3FLdDQtFqeY3fX4.ttf","300italic":"http://fonts.gstatic.com/s/inriasans/v4/ptRRTiqXYfZMCOiVj9kQ1OzAgQlPrcQybX4pQA.ttf","regular":"http://fonts.gstatic.com/s/inriasans/v4/ptRMTiqXYfZMCOiVj9kQ5O7yKQNute8.ttf","italic":"http://fonts.gstatic.com/s/inriasans/v4/ptROTiqXYfZMCOiVj9kQ1Oz4LSFrpe8uZA.ttf","700italic":"http://fonts.gstatic.com/s/inriasans/v4/ptRRTiqXYfZMCOiVj9kQ1OzAkQ5PrcQybX4pQA.ttf"},"Zen Old Mincho":{"700":"http://fonts.gstatic.com/s/zenoldmincho/v7/tss3ApVaYytLwxTqcxfMyBveyb5LrFla8dMgPgBu.ttf","900":"http://fonts.gstatic.com/s/zenoldmincho/v7/tss3ApVaYytLwxTqcxfMyBveyb5zrlla8dMgPgBu.ttf","regular":"http://fonts.gstatic.com/s/zenoldmincho/v7/tss0ApVaYytLwxTqcxfMyBveyYb3g31S2s8p.ttf"},"Libre Barcode 128 Text":{"regular":"http://fonts.gstatic.com/s/librebarcode128text/v16/fdNv9tubt3ZEnz1Gu3I4-zppwZ9CWZ16Z0w5cV3Y6M90w4k.ttf"},"Jim Nightshade":{"regular":"http://fonts.gstatic.com/s/jimnightshade/v10/PlIkFlu9Pb08Q8HLM1PxmB0g-OS4V3qKaMxD.ttf"},"Girassol":{"regular":"http://fonts.gstatic.com/s/girassol/v6/JTUUjIo_-DK48laaNC9Nz2pJzxbi.ttf"},"Caesar Dressing":{"regular":"http://fonts.gstatic.com/s/caesardressing/v11/yYLx0hLa3vawqtwdswbotmK4vrR3cbb6LZttyg.ttf"},"Atomic Age":{"regular":"http://fonts.gstatic.com/s/atomicage/v15/f0Xz0eug6sdmRFkYZZGL58Ht9a8GYeA.ttf"},"Luxurious Script":{"regular":"http://fonts.gstatic.com/s/luxuriousscript/v3/ahcCv9e7yydulT32KZ0rBIoD7DzMg0rOby1JtYk.ttf"},"Baloo Bhaijaan 2":{"500":"http://fonts.gstatic.com/s/baloobhaijaan2/v3/zYXwKUwuEqdVGqM8tPDdAA_Y-_bMKo1EhQd2tWxo8TyjSqP4L4ppfcyC.ttf","600":"http://fonts.gstatic.com/s/baloobhaijaan2/v3/zYXwKUwuEqdVGqM8tPDdAA_Y-_bMKo1EhQd2tWxo8TxPTaP4L4ppfcyC.ttf","700":"http://fonts.gstatic.com/s/baloobhaijaan2/v3/zYXwKUwuEqdVGqM8tPDdAA_Y-_bMKo1EhQd2tWxo8Tx2TaP4L4ppfcyC.ttf","800":"http://fonts.gstatic.com/s/baloobhaijaan2/v3/zYXwKUwuEqdVGqM8tPDdAA_Y-_bMKo1EhQd2tWxo8TwRTaP4L4ppfcyC.ttf","regular":"http://fonts.gstatic.com/s/baloobhaijaan2/v3/zYXwKUwuEqdVGqM8tPDdAA_Y-_bMKo1EhQd2tWxo8TyRSqP4L4ppfcyC.ttf"},"Galindo":{"regular":"http://fonts.gstatic.com/s/galindo/v10/HI_KiYMeLqVKqwyuQ5HiRp-dhpQ.ttf"},"Orelega One":{"regular":"http://fonts.gstatic.com/s/orelegaone/v1/3qTpojOggD2XtAdFb-QXZGt61EcYaQ7F.ttf"},"Peddana":{"regular":"http://fonts.gstatic.com/s/peddana/v10/aFTU7PBhaX89UcKWhh2aBYyMcKw.ttf"},"Revalia":{"regular":"http://fonts.gstatic.com/s/revalia/v13/WwkexPimBE2-4ZPEeVruNIgJSNM.ttf"},"Smythe":{"regular":"http://fonts.gstatic.com/s/smythe/v13/MwQ3bhT01--coT1BOLh_uGInjA.ttf"},"Koulen":{"regular":"http://fonts.gstatic.com/s/koulen/v18/AMOQz46as3KIBPeWgnA9kuYMUg.ttf"},"Londrina Sketch":{"regular":"http://fonts.gstatic.com/s/londrinasketch/v11/c4m41npxGMTnomOHtRU68eIJn8qfWWn5Pos6CA.ttf"},"Dangrek":{"regular":"http://fonts.gstatic.com/s/dangrek/v24/LYjCdG30nEgoH8E2gCNqqVIuTN4.ttf"},"Srisakdi":{"700":"http://fonts.gstatic.com/s/srisakdi/v6/yMJWMIlvdpDbkB0A-gIAUghxoNFxW0Hz.ttf","regular":"http://fonts.gstatic.com/s/srisakdi/v6/yMJRMIlvdpDbkB0A-jq8fSx5i814.ttf"},"Jacques Francois Shadow":{"regular":"http://fonts.gstatic.com/s/jacquesfrancoisshadow/v11/KR1FBtOz8PKTMk-kqdkLVrvR0ECFrB6Pin-2_q8VsHuV5ULS.ttf"},"Train One":{"regular":"http://fonts.gstatic.com/s/trainone/v6/~CgsKCVRyYWluIE9uZSAAKgQIARgB.ttf"},"GFS Neohellenic":{"700":"http://fonts.gstatic.com/s/gfsneohellenic/v15/8QIUdiDOrfiq0b7R8O1Iw9WLcY5rkYdr644fWsRO9w.ttf","regular":"http://fonts.gstatic.com/s/gfsneohellenic/v15/8QIRdiDOrfiq0b7R8O1Iw9WLcY5TLahP46UDUw.ttf","italic":"http://fonts.gstatic.com/s/gfsneohellenic/v15/8QITdiDOrfiq0b7R8O1Iw9WLcY5jL6JLwaATU91X.ttf","700italic":"http://fonts.gstatic.com/s/gfsneohellenic/v15/8QIWdiDOrfiq0b7R8O1Iw9WLcY5jL5r37oQbeMFe985V.ttf"},"Ewert":{"regular":"http://fonts.gstatic.com/s/ewert/v14/va9I4kzO2tFODYBvS-J3kbDP.ttf"},"Noto Sans Myanmar":{"100":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZs_y1ZtY3ymOryg38hOCSdOnFq0HGS1uEapkAC3AY.ttf","200":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HE-98EwiEwLxR-r.ttf","300":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HFa9MEwiEwLxR-r.ttf","500":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HEC9cEwiEwLxR-r.ttf","600":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HEu8sEwiEwLxR-r.ttf","700":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HFK88EwiEwLxR-r.ttf","800":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HFW8MEwiEwLxR-r.ttf","900":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZv_y1ZtY3ymOryg38hOCSdOnFq0HFy8cEwiEwLxR-r.ttf","regular":"http://fonts.gstatic.com/s/notosansmyanmar/v17/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf"},"Plaster":{"regular":"http://fonts.gstatic.com/s/plaster/v14/DdTm79QatW80eRh4Ei5JOtLOeLI.ttf"},"Kirang Haerang":{"regular":"http://fonts.gstatic.com/s/kiranghaerang/v10/E21-_dn_gvvIjhYON1lpIU4-bcqvWPaJq4no.ttf"},"Keania One":{"regular":"http://fonts.gstatic.com/s/keaniaone/v10/zOL54pXJk65E8pXardnuycRuv-hHkOs.ttf"},"Gupter":{"500":"http://fonts.gstatic.com/s/gupter/v4/2-cl9JNmxJqPO1Qslb-bUsT5rZhaZg.ttf","700":"http://fonts.gstatic.com/s/gupter/v4/2-cl9JNmxJqPO1Qs3bmbUsT5rZhaZg.ttf","regular":"http://fonts.gstatic.com/s/gupter/v4/2-cm9JNmxJqPO1QUYZa_Wu_lpA.ttf"},"Bona Nova":{"700":"http://fonts.gstatic.com/s/bonanova/v7/B50IF7ZCpX7fcHfvIUBxN4dOFISeJY8GgQ.ttf","regular":"http://fonts.gstatic.com/s/bonanova/v7/B50NF7ZCpX7fcHfvIUBJi6hqHK-CLA.ttf","italic":"http://fonts.gstatic.com/s/bonanova/v7/B50LF7ZCpX7fcHfvIUB5iaJuPqqSLJYf.ttf"},"Zen Maru Gothic":{"300":"http://fonts.gstatic.com/s/zenmarugothic/v7/o-0XIpIxzW5b-RxT-6A8jWAtCp-cQWpCPJqa_ajlvw.ttf","500":"http://fonts.gstatic.com/s/zenmarugothic/v7/o-0XIpIxzW5b-RxT-6A8jWAtCp-cGWtCPJqa_ajlvw.ttf","700":"http://fonts.gstatic.com/s/zenmarugothic/v7/o-0XIpIxzW5b-RxT-6A8jWAtCp-cUW1CPJqa_ajlvw.ttf","900":"http://fonts.gstatic.com/s/zenmarugothic/v7/o-0XIpIxzW5b-RxT-6A8jWAtCp-caW9CPJqa_ajlvw.ttf","regular":"http://fonts.gstatic.com/s/zenmarugothic/v7/o-0SIpIxzW5b-RxT-6A8jWAtCp-k7UJmNLGG9A.ttf"},"Bahiana":{"regular":"http://fonts.gstatic.com/s/bahiana/v7/uU9PCBUV4YenPWJU7xPb3vyHmlI.ttf"},"Purple Purse":{"regular":"http://fonts.gstatic.com/s/purplepurse/v11/qWctB66gv53iAp-Vfs4My6qyeBb_ujA4ug.ttf"},"IM Fell Great Primer SC":{"regular":"http://fonts.gstatic.com/s/imfellgreatprimersc/v12/ga6daxBOxyt6sCqz3fjZCTFCTUDMHagsQKdDTLf9BXz0s8FG.ttf"},"Kaisei Decol":{"500":"http://fonts.gstatic.com/s/kaiseidecol/v6/bMrvmSqP45sidWf3QmfFW6iKr3gr00i_qb57kA.ttf","700":"http://fonts.gstatic.com/s/kaiseidecol/v6/bMrvmSqP45sidWf3QmfFW6iK534r00i_qb57kA.ttf","regular":"http://fonts.gstatic.com/s/kaiseidecol/v6/bMrwmSqP45sidWf3QmfFW6iyW1EP22OjoA.ttf"},"Bungee Outline":{"regular":"http://fonts.gstatic.com/s/bungeeoutline/v8/_6_mEDvmVP24UvU2MyiGDslL3Qg3YhJqPXxo.ttf"},"Hanalei Fill":{"regular":"http://fonts.gstatic.com/s/hanaleifill/v11/fC1mPYtObGbfyQznIaQzPQiMVwLBplm9aw.ttf"},"Miss Fajardose":{"regular":"http://fonts.gstatic.com/s/missfajardose/v12/E21-_dn5gvrawDdPFVl-N0Ajb8qvWPaJq4no.ttf"},"Grenze":{"100":"http://fonts.gstatic.com/s/grenze/v4/O4ZRFGb7hR12BxqPm2IjuAkalnmd.ttf","200":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPN0MDkicWn2CEyw.ttf","300":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPU0ADkicWn2CEyw.ttf","500":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPC0EDkicWn2CEyw.ttf","600":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPJ0YDkicWn2CEyw.ttf","700":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPQ0cDkicWn2CEyw.ttf","800":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPX0QDkicWn2CEyw.ttf","900":"http://fonts.gstatic.com/s/grenze/v4/O4ZQFGb7hR12BxqPe0UDkicWn2CEyw.ttf","100italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZXFGb7hR12BxqH_VpHsg04k2md0kI.ttf","200italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_Vrrky0SvWWUy1uW.ttf","300italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_VqPkC0SvWWUy1uW.ttf","regular":"http://fonts.gstatic.com/s/grenze/v4/O4ZTFGb7hR12Bxq3_2gnmgwKlg.ttf","italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZRFGb7hR12BxqH_WIjuAkalnmd.ttf","500italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_VrXkS0SvWWUy1uW.ttf","600italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_Vr7li0SvWWUy1uW.ttf","700italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_Vqfly0SvWWUy1uW.ttf","800italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_VqDlC0SvWWUy1uW.ttf","900italic":"http://fonts.gstatic.com/s/grenze/v4/O4ZWFGb7hR12BxqH_VqnlS0SvWWUy1uW.ttf"},"Odor Mean Chey":{"regular":"http://fonts.gstatic.com/s/odormeanchey/v25/raxkHiKDttkTe1aOGcJMR1A_4mrY2zqUKafv.ttf"},"Trochut":{"700":"http://fonts.gstatic.com/s/trochut/v10/CHymV-fDDlP9bDIw3sinWVokMnIllmA.ttf","regular":"http://fonts.gstatic.com/s/trochut/v10/CHyjV-fDDlP9bDIw5nSIfVIPLns.ttf","italic":"http://fonts.gstatic.com/s/trochut/v10/CHyhV-fDDlP9bDIw1naCeXAKPns8jw.ttf"},"Unlock":{"regular":"http://fonts.gstatic.com/s/unlock/v12/7Au-p_8ykD-cDl7GKAjSwkUVOQ.ttf"},"Chela One":{"regular":"http://fonts.gstatic.com/s/chelaone/v11/6ae-4KC7Uqgdz_JZdPIy31vWNTMwoQ.ttf"},"Oldenburg":{"regular":"http://fonts.gstatic.com/s/oldenburg/v10/fC1jPY5JYWzbywv7c4V6UU6oXyndrw.ttf"},"Sunshiney":{"regular":"http://fonts.gstatic.com/s/sunshiney/v13/LDIwapGTLBwsS-wT4vcgE8moUePWkg.ttf"},"Federant":{"regular":"http://fonts.gstatic.com/s/federant/v15/2sDdZGNfip_eirT0_U0jRUG0AqUc.ttf"},"Dr Sugiyama":{"regular":"http://fonts.gstatic.com/s/drsugiyama/v12/HTxoL2k4N3O9n5I1boGI7abRM4-t-g7y.ttf"},"Lexend Tera":{"100":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiM5zITdpz0fYxcrQ.ttf","200":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMZzMTdpz0fYxcrQ.ttf","300":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMuTMTdpz0fYxcrQ.ttf","500":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiM1TMTdpz0fYxcrQ.ttf","600":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMOTQTdpz0fYxcrQ.ttf","700":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMADQTdpz0fYxcrQ.ttf","800":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMZzQTdpz0fYxcrQ.ttf","900":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiMTjQTdpz0fYxcrQ.ttf","regular":"http://fonts.gstatic.com/s/lexendtera/v20/RrQDbo98_jt_IXnBPwCWtYJLZ3P4hnaGKFiM5zMTdpz0fYxcrQ.ttf"},"Zen Kaku Gothic New":{"300":"http://fonts.gstatic.com/s/zenkakugothicnew/v7/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqpdKaWTSTGlMyd8.ttf","500":"http://fonts.gstatic.com/s/zenkakugothicnew/v7/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqs9LaWTSTGlMyd8.ttf","700":"http://fonts.gstatic.com/s/zenkakugothicnew/v7/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqodNaWTSTGlMyd8.ttf","900":"http://fonts.gstatic.com/s/zenkakugothicnew/v7/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqr9PaWTSTGlMyd8.ttf","regular":"http://fonts.gstatic.com/s/zenkakugothicnew/v7/gNMYW2drQpDw0GjzrVNFf_valaDBcznOkjtiTWz5UGA.ttf"},"Snippet":{"regular":"http://fonts.gstatic.com/s/snippet/v12/bWt47f7XfQH9Gupu2v_Afcp9QWc.ttf"},"Smooch":{"regular":"http://fonts.gstatic.com/s/smooch/v3/o-0LIps4xW8U1xUBjqp_6hVdYg.ttf"},"Nova Slim":{"regular":"http://fonts.gstatic.com/s/novaslim/v14/Z9XUDmZNQAuem8jyZcn-yMOInrib9Q.ttf"},"Yomogi":{"regular":"http://fonts.gstatic.com/s/yomogi/v6/VuJwdNrS2ZL7rpoPWIz5NIh-YA.ttf"},"Jacques Francois":{"regular":"http://fonts.gstatic.com/s/jacquesfrancois/v10/ZXu9e04ZvKeOOHIe1TMahbcIU2cgmcPqoeRWfbs.ttf"},"Montagu Slab":{"100":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkDbE3P9Fs7bOSO7.ttf","200":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkBbEnP9Fs7bOSO7.ttf","300":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkCFEnP9Fs7bOSO7.ttf","500":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkDpEnP9Fs7bOSO7.ttf","600":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkAFFXP9Fs7bOSO7.ttf","700":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkA8FXP9Fs7bOSO7.ttf","regular":"http://fonts.gstatic.com/s/montaguslab/v2/6qLhKZIQtB_zv0xUaXRDWkY_HXsphdLRZF40vm_jzR2jhk_n3T6ACkDbEnP9Fs7bOSO7.ttf"},"Metal":{"regular":"http://fonts.gstatic.com/s/metal/v26/lW-wwjUJIXTo7i3nnoQAUdN2.ttf"},"Noto Sans Georgian":{"100":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzVj-f5WK0OQV.ttf","200":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdptnzFj-f5WK0OQV.ttf","300":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpu5zFj-f5WK0OQV.ttf","500":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvVzFj-f5WK0OQV.ttf","600":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdps5y1j-f5WK0OQV.ttf","700":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpsAy1j-f5WK0OQV.ttf","800":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdptny1j-f5WK0OQV.ttf","900":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdptOy1j-f5WK0OQV.ttf","regular":"http://fonts.gstatic.com/s/notosansgeorgian/v28/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf"},"Zhi Mang Xing":{"regular":"http://fonts.gstatic.com/s/zhimangxing/v7/f0Xw0ey79sErYFtWQ9a2rq-g0actfektIJ0.ttf"},"Emblema One":{"regular":"http://fonts.gstatic.com/s/emblemaone/v11/nKKT-GQ0F5dSY8vzG0rOEIRBHl57G_f_.ttf"},"Flavors":{"regular":"http://fonts.gstatic.com/s/flavors/v12/FBV2dDrhxqmveJTpbkzlNqkG9UY.ttf"},"Macondo":{"regular":"http://fonts.gstatic.com/s/macondo/v11/RrQQboN9-iB1IXmOS2XO0LBBd4Y.ttf"},"Texturina":{"100":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2eYG_Ug25riW1OD.ttf","200":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2cYGvUg25riW1OD.ttf","300":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2fGGvUg25riW1OD.ttf","500":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2eqGvUg25riW1OD.ttf","600":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2dGHfUg25riW1OD.ttf","700":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2d_HfUg25riW1OD.ttf","800":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2cYHfUg25riW1OD.ttf","900":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2cxHfUg25riW1OD.ttf","regular":"http://fonts.gstatic.com/s/texturina/v9/c4mM1nxpEtL3pXiAulRTkY-HGmNEX1b9NspjMwhAgliHhVrXy2eYGvUg25riW1OD.ttf","100italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWR1i0Z7AXkODN94.ttf","200italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWZ1j0Z7AXkODN94.ttf","300italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWUNj0Z7AXkODN94.ttf","italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWR1j0Z7AXkODN94.ttf","500italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWS9j0Z7AXkODN94.ttf","600italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWcNk0Z7AXkODN94.ttf","700italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWfpk0Z7AXkODN94.ttf","800italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWZ1k0Z7AXkODN94.ttf","900italic":"http://fonts.gstatic.com/s/texturina/v9/c4mO1nxpEtL3pXiAulR5mL129FhZmLj7I4oiSUJyfYDu7sB5zHJQWbRk0Z7AXkODN94.ttf"},"Kdam Thmor":{"regular":"http://fonts.gstatic.com/s/kdamthmor/v11/MwQzbhjs3veF6QwJVf0JkGMViblPtXs.ttf"},"Kaisei Opti":{"500":"http://fonts.gstatic.com/s/kaiseiopti/v6/QldXNThJphYb8_g6c2nlIGGqxY1u7f34DYwn.ttf","700":"http://fonts.gstatic.com/s/kaiseiopti/v6/QldXNThJphYb8_g6c2nlIGHiw41u7f34DYwn.ttf","regular":"http://fonts.gstatic.com/s/kaiseiopti/v6/QldKNThJphYb8_g6c2nlIFle7KlmxuHx.ttf"},"Meow Script":{"regular":"http://fonts.gstatic.com/s/meowscript/v3/0FlQVPqanlaJrtr8AnJ0ESch0_0CfDf1.ttf"},"Noto Sans Armenian":{"100":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxbq0iYy6zF3Eg.ttf","200":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLopxb60iYy6zF3Eg.ttf","300":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLoqvb60iYy6zF3Eg.ttf","500":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorDb60iYy6zF3Eg.ttf","600":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLoovaK0iYy6zF3Eg.ttf","700":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLooWaK0iYy6zF3Eg.ttf","800":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLopxaK0iYy6zF3Eg.ttf","900":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLopYaK0iYy6zF3Eg.ttf","regular":"http://fonts.gstatic.com/s/notosansarmenian/v28/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf"},"Fascinate":{"regular":"http://fonts.gstatic.com/s/fascinate/v11/z7NWdRrufC8XJK0IIEli1LbQRPyNrw.ttf"},"Mr Bedfort":{"regular":"http://fonts.gstatic.com/s/mrbedfort/v11/MQpR-WCtNZSWAdTMwBicliq0XZe_Iy8.ttf"},"Syne Mono":{"regular":"http://fonts.gstatic.com/s/synemono/v5/K2FzfZNHj_FHBmRbFvHzIqCkDyvqZA.ttf"},"Rampart One":{"regular":"http://fonts.gstatic.com/s/rampartone/v5/K2F1fZFGl_JSR1tAWNG9R6qgLS76ZHOM.ttf"},"Almendra Display":{"regular":"http://fonts.gstatic.com/s/almendradisplay/v13/0FlPVOGWl1Sb4O3tETtADHRRlZhzXS_eTyer338.ttf"},"Vibes":{"regular":"http://fonts.gstatic.com/s/vibes/v4/QdVYSTsmIB6tmbd3HpbsuBlh.ttf"},"Fuggles":{"regular":"http://fonts.gstatic.com/s/fuggles/v6/k3kQo8UEJOlD1hpOTd7iL0nAMaM.ttf"},"Zen Kaku Gothic Antique":{"300":"http://fonts.gstatic.com/s/zenkakugothicantique/v7/6qLVKYkHvh-nlUpKPAdoVFBtfxDzIn1eCzpB22cM9TarWJtyZyGU.ttf","500":"http://fonts.gstatic.com/s/zenkakugothicantique/v7/6qLVKYkHvh-nlUpKPAdoVFBtfxDzIn1eCzpB22dU9DarWJtyZyGU.ttf","700":"http://fonts.gstatic.com/s/zenkakugothicantique/v7/6qLVKYkHvh-nlUpKPAdoVFBtfxDzIn1eCzpB22cc8jarWJtyZyGU.ttf","900":"http://fonts.gstatic.com/s/zenkakugothicantique/v7/6qLVKYkHvh-nlUpKPAdoVFBtfxDzIn1eCzpB22ck8DarWJtyZyGU.ttf","regular":"http://fonts.gstatic.com/s/zenkakugothicantique/v7/6qLQKYkHvh-nlUpKPAdoVFBtfxDzIn1eCzpB21-g3RKjc4d7.ttf"},"Klee One":{"600":"http://fonts.gstatic.com/s/kleeone/v5/LDI2apCLNRc6A8oT4pbYF8Osc-bGkqIw.ttf","regular":"http://fonts.gstatic.com/s/kleeone/v5/LDIxapCLNRc6A8oT4q4AOeekWPrP.ttf"},"Butterfly Kids":{"regular":"http://fonts.gstatic.com/s/butterflykids/v11/ll8lK2CWTjuqAsXDqlnIbMNs5S4arxFrAX1D.ttf"},"Truculenta":{"100":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMlAjswcFHnJMMhg.ttf","200":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMtAiswcFHnJMMhg.ttf","300":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMg4iswcFHnJMMhg.ttf","500":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMmIiswcFHnJMMhg.ttf","600":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMo4lswcFHnJMMhg.ttf","700":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMrclswcFHnJMMhg.ttf","800":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMtAlswcFHnJMMhg.ttf","900":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMvklswcFHnJMMhg.ttf","regular":"http://fonts.gstatic.com/s/truculenta/v6/LhWfMVvBKusVIfNYGi1-WvRVyDdZeeiySNppcu32Mb2f06y6Oa21F6XHi0VYDX_PzOupMlAiswcFHnJMMhg.ttf"},"Nerko One":{"regular":"http://fonts.gstatic.com/s/nerkoone/v5/m8JQjfZSc7OXlB3ZMOjzcJ5BZmqa3A.ttf"},"Gowun Batang":{"700":"http://fonts.gstatic.com/s/gowunbatang/v5/ijwNs5nhRMIjYsdSgcMa3wRZ4J7awssxJii23w.ttf","regular":"http://fonts.gstatic.com/s/gowunbatang/v5/ijwSs5nhRMIjYsdSgcMa3wRhXLH-yuAtLw.ttf"},"Siemreap":{"regular":"http://fonts.gstatic.com/s/siemreap/v15/Gg82N5oFbgLvHAfNl2YbnA8DLXpe.ttf"},"Smokum":{"regular":"http://fonts.gstatic.com/s/smokum/v13/TK3iWkUbAhopmrdGHjUHte5fKg.ttf"},"Bahianita":{"regular":"http://fonts.gstatic.com/s/bahianita/v5/yYLr0hTb3vuqqsBUgxWtxTvV2NJPcA.ttf"},"Erica One":{"regular":"http://fonts.gstatic.com/s/ericaone/v13/WBLnrEXccV9VGrOKmGD1W0_MJMGxiQ.ttf"},"Sedgwick Ave Display":{"regular":"http://fonts.gstatic.com/s/sedgwickavedisplay/v12/xfuu0XPgU3jZPUoUo3ScvmPi-NapQ8OxM2czd-YnOzUD.ttf"},"Freehand":{"regular":"http://fonts.gstatic.com/s/freehand/v25/cIf-Ma5eqk01VjKTgAmBTmUOmZJk.ttf"},"Passero One":{"regular":"http://fonts.gstatic.com/s/passeroone/v14/JTUTjIko8DOq5FeaeEAjgE5B5Arr-s50.ttf"},"Fruktur":{"regular":"http://fonts.gstatic.com/s/fruktur/v15/SZc53FHsOru5QYsMfz3GkUrS8DI.ttf"},"Noto Sans Symbols":{"100":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ4gavVFRkzrbQ.ttf","200":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3g_Q8gavVFRkzrbQ.ttf","300":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gIw8gavVFRkzrbQ.ttf","500":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gTw8gavVFRkzrbQ.ttf","600":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gowggavVFRkzrbQ.ttf","700":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gmgggavVFRkzrbQ.ttf","800":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3g_QggavVFRkzrbQ.ttf","900":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3g1AggavVFRkzrbQ.ttf","regular":"http://fonts.gstatic.com/s/notosanssymbols/v28/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf"},"Suwannaphum":{"100":"http://fonts.gstatic.com/s/suwannaphum/v27/jAnAgHV7GtDvc8jbe8hXXL3B9cSWXx2VZmk.ttf","300":"http://fonts.gstatic.com/s/suwannaphum/v27/jAnfgHV7GtDvc8jbe8hXXL0J1-S8cRGcf3Ai.ttf","700":"http://fonts.gstatic.com/s/suwannaphum/v27/jAnfgHV7GtDvc8jbe8hXXL0Z0OS8cRGcf3Ai.ttf","900":"http://fonts.gstatic.com/s/suwannaphum/v27/jAnfgHV7GtDvc8jbe8hXXL0h0uS8cRGcf3Ai.ttf","regular":"http://fonts.gstatic.com/s/suwannaphum/v27/jAnCgHV7GtDvc8jbe8hXXIWl_8C0Wg2V.ttf"},"Gwendolyn":{"700":"http://fonts.gstatic.com/s/gwendolyn/v3/qkBSXvoO_M3CSss-d7emWLtvmC7HONiSFQ.ttf","regular":"http://fonts.gstatic.com/s/gwendolyn/v3/qkBXXvoO_M3CSss-d7ee5JRLkAXbMQ.ttf"},"Sevillana":{"regular":"http://fonts.gstatic.com/s/sevillana/v11/KFOlCnWFscmDt1Bfiy1vAx05IsDqlA.ttf"},"Seymour One":{"regular":"http://fonts.gstatic.com/s/seymourone/v10/4iCp6Khla9xbjQpoWGGd0myIPYBvgpUI.ttf"},"Hina Mincho":{"regular":"http://fonts.gstatic.com/s/hinamincho/v6/2sDaZGBRhpXa2Jjz5w5LAGW8KbkVZTHR.ttf"},"IM Fell Double Pica SC":{"regular":"http://fonts.gstatic.com/s/imfelldoublepicasc/v12/neIazDmuiMkFo6zj_sHpQ8teNbWlwBB_hXjJ4Y0Eeru2dGg.ttf"},"Otomanopee One":{"regular":"http://fonts.gstatic.com/s/otomanopeeone/v4/xMQNuFtEVKCbvGxme-rSATGm_Aea91uCCB9o.ttf"},"Stalinist One":{"regular":"http://fonts.gstatic.com/s/stalinistone/v33/MQpS-WezM9W4Dd7D3B7I-UT7eZ-UPyacPbo.ttf"},"Bokor":{"regular":"http://fonts.gstatic.com/s/bokor/v28/m8JcjfpeeaqTiR2WdInbcaxE.ttf"},"Kaisei HarunoUmi":{"500":"http://fonts.gstatic.com/s/kaiseiharunoumi/v6/HI_WiZQSLqBQoAHhK_C6N_nzy_jcIj_QlMcFwmC9FAU.ttf","700":"http://fonts.gstatic.com/s/kaiseiharunoumi/v6/HI_WiZQSLqBQoAHhK_C6N_nzy_jcInfWlMcFwmC9FAU.ttf","regular":"http://fonts.gstatic.com/s/kaiseiharunoumi/v6/HI_RiZQSLqBQoAHhK_C6N_nzy_jcGsv5sM8u3mk.ttf"},"Bonbon":{"regular":"http://fonts.gstatic.com/s/bonbon/v14/0FlVVPeVlFec4ee_cDEAbQY5-A.ttf"},"Liu Jian Mao Cao":{"regular":"http://fonts.gstatic.com/s/liujianmaocao/v13/~ChIKEExpdSBKaWFuIE1hbyBDYW8gACoECAEYAQ==.ttf"},"Preahvihear":{"regular":"http://fonts.gstatic.com/s/preahvihear/v25/6NUS8F-dNQeEYhzj7uluxswE49FJf8Wv.ttf"},"Bungee Hairline":{"regular":"http://fonts.gstatic.com/s/bungeehairline/v8/snfys0G548t04270a_ljTLUVrv-7YB2dQ5ZPqQ.ttf"},"Lacquer":{"regular":"http://fonts.gstatic.com/s/lacquer/v5/EYqzma1QwqpG4_BBB7-AXhttQ5I.ttf"},"IBM Plex Sans Arabic":{"100":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe3PC5eMlAMg0.ttf","200":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_dCTVsVJKxTs.ttf","300":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_tCTVsVJKxTs.ttf","500":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_9CTVsVJKxTs.ttf","600":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-NCTVsVJKxTs.ttf","700":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-dCTVsVJKxTs.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsansarabic/v5/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6bs61vSbfdlA.ttf"},"Snowburst One":{"regular":"http://fonts.gstatic.com/s/snowburstone/v10/MQpS-WezKdujBsXY3B7I-UT7eZ-UPyacPbo.ttf"},"Hanalei":{"regular":"http://fonts.gstatic.com/s/hanalei/v13/E21n_dD8iufIjBRHXzgmVydREus.ttf"},"Miltonian Tattoo":{"regular":"http://fonts.gstatic.com/s/miltoniantattoo/v18/EvOUzBRL0o0kCxF-lcMCQxlpVsA_FwP8MDBku-s.ttf"},"Zen Loop":{"regular":"http://fonts.gstatic.com/s/zenloop/v5/h0GrssK16UsnJwHsEK9zqwzX5vOG.ttf","italic":"http://fonts.gstatic.com/s/zenloop/v5/h0GtssK16UsnJwHsEJ9xoQj14-OGJ0w.ttf"},"Comforter":{"regular":"http://fonts.gstatic.com/s/comforter/v3/H4clBXOCl8nQnlaql3Qa6JG8iqeuag.ttf"},"Gidugu":{"regular":"http://fonts.gstatic.com/s/gidugu/v11/L0x8DFMkk1Uf6w3RvPCmRSlUig.ttf"},"Ballet":{"regular":"http://fonts.gstatic.com/s/ballet/v6/QGYyz_MYZA-HM4NjuGOVnUEXme1I4Xi3C4G-EiAou6Y.ttf"},"Hahmlet":{"100":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RhKOdjobsO-aVxn.ttf","200":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RjKONjobsO-aVxn.ttf","300":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RgUONjobsO-aVxn.ttf","500":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4Rh4ONjobsO-aVxn.ttf","600":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RiUP9jobsO-aVxn.ttf","700":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RitP9jobsO-aVxn.ttf","800":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RjKP9jobsO-aVxn.ttf","900":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RjjP9jobsO-aVxn.ttf","regular":"http://fonts.gstatic.com/s/hahmlet/v5/BngXUXpCQ3nKpIo0TfPyfCdXfaeU4RhKONjobsO-aVxn.ttf"},"Chenla":{"regular":"http://fonts.gstatic.com/s/chenla/v23/SZc43FDpIKu8WZ9eXxfonUPL6Q.ttf"},"Miltonian":{"regular":"http://fonts.gstatic.com/s/miltonian/v16/zOL-4pbPn6Ne9JqTg9mr6e5As-FeiQ.ttf"},"IBM Plex Sans KR":{"100":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFM2-VJISZe3O_rc3ZVYh4aTwNOyra_X5zCpMrMfA.ttf","200":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFN2-VJISZe3O_rc3ZVYh4aTwNOyhqef7bsqMPVZb4.ttf","300":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFN2-VJISZe3O_rc3ZVYh4aTwNOyn6df7bsqMPVZb4.ttf","500":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFN2-VJISZe3O_rc3ZVYh4aTwNOyiacf7bsqMPVZb4.ttf","600":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFN2-VJISZe3O_rc3ZVYh4aTwNOygqbf7bsqMPVZb4.ttf","700":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFN2-VJISZe3O_rc3ZVYh4aTwNOym6af7bsqMPVZb4.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsanskr/v5/vEFK2-VJISZe3O_rc3ZVYh4aTwNO8tK1W77HtMo.ttf"},"Karantina":{"300":"http://fonts.gstatic.com/s/karantina/v1/buExpo24ccnh31GVMABxXCgf-P5Oaiw4cw.ttf","700":"http://fonts.gstatic.com/s/karantina/v1/buExpo24ccnh31GVMABxTC8f-P5Oaiw4cw.ttf","regular":"http://fonts.gstatic.com/s/karantina/v1/buE0po24ccnh31GVMABJ8AA78NVSYw.ttf"},"Butcherman":{"regular":"http://fonts.gstatic.com/s/butcherman/v14/2EbiL-thF0loflXUBOdb1zWzq_5uT84.ttf"},"Zen Antique":{"regular":"http://fonts.gstatic.com/s/zenantique/v7/AYCPpXPnd91Ma_Zf-Ri2JXJq7PKP5Z_G.ttf"},"Astloch":{"700":"http://fonts.gstatic.com/s/astloch/v14/TuGUUVJ8QI5GSeUjk2A-6MNPA10xLMQ.ttf","regular":"http://fonts.gstatic.com/s/astloch/v14/TuGRUVJ8QI5GSeUjq9wRzMtkH1Q.ttf"},"Supermercado One":{"regular":"http://fonts.gstatic.com/s/supermercadoone/v12/OpNXnpQWg8jc_xps_Gi14kVVEXOn60b3MClBRTs.ttf"},"Murecho":{"100":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMpr5HWZLCpUOaM6.ttf","200":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMrr5XWZLCpUOaM6.ttf","300":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMo15XWZLCpUOaM6.ttf","500":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMpZ5XWZLCpUOaM6.ttf","600":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMq14nWZLCpUOaM6.ttf","700":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMqM4nWZLCpUOaM6.ttf","800":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMrr4nWZLCpUOaM6.ttf","900":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMrC4nWZLCpUOaM6.ttf","regular":"http://fonts.gstatic.com/s/murecho/v2/q5uYsoq3NOBn_I-ggCJg98TBOoNFCMpr5XWZLCpUOaM6.ttf"},"Benne":{"regular":"http://fonts.gstatic.com/s/benne/v10/L0xzDFAhn18E6Vjxlt6qTDBN.ttf"},"Nova Script":{"regular":"http://fonts.gstatic.com/s/novascript/v15/7Au7p_IpkSWSTWaFWkumvmQNEl0O0kEx.ttf"},"New Tegomin":{"regular":"http://fonts.gstatic.com/s/newtegomin/v5/SLXMc1fV7Gd9USdBAfPlqfN0Q3ptkDMN.ttf"},"Aubrey":{"regular":"http://fonts.gstatic.com/s/aubrey/v15/q5uGsou7NPBw-p7vugNsCxVEgA.ttf"},"Taprom":{"regular":"http://fonts.gstatic.com/s/taprom/v25/UcCn3F82JHycULbFQyk3-0kvHg.ttf"},"BioRhyme Expanded":{"200":"http://fonts.gstatic.com/s/biorhymeexpanded/v8/i7dVIE1zZzytGswgU577CDY9LjbffxxcblSHSdTXrb_z.ttf","300":"http://fonts.gstatic.com/s/biorhymeexpanded/v8/i7dVIE1zZzytGswgU577CDY9Ljbffxw4bVSHSdTXrb_z.ttf","700":"http://fonts.gstatic.com/s/biorhymeexpanded/v8/i7dVIE1zZzytGswgU577CDY9LjbffxwoalSHSdTXrb_z.ttf","800":"http://fonts.gstatic.com/s/biorhymeexpanded/v8/i7dVIE1zZzytGswgU577CDY9Ljbffxw0aVSHSdTXrb_z.ttf","regular":"http://fonts.gstatic.com/s/biorhymeexpanded/v8/i7dQIE1zZzytGswgU577CDY9LjbffySURXCPYsje.ttf"},"Birthstone":{"regular":"http://fonts.gstatic.com/s/birthstone/v8/8AtsGs2xO4yLRhy87sv_HLn5jRfZHzM.ttf"},"Nova Oval":{"regular":"http://fonts.gstatic.com/s/novaoval/v14/jAnEgHdmANHvPenMaswCMY-h3cWkWg.ttf"},"Long Cang":{"regular":"http://fonts.gstatic.com/s/longcang/v7/LYjAdGP8kkgoTec8zkRgrXArXN7HWQ.ttf"},"Nova Cut":{"regular":"http://fonts.gstatic.com/s/novacut/v14/KFOkCnSYu8mL-39LkWxPKTM1K9nz.ttf"},"Stick No Bills":{"200":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVP8Q7KriwKhcTKA.ttf","300":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcV4cQ7KriwKhcTKA.ttf","500":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVjcQ7KriwKhcTKA.ttf","600":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVYcM7KriwKhcTKA.ttf","700":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVWMM7KriwKhcTKA.ttf","800":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVP8M7KriwKhcTKA.ttf","regular":"http://fonts.gstatic.com/s/sticknobills/v4/bWts7ffXZwHuAa9Uld-oEK4QKlxj9f9t_7uEmjcVv8Q7KriwKhcTKA.ttf"},"Moulpali":{"regular":"http://fonts.gstatic.com/s/moulpali/v26/H4ckBXKMl9HagUWymyY6wr-wg763.ttf"},"Sofadi One":{"regular":"http://fonts.gstatic.com/s/sofadione/v11/JIA2UVBxdnVBuElZaMFGcDOIETkmYDU.ttf"},"Shippori Antique":{"regular":"http://fonts.gstatic.com/s/shipporiantique/v6/-F6qfid3KC8pdMyzR0qRyFUht11v8ldPg-IUDNg.ttf"},"Gluten":{"100":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_zh3_DMrQqcdJrk.ttf","200":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_7h2_DMrQqcdJrk.ttf","300":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_2Z2_DMrQqcdJrk.ttf","500":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_wp2_DMrQqcdJrk.ttf","600":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_-Zx_DMrQqcdJrk.ttf","700":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_99x_DMrQqcdJrk.ttf","800":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_7hx_DMrQqcdJrk.ttf","900":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_5Fx_DMrQqcdJrk.ttf","regular":"http://fonts.gstatic.com/s/gluten/v4/HhyIU5gk9fW7OUdVIPh2wBPxSqQJ_zh2_DMrQqcdJrk.ttf"},"Noto Sans Gothic":{"regular":"http://fonts.gstatic.com/s/notosansgothic/v13/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf"},"Geostar Fill":{"regular":"http://fonts.gstatic.com/s/geostarfill/v13/AMOWz4SWuWiXFfjEohxQ9os0U1K2w9lb4g.ttf"},"Zen Antique Soft":{"regular":"http://fonts.gstatic.com/s/zenantiquesoft/v7/DtV4JwqzSL1q_KwnEWMc_3xfgW6ihwBmkui5HNg.ttf"},"Suravaram":{"regular":"http://fonts.gstatic.com/s/suravaram/v11/_gP61R_usiY7SCym4xIAi261Qv9roQ.ttf"},"Petemoss":{"regular":"http://fonts.gstatic.com/s/petemoss/v3/A2BZn5tA2xgtGWHZgxkesKb9UouQ.ttf"},"Alumni Sans":{"100":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9OO5QqFsJ3C8qng.ttf","200":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9uO9QqFsJ3C8qng.ttf","300":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9Zu9QqFsJ3C8qng.ttf","500":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9Cu9QqFsJ3C8qng.ttf","600":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd95uhQqFsJ3C8qng.ttf","700":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd93-hQqFsJ3C8qng.ttf","800":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9uOhQqFsJ3C8qng.ttf","900":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9kehQqFsJ3C8qng.ttf","regular":"http://fonts.gstatic.com/s/alumnisans/v6/nwpHtKqkOwdO2aOIwhWudEWpx_zq_Xna-Xd9OO9QqFsJ3C8qng.ttf","100italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Ky46lEN_io6npfB.ttf","200italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Kw461EN_io6npfB.ttf","300italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Kzm61EN_io6npfB.ttf","italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Ky461EN_io6npfB.ttf","500italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8KyK61EN_io6npfB.ttf","600italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Kxm7FEN_io6npfB.ttf","700italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Kxf7FEN_io6npfB.ttf","800italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8Kw47FEN_io6npfB.ttf","900italic":"http://fonts.gstatic.com/s/alumnisans/v6/nwpBtKqkOwdO2aOIwhWudG-g9QMylBJAV3Bo8KwR7FEN_io6npfB.ttf"},"Bonheur Royale":{"regular":"http://fonts.gstatic.com/s/bonheurroyale/v7/c4m51nt_GMTrtX-b9GcG4-YRmYK_c0f1N5Ij.ttf"},"Birthstone Bounce":{"500":"http://fonts.gstatic.com/s/birthstonebounce/v7/ga6SaxZF43lIvTWrktHOTBJZGH7dEd29MacQJZP1LmD9.ttf","regular":"http://fonts.gstatic.com/s/birthstonebounce/v7/ga6XaxZF43lIvTWrktHOTBJZGH7dEeVJGIMYDo_8.ttf"},"Andada Pro":{"500":"http://fonts.gstatic.com/s/andadapro/v7/HhyEU5Qi9-SuOEhPe4LtKoVCuWGURPcg3DP7BY8cFLzvIt2S.ttf","600":"http://fonts.gstatic.com/s/andadapro/v7/HhyEU5Qi9-SuOEhPe4LtKoVCuWGURPcg3DMXAo8cFLzvIt2S.ttf","700":"http://fonts.gstatic.com/s/andadapro/v7/HhyEU5Qi9-SuOEhPe4LtKoVCuWGURPcg3DMuAo8cFLzvIt2S.ttf","800":"http://fonts.gstatic.com/s/andadapro/v7/HhyEU5Qi9-SuOEhPe4LtKoVCuWGURPcg3DNJAo8cFLzvIt2S.ttf","regular":"http://fonts.gstatic.com/s/andadapro/v7/HhyEU5Qi9-SuOEhPe4LtKoVCuWGURPcg3DPJBY8cFLzvIt2S.ttf","italic":"http://fonts.gstatic.com/s/andadapro/v7/HhyGU5Qi9-SuOEhPe4LtAIxwRrn9L22O2yYBRmdfHrjNJ82Stjw.ttf","500italic":"http://fonts.gstatic.com/s/andadapro/v7/HhyGU5Qi9-SuOEhPe4LtAIxwRrn9L22O2yYBRlVfHrjNJ82Stjw.ttf","600italic":"http://fonts.gstatic.com/s/andadapro/v7/HhyGU5Qi9-SuOEhPe4LtAIxwRrn9L22O2yYBRrlYHrjNJ82Stjw.ttf","700italic":"http://fonts.gstatic.com/s/andadapro/v7/HhyGU5Qi9-SuOEhPe4LtAIxwRrn9L22O2yYBRoBYHrjNJ82Stjw.ttf","800italic":"http://fonts.gstatic.com/s/andadapro/v7/HhyGU5Qi9-SuOEhPe4LtAIxwRrn9L22O2yYBRudYHrjNJ82Stjw.ttf"},"Carattere":{"regular":"http://fonts.gstatic.com/s/carattere/v5/4iCv6Kp1b9dXlgt_CkvTt2aMH4V_gg.ttf"},"Noto Serif Malayalam":{"100":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1t-1fnVwHpQVySg.ttf","200":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1N-xfnVwHpQVySg.ttf","300":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL16exfnVwHpQVySg.ttf","500":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1hexfnVwHpQVySg.ttf","600":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1aetfnVwHpQVySg.ttf","700":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1UOtfnVwHpQVySg.ttf","800":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1N-tfnVwHpQVySg.ttf","900":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1HutfnVwHpQVySg.ttf","regular":"http://fonts.gstatic.com/s/notoserifmalayalam/v12/JIAZUU5sdmdP_HMcVcZFcH7DeVBeGVgSMEk2cmVDq1ihUXL1t-xfnVwHpQVySg.ttf"},"Comforter Brush":{"regular":"http://fonts.gstatic.com/s/comforterbrush/v3/Y4GTYa1xVSggrfzZI5WMjxRaOz0jwLL9Th8YYA.ttf"},"Dhurjati":{"regular":"http://fonts.gstatic.com/s/dhurjati/v10/_6_8ED3gSeatXfFiFX3ySKQtuTA2.ttf"},"Imbue":{"100":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP8iWfOsNNK-Q4xY.ttf","200":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP0iXfOsNNK-Q4xY.ttf","300":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP5aXfOsNNK-Q4xY.ttf","500":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP_qXfOsNNK-Q4xY.ttf","600":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoPxaQfOsNNK-Q4xY.ttf","700":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoPy-QfOsNNK-Q4xY.ttf","800":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP0iQfOsNNK-Q4xY.ttf","900":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP2GQfOsNNK-Q4xY.ttf","regular":"http://fonts.gstatic.com/s/imbue/v9/RLpXK5P16Ki3fXhj5cvGrqjocPk4n-gVX3M93TnrnvhoP8iXfOsNNK-Q4xY.ttf"},"Mochiy Pop P One":{"regular":"http://fonts.gstatic.com/s/mochiypoppone/v5/Ktk2AKuPeY_td1-h9LayHYWCjAqyN4O3WYZB_sU.ttf"},"Xanh Mono":{"regular":"http://fonts.gstatic.com/s/xanhmono/v7/R70YjykVmvKCep-vWhSYmACQXzLhTg.ttf","italic":"http://fonts.gstatic.com/s/xanhmono/v7/R70ejykVmvKCep-vWhSomgqUfTfxTo24.ttf"},"Zen Kurenaido":{"regular":"http://fonts.gstatic.com/s/zenkurenaido/v7/3XFsEr0515BK2u6UUptu_gWJZfz22PRLd0U.ttf"},"Encode Sans SC":{"100":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HHhn8c9NOEEClIc.ttf","200":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HPhm8c9NOEEClIc.ttf","300":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HCZm8c9NOEEClIc.ttf","500":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HEpm8c9NOEEClIc.ttf","600":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HKZh8c9NOEEClIc.ttf","700":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HJ9h8c9NOEEClIc.ttf","800":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HPhh8c9NOEEClIc.ttf","900":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HNFh8c9NOEEClIc.ttf","regular":"http://fonts.gstatic.com/s/encodesanssc/v4/jVyp7nLwCGzQ9zE7ZyRg0QRXHPZc_uUA6Kb3VJWLE_Pdtm7lcD6qvXT1HHhm8c9NOEEClIc.ttf"},"Fasthand":{"regular":"http://fonts.gstatic.com/s/fasthand/v24/0yb9GDohyKTYn_ZEESkuYkw2rQg1.ttf"},"Langar":{"regular":"http://fonts.gstatic.com/s/langar/v15/kJEyBukW7AIlgjGVrTVZ99sqrQ.ttf"},"Estonia":{"regular":"http://fonts.gstatic.com/s/estonia/v7/7Au_p_4ijSecA1yHCCL8zkwMIFg.ttf"},"Palette Mosaic":{"regular":"http://fonts.gstatic.com/s/palettemosaic/v5/AMOIz4aBvWuBFe3TohdW6YZ9MFiy4dxL4jSr.ttf"},"Gowun Dodum":{"regular":"http://fonts.gstatic.com/s/gowundodum/v5/3Jn5SD_00GqwlBnWc1TUJF0FfORL0fNy.ttf"},"Lexend Peta":{"100":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgR6SFyW1YuRTsnfw.ttf","200":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRaSByW1YuRTsnfw.ttf","300":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRtyByW1YuRTsnfw.ttf","500":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgR2yByW1YuRTsnfw.ttf","600":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRNydyW1YuRTsnfw.ttf","700":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRDidyW1YuRTsnfw.ttf","800":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRaSdyW1YuRTsnfw.ttf","900":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgRQCdyW1YuRTsnfw.ttf","regular":"http://fonts.gstatic.com/s/lexendpeta/v20/BXR4vFPGjeLPh0kCfI4OkFX-UTQHSCaxvBgR6SByW1YuRTsnfw.ttf"},"Big Shoulders Inline Text":{"100":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwga0yqGN7Y6Jsc8c.ttf","200":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgY0y6GN7Y6Jsc8c.ttf","300":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgbqy6GN7Y6Jsc8c.ttf","500":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgaGy6GN7Y6Jsc8c.ttf","600":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgZqzKGN7Y6Jsc8c.ttf","700":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgZTzKGN7Y6Jsc8c.ttf","800":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgY0zKGN7Y6Jsc8c.ttf","900":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwgYdzKGN7Y6Jsc8c.ttf","regular":"http://fonts.gstatic.com/s/bigshouldersinlinetext/v10/vm8XdQDmVECV5-vm5dJ-Tp-6WDeRjL4RV7dP8u-NMyHY74qpoNNcwga0y6GN7Y6Jsc8c.ttf"},"Genos":{"100":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVqknorUK6K7ZsAg.ttf","200":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVKkjorUK6K7ZsAg.ttf","300":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwV9EjorUK6K7ZsAg.ttf","500":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVmEjorUK6K7ZsAg.ttf","600":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVdE_orUK6K7ZsAg.ttf","700":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVTU_orUK6K7ZsAg.ttf","800":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVKk_orUK6K7ZsAg.ttf","900":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVA0_orUK6K7ZsAg.ttf","regular":"http://fonts.gstatic.com/s/genos/v2/SlGNmQqPqpUOYTYjacb0Hc91fTwVqkjorUK6K7ZsAg.ttf","100italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgsA70i-CbN8Ard7.ttf","200italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYguA7ki-CbN8Ard7.ttf","300italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgte7ki-CbN8Ard7.ttf","italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgsA7ki-CbN8Ard7.ttf","500italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgsy7ki-CbN8Ard7.ttf","600italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgve6Ui-CbN8Ard7.ttf","700italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgvn6Ui-CbN8Ard7.ttf","800italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYguA6Ui-CbN8Ard7.ttf","900italic":"http://fonts.gstatic.com/s/genos/v2/SlGPmQqPqpUOYRwqWzksdKTv0zsAYgup6Ui-CbN8Ard7.ttf"},"Libre Barcode EAN13 Text":{"regular":"http://fonts.gstatic.com/s/librebarcodeean13text/v9/wlpigxXFDU1_oCu9nfZytgIqSG0XRcJm_OQiB96PAGEki52WfA.ttf"},"Kenia":{"regular":"http://fonts.gstatic.com/s/kenia/v14/jizURE5PuHQH9qCONUGswfGM.ttf"},"Zen Tokyo Zoo":{"regular":"http://fonts.gstatic.com/s/zentokyozoo/v5/NGSyv5ffC0J_BK6aFNtr6sRv8a1uRWe9amg.ttf"},"Geostar":{"regular":"http://fonts.gstatic.com/s/geostar/v13/sykz-yx4n701VLOftSq9-trEvlQ.ttf"},"Noto Serif Tamil":{"100":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecattN6R8Pz3v8Etew.ttf","200":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatNN-R8Pz3v8Etew.ttf","300":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecat6t-R8Pz3v8Etew.ttf","500":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatht-R8Pz3v8Etew.ttf","600":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatatiR8Pz3v8Etew.ttf","700":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatU9iR8Pz3v8Etew.ttf","800":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatNNiR8Pz3v8Etew.ttf","900":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecatHdiR8Pz3v8Etew.ttf","regular":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjndHr-klIgTfc40komjQ5OObazYp-6H94dBF-RX6nNRJfi-Gf55IgAecattN-R8Pz3v8Etew.ttf","100italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJx5svbzncQ9e3wx.ttf","200italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJz5s_bzncQ9e3wx.ttf","300italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJwns_bzncQ9e3wx.ttf","italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJx5s_bzncQ9e3wx.ttf","500italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJxLs_bzncQ9e3wx.ttf","600italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJyntPbzncQ9e3wx.ttf","700italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJyetPbzncQ9e3wx.ttf","800italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJz5tPbzncQ9e3wx.ttf","900italic":"http://fonts.gstatic.com/s/notoseriftamil/v13/LYjldHr-klIgTfc40komjQ5OObazSJaI_D5kV8k_WLwFBmWrypghjeOa18G4fJzQtPbzncQ9e3wx.ttf"},"M PLUS 1":{"100":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5VSe78nZcsGGycA.ttf","200":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW51Sa78nZcsGGycA.ttf","300":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5Cya78nZcsGGycA.ttf","500":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5Zya78nZcsGGycA.ttf","600":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5iyG78nZcsGGycA.ttf","700":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5siG78nZcsGGycA.ttf","800":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW51SG78nZcsGGycA.ttf","900":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5_CG78nZcsGGycA.ttf","regular":"http://fonts.gstatic.com/s/mplus1/v2/R70EjygA28ymD4HgBUGzkN5Eyoj-WpW5VSa78nZcsGGycA.ttf"},"Trispace":{"100":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbH9qoQl0zHugpt0.ttf","200":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbP9roQl0zHugpt0.ttf","300":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbCFroQl0zHugpt0.ttf","500":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbE1roQl0zHugpt0.ttf","600":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbKFsoQl0zHugpt0.ttf","700":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbJhsoQl0zHugpt0.ttf","800":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbP9soQl0zHugpt0.ttf","regular":"http://fonts.gstatic.com/s/trispace/v6/Yq65-LKSQC3o56LxxgRrtA6yBqsrXL5GI5KI-IUZVGsxWFIlbH9roQl0zHugpt0.ttf"},"Grechen Fuemen":{"regular":"http://fonts.gstatic.com/s/grechenfuemen/v5/vEFI2_tHEQ4d5ObgKxBzZh0MAWgc-NaXXq7H.ttf"},"Noto Sans Tamil Supplement":{"regular":"http://fonts.gstatic.com/s/notosanstamilsupplement/v17/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf"},"Warnes":{"regular":"http://fonts.gstatic.com/s/warnes/v12/pONn1hc0GsW6sW5OpiC2o6Lkqg.ttf"},"Qahiri":{"regular":"http://fonts.gstatic.com/s/qahiri/v5/tsssAp1RZy0C_hGuU3Chrnmupw.ttf"},"M PLUS 1 Code":{"100":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7iN0XHpapwmdZhY.ttf","200":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7gN0HHpapwmdZhY.ttf","300":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7jT0HHpapwmdZhY.ttf","500":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7i_0HHpapwmdZhY.ttf","600":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7hT13HpapwmdZhY.ttf","700":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7hq13HpapwmdZhY.ttf","regular":"http://fonts.gstatic.com/s/mplus1code/v3/ypvMbXOOx2xFpzmYJS3N2_J2hBN6RZ5oIp8m_7iN0HHpapwmdZhY.ttf"},"Cherish":{"regular":"http://fonts.gstatic.com/s/cherish/v5/ll88K2mXUyqsDsTN5iDCI6IJjg8.ttf"},"Are You Serious":{"regular":"http://fonts.gstatic.com/s/areyouserious/v8/ll8kK2GVSSr-PtjQ5nONVcNn4306hT9nCGRayg.ttf"},"Kings":{"regular":"http://fonts.gstatic.com/s/kings/v3/8AtnGsK4O5CYXU_Iq6GSPaHS.ttf"},"M PLUS 2":{"100":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwOa-VxlqHrzNgAw.ttf","200":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwua6VxlqHrzNgAw.ttf","300":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwZ66VxlqHrzNgAw.ttf","500":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwC66VxlqHrzNgAw.ttf","600":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkw56mVxlqHrzNgAw.ttf","700":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkw3qmVxlqHrzNgAw.ttf","800":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwuamVxlqHrzNgAw.ttf","900":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwkKmVxlqHrzNgAw.ttf","regular":"http://fonts.gstatic.com/s/mplus2/v2/7Auhp_Eq3gO_OGbGGhjdwrDdpeIBxlkwOa6VxlqHrzNgAw.ttf"},"Flow Circular":{"regular":"http://fonts.gstatic.com/s/flowcircular/v4/lJwB-pc4j2F-H8YKuyvfxdZ45ifpWdr2rIg.ttf"},"Yuji Syuku":{"regular":"http://fonts.gstatic.com/s/yujisyuku/v3/BngNUXdTV3vO6Lw5ApOPqPfgwqiA-Rk.ttf"},"Rubik Beastly":{"regular":"http://fonts.gstatic.com/s/rubikbeastly/v5/0QImMXRd5oOmSC2ZQ7o9653X07z8_ApHqqk.ttf"},"Fleur De Leah":{"regular":"http://fonts.gstatic.com/s/fleurdeleah/v5/AYCNpXX7ftYZWLhv9UmPJTMC5vat4I_Gdq0.ttf"},"Big Shoulders Inline Display":{"100":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0nBEnR5yPc2Huux.ttf","200":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0lBE3R5yPc2Huux.ttf","300":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0mfE3R5yPc2Huux.ttf","500":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0nzE3R5yPc2Huux.ttf","600":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0kfFHR5yPc2Huux.ttf","700":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0kmFHR5yPc2Huux.ttf","800":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0lBFHR5yPc2Huux.ttf","900":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0loFHR5yPc2Huux.ttf","regular":"http://fonts.gstatic.com/s/bigshouldersinlinedisplay/v10/_LOumyfF4eSU_SCrJc9OI24U7siGvBGcZqmqV9-ZZ85CGNOFeNLxoYMPJ0nBE3R5yPc2Huux.ttf"},"Hurricane":{"regular":"http://fonts.gstatic.com/s/hurricane/v3/pe0sMIuULZxTolZ5YldyAv2-C99ycg.ttf"},"Syne Tactile":{"regular":"http://fonts.gstatic.com/s/synetactile/v13/11hGGpna2UTQKjMCVzjAPMKh3ysdjvKU8Q.ttf"},"IBM Plex Sans Thai Looped":{"100":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss5AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_HaKpHOtFCQ76Q.ttf","200":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss6AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_NqrhFmDGC0i8Cc.ttf","300":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss6AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_L6ohFmDGC0i8Cc.ttf","500":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss6AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_OaphFmDGC0i8Cc.ttf","600":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss6AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_MquhFmDGC0i8Cc.ttf","700":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss6AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30L_K6vhFmDGC0i8Cc.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsansthailooped/v5/tss_AoJJRAhL3BTrK3r2xxbFhvKfyBB6l7hHT30LxBKAoFGoBCQ.ttf"},"Flow Rounded":{"regular":"http://fonts.gstatic.com/s/flowrounded/v4/-zki91mtwsU9qlLiGwD4oQX3oZX-Xup87g.ttf"},"Flow Block":{"regular":"http://fonts.gstatic.com/s/flowblock/v4/wlp0gwfPCEB65UmTk-d6-WZlbCBXE_I.ttf"},"Oi":{"regular":"http://fonts.gstatic.com/s/oi/v13/w8gXH2EuRqtaut6yjBOG.ttf"},"Grey Qo":{"regular":"http://fonts.gstatic.com/s/greyqo/v5/BXRrvF_Nmv_TyXxNDOtQ9Wf0QcE.ttf"},"Yuji Boku":{"regular":"http://fonts.gstatic.com/s/yujiboku/v3/P5sAzZybeNzXsA9xj1Fkjb2r2dgvJA.ttf"},"Dongle":{"300":"http://fonts.gstatic.com/s/dongle/v6/sJoG3Ltdjt6VPkqeEcxrYjWNzXvVPA.ttf","700":"http://fonts.gstatic.com/s/dongle/v6/sJoG3Ltdjt6VPkqeActrYjWNzXvVPA.ttf","regular":"http://fonts.gstatic.com/s/dongle/v6/sJoF3Ltdjt6VPkqmveRPah6RxA.ttf"},"Puppies Play":{"regular":"http://fonts.gstatic.com/s/puppiesplay/v3/wlp2gwHZEV99rG6M3NR9uB9vaAJSA_JN3Q.ttf"},"Passions Conflict":{"regular":"http://fonts.gstatic.com/s/passionsconflict/v3/kmKnZrcrFhfafnWX9x0GuEC-zowow5NeYRI4CN2V.ttf"},"Sassy Frass":{"regular":"http://fonts.gstatic.com/s/sassyfrass/v3/LhWhMVrGOe0FLb97BjhsE99dGNWQg_am.ttf"},"Yuji Mai":{"regular":"http://fonts.gstatic.com/s/yujimai/v3/ZgNQjPxdJ7DEHrS0gC38hmHmNpCO.ttf"},"Koh Santepheap":{"100":"http://fonts.gstatic.com/s/kohsantepheap/v7/gNMfW3p6SJbwyGj2rBZyeOrTjNuFHVyTtjNJUWU.ttf","300":"http://fonts.gstatic.com/s/kohsantepheap/v7/gNMeW3p6SJbwyGj2rBZyeOrTjNtNP3y5mD9ASHz5.ttf","700":"http://fonts.gstatic.com/s/kohsantepheap/v7/gNMeW3p6SJbwyGj2rBZyeOrTjNtdOHy5mD9ASHz5.ttf","900":"http://fonts.gstatic.com/s/kohsantepheap/v7/gNMeW3p6SJbwyGj2rBZyeOrTjNtlOny5mD9ASHz5.ttf","regular":"http://fonts.gstatic.com/s/kohsantepheap/v7/gNMdW3p6SJbwyGj2rBZyeOrTjOPhF1ixsyNJ.ttf"},"Gideon Roman":{"regular":"http://fonts.gstatic.com/s/gideonroman/v5/e3tmeuGrVOys8sxzZgWlmXoge0PWovdU4w.ttf"},"Shippori Antique B1":{"regular":"http://fonts.gstatic.com/s/shipporiantiqueb1/v6/2Eb7L_JwClR7Zl_UAKZ0mUHw3oMKd40grRFCj9-5Y8Y.ttf"},"Explora":{"regular":"http://fonts.gstatic.com/s/explora/v5/tsstApxFfjUH4wrvc1qPonC3vqc.ttf"},"Caramel":{"regular":"http://fonts.gstatic.com/s/caramel/v5/P5sCzZKBbMTf_ShyxCRuiZ-uydg.ttf"},"IBM Plex Sans Hebrew":{"100":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa4qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEXB-l0VqDaM7C4.ttf","200":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa5qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEVt230_hjqF9Tc2.ttf","300":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa5qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEUJ2H0_hjqF9Tc2.ttf","500":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa5qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEVR2X0_hjqF9Tc2.ttf","600":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa5qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEV93n0_hjqF9Tc2.ttf","700":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa5qYENg9Kw1mpLpO0bGM5lfHAAZHhDXEUZ330_hjqF9Tc2.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsanshebrew/v5/BCa2qYENg9Kw1mpLpO0bGM5lfHAAZHhDXH2l8Fk3rSaM.ttf"},"IBM Plex Sans Devanagari":{"100":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXB3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_HMUjwUcjwCEQq.ttf","200":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXA3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_HnWnQe-b8AV0z0w.ttf","300":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXA3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_H-WrQe-b8AV0z0w.ttf","500":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXA3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_HoWvQe-b8AV0z0w.ttf","600":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXA3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_HjWzQe-b8AV0z0w.ttf","700":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXA3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O_H6W3Qe-b8AV0z0w.ttf","regular":"http://fonts.gstatic.com/s/ibmplexsansdevanagari/v5/XRXH3JCMvG4IDoS9SubXB6W-UX5iehIMBFR2-O__VUL0c83gCA.ttf"},"Noto Sans Coptic":{"regular":"http://fonts.gstatic.com/s/notosanscoptic/v13/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf"},"M PLUS Code Latin":{"100":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1EbB6i5MqF9TRwg.ttf","200":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1MbA6i5MqF9TRwg.ttf","300":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1BjA6i5MqF9TRwg.ttf","500":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1HTA6i5MqF9TRwg.ttf","600":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1JjH6i5MqF9TRwg.ttf","700":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1KHH6i5MqF9TRwg.ttf","regular":"http://fonts.gstatic.com/s/mpluscodelatin/v3/hv-ylyV-aXg7x7tULiNXXBA0Np4WMS8fDIymHY8fy8wn4_ifLAtrObKDO0Xf1EbA6i5MqF9TRwg.ttf"},"Noto Serif Georgian":{"100":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSTvsfdzTw-FgZxQ.ttf","200":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSzvofdzTw-FgZxQ.ttf","300":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSEPofdzTw-FgZxQ.ttf","500":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSfPofdzTw-FgZxQ.ttf","600":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSkP0fdzTw-FgZxQ.ttf","700":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSqf0fdzTw-FgZxQ.ttf","800":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSzv0fdzTw-FgZxQ.ttf","900":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aS5_0fdzTw-FgZxQ.ttf","regular":"http://fonts.gstatic.com/s/notoserifgeorgian/v12/VEMXRpd8s4nv8hG_qOzL7HOAw4nt0Sl_XxyaEduNMvi7T6Y4etRnmGhyLop-R3aSTvofdzTw-FgZxQ.ttf"},"Noto Serif Sinhala":{"100":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pGxRlMsxaLRn3W-.ttf","200":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pExR1MsxaLRn3W-.ttf","300":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pHvR1MsxaLRn3W-.ttf","500":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pGDR1MsxaLRn3W-.ttf","600":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pFvQFMsxaLRn3W-.ttf","700":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pFWQFMsxaLRn3W-.ttf","800":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pExQFMsxaLRn3W-.ttf","900":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pEYQFMsxaLRn3W-.ttf","regular":"http://fonts.gstatic.com/s/notoserifsinhala/v12/DtVEJwinQqclnZE2CnsPug9lgGC3y2F2nehQ7Eg4EdBKWxPiDxMivFLgRXs_-pGxR1MsxaLRn3W-.ttf"},"Noto Sans Lao":{"100":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccfdf5MK3riB2w.ttf","200":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt48cbdf5MK3riB2w.ttf","300":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4L8bdf5MK3riB2w.ttf","500":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4Q8bdf5MK3riB2w.ttf","600":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4r8Hdf5MK3riB2w.ttf","700":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4lsHdf5MK3riB2w.ttf","800":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt48cHdf5MK3riB2w.ttf","900":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt42MHdf5MK3riB2w.ttf","regular":"http://fonts.gstatic.com/s/notosanslao/v16/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf"},"Noto Sans Tai Viet":{"regular":"http://fonts.gstatic.com/s/notosanstaiviet/v13/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf"},"Noto Serif Thai":{"100":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0oiFuRRCmsdu0Qx.ttf","200":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0qiF-RRCmsdu0Qx.ttf","300":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0p8F-RRCmsdu0Qx.ttf","500":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0oQF-RRCmsdu0Qx.ttf","600":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0r8EORRCmsdu0Qx.ttf","700":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0rFEORRCmsdu0Qx.ttf","800":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0qiEORRCmsdu0Qx.ttf","900":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0qLEORRCmsdu0Qx.ttf","regular":"http://fonts.gstatic.com/s/notoserifthai/v12/k3kyo80MPvpLmixYH7euCxWpSMu3-gcWGj0hHAKGvUQlUv_bCKDUSzB5L0oiF-RRCmsdu0Qx.ttf"},"Red Hat Mono":{"300":"http://fonts.gstatic.com/s/redhatmono/v5/jVyY7nDnA2uf2zVvFAhhzEs-VMSjJpBTfgjwQQPI-7HNuW4QuKI.ttf","500":"http://fonts.gstatic.com/s/redhatmono/v5/jVyY7nDnA2uf2zVvFAhhzEs-VMSjJpBTfgjwQW_I-7HNuW4QuKI.ttf","600":"http://fonts.gstatic.com/s/redhatmono/v5/jVyY7nDnA2uf2zVvFAhhzEs-VMSjJpBTfgjwQYPP-7HNuW4QuKI.ttf","700":"http://fonts.gstatic.com/s/redhatmono/v5/jVyY7nDnA2uf2zVvFAhhzEs-VMSjJpBTfgjwQbrP-7HNuW4QuKI.ttf","regular":"http://fonts.gstatic.com/s/redhatmono/v5/jVyY7nDnA2uf2zVvFAhhzEs-VMSjJpBTfgjwQV3I-7HNuW4QuKI.ttf","300italic":"http://fonts.gstatic.com/s/redhatmono/v5/jVye7nDnA2uf2zVvFAhhzEsUXfZc_vk45Kb3VJWLTfLHvUwVqKIJuw.ttf","italic":"http://fonts.gstatic.com/s/redhatmono/v5/jVye7nDnA2uf2zVvFAhhzEsUXfZc_vk45Kb3VJWLE_LHvUwVqKIJuw.ttf","500italic":"http://fonts.gstatic.com/s/redhatmono/v5/jVye7nDnA2uf2zVvFAhhzEsUXfZc_vk45Kb3VJWLIfLHvUwVqKIJuw.ttf","600italic":"http://fonts.gstatic.com/s/redhatmono/v5/jVye7nDnA2uf2zVvFAhhzEsUXfZc_vk45Kb3VJWLzfXHvUwVqKIJuw.ttf","700italic":"http://fonts.gstatic.com/s/redhatmono/v5/jVye7nDnA2uf2zVvFAhhzEsUXfZc_vk45Kb3VJWL9PXHvUwVqKIJuw.ttf"},"Uchen":{"regular":"http://fonts.gstatic.com/s/uchen/v5/nKKZ-GokGZ1baIaSEQGodLxA.ttf"},"Noto Sans Khmer":{"100":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAZz4kAbrddiA.ttf","200":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYsNAJz4kAbrddiA.ttf","300":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYvTAJz4kAbrddiA.ttf","500":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYu_AJz4kAbrddiA.ttf","600":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYtTB5z4kAbrddiA.ttf","700":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYtqB5z4kAbrddiA.ttf","800":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYsNB5z4kAbrddiA.ttf","900":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYskB5z4kAbrddiA.ttf","regular":"http://fonts.gstatic.com/s/notosanskhmer/v12/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf"},"Noto Sans Deseret":{"regular":"http://fonts.gstatic.com/s/notosansdeseret/v13/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf"},"Noto Serif Armenian":{"100":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZi8ObxvXagGdkbg.ttf","200":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZC8KbxvXagGdkbg.ttf","300":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZ1cKbxvXagGdkbg.ttf","500":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZucKbxvXagGdkbg.ttf","600":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZVcWbxvXagGdkbg.ttf","700":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZbMWbxvXagGdkbg.ttf","800":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZC8WbxvXagGdkbg.ttf","900":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZIsWbxvXagGdkbg.ttf","regular":"http://fonts.gstatic.com/s/notoserifarmenian/v12/3XFMEqMt3YoFsciDRZxptyCUKJmytZ0kVU-XvF7QaZuL85rnQ_zDNzDe5xNnKxyZi8KbxvXagGdkbg.ttf"},"Noto Sans Symbols 2":{"regular":"http://fonts.gstatic.com/s/notosanssymbols2/v13/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf"},"Noto Sans Caucasian Albanian":{"regular":"http://fonts.gstatic.com/s/notosanscaucasianalbanian/v14/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf"},"Noto Sans Javanese":{"700":"http://fonts.gstatic.com/s/notosansjavanese/v13/2V0DKJkDAIA6Hp4zoSScDjV0Y-eoHAHxTpAYTrahcTyFxQ.ttf","regular":"http://fonts.gstatic.com/s/notosansjavanese/v13/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf"},"Noto Serif Khmer":{"100":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdN6B4wXEZK9Xo4xg.ttf","200":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNaB8wXEZK9Xo4xg.ttf","300":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNth8wXEZK9Xo4xg.ttf","500":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdN2h8wXEZK9Xo4xg.ttf","600":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNNhgwXEZK9Xo4xg.ttf","700":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNDxgwXEZK9Xo4xg.ttf","800":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNaBgwXEZK9Xo4xg.ttf","900":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdNQRgwXEZK9Xo4xg.ttf","regular":"http://fonts.gstatic.com/s/notoserifkhmer/v12/-F6UfidqLzI2JPCkXAO2hmogq0146FxtbwKEr951z5s6lI40sDRH_AVhUKdN6B8wXEZK9Xo4xg.ttf"},"Noto Serif Ethiopic":{"100":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCzSQjkaO9UVLyiw.ttf","200":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCTSUjkaO9UVLyiw.ttf","300":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCkyUjkaO9UVLyiw.ttf","500":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxC_yUjkaO9UVLyiw.ttf","600":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCEyIjkaO9UVLyiw.ttf","700":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCKiIjkaO9UVLyiw.ttf","800":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCTSIjkaO9UVLyiw.ttf","900":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCZCIjkaO9UVLyiw.ttf","regular":"http://fonts.gstatic.com/s/notoserifethiopic/v12/V8mjoR7-XjwJ8_Au3Ti5tXj5Rd83frpWLK4d-taxqWw2HMWjDxBAg5S_0QsrggxCzSUjkaO9UVLyiw.ttf"},"Noto Sans Brahmi":{"regular":"http://fonts.gstatic.com/s/notosansbrahmi/v13/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf"},"Noto Sans Thai Looped":{"100":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50fF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3YX6AYeCT_Wfd1.ttf","200":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Y84E4UgrzUO5sKA.ttf","300":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Yl4I4UgrzUO5sKA.ttf","500":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Yz4M4UgrzUO5sKA.ttf","600":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Y44Q4UgrzUO5sKA.ttf","700":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Yh4U4UgrzUO5sKA.ttf","800":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Ym4Y4UgrzUO5sKA.ttf","900":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50cF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3Yv4c4UgrzUO5sKA.ttf","regular":"http://fonts.gstatic.com/s/notosansthailooped/v10/B50RF6pOpWTRcGrhOVJJ3-oPfY7WQuFu5R3gO6ocWiHvWQ.ttf"},"Noto Serif Devanagari":{"100":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTA-og-HMUe1u_dv.ttf","200":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTC-ow-HMUe1u_dv.ttf","300":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTBgow-HMUe1u_dv.ttf","500":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTAMow-HMUe1u_dv.ttf","600":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTDgpA-HMUe1u_dv.ttf","700":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTDZpA-HMUe1u_dv.ttf","800":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTC-pA-HMUe1u_dv.ttf","900":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTCXpA-HMUe1u_dv.ttf","regular":"http://fonts.gstatic.com/s/notoserifdevanagari/v12/x3dYcl3IZKmUqiMk48ZHXJ5jwU-DZGRSaQ4Hh2dGyFzPLcQPVbnRNeFsw0xRWb6uxTA-ow-HMUe1u_dv.ttf"},"Noto Serif Lao":{"100":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VeMLrvOjlmyhHHQ.ttf","200":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VWMKrvOjlmyhHHQ.ttf","300":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8Vb0KrvOjlmyhHHQ.ttf","500":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VdEKrvOjlmyhHHQ.ttf","600":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VT0NrvOjlmyhHHQ.ttf","700":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VQQNrvOjlmyhHHQ.ttf","800":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VWMNrvOjlmyhHHQ.ttf","900":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VUoNrvOjlmyhHHQ.ttf","regular":"http://fonts.gstatic.com/s/notoseriflao/v12/3y9C6bYwcCjmsU8JEzCMxEwQfEBLk3f0rlSqCdaM_LlSNZ59oNw0BWH8VeMKrvOjlmyhHHQ.ttf"},"Noto Sans Cherokee":{"100":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5ODkm5rAffjl0.ttf","200":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWq5PDkm5rAffjl0.ttf","300":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWnBPDkm5rAffjl0.ttf","500":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWhxPDkm5rAffjl0.ttf","600":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWvBIDkm5rAffjl0.ttf","700":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWslIDkm5rAffjl0.ttf","800":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWq5IDkm5rAffjl0.ttf","900":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWodIDkm5rAffjl0.ttf","regular":"http://fonts.gstatic.com/s/notosanscherokee/v13/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf"},"Noto Sans Cypriot":{"regular":"http://fonts.gstatic.com/s/notosanscypriot/v13/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf"},"Noto Sans Imperial Aramaic":{"regular":"http://fonts.gstatic.com/s/notosansimperialaramaic/v13/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf"},"Noto Sans Tagalog":{"regular":"http://fonts.gstatic.com/s/notosanstagalog/v13/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf"},"Noto Sans Old Hungarian":{"regular":"http://fonts.gstatic.com/s/notosansoldhungarian/v13/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf"},"Noto Serif Hebrew":{"100":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVAwTAG8_vlQxz24.ttf","200":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVIwSAG8_vlQxz24.ttf","300":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVFISAG8_vlQxz24.ttf","500":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVD4SAG8_vlQxz24.ttf","600":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVNIVAG8_vlQxz24.ttf","700":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVOsVAG8_vlQxz24.ttf","800":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVIwVAG8_vlQxz24.ttf","900":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVKUVAG8_vlQxz24.ttf","regular":"http://fonts.gstatic.com/s/notoserifhebrew/v12/k3k0o9MMPvpLmixYH7euCwmkS9DohjX1-kRyiqyBqIxnoLbp93i9IKrXKF_qVAwSAG8_vlQxz24.ttf"},"Noto Sans Cham":{"100":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcER0cv7GykboaLg.ttf","200":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfckRwcv7GykboaLg.ttf","300":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcTxwcv7GykboaLg.ttf","500":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcIxwcv7GykboaLg.ttf","600":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfczxscv7GykboaLg.ttf","700":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfc9hscv7GykboaLg.ttf","800":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfckRscv7GykboaLg.ttf","900":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcuBscv7GykboaLg.ttf","regular":"http://fonts.gstatic.com/s/notosanscham/v13/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf"},"Noto Sans Thaana":{"100":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbxLhnu4-tbNu.ttf","200":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4VrbhLhnu4-tbNu.ttf","300":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4W1bhLhnu4-tbNu.ttf","500":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XZbhLhnu4-tbNu.ttf","600":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4U1aRLhnu4-tbNu.ttf","700":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4UMaRLhnu4-tbNu.ttf","800":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4VraRLhnu4-tbNu.ttf","900":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4VCaRLhnu4-tbNu.ttf","regular":"http://fonts.gstatic.com/s/notosansthaana/v12/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf"},"Noto Serif Gujarati":{"100":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HuYycYzuM1Kf-OJu.ttf","200":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HuaycIzuM1Kf-OJu.ttf","300":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HuZscIzuM1Kf-OJu.ttf","500":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HuYAcIzuM1Kf-OJu.ttf","600":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2Hubsd4zuM1Kf-OJu.ttf","700":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HubVd4zuM1Kf-OJu.ttf","800":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2Huayd4zuM1Kf-OJu.ttf","900":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2Huabd4zuM1Kf-OJu.ttf","regular":"http://fonts.gstatic.com/s/notoserifgujarati/v12/hESa6WBlOixO-3OJ1FTmTsmqlBRUJBVkcgNLpdsspzP2HuYycIzuM1Kf-OJu.ttf"},"Noto Sans Ol Chiki":{"500":"http://fonts.gstatic.com/s/notosansolchiki/v13/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALVs267I6gVrz5gQ.ttf","600":"http://fonts.gstatic.com/s/notosansolchiki/v13/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALbcx67I6gVrz5gQ.ttf","700":"http://fonts.gstatic.com/s/notosansolchiki/v13/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALY4x67I6gVrz5gQ.ttf","regular":"http://fonts.gstatic.com/s/notosansolchiki/v13/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf"},"Noto Sans Old Turkic":{"regular":"http://fonts.gstatic.com/s/notosansoldturkic/v13/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf"},"Noto Serif Kannada":{"100":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgcYCceRJ71svgcI.ttf","200":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgUYDceRJ71svgcI.ttf","300":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgZgDceRJ71svgcI.ttf","500":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgfQDceRJ71svgcI.ttf","600":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgRgEceRJ71svgcI.ttf","700":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgSEEceRJ71svgcI.ttf","800":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgUYEceRJ71svgcI.ttf","900":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgW8EceRJ71svgcI.ttf","regular":"http://fonts.gstatic.com/s/notoserifkannada/v12/v6-8GZHLJFKIhClqUYqXDiWqpxQxWSPoW6bz-l4hGHiNgcYDceRJ71svgcI.ttf"},"Noto Rashi Hebrew":{"100":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZB-DkRyq6Nf2pfA.ttf","200":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZh-HkRyq6Nf2pfA.ttf","300":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZWeHkRyq6Nf2pfA.ttf","500":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZNeHkRyq6Nf2pfA.ttf","600":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZ2ebkRyq6Nf2pfA.ttf","700":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZ4ObkRyq6Nf2pfA.ttf","800":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZh-bkRyq6Nf2pfA.ttf","900":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZrubkRyq6Nf2pfA.ttf","regular":"http://fonts.gstatic.com/s/notorashihebrew/v13/EJR_Qh82XsIK-QFmqXk4zvLwFVya0vFL-HlKM5e6C6HZB-HkRyq6Nf2pfA.ttf"},"Noto Serif Myanmar":{"100":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJudM7F2Yv76aBKKs-bHMQfAHUw3jnNwBDsU9X6RPzQ.ttf","200":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNbDHMefv2TeXJng.ttf","300":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNCDLMefv2TeXJng.ttf","500":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNUDPMefv2TeXJng.ttf","600":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNfDTMefv2TeXJng.ttf","700":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNGDXMefv2TeXJng.ttf","800":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNBDbMefv2TeXJng.ttf","900":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJvdM7F2Yv76aBKKs-bHMQfAHUw3jnNIDfMefv2TeXJng.ttf","regular":"http://fonts.gstatic.com/s/notoserifmyanmar/v10/VuJsdM7F2Yv76aBKKs-bHMQfAHUw3jn1pBrocdDqRA.ttf"},"Noto Serif Yezidi":{"500":"http://fonts.gstatic.com/s/notoserifyezidi/v12/XLYPIYr5bJNDGYxLBibeHZAn3B5KJENnQjbfhMSVZspD6SEkrlGJgmVCqg.ttf","600":"http://fonts.gstatic.com/s/notoserifyezidi/v12/XLYPIYr5bJNDGYxLBibeHZAn3B5KJENnQjbfhMSVZspDBSYkrlGJgmVCqg.ttf","700":"http://fonts.gstatic.com/s/notoserifyezidi/v12/XLYPIYr5bJNDGYxLBibeHZAn3B5KJENnQjbfhMSVZspDPCYkrlGJgmVCqg.ttf","regular":"http://fonts.gstatic.com/s/notoserifyezidi/v12/XLYPIYr5bJNDGYxLBibeHZAn3B5KJENnQjbfhMSVZspD2yEkrlGJgmVCqg.ttf"},"Noto Serif Gurmukhi":{"100":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr6-eBTNmqVU7y6l.ttf","200":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr4-eRTNmqVU7y6l.ttf","300":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr7geRTNmqVU7y6l.ttf","500":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr6MeRTNmqVU7y6l.ttf","600":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr5gfhTNmqVU7y6l.ttf","700":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr5ZfhTNmqVU7y6l.ttf","800":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr4-fhTNmqVU7y6l.ttf","900":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr4XfhTNmqVU7y6l.ttf","regular":"http://fonts.gstatic.com/s/notoserifgurmukhi/v9/92z-tA9LNqsg7tCYlXdCV1VPnAEeDU0vLoYMbylXk0xTCr6-eRTNmqVU7y6l.ttf"},"Noto Serif Tibetan":{"100":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIrYdPS7rdSy_32c.ttf","200":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIjYcPS7rdSy_32c.ttf","300":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIugcPS7rdSy_32c.ttf","500":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIoQcPS7rdSy_32c.ttf","600":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmImgbPS7rdSy_32c.ttf","700":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIlEbPS7rdSy_32c.ttf","800":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIjYbPS7rdSy_32c.ttf","900":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIh8bPS7rdSy_32c.ttf","regular":"http://fonts.gstatic.com/s/notoseriftibetan/v12/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIrYcPS7rdSy_32c.ttf"},"Noto Music":{"regular":"http://fonts.gstatic.com/s/notomusic/v13/pe0rMIiSN5pO63htf1sxIteQB9Zra1U.ttf"},"Noto Sans Carian":{"regular":"http://fonts.gstatic.com/s/notosanscarian/v13/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf"},"Noto Sans Canadian Aboriginal":{"100":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLj_yAsg0q0uhQ.ttf","200":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzig2Ln_yAsg0q0uhQ.ttf","300":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigBrn_yAsg0q0uhQ.ttf","500":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigarn_yAsg0q0uhQ.ttf","600":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzighr7_yAsg0q0uhQ.ttf","700":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigv77_yAsg0q0uhQ.ttf","800":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzig2L7_yAsg0q0uhQ.ttf","900":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzig8b7_yAsg0q0uhQ.ttf","regular":"http://fonts.gstatic.com/s/notosanscanadianaboriginal/v13/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf"},"Noto Serif Telugu":{"100":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9D9TGwuY2fjgrZYA.ttf","200":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DdTCwuY2fjgrZYA.ttf","300":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DqzCwuY2fjgrZYA.ttf","500":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DxzCwuY2fjgrZYA.ttf","600":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DKzewuY2fjgrZYA.ttf","700":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DEjewuY2fjgrZYA.ttf","800":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DdTewuY2fjgrZYA.ttf","900":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9DXDewuY2fjgrZYA.ttf","regular":"http://fonts.gstatic.com/s/notoseriftelugu/v12/tDbl2pCbnkEKmXNVmt2M1q6f4HWbbj6MRbYEeav7Fe9D9TCwuY2fjgrZYA.ttf"},"Noto Sans Tifinagh":{"regular":"http://fonts.gstatic.com/s/notosanstifinagh/v13/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf"},"Noto Sans Tai Le":{"regular":"http://fonts.gstatic.com/s/notosanstaile/v13/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf"},"Noto Sans Meetei Mayek":{"100":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ__TW5PgeFYVa.ttf","200":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1RJ_vTW5PgeFYVa.ttf","300":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1SX_vTW5PgeFYVa.ttf","500":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1T7_vTW5PgeFYVa.ttf","600":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1QX-fTW5PgeFYVa.ttf","700":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1Qu-fTW5PgeFYVa.ttf","800":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1RJ-fTW5PgeFYVa.ttf","900":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1Rg-fTW5PgeFYVa.ttf","regular":"http://fonts.gstatic.com/s/notosansmeeteimayek/v5/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf"},"Noto Sans Osmanya":{"regular":"http://fonts.gstatic.com/s/notosansosmanya/v13/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf"},"Noto Sans Tai Tham":{"500":"http://fonts.gstatic.com/s/notosanstaitham/v13/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBBcbPgquyaRGKMw.ttf","600":"http://fonts.gstatic.com/s/notosanstaitham/v13/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBPscPgquyaRGKMw.ttf","700":"http://fonts.gstatic.com/s/notosanstaitham/v13/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBMIcPgquyaRGKMw.ttf","regular":"http://fonts.gstatic.com/s/notosanstaitham/v13/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf"},"Noto Sans Balinese":{"500":"http://fonts.gstatic.com/s/notosansbalinese/v13/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov4XdhE5Vd222PPY.ttf","600":"http://fonts.gstatic.com/s/notosansbalinese/v13/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov2nahE5Vd222PPY.ttf","700":"http://fonts.gstatic.com/s/notosansbalinese/v13/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov1DahE5Vd222PPY.ttf","regular":"http://fonts.gstatic.com/s/notosansbalinese/v13/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf"},"Noto Sans Saurashtra":{"regular":"http://fonts.gstatic.com/s/notosanssaurashtra/v13/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf"},"Noto Sans Sora Sompeng":{"500":"http://fonts.gstatic.com/s/notosanssorasompeng/v13/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHRO18DpZXJQd4Mu.ttf","600":"http://fonts.gstatic.com/s/notosanssorasompeng/v13/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHSi0MDpZXJQd4Mu.ttf","700":"http://fonts.gstatic.com/s/notosanssorasompeng/v13/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHSb0MDpZXJQd4Mu.ttf","regular":"http://fonts.gstatic.com/s/notosanssorasompeng/v13/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf"},"Noto Sans Old Italic":{"regular":"http://fonts.gstatic.com/s/notosansolditalic/v13/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf"},"Noto Serif Nyiakeng Puachue Hmong":{"500":"http://fonts.gstatic.com/s/notoserifnyiakengpuachuehmong/v12/5h1jibMoOmIC3YuzLC-NZyLDZC8iwh-MTC8ggAjEhePFNRVcneAFp44kcYMUkNqVKiiPDFvbZkrZmb0.ttf","600":"http://fonts.gstatic.com/s/notoserifnyiakengpuachuehmong/v12/5h1jibMoOmIC3YuzLC-NZyLDZC8iwh-MTC8ggAjEhePFNRVcneAFp44kcYMUkNqVKsSIDFvbZkrZmb0.ttf","700":"http://fonts.gstatic.com/s/notoserifnyiakengpuachuehmong/v12/5h1jibMoOmIC3YuzLC-NZyLDZC8iwh-MTC8ggAjEhePFNRVcneAFp44kcYMUkNqVKv2IDFvbZkrZmb0.ttf","regular":"http://fonts.gstatic.com/s/notoserifnyiakengpuachuehmong/v12/5h1jibMoOmIC3YuzLC-NZyLDZC8iwh-MTC8ggAjEhePFNRVcneAFp44kcYMUkNqVKhqPDFvbZkrZmb0.ttf"},"Noto Sans Mongolian":{"regular":"http://fonts.gstatic.com/s/notosansmongolian/v13/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf"},"Noto Sans Adlam Unjoined":{"500":"http://fonts.gstatic.com/s/notosansadlamunjoined/v13/P5sszY2MYsLRsB5_ildkzPPDsLQXcOEmaFOqOGcaYrzFTIjsPam_Yd_5PMEe-E3slUg.ttf","600":"http://fonts.gstatic.com/s/notosansadlamunjoined/v13/P5sszY2MYsLRsB5_ildkzPPDsLQXcOEmaFOqOGcaYrzFTIjsPam_YTP-PMEe-E3slUg.ttf","700":"http://fonts.gstatic.com/s/notosansadlamunjoined/v13/P5sszY2MYsLRsB5_ildkzPPDsLQXcOEmaFOqOGcaYrzFTIjsPam_YQr-PMEe-E3slUg.ttf","regular":"http://fonts.gstatic.com/s/notosansadlamunjoined/v13/P5sszY2MYsLRsB5_ildkzPPDsLQXcOEmaFOqOGcaYrzFTIjsPam_Ye35PMEe-E3slUg.ttf"},"Noto Sans Sundanese":{"500":"http://fonts.gstatic.com/s/notosanssundanese/v13/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxbNNHCizv7fQES.ttf","600":"http://fonts.gstatic.com/s/notosanssundanese/v13/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6cty3M9HCizv7fQES.ttf","700":"http://fonts.gstatic.com/s/notosanssundanese/v13/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctyOM9HCizv7fQES.ttf","regular":"http://fonts.gstatic.com/s/notosanssundanese/v13/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf"},"Noto Sans Grantha":{"regular":"http://fonts.gstatic.com/s/notosansgrantha/v13/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf"},"Noto Sans Anatolian Hieroglyphs":{"regular":"http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v13/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf"},"Noto Sans Adlam":{"500":"http://fonts.gstatic.com/s/notosansadlam/v13/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufkn0TGnBZLwhuvk.ttf","600":"http://fonts.gstatic.com/s/notosansadlam/v13/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufqXzTGnBZLwhuvk.ttf","700":"http://fonts.gstatic.com/s/notosansadlam/v13/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufpzzTGnBZLwhuvk.ttf","regular":"http://fonts.gstatic.com/s/notosansadlam/v13/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf"},"Noto Sans Inscriptional Parthian":{"regular":"http://fonts.gstatic.com/s/notosansinscriptionalparthian/v13/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf"},"Noto Sans Medefaidrin":{"500":"http://fonts.gstatic.com/s/notosansmedefaidrin/v13/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmHjWlT318e5A3rw.ttf","600":"http://fonts.gstatic.com/s/notosansmedefaidrin/v13/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmJTRlT318e5A3rw.ttf","700":"http://fonts.gstatic.com/s/notosansmedefaidrin/v13/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmK3RlT318e5A3rw.ttf","regular":"http://fonts.gstatic.com/s/notosansmedefaidrin/v13/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf"},"Noto Sans Bamum":{"500":"http://fonts.gstatic.com/s/notosansbamum/v14/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEeVO-_gLykxEkxA.ttf","600":"http://fonts.gstatic.com/s/notosansbamum/v14/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEQlJ-_gLykxEkxA.ttf","700":"http://fonts.gstatic.com/s/notosansbamum/v14/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPETBJ-_gLykxEkxA.ttf","regular":"http://fonts.gstatic.com/s/notosansbamum/v14/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf"},"Noto Sans Hanifi Rohingya":{"500":"http://fonts.gstatic.com/s/notosanshanifirohingya/v12/5h17iYsoOmIC3Yu3MDXLDw3UZCgghyOEBBY7hhLNyo3tiaiuSIAqrIYq4j6vvcudK8rN.ttf","600":"http://fonts.gstatic.com/s/notosanshanifirohingya/v12/5h17iYsoOmIC3Yu3MDXLDw3UZCgghyOEBBY7hhLNyo3tiaiuSIAqrIbG5T6vvcudK8rN.ttf","700":"http://fonts.gstatic.com/s/notosanshanifirohingya/v12/5h17iYsoOmIC3Yu3MDXLDw3UZCgghyOEBBY7hhLNyo3tiaiuSIAqrIb_5T6vvcudK8rN.ttf","regular":"http://fonts.gstatic.com/s/notosanshanifirohingya/v12/5h17iYsoOmIC3Yu3MDXLDw3UZCgghyOEBBY7hhLNyo3tiaiuSIAqrIYY4j6vvcudK8rN.ttf"},"Noto Sans Kayah Li":{"500":"http://fonts.gstatic.com/s/notosanskayahli/v12/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WBU3CZH4EXLuKVM.ttf","600":"http://fonts.gstatic.com/s/notosanskayahli/v12/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WPkwCZH4EXLuKVM.ttf","700":"http://fonts.gstatic.com/s/notosanskayahli/v12/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WMAwCZH4EXLuKVM.ttf","regular":"http://fonts.gstatic.com/s/notosanskayahli/v12/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf"},"Noto Serif Dogra":{"regular":"http://fonts.gstatic.com/s/notoserifdogra/v13/MQpP-XquKMC7ROPP3QOOlm7xPu3fGy63IbPzkns.ttf"},"Noto Sans Egyptian Hieroglyphs":{"regular":"http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v24/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf"},"Noto Sans Lisu":{"500":"http://fonts.gstatic.com/s/notosanslisu/v13/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP61wt29IlxkVdig.ttf","600":"http://fonts.gstatic.com/s/notosanslisu/v13/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHPB1st29IlxkVdig.ttf","700":"http://fonts.gstatic.com/s/notosanslisu/v13/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHPPlst29IlxkVdig.ttf","regular":"http://fonts.gstatic.com/s/notosanslisu/v13/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf"},"Noto Sans Inscriptional Pahlavi":{"regular":"http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v13/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf"},"Noto Sans Linear B":{"regular":"http://fonts.gstatic.com/s/notosanslinearb/v13/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf"},"Noto Sans Yi":{"regular":"http://fonts.gstatic.com/s/notosansyi/v13/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf"},"Noto Serif Balinese":{"regular":"http://fonts.gstatic.com/s/notoserifbalinese/v13/QdVKSS0-JginysQSRvuCmUMB_wVeQAxXRbgJdhapcUU.ttf"},"Noto Sans Samaritan":{"regular":"http://fonts.gstatic.com/s/notosanssamaritan/v13/buEqppe9f8_vkXadMBJJo0tSmaYjFkxOUo5jNlOVMzQ.ttf"},"Noto Sans Hanunoo":{"regular":"http://fonts.gstatic.com/s/notosanshanunoo/v13/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf"},"Noto Sans Syriac":{"100":"http://fonts.gstatic.com/s/notosanssyriac/v13/KtkwAKuMeZjqPnXgyqribqzQqgW0D-e9XaRE7sX5Cg.ttf","900":"http://fonts.gstatic.com/s/notosanssyriac/v13/KtkxAKuMeZjqPnXgyqribqzQqgW0DweafY5q4szgE-Q.ttf","regular":"http://fonts.gstatic.com/s/notosanssyriac/v13/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf"},"Noto Sans Old South Arabian":{"regular":"http://fonts.gstatic.com/s/notosansoldsoutharabian/v13/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf"},"Noto Sans Phoenician":{"regular":"http://fonts.gstatic.com/s/notosansphoenician/v13/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf"},"Noto Sans Kaithi":{"regular":"http://fonts.gstatic.com/s/notosanskaithi/v13/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf"},"Noto Sans Math":{"regular":"http://fonts.gstatic.com/s/notosansmath/v13/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf"},"Noto Serif Grantha":{"regular":"http://fonts.gstatic.com/s/notoserifgrantha/v13/qkBIXuEH5NzDDvc3fLDYxPk9-Wq3WLiqFENLR7fHGw.ttf"},"Noto Sans Old Persian":{"regular":"http://fonts.gstatic.com/s/notosansoldpersian/v13/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf"},"Noto Sans Old North Arabian":{"regular":"http://fonts.gstatic.com/s/notosansoldnortharabian/v13/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf"},"Noto Sans Cuneiform":{"regular":"http://fonts.gstatic.com/s/notosanscuneiform/v13/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf"},"Noto Serif Tangut":{"regular":"http://fonts.gstatic.com/s/notoseriftangut/v13/xn76YGc72GKoTvER4Gn3b4m9Ern7Em41fcvN2KT4.ttf"},"Noto Serif Ahom":{"regular":"http://fonts.gstatic.com/s/notoserifahom/v13/FeVIS0hfp6cprmEUffAW_fUL_AN-wuYrPFiwaw.ttf"},"Noto Sans Batak":{"regular":"http://fonts.gstatic.com/s/notosansbatak/v13/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf"},"Noto Sans Runic":{"regular":"http://fonts.gstatic.com/s/notosansrunic/v13/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf"},"Noto Sans New Tai Lue":{"regular":"http://fonts.gstatic.com/s/notosansnewtailue/v13/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf"},"Noto Sans Avestan":{"regular":"http://fonts.gstatic.com/s/notosansavestan/v13/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf"},"Noto Sans Mayan Numerals":{"regular":"http://fonts.gstatic.com/s/notosansmayannumerals/v13/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf"},"Noto Sans Mahajani":{"regular":"http://fonts.gstatic.com/s/notosansmahajani/v13/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf"},"Noto Sans Buginese":{"regular":"http://fonts.gstatic.com/s/notosansbuginese/v13/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf"},"Noto Sans Tirhuta":{"regular":"http://fonts.gstatic.com/s/notosanstirhuta/v13/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf"},"Noto Sans Palmyrene":{"regular":"http://fonts.gstatic.com/s/notosanspalmyrene/v13/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf"},"Noto Sans Zanabazar Square":{"regular":"http://fonts.gstatic.com/s/notosanszanabazarsquare/v13/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf"},"Noto Sans Limbu":{"regular":"http://fonts.gstatic.com/s/notosanslimbu/v13/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf"},"Noto Sans Elbasan":{"regular":"http://fonts.gstatic.com/s/notosanselbasan/v13/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf"},"Noto Sans Tagbanwa":{"regular":"http://fonts.gstatic.com/s/notosanstagbanwa/v13/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf"},"Noto Sans Old Permic":{"regular":"http://fonts.gstatic.com/s/notosansoldpermic/v14/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf"},"Noto Sans Newa":{"regular":"http://fonts.gstatic.com/s/notosansnewa/v13/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf"},"Noto Sans Rejang":{"regular":"http://fonts.gstatic.com/s/notosansrejang/v13/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf"},"Noto Sans Syloti Nagri":{"regular":"http://fonts.gstatic.com/s/notosanssylotinagri/v13/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf"},"Noto Sans Gunjala Gondi":{"regular":"http://fonts.gstatic.com/s/notosansgunjalagondi/v13/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf"},"Noto Sans Khudawadi":{"regular":"http://fonts.gstatic.com/s/notosanskhudawadi/v13/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf"},"Noto Sans Kharoshthi":{"regular":"http://fonts.gstatic.com/s/notosanskharoshthi/v13/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf"},"Noto Sans Marchen":{"regular":"http://fonts.gstatic.com/s/notosansmarchen/v13/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf"},"Noto Sans Khojki":{"regular":"http://fonts.gstatic.com/s/notosanskhojki/v13/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf"},"Noto Sans Modi":{"regular":"http://fonts.gstatic.com/s/notosansmodi/v13/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf"},"Noto Sans Masaram Gondi":{"regular":"http://fonts.gstatic.com/s/notosansmasaramgondi/v13/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf"},"Noto Sans Indic Siyaq Numbers":{"regular":"http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v13/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf"},"Noto Sans Lycian":{"regular":"http://fonts.gstatic.com/s/notosanslycian/v13/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf"},"Noto Sans Linear A":{"regular":"http://fonts.gstatic.com/s/notosanslineara/v14/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf"},"Noto Sans Phags Pa":{"regular":"http://fonts.gstatic.com/s/notosansphagspa/v13/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf"},"Noto Sans Psalter Pahlavi":{"regular":"http://fonts.gstatic.com/s/notosanspsalterpahlavi/v13/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf"},"Noto Sans Pau Cin Hau":{"regular":"http://fonts.gstatic.com/s/notosanspaucinhau/v14/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf"},"Noto Sans Duployan":{"regular":"http://fonts.gstatic.com/s/notosansduployan/v14/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf"},"Noto Sans Old Sogdian":{"regular":"http://fonts.gstatic.com/s/notosansoldsogdian/v13/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf"},"Noto Sans Osage":{"regular":"http://fonts.gstatic.com/s/notosansosage/v13/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf"},"Noto Sans Sogdian":{"regular":"http://fonts.gstatic.com/s/notosanssogdian/v13/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf"},"Noto Sans Nabataean":{"regular":"http://fonts.gstatic.com/s/notosansnabataean/v13/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf"},"Noto Sans Siddham":{"regular":"http://fonts.gstatic.com/s/notosanssiddham/v13/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf"},"Noto Sans Bhaiksuki":{"regular":"http://fonts.gstatic.com/s/notosansbhaiksuki/v13/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf"},"Noto Sans Elymaic":{"regular":"http://fonts.gstatic.com/s/notosanselymaic/v13/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf"},"Noto Sans Multani":{"regular":"http://fonts.gstatic.com/s/notosansmultani/v13/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf"},"Noto Sans Ugaritic":{"regular":"http://fonts.gstatic.com/s/notosansugaritic/v13/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf"},"Noto Sans Chakma":{"regular":"http://fonts.gstatic.com/s/notosanschakma/v13/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf"},"Noto Sans Pahawh Hmong":{"regular":"http://fonts.gstatic.com/s/notosanspahawhhmong/v13/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf"},"Noto Sans Warang Citi":{"regular":"http://fonts.gstatic.com/s/notosanswarangciti/v13/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf"},"Noto Sans Mro":{"regular":"http://fonts.gstatic.com/s/notosansmro/v13/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf"},"Noto Sans Meroitic":{"regular":"http://fonts.gstatic.com/s/notosansmeroitic/v14/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf"},"Noto Sans Sharada":{"regular":"http://fonts.gstatic.com/s/notosanssharada/v13/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf"},"Noto Sans Miao":{"regular":"http://fonts.gstatic.com/s/notosansmiao/v13/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf"},"Noto Sans Vai":{"regular":"http://fonts.gstatic.com/s/notosansvai/v13/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf"},"Noto Sans Glagolitic":{"regular":"http://fonts.gstatic.com/s/notosansglagolitic/v13/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf"},"Noto Traditional Nushu":{"regular":"http://fonts.gstatic.com/s/nototraditionalnushu/v14/SZco3EDkJ7q9FaoMPlmF4Su8hlIjoGh5aj67J011GNh6SYA.ttf"},"Noto Sans Hatran":{"regular":"http://fonts.gstatic.com/s/notosanshatran/v13/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf"},"Noto Sans Lepcha":{"regular":"http://fonts.gstatic.com/s/notosanslepcha/v13/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf"},"Noto Sans Nushu":{"regular":"http://fonts.gstatic.com/s/notosansnushu/v16/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf"},"Noto Sans Bassa Vah":{"regular":"http://fonts.gstatic.com/s/notosansbassavah/v13/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf"},"Noto Sans Ogham":{"regular":"http://fonts.gstatic.com/s/notosansogham/v13/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf"},"Noto Sans Shavian":{"regular":"http://fonts.gstatic.com/s/notosansshavian/v13/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf"},"Noto Sans Lydian":{"regular":"http://fonts.gstatic.com/s/notosanslydian/v13/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf"},"Noto Sans N Ko":{"regular":"http://fonts.gstatic.com/s/notosansnko/v15/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf"},"Noto Sans Takri":{"regular":"http://fonts.gstatic.com/s/notosanstakri/v13/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf"},"Noto Sans Buhid":{"regular":"http://fonts.gstatic.com/s/notosansbuhid/v13/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf"},"Noto Sans Manichaean":{"regular":"http://fonts.gstatic.com/s/notosansmanichaean/v13/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf"},"Noto Sans Wancho":{"regular":"http://fonts.gstatic.com/s/notosanswancho/v13/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf"},"Noto Sans Soyombo":{"regular":"http://fonts.gstatic.com/s/notosanssoyombo/v13/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf"},"Yuji Hentaigana Akebono":{"regular":"http://fonts.gstatic.com/s/yujihentaiganaakebono/v6/EJRGQhkhRNwM-RtitGUwh930GU_f5KAlkuL0wQy9NKXRzrrF.ttf"},"Moo Lah Lah":{"regular":"http://fonts.gstatic.com/s/moolahlah/v1/dg4h_p_opKZOA0w1AYcm55wtYQYugjW4.ttf"},"Licorice":{"regular":"http://fonts.gstatic.com/s/licorice/v1/t5tjIR8TMomTCAyjNk23hqLgzCHu.ttf"},"Inspiration":{"regular":"http://fonts.gstatic.com/s/inspiration/v1/x3dkckPPZa6L4wIg5cZOEvoGnSrlBBsy.ttf"},"Island Moments":{"regular":"http://fonts.gstatic.com/s/islandmoments/v1/NaPBcZfVGvBdxIt7Ar0qzkXJF-TGIohbZ6SY.ttf"},"Waterfall":{"regular":"http://fonts.gstatic.com/s/waterfall/v1/MCoRzAfo293fACdFKcwY2rH8D_EZwA.ttf"},"Oooh Baby":{"regular":"http://fonts.gstatic.com/s/ooohbaby/v1/2sDcZGJWgJTT2Jf76xQDb2-4C7wFZQ.ttf"},"Yuji Hentaigana Akari":{"regular":"http://fonts.gstatic.com/s/yujihentaiganaakari/v6/cY9bfiyVT0VB6QuhWKOrpr6z58lnb_zYFnLIRTzODYALaA.ttf"},"Ole":{"regular":"http://fonts.gstatic.com/s/ole/v1/dFazZf6Z-rd89fw69qJ_ew.ttf"},"Mea Culpa":{"regular":"http://fonts.gstatic.com/s/meaculpa/v1/AMOTz4GcuWbEIuza8jsZms0QW3mqyg.ttf"},"Moon Dance":{"regular":"http://fonts.gstatic.com/s/moondance/v1/WBLgrEbUbFlYW9ekmGawe2XiKMiokE4.ttf"},"Qwitcher Grypen":{"700":"http://fonts.gstatic.com/s/qwitchergrypen/v1/pxiZypclp9tDilN9RrC5BSI1dZmT9ExkqkSsrvNXiA.ttf","regular":"http://fonts.gstatic.com/s/qwitchergrypen/v1/pxicypclp9tDilN9RrC5BSI1dZmrSGNAom-wpw.ttf"},"Source Serif 4":{"200":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjipdqrhxXD-wGvjU.ttf","300":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjiklqrhxXD-wGvjU.ttf","500":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjiiVqrhxXD-wGvjU.ttf","600":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjisltrhxXD-wGvjU.ttf","700":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjivBtrhxXD-wGvjU.ttf","800":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjipdtrhxXD-wGvjU.ttf","900":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjir5trhxXD-wGvjU.ttf","regular":"http://fonts.gstatic.com/s/sourceserif4/v1/vEFy2_tTDB4M7-auWDN0ahZJW3IX2ih5nk3AucvUHf6OAVIJmeUDygwjihdqrhxXD-wGvjU.ttf","200italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pxl9dC84DrjXEXw.ttf","300italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pGF9dC84DrjXEXw.ttf","italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pRl9dC84DrjXEXw.ttf","500italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pdF9dC84DrjXEXw.ttf","600italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pmFhdC84DrjXEXw.ttf","700italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98poVhdC84DrjXEXw.ttf","800italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pxlhdC84DrjXEXw.ttf","900italic":"http://fonts.gstatic.com/s/sourceserif4/v1/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98p71hdC84DrjXEXw.ttf"},"Rock 3D":{"regular":"http://fonts.gstatic.com/s/rock3d/v5/yYLp0hrL0PCo651513SnwRnQyNI.ttf"},"Love Light":{"regular":"http://fonts.gstatic.com/s/lovelight/v1/t5tlIR0TNJyZWimpNAXDjKbCyTHuspo.ttf"},"Shizuru":{"regular":"http://fonts.gstatic.com/s/shizuru/v5/O4ZSFGfvnxFiCA3i30IJlgUTj2A.ttf"},"Spline Sans":{"300":"http://fonts.gstatic.com/s/splinesans/v1/_6_sED73Uf-2WfU2LzycEZousNzn1a1lKWRpZlnYEtvlUfE2kw.ttf","500":"http://fonts.gstatic.com/s/splinesans/v1/_6_sED73Uf-2WfU2LzycEZousNzn1a1lKWRpClnYEtvlUfE2kw.ttf","600":"http://fonts.gstatic.com/s/splinesans/v1/_6_sED73Uf-2WfU2LzycEZousNzn1a1lKWRp5l7YEtvlUfE2kw.ttf","700":"http://fonts.gstatic.com/s/splinesans/v1/_6_sED73Uf-2WfU2LzycEZousNzn1a1lKWRp317YEtvlUfE2kw.ttf","regular":"http://fonts.gstatic.com/s/splinesans/v1/_6_sED73Uf-2WfU2LzycEZousNzn1a1lKWRpOFnYEtvlUfE2kw.ttf"},"Luxurious Roman":{"regular":"http://fonts.gstatic.com/s/luxuriousroman/v1/buEupou_ZcP1w0yTKxJJokVSmbpqYgckeo9RMw.ttf"},"The Nautigal":{"700":"http://fonts.gstatic.com/s/thenautigal/v1/VdGGAZ8ZH51Lvng9fQV2bfKTWypA2_-C7LoS7g.ttf","regular":"http://fonts.gstatic.com/s/thenautigal/v1/VdGZAZ8ZH51Lvng9fQV2bfKr5wVk09Se5Q.ttf"},"Vujahday Script":{"regular":"http://fonts.gstatic.com/s/vujahdayscript/v1/RWmQoKGA8fEkrIPtSZ3_J7er2dUiDEtvAlaMKw.ttf"},"Twinkle Star":{"regular":"http://fonts.gstatic.com/s/twinklestar/v1/pe0pMI6IL4dPoFl9LGEmY6WaA_Rue1UwVg.ttf"},"Pushster":{"regular":"http://fonts.gstatic.com/s/pushster/v12/BXRovFDanenCmllHXst622v9WNjW.ttf"},"Imperial Script":{"regular":"http://fonts.gstatic.com/s/imperialscript/v1/5DCPAKrpzy_H98IV2ISnZBbGrVNvPenlvttWNg.ttf"},"Kolker Brush":{"regular":"http://fonts.gstatic.com/s/kolkerbrush/v1/iJWDBXWRZjfKWdvmzwvvog3-7KJ6x8qNUQ.ttf"}} \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-names.json b/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-names.json new file mode 100644 index 0000000..8448ca3 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/googlefonts/src/webfont-names.json @@ -0,0 +1 @@ +["Roboto","Open Sans","Noto Sans JP","Lato","Montserrat","Roboto Condensed","Source Sans Pro","Poppins","Oswald","Roboto Mono","Raleway","Noto Sans","Nunito","Ubuntu","PT Sans","Merriweather","Roboto Slab","Playfair Display","Inter","Mukta","Rubik","Open Sans Condensed","Lora","Noto Sans KR","Work Sans","Nunito Sans","Nanum Gothic","Fira Sans","PT Serif","Quicksand","Titillium Web","Hind Siliguri","Noto Serif","Karla","Barlow","Noto Sans TC","Inconsolata","Heebo","IBM Plex Sans","Libre Franklin","PT Sans Narrow","Libre Baskerville","Oxygen","Source Code Pro","Arimo","Dosis","Josefin Sans","Bebas Neue","Mulish","Cabin","Lobster","Bitter","EB Garamond","Anton","DM Sans","Dancing Script","Source Serif Pro","Prompt","Cairo","Yanone Kaffeesatz","Varela Round","Hind","Abel","Kanit","Barlow Condensed","Fjalla One","Comfortaa","Arvo","Exo 2","Pacifico","Overpass","Maven Pro","Teko","Merriweather Sans","Shadows Into Light","Asap","Indie Flower","Signika Negative","Noto Sans SC","Abril Fatface","Rajdhani","Architects Daughter","Hind Madurai","Questrial","Cormorant Garamond","Saira Condensed","Slabo 27px","Noto Serif JP","IBM Plex Serif","Assistant","Caveat","Fira Sans Condensed","Catamaran","Manrope","Permanent Marker","Balsamiq Sans","Nanum Myeongjo","Exo","Ubuntu Mono","Tajawal","Padauk","Archivo","Patrick Hand","Archivo Narrow","Domine","Satisfy","Secular One","Play","Zilla Slab","Acme","M PLUS Rounded 1c","ABeeZee","Alfa Slab One","Spartan","Public Sans","Bree Serif","Signika","Amatic SC","Noto Sans Display","Gloria Hallelujah","Jost","Patua One","Barlow Semi Condensed","Staatliches","Crete Round","Righteous","Sarabun","Vollkorn","Fredoka One","Red Hat Display","Cinzel","Eczar","Martel","Cookie","Chakra Petch","Alegreya Sans","Yantramanav","Space Mono","Antic Slab","Amiri","Courgette","Space Grotesk","Almarai","M PLUS 1p","Lobster Two","IBM Plex Mono","Great Vibes","PT Sans Caption","Ubuntu Condensed","Tinos","Alegreya","Didact Gothic","Encode Sans","Gothic A1","Prata","DM Serif Display","Russo One","Kaushan Script","Montserrat Alternates","Archivo Black","Frank Ruhl Libre","Spectral","Noticia Text","Cardo","Francois One","Parisienne","Old Standard TT","Baloo 2","Kalam","Passion One","Noto Kufi Arabic","Changa","Sacramento","Asap Condensed","Crimson Pro","Rokkitt","Cantarell","Special Elite","Orbitron","Cormorant","Paytone One","Quattrocento Sans","Concert One","Cuprum","Saira","Pathway Gothic One","Luckiest Guy","Noto Serif TC","Volkhov","Chivo","Handlee","Josefin Slab","Khand","Ropa Sans","PT Mono","Faustina","Sawarabi Mincho","Titan One","Itim","Unna","Gelasio","News Cycle","Playfair Display SC","Philosopher","Quattrocento","Syncopate","Sanchez","Press Start 2P","Mitr","Poiret One","Alata","Vidaloka","Monda","Advent Pro","Bungee","Arima Madurai","Neuton","Playball","Viga","Noto Sans HK","Yeseva One","Ultra","Yellowtail","Taviraj","Saira Semi Condensed","Fira Sans Extra Condensed","Marcellus","Karma","Tangerine","Creepster","Bangers","Noto Serif KR","Sigmar One","Hammersmith One","Sora","Aleo","Lusitana","Alice","Actor","Gochi Hand","El Messiri","Arapey","Istok Web","Sawarabi Gothic","Mali","Neucha","Gudea","Merienda","Nanum Gothic Coding","DM Serif Text","Ruda","Fugaz One","Homemade Apple","Nanum Pen Script","Adamina","Jura","Allura","Carter One","Recursive","Cabin Condensed","Lilita One","BenchNine","Bai Jamjuree","Hind Vadodara","Lexend Deca","Marck Script","Noto Serif SC","Amaranth","Economica","Unica One","Alef","Pragati Narrow","Palanquin","Gentium Basic","Mukta Malar","Khula","Julius Sans One","IM Fell English SC","Sen","Rock Salt","Armata","Monoton","Ramabhadra","Abhaya Libre","Nothing You Could Do","Alex Brush","Audiowide","Gentium Book Basic","Pontano Sans","Tenor Sans","Gruppo","Bad Script","Allerta","Courier Prime","Share Tech Mono","Cousine","Aclonica","Reenie Beanie","Pangolin","Electrolize","Varela","Fira Code","Kosugi Maru","Rufina","Sorts Mill Goudy","Commissioner","Sarala","Oleo Script","Black Ops One","Arsenal","Mate SC","Martel Sans","Mandali","Rubik Mono One","Red Hat Text","Sriracha","Damion","Forum","Shadows Into Light Two","Cantata One","Coda","Suez One","Lalezar","Quantico","Fira Mono","Krub","Bubblegum Sans","Basic","Black Han Sans","IBM Plex Sans Condensed","Mr Dafoe","Changa One","Italianno","Michroma","Laila","Markazi Text","Mada","Annie Use Your Telescope","Literata","Boogaloo","Jaldi","Sintony","Average","Days One","Six Caps","Rasa","Overlock","Caveat Brush","Overpass Mono","Lexend","Spinnaker","Pinyon Script","Berkshire Swash","Yrsa","Niramit","Arizonia","Alegreya Sans SC","Chewy","Bodoni Moda","Encode Sans Condensed","Antic","Candal","Fredericka the Great","Blinker","Rancho","Judson","Voltaire","Shrikhand","Norican","Harmattan","Pridi","Glegoo","Sansita","Corben","Kreon","Lemonada","Stint Ultra Condensed","Squada One","Kameron","Enriqueta","Noto Naskh Arabic","Anonymous Pro","Lateef","Belgrano","Reem Kufi","VT323","Hind Guntur","Londrina Solid","PT Serif Caption","Bowlby One SC","Bevan","Darker Grotesque","Aldrich","Telex","Knewave","Cabin Sketch","Palanquin Dark","Covered By Your Grace","Charm","Niconne","Leckerli One","Allerta Stencil","Coming Soon","Arbutus Slab","Graduate","GFS Didot","Castoro","Mrs Saint Delafield","Baskervville","Holtwood One SC","Rozha One","Herr Von Muellerhoff","Saira Extra Condensed","Libre Caslon Text","Mate","Grand Hotel","Trocchi","Cinzel Decorative","Syne","Scada","Just Another Hand","Racing Sans One","Gilda Display","Capriola","Amita","Trirong","Caudex","Epilogue","Noto Sans Devanagari","Bowlby One","Alike","Magra","Rambla","Kristi","Share","Rye","Alike Angular","Nanum Brush Script","Jua","Delius","Rochester","Alatsi","Lustria","Athiti","Mukta Vaani","Copse","Oranienbaum","Coustard","Biryani","Yesteryear","Marcellus SC","Alegreya SC","K2D","Miriam Libre","Amethysta","Skranji","Gugi","Krona One","Noto Sans Tamil","Comic Neue","Nobile","Convergence","Nixie One","Pattaya","Carme","Seaweed Script","Contrail One","Suranna","Fauna One","Sunflower","Average Sans","Petit Formal Script","Cedarville Cursive","Podkova","Belleza","Bungee Inline","NTR","Big Shoulders Display","JetBrains Mono","Halant","Do Hyeon","Baloo Tamma 2","Averia Serif Libre","Amiko","Allan","Aladin","Outfit","Carrois Gothic","BioRhyme","Maitree","Cormorant Infant","Georama","Kumbh Sans","Calligraffitti","Ovo","Hanuman","Mountains of Christmas","Libre Barcode 39","Wallpoet","Merienda One","Mr De Haviland","Sofia","La Belle Aurore","Antonio","Marmelad","Molengo","Stardos Stencil","Encode Sans Semi Condensed","Slabo 13px","Spectral SC","Rosario","Jockey One","Cutive Mono","Qwigley","Rammetto One","STIX Two Text","Metrophobic","Mansalva","Grandstander","Hi Melody","Oxygen Mono","Schoolbell","Monsieur La Doulaise","Kosugi","Raleway Dots","Radley","David Libre","Bellefair","Oxanium","Esteban","Short Stack","Duru Sans","Dela Gothic One","Manjari","Thasadith","Averia Libre","Kelly Slab","Marvel","Cambay","Baloo Da 2","Chonburi","Sniglet","IM Fell DW Pica","Poly","Mallanna","Calistoga","Cambo","B612 Mono","Farro","Bentham","Kurale","Atkinson Hyperlegible","Hepta Slab","Proza Libre","Shippori Mincho","Lemon","Dawning of a New Day","Gabriela","Poller One","IM Fell English","Noto Serif Display","Andika","Chelsea Market","UnifrakturMaguntia","Oregano","Expletus Sans","Zeyada","Coda Caption","Goudy Bookletter 1911","ZCOOL QingKe HuangYou","Mirza","Bungee Shade","Cutive","Fanwood Text","Noto Sans Malayalam","Montez","Noto Sans Mandaic","Limelight","Emilys Candy","Cormorant SC","Nova Mono","Oleo Script Swash Caps","Noto Sans Thai","Megrim","IM Fell Double Pica","Waiting for the Sunrise","Love Ya Like A Sister","Quando","Fahkwang","Buenard","Tillana","Brawler","Rouge Script","Sue Ellen Francisco","Urbanist","Grenze Gotisch","Katibeh","Pompiere","Give You Glory","Happy Monkey","Finger Paint","Gravitas One","Irish Grover","Turret Road","McLaren","Source Sans 3","Kadwa","Original Surfer","Azeret Mono","Clicker Script","ZCOOL XiaoWei","Henny Penny","Over the Rainbow","Inknut Antiqua","Euphoria Script","Sarpanch","Nova Round","Homenaje","Ceviche One","Piazzolla","Inder","Ranchers","Della Respira","Dokdo","Gurajada","Galada","Noto Sans Hebrew","Timmana","Sedgwick Ave","Freckle Face","Patrick Hand SC","Praise","Atma","Major Mono Display","Trykker","Vast Shadow","Livvic","Mochiy Pop One","Aguafina Script","Vollkorn SC","Big Shoulders Text","Mukta Mahee","DM Mono","Rakkas","Fondamento","Noto Sans Kannada","Antic Didone","Cormorant Upright","Noto Sans Bengali","Tenali Ramakrishna","Share Tech","Baloo Thambi 2","Anaheim","Battambang","Doppio One","Vesper Libre","Meddon","Noto Sans Telugu","Federo","Tienne","Baumans","Road Rage","Geo","Mouse Memoirs","Faster One","Unkempt","Codystar","Chau Philomene One","Ma Shan Zheng","Metamorphous","Sail","Averia Sans Libre","Kiwi Maru","Peralta","Yatra One","Bellota Text","Reggae One","Ledger","B612","Lekton","Walter Turncoat","Caladea","Aref Ruqaa","Goblin One","Frijole","Baloo Chettan 2","Balthazar","Noto Sans Oriya","Flamenco","Prosto One","Cherry Cream Soda","Notable","Odibee Sans","Montserrat Subrayada","Italiana","Fraunces","Readex Pro","Headland One","Crafty Girls","Shojumaru","Arya","Bilbo Swash Caps","Varta","Eater","Meera Inimai","Numans","Coiny","Strait","Lexend Zetta","Orienta","Cherry Swash","Wendy One","Elsie","Noto Sans Gujarati","Newsreader","Noto Sans Gurmukhi","Loved by the King","Port Lligat Sans","Fjord One","Montaga","Imprima","Mohave","Shippori Mincho B1","Baloo Tammudu 2","Port Lligat Slab","Salsa","RocknRoll One","Amarante","Encode Sans Expanded","Sansita Swashed","Shalimar","MonteCarlo","Trade Winds","Stalemate","Style Script","Iceland","Ranga","Baloo Paaji 2","Mako","Carrois Gothic SC","Delius Swash Caps","Spicy Rice","Shanti","Fresca","Mina","Artifika","The Girl Next Door","Just Me Again Down Here","Bilbo","Pavanam","Englebert","Life Savers","Scope One","Averia Gruesa Libre","Yusei Magic","Wire One","Charmonman","Gaegu","Bakbak One","Lily Script One","Kodchasan","Asul","Baloo Bhai 2","Nova Square","Libre Barcode 39 Text","Bubbler One","Gafata","KoHo","Dynalight","Solway","Goldman","Voces","Ruslan Display","Delius Unicase","Big Shoulders Stencil Text","Cormorant Unicase","Festive","Corinthia","Overlock SC","Puritan","Medula One","Encode Sans Semi Expanded","Vibur","UnifrakturCook","Slackey","Noto Sans Sinhala","Cantora One","Tauri","Engagement","League Script","Baloo Bhaina 2","Ibarra Real Nova","MuseoModerno","Denk One","Poor Story","Akaya Kanadaka","Kite One","Chango","Milonga","Manuale","Sarina","Song Myung","Buda","Almendra","Macondo Swash Caps","Germania One","Libre Barcode 39 Extended Text","Besley","Modak","Stoke","Kranky","Paprika","MedievalSharp","IM Fell French Canon","Habibi","Sonsie One","Yeon Sung","Lovers Quarrel","Nova Flat","Gamja Flower","DotGothic16","Akaya Telivigala","Libre Barcode 128","Kulim Park","Tomorrow","Allison","Bellota","Ribeye","Redacted","Mystery Quest","Saira Stencil One","Ramaraja","Zilla Slab Highlight","Fontdiner Swanky","Libre Caslon Display","Cute Font","Julee","Sulphur Point","Prociono","Ephesis","ZCOOL KuaiLe","Margarine","Londrina Outline","Khmer","Farsan","Iceberg","Lexend Exa","Asar","Inika","Uncial Antiqua","Nokora","Rosarivo","Dekko","Lakki Reddy","Sumana","Stint Ultra Expanded","Meie Script","Fenix","Kufam","Croissant One","Donegal One","Vampiro One","Chicle","Rationale","Fuzzy Bubbles","IM Fell French Canon SC","Single Day","New Rocker","Text Me One","Pirata One","Condiment","Autour One","Sree Krushnadevaraya","Jomhuria","Andika New Basic","Cagliostro","Simonetta","Akronim","Ruluko","Petrona","Kotta One","IBM Plex Sans Thai","Crushed","Sancreek","Gayathri","Glory","Rowdies","Noto Sans Arabic","Angkor","Potta One","Quintessential","Rum Raisin","Swanky and Moo Moo","Stylish","Be Vietnam Pro","Nosifer","Hachi Maru Pop","Offside","Piedra","Redacted Script","Kumar One","Kavivanar","Chilanka","Eagle Lake","Big Shoulders Stencil Display","Griffy","Wellfleet","Underdog","Inria Serif","Moul","Asset","East Sea Dokdo","Londrina Shadow","IM Fell Great Primer","Ruthie","Bigelow Rules","Zen Dots","Scheherazade New","Gemunu Libre","Junge","IM Fell DW Pica SC","Sura","Princess Sofia","Barriecito","Ruge Boogie","Tulpen One","Miniver","Felipa","Dorsa","Sirin Stencil","Noto Nastaliq Urdu","Risque","Gotu","Elsie Swash Caps","Tourney","Barrio","Yaldevi","Gorditas","WindSong","Kantumruy","Marko One","Modern Antiqua","Noto Sans Mono","Spirax","Chathura","Content","Redressed","Combo","Sahitya","Monofett","Bayon","Maiden Orange","Red Rose","Mogra","Mrs Sheppards","Arbutus","Jomolhari","Kavoon","Ravi Prakash","Linden Hill","Ribeye Marrow","Kumar One Outline","Brygada 1918","Lexend Mega","Joti One","Rhodium Libre","Molle","Metal Mania","Beth Ellen","Diplomata SC","Lancelot","Romanesco","Fascinate Inline","Diplomata","Stick","Black And White Picture","Almendra SC","Noto Serif Bengali","Devonshire","Lexend Giga","Glass Antiqua","Libre Barcode 39 Extended","Viaoda Libre","Jolly Lodger","Galdeano","Bigshot One","Kaisei Tokumin","Inria Sans","Zen Old Mincho","Libre Barcode 128 Text","Jim Nightshade","Girassol","Caesar Dressing","Atomic Age","Luxurious Script","Baloo Bhaijaan 2","Galindo","Orelega One","Peddana","Revalia","Smythe","Koulen","Londrina Sketch","Dangrek","Srisakdi","Jacques Francois Shadow","Train One","GFS Neohellenic","Ewert","Noto Sans Myanmar","Plaster","Kirang Haerang","Keania One","Gupter","Bona Nova","Zen Maru Gothic","Bahiana","Purple Purse","IM Fell Great Primer SC","Kaisei Decol","Bungee Outline","Hanalei Fill","Miss Fajardose","Grenze","Odor Mean Chey","Trochut","Unlock","Chela One","Oldenburg","Sunshiney","Federant","Dr Sugiyama","Lexend Tera","Zen Kaku Gothic New","Snippet","Smooch","Nova Slim","Yomogi","Jacques Francois","Montagu Slab","Metal","Noto Sans Georgian","Zhi Mang Xing","Emblema One","Flavors","Macondo","Texturina","Kdam Thmor","Kaisei Opti","Meow Script","Noto Sans Armenian","Fascinate","Mr Bedfort","Syne Mono","Rampart One","Almendra Display","Vibes","Fuggles","Zen Kaku Gothic Antique","Klee One","Butterfly Kids","Truculenta","Nerko One","Gowun Batang","Siemreap","Smokum","Bahianita","Erica One","Sedgwick Ave Display","Freehand","Passero One","Fruktur","Noto Sans Symbols","Suwannaphum","Gwendolyn","Sevillana","Seymour One","Hina Mincho","IM Fell Double Pica SC","Otomanopee One","Stalinist One","Bokor","Kaisei HarunoUmi","Bonbon","Liu Jian Mao Cao","Preahvihear","Bungee Hairline","Lacquer","IBM Plex Sans Arabic","Snowburst One","Hanalei","Miltonian Tattoo","Zen Loop","Comforter","Gidugu","Ballet","Hahmlet","Chenla","Miltonian","IBM Plex Sans KR","Karantina","Butcherman","Zen Antique","Astloch","Supermercado One","Murecho","Benne","Nova Script","New Tegomin","Aubrey","Taprom","BioRhyme Expanded","Birthstone","Nova Oval","Long Cang","Nova Cut","Stick No Bills","Moulpali","Sofadi One","Shippori Antique","Gluten","Noto Sans Gothic","Geostar Fill","Zen Antique Soft","Suravaram","Petemoss","Alumni Sans","Bonheur Royale","Birthstone Bounce","Andada Pro","Carattere","Noto Serif Malayalam","Comforter Brush","Dhurjati","Imbue","Mochiy Pop P One","Xanh Mono","Zen Kurenaido","Encode Sans SC","Fasthand","Langar","Estonia","Palette Mosaic","Gowun Dodum","Lexend Peta","Big Shoulders Inline Text","Genos","Libre Barcode EAN13 Text","Kenia","Zen Tokyo Zoo","Geostar","Noto Serif Tamil","M PLUS 1","Trispace","Grechen Fuemen","Noto Sans Tamil Supplement","Warnes","Qahiri","M PLUS 1 Code","Cherish","Are You Serious","Kings","M PLUS 2","Flow Circular","Yuji Syuku","Rubik Beastly","Fleur De Leah","Big Shoulders Inline Display","Hurricane","Syne Tactile","IBM Plex Sans Thai Looped","Flow Rounded","Flow Block","Oi","Grey Qo","Yuji Boku","Dongle","Puppies Play","Passions Conflict","Sassy Frass","Yuji Mai","Koh Santepheap","Gideon Roman","Shippori Antique B1","Explora","Caramel","IBM Plex Sans Hebrew","IBM Plex Sans Devanagari","Noto Sans Coptic","M PLUS Code Latin","Noto Serif Georgian","Noto Serif Sinhala","Noto Sans Lao","Noto Sans Tai Viet","Noto Serif Thai","Red Hat Mono","Uchen","Noto Sans Khmer","Noto Sans Deseret","Noto Serif Armenian","Noto Sans Symbols 2","Noto Sans Caucasian Albanian","Noto Sans Javanese","Noto Serif Khmer","Noto Serif Ethiopic","Noto Sans Brahmi","Noto Sans Thai Looped","Noto Serif Devanagari","Noto Serif Lao","Noto Sans Cherokee","Noto Sans Cypriot","Noto Sans Imperial Aramaic","Noto Sans Tagalog","Noto Sans Old Hungarian","Noto Serif Hebrew","Noto Sans Cham","Noto Sans Thaana","Noto Serif Gujarati","Noto Sans Ol Chiki","Noto Sans Old Turkic","Noto Serif Kannada","Noto Rashi Hebrew","Noto Serif Myanmar","Noto Serif Yezidi","Noto Serif Gurmukhi","Noto Serif Tibetan","Noto Music","Noto Sans Carian","Noto Sans Canadian Aboriginal","Noto Serif Telugu","Noto Sans Tifinagh","Noto Sans Tai Le","Noto Sans Meetei Mayek","Noto Sans Osmanya","Noto Sans Tai Tham","Noto Sans Balinese","Noto Sans Saurashtra","Noto Sans Sora Sompeng","Noto Sans Old Italic","Noto Serif Nyiakeng Puachue Hmong","Noto Sans Mongolian","Noto Sans Adlam Unjoined","Noto Sans Sundanese","Noto Sans Grantha","Noto Sans Anatolian Hieroglyphs","Noto Sans Adlam","Noto Sans Inscriptional Parthian","Noto Sans Medefaidrin","Noto Sans Bamum","Noto Sans Hanifi Rohingya","Noto Sans Kayah Li","Noto Serif Dogra","Noto Sans Egyptian Hieroglyphs","Noto Sans Lisu","Noto Sans Inscriptional Pahlavi","Noto Sans Linear B","Noto Sans Yi","Noto Serif Balinese","Noto Sans Samaritan","Noto Sans Hanunoo","Noto Sans Syriac","Noto Sans Old South Arabian","Noto Sans Phoenician","Noto Sans Kaithi","Noto Sans Math","Noto Serif Grantha","Noto Sans Old Persian","Noto Sans Old North Arabian","Noto Sans Cuneiform","Noto Serif Tangut","Noto Serif Ahom","Noto Sans Batak","Noto Sans Runic","Noto Sans New Tai Lue","Noto Sans Avestan","Noto Sans Mayan Numerals","Noto Sans Mahajani","Noto Sans Buginese","Noto Sans Tirhuta","Noto Sans Palmyrene","Noto Sans Zanabazar Square","Noto Sans Limbu","Noto Sans Elbasan","Noto Sans Tagbanwa","Noto Sans Old Permic","Noto Sans Newa","Noto Sans Rejang","Noto Sans Syloti Nagri","Noto Sans Gunjala Gondi","Noto Sans Khudawadi","Noto Sans Kharoshthi","Noto Sans Marchen","Noto Sans Khojki","Noto Sans Modi","Noto Sans Masaram Gondi","Noto Sans Indic Siyaq Numbers","Noto Sans Lycian","Noto Sans Linear A","Noto Sans Phags Pa","Noto Sans Psalter Pahlavi","Noto Sans Pau Cin Hau","Noto Sans Duployan","Noto Sans Old Sogdian","Noto Sans Osage","Noto Sans Sogdian","Noto Sans Nabataean","Noto Sans Siddham","Noto Sans Bhaiksuki","Noto Sans Elymaic","Noto Sans Multani","Noto Sans Ugaritic","Noto Sans Chakma","Noto Sans Pahawh Hmong","Noto Sans Warang Citi","Noto Sans Mro","Noto Sans Meroitic","Noto Sans Sharada","Noto Sans Miao","Noto Sans Vai","Noto Sans Glagolitic","Noto Traditional Nushu","Noto Sans Hatran","Noto Sans Lepcha","Noto Sans Nushu","Noto Sans Bassa Vah","Noto Sans Ogham","Noto Sans Shavian","Noto Sans Lydian","Noto Sans N Ko","Noto Sans Takri","Noto Sans Buhid","Noto Sans Manichaean","Noto Sans Wancho","Noto Sans Soyombo","Yuji Hentaigana Akebono","Moo Lah Lah","Licorice","Inspiration","Island Moments","Waterfall","Oooh Baby","Yuji Hentaigana Akari","Ole","Mea Culpa","Moon Dance","Qwitcher Grypen","Source Serif 4","Rock 3D","Love Light","Shizuru","Spline Sans","Luxurious Roman","The Nautigal","Vujahday Script","Twinkle Star","Pushster","Imperial Script","Kolker Brush"] \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/googlefonts/src/webfonts.json b/functions/kirki/packages/kirki-framework/googlefonts/src/webfonts.json new file mode 100644 index 0000000..7b905b2 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/googlefonts/src/webfonts.json @@ -0,0 +1 @@ +{"items":{"ABeeZee":{"family":"ABeeZee","category":"sans-serif","variants":["italic","regular"]},"Abel":{"family":"Abel","category":"sans-serif","variants":["regular"]},"Abhaya Libre":{"family":"Abhaya Libre","category":"serif","variants":["500","600","700","800","regular"]},"Abril Fatface":{"family":"Abril Fatface","category":"display","variants":["regular"]},"Aclonica":{"family":"Aclonica","category":"sans-serif","variants":["regular"]},"Acme":{"family":"Acme","category":"sans-serif","variants":["regular"]},"Actor":{"family":"Actor","category":"sans-serif","variants":["regular"]},"Adamina":{"family":"Adamina","category":"serif","variants":["regular"]},"Advent Pro":{"family":"Advent Pro","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"Aguafina Script":{"family":"Aguafina Script","category":"handwriting","variants":["regular"]},"Akaya Kanadaka":{"family":"Akaya Kanadaka","category":"display","variants":["regular"]},"Akaya Telivigala":{"family":"Akaya Telivigala","category":"display","variants":["regular"]},"Akronim":{"family":"Akronim","category":"display","variants":["regular"]},"Aladin":{"family":"Aladin","category":"handwriting","variants":["regular"]},"Alata":{"family":"Alata","category":"sans-serif","variants":["regular"]},"Alatsi":{"family":"Alatsi","category":"sans-serif","variants":["regular"]},"Aldrich":{"family":"Aldrich","category":"sans-serif","variants":["regular"]},"Alef":{"family":"Alef","category":"sans-serif","variants":["700","regular"]},"Alegreya":{"family":"Alegreya","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Alegreya SC":{"family":"Alegreya SC","category":"serif","variants":["500","500italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Alegreya Sans":{"family":"Alegreya Sans","category":"sans-serif","variants":["100","100italic","300","300italic","500","500italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Alegreya Sans SC":{"family":"Alegreya Sans SC","category":"sans-serif","variants":["100","100italic","300","300italic","500","500italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Aleo":{"family":"Aleo","category":"serif","variants":["300","300italic","700","700italic","italic","regular"]},"Alex Brush":{"family":"Alex Brush","category":"handwriting","variants":["regular"]},"Alfa Slab One":{"family":"Alfa Slab One","category":"display","variants":["regular"]},"Alice":{"family":"Alice","category":"serif","variants":["regular"]},"Alike":{"family":"Alike","category":"serif","variants":["regular"]},"Alike Angular":{"family":"Alike Angular","category":"serif","variants":["regular"]},"Allan":{"family":"Allan","category":"display","variants":["700","regular"]},"Allerta":{"family":"Allerta","category":"sans-serif","variants":["regular"]},"Allerta Stencil":{"family":"Allerta Stencil","category":"sans-serif","variants":["regular"]},"Allison":{"family":"Allison","category":"handwriting","variants":["regular"]},"Allura":{"family":"Allura","category":"handwriting","variants":["regular"]},"Almarai":{"family":"Almarai","category":"sans-serif","variants":["300","700","800","regular"]},"Almendra":{"family":"Almendra","category":"serif","variants":["700","700italic","italic","regular"]},"Almendra Display":{"family":"Almendra Display","category":"display","variants":["regular"]},"Almendra SC":{"family":"Almendra SC","category":"serif","variants":["regular"]},"Alumni Sans":{"family":"Alumni Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Amarante":{"family":"Amarante","category":"display","variants":["regular"]},"Amaranth":{"family":"Amaranth","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Amatic SC":{"family":"Amatic SC","category":"handwriting","variants":["700","regular"]},"Amethysta":{"family":"Amethysta","category":"serif","variants":["regular"]},"Amiko":{"family":"Amiko","category":"sans-serif","variants":["600","700","regular"]},"Amiri":{"family":"Amiri","category":"serif","variants":["700","700italic","italic","regular"]},"Amita":{"family":"Amita","category":"handwriting","variants":["700","regular"]},"Anaheim":{"family":"Anaheim","category":"sans-serif","variants":["regular"]},"Andada Pro":{"family":"Andada Pro","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Andika":{"family":"Andika","category":"sans-serif","variants":["regular"]},"Andika New Basic":{"family":"Andika New Basic","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Angkor":{"family":"Angkor","category":"display","variants":["regular"]},"Annie Use Your Telescope":{"family":"Annie Use Your Telescope","category":"handwriting","variants":["regular"]},"Anonymous Pro":{"family":"Anonymous Pro","category":"monospace","variants":["700","700italic","italic","regular"]},"Antic":{"family":"Antic","category":"sans-serif","variants":["regular"]},"Antic Didone":{"family":"Antic Didone","category":"serif","variants":["regular"]},"Antic Slab":{"family":"Antic Slab","category":"serif","variants":["regular"]},"Anton":{"family":"Anton","category":"sans-serif","variants":["regular"]},"Antonio":{"family":"Antonio","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"Arapey":{"family":"Arapey","category":"serif","variants":["italic","regular"]},"Arbutus":{"family":"Arbutus","category":"display","variants":["regular"]},"Arbutus Slab":{"family":"Arbutus Slab","category":"serif","variants":["regular"]},"Architects Daughter":{"family":"Architects Daughter","category":"handwriting","variants":["regular"]},"Archivo":{"family":"Archivo","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Archivo Black":{"family":"Archivo Black","category":"sans-serif","variants":["regular"]},"Archivo Narrow":{"family":"Archivo Narrow","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Are You Serious":{"family":"Are You Serious","category":"handwriting","variants":["regular"]},"Aref Ruqaa":{"family":"Aref Ruqaa","category":"serif","variants":["700","regular"]},"Arima Madurai":{"family":"Arima Madurai","category":"display","variants":["100","200","300","500","700","800","900","regular"]},"Arimo":{"family":"Arimo","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Arizonia":{"family":"Arizonia","category":"handwriting","variants":["regular"]},"Armata":{"family":"Armata","category":"sans-serif","variants":["regular"]},"Arsenal":{"family":"Arsenal","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Artifika":{"family":"Artifika","category":"serif","variants":["regular"]},"Arvo":{"family":"Arvo","category":"serif","variants":["700","700italic","italic","regular"]},"Arya":{"family":"Arya","category":"sans-serif","variants":["700","regular"]},"Asap":{"family":"Asap","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Asap Condensed":{"family":"Asap Condensed","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Asar":{"family":"Asar","category":"serif","variants":["regular"]},"Asset":{"family":"Asset","category":"display","variants":["regular"]},"Assistant":{"family":"Assistant","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Astloch":{"family":"Astloch","category":"display","variants":["700","regular"]},"Asul":{"family":"Asul","category":"sans-serif","variants":["700","regular"]},"Athiti":{"family":"Athiti","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Atkinson Hyperlegible":{"family":"Atkinson Hyperlegible","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Atma":{"family":"Atma","category":"display","variants":["300","500","600","700","regular"]},"Atomic Age":{"family":"Atomic Age","category":"display","variants":["regular"]},"Aubrey":{"family":"Aubrey","category":"display","variants":["regular"]},"Audiowide":{"family":"Audiowide","category":"display","variants":["regular"]},"Autour One":{"family":"Autour One","category":"display","variants":["regular"]},"Average":{"family":"Average","category":"serif","variants":["regular"]},"Average Sans":{"family":"Average Sans","category":"sans-serif","variants":["regular"]},"Averia Gruesa Libre":{"family":"Averia Gruesa Libre","category":"display","variants":["regular"]},"Averia Libre":{"family":"Averia Libre","category":"display","variants":["300","300italic","700","700italic","italic","regular"]},"Averia Sans Libre":{"family":"Averia Sans Libre","category":"display","variants":["300","300italic","700","700italic","italic","regular"]},"Averia Serif Libre":{"family":"Averia Serif Libre","category":"display","variants":["300","300italic","700","700italic","italic","regular"]},"Azeret Mono":{"family":"Azeret Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"B612":{"family":"B612","category":"sans-serif","variants":["700","700italic","italic","regular"]},"B612 Mono":{"family":"B612 Mono","category":"monospace","variants":["700","700italic","italic","regular"]},"Bad Script":{"family":"Bad Script","category":"handwriting","variants":["regular"]},"Bahiana":{"family":"Bahiana","category":"display","variants":["regular"]},"Bahianita":{"family":"Bahianita","category":"display","variants":["regular"]},"Bai Jamjuree":{"family":"Bai Jamjuree","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Bakbak One":{"family":"Bakbak One","category":"display","variants":["regular"]},"Ballet":{"family":"Ballet","category":"handwriting","variants":["regular"]},"Baloo 2":{"family":"Baloo 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Bhai 2":{"family":"Baloo Bhai 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Bhaijaan 2":{"family":"Baloo Bhaijaan 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Bhaina 2":{"family":"Baloo Bhaina 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Chettan 2":{"family":"Baloo Chettan 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Da 2":{"family":"Baloo Da 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Paaji 2":{"family":"Baloo Paaji 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Tamma 2":{"family":"Baloo Tamma 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Tammudu 2":{"family":"Baloo Tammudu 2","category":"display","variants":["500","600","700","800","regular"]},"Baloo Thambi 2":{"family":"Baloo Thambi 2","category":"display","variants":["500","600","700","800","regular"]},"Balsamiq Sans":{"family":"Balsamiq Sans","category":"display","variants":["700","700italic","italic","regular"]},"Balthazar":{"family":"Balthazar","category":"serif","variants":["regular"]},"Bangers":{"family":"Bangers","category":"display","variants":["regular"]},"Barlow":{"family":"Barlow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Barlow Condensed":{"family":"Barlow Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Barlow Semi Condensed":{"family":"Barlow Semi Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Barriecito":{"family":"Barriecito","category":"display","variants":["regular"]},"Barrio":{"family":"Barrio","category":"display","variants":["regular"]},"Basic":{"family":"Basic","category":"sans-serif","variants":["regular"]},"Baskervville":{"family":"Baskervville","category":"serif","variants":["italic","regular"]},"Battambang":{"family":"Battambang","category":"display","variants":["100","300","700","900","regular"]},"Baumans":{"family":"Baumans","category":"display","variants":["regular"]},"Bayon":{"family":"Bayon","category":"sans-serif","variants":["regular"]},"Be Vietnam Pro":{"family":"Be Vietnam Pro","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Bebas Neue":{"family":"Bebas Neue","category":"display","variants":["regular"]},"Belgrano":{"family":"Belgrano","category":"serif","variants":["regular"]},"Bellefair":{"family":"Bellefair","category":"serif","variants":["regular"]},"Belleza":{"family":"Belleza","category":"sans-serif","variants":["regular"]},"Bellota":{"family":"Bellota","category":"display","variants":["300","300italic","700","700italic","italic","regular"]},"Bellota Text":{"family":"Bellota Text","category":"display","variants":["300","300italic","700","700italic","italic","regular"]},"BenchNine":{"family":"BenchNine","category":"sans-serif","variants":["300","700","regular"]},"Benne":{"family":"Benne","category":"serif","variants":["regular"]},"Bentham":{"family":"Bentham","category":"serif","variants":["regular"]},"Berkshire Swash":{"family":"Berkshire Swash","category":"handwriting","variants":["regular"]},"Besley":{"family":"Besley","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Beth Ellen":{"family":"Beth Ellen","category":"handwriting","variants":["regular"]},"Bevan":{"family":"Bevan","category":"display","variants":["italic","regular"]},"Big Shoulders Display":{"family":"Big Shoulders Display","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Big Shoulders Inline Display":{"family":"Big Shoulders Inline Display","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Big Shoulders Inline Text":{"family":"Big Shoulders Inline Text","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Big Shoulders Stencil Display":{"family":"Big Shoulders Stencil Display","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Big Shoulders Stencil Text":{"family":"Big Shoulders Stencil Text","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Big Shoulders Text":{"family":"Big Shoulders Text","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Bigelow Rules":{"family":"Bigelow Rules","category":"display","variants":["regular"]},"Bigshot One":{"family":"Bigshot One","category":"display","variants":["regular"]},"Bilbo":{"family":"Bilbo","category":"handwriting","variants":["regular"]},"Bilbo Swash Caps":{"family":"Bilbo Swash Caps","category":"handwriting","variants":["regular"]},"BioRhyme":{"family":"BioRhyme","category":"serif","variants":["200","300","700","800","regular"]},"BioRhyme Expanded":{"family":"BioRhyme Expanded","category":"serif","variants":["200","300","700","800","regular"]},"Birthstone":{"family":"Birthstone","category":"handwriting","variants":["regular"]},"Birthstone Bounce":{"family":"Birthstone Bounce","category":"handwriting","variants":["500","regular"]},"Biryani":{"family":"Biryani","category":"sans-serif","variants":["200","300","600","700","800","900","regular"]},"Bitter":{"family":"Bitter","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Black And White Picture":{"family":"Black And White Picture","category":"sans-serif","variants":["regular"]},"Black Han Sans":{"family":"Black Han Sans","category":"sans-serif","variants":["regular"]},"Black Ops One":{"family":"Black Ops One","category":"display","variants":["regular"]},"Blinker":{"family":"Blinker","category":"sans-serif","variants":["100","200","300","600","700","800","900","regular"]},"Bodoni Moda":{"family":"Bodoni Moda","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Bokor":{"family":"Bokor","category":"display","variants":["regular"]},"Bona Nova":{"family":"Bona Nova","category":"serif","variants":["700","italic","regular"]},"Bonbon":{"family":"Bonbon","category":"handwriting","variants":["regular"]},"Bonheur Royale":{"family":"Bonheur Royale","category":"handwriting","variants":["regular"]},"Boogaloo":{"family":"Boogaloo","category":"display","variants":["regular"]},"Bowlby One":{"family":"Bowlby One","category":"display","variants":["regular"]},"Bowlby One SC":{"family":"Bowlby One SC","category":"display","variants":["regular"]},"Brawler":{"family":"Brawler","category":"serif","variants":["regular"]},"Bree Serif":{"family":"Bree Serif","category":"serif","variants":["regular"]},"Brygada 1918":{"family":"Brygada 1918","category":"serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Bubblegum Sans":{"family":"Bubblegum Sans","category":"display","variants":["regular"]},"Bubbler One":{"family":"Bubbler One","category":"sans-serif","variants":["regular"]},"Buda":{"family":"Buda","category":"display","variants":["300"]},"Buenard":{"family":"Buenard","category":"serif","variants":["700","regular"]},"Bungee":{"family":"Bungee","category":"display","variants":["regular"]},"Bungee Hairline":{"family":"Bungee Hairline","category":"display","variants":["regular"]},"Bungee Inline":{"family":"Bungee Inline","category":"display","variants":["regular"]},"Bungee Outline":{"family":"Bungee Outline","category":"display","variants":["regular"]},"Bungee Shade":{"family":"Bungee Shade","category":"display","variants":["regular"]},"Butcherman":{"family":"Butcherman","category":"display","variants":["regular"]},"Butterfly Kids":{"family":"Butterfly Kids","category":"handwriting","variants":["regular"]},"Cabin":{"family":"Cabin","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Cabin Condensed":{"family":"Cabin Condensed","category":"sans-serif","variants":["500","600","700","regular"]},"Cabin Sketch":{"family":"Cabin Sketch","category":"display","variants":["700","regular"]},"Caesar Dressing":{"family":"Caesar Dressing","category":"display","variants":["regular"]},"Cagliostro":{"family":"Cagliostro","category":"sans-serif","variants":["regular"]},"Cairo":{"family":"Cairo","category":"sans-serif","variants":["200","300","500","600","700","800","900","regular"]},"Caladea":{"family":"Caladea","category":"serif","variants":["700","700italic","italic","regular"]},"Calistoga":{"family":"Calistoga","category":"display","variants":["regular"]},"Calligraffitti":{"family":"Calligraffitti","category":"handwriting","variants":["regular"]},"Cambay":{"family":"Cambay","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Cambo":{"family":"Cambo","category":"serif","variants":["regular"]},"Candal":{"family":"Candal","category":"sans-serif","variants":["regular"]},"Cantarell":{"family":"Cantarell","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Cantata One":{"family":"Cantata One","category":"serif","variants":["regular"]},"Cantora One":{"family":"Cantora One","category":"sans-serif","variants":["regular"]},"Capriola":{"family":"Capriola","category":"sans-serif","variants":["regular"]},"Caramel":{"family":"Caramel","category":"handwriting","variants":["regular"]},"Carattere":{"family":"Carattere","category":"handwriting","variants":["regular"]},"Cardo":{"family":"Cardo","category":"serif","variants":["700","italic","regular"]},"Carme":{"family":"Carme","category":"sans-serif","variants":["regular"]},"Carrois Gothic":{"family":"Carrois Gothic","category":"sans-serif","variants":["regular"]},"Carrois Gothic SC":{"family":"Carrois Gothic SC","category":"sans-serif","variants":["regular"]},"Carter One":{"family":"Carter One","category":"display","variants":["regular"]},"Castoro":{"family":"Castoro","category":"serif","variants":["italic","regular"]},"Catamaran":{"family":"Catamaran","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Caudex":{"family":"Caudex","category":"serif","variants":["700","700italic","italic","regular"]},"Caveat":{"family":"Caveat","category":"handwriting","variants":["500","600","700","regular"]},"Caveat Brush":{"family":"Caveat Brush","category":"handwriting","variants":["regular"]},"Cedarville Cursive":{"family":"Cedarville Cursive","category":"handwriting","variants":["regular"]},"Ceviche One":{"family":"Ceviche One","category":"display","variants":["regular"]},"Chakra Petch":{"family":"Chakra Petch","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Changa":{"family":"Changa","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Changa One":{"family":"Changa One","category":"display","variants":["italic","regular"]},"Chango":{"family":"Chango","category":"display","variants":["regular"]},"Charm":{"family":"Charm","category":"handwriting","variants":["700","regular"]},"Charmonman":{"family":"Charmonman","category":"handwriting","variants":["700","regular"]},"Chathura":{"family":"Chathura","category":"sans-serif","variants":["100","300","700","800","regular"]},"Chau Philomene One":{"family":"Chau Philomene One","category":"sans-serif","variants":["italic","regular"]},"Chela One":{"family":"Chela One","category":"display","variants":["regular"]},"Chelsea Market":{"family":"Chelsea Market","category":"display","variants":["regular"]},"Chenla":{"family":"Chenla","category":"display","variants":["regular"]},"Cherish":{"family":"Cherish","category":"handwriting","variants":["regular"]},"Cherry Cream Soda":{"family":"Cherry Cream Soda","category":"display","variants":["regular"]},"Cherry Swash":{"family":"Cherry Swash","category":"display","variants":["700","regular"]},"Chewy":{"family":"Chewy","category":"display","variants":["regular"]},"Chicle":{"family":"Chicle","category":"display","variants":["regular"]},"Chilanka":{"family":"Chilanka","category":"handwriting","variants":["regular"]},"Chivo":{"family":"Chivo","category":"sans-serif","variants":["300","300italic","700","700italic","900","900italic","italic","regular"]},"Chonburi":{"family":"Chonburi","category":"display","variants":["regular"]},"Cinzel":{"family":"Cinzel","category":"serif","variants":["500","600","700","800","900","regular"]},"Cinzel Decorative":{"family":"Cinzel Decorative","category":"display","variants":["700","900","regular"]},"Clicker Script":{"family":"Clicker Script","category":"handwriting","variants":["regular"]},"Coda":{"family":"Coda","category":"display","variants":["800","regular"]},"Coda Caption":{"family":"Coda Caption","category":"sans-serif","variants":["800"]},"Codystar":{"family":"Codystar","category":"display","variants":["300","regular"]},"Coiny":{"family":"Coiny","category":"display","variants":["regular"]},"Combo":{"family":"Combo","category":"display","variants":["regular"]},"Comfortaa":{"family":"Comfortaa","category":"display","variants":["300","500","600","700","regular"]},"Comforter":{"family":"Comforter","category":"handwriting","variants":["regular"]},"Comforter Brush":{"family":"Comforter Brush","category":"handwriting","variants":["regular"]},"Comic Neue":{"family":"Comic Neue","category":"handwriting","variants":["300","300italic","700","700italic","italic","regular"]},"Coming Soon":{"family":"Coming Soon","category":"handwriting","variants":["regular"]},"Commissioner":{"family":"Commissioner","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Concert One":{"family":"Concert One","category":"display","variants":["regular"]},"Condiment":{"family":"Condiment","category":"handwriting","variants":["regular"]},"Content":{"family":"Content","category":"display","variants":["700","regular"]},"Contrail One":{"family":"Contrail One","category":"display","variants":["regular"]},"Convergence":{"family":"Convergence","category":"sans-serif","variants":["regular"]},"Cookie":{"family":"Cookie","category":"handwriting","variants":["regular"]},"Copse":{"family":"Copse","category":"serif","variants":["regular"]},"Corben":{"family":"Corben","category":"display","variants":["700","regular"]},"Corinthia":{"family":"Corinthia","category":"handwriting","variants":["700","regular"]},"Cormorant":{"family":"Cormorant","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Cormorant Garamond":{"family":"Cormorant Garamond","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Cormorant Infant":{"family":"Cormorant Infant","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Cormorant SC":{"family":"Cormorant SC","category":"serif","variants":["300","500","600","700","regular"]},"Cormorant Unicase":{"family":"Cormorant Unicase","category":"serif","variants":["300","500","600","700","regular"]},"Cormorant Upright":{"family":"Cormorant Upright","category":"serif","variants":["300","500","600","700","regular"]},"Courgette":{"family":"Courgette","category":"handwriting","variants":["regular"]},"Courier Prime":{"family":"Courier Prime","category":"monospace","variants":["700","700italic","italic","regular"]},"Cousine":{"family":"Cousine","category":"monospace","variants":["700","700italic","italic","regular"]},"Coustard":{"family":"Coustard","category":"serif","variants":["900","regular"]},"Covered By Your Grace":{"family":"Covered By Your Grace","category":"handwriting","variants":["regular"]},"Crafty Girls":{"family":"Crafty Girls","category":"handwriting","variants":["regular"]},"Creepster":{"family":"Creepster","category":"display","variants":["regular"]},"Crete Round":{"family":"Crete Round","category":"serif","variants":["italic","regular"]},"Crimson Pro":{"family":"Crimson Pro","category":"serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Croissant One":{"family":"Croissant One","category":"display","variants":["regular"]},"Crushed":{"family":"Crushed","category":"display","variants":["regular"]},"Cuprum":{"family":"Cuprum","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Cute Font":{"family":"Cute Font","category":"display","variants":["regular"]},"Cutive":{"family":"Cutive","category":"serif","variants":["regular"]},"Cutive Mono":{"family":"Cutive Mono","category":"monospace","variants":["regular"]},"DM Mono":{"family":"DM Mono","category":"monospace","variants":["300","300italic","500","500italic","italic","regular"]},"DM Sans":{"family":"DM Sans","category":"sans-serif","variants":["500","500italic","700","700italic","italic","regular"]},"DM Serif Display":{"family":"DM Serif Display","category":"serif","variants":["italic","regular"]},"DM Serif Text":{"family":"DM Serif Text","category":"serif","variants":["italic","regular"]},"Damion":{"family":"Damion","category":"handwriting","variants":["regular"]},"Dancing Script":{"family":"Dancing Script","category":"handwriting","variants":["500","600","700","regular"]},"Dangrek":{"family":"Dangrek","category":"display","variants":["regular"]},"Darker Grotesque":{"family":"Darker Grotesque","category":"sans-serif","variants":["300","500","600","700","800","900","regular"]},"David Libre":{"family":"David Libre","category":"serif","variants":["500","700","regular"]},"Dawning of a New Day":{"family":"Dawning of a New Day","category":"handwriting","variants":["regular"]},"Days One":{"family":"Days One","category":"sans-serif","variants":["regular"]},"Dekko":{"family":"Dekko","category":"handwriting","variants":["regular"]},"Dela Gothic One":{"family":"Dela Gothic One","category":"display","variants":["regular"]},"Delius":{"family":"Delius","category":"handwriting","variants":["regular"]},"Delius Swash Caps":{"family":"Delius Swash Caps","category":"handwriting","variants":["regular"]},"Delius Unicase":{"family":"Delius Unicase","category":"handwriting","variants":["700","regular"]},"Della Respira":{"family":"Della Respira","category":"serif","variants":["regular"]},"Denk One":{"family":"Denk One","category":"sans-serif","variants":["regular"]},"Devonshire":{"family":"Devonshire","category":"handwriting","variants":["regular"]},"Dhurjati":{"family":"Dhurjati","category":"sans-serif","variants":["regular"]},"Didact Gothic":{"family":"Didact Gothic","category":"sans-serif","variants":["regular"]},"Diplomata":{"family":"Diplomata","category":"display","variants":["regular"]},"Diplomata SC":{"family":"Diplomata SC","category":"display","variants":["regular"]},"Do Hyeon":{"family":"Do Hyeon","category":"sans-serif","variants":["regular"]},"Dokdo":{"family":"Dokdo","category":"handwriting","variants":["regular"]},"Domine":{"family":"Domine","category":"serif","variants":["500","600","700","regular"]},"Donegal One":{"family":"Donegal One","category":"serif","variants":["regular"]},"Dongle":{"family":"Dongle","category":"sans-serif","variants":["300","700","regular"]},"Doppio One":{"family":"Doppio One","category":"sans-serif","variants":["regular"]},"Dorsa":{"family":"Dorsa","category":"sans-serif","variants":["regular"]},"Dosis":{"family":"Dosis","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"DotGothic16":{"family":"DotGothic16","category":"sans-serif","variants":["regular"]},"Dr Sugiyama":{"family":"Dr Sugiyama","category":"handwriting","variants":["regular"]},"Duru Sans":{"family":"Duru Sans","category":"sans-serif","variants":["regular"]},"Dynalight":{"family":"Dynalight","category":"display","variants":["regular"]},"EB Garamond":{"family":"EB Garamond","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Eagle Lake":{"family":"Eagle Lake","category":"handwriting","variants":["regular"]},"East Sea Dokdo":{"family":"East Sea Dokdo","category":"handwriting","variants":["regular"]},"Eater":{"family":"Eater","category":"display","variants":["regular"]},"Economica":{"family":"Economica","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Eczar":{"family":"Eczar","category":"serif","variants":["500","600","700","800","regular"]},"El Messiri":{"family":"El Messiri","category":"sans-serif","variants":["500","600","700","regular"]},"Electrolize":{"family":"Electrolize","category":"sans-serif","variants":["regular"]},"Elsie":{"family":"Elsie","category":"display","variants":["900","regular"]},"Elsie Swash Caps":{"family":"Elsie Swash Caps","category":"display","variants":["900","regular"]},"Emblema One":{"family":"Emblema One","category":"display","variants":["regular"]},"Emilys Candy":{"family":"Emilys Candy","category":"display","variants":["regular"]},"Encode Sans":{"family":"Encode Sans","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Encode Sans Condensed":{"family":"Encode Sans Condensed","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Encode Sans Expanded":{"family":"Encode Sans Expanded","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Encode Sans SC":{"family":"Encode Sans SC","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Encode Sans Semi Condensed":{"family":"Encode Sans Semi Condensed","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Encode Sans Semi Expanded":{"family":"Encode Sans Semi Expanded","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Engagement":{"family":"Engagement","category":"handwriting","variants":["regular"]},"Englebert":{"family":"Englebert","category":"sans-serif","variants":["regular"]},"Enriqueta":{"family":"Enriqueta","category":"serif","variants":["500","600","700","regular"]},"Ephesis":{"family":"Ephesis","category":"handwriting","variants":["regular"]},"Epilogue":{"family":"Epilogue","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Erica One":{"family":"Erica One","category":"display","variants":["regular"]},"Esteban":{"family":"Esteban","category":"serif","variants":["regular"]},"Estonia":{"family":"Estonia","category":"handwriting","variants":["regular"]},"Euphoria Script":{"family":"Euphoria Script","category":"handwriting","variants":["regular"]},"Ewert":{"family":"Ewert","category":"display","variants":["regular"]},"Exo":{"family":"Exo","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Exo 2":{"family":"Exo 2","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Expletus Sans":{"family":"Expletus Sans","category":"display","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Explora":{"family":"Explora","category":"handwriting","variants":["regular"]},"Fahkwang":{"family":"Fahkwang","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Fanwood Text":{"family":"Fanwood Text","category":"serif","variants":["italic","regular"]},"Farro":{"family":"Farro","category":"sans-serif","variants":["300","500","700","regular"]},"Farsan":{"family":"Farsan","category":"display","variants":["regular"]},"Fascinate":{"family":"Fascinate","category":"display","variants":["regular"]},"Fascinate Inline":{"family":"Fascinate Inline","category":"display","variants":["regular"]},"Faster One":{"family":"Faster One","category":"display","variants":["regular"]},"Fasthand":{"family":"Fasthand","category":"display","variants":["regular"]},"Fauna One":{"family":"Fauna One","category":"serif","variants":["regular"]},"Faustina":{"family":"Faustina","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Federant":{"family":"Federant","category":"display","variants":["regular"]},"Federo":{"family":"Federo","category":"sans-serif","variants":["regular"]},"Felipa":{"family":"Felipa","category":"handwriting","variants":["regular"]},"Fenix":{"family":"Fenix","category":"serif","variants":["regular"]},"Festive":{"family":"Festive","category":"handwriting","variants":["regular"]},"Finger Paint":{"family":"Finger Paint","category":"display","variants":["regular"]},"Fira Code":{"family":"Fira Code","category":"monospace","variants":["300","500","600","700","regular"]},"Fira Mono":{"family":"Fira Mono","category":"monospace","variants":["500","700","regular"]},"Fira Sans":{"family":"Fira Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Fira Sans Condensed":{"family":"Fira Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Fira Sans Extra Condensed":{"family":"Fira Sans Extra Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Fjalla One":{"family":"Fjalla One","category":"sans-serif","variants":["regular"]},"Fjord One":{"family":"Fjord One","category":"serif","variants":["regular"]},"Flamenco":{"family":"Flamenco","category":"display","variants":["300","regular"]},"Flavors":{"family":"Flavors","category":"display","variants":["regular"]},"Fleur De Leah":{"family":"Fleur De Leah","category":"handwriting","variants":["regular"]},"Flow Block":{"family":"Flow Block","category":"display","variants":["regular"]},"Flow Circular":{"family":"Flow Circular","category":"display","variants":["regular"]},"Flow Rounded":{"family":"Flow Rounded","category":"display","variants":["regular"]},"Fondamento":{"family":"Fondamento","category":"handwriting","variants":["italic","regular"]},"Fontdiner Swanky":{"family":"Fontdiner Swanky","category":"display","variants":["regular"]},"Forum":{"family":"Forum","category":"display","variants":["regular"]},"Francois One":{"family":"Francois One","category":"sans-serif","variants":["regular"]},"Frank Ruhl Libre":{"family":"Frank Ruhl Libre","category":"serif","variants":["300","500","700","900","regular"]},"Fraunces":{"family":"Fraunces","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Freckle Face":{"family":"Freckle Face","category":"display","variants":["regular"]},"Fredericka the Great":{"family":"Fredericka the Great","category":"display","variants":["regular"]},"Fredoka One":{"family":"Fredoka One","category":"display","variants":["regular"]},"Freehand":{"family":"Freehand","category":"display","variants":["regular"]},"Fresca":{"family":"Fresca","category":"sans-serif","variants":["regular"]},"Frijole":{"family":"Frijole","category":"display","variants":["regular"]},"Fruktur":{"family":"Fruktur","category":"display","variants":["regular"]},"Fugaz One":{"family":"Fugaz One","category":"display","variants":["regular"]},"Fuggles":{"family":"Fuggles","category":"handwriting","variants":["regular"]},"Fuzzy Bubbles":{"family":"Fuzzy Bubbles","category":"handwriting","variants":["700","regular"]},"GFS Didot":{"family":"GFS Didot","category":"serif","variants":["regular"]},"GFS Neohellenic":{"family":"GFS Neohellenic","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Gabriela":{"family":"Gabriela","category":"serif","variants":["regular"]},"Gaegu":{"family":"Gaegu","category":"handwriting","variants":["300","700","regular"]},"Gafata":{"family":"Gafata","category":"sans-serif","variants":["regular"]},"Galada":{"family":"Galada","category":"display","variants":["regular"]},"Galdeano":{"family":"Galdeano","category":"sans-serif","variants":["regular"]},"Galindo":{"family":"Galindo","category":"display","variants":["regular"]},"Gamja Flower":{"family":"Gamja Flower","category":"handwriting","variants":["regular"]},"Gayathri":{"family":"Gayathri","category":"sans-serif","variants":["100","700","regular"]},"Gelasio":{"family":"Gelasio","category":"serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Gemunu Libre":{"family":"Gemunu Libre","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Genos":{"family":"Genos","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Gentium Basic":{"family":"Gentium Basic","category":"serif","variants":["700","700italic","italic","regular"]},"Gentium Book Basic":{"family":"Gentium Book Basic","category":"serif","variants":["700","700italic","italic","regular"]},"Geo":{"family":"Geo","category":"sans-serif","variants":["italic","regular"]},"Georama":{"family":"Georama","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Geostar":{"family":"Geostar","category":"display","variants":["regular"]},"Geostar Fill":{"family":"Geostar Fill","category":"display","variants":["regular"]},"Germania One":{"family":"Germania One","category":"display","variants":["regular"]},"Gideon Roman":{"family":"Gideon Roman","category":"display","variants":["regular"]},"Gidugu":{"family":"Gidugu","category":"sans-serif","variants":["regular"]},"Gilda Display":{"family":"Gilda Display","category":"serif","variants":["regular"]},"Girassol":{"family":"Girassol","category":"display","variants":["regular"]},"Give You Glory":{"family":"Give You Glory","category":"handwriting","variants":["regular"]},"Glass Antiqua":{"family":"Glass Antiqua","category":"display","variants":["regular"]},"Glegoo":{"family":"Glegoo","category":"serif","variants":["700","regular"]},"Gloria Hallelujah":{"family":"Gloria Hallelujah","category":"handwriting","variants":["regular"]},"Glory":{"family":"Glory","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Gluten":{"family":"Gluten","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Goblin One":{"family":"Goblin One","category":"display","variants":["regular"]},"Gochi Hand":{"family":"Gochi Hand","category":"handwriting","variants":["regular"]},"Goldman":{"family":"Goldman","category":"display","variants":["700","regular"]},"Gorditas":{"family":"Gorditas","category":"display","variants":["700","regular"]},"Gothic A1":{"family":"Gothic A1","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Gotu":{"family":"Gotu","category":"sans-serif","variants":["regular"]},"Goudy Bookletter 1911":{"family":"Goudy Bookletter 1911","category":"serif","variants":["regular"]},"Gowun Batang":{"family":"Gowun Batang","category":"serif","variants":["700","regular"]},"Gowun Dodum":{"family":"Gowun Dodum","category":"sans-serif","variants":["regular"]},"Graduate":{"family":"Graduate","category":"display","variants":["regular"]},"Grand Hotel":{"family":"Grand Hotel","category":"handwriting","variants":["regular"]},"Grandstander":{"family":"Grandstander","category":"display","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Gravitas One":{"family":"Gravitas One","category":"display","variants":["regular"]},"Great Vibes":{"family":"Great Vibes","category":"handwriting","variants":["regular"]},"Grechen Fuemen":{"family":"Grechen Fuemen","category":"handwriting","variants":["regular"]},"Grenze":{"family":"Grenze","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Grenze Gotisch":{"family":"Grenze Gotisch","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Grey Qo":{"family":"Grey Qo","category":"handwriting","variants":["regular"]},"Griffy":{"family":"Griffy","category":"display","variants":["regular"]},"Gruppo":{"family":"Gruppo","category":"display","variants":["regular"]},"Gudea":{"family":"Gudea","category":"sans-serif","variants":["700","italic","regular"]},"Gugi":{"family":"Gugi","category":"display","variants":["regular"]},"Gupter":{"family":"Gupter","category":"serif","variants":["500","700","regular"]},"Gurajada":{"family":"Gurajada","category":"serif","variants":["regular"]},"Gwendolyn":{"family":"Gwendolyn","category":"handwriting","variants":["700","regular"]},"Habibi":{"family":"Habibi","category":"serif","variants":["regular"]},"Hachi Maru Pop":{"family":"Hachi Maru Pop","category":"handwriting","variants":["regular"]},"Hahmlet":{"family":"Hahmlet","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Halant":{"family":"Halant","category":"serif","variants":["300","500","600","700","regular"]},"Hammersmith One":{"family":"Hammersmith One","category":"sans-serif","variants":["regular"]},"Hanalei":{"family":"Hanalei","category":"display","variants":["regular"]},"Hanalei Fill":{"family":"Hanalei Fill","category":"display","variants":["regular"]},"Handlee":{"family":"Handlee","category":"handwriting","variants":["regular"]},"Hanuman":{"family":"Hanuman","category":"serif","variants":["100","300","700","900","regular"]},"Happy Monkey":{"family":"Happy Monkey","category":"display","variants":["regular"]},"Harmattan":{"family":"Harmattan","category":"sans-serif","variants":["700","regular"]},"Headland One":{"family":"Headland One","category":"serif","variants":["regular"]},"Heebo":{"family":"Heebo","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Henny Penny":{"family":"Henny Penny","category":"display","variants":["regular"]},"Hepta Slab":{"family":"Hepta Slab","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Herr Von Muellerhoff":{"family":"Herr Von Muellerhoff","category":"handwriting","variants":["regular"]},"Hi Melody":{"family":"Hi Melody","category":"handwriting","variants":["regular"]},"Hina Mincho":{"family":"Hina Mincho","category":"serif","variants":["regular"]},"Hind":{"family":"Hind","category":"sans-serif","variants":["300","500","600","700","regular"]},"Hind Guntur":{"family":"Hind Guntur","category":"sans-serif","variants":["300","500","600","700","regular"]},"Hind Madurai":{"family":"Hind Madurai","category":"sans-serif","variants":["300","500","600","700","regular"]},"Hind Siliguri":{"family":"Hind Siliguri","category":"sans-serif","variants":["300","500","600","700","regular"]},"Hind Vadodara":{"family":"Hind Vadodara","category":"sans-serif","variants":["300","500","600","700","regular"]},"Holtwood One SC":{"family":"Holtwood One SC","category":"serif","variants":["regular"]},"Homemade Apple":{"family":"Homemade Apple","category":"handwriting","variants":["regular"]},"Homenaje":{"family":"Homenaje","category":"sans-serif","variants":["regular"]},"Hurricane":{"family":"Hurricane","category":"handwriting","variants":["regular"]},"IBM Plex Mono":{"family":"IBM Plex Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"IBM Plex Sans":{"family":"IBM Plex Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"IBM Plex Sans Arabic":{"family":"IBM Plex Sans Arabic","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Sans Condensed":{"family":"IBM Plex Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"IBM Plex Sans Devanagari":{"family":"IBM Plex Sans Devanagari","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Sans Hebrew":{"family":"IBM Plex Sans Hebrew","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Sans KR":{"family":"IBM Plex Sans KR","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Sans Thai":{"family":"IBM Plex Sans Thai","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Sans Thai Looped":{"family":"IBM Plex Sans Thai Looped","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"IBM Plex Serif":{"family":"IBM Plex Serif","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"IM Fell DW Pica":{"family":"IM Fell DW Pica","category":"serif","variants":["italic","regular"]},"IM Fell DW Pica SC":{"family":"IM Fell DW Pica SC","category":"serif","variants":["regular"]},"IM Fell Double Pica":{"family":"IM Fell Double Pica","category":"serif","variants":["italic","regular"]},"IM Fell Double Pica SC":{"family":"IM Fell Double Pica SC","category":"serif","variants":["regular"]},"IM Fell English":{"family":"IM Fell English","category":"serif","variants":["italic","regular"]},"IM Fell English SC":{"family":"IM Fell English SC","category":"serif","variants":["regular"]},"IM Fell French Canon":{"family":"IM Fell French Canon","category":"serif","variants":["italic","regular"]},"IM Fell French Canon SC":{"family":"IM Fell French Canon SC","category":"serif","variants":["regular"]},"IM Fell Great Primer":{"family":"IM Fell Great Primer","category":"serif","variants":["italic","regular"]},"IM Fell Great Primer SC":{"family":"IM Fell Great Primer SC","category":"serif","variants":["regular"]},"Ibarra Real Nova":{"family":"Ibarra Real Nova","category":"serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Iceberg":{"family":"Iceberg","category":"display","variants":["regular"]},"Iceland":{"family":"Iceland","category":"display","variants":["regular"]},"Imbue":{"family":"Imbue","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Imperial Script":{"family":"Imperial Script","category":"handwriting","variants":["regular"]},"Imprima":{"family":"Imprima","category":"sans-serif","variants":["regular"]},"Inconsolata":{"family":"Inconsolata","category":"monospace","variants":["200","300","500","600","700","800","900","regular"]},"Inder":{"family":"Inder","category":"sans-serif","variants":["regular"]},"Indie Flower":{"family":"Indie Flower","category":"handwriting","variants":["regular"]},"Inika":{"family":"Inika","category":"serif","variants":["700","regular"]},"Inknut Antiqua":{"family":"Inknut Antiqua","category":"serif","variants":["300","500","600","700","800","900","regular"]},"Inria Sans":{"family":"Inria Sans","category":"sans-serif","variants":["300","300italic","700","700italic","italic","regular"]},"Inria Serif":{"family":"Inria Serif","category":"serif","variants":["300","300italic","700","700italic","italic","regular"]},"Inspiration":{"family":"Inspiration","category":"handwriting","variants":["regular"]},"Inter":{"family":"Inter","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Irish Grover":{"family":"Irish Grover","category":"display","variants":["regular"]},"Island Moments":{"family":"Island Moments","category":"handwriting","variants":["regular"]},"Istok Web":{"family":"Istok Web","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Italiana":{"family":"Italiana","category":"serif","variants":["regular"]},"Italianno":{"family":"Italianno","category":"handwriting","variants":["regular"]},"Itim":{"family":"Itim","category":"handwriting","variants":["regular"]},"Jacques Francois":{"family":"Jacques Francois","category":"serif","variants":["regular"]},"Jacques Francois Shadow":{"family":"Jacques Francois Shadow","category":"display","variants":["regular"]},"Jaldi":{"family":"Jaldi","category":"sans-serif","variants":["700","regular"]},"JetBrains Mono":{"family":"JetBrains Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Jim Nightshade":{"family":"Jim Nightshade","category":"handwriting","variants":["regular"]},"Jockey One":{"family":"Jockey One","category":"sans-serif","variants":["regular"]},"Jolly Lodger":{"family":"Jolly Lodger","category":"display","variants":["regular"]},"Jomhuria":{"family":"Jomhuria","category":"display","variants":["regular"]},"Jomolhari":{"family":"Jomolhari","category":"serif","variants":["regular"]},"Josefin Sans":{"family":"Josefin Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Josefin Slab":{"family":"Josefin Slab","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Jost":{"family":"Jost","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Joti One":{"family":"Joti One","category":"display","variants":["regular"]},"Jua":{"family":"Jua","category":"sans-serif","variants":["regular"]},"Judson":{"family":"Judson","category":"serif","variants":["700","italic","regular"]},"Julee":{"family":"Julee","category":"handwriting","variants":["regular"]},"Julius Sans One":{"family":"Julius Sans One","category":"sans-serif","variants":["regular"]},"Junge":{"family":"Junge","category":"serif","variants":["regular"]},"Jura":{"family":"Jura","category":"sans-serif","variants":["300","500","600","700","regular"]},"Just Another Hand":{"family":"Just Another Hand","category":"handwriting","variants":["regular"]},"Just Me Again Down Here":{"family":"Just Me Again Down Here","category":"handwriting","variants":["regular"]},"K2D":{"family":"K2D","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Kadwa":{"family":"Kadwa","category":"serif","variants":["700","regular"]},"Kaisei Decol":{"family":"Kaisei Decol","category":"serif","variants":["500","700","regular"]},"Kaisei HarunoUmi":{"family":"Kaisei HarunoUmi","category":"serif","variants":["500","700","regular"]},"Kaisei Opti":{"family":"Kaisei Opti","category":"serif","variants":["500","700","regular"]},"Kaisei Tokumin":{"family":"Kaisei Tokumin","category":"serif","variants":["500","700","800","regular"]},"Kalam":{"family":"Kalam","category":"handwriting","variants":["300","700","regular"]},"Kameron":{"family":"Kameron","category":"serif","variants":["700","regular"]},"Kanit":{"family":"Kanit","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Kantumruy":{"family":"Kantumruy","category":"sans-serif","variants":["300","700","regular"]},"Karantina":{"family":"Karantina","category":"display","variants":["300","700","regular"]},"Karla":{"family":"Karla","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Karma":{"family":"Karma","category":"serif","variants":["300","500","600","700","regular"]},"Katibeh":{"family":"Katibeh","category":"display","variants":["regular"]},"Kaushan Script":{"family":"Kaushan Script","category":"handwriting","variants":["regular"]},"Kavivanar":{"family":"Kavivanar","category":"handwriting","variants":["regular"]},"Kavoon":{"family":"Kavoon","category":"display","variants":["regular"]},"Kdam Thmor":{"family":"Kdam Thmor","category":"display","variants":["regular"]},"Keania One":{"family":"Keania One","category":"display","variants":["regular"]},"Kelly Slab":{"family":"Kelly Slab","category":"display","variants":["regular"]},"Kenia":{"family":"Kenia","category":"display","variants":["regular"]},"Khand":{"family":"Khand","category":"sans-serif","variants":["300","500","600","700","regular"]},"Khmer":{"family":"Khmer","category":"display","variants":["regular"]},"Khula":{"family":"Khula","category":"sans-serif","variants":["300","600","700","800","regular"]},"Kings":{"family":"Kings","category":"handwriting","variants":["regular"]},"Kirang Haerang":{"family":"Kirang Haerang","category":"display","variants":["regular"]},"Kite One":{"family":"Kite One","category":"sans-serif","variants":["regular"]},"Kiwi Maru":{"family":"Kiwi Maru","category":"serif","variants":["300","500","regular"]},"Klee One":{"family":"Klee One","category":"handwriting","variants":["600","regular"]},"Knewave":{"family":"Knewave","category":"display","variants":["regular"]},"KoHo":{"family":"KoHo","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Kodchasan":{"family":"Kodchasan","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Koh Santepheap":{"family":"Koh Santepheap","category":"display","variants":["100","300","700","900","regular"]},"Kolker Brush":{"family":"Kolker Brush","category":"handwriting","variants":["regular"]},"Kosugi":{"family":"Kosugi","category":"sans-serif","variants":["regular"]},"Kosugi Maru":{"family":"Kosugi Maru","category":"sans-serif","variants":["regular"]},"Kotta One":{"family":"Kotta One","category":"serif","variants":["regular"]},"Koulen":{"family":"Koulen","category":"display","variants":["regular"]},"Kranky":{"family":"Kranky","category":"display","variants":["regular"]},"Kreon":{"family":"Kreon","category":"serif","variants":["300","500","600","700","regular"]},"Kristi":{"family":"Kristi","category":"handwriting","variants":["regular"]},"Krona One":{"family":"Krona One","category":"sans-serif","variants":["regular"]},"Krub":{"family":"Krub","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Kufam":{"family":"Kufam","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Kulim Park":{"family":"Kulim Park","category":"sans-serif","variants":["200","200italic","300","300italic","600","600italic","700","700italic","italic","regular"]},"Kumar One":{"family":"Kumar One","category":"display","variants":["regular"]},"Kumar One Outline":{"family":"Kumar One Outline","category":"display","variants":["regular"]},"Kumbh Sans":{"family":"Kumbh Sans","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Kurale":{"family":"Kurale","category":"serif","variants":["regular"]},"La Belle Aurore":{"family":"La Belle Aurore","category":"handwriting","variants":["regular"]},"Lacquer":{"family":"Lacquer","category":"display","variants":["regular"]},"Laila":{"family":"Laila","category":"sans-serif","variants":["300","500","600","700","regular"]},"Lakki Reddy":{"family":"Lakki Reddy","category":"handwriting","variants":["regular"]},"Lalezar":{"family":"Lalezar","category":"display","variants":["regular"]},"Lancelot":{"family":"Lancelot","category":"display","variants":["regular"]},"Langar":{"family":"Langar","category":"display","variants":["regular"]},"Lateef":{"family":"Lateef","category":"handwriting","variants":["regular"]},"Lato":{"family":"Lato","category":"sans-serif","variants":["100","100italic","300","300italic","700","700italic","900","900italic","italic","regular"]},"League Script":{"family":"League Script","category":"handwriting","variants":["regular"]},"Leckerli One":{"family":"Leckerli One","category":"handwriting","variants":["regular"]},"Ledger":{"family":"Ledger","category":"serif","variants":["regular"]},"Lekton":{"family":"Lekton","category":"sans-serif","variants":["700","italic","regular"]},"Lemon":{"family":"Lemon","category":"display","variants":["regular"]},"Lemonada":{"family":"Lemonada","category":"display","variants":["300","500","600","700","regular"]},"Lexend":{"family":"Lexend","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Deca":{"family":"Lexend Deca","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Exa":{"family":"Lexend Exa","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Giga":{"family":"Lexend Giga","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Mega":{"family":"Lexend Mega","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Peta":{"family":"Lexend Peta","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Tera":{"family":"Lexend Tera","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Lexend Zetta":{"family":"Lexend Zetta","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Libre Barcode 128":{"family":"Libre Barcode 128","category":"display","variants":["regular"]},"Libre Barcode 128 Text":{"family":"Libre Barcode 128 Text","category":"display","variants":["regular"]},"Libre Barcode 39":{"family":"Libre Barcode 39","category":"display","variants":["regular"]},"Libre Barcode 39 Extended":{"family":"Libre Barcode 39 Extended","category":"display","variants":["regular"]},"Libre Barcode 39 Extended Text":{"family":"Libre Barcode 39 Extended Text","category":"display","variants":["regular"]},"Libre Barcode 39 Text":{"family":"Libre Barcode 39 Text","category":"display","variants":["regular"]},"Libre Barcode EAN13 Text":{"family":"Libre Barcode EAN13 Text","category":"display","variants":["regular"]},"Libre Baskerville":{"family":"Libre Baskerville","category":"serif","variants":["700","italic","regular"]},"Libre Caslon Display":{"family":"Libre Caslon Display","category":"serif","variants":["regular"]},"Libre Caslon Text":{"family":"Libre Caslon Text","category":"serif","variants":["700","italic","regular"]},"Libre Franklin":{"family":"Libre Franklin","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Licorice":{"family":"Licorice","category":"handwriting","variants":["regular"]},"Life Savers":{"family":"Life Savers","category":"display","variants":["700","800","regular"]},"Lilita One":{"family":"Lilita One","category":"display","variants":["regular"]},"Lily Script One":{"family":"Lily Script One","category":"display","variants":["regular"]},"Limelight":{"family":"Limelight","category":"display","variants":["regular"]},"Linden Hill":{"family":"Linden Hill","category":"serif","variants":["italic","regular"]},"Literata":{"family":"Literata","category":"serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Liu Jian Mao Cao":{"family":"Liu Jian Mao Cao","category":"handwriting","variants":["regular"]},"Livvic":{"family":"Livvic","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","900","900italic","italic","regular"]},"Lobster":{"family":"Lobster","category":"display","variants":["regular"]},"Lobster Two":{"family":"Lobster Two","category":"display","variants":["700","700italic","italic","regular"]},"Londrina Outline":{"family":"Londrina Outline","category":"display","variants":["regular"]},"Londrina Shadow":{"family":"Londrina Shadow","category":"display","variants":["regular"]},"Londrina Sketch":{"family":"Londrina Sketch","category":"display","variants":["regular"]},"Londrina Solid":{"family":"Londrina Solid","category":"display","variants":["100","300","900","regular"]},"Long Cang":{"family":"Long Cang","category":"handwriting","variants":["regular"]},"Lora":{"family":"Lora","category":"serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Love Light":{"family":"Love Light","category":"handwriting","variants":["regular"]},"Love Ya Like A Sister":{"family":"Love Ya Like A Sister","category":"display","variants":["regular"]},"Loved by the King":{"family":"Loved by the King","category":"handwriting","variants":["regular"]},"Lovers Quarrel":{"family":"Lovers Quarrel","category":"handwriting","variants":["regular"]},"Luckiest Guy":{"family":"Luckiest Guy","category":"display","variants":["regular"]},"Lusitana":{"family":"Lusitana","category":"serif","variants":["700","regular"]},"Lustria":{"family":"Lustria","category":"serif","variants":["regular"]},"Luxurious Roman":{"family":"Luxurious Roman","category":"display","variants":["regular"]},"Luxurious Script":{"family":"Luxurious Script","category":"handwriting","variants":["regular"]},"M PLUS 1":{"family":"M PLUS 1","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"M PLUS 1 Code":{"family":"M PLUS 1 Code","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"M PLUS 1p":{"family":"M PLUS 1p","category":"sans-serif","variants":["100","300","500","700","800","900","regular"]},"M PLUS 2":{"family":"M PLUS 2","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"M PLUS Code Latin":{"family":"M PLUS Code Latin","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"M PLUS Rounded 1c":{"family":"M PLUS Rounded 1c","category":"sans-serif","variants":["100","300","500","700","800","900","regular"]},"Ma Shan Zheng":{"family":"Ma Shan Zheng","category":"handwriting","variants":["regular"]},"Macondo":{"family":"Macondo","category":"display","variants":["regular"]},"Macondo Swash Caps":{"family":"Macondo Swash Caps","category":"display","variants":["regular"]},"Mada":{"family":"Mada","category":"sans-serif","variants":["200","300","500","600","700","900","regular"]},"Magra":{"family":"Magra","category":"sans-serif","variants":["700","regular"]},"Maiden Orange":{"family":"Maiden Orange","category":"display","variants":["regular"]},"Maitree":{"family":"Maitree","category":"serif","variants":["200","300","500","600","700","regular"]},"Major Mono Display":{"family":"Major Mono Display","category":"monospace","variants":["regular"]},"Mako":{"family":"Mako","category":"sans-serif","variants":["regular"]},"Mali":{"family":"Mali","category":"handwriting","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Mallanna":{"family":"Mallanna","category":"sans-serif","variants":["regular"]},"Mandali":{"family":"Mandali","category":"sans-serif","variants":["regular"]},"Manjari":{"family":"Manjari","category":"sans-serif","variants":["100","700","regular"]},"Manrope":{"family":"Manrope","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Mansalva":{"family":"Mansalva","category":"handwriting","variants":["regular"]},"Manuale":{"family":"Manuale","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Marcellus":{"family":"Marcellus","category":"serif","variants":["regular"]},"Marcellus SC":{"family":"Marcellus SC","category":"serif","variants":["regular"]},"Marck Script":{"family":"Marck Script","category":"handwriting","variants":["regular"]},"Margarine":{"family":"Margarine","category":"display","variants":["regular"]},"Markazi Text":{"family":"Markazi Text","category":"serif","variants":["500","600","700","regular"]},"Marko One":{"family":"Marko One","category":"serif","variants":["regular"]},"Marmelad":{"family":"Marmelad","category":"sans-serif","variants":["regular"]},"Martel":{"family":"Martel","category":"serif","variants":["200","300","600","700","800","900","regular"]},"Martel Sans":{"family":"Martel Sans","category":"sans-serif","variants":["200","300","600","700","800","900","regular"]},"Marvel":{"family":"Marvel","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Mate":{"family":"Mate","category":"serif","variants":["italic","regular"]},"Mate SC":{"family":"Mate SC","category":"serif","variants":["regular"]},"Maven Pro":{"family":"Maven Pro","category":"sans-serif","variants":["500","600","700","800","900","regular"]},"McLaren":{"family":"McLaren","category":"display","variants":["regular"]},"Mea Culpa":{"family":"Mea Culpa","category":"handwriting","variants":["regular"]},"Meddon":{"family":"Meddon","category":"handwriting","variants":["regular"]},"MedievalSharp":{"family":"MedievalSharp","category":"display","variants":["regular"]},"Medula One":{"family":"Medula One","category":"display","variants":["regular"]},"Meera Inimai":{"family":"Meera Inimai","category":"sans-serif","variants":["regular"]},"Megrim":{"family":"Megrim","category":"display","variants":["regular"]},"Meie Script":{"family":"Meie Script","category":"handwriting","variants":["regular"]},"Meow Script":{"family":"Meow Script","category":"handwriting","variants":["regular"]},"Merienda":{"family":"Merienda","category":"handwriting","variants":["700","regular"]},"Merienda One":{"family":"Merienda One","category":"handwriting","variants":["regular"]},"Merriweather":{"family":"Merriweather","category":"serif","variants":["300","300italic","700","700italic","900","900italic","italic","regular"]},"Merriweather Sans":{"family":"Merriweather Sans","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Metal":{"family":"Metal","category":"display","variants":["regular"]},"Metal Mania":{"family":"Metal Mania","category":"display","variants":["regular"]},"Metamorphous":{"family":"Metamorphous","category":"display","variants":["regular"]},"Metrophobic":{"family":"Metrophobic","category":"sans-serif","variants":["regular"]},"Michroma":{"family":"Michroma","category":"sans-serif","variants":["regular"]},"Milonga":{"family":"Milonga","category":"display","variants":["regular"]},"Miltonian":{"family":"Miltonian","category":"display","variants":["regular"]},"Miltonian Tattoo":{"family":"Miltonian Tattoo","category":"display","variants":["regular"]},"Mina":{"family":"Mina","category":"sans-serif","variants":["700","regular"]},"Miniver":{"family":"Miniver","category":"display","variants":["regular"]},"Miriam Libre":{"family":"Miriam Libre","category":"sans-serif","variants":["700","regular"]},"Mirza":{"family":"Mirza","category":"display","variants":["500","600","700","regular"]},"Miss Fajardose":{"family":"Miss Fajardose","category":"handwriting","variants":["regular"]},"Mitr":{"family":"Mitr","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Mochiy Pop One":{"family":"Mochiy Pop One","category":"sans-serif","variants":["regular"]},"Mochiy Pop P One":{"family":"Mochiy Pop P One","category":"sans-serif","variants":["regular"]},"Modak":{"family":"Modak","category":"display","variants":["regular"]},"Modern Antiqua":{"family":"Modern Antiqua","category":"display","variants":["regular"]},"Mogra":{"family":"Mogra","category":"display","variants":["regular"]},"Mohave":{"family":"Mohave","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Molengo":{"family":"Molengo","category":"sans-serif","variants":["regular"]},"Molle":{"family":"Molle","category":"handwriting","variants":["italic"]},"Monda":{"family":"Monda","category":"sans-serif","variants":["700","regular"]},"Monofett":{"family":"Monofett","category":"display","variants":["regular"]},"Monoton":{"family":"Monoton","category":"display","variants":["regular"]},"Monsieur La Doulaise":{"family":"Monsieur La Doulaise","category":"handwriting","variants":["regular"]},"Montaga":{"family":"Montaga","category":"serif","variants":["regular"]},"Montagu Slab":{"family":"Montagu Slab","category":"serif","variants":["100","200","300","500","600","700","regular"]},"MonteCarlo":{"family":"MonteCarlo","category":"handwriting","variants":["regular"]},"Montez":{"family":"Montez","category":"handwriting","variants":["regular"]},"Montserrat":{"family":"Montserrat","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Montserrat Alternates":{"family":"Montserrat Alternates","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Montserrat Subrayada":{"family":"Montserrat Subrayada","category":"sans-serif","variants":["700","regular"]},"Moo Lah Lah":{"family":"Moo Lah Lah","category":"display","variants":["regular"]},"Moon Dance":{"family":"Moon Dance","category":"handwriting","variants":["regular"]},"Moul":{"family":"Moul","category":"display","variants":["regular"]},"Moulpali":{"family":"Moulpali","category":"display","variants":["regular"]},"Mountains of Christmas":{"family":"Mountains of Christmas","category":"display","variants":["700","regular"]},"Mouse Memoirs":{"family":"Mouse Memoirs","category":"sans-serif","variants":["regular"]},"Mr Bedfort":{"family":"Mr Bedfort","category":"handwriting","variants":["regular"]},"Mr Dafoe":{"family":"Mr Dafoe","category":"handwriting","variants":["regular"]},"Mr De Haviland":{"family":"Mr De Haviland","category":"handwriting","variants":["regular"]},"Mrs Saint Delafield":{"family":"Mrs Saint Delafield","category":"handwriting","variants":["regular"]},"Mrs Sheppards":{"family":"Mrs Sheppards","category":"handwriting","variants":["regular"]},"Mukta":{"family":"Mukta","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Mukta Mahee":{"family":"Mukta Mahee","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Mukta Malar":{"family":"Mukta Malar","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Mukta Vaani":{"family":"Mukta Vaani","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Mulish":{"family":"Mulish","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Murecho":{"family":"Murecho","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"MuseoModerno":{"family":"MuseoModerno","category":"display","variants":["100","200","300","500","600","700","800","900","regular"]},"Mystery Quest":{"family":"Mystery Quest","category":"display","variants":["regular"]},"NTR":{"family":"NTR","category":"sans-serif","variants":["regular"]},"Nanum Brush Script":{"family":"Nanum Brush Script","category":"handwriting","variants":["regular"]},"Nanum Gothic":{"family":"Nanum Gothic","category":"sans-serif","variants":["700","800","regular"]},"Nanum Gothic Coding":{"family":"Nanum Gothic Coding","category":"monospace","variants":["700","regular"]},"Nanum Myeongjo":{"family":"Nanum Myeongjo","category":"serif","variants":["700","800","regular"]},"Nanum Pen Script":{"family":"Nanum Pen Script","category":"handwriting","variants":["regular"]},"Nerko One":{"family":"Nerko One","category":"handwriting","variants":["regular"]},"Neucha":{"family":"Neucha","category":"handwriting","variants":["regular"]},"Neuton":{"family":"Neuton","category":"serif","variants":["200","300","700","800","italic","regular"]},"New Rocker":{"family":"New Rocker","category":"display","variants":["regular"]},"New Tegomin":{"family":"New Tegomin","category":"serif","variants":["regular"]},"News Cycle":{"family":"News Cycle","category":"sans-serif","variants":["700","regular"]},"Newsreader":{"family":"Newsreader","category":"serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Niconne":{"family":"Niconne","category":"handwriting","variants":["regular"]},"Niramit":{"family":"Niramit","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Nixie One":{"family":"Nixie One","category":"display","variants":["regular"]},"Nobile":{"family":"Nobile","category":"sans-serif","variants":["500","500italic","700","700italic","italic","regular"]},"Nokora":{"family":"Nokora","category":"sans-serif","variants":["100","300","700","900","regular"]},"Norican":{"family":"Norican","category":"handwriting","variants":["regular"]},"Nosifer":{"family":"Nosifer","category":"display","variants":["regular"]},"Notable":{"family":"Notable","category":"sans-serif","variants":["regular"]},"Nothing You Could Do":{"family":"Nothing You Could Do","category":"handwriting","variants":["regular"]},"Noticia Text":{"family":"Noticia Text","category":"serif","variants":["700","700italic","italic","regular"]},"Noto Kufi Arabic":{"family":"Noto Kufi Arabic","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Music":{"family":"Noto Music","category":"sans-serif","variants":["regular"]},"Noto Naskh Arabic":{"family":"Noto Naskh Arabic","category":"serif","variants":["500","600","700","regular"]},"Noto Nastaliq Urdu":{"family":"Noto Nastaliq Urdu","category":"serif","variants":["700","regular"]},"Noto Rashi Hebrew":{"family":"Noto Rashi Hebrew","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans":{"family":"Noto Sans","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Noto Sans Adlam":{"family":"Noto Sans Adlam","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Adlam Unjoined":{"family":"Noto Sans Adlam Unjoined","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Anatolian Hieroglyphs":{"family":"Noto Sans Anatolian Hieroglyphs","category":"sans-serif","variants":["regular"]},"Noto Sans Arabic":{"family":"Noto Sans Arabic","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Armenian":{"family":"Noto Sans Armenian","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Avestan":{"family":"Noto Sans Avestan","category":"sans-serif","variants":["regular"]},"Noto Sans Balinese":{"family":"Noto Sans Balinese","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Bamum":{"family":"Noto Sans Bamum","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Bassa Vah":{"family":"Noto Sans Bassa Vah","category":"sans-serif","variants":["regular"]},"Noto Sans Batak":{"family":"Noto Sans Batak","category":"sans-serif","variants":["regular"]},"Noto Sans Bengali":{"family":"Noto Sans Bengali","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Bhaiksuki":{"family":"Noto Sans Bhaiksuki","category":"sans-serif","variants":["regular"]},"Noto Sans Brahmi":{"family":"Noto Sans Brahmi","category":"sans-serif","variants":["regular"]},"Noto Sans Buginese":{"family":"Noto Sans Buginese","category":"sans-serif","variants":["regular"]},"Noto Sans Buhid":{"family":"Noto Sans Buhid","category":"sans-serif","variants":["regular"]},"Noto Sans Canadian Aboriginal":{"family":"Noto Sans Canadian Aboriginal","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Carian":{"family":"Noto Sans Carian","category":"sans-serif","variants":["regular"]},"Noto Sans Caucasian Albanian":{"family":"Noto Sans Caucasian Albanian","category":"sans-serif","variants":["regular"]},"Noto Sans Chakma":{"family":"Noto Sans Chakma","category":"sans-serif","variants":["regular"]},"Noto Sans Cham":{"family":"Noto Sans Cham","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Cherokee":{"family":"Noto Sans Cherokee","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Coptic":{"family":"Noto Sans Coptic","category":"sans-serif","variants":["regular"]},"Noto Sans Cuneiform":{"family":"Noto Sans Cuneiform","category":"sans-serif","variants":["regular"]},"Noto Sans Cypriot":{"family":"Noto Sans Cypriot","category":"sans-serif","variants":["regular"]},"Noto Sans Deseret":{"family":"Noto Sans Deseret","category":"sans-serif","variants":["regular"]},"Noto Sans Devanagari":{"family":"Noto Sans Devanagari","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Display":{"family":"Noto Sans Display","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Noto Sans Duployan":{"family":"Noto Sans Duployan","category":"sans-serif","variants":["regular"]},"Noto Sans Egyptian Hieroglyphs":{"family":"Noto Sans Egyptian Hieroglyphs","category":"sans-serif","variants":["regular"]},"Noto Sans Elbasan":{"family":"Noto Sans Elbasan","category":"sans-serif","variants":["regular"]},"Noto Sans Elymaic":{"family":"Noto Sans Elymaic","category":"sans-serif","variants":["regular"]},"Noto Sans Georgian":{"family":"Noto Sans Georgian","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Glagolitic":{"family":"Noto Sans Glagolitic","category":"sans-serif","variants":["regular"]},"Noto Sans Gothic":{"family":"Noto Sans Gothic","category":"sans-serif","variants":["regular"]},"Noto Sans Grantha":{"family":"Noto Sans Grantha","category":"sans-serif","variants":["regular"]},"Noto Sans Gujarati":{"family":"Noto Sans Gujarati","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Gunjala Gondi":{"family":"Noto Sans Gunjala Gondi","category":"sans-serif","variants":["regular"]},"Noto Sans Gurmukhi":{"family":"Noto Sans Gurmukhi","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans HK":{"family":"Noto Sans HK","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Noto Sans Hanifi Rohingya":{"family":"Noto Sans Hanifi Rohingya","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Hanunoo":{"family":"Noto Sans Hanunoo","category":"sans-serif","variants":["regular"]},"Noto Sans Hatran":{"family":"Noto Sans Hatran","category":"sans-serif","variants":["regular"]},"Noto Sans Hebrew":{"family":"Noto Sans Hebrew","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Imperial Aramaic":{"family":"Noto Sans Imperial Aramaic","category":"sans-serif","variants":["regular"]},"Noto Sans Indic Siyaq Numbers":{"family":"Noto Sans Indic Siyaq Numbers","category":"sans-serif","variants":["regular"]},"Noto Sans Inscriptional Pahlavi":{"family":"Noto Sans Inscriptional Pahlavi","category":"sans-serif","variants":["regular"]},"Noto Sans Inscriptional Parthian":{"family":"Noto Sans Inscriptional Parthian","category":"sans-serif","variants":["regular"]},"Noto Sans JP":{"family":"Noto Sans JP","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Noto Sans Javanese":{"family":"Noto Sans Javanese","category":"sans-serif","variants":["700","regular"]},"Noto Sans KR":{"family":"Noto Sans KR","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Noto Sans Kaithi":{"family":"Noto Sans Kaithi","category":"sans-serif","variants":["regular"]},"Noto Sans Kannada":{"family":"Noto Sans Kannada","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Kayah Li":{"family":"Noto Sans Kayah Li","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Kharoshthi":{"family":"Noto Sans Kharoshthi","category":"sans-serif","variants":["regular"]},"Noto Sans Khmer":{"family":"Noto Sans Khmer","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Khojki":{"family":"Noto Sans Khojki","category":"sans-serif","variants":["regular"]},"Noto Sans Khudawadi":{"family":"Noto Sans Khudawadi","category":"sans-serif","variants":["regular"]},"Noto Sans Lao":{"family":"Noto Sans Lao","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Lepcha":{"family":"Noto Sans Lepcha","category":"sans-serif","variants":["regular"]},"Noto Sans Limbu":{"family":"Noto Sans Limbu","category":"sans-serif","variants":["regular"]},"Noto Sans Linear A":{"family":"Noto Sans Linear A","category":"sans-serif","variants":["regular"]},"Noto Sans Linear B":{"family":"Noto Sans Linear B","category":"sans-serif","variants":["regular"]},"Noto Sans Lisu":{"family":"Noto Sans Lisu","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Lycian":{"family":"Noto Sans Lycian","category":"sans-serif","variants":["regular"]},"Noto Sans Lydian":{"family":"Noto Sans Lydian","category":"sans-serif","variants":["regular"]},"Noto Sans Mahajani":{"family":"Noto Sans Mahajani","category":"sans-serif","variants":["regular"]},"Noto Sans Malayalam":{"family":"Noto Sans Malayalam","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Mandaic":{"family":"Noto Sans Mandaic","category":"sans-serif","variants":["regular"]},"Noto Sans Manichaean":{"family":"Noto Sans Manichaean","category":"sans-serif","variants":["regular"]},"Noto Sans Marchen":{"family":"Noto Sans Marchen","category":"sans-serif","variants":["regular"]},"Noto Sans Masaram Gondi":{"family":"Noto Sans Masaram Gondi","category":"sans-serif","variants":["regular"]},"Noto Sans Math":{"family":"Noto Sans Math","category":"sans-serif","variants":["regular"]},"Noto Sans Mayan Numerals":{"family":"Noto Sans Mayan Numerals","category":"sans-serif","variants":["regular"]},"Noto Sans Medefaidrin":{"family":"Noto Sans Medefaidrin","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Meetei Mayek":{"family":"Noto Sans Meetei Mayek","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Meroitic":{"family":"Noto Sans Meroitic","category":"sans-serif","variants":["regular"]},"Noto Sans Miao":{"family":"Noto Sans Miao","category":"sans-serif","variants":["regular"]},"Noto Sans Modi":{"family":"Noto Sans Modi","category":"sans-serif","variants":["regular"]},"Noto Sans Mongolian":{"family":"Noto Sans Mongolian","category":"sans-serif","variants":["regular"]},"Noto Sans Mono":{"family":"Noto Sans Mono","category":"monospace","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Mro":{"family":"Noto Sans Mro","category":"sans-serif","variants":["regular"]},"Noto Sans Multani":{"family":"Noto Sans Multani","category":"sans-serif","variants":["regular"]},"Noto Sans Myanmar":{"family":"Noto Sans Myanmar","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans N Ko":{"family":"Noto Sans N Ko","category":"sans-serif","variants":["regular"]},"Noto Sans Nabataean":{"family":"Noto Sans Nabataean","category":"sans-serif","variants":["regular"]},"Noto Sans New Tai Lue":{"family":"Noto Sans New Tai Lue","category":"sans-serif","variants":["regular"]},"Noto Sans Newa":{"family":"Noto Sans Newa","category":"sans-serif","variants":["regular"]},"Noto Sans Nushu":{"family":"Noto Sans Nushu","category":"sans-serif","variants":["regular"]},"Noto Sans Ogham":{"family":"Noto Sans Ogham","category":"sans-serif","variants":["regular"]},"Noto Sans Ol Chiki":{"family":"Noto Sans Ol Chiki","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Old Hungarian":{"family":"Noto Sans Old Hungarian","category":"sans-serif","variants":["regular"]},"Noto Sans Old Italic":{"family":"Noto Sans Old Italic","category":"sans-serif","variants":["regular"]},"Noto Sans Old North Arabian":{"family":"Noto Sans Old North Arabian","category":"sans-serif","variants":["regular"]},"Noto Sans Old Permic":{"family":"Noto Sans Old Permic","category":"sans-serif","variants":["regular"]},"Noto Sans Old Persian":{"family":"Noto Sans Old Persian","category":"sans-serif","variants":["regular"]},"Noto Sans Old Sogdian":{"family":"Noto Sans Old Sogdian","category":"sans-serif","variants":["regular"]},"Noto Sans Old South Arabian":{"family":"Noto Sans Old South Arabian","category":"sans-serif","variants":["regular"]},"Noto Sans Old Turkic":{"family":"Noto Sans Old Turkic","category":"sans-serif","variants":["regular"]},"Noto Sans Oriya":{"family":"Noto Sans Oriya","category":"sans-serif","variants":["100","700","900","regular"]},"Noto Sans Osage":{"family":"Noto Sans Osage","category":"sans-serif","variants":["regular"]},"Noto Sans Osmanya":{"family":"Noto Sans Osmanya","category":"sans-serif","variants":["regular"]},"Noto Sans Pahawh Hmong":{"family":"Noto Sans Pahawh Hmong","category":"sans-serif","variants":["regular"]},"Noto Sans Palmyrene":{"family":"Noto Sans Palmyrene","category":"sans-serif","variants":["regular"]},"Noto Sans Pau Cin Hau":{"family":"Noto Sans Pau Cin Hau","category":"sans-serif","variants":["regular"]},"Noto Sans Phags Pa":{"family":"Noto Sans Phags Pa","category":"sans-serif","variants":["regular"]},"Noto Sans Phoenician":{"family":"Noto Sans Phoenician","category":"sans-serif","variants":["regular"]},"Noto Sans Psalter Pahlavi":{"family":"Noto Sans Psalter Pahlavi","category":"sans-serif","variants":["regular"]},"Noto Sans Rejang":{"family":"Noto Sans Rejang","category":"sans-serif","variants":["regular"]},"Noto Sans Runic":{"family":"Noto Sans Runic","category":"sans-serif","variants":["regular"]},"Noto Sans SC":{"family":"Noto Sans SC","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Noto Sans Samaritan":{"family":"Noto Sans Samaritan","category":"sans-serif","variants":["regular"]},"Noto Sans Saurashtra":{"family":"Noto Sans Saurashtra","category":"sans-serif","variants":["regular"]},"Noto Sans Sharada":{"family":"Noto Sans Sharada","category":"sans-serif","variants":["regular"]},"Noto Sans Shavian":{"family":"Noto Sans Shavian","category":"sans-serif","variants":["regular"]},"Noto Sans Siddham":{"family":"Noto Sans Siddham","category":"sans-serif","variants":["regular"]},"Noto Sans Sinhala":{"family":"Noto Sans Sinhala","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Sogdian":{"family":"Noto Sans Sogdian","category":"sans-serif","variants":["regular"]},"Noto Sans Sora Sompeng":{"family":"Noto Sans Sora Sompeng","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Soyombo":{"family":"Noto Sans Soyombo","category":"sans-serif","variants":["regular"]},"Noto Sans Sundanese":{"family":"Noto Sans Sundanese","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Syloti Nagri":{"family":"Noto Sans Syloti Nagri","category":"sans-serif","variants":["regular"]},"Noto Sans Symbols":{"family":"Noto Sans Symbols","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Symbols 2":{"family":"Noto Sans Symbols 2","category":"sans-serif","variants":["regular"]},"Noto Sans Syriac":{"family":"Noto Sans Syriac","category":"sans-serif","variants":["100","900","regular"]},"Noto Sans TC":{"family":"Noto Sans TC","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Noto Sans Tagalog":{"family":"Noto Sans Tagalog","category":"sans-serif","variants":["regular"]},"Noto Sans Tagbanwa":{"family":"Noto Sans Tagbanwa","category":"sans-serif","variants":["regular"]},"Noto Sans Tai Le":{"family":"Noto Sans Tai Le","category":"sans-serif","variants":["regular"]},"Noto Sans Tai Tham":{"family":"Noto Sans Tai Tham","category":"sans-serif","variants":["500","600","700","regular"]},"Noto Sans Tai Viet":{"family":"Noto Sans Tai Viet","category":"sans-serif","variants":["regular"]},"Noto Sans Takri":{"family":"Noto Sans Takri","category":"sans-serif","variants":["regular"]},"Noto Sans Tamil":{"family":"Noto Sans Tamil","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Tamil Supplement":{"family":"Noto Sans Tamil Supplement","category":"sans-serif","variants":["regular"]},"Noto Sans Telugu":{"family":"Noto Sans Telugu","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Thaana":{"family":"Noto Sans Thaana","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Thai":{"family":"Noto Sans Thai","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Thai Looped":{"family":"Noto Sans Thai Looped","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Sans Tifinagh":{"family":"Noto Sans Tifinagh","category":"sans-serif","variants":["regular"]},"Noto Sans Tirhuta":{"family":"Noto Sans Tirhuta","category":"sans-serif","variants":["regular"]},"Noto Sans Ugaritic":{"family":"Noto Sans Ugaritic","category":"sans-serif","variants":["regular"]},"Noto Sans Vai":{"family":"Noto Sans Vai","category":"sans-serif","variants":["regular"]},"Noto Sans Wancho":{"family":"Noto Sans Wancho","category":"sans-serif","variants":["regular"]},"Noto Sans Warang Citi":{"family":"Noto Sans Warang Citi","category":"sans-serif","variants":["regular"]},"Noto Sans Yi":{"family":"Noto Sans Yi","category":"sans-serif","variants":["regular"]},"Noto Sans Zanabazar Square":{"family":"Noto Sans Zanabazar Square","category":"sans-serif","variants":["regular"]},"Noto Serif":{"family":"Noto Serif","category":"serif","variants":["700","700italic","italic","regular"]},"Noto Serif Ahom":{"family":"Noto Serif Ahom","category":"serif","variants":["regular"]},"Noto Serif Armenian":{"family":"Noto Serif Armenian","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Balinese":{"family":"Noto Serif Balinese","category":"serif","variants":["regular"]},"Noto Serif Bengali":{"family":"Noto Serif Bengali","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Devanagari":{"family":"Noto Serif Devanagari","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Display":{"family":"Noto Serif Display","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Noto Serif Dogra":{"family":"Noto Serif Dogra","category":"serif","variants":["regular"]},"Noto Serif Ethiopic":{"family":"Noto Serif Ethiopic","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Georgian":{"family":"Noto Serif Georgian","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Grantha":{"family":"Noto Serif Grantha","category":"serif","variants":["regular"]},"Noto Serif Gujarati":{"family":"Noto Serif Gujarati","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Gurmukhi":{"family":"Noto Serif Gurmukhi","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Hebrew":{"family":"Noto Serif Hebrew","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif JP":{"family":"Noto Serif JP","category":"serif","variants":["200","300","500","600","700","900","regular"]},"Noto Serif KR":{"family":"Noto Serif KR","category":"serif","variants":["200","300","500","600","700","900","regular"]},"Noto Serif Kannada":{"family":"Noto Serif Kannada","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Khmer":{"family":"Noto Serif Khmer","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Lao":{"family":"Noto Serif Lao","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Malayalam":{"family":"Noto Serif Malayalam","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Myanmar":{"family":"Noto Serif Myanmar","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Nyiakeng Puachue Hmong":{"family":"Noto Serif Nyiakeng Puachue Hmong","category":"serif","variants":["500","600","700","regular"]},"Noto Serif SC":{"family":"Noto Serif SC","category":"serif","variants":["200","300","500","600","700","900","regular"]},"Noto Serif Sinhala":{"family":"Noto Serif Sinhala","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif TC":{"family":"Noto Serif TC","category":"serif","variants":["200","300","500","600","700","900","regular"]},"Noto Serif Tamil":{"family":"Noto Serif Tamil","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Noto Serif Tangut":{"family":"Noto Serif Tangut","category":"serif","variants":["regular"]},"Noto Serif Telugu":{"family":"Noto Serif Telugu","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Thai":{"family":"Noto Serif Thai","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Tibetan":{"family":"Noto Serif Tibetan","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Noto Serif Yezidi":{"family":"Noto Serif Yezidi","category":"serif","variants":["500","600","700","regular"]},"Noto Traditional Nushu":{"family":"Noto Traditional Nushu","category":"sans-serif","variants":["regular"]},"Nova Cut":{"family":"Nova Cut","category":"display","variants":["regular"]},"Nova Flat":{"family":"Nova Flat","category":"display","variants":["regular"]},"Nova Mono":{"family":"Nova Mono","category":"monospace","variants":["regular"]},"Nova Oval":{"family":"Nova Oval","category":"display","variants":["regular"]},"Nova Round":{"family":"Nova Round","category":"display","variants":["regular"]},"Nova Script":{"family":"Nova Script","category":"display","variants":["regular"]},"Nova Slim":{"family":"Nova Slim","category":"display","variants":["regular"]},"Nova Square":{"family":"Nova Square","category":"display","variants":["regular"]},"Numans":{"family":"Numans","category":"sans-serif","variants":["regular"]},"Nunito":{"family":"Nunito","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Nunito Sans":{"family":"Nunito Sans","category":"sans-serif","variants":["200","200italic","300","300italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Odibee Sans":{"family":"Odibee Sans","category":"display","variants":["regular"]},"Odor Mean Chey":{"family":"Odor Mean Chey","category":"serif","variants":["regular"]},"Offside":{"family":"Offside","category":"display","variants":["regular"]},"Oi":{"family":"Oi","category":"display","variants":["regular"]},"Old Standard TT":{"family":"Old Standard TT","category":"serif","variants":["700","italic","regular"]},"Oldenburg":{"family":"Oldenburg","category":"display","variants":["regular"]},"Ole":{"family":"Ole","category":"handwriting","variants":["regular"]},"Oleo Script":{"family":"Oleo Script","category":"display","variants":["700","regular"]},"Oleo Script Swash Caps":{"family":"Oleo Script Swash Caps","category":"display","variants":["700","regular"]},"Oooh Baby":{"family":"Oooh Baby","category":"handwriting","variants":["regular"]},"Open Sans":{"family":"Open Sans","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Open Sans Condensed":{"family":"Open Sans Condensed","category":"sans-serif","variants":["300","300italic","700"]},"Oranienbaum":{"family":"Oranienbaum","category":"serif","variants":["regular"]},"Orbitron":{"family":"Orbitron","category":"sans-serif","variants":["500","600","700","800","900","regular"]},"Oregano":{"family":"Oregano","category":"display","variants":["italic","regular"]},"Orelega One":{"family":"Orelega One","category":"display","variants":["regular"]},"Orienta":{"family":"Orienta","category":"sans-serif","variants":["regular"]},"Original Surfer":{"family":"Original Surfer","category":"display","variants":["regular"]},"Oswald":{"family":"Oswald","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Otomanopee One":{"family":"Otomanopee One","category":"sans-serif","variants":["regular"]},"Outfit":{"family":"Outfit","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Over the Rainbow":{"family":"Over the Rainbow","category":"handwriting","variants":["regular"]},"Overlock":{"family":"Overlock","category":"display","variants":["700","700italic","900","900italic","italic","regular"]},"Overlock SC":{"family":"Overlock SC","category":"display","variants":["regular"]},"Overpass":{"family":"Overpass","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Overpass Mono":{"family":"Overpass Mono","category":"monospace","variants":["300","500","600","700","regular"]},"Ovo":{"family":"Ovo","category":"serif","variants":["regular"]},"Oxanium":{"family":"Oxanium","category":"display","variants":["200","300","500","600","700","800","regular"]},"Oxygen":{"family":"Oxygen","category":"sans-serif","variants":["300","700","regular"]},"Oxygen Mono":{"family":"Oxygen Mono","category":"monospace","variants":["regular"]},"PT Mono":{"family":"PT Mono","category":"monospace","variants":["regular"]},"PT Sans":{"family":"PT Sans","category":"sans-serif","variants":["700","700italic","italic","regular"]},"PT Sans Caption":{"family":"PT Sans Caption","category":"sans-serif","variants":["700","regular"]},"PT Sans Narrow":{"family":"PT Sans Narrow","category":"sans-serif","variants":["700","regular"]},"PT Serif":{"family":"PT Serif","category":"serif","variants":["700","700italic","italic","regular"]},"PT Serif Caption":{"family":"PT Serif Caption","category":"serif","variants":["italic","regular"]},"Pacifico":{"family":"Pacifico","category":"handwriting","variants":["regular"]},"Padauk":{"family":"Padauk","category":"sans-serif","variants":["700","regular"]},"Palanquin":{"family":"Palanquin","category":"sans-serif","variants":["100","200","300","500","600","700","regular"]},"Palanquin Dark":{"family":"Palanquin Dark","category":"sans-serif","variants":["500","600","700","regular"]},"Palette Mosaic":{"family":"Palette Mosaic","category":"display","variants":["regular"]},"Pangolin":{"family":"Pangolin","category":"handwriting","variants":["regular"]},"Paprika":{"family":"Paprika","category":"display","variants":["regular"]},"Parisienne":{"family":"Parisienne","category":"handwriting","variants":["regular"]},"Passero One":{"family":"Passero One","category":"display","variants":["regular"]},"Passion One":{"family":"Passion One","category":"display","variants":["700","900","regular"]},"Passions Conflict":{"family":"Passions Conflict","category":"handwriting","variants":["regular"]},"Pathway Gothic One":{"family":"Pathway Gothic One","category":"sans-serif","variants":["regular"]},"Patrick Hand":{"family":"Patrick Hand","category":"handwriting","variants":["regular"]},"Patrick Hand SC":{"family":"Patrick Hand SC","category":"handwriting","variants":["regular"]},"Pattaya":{"family":"Pattaya","category":"sans-serif","variants":["regular"]},"Patua One":{"family":"Patua One","category":"display","variants":["regular"]},"Pavanam":{"family":"Pavanam","category":"sans-serif","variants":["regular"]},"Paytone One":{"family":"Paytone One","category":"sans-serif","variants":["regular"]},"Peddana":{"family":"Peddana","category":"serif","variants":["regular"]},"Peralta":{"family":"Peralta","category":"display","variants":["regular"]},"Permanent Marker":{"family":"Permanent Marker","category":"handwriting","variants":["regular"]},"Petemoss":{"family":"Petemoss","category":"handwriting","variants":["regular"]},"Petit Formal Script":{"family":"Petit Formal Script","category":"handwriting","variants":["regular"]},"Petrona":{"family":"Petrona","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Philosopher":{"family":"Philosopher","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Piazzolla":{"family":"Piazzolla","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Piedra":{"family":"Piedra","category":"display","variants":["regular"]},"Pinyon Script":{"family":"Pinyon Script","category":"handwriting","variants":["regular"]},"Pirata One":{"family":"Pirata One","category":"display","variants":["regular"]},"Plaster":{"family":"Plaster","category":"display","variants":["regular"]},"Play":{"family":"Play","category":"sans-serif","variants":["700","regular"]},"Playball":{"family":"Playball","category":"display","variants":["regular"]},"Playfair Display":{"family":"Playfair Display","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Playfair Display SC":{"family":"Playfair Display SC","category":"serif","variants":["700","700italic","900","900italic","italic","regular"]},"Podkova":{"family":"Podkova","category":"serif","variants":["500","600","700","800","regular"]},"Poiret One":{"family":"Poiret One","category":"display","variants":["regular"]},"Poller One":{"family":"Poller One","category":"display","variants":["regular"]},"Poly":{"family":"Poly","category":"serif","variants":["italic","regular"]},"Pompiere":{"family":"Pompiere","category":"display","variants":["regular"]},"Pontano Sans":{"family":"Pontano Sans","category":"sans-serif","variants":["regular"]},"Poor Story":{"family":"Poor Story","category":"display","variants":["regular"]},"Poppins":{"family":"Poppins","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Port Lligat Sans":{"family":"Port Lligat Sans","category":"sans-serif","variants":["regular"]},"Port Lligat Slab":{"family":"Port Lligat Slab","category":"serif","variants":["regular"]},"Potta One":{"family":"Potta One","category":"display","variants":["regular"]},"Pragati Narrow":{"family":"Pragati Narrow","category":"sans-serif","variants":["700","regular"]},"Praise":{"family":"Praise","category":"handwriting","variants":["regular"]},"Prata":{"family":"Prata","category":"serif","variants":["regular"]},"Preahvihear":{"family":"Preahvihear","category":"sans-serif","variants":["regular"]},"Press Start 2P":{"family":"Press Start 2P","category":"display","variants":["regular"]},"Pridi":{"family":"Pridi","category":"serif","variants":["200","300","500","600","700","regular"]},"Princess Sofia":{"family":"Princess Sofia","category":"handwriting","variants":["regular"]},"Prociono":{"family":"Prociono","category":"serif","variants":["regular"]},"Prompt":{"family":"Prompt","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Prosto One":{"family":"Prosto One","category":"display","variants":["regular"]},"Proza Libre":{"family":"Proza Libre","category":"sans-serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Public Sans":{"family":"Public Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Puppies Play":{"family":"Puppies Play","category":"handwriting","variants":["regular"]},"Puritan":{"family":"Puritan","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Purple Purse":{"family":"Purple Purse","category":"display","variants":["regular"]},"Pushster":{"family":"Pushster","category":"display","variants":["regular"]},"Qahiri":{"family":"Qahiri","category":"sans-serif","variants":["regular"]},"Quando":{"family":"Quando","category":"serif","variants":["regular"]},"Quantico":{"family":"Quantico","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Quattrocento":{"family":"Quattrocento","category":"serif","variants":["700","regular"]},"Quattrocento Sans":{"family":"Quattrocento Sans","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Questrial":{"family":"Questrial","category":"sans-serif","variants":["regular"]},"Quicksand":{"family":"Quicksand","category":"sans-serif","variants":["300","500","600","700","regular"]},"Quintessential":{"family":"Quintessential","category":"handwriting","variants":["regular"]},"Qwigley":{"family":"Qwigley","category":"handwriting","variants":["regular"]},"Qwitcher Grypen":{"family":"Qwitcher Grypen","category":"handwriting","variants":["700","regular"]},"Racing Sans One":{"family":"Racing Sans One","category":"display","variants":["regular"]},"Radley":{"family":"Radley","category":"serif","variants":["italic","regular"]},"Rajdhani":{"family":"Rajdhani","category":"sans-serif","variants":["300","500","600","700","regular"]},"Rakkas":{"family":"Rakkas","category":"display","variants":["regular"]},"Raleway":{"family":"Raleway","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Raleway Dots":{"family":"Raleway Dots","category":"display","variants":["regular"]},"Ramabhadra":{"family":"Ramabhadra","category":"sans-serif","variants":["regular"]},"Ramaraja":{"family":"Ramaraja","category":"serif","variants":["regular"]},"Rambla":{"family":"Rambla","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Rammetto One":{"family":"Rammetto One","category":"display","variants":["regular"]},"Rampart One":{"family":"Rampart One","category":"display","variants":["regular"]},"Ranchers":{"family":"Ranchers","category":"display","variants":["regular"]},"Rancho":{"family":"Rancho","category":"handwriting","variants":["regular"]},"Ranga":{"family":"Ranga","category":"display","variants":["700","regular"]},"Rasa":{"family":"Rasa","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Rationale":{"family":"Rationale","category":"sans-serif","variants":["regular"]},"Ravi Prakash":{"family":"Ravi Prakash","category":"display","variants":["regular"]},"Readex Pro":{"family":"Readex Pro","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Recursive":{"family":"Recursive","category":"sans-serif","variants":["300","500","600","700","800","900","regular"]},"Red Hat Display":{"family":"Red Hat Display","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Red Hat Mono":{"family":"Red Hat Mono","category":"monospace","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Red Hat Text":{"family":"Red Hat Text","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Red Rose":{"family":"Red Rose","category":"display","variants":["300","500","600","700","regular"]},"Redacted":{"family":"Redacted","category":"display","variants":["regular"]},"Redacted Script":{"family":"Redacted Script","category":"display","variants":["300","700","regular"]},"Redressed":{"family":"Redressed","category":"handwriting","variants":["regular"]},"Reem Kufi":{"family":"Reem Kufi","category":"sans-serif","variants":["500","600","700","regular"]},"Reenie Beanie":{"family":"Reenie Beanie","category":"handwriting","variants":["regular"]},"Reggae One":{"family":"Reggae One","category":"display","variants":["regular"]},"Revalia":{"family":"Revalia","category":"display","variants":["regular"]},"Rhodium Libre":{"family":"Rhodium Libre","category":"serif","variants":["regular"]},"Ribeye":{"family":"Ribeye","category":"display","variants":["regular"]},"Ribeye Marrow":{"family":"Ribeye Marrow","category":"display","variants":["regular"]},"Righteous":{"family":"Righteous","category":"display","variants":["regular"]},"Risque":{"family":"Risque","category":"display","variants":["regular"]},"Road Rage":{"family":"Road Rage","category":"display","variants":["regular"]},"Roboto":{"family":"Roboto","category":"sans-serif","variants":["100","100italic","300","300italic","500","500italic","700","700italic","900","900italic","italic","regular"]},"Roboto Condensed":{"family":"Roboto Condensed","category":"sans-serif","variants":["300","300italic","700","700italic","italic","regular"]},"Roboto Mono":{"family":"Roboto Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Roboto Slab":{"family":"Roboto Slab","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Rochester":{"family":"Rochester","category":"handwriting","variants":["regular"]},"Rock 3D":{"family":"Rock 3D","category":"display","variants":["regular"]},"Rock Salt":{"family":"Rock Salt","category":"handwriting","variants":["regular"]},"RocknRoll One":{"family":"RocknRoll One","category":"sans-serif","variants":["regular"]},"Rokkitt":{"family":"Rokkitt","category":"serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Romanesco":{"family":"Romanesco","category":"handwriting","variants":["regular"]},"Ropa Sans":{"family":"Ropa Sans","category":"sans-serif","variants":["italic","regular"]},"Rosario":{"family":"Rosario","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Rosarivo":{"family":"Rosarivo","category":"serif","variants":["italic","regular"]},"Rouge Script":{"family":"Rouge Script","category":"handwriting","variants":["regular"]},"Rowdies":{"family":"Rowdies","category":"display","variants":["300","700","regular"]},"Rozha One":{"family":"Rozha One","category":"serif","variants":["regular"]},"Rubik":{"family":"Rubik","category":"sans-serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Rubik Beastly":{"family":"Rubik Beastly","category":"display","variants":["regular"]},"Rubik Mono One":{"family":"Rubik Mono One","category":"sans-serif","variants":["regular"]},"Ruda":{"family":"Ruda","category":"sans-serif","variants":["500","600","700","800","900","regular"]},"Rufina":{"family":"Rufina","category":"serif","variants":["700","regular"]},"Ruge Boogie":{"family":"Ruge Boogie","category":"handwriting","variants":["regular"]},"Ruluko":{"family":"Ruluko","category":"sans-serif","variants":["regular"]},"Rum Raisin":{"family":"Rum Raisin","category":"sans-serif","variants":["regular"]},"Ruslan Display":{"family":"Ruslan Display","category":"display","variants":["regular"]},"Russo One":{"family":"Russo One","category":"sans-serif","variants":["regular"]},"Ruthie":{"family":"Ruthie","category":"handwriting","variants":["regular"]},"Rye":{"family":"Rye","category":"display","variants":["regular"]},"STIX Two Text":{"family":"STIX Two Text","category":"serif","variants":["500","500italic","600","600italic","700","700italic","italic","regular"]},"Sacramento":{"family":"Sacramento","category":"handwriting","variants":["regular"]},"Sahitya":{"family":"Sahitya","category":"serif","variants":["700","regular"]},"Sail":{"family":"Sail","category":"display","variants":["regular"]},"Saira":{"family":"Saira","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Saira Condensed":{"family":"Saira Condensed","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Saira Extra Condensed":{"family":"Saira Extra Condensed","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Saira Semi Condensed":{"family":"Saira Semi Condensed","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Saira Stencil One":{"family":"Saira Stencil One","category":"display","variants":["regular"]},"Salsa":{"family":"Salsa","category":"display","variants":["regular"]},"Sanchez":{"family":"Sanchez","category":"serif","variants":["italic","regular"]},"Sancreek":{"family":"Sancreek","category":"display","variants":["regular"]},"Sansita":{"family":"Sansita","category":"sans-serif","variants":["700","700italic","800","800italic","900","900italic","italic","regular"]},"Sansita Swashed":{"family":"Sansita Swashed","category":"display","variants":["300","500","600","700","800","900","regular"]},"Sarabun":{"family":"Sarabun","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Sarala":{"family":"Sarala","category":"sans-serif","variants":["700","regular"]},"Sarina":{"family":"Sarina","category":"display","variants":["regular"]},"Sarpanch":{"family":"Sarpanch","category":"sans-serif","variants":["500","600","700","800","900","regular"]},"Sassy Frass":{"family":"Sassy Frass","category":"handwriting","variants":["regular"]},"Satisfy":{"family":"Satisfy","category":"handwriting","variants":["regular"]},"Sawarabi Gothic":{"family":"Sawarabi Gothic","category":"sans-serif","variants":["regular"]},"Sawarabi Mincho":{"family":"Sawarabi Mincho","category":"sans-serif","variants":["regular"]},"Scada":{"family":"Scada","category":"sans-serif","variants":["700","700italic","italic","regular"]},"Scheherazade New":{"family":"Scheherazade New","category":"serif","variants":["700","regular"]},"Schoolbell":{"family":"Schoolbell","category":"handwriting","variants":["regular"]},"Scope One":{"family":"Scope One","category":"serif","variants":["regular"]},"Seaweed Script":{"family":"Seaweed Script","category":"display","variants":["regular"]},"Secular One":{"family":"Secular One","category":"sans-serif","variants":["regular"]},"Sedgwick Ave":{"family":"Sedgwick Ave","category":"handwriting","variants":["regular"]},"Sedgwick Ave Display":{"family":"Sedgwick Ave Display","category":"handwriting","variants":["regular"]},"Sen":{"family":"Sen","category":"sans-serif","variants":["700","800","regular"]},"Sevillana":{"family":"Sevillana","category":"display","variants":["regular"]},"Seymour One":{"family":"Seymour One","category":"sans-serif","variants":["regular"]},"Shadows Into Light":{"family":"Shadows Into Light","category":"handwriting","variants":["regular"]},"Shadows Into Light Two":{"family":"Shadows Into Light Two","category":"handwriting","variants":["regular"]},"Shalimar":{"family":"Shalimar","category":"handwriting","variants":["regular"]},"Shanti":{"family":"Shanti","category":"sans-serif","variants":["regular"]},"Share":{"family":"Share","category":"display","variants":["700","700italic","italic","regular"]},"Share Tech":{"family":"Share Tech","category":"sans-serif","variants":["regular"]},"Share Tech Mono":{"family":"Share Tech Mono","category":"monospace","variants":["regular"]},"Shippori Antique":{"family":"Shippori Antique","category":"sans-serif","variants":["regular"]},"Shippori Antique B1":{"family":"Shippori Antique B1","category":"sans-serif","variants":["regular"]},"Shippori Mincho":{"family":"Shippori Mincho","category":"serif","variants":["500","600","700","800","regular"]},"Shippori Mincho B1":{"family":"Shippori Mincho B1","category":"serif","variants":["500","600","700","800","regular"]},"Shizuru":{"family":"Shizuru","category":"display","variants":["regular"]},"Shojumaru":{"family":"Shojumaru","category":"display","variants":["regular"]},"Short Stack":{"family":"Short Stack","category":"handwriting","variants":["regular"]},"Shrikhand":{"family":"Shrikhand","category":"display","variants":["regular"]},"Siemreap":{"family":"Siemreap","category":"display","variants":["regular"]},"Sigmar One":{"family":"Sigmar One","category":"display","variants":["regular"]},"Signika":{"family":"Signika","category":"sans-serif","variants":["300","500","600","700","regular"]},"Signika Negative":{"family":"Signika Negative","category":"sans-serif","variants":["300","500","600","700","regular"]},"Simonetta":{"family":"Simonetta","category":"display","variants":["900","900italic","italic","regular"]},"Single Day":{"family":"Single Day","category":"display","variants":["regular"]},"Sintony":{"family":"Sintony","category":"sans-serif","variants":["700","regular"]},"Sirin Stencil":{"family":"Sirin Stencil","category":"display","variants":["regular"]},"Six Caps":{"family":"Six Caps","category":"sans-serif","variants":["regular"]},"Skranji":{"family":"Skranji","category":"display","variants":["700","regular"]},"Slabo 13px":{"family":"Slabo 13px","category":"serif","variants":["regular"]},"Slabo 27px":{"family":"Slabo 27px","category":"serif","variants":["regular"]},"Slackey":{"family":"Slackey","category":"display","variants":["regular"]},"Smokum":{"family":"Smokum","category":"display","variants":["regular"]},"Smooch":{"family":"Smooch","category":"handwriting","variants":["regular"]},"Smythe":{"family":"Smythe","category":"display","variants":["regular"]},"Sniglet":{"family":"Sniglet","category":"display","variants":["800","regular"]},"Snippet":{"family":"Snippet","category":"sans-serif","variants":["regular"]},"Snowburst One":{"family":"Snowburst One","category":"display","variants":["regular"]},"Sofadi One":{"family":"Sofadi One","category":"display","variants":["regular"]},"Sofia":{"family":"Sofia","category":"handwriting","variants":["regular"]},"Solway":{"family":"Solway","category":"serif","variants":["300","500","700","800","regular"]},"Song Myung":{"family":"Song Myung","category":"serif","variants":["regular"]},"Sonsie One":{"family":"Sonsie One","category":"display","variants":["regular"]},"Sora":{"family":"Sora","category":"sans-serif","variants":["100","200","300","500","600","700","800","regular"]},"Sorts Mill Goudy":{"family":"Sorts Mill Goudy","category":"serif","variants":["italic","regular"]},"Source Code Pro":{"family":"Source Code Pro","category":"monospace","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Source Sans 3":{"family":"Source Sans 3","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Source Sans Pro":{"family":"Source Sans Pro","category":"sans-serif","variants":["200","200italic","300","300italic","600","600italic","700","700italic","900","900italic","italic","regular"]},"Source Serif 4":{"family":"Source Serif 4","category":"sans-serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Source Serif Pro":{"family":"Source Serif Pro","category":"serif","variants":["200","200italic","300","300italic","600","600italic","700","700italic","900","900italic","italic","regular"]},"Space Grotesk":{"family":"Space Grotesk","category":"sans-serif","variants":["300","500","600","700","regular"]},"Space Mono":{"family":"Space Mono","category":"monospace","variants":["700","700italic","italic","regular"]},"Spartan":{"family":"Spartan","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Special Elite":{"family":"Special Elite","category":"display","variants":["regular"]},"Spectral":{"family":"Spectral","category":"serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Spectral SC":{"family":"Spectral SC","category":"serif","variants":["200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","italic","regular"]},"Spicy Rice":{"family":"Spicy Rice","category":"display","variants":["regular"]},"Spinnaker":{"family":"Spinnaker","category":"sans-serif","variants":["regular"]},"Spirax":{"family":"Spirax","category":"display","variants":["regular"]},"Spline Sans":{"family":"Spline Sans","category":"sans-serif","variants":["300","500","600","700","regular"]},"Squada One":{"family":"Squada One","category":"display","variants":["regular"]},"Sree Krushnadevaraya":{"family":"Sree Krushnadevaraya","category":"serif","variants":["regular"]},"Sriracha":{"family":"Sriracha","category":"handwriting","variants":["regular"]},"Srisakdi":{"family":"Srisakdi","category":"display","variants":["700","regular"]},"Staatliches":{"family":"Staatliches","category":"display","variants":["regular"]},"Stalemate":{"family":"Stalemate","category":"handwriting","variants":["regular"]},"Stalinist One":{"family":"Stalinist One","category":"display","variants":["regular"]},"Stardos Stencil":{"family":"Stardos Stencil","category":"display","variants":["700","regular"]},"Stick":{"family":"Stick","category":"sans-serif","variants":["regular"]},"Stick No Bills":{"family":"Stick No Bills","category":"sans-serif","variants":["200","300","500","600","700","800","regular"]},"Stint Ultra Condensed":{"family":"Stint Ultra Condensed","category":"display","variants":["regular"]},"Stint Ultra Expanded":{"family":"Stint Ultra Expanded","category":"display","variants":["regular"]},"Stoke":{"family":"Stoke","category":"serif","variants":["300","regular"]},"Strait":{"family":"Strait","category":"sans-serif","variants":["regular"]},"Style Script":{"family":"Style Script","category":"handwriting","variants":["regular"]},"Stylish":{"family":"Stylish","category":"sans-serif","variants":["regular"]},"Sue Ellen Francisco":{"family":"Sue Ellen Francisco","category":"handwriting","variants":["regular"]},"Suez One":{"family":"Suez One","category":"serif","variants":["regular"]},"Sulphur Point":{"family":"Sulphur Point","category":"sans-serif","variants":["300","700","regular"]},"Sumana":{"family":"Sumana","category":"serif","variants":["700","regular"]},"Sunflower":{"family":"Sunflower","category":"sans-serif","variants":["300","500","700"]},"Sunshiney":{"family":"Sunshiney","category":"handwriting","variants":["regular"]},"Supermercado One":{"family":"Supermercado One","category":"display","variants":["regular"]},"Sura":{"family":"Sura","category":"serif","variants":["700","regular"]},"Suranna":{"family":"Suranna","category":"serif","variants":["regular"]},"Suravaram":{"family":"Suravaram","category":"serif","variants":["regular"]},"Suwannaphum":{"family":"Suwannaphum","category":"serif","variants":["100","300","700","900","regular"]},"Swanky and Moo Moo":{"family":"Swanky and Moo Moo","category":"handwriting","variants":["regular"]},"Syncopate":{"family":"Syncopate","category":"sans-serif","variants":["700","regular"]},"Syne":{"family":"Syne","category":"sans-serif","variants":["500","600","700","800","regular"]},"Syne Mono":{"family":"Syne Mono","category":"monospace","variants":["regular"]},"Syne Tactile":{"family":"Syne Tactile","category":"display","variants":["regular"]},"Tajawal":{"family":"Tajawal","category":"sans-serif","variants":["200","300","500","700","800","900","regular"]},"Tangerine":{"family":"Tangerine","category":"handwriting","variants":["700","regular"]},"Taprom":{"family":"Taprom","category":"display","variants":["regular"]},"Tauri":{"family":"Tauri","category":"sans-serif","variants":["regular"]},"Taviraj":{"family":"Taviraj","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Teko":{"family":"Teko","category":"sans-serif","variants":["300","500","600","700","regular"]},"Telex":{"family":"Telex","category":"sans-serif","variants":["regular"]},"Tenali Ramakrishna":{"family":"Tenali Ramakrishna","category":"sans-serif","variants":["regular"]},"Tenor Sans":{"family":"Tenor Sans","category":"sans-serif","variants":["regular"]},"Text Me One":{"family":"Text Me One","category":"sans-serif","variants":["regular"]},"Texturina":{"family":"Texturina","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Thasadith":{"family":"Thasadith","category":"sans-serif","variants":["700","700italic","italic","regular"]},"The Girl Next Door":{"family":"The Girl Next Door","category":"handwriting","variants":["regular"]},"The Nautigal":{"family":"The Nautigal","category":"handwriting","variants":["700","regular"]},"Tienne":{"family":"Tienne","category":"serif","variants":["700","900","regular"]},"Tillana":{"family":"Tillana","category":"handwriting","variants":["500","600","700","800","regular"]},"Timmana":{"family":"Timmana","category":"sans-serif","variants":["regular"]},"Tinos":{"family":"Tinos","category":"serif","variants":["700","700italic","italic","regular"]},"Titan One":{"family":"Titan One","category":"display","variants":["regular"]},"Titillium Web":{"family":"Titillium Web","category":"sans-serif","variants":["200","200italic","300","300italic","600","600italic","700","700italic","900","italic","regular"]},"Tomorrow":{"family":"Tomorrow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Tourney":{"family":"Tourney","category":"display","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Trade Winds":{"family":"Trade Winds","category":"display","variants":["regular"]},"Train One":{"family":"Train One","category":"display","variants":["regular"]},"Trirong":{"family":"Trirong","category":"serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Trispace":{"family":"Trispace","category":"sans-serif","variants":["100","200","300","500","600","700","800","regular"]},"Trocchi":{"family":"Trocchi","category":"serif","variants":["regular"]},"Trochut":{"family":"Trochut","category":"display","variants":["700","italic","regular"]},"Truculenta":{"family":"Truculenta","category":"sans-serif","variants":["100","200","300","500","600","700","800","900","regular"]},"Trykker":{"family":"Trykker","category":"serif","variants":["regular"]},"Tulpen One":{"family":"Tulpen One","category":"display","variants":["regular"]},"Turret Road":{"family":"Turret Road","category":"display","variants":["200","300","500","700","800","regular"]},"Twinkle Star":{"family":"Twinkle Star","category":"handwriting","variants":["regular"]},"Ubuntu":{"family":"Ubuntu","category":"sans-serif","variants":["300","300italic","500","500italic","700","700italic","italic","regular"]},"Ubuntu Condensed":{"family":"Ubuntu Condensed","category":"sans-serif","variants":["regular"]},"Ubuntu Mono":{"family":"Ubuntu Mono","category":"monospace","variants":["700","700italic","italic","regular"]},"Uchen":{"family":"Uchen","category":"serif","variants":["regular"]},"Ultra":{"family":"Ultra","category":"serif","variants":["regular"]},"Uncial Antiqua":{"family":"Uncial Antiqua","category":"display","variants":["regular"]},"Underdog":{"family":"Underdog","category":"display","variants":["regular"]},"Unica One":{"family":"Unica One","category":"display","variants":["regular"]},"UnifrakturCook":{"family":"UnifrakturCook","category":"display","variants":["700"]},"UnifrakturMaguntia":{"family":"UnifrakturMaguntia","category":"display","variants":["regular"]},"Unkempt":{"family":"Unkempt","category":"display","variants":["700","regular"]},"Unlock":{"family":"Unlock","category":"display","variants":["regular"]},"Unna":{"family":"Unna","category":"serif","variants":["700","700italic","italic","regular"]},"Urbanist":{"family":"Urbanist","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"VT323":{"family":"VT323","category":"monospace","variants":["regular"]},"Vampiro One":{"family":"Vampiro One","category":"display","variants":["regular"]},"Varela":{"family":"Varela","category":"sans-serif","variants":["regular"]},"Varela Round":{"family":"Varela Round","category":"sans-serif","variants":["regular"]},"Varta":{"family":"Varta","category":"sans-serif","variants":["300","500","600","700","regular"]},"Vast Shadow":{"family":"Vast Shadow","category":"display","variants":["regular"]},"Vesper Libre":{"family":"Vesper Libre","category":"serif","variants":["500","700","900","regular"]},"Viaoda Libre":{"family":"Viaoda Libre","category":"display","variants":["regular"]},"Vibes":{"family":"Vibes","category":"display","variants":["regular"]},"Vibur":{"family":"Vibur","category":"handwriting","variants":["regular"]},"Vidaloka":{"family":"Vidaloka","category":"serif","variants":["regular"]},"Viga":{"family":"Viga","category":"sans-serif","variants":["regular"]},"Voces":{"family":"Voces","category":"display","variants":["regular"]},"Volkhov":{"family":"Volkhov","category":"serif","variants":["700","700italic","italic","regular"]},"Vollkorn":{"family":"Vollkorn","category":"serif","variants":["500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Vollkorn SC":{"family":"Vollkorn SC","category":"serif","variants":["600","700","900","regular"]},"Voltaire":{"family":"Voltaire","category":"sans-serif","variants":["regular"]},"Vujahday Script":{"family":"Vujahday Script","category":"handwriting","variants":["regular"]},"Waiting for the Sunrise":{"family":"Waiting for the Sunrise","category":"handwriting","variants":["regular"]},"Wallpoet":{"family":"Wallpoet","category":"display","variants":["regular"]},"Walter Turncoat":{"family":"Walter Turncoat","category":"handwriting","variants":["regular"]},"Warnes":{"family":"Warnes","category":"display","variants":["regular"]},"Waterfall":{"family":"Waterfall","category":"handwriting","variants":["regular"]},"Wellfleet":{"family":"Wellfleet","category":"display","variants":["regular"]},"Wendy One":{"family":"Wendy One","category":"sans-serif","variants":["regular"]},"WindSong":{"family":"WindSong","category":"handwriting","variants":["500","regular"]},"Wire One":{"family":"Wire One","category":"sans-serif","variants":["regular"]},"Work Sans":{"family":"Work Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic","italic","regular"]},"Xanh Mono":{"family":"Xanh Mono","category":"monospace","variants":["italic","regular"]},"Yaldevi":{"family":"Yaldevi","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Yanone Kaffeesatz":{"family":"Yanone Kaffeesatz","category":"sans-serif","variants":["200","300","500","600","700","regular"]},"Yantramanav":{"family":"Yantramanav","category":"sans-serif","variants":["100","300","500","700","900","regular"]},"Yatra One":{"family":"Yatra One","category":"display","variants":["regular"]},"Yellowtail":{"family":"Yellowtail","category":"handwriting","variants":["regular"]},"Yeon Sung":{"family":"Yeon Sung","category":"display","variants":["regular"]},"Yeseva One":{"family":"Yeseva One","category":"display","variants":["regular"]},"Yesteryear":{"family":"Yesteryear","category":"handwriting","variants":["regular"]},"Yomogi":{"family":"Yomogi","category":"handwriting","variants":["regular"]},"Yrsa":{"family":"Yrsa","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Yuji Boku":{"family":"Yuji Boku","category":"serif","variants":["regular"]},"Yuji Hentaigana Akari":{"family":"Yuji Hentaigana Akari","category":"handwriting","variants":["regular"]},"Yuji Hentaigana Akebono":{"family":"Yuji Hentaigana Akebono","category":"handwriting","variants":["regular"]},"Yuji Mai":{"family":"Yuji Mai","category":"serif","variants":["regular"]},"Yuji Syuku":{"family":"Yuji Syuku","category":"serif","variants":["regular"]},"Yusei Magic":{"family":"Yusei Magic","category":"sans-serif","variants":["regular"]},"ZCOOL KuaiLe":{"family":"ZCOOL KuaiLe","category":"display","variants":["regular"]},"ZCOOL QingKe HuangYou":{"family":"ZCOOL QingKe HuangYou","category":"display","variants":["regular"]},"ZCOOL XiaoWei":{"family":"ZCOOL XiaoWei","category":"serif","variants":["regular"]},"Zen Antique":{"family":"Zen Antique","category":"serif","variants":["regular"]},"Zen Antique Soft":{"family":"Zen Antique Soft","category":"serif","variants":["regular"]},"Zen Dots":{"family":"Zen Dots","category":"display","variants":["regular"]},"Zen Kaku Gothic Antique":{"family":"Zen Kaku Gothic Antique","category":"sans-serif","variants":["300","500","700","900","regular"]},"Zen Kaku Gothic New":{"family":"Zen Kaku Gothic New","category":"sans-serif","variants":["300","500","700","900","regular"]},"Zen Kurenaido":{"family":"Zen Kurenaido","category":"sans-serif","variants":["regular"]},"Zen Loop":{"family":"Zen Loop","category":"display","variants":["italic","regular"]},"Zen Maru Gothic":{"family":"Zen Maru Gothic","category":"sans-serif","variants":["300","500","700","900","regular"]},"Zen Old Mincho":{"family":"Zen Old Mincho","category":"serif","variants":["700","900","regular"]},"Zen Tokyo Zoo":{"family":"Zen Tokyo Zoo","category":"display","variants":["regular"]},"Zeyada":{"family":"Zeyada","category":"handwriting","variants":["regular"]},"Zhi Mang Xing":{"family":"Zhi Mang Xing","category":"handwriting","variants":["regular"]},"Zilla Slab":{"family":"Zilla Slab","category":"serif","variants":["300","300italic","500","500italic","600","600italic","700","700italic","italic","regular"]},"Zilla Slab Highlight":{"family":"Zilla Slab Highlight","category":"display","variants":["700","regular"]}},"order":{"alpha":["ABeeZee","Abel","Abhaya Libre","Abril Fatface","Aclonica","Acme","Actor","Adamina","Advent Pro","Aguafina Script","Akaya Kanadaka","Akaya Telivigala","Akronim","Aladin","Alata","Alatsi","Aldrich","Alef","Alegreya","Alegreya SC","Alegreya Sans","Alegreya Sans SC","Aleo","Alex Brush","Alfa Slab One","Alice","Alike","Alike Angular","Allan","Allerta","Allerta Stencil","Allison","Allura","Almarai","Almendra","Almendra Display","Almendra SC","Alumni Sans","Amarante","Amaranth","Amatic SC","Amethysta","Amiko","Amiri","Amita","Anaheim","Andada Pro","Andika","Andika New Basic","Angkor","Annie Use Your Telescope","Anonymous Pro","Antic","Antic Didone","Antic Slab","Anton","Antonio","Arapey","Arbutus","Arbutus Slab","Architects Daughter","Archivo","Archivo Black","Archivo Narrow","Are You Serious","Aref Ruqaa","Arima Madurai","Arimo","Arizonia","Armata","Arsenal","Artifika","Arvo","Arya","Asap","Asap Condensed","Asar","Asset","Assistant","Astloch","Asul","Athiti","Atkinson Hyperlegible","Atma","Atomic Age","Aubrey","Audiowide","Autour One","Average","Average Sans","Averia Gruesa Libre","Averia Libre","Averia Sans Libre","Averia Serif Libre","Azeret Mono","B612","B612 Mono","Bad Script","Bahiana","Bahianita","Bai Jamjuree","Bakbak One","Ballet","Baloo 2","Baloo Bhai 2","Baloo Bhaijaan 2","Baloo Bhaina 2","Baloo Chettan 2","Baloo Da 2","Baloo Paaji 2","Baloo Tamma 2","Baloo Tammudu 2","Baloo Thambi 2","Balsamiq Sans","Balthazar","Bangers","Barlow","Barlow Condensed","Barlow Semi Condensed","Barriecito","Barrio","Basic","Baskervville","Battambang","Baumans","Bayon","Be Vietnam Pro","Bebas Neue","Belgrano","Bellefair","Belleza","Bellota","Bellota Text","BenchNine","Benne","Bentham","Berkshire Swash","Besley","Beth Ellen","Bevan","Big Shoulders Display","Big Shoulders Inline Display","Big Shoulders Inline Text","Big Shoulders Stencil Display","Big Shoulders Stencil Text","Big Shoulders Text","Bigelow Rules","Bigshot One","Bilbo","Bilbo Swash Caps","BioRhyme","BioRhyme Expanded","Birthstone","Birthstone Bounce","Biryani","Bitter","Black And White Picture","Black Han Sans","Black Ops One","Blinker","Bodoni Moda","Bokor","Bona Nova","Bonbon","Bonheur Royale","Boogaloo","Bowlby One","Bowlby One SC","Brawler","Bree Serif","Brygada 1918","Bubblegum Sans","Bubbler One","Buda","Buenard","Bungee","Bungee Hairline","Bungee Inline","Bungee Outline","Bungee Shade","Butcherman","Butterfly Kids","Cabin","Cabin Condensed","Cabin Sketch","Caesar Dressing","Cagliostro","Cairo","Caladea","Calistoga","Calligraffitti","Cambay","Cambo","Candal","Cantarell","Cantata One","Cantora One","Capriola","Caramel","Carattere","Cardo","Carme","Carrois Gothic","Carrois Gothic SC","Carter One","Castoro","Catamaran","Caudex","Caveat","Caveat Brush","Cedarville Cursive","Ceviche One","Chakra Petch","Changa","Changa One","Chango","Charm","Charmonman","Chathura","Chau Philomene One","Chela One","Chelsea Market","Chenla","Cherish","Cherry Cream Soda","Cherry Swash","Chewy","Chicle","Chilanka","Chivo","Chonburi","Cinzel","Cinzel Decorative","Clicker Script","Coda","Coda Caption","Codystar","Coiny","Combo","Comfortaa","Comforter","Comforter Brush","Comic Neue","Coming Soon","Commissioner","Concert One","Condiment","Content","Contrail One","Convergence","Cookie","Copse","Corben","Corinthia","Cormorant","Cormorant Garamond","Cormorant Infant","Cormorant SC","Cormorant Unicase","Cormorant Upright","Courgette","Courier Prime","Cousine","Coustard","Covered By Your Grace","Crafty Girls","Creepster","Crete Round","Crimson Pro","Croissant One","Crushed","Cuprum","Cute Font","Cutive","Cutive Mono","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Damion","Dancing Script","Dangrek","Darker Grotesque","David Libre","Dawning of a New Day","Days One","Dekko","Dela Gothic One","Delius","Delius Swash Caps","Delius Unicase","Della Respira","Denk One","Devonshire","Dhurjati","Didact Gothic","Diplomata","Diplomata SC","Do Hyeon","Dokdo","Domine","Donegal One","Dongle","Doppio One","Dorsa","Dosis","DotGothic16","Dr Sugiyama","Duru Sans","Dynalight","EB Garamond","Eagle Lake","East Sea Dokdo","Eater","Economica","Eczar","El Messiri","Electrolize","Elsie","Elsie Swash Caps","Emblema One","Emilys Candy","Encode Sans","Encode Sans Condensed","Encode Sans Expanded","Encode Sans SC","Encode Sans Semi Condensed","Encode Sans Semi Expanded","Engagement","Englebert","Enriqueta","Ephesis","Epilogue","Erica One","Esteban","Estonia","Euphoria Script","Ewert","Exo","Exo 2","Expletus Sans","Explora","Fahkwang","Fanwood Text","Farro","Farsan","Fascinate","Fascinate Inline","Faster One","Fasthand","Fauna One","Faustina","Federant","Federo","Felipa","Fenix","Festive","Finger Paint","Fira Code","Fira Mono","Fira Sans","Fira Sans Condensed","Fira Sans Extra Condensed","Fjalla One","Fjord One","Flamenco","Flavors","Fleur De Leah","Flow Block","Flow Circular","Flow Rounded","Fondamento","Fontdiner Swanky","Forum","Francois One","Frank Ruhl Libre","Fraunces","Freckle Face","Fredericka the Great","Fredoka One","Freehand","Fresca","Frijole","Fruktur","Fugaz One","Fuggles","Fuzzy Bubbles","GFS Didot","GFS Neohellenic","Gabriela","Gaegu","Gafata","Galada","Galdeano","Galindo","Gamja Flower","Gayathri","Gelasio","Gemunu Libre","Genos","Gentium Basic","Gentium Book Basic","Geo","Georama","Geostar","Geostar Fill","Germania One","Gideon Roman","Gidugu","Gilda Display","Girassol","Give You Glory","Glass Antiqua","Glegoo","Gloria Hallelujah","Glory","Gluten","Goblin One","Gochi Hand","Goldman","Gorditas","Gothic A1","Gotu","Goudy Bookletter 1911","Gowun Batang","Gowun Dodum","Graduate","Grand Hotel","Grandstander","Gravitas One","Great Vibes","Grechen Fuemen","Grenze","Grenze Gotisch","Grey Qo","Griffy","Gruppo","Gudea","Gugi","Gupter","Gurajada","Gwendolyn","Habibi","Hachi Maru Pop","Hahmlet","Halant","Hammersmith One","Hanalei","Hanalei Fill","Handlee","Hanuman","Happy Monkey","Harmattan","Headland One","Heebo","Henny Penny","Hepta Slab","Herr Von Muellerhoff","Hi Melody","Hina Mincho","Hind","Hind Guntur","Hind Madurai","Hind Siliguri","Hind Vadodara","Holtwood One SC","Homemade Apple","Homenaje","Hurricane","IBM Plex Mono","IBM Plex Sans","IBM Plex Sans Arabic","IBM Plex Sans Condensed","IBM Plex Sans Devanagari","IBM Plex Sans Hebrew","IBM Plex Sans KR","IBM Plex Sans Thai","IBM Plex Sans Thai Looped","IBM Plex Serif","IM Fell DW Pica","IM Fell DW Pica SC","IM Fell Double Pica","IM Fell Double Pica SC","IM Fell English","IM Fell English SC","IM Fell French Canon","IM Fell French Canon SC","IM Fell Great Primer","IM Fell Great Primer SC","Ibarra Real Nova","Iceberg","Iceland","Imbue","Imperial Script","Imprima","Inconsolata","Inder","Indie Flower","Inika","Inknut Antiqua","Inria Sans","Inria Serif","Inspiration","Inter","Irish Grover","Island Moments","Istok Web","Italiana","Italianno","Itim","Jacques Francois","Jacques Francois Shadow","Jaldi","JetBrains Mono","Jim Nightshade","Jockey One","Jolly Lodger","Jomhuria","Jomolhari","Josefin Sans","Josefin Slab","Jost","Joti One","Jua","Judson","Julee","Julius Sans One","Junge","Jura","Just Another Hand","Just Me Again Down Here","K2D","Kadwa","Kaisei Decol","Kaisei HarunoUmi","Kaisei Opti","Kaisei Tokumin","Kalam","Kameron","Kanit","Kantumruy","Karantina","Karla","Karma","Katibeh","Kaushan Script","Kavivanar","Kavoon","Kdam Thmor","Keania One","Kelly Slab","Kenia","Khand","Khmer","Khula","Kings","Kirang Haerang","Kite One","Kiwi Maru","Klee One","Knewave","KoHo","Kodchasan","Koh Santepheap","Kolker Brush","Kosugi","Kosugi Maru","Kotta One","Koulen","Kranky","Kreon","Kristi","Krona One","Krub","Kufam","Kulim Park","Kumar One","Kumar One Outline","Kumbh Sans","Kurale","La Belle Aurore","Lacquer","Laila","Lakki Reddy","Lalezar","Lancelot","Langar","Lateef","Lato","League Script","Leckerli One","Ledger","Lekton","Lemon","Lemonada","Lexend","Lexend Deca","Lexend Exa","Lexend Giga","Lexend Mega","Lexend Peta","Lexend Tera","Lexend Zetta","Libre Barcode 128","Libre Barcode 128 Text","Libre Barcode 39","Libre Barcode 39 Extended","Libre Barcode 39 Extended Text","Libre Barcode 39 Text","Libre Barcode EAN13 Text","Libre Baskerville","Libre Caslon Display","Libre Caslon Text","Libre Franklin","Licorice","Life Savers","Lilita One","Lily Script One","Limelight","Linden Hill","Literata","Liu Jian Mao Cao","Livvic","Lobster","Lobster Two","Londrina Outline","Londrina Shadow","Londrina Sketch","Londrina Solid","Long Cang","Lora","Love Light","Love Ya Like A Sister","Loved by the King","Lovers Quarrel","Luckiest Guy","Lusitana","Lustria","Luxurious Roman","Luxurious Script","M PLUS 1","M PLUS 1 Code","M PLUS 1p","M PLUS 2","M PLUS Code Latin","M PLUS Rounded 1c","Ma Shan Zheng","Macondo","Macondo Swash Caps","Mada","Magra","Maiden Orange","Maitree","Major Mono Display","Mako","Mali","Mallanna","Mandali","Manjari","Manrope","Mansalva","Manuale","Marcellus","Marcellus SC","Marck Script","Margarine","Markazi Text","Marko One","Marmelad","Martel","Martel Sans","Marvel","Mate","Mate SC","Maven Pro","McLaren","Mea Culpa","Meddon","MedievalSharp","Medula One","Meera Inimai","Megrim","Meie Script","Meow Script","Merienda","Merienda One","Merriweather","Merriweather Sans","Metal","Metal Mania","Metamorphous","Metrophobic","Michroma","Milonga","Miltonian","Miltonian Tattoo","Mina","Miniver","Miriam Libre","Mirza","Miss Fajardose","Mitr","Mochiy Pop One","Mochiy Pop P One","Modak","Modern Antiqua","Mogra","Mohave","Molengo","Molle","Monda","Monofett","Monoton","Monsieur La Doulaise","Montaga","Montagu Slab","MonteCarlo","Montez","Montserrat","Montserrat Alternates","Montserrat Subrayada","Moo Lah Lah","Moon Dance","Moul","Moulpali","Mountains of Christmas","Mouse Memoirs","Mr Bedfort","Mr Dafoe","Mr De Haviland","Mrs Saint Delafield","Mrs Sheppards","Mukta","Mukta Mahee","Mukta Malar","Mukta Vaani","Mulish","Murecho","MuseoModerno","Mystery Quest","NTR","Nanum Brush Script","Nanum Gothic","Nanum Gothic Coding","Nanum Myeongjo","Nanum Pen Script","Nerko One","Neucha","Neuton","New Rocker","New Tegomin","News Cycle","Newsreader","Niconne","Niramit","Nixie One","Nobile","Nokora","Norican","Nosifer","Notable","Nothing You Could Do","Noticia Text","Noto Kufi Arabic","Noto Music","Noto Naskh Arabic","Noto Nastaliq Urdu","Noto Rashi Hebrew","Noto Sans","Noto Sans Adlam","Noto Sans Adlam Unjoined","Noto Sans Anatolian Hieroglyphs","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Avestan","Noto Sans Balinese","Noto Sans Bamum","Noto Sans Bassa Vah","Noto Sans Batak","Noto Sans Bengali","Noto Sans Bhaiksuki","Noto Sans Brahmi","Noto Sans Buginese","Noto Sans Buhid","Noto Sans Canadian Aboriginal","Noto Sans Carian","Noto Sans Caucasian Albanian","Noto Sans Chakma","Noto Sans Cham","Noto Sans Cherokee","Noto Sans Coptic","Noto Sans Cuneiform","Noto Sans Cypriot","Noto Sans Deseret","Noto Sans Devanagari","Noto Sans Display","Noto Sans Duployan","Noto Sans Egyptian Hieroglyphs","Noto Sans Elbasan","Noto Sans Elymaic","Noto Sans Georgian","Noto Sans Glagolitic","Noto Sans Gothic","Noto Sans Grantha","Noto Sans Gujarati","Noto Sans Gunjala Gondi","Noto Sans Gurmukhi","Noto Sans HK","Noto Sans Hanifi Rohingya","Noto Sans Hanunoo","Noto Sans Hatran","Noto Sans Hebrew","Noto Sans Imperial Aramaic","Noto Sans Indic Siyaq Numbers","Noto Sans Inscriptional Pahlavi","Noto Sans Inscriptional Parthian","Noto Sans JP","Noto Sans Javanese","Noto Sans KR","Noto Sans Kaithi","Noto Sans Kannada","Noto Sans Kayah Li","Noto Sans Kharoshthi","Noto Sans Khmer","Noto Sans Khojki","Noto Sans Khudawadi","Noto Sans Lao","Noto Sans Lepcha","Noto Sans Limbu","Noto Sans Linear A","Noto Sans Linear B","Noto Sans Lisu","Noto Sans Lycian","Noto Sans Lydian","Noto Sans Mahajani","Noto Sans Malayalam","Noto Sans Mandaic","Noto Sans Manichaean","Noto Sans Marchen","Noto Sans Masaram Gondi","Noto Sans Math","Noto Sans Mayan Numerals","Noto Sans Medefaidrin","Noto Sans Meetei Mayek","Noto Sans Meroitic","Noto Sans Miao","Noto Sans Modi","Noto Sans Mongolian","Noto Sans Mono","Noto Sans Mro","Noto Sans Multani","Noto Sans Myanmar","Noto Sans N Ko","Noto Sans Nabataean","Noto Sans New Tai Lue","Noto Sans Newa","Noto Sans Nushu","Noto Sans Ogham","Noto Sans Ol Chiki","Noto Sans Old Hungarian","Noto Sans Old Italic","Noto Sans Old North Arabian","Noto Sans Old Permic","Noto Sans Old Persian","Noto Sans Old Sogdian","Noto Sans Old South Arabian","Noto Sans Old Turkic","Noto Sans Oriya","Noto Sans Osage","Noto Sans Osmanya","Noto Sans Pahawh Hmong","Noto Sans Palmyrene","Noto Sans Pau Cin Hau","Noto Sans Phags Pa","Noto Sans Phoenician","Noto Sans Psalter Pahlavi","Noto Sans Rejang","Noto Sans Runic","Noto Sans SC","Noto Sans Samaritan","Noto Sans Saurashtra","Noto Sans Sharada","Noto Sans Shavian","Noto Sans Siddham","Noto Sans Sinhala","Noto Sans Sogdian","Noto Sans Sora Sompeng","Noto Sans Soyombo","Noto Sans Sundanese","Noto Sans Syloti Nagri","Noto Sans Symbols","Noto Sans Symbols 2","Noto Sans Syriac","Noto Sans TC","Noto Sans Tagalog","Noto Sans Tagbanwa","Noto Sans Tai Le","Noto Sans Tai Tham","Noto Sans Tai Viet","Noto Sans Takri","Noto Sans Tamil","Noto Sans Tamil Supplement","Noto Sans Telugu","Noto Sans Thaana","Noto Sans Thai","Noto Sans Thai Looped","Noto Sans Tifinagh","Noto Sans Tirhuta","Noto Sans Ugaritic","Noto Sans Vai","Noto Sans Wancho","Noto Sans Warang Citi","Noto Sans Yi","Noto Sans Zanabazar Square","Noto Serif","Noto Serif Ahom","Noto Serif Armenian","Noto Serif Balinese","Noto Serif Bengali","Noto Serif Devanagari","Noto Serif Display","Noto Serif Dogra","Noto Serif Ethiopic","Noto Serif Georgian","Noto Serif Grantha","Noto Serif Gujarati","Noto Serif Gurmukhi","Noto Serif Hebrew","Noto Serif JP","Noto Serif KR","Noto Serif Kannada","Noto Serif Khmer","Noto Serif Lao","Noto Serif Malayalam","Noto Serif Myanmar","Noto Serif Nyiakeng Puachue Hmong","Noto Serif SC","Noto Serif Sinhala","Noto Serif TC","Noto Serif Tamil","Noto Serif Tangut","Noto Serif Telugu","Noto Serif Thai","Noto Serif Tibetan","Noto Serif Yezidi","Noto Traditional Nushu","Nova Cut","Nova Flat","Nova Mono","Nova Oval","Nova Round","Nova Script","Nova Slim","Nova Square","Numans","Nunito","Nunito Sans","Odibee Sans","Odor Mean Chey","Offside","Oi","Old Standard TT","Oldenburg","Ole","Oleo Script","Oleo Script Swash Caps","Oooh Baby","Open Sans","Open Sans Condensed","Oranienbaum","Orbitron","Oregano","Orelega One","Orienta","Original Surfer","Oswald","Otomanopee One","Outfit","Over the Rainbow","Overlock","Overlock SC","Overpass","Overpass Mono","Ovo","Oxanium","Oxygen","Oxygen Mono","PT Mono","PT Sans","PT Sans Caption","PT Sans Narrow","PT Serif","PT Serif Caption","Pacifico","Padauk","Palanquin","Palanquin Dark","Palette Mosaic","Pangolin","Paprika","Parisienne","Passero One","Passion One","Passions Conflict","Pathway Gothic One","Patrick Hand","Patrick Hand SC","Pattaya","Patua One","Pavanam","Paytone One","Peddana","Peralta","Permanent Marker","Petemoss","Petit Formal Script","Petrona","Philosopher","Piazzolla","Piedra","Pinyon Script","Pirata One","Plaster","Play","Playball","Playfair Display","Playfair Display SC","Podkova","Poiret One","Poller One","Poly","Pompiere","Pontano Sans","Poor Story","Poppins","Port Lligat Sans","Port Lligat Slab","Potta One","Pragati Narrow","Praise","Prata","Preahvihear","Press Start 2P","Pridi","Princess Sofia","Prociono","Prompt","Prosto One","Proza Libre","Public Sans","Puppies Play","Puritan","Purple Purse","Pushster","Qahiri","Quando","Quantico","Quattrocento","Quattrocento Sans","Questrial","Quicksand","Quintessential","Qwigley","Qwitcher Grypen","Racing Sans One","Radley","Rajdhani","Rakkas","Raleway","Raleway Dots","Ramabhadra","Ramaraja","Rambla","Rammetto One","Rampart One","Ranchers","Rancho","Ranga","Rasa","Rationale","Ravi Prakash","Readex Pro","Recursive","Red Hat Display","Red Hat Mono","Red Hat Text","Red Rose","Redacted","Redacted Script","Redressed","Reem Kufi","Reenie Beanie","Reggae One","Revalia","Rhodium Libre","Ribeye","Ribeye Marrow","Righteous","Risque","Road Rage","Roboto","Roboto Condensed","Roboto Mono","Roboto Slab","Rochester","Rock 3D","Rock Salt","RocknRoll One","Rokkitt","Romanesco","Ropa Sans","Rosario","Rosarivo","Rouge Script","Rowdies","Rozha One","Rubik","Rubik Beastly","Rubik Mono One","Ruda","Rufina","Ruge Boogie","Ruluko","Rum Raisin","Ruslan Display","Russo One","Ruthie","Rye","STIX Two Text","Sacramento","Sahitya","Sail","Saira","Saira Condensed","Saira Extra Condensed","Saira Semi Condensed","Saira Stencil One","Salsa","Sanchez","Sancreek","Sansita","Sansita Swashed","Sarabun","Sarala","Sarina","Sarpanch","Sassy Frass","Satisfy","Sawarabi Gothic","Sawarabi Mincho","Scada","Scheherazade New","Schoolbell","Scope One","Seaweed Script","Secular One","Sedgwick Ave","Sedgwick Ave Display","Sen","Sevillana","Seymour One","Shadows Into Light","Shadows Into Light Two","Shalimar","Shanti","Share","Share Tech","Share Tech Mono","Shippori Antique","Shippori Antique B1","Shippori Mincho","Shippori Mincho B1","Shizuru","Shojumaru","Short Stack","Shrikhand","Siemreap","Sigmar One","Signika","Signika Negative","Simonetta","Single Day","Sintony","Sirin Stencil","Six Caps","Skranji","Slabo 13px","Slabo 27px","Slackey","Smokum","Smooch","Smythe","Sniglet","Snippet","Snowburst One","Sofadi One","Sofia","Solway","Song Myung","Sonsie One","Sora","Sorts Mill Goudy","Source Code Pro","Source Sans 3","Source Sans Pro","Source Serif 4","Source Serif Pro","Space Grotesk","Space Mono","Spartan","Special Elite","Spectral","Spectral SC","Spicy Rice","Spinnaker","Spirax","Spline Sans","Squada One","Sree Krushnadevaraya","Sriracha","Srisakdi","Staatliches","Stalemate","Stalinist One","Stardos Stencil","Stick","Stick No Bills","Stint Ultra Condensed","Stint Ultra Expanded","Stoke","Strait","Style Script","Stylish","Sue Ellen Francisco","Suez One","Sulphur Point","Sumana","Sunflower","Sunshiney","Supermercado One","Sura","Suranna","Suravaram","Suwannaphum","Swanky and Moo Moo","Syncopate","Syne","Syne Mono","Syne Tactile","Tajawal","Tangerine","Taprom","Tauri","Taviraj","Teko","Telex","Tenali Ramakrishna","Tenor Sans","Text Me One","Texturina","Thasadith","The Girl Next Door","The Nautigal","Tienne","Tillana","Timmana","Tinos","Titan One","Titillium Web","Tomorrow","Tourney","Trade Winds","Train One","Trirong","Trispace","Trocchi","Trochut","Truculenta","Trykker","Tulpen One","Turret Road","Twinkle Star","Ubuntu","Ubuntu Condensed","Ubuntu Mono","Uchen","Ultra","Uncial Antiqua","Underdog","Unica One","UnifrakturCook","UnifrakturMaguntia","Unkempt","Unlock","Unna","Urbanist","VT323","Vampiro One","Varela","Varela Round","Varta","Vast Shadow","Vesper Libre","Viaoda Libre","Vibes","Vibur","Vidaloka","Viga","Voces","Volkhov","Vollkorn","Vollkorn SC","Voltaire","Vujahday Script","Waiting for the Sunrise","Wallpoet","Walter Turncoat","Warnes","Waterfall","Wellfleet","Wendy One","WindSong","Wire One","Work Sans","Xanh Mono","Yaldevi","Yanone Kaffeesatz","Yantramanav","Yatra One","Yellowtail","Yeon Sung","Yeseva One","Yesteryear","Yomogi","Yrsa","Yuji Boku","Yuji Hentaigana Akari","Yuji Hentaigana Akebono","Yuji Mai","Yuji Syuku","Yusei Magic","ZCOOL KuaiLe","ZCOOL QingKe HuangYou","ZCOOL XiaoWei","Zen Antique","Zen Antique Soft","Zen Dots","Zen Kaku Gothic Antique","Zen Kaku Gothic New","Zen Kurenaido","Zen Loop","Zen Maru Gothic","Zen Old Mincho","Zen Tokyo Zoo","Zeyada","Zhi Mang Xing","Zilla Slab","Zilla Slab Highlight"],"popularity":["Roboto","Open Sans","Noto Sans JP","Lato","Montserrat","Roboto Condensed","Source Sans Pro","Poppins","Oswald","Roboto Mono","Raleway","Noto Sans","Nunito","Ubuntu","PT Sans","Merriweather","Roboto Slab","Playfair Display","Inter","Mukta","Rubik","Open Sans Condensed","Lora","Noto Sans KR","Work Sans","Nunito Sans","Nanum Gothic","Fira Sans","PT Serif","Quicksand","Titillium Web","Hind Siliguri","Noto Serif","Karla","Barlow","Noto Sans TC","Inconsolata","Heebo","IBM Plex Sans","Libre Franklin","PT Sans Narrow","Libre Baskerville","Oxygen","Source Code Pro","Arimo","Dosis","Josefin Sans","Bebas Neue","Mulish","Cabin","Lobster","Bitter","EB Garamond","Anton","DM Sans","Dancing Script","Source Serif Pro","Prompt","Cairo","Yanone Kaffeesatz","Varela Round","Hind","Abel","Kanit","Barlow Condensed","Fjalla One","Comfortaa","Arvo","Exo 2","Pacifico","Overpass","Maven Pro","Teko","Merriweather Sans","Shadows Into Light","Asap","Indie Flower","Signika Negative","Noto Sans SC","Abril Fatface","Rajdhani","Architects Daughter","Hind Madurai","Questrial","Cormorant Garamond","Saira Condensed","Slabo 27px","Noto Serif JP","IBM Plex Serif","Assistant","Caveat","Fira Sans Condensed","Catamaran","Manrope","Permanent Marker","Balsamiq Sans","Nanum Myeongjo","Exo","Ubuntu Mono","Tajawal","Padauk","Archivo","Patrick Hand","Archivo Narrow","Domine","Satisfy","Secular One","Play","Zilla Slab","Acme","M PLUS Rounded 1c","ABeeZee","Alfa Slab One","Spartan","Public Sans","Bree Serif","Signika","Amatic SC","Noto Sans Display","Gloria Hallelujah","Jost","Patua One","Barlow Semi Condensed","Staatliches","Crete Round","Righteous","Sarabun","Vollkorn","Fredoka One","Red Hat Display","Cinzel","Eczar","Martel","Cookie","Chakra Petch","Alegreya Sans","Yantramanav","Space Mono","Antic Slab","Amiri","Courgette","Space Grotesk","Almarai","M PLUS 1p","Lobster Two","IBM Plex Mono","Great Vibes","PT Sans Caption","Ubuntu Condensed","Tinos","Alegreya","Didact Gothic","Encode Sans","Gothic A1","Prata","DM Serif Display","Russo One","Kaushan Script","Montserrat Alternates","Archivo Black","Frank Ruhl Libre","Spectral","Noticia Text","Cardo","Francois One","Parisienne","Old Standard TT","Baloo 2","Kalam","Passion One","Noto Kufi Arabic","Changa","Sacramento","Asap Condensed","Crimson Pro","Rokkitt","Cantarell","Special Elite","Orbitron","Cormorant","Paytone One","Quattrocento Sans","Concert One","Cuprum","Saira","Pathway Gothic One","Luckiest Guy","Noto Serif TC","Volkhov","Chivo","Handlee","Josefin Slab","Khand","Ropa Sans","PT Mono","Faustina","Sawarabi Mincho","Titan One","Itim","Unna","Gelasio","News Cycle","Playfair Display SC","Philosopher","Quattrocento","Syncopate","Sanchez","Press Start 2P","Mitr","Poiret One","Alata","Vidaloka","Monda","Advent Pro","Bungee","Arima Madurai","Neuton","Playball","Viga","Noto Sans HK","Yeseva One","Ultra","Yellowtail","Taviraj","Saira Semi Condensed","Fira Sans Extra Condensed","Marcellus","Karma","Tangerine","Creepster","Bangers","Noto Serif KR","Sigmar One","Hammersmith One","Sora","Aleo","Lusitana","Alice","Actor","Gochi Hand","El Messiri","Arapey","Istok Web","Sawarabi Gothic","Mali","Neucha","Gudea","Merienda","Nanum Gothic Coding","DM Serif Text","Ruda","Fugaz One","Homemade Apple","Nanum Pen Script","Adamina","Jura","Allura","Carter One","Recursive","Cabin Condensed","Lilita One","BenchNine","Bai Jamjuree","Hind Vadodara","Lexend Deca","Marck Script","Noto Serif SC","Amaranth","Economica","Unica One","Alef","Pragati Narrow","Palanquin","Gentium Basic","Mukta Malar","Khula","Julius Sans One","IM Fell English SC","Sen","Rock Salt","Armata","Monoton","Ramabhadra","Abhaya Libre","Nothing You Could Do","Alex Brush","Audiowide","Gentium Book Basic","Pontano Sans","Tenor Sans","Gruppo","Bad Script","Allerta","Courier Prime","Share Tech Mono","Cousine","Aclonica","Reenie Beanie","Pangolin","Electrolize","Varela","Fira Code","Kosugi Maru","Rufina","Sorts Mill Goudy","Commissioner","Sarala","Oleo Script","Black Ops One","Arsenal","Mate SC","Martel Sans","Mandali","Rubik Mono One","Red Hat Text","Sriracha","Damion","Forum","Shadows Into Light Two","Cantata One","Coda","Suez One","Lalezar","Quantico","Fira Mono","Krub","Bubblegum Sans","Basic","Black Han Sans","IBM Plex Sans Condensed","Mr Dafoe","Changa One","Italianno","Michroma","Laila","Markazi Text","Mada","Annie Use Your Telescope","Literata","Boogaloo","Jaldi","Sintony","Average","Days One","Six Caps","Rasa","Overlock","Caveat Brush","Overpass Mono","Lexend","Spinnaker","Pinyon Script","Berkshire Swash","Yrsa","Niramit","Arizonia","Alegreya Sans SC","Chewy","Bodoni Moda","Encode Sans Condensed","Antic","Candal","Fredericka the Great","Blinker","Rancho","Judson","Voltaire","Shrikhand","Norican","Harmattan","Pridi","Glegoo","Sansita","Corben","Kreon","Lemonada","Stint Ultra Condensed","Squada One","Kameron","Enriqueta","Noto Naskh Arabic","Anonymous Pro","Lateef","Belgrano","Reem Kufi","VT323","Hind Guntur","Londrina Solid","PT Serif Caption","Bowlby One SC","Bevan","Darker Grotesque","Aldrich","Telex","Knewave","Cabin Sketch","Palanquin Dark","Covered By Your Grace","Charm","Niconne","Leckerli One","Allerta Stencil","Coming Soon","Arbutus Slab","Graduate","GFS Didot","Castoro","Mrs Saint Delafield","Baskervville","Holtwood One SC","Rozha One","Herr Von Muellerhoff","Saira Extra Condensed","Libre Caslon Text","Mate","Grand Hotel","Trocchi","Cinzel Decorative","Syne","Scada","Just Another Hand","Racing Sans One","Gilda Display","Capriola","Amita","Trirong","Caudex","Epilogue","Noto Sans Devanagari","Bowlby One","Alike","Magra","Rambla","Kristi","Share","Rye","Alike Angular","Nanum Brush Script","Jua","Delius","Rochester","Alatsi","Lustria","Athiti","Mukta Vaani","Copse","Oranienbaum","Coustard","Biryani","Yesteryear","Marcellus SC","Alegreya SC","K2D","Miriam Libre","Amethysta","Skranji","Gugi","Krona One","Noto Sans Tamil","Comic Neue","Nobile","Convergence","Nixie One","Pattaya","Carme","Seaweed Script","Contrail One","Suranna","Fauna One","Sunflower","Average Sans","Petit Formal Script","Cedarville Cursive","Podkova","Belleza","Bungee Inline","NTR","Big Shoulders Display","JetBrains Mono","Halant","Do Hyeon","Baloo Tamma 2","Averia Serif Libre","Amiko","Allan","Aladin","Outfit","Carrois Gothic","BioRhyme","Maitree","Cormorant Infant","Georama","Kumbh Sans","Calligraffitti","Ovo","Hanuman","Mountains of Christmas","Libre Barcode 39","Wallpoet","Merienda One","Mr De Haviland","Sofia","La Belle Aurore","Antonio","Marmelad","Molengo","Stardos Stencil","Encode Sans Semi Condensed","Slabo 13px","Spectral SC","Rosario","Jockey One","Cutive Mono","Qwigley","Rammetto One","STIX Two Text","Metrophobic","Mansalva","Grandstander","Hi Melody","Oxygen Mono","Schoolbell","Monsieur La Doulaise","Kosugi","Raleway Dots","Radley","David Libre","Bellefair","Oxanium","Esteban","Short Stack","Duru Sans","Dela Gothic One","Manjari","Thasadith","Averia Libre","Kelly Slab","Marvel","Cambay","Baloo Da 2","Chonburi","Sniglet","IM Fell DW Pica","Poly","Mallanna","Calistoga","Cambo","B612 Mono","Farro","Bentham","Kurale","Atkinson Hyperlegible","Hepta Slab","Proza Libre","Shippori Mincho","Lemon","Dawning of a New Day","Gabriela","Poller One","IM Fell English","Noto Serif Display","Andika","Chelsea Market","UnifrakturMaguntia","Oregano","Expletus Sans","Zeyada","Coda Caption","Goudy Bookletter 1911","ZCOOL QingKe HuangYou","Mirza","Bungee Shade","Cutive","Fanwood Text","Noto Sans Malayalam","Montez","Noto Sans Mandaic","Limelight","Emilys Candy","Cormorant SC","Nova Mono","Oleo Script Swash Caps","Noto Sans Thai","Megrim","IM Fell Double Pica","Waiting for the Sunrise","Love Ya Like A Sister","Quando","Fahkwang","Buenard","Tillana","Brawler","Rouge Script","Sue Ellen Francisco","Urbanist","Grenze Gotisch","Katibeh","Pompiere","Give You Glory","Happy Monkey","Finger Paint","Gravitas One","Irish Grover","Turret Road","McLaren","Source Sans 3","Kadwa","Original Surfer","Azeret Mono","Clicker Script","ZCOOL XiaoWei","Henny Penny","Over the Rainbow","Inknut Antiqua","Euphoria Script","Sarpanch","Nova Round","Homenaje","Ceviche One","Piazzolla","Inder","Ranchers","Della Respira","Dokdo","Gurajada","Galada","Noto Sans Hebrew","Timmana","Sedgwick Ave","Freckle Face","Patrick Hand SC","Praise","Atma","Major Mono Display","Trykker","Vast Shadow","Livvic","Mochiy Pop One","Aguafina Script","Vollkorn SC","Big Shoulders Text","Mukta Mahee","DM Mono","Rakkas","Fondamento","Noto Sans Kannada","Antic Didone","Cormorant Upright","Noto Sans Bengali","Tenali Ramakrishna","Share Tech","Baloo Thambi 2","Anaheim","Battambang","Doppio One","Vesper Libre","Meddon","Noto Sans Telugu","Federo","Tienne","Baumans","Road Rage","Geo","Mouse Memoirs","Faster One","Unkempt","Codystar","Chau Philomene One","Ma Shan Zheng","Metamorphous","Sail","Averia Sans Libre","Kiwi Maru","Peralta","Yatra One","Bellota Text","Reggae One","Ledger","B612","Lekton","Walter Turncoat","Caladea","Aref Ruqaa","Goblin One","Frijole","Baloo Chettan 2","Balthazar","Noto Sans Oriya","Flamenco","Prosto One","Cherry Cream Soda","Notable","Odibee Sans","Montserrat Subrayada","Italiana","Fraunces","Readex Pro","Headland One","Crafty Girls","Shojumaru","Arya","Bilbo Swash Caps","Varta","Eater","Meera Inimai","Numans","Coiny","Strait","Lexend Zetta","Orienta","Cherry Swash","Wendy One","Elsie","Noto Sans Gujarati","Newsreader","Noto Sans Gurmukhi","Loved by the King","Port Lligat Sans","Fjord One","Montaga","Imprima","Mohave","Shippori Mincho B1","Baloo Tammudu 2","Port Lligat Slab","Salsa","RocknRoll One","Amarante","Encode Sans Expanded","Sansita Swashed","Shalimar","MonteCarlo","Trade Winds","Stalemate","Style Script","Iceland","Ranga","Baloo Paaji 2","Mako","Carrois Gothic SC","Delius Swash Caps","Spicy Rice","Shanti","Fresca","Mina","Artifika","The Girl Next Door","Just Me Again Down Here","Bilbo","Pavanam","Englebert","Life Savers","Scope One","Averia Gruesa Libre","Yusei Magic","Wire One","Charmonman","Gaegu","Bakbak One","Lily Script One","Kodchasan","Asul","Baloo Bhai 2","Nova Square","Libre Barcode 39 Text","Bubbler One","Gafata","KoHo","Dynalight","Solway","Goldman","Voces","Ruslan Display","Delius Unicase","Big Shoulders Stencil Text","Cormorant Unicase","Festive","Corinthia","Overlock SC","Puritan","Medula One","Encode Sans Semi Expanded","Vibur","UnifrakturCook","Slackey","Noto Sans Sinhala","Cantora One","Tauri","Engagement","League Script","Baloo Bhaina 2","Ibarra Real Nova","MuseoModerno","Denk One","Poor Story","Akaya Kanadaka","Kite One","Chango","Milonga","Manuale","Sarina","Song Myung","Buda","Almendra","Macondo Swash Caps","Germania One","Libre Barcode 39 Extended Text","Besley","Modak","Stoke","Kranky","Paprika","MedievalSharp","IM Fell French Canon","Habibi","Sonsie One","Yeon Sung","Lovers Quarrel","Nova Flat","Gamja Flower","DotGothic16","Akaya Telivigala","Libre Barcode 128","Kulim Park","Tomorrow","Allison","Bellota","Ribeye","Redacted","Mystery Quest","Saira Stencil One","Ramaraja","Zilla Slab Highlight","Fontdiner Swanky","Libre Caslon Display","Cute Font","Julee","Sulphur Point","Prociono","Ephesis","ZCOOL KuaiLe","Margarine","Londrina Outline","Khmer","Farsan","Iceberg","Lexend Exa","Asar","Inika","Uncial Antiqua","Nokora","Rosarivo","Dekko","Lakki Reddy","Sumana","Stint Ultra Expanded","Meie Script","Fenix","Kufam","Croissant One","Donegal One","Vampiro One","Chicle","Rationale","Fuzzy Bubbles","IM Fell French Canon SC","Single Day","New Rocker","Text Me One","Pirata One","Condiment","Autour One","Sree Krushnadevaraya","Jomhuria","Andika New Basic","Cagliostro","Simonetta","Akronim","Ruluko","Petrona","Kotta One","IBM Plex Sans Thai","Crushed","Sancreek","Gayathri","Glory","Rowdies","Noto Sans Arabic","Angkor","Potta One","Quintessential","Rum Raisin","Swanky and Moo Moo","Stylish","Be Vietnam Pro","Nosifer","Hachi Maru Pop","Offside","Piedra","Redacted Script","Kumar One","Kavivanar","Chilanka","Eagle Lake","Big Shoulders Stencil Display","Griffy","Wellfleet","Underdog","Inria Serif","Moul","Asset","East Sea Dokdo","Londrina Shadow","IM Fell Great Primer","Ruthie","Bigelow Rules","Zen Dots","Scheherazade New","Gemunu Libre","Junge","IM Fell DW Pica SC","Sura","Princess Sofia","Barriecito","Ruge Boogie","Tulpen One","Miniver","Felipa","Dorsa","Sirin Stencil","Noto Nastaliq Urdu","Risque","Gotu","Elsie Swash Caps","Tourney","Barrio","Yaldevi","Gorditas","WindSong","Kantumruy","Marko One","Modern Antiqua","Noto Sans Mono","Spirax","Chathura","Content","Redressed","Combo","Sahitya","Monofett","Bayon","Maiden Orange","Red Rose","Mogra","Mrs Sheppards","Arbutus","Jomolhari","Kavoon","Ravi Prakash","Linden Hill","Ribeye Marrow","Kumar One Outline","Brygada 1918","Lexend Mega","Joti One","Rhodium Libre","Molle","Metal Mania","Beth Ellen","Diplomata SC","Lancelot","Romanesco","Fascinate Inline","Diplomata","Stick","Black And White Picture","Almendra SC","Noto Serif Bengali","Devonshire","Lexend Giga","Glass Antiqua","Libre Barcode 39 Extended","Viaoda Libre","Jolly Lodger","Galdeano","Bigshot One","Kaisei Tokumin","Inria Sans","Zen Old Mincho","Libre Barcode 128 Text","Jim Nightshade","Girassol","Caesar Dressing","Atomic Age","Luxurious Script","Baloo Bhaijaan 2","Galindo","Orelega One","Peddana","Revalia","Smythe","Koulen","Londrina Sketch","Dangrek","Srisakdi","Jacques Francois Shadow","Train One","GFS Neohellenic","Ewert","Noto Sans Myanmar","Plaster","Kirang Haerang","Keania One","Gupter","Bona Nova","Zen Maru Gothic","Bahiana","Purple Purse","IM Fell Great Primer SC","Kaisei Decol","Bungee Outline","Hanalei Fill","Miss Fajardose","Grenze","Odor Mean Chey","Trochut","Unlock","Chela One","Oldenburg","Sunshiney","Federant","Dr Sugiyama","Lexend Tera","Zen Kaku Gothic New","Snippet","Smooch","Nova Slim","Yomogi","Jacques Francois","Montagu Slab","Metal","Noto Sans Georgian","Zhi Mang Xing","Emblema One","Flavors","Macondo","Texturina","Kdam Thmor","Kaisei Opti","Meow Script","Noto Sans Armenian","Fascinate","Mr Bedfort","Syne Mono","Rampart One","Almendra Display","Vibes","Fuggles","Zen Kaku Gothic Antique","Klee One","Butterfly Kids","Truculenta","Nerko One","Gowun Batang","Siemreap","Smokum","Bahianita","Erica One","Sedgwick Ave Display","Freehand","Passero One","Fruktur","Noto Sans Symbols","Suwannaphum","Gwendolyn","Sevillana","Seymour One","Hina Mincho","IM Fell Double Pica SC","Otomanopee One","Stalinist One","Bokor","Kaisei HarunoUmi","Bonbon","Liu Jian Mao Cao","Preahvihear","Bungee Hairline","Lacquer","IBM Plex Sans Arabic","Snowburst One","Hanalei","Miltonian Tattoo","Zen Loop","Comforter","Gidugu","Ballet","Hahmlet","Chenla","Miltonian","IBM Plex Sans KR","Karantina","Butcherman","Zen Antique","Astloch","Supermercado One","Murecho","Benne","Nova Script","New Tegomin","Aubrey","Taprom","BioRhyme Expanded","Birthstone","Nova Oval","Long Cang","Nova Cut","Stick No Bills","Moulpali","Sofadi One","Shippori Antique","Gluten","Noto Sans Gothic","Geostar Fill","Zen Antique Soft","Suravaram","Petemoss","Alumni Sans","Bonheur Royale","Birthstone Bounce","Andada Pro","Carattere","Noto Serif Malayalam","Comforter Brush","Dhurjati","Imbue","Mochiy Pop P One","Xanh Mono","Zen Kurenaido","Encode Sans SC","Fasthand","Langar","Estonia","Palette Mosaic","Gowun Dodum","Lexend Peta","Big Shoulders Inline Text","Genos","Libre Barcode EAN13 Text","Kenia","Zen Tokyo Zoo","Geostar","Noto Serif Tamil","M PLUS 1","Trispace","Grechen Fuemen","Noto Sans Tamil Supplement","Warnes","Qahiri","M PLUS 1 Code","Cherish","Are You Serious","Kings","M PLUS 2","Flow Circular","Yuji Syuku","Rubik Beastly","Fleur De Leah","Big Shoulders Inline Display","Hurricane","Syne Tactile","IBM Plex Sans Thai Looped","Flow Rounded","Flow Block","Oi","Grey Qo","Yuji Boku","Dongle","Puppies Play","Passions Conflict","Sassy Frass","Yuji Mai","Koh Santepheap","Gideon Roman","Shippori Antique B1","Explora","Caramel","IBM Plex Sans Hebrew","IBM Plex Sans Devanagari","Noto Sans Coptic","M PLUS Code Latin","Noto Serif Georgian","Noto Serif Sinhala","Noto Sans Lao","Noto Sans Tai Viet","Noto Serif Thai","Red Hat Mono","Uchen","Noto Sans Khmer","Noto Sans Deseret","Noto Serif Armenian","Noto Sans Symbols 2","Noto Sans Caucasian Albanian","Noto Sans Javanese","Noto Serif Khmer","Noto Serif Ethiopic","Noto Sans Brahmi","Noto Sans Thai Looped","Noto Serif Devanagari","Noto Serif Lao","Noto Sans Cherokee","Noto Sans Cypriot","Noto Sans Imperial Aramaic","Noto Sans Tagalog","Noto Sans Old Hungarian","Noto Serif Hebrew","Noto Sans Cham","Noto Sans Thaana","Noto Serif Gujarati","Noto Sans Ol Chiki","Noto Sans Old Turkic","Noto Serif Kannada","Noto Rashi Hebrew","Noto Serif Myanmar","Noto Serif Yezidi","Noto Serif Gurmukhi","Noto Serif Tibetan","Noto Music","Noto Sans Carian","Noto Sans Canadian Aboriginal","Noto Serif Telugu","Noto Sans Tifinagh","Noto Sans Tai Le","Noto Sans Meetei Mayek","Noto Sans Osmanya","Noto Sans Tai Tham","Noto Sans Balinese","Noto Sans Saurashtra","Noto Sans Sora Sompeng","Noto Sans Old Italic","Noto Serif Nyiakeng Puachue Hmong","Noto Sans Mongolian","Noto Sans Adlam Unjoined","Noto Sans Sundanese","Noto Sans Grantha","Noto Sans Anatolian Hieroglyphs","Noto Sans Adlam","Noto Sans Inscriptional Parthian","Noto Sans Medefaidrin","Noto Sans Bamum","Noto Sans Hanifi Rohingya","Noto Sans Kayah Li","Noto Serif Dogra","Noto Sans Egyptian Hieroglyphs","Noto Sans Lisu","Noto Sans Inscriptional Pahlavi","Noto Sans Linear B","Noto Sans Yi","Noto Serif Balinese","Noto Sans Samaritan","Noto Sans Hanunoo","Noto Sans Syriac","Noto Sans Old South Arabian","Noto Sans Phoenician","Noto Sans Kaithi","Noto Sans Math","Noto Serif Grantha","Noto Sans Old Persian","Noto Sans Old North Arabian","Noto Sans Cuneiform","Noto Serif Tangut","Noto Serif Ahom","Noto Sans Batak","Noto Sans Runic","Noto Sans New Tai Lue","Noto Sans Avestan","Noto Sans Mayan Numerals","Noto Sans Mahajani","Noto Sans Buginese","Noto Sans Tirhuta","Noto Sans Palmyrene","Noto Sans Zanabazar Square","Noto Sans Limbu","Noto Sans Elbasan","Noto Sans Tagbanwa","Noto Sans Old Permic","Noto Sans Newa","Noto Sans Rejang","Noto Sans Syloti Nagri","Noto Sans Gunjala Gondi","Noto Sans Khudawadi","Noto Sans Kharoshthi","Noto Sans Marchen","Noto Sans Khojki","Noto Sans Modi","Noto Sans Masaram Gondi","Noto Sans Indic Siyaq Numbers","Noto Sans Lycian","Noto Sans Linear A","Noto Sans Phags Pa","Noto Sans Psalter Pahlavi","Noto Sans Pau Cin Hau","Noto Sans Duployan","Noto Sans Old Sogdian","Noto Sans Osage","Noto Sans Sogdian","Noto Sans Nabataean","Noto Sans Siddham","Noto Sans Bhaiksuki","Noto Sans Elymaic","Noto Sans Multani","Noto Sans Ugaritic","Noto Sans Chakma","Noto Sans Pahawh Hmong","Noto Sans Warang Citi","Noto Sans Mro","Noto Sans Meroitic","Noto Sans Sharada","Noto Sans Miao","Noto Sans Vai","Noto Sans Glagolitic","Noto Traditional Nushu","Noto Sans Hatran","Noto Sans Lepcha","Noto Sans Nushu","Noto Sans Bassa Vah","Noto Sans Ogham","Noto Sans Shavian","Noto Sans Lydian","Noto Sans N Ko","Noto Sans Takri","Noto Sans Buhid","Noto Sans Manichaean","Noto Sans Wancho","Noto Sans Soyombo","Yuji Hentaigana Akebono","Moo Lah Lah","Licorice","Inspiration","Island Moments","Waterfall","Oooh Baby","Yuji Hentaigana Akari","Ole","Mea Culpa","Moon Dance","Qwitcher Grypen","Source Serif 4","Rock 3D","Love Light","Shizuru","Spline Sans","Luxurious Roman","The Nautigal","Vujahday Script","Twinkle Star","Pushster","Imperial Script","Kolker Brush"],"trending":["Bakbak One","Source Sans 3","Noto Sans Display","Readex Pro","Redacted","Corinthia","Redacted Script","Shalimar","Luxurious Script","Fuzzy Bubbles","Baloo Bhaijaan 2","Mohave","Smooch","Meow Script","Murecho","Gwendolyn","IBM Plex Sans Thai","Ubuntu Mono","Noto Serif Malayalam","Piazzolla","MonteCarlo","Outfit","Noto Sans Mono","Festive","Harmattan","Noto Serif Bengali","Noto Sans Mandaic","Palette Mosaic","Sansita Swashed","Big Shoulders Stencil Text","Dela Gothic One","Short Stack","Noto Sans Caucasian Albanian","Creepster","Single Day","Mansalva","Noto Sans Symbols 2","Titan One","Staatliches","Varta","Yaldevi","Calistoga","Orelega One","Archivo","Combo","Mountains of Christmas","Itim","Noto Sans Georgian","Francois One","Akaya Telivigala","Gloria Hallelujah","Akaya Kanadaka","Syne Mono","Overlock SC","Syne Tactile","Zen Maru Gothic","Meie Script","Princess Sofia","Bungee","Handlee","Asset","Noto Sans Old Hungarian","Laila","Elsie","Noto Sans Tai Le","Baloo Da 2","Trochut","Baloo Bhai 2","Sunshiney","Black And White Picture","Port Lligat Sans","Fira Code","Port Lligat Slab","Fugaz One","Secular One","Bubbler One","Sevillana","Paytone One","Tomorrow","Spicy Rice","Newsreader","Kaisei Decol","Atkinson Hyperlegible","Noto Sans Saurashtra","Grand Hotel","Ibarra Real Nova","Eczar","Azeret Mono","Buda","STIX Two Text","Trispace","Glory","IBM Plex Sans KR","Mitr","Vampiro One","Rajdhani","Kufam","Clicker Script","Antonio","Balsamiq Sans","Fjord One","Fahkwang","Mochiy Pop One","Birthstone Bounce","Truculenta","Noto Sans Coptic","Purple Purse","Geo","Zen Loop","Ruge Boogie","Chango","Averia Sans Libre","Strait","Hahmlet","Noto Serif Georgian","Noto Sans Bengali","Elsie Swash Caps","McLaren","Libre Barcode 39 Extended","Saira Condensed","Raleway Dots","Cherry Swash","Lexend","Architects Daughter","Solway","Risque","Trocchi","Vibes","Train One","Inika","Praise","Viga","Bowlby One","Gowun Batang","Trirong","Poor Story","Stalemate","Birthstone","Noto Sans Devanagari","Nanum Myeongjo","Telex","Arima Madurai","Gochi Hand","Noto Sans Math","Nerko One","Noto Sans Tai Tham","Bigelow Rules","Ramabhadra","Reenie Beanie","Spectral SC","Commissioner","Euphoria Script","Noto Serif KR","GFS Didot","Noto Serif Kannada","Bai Jamjuree","Nova Script","Headland One","Shippori Mincho B1","Space Grotesk","Stint Ultra Condensed","Gemunu Libre","Mrs Saint Delafield","Satisfy","Cambo","Noto Sans Thai Looped","Hina Mincho","Kurale","Noto Sans Yi","Junge","Felipa","Macondo Swash Caps","Noto Serif Devanagari","Noto Sans Samaritan","Coustard","Fascinate Inline","Kaisei HarunoUmi","Molengo","Preahvihear","Lily Script One","Zen Tokyo Zoo","BioRhyme Expanded","Noto Serif Display","Noto Sans Cham","Iceland","Oleo Script Swash Caps","Shippori Mincho","Rowdies","Black Han Sans","Noto Sans Buginese","Federant","Baloo Tamma 2","Aguafina Script","Yeseva One","Noto Sans Syriac","Noto Sans Inscriptional Parthian","Diplomata SC","Mate","Noto Sans Hanifi Rohingya","Noto Sans Old North Arabian","Gothic A1","Gowun Dodum","IM Fell French Canon","Noto Sans Arabic","Noto Sans Newa","Noto Sans Mahajani","Noto Sans Medefaidrin","IBM Plex Sans Devanagari","Noto Sans Egyptian Hieroglyphs","Noto Sans Kayah Li","Noto Music","Yusei Magic","Imprima","Skranji","Noto Sans Old Sogdian","Noto Serif Telugu","Noto Sans Linear A","Ma Shan Zheng","Noto Sans Avestan","Noto Serif Gurmukhi","Noto Sans Tagbanwa","Almarai","Noto Sans Mayan Numerals","Noto Serif Myanmar","Noto Serif Nyiakeng Puachue Hmong","Noto Sans Masaram Gondi","Karantina","Noto Serif Grantha","Noto Sans Rejang","Noto Sans New Tai Lue","Noto Sans Syloti Nagri","Monsieur La Doulaise","Noto Sans Lydian","Sora","Eater","Oxanium","Noto Sans Zanabazar Square","Noto Sans Modi","Noto Sans Khudawadi","Style Script","Noto Sans Batak","Noto Sans Tirhuta","Noto Serif Dogra","Nova Oval","Noto Sans Tifinagh","Arbutus","Gugi","Noto Sans Phags Pa","Noto Sans Manichaean","Noto Sans Miao","Noto Sans Pahawh Hmong","Noto Sans Mro","Noto Sans Buhid","Noto Sans Bamum","Epilogue","Noto Sans Elbasan","Noto Sans Chakma","Noto Sans Sogdian","Noto Sans Hanunoo","Noto Sans Gunjala Gondi","Noto Sans Siddham","Noto Sans Ogham","Noto Sans Psalter Pahlavi","Over the Rainbow","Noto Sans Ugaritic","Noto Serif Tangut","Noto Sans Sora Sompeng","Noto Sans Elymaic","Noto Serif Ahom","Noto Sans Multani","Noto Sans Glagolitic","Noto Sans Osage","Herr Von Muellerhoff","Noto Sans Hatran","Noto Sans Marchen","Noto Sans Warang Citi","Noto Sans Takri","Special Elite","Petit Formal Script","Noto Traditional Nushu","Noto Sans Sharada","Sunflower","Germania One","Noto Sans Vai","Noto Sans Lepcha","Noto Sans Soyombo","Noto Serif Balinese","Noto Sans Nushu","Noto Sans Duployan","Lemon","BioRhyme","Noto Sans Tamil","Noto Serif Tibetan","Noto Sans Limbu","Wire One","Noto Sans Indic Siyaq Numbers","DM Mono","Noto Sans Meroitic","Noto Sans Shavian","Noto Serif Gujarati","Cute Font","Sonsie One","Noto Sans Adlam Unjoined","Noto Sans Palmyrene","Dhurjati","Noto Serif Hebrew","Noto Sans Inscriptional Pahlavi","Saira Stencil One","Libre Barcode 39 Text","Carattere","Suwannaphum","Plaster","Noto Sans Adlam","Vesper Libre","Noto Sans Hebrew","Timmana","Noto Sans Canadian Aboriginal","Noto Sans Khojki","Noto Sans Anatolian Hieroglyphs","Noto Sans Cherokee","Noto Sans Wancho","Arizonia","Michroma","Noto Rashi Hebrew","Noto Serif Lao","Noto Sans Carian","Baloo Paaji 2","Nova Flat","Inconsolata","Noto Sans Linear B","Baloo Chettan 2","WindSong","Faustina","Source Code Pro","Sanchez","Bodoni Moda","Days One","Peralta","Noto Sans Pau Cin Hau","Sedgwick Ave","Saira Semi Condensed","Niramit","Mada","Snowburst One","Charmonman","Nothing You Could Do","Qwigley","Julius Sans One","Noto Serif Ethiopic","Bayon","Croissant One","Bonbon","Road Rage","Uncial Antiqua","IBM Plex Sans Hebrew","Fanwood Text","Noto Sans Ol Chiki","Noto Sans Old Italic","Pompiere","Parisienne","Caveat Brush","Saira","Katibeh","Noto Sans Thaana","Bigshot One","Coming Soon","Aubrey","Space Mono","Noto Sans Sundanese","Noto Sans Cypriot","Noto Sans Mongolian","Noto Sans Kaithi","Noto Sans Khmer","Amiko","Potta One","Della Respira","Fraunces","Noto Sans Armenian","Rasa","Oregano","Tourney","Brygada 1918","Monda","Jim Nightshade","Public Sans","Flamenco","Ruthie","Noto Sans Old South Arabian","Lobster","Butterfly Kids","Archivo Narrow","Noto Kufi Arabic","Xanh Mono","Yantramanav","Jomolhari","Noto Serif Tamil","Original Surfer","Merienda One","Liu Jian Mao Cao","Noto Sans Runic","Marmelad","Gelasio","Noto Sans Tagalog","Big Shoulders Stencil Display","Noto Sans Bassa Vah","Mukta","IM Fell English SC","Tulpen One","PT Sans Caption","Permanent Marker","Romanesco","Dr Sugiyama","Literata","Zen Antique","Patrick Hand","Inria Sans","Kelly Slab","Yomogi","Homemade Apple","Russo One","Judson","Nobile","Alex Brush","Rubik Mono One","Lekton","Tangerine","Noto Sans Old Turkic","Encode Sans Semi Expanded","Kumar One Outline","Libre Barcode 39 Extended Text","Noto Sans Old Persian","Alice","Dawning of a New Day","GFS Neohellenic","Carrois Gothic SC","Patua One","Cookie","Libre Barcode 39","Amarante","Londrina Sketch","Mulish","Underdog","Vast Shadow","Oranienbaum","Lobster Two","Scheherazade New","Noto Serif TC","Donegal One","Zilla Slab","Noto Sans Myanmar","PT Mono","Sorts Mill Goudy","Coda","Mr De Haviland","Cutive","Nova Mono","Fontdiner Swanky","Maven Pro","Spirax","Prociono","Courgette","Medula One","Maitree","Playfair Display SC","Fasthand","Srisakdi","Rochester","Lexend Zetta","Kirang Haerang","Cormorant Unicase","Pavanam","Inder","Magra","Noto Sans Lao","B612 Mono","NTR","Barlow Semi Condensed","IBM Plex Sans Thai Looped","Glass Antiqua","Beth Ellen","Lexend Peta","Caveat","Lexend Tera","Inter","Teko","Uchen","Copse","DM Serif Text","Libre Caslon Text","Thasadith","Bokor","Gurajada","Orienta","Mali","Manjari","Enriqueta","News Cycle","Zeyada","Revalia","IBM Plex Sans","ABeeZee","Peddana","Odibee Sans","Miltonian","Armata","Trade Winds","Baskervville","Jua","Dokdo","Lalezar","IM Fell English","Overpass Mono","K2D","Neuton","Carme","Noto Sans Javanese","Syne","Oleo Script","Yuji Syuku","Old Standard TT","Lexend Deca","Bona Nova","Chau Philomene One","Butcherman","Kodchasan","Noto Serif Khmer","Fira Mono","Quattrocento","Inknut Antiqua","Scada","Corben","Kristi","Lovers Quarrel","Mr Bedfort","Calligraffitti","Alegreya Sans SC","Noto Sans Brahmi","Lacquer","Neucha","Share","Domine","Gidugu","Bellota","Vidaloka","Allison","Ravi Prakash","IM Fell French Canon SC","Notable","Bilbo Swash Caps","IBM Plex Mono","Lemonada","Mukta Mahee","Niconne","Rozha One","Swanky and Moo Moo","Voces","Aleo","Miss Fajardose","Alata","Shojumaru","M PLUS Rounded 1c","Almendra Display","Sree Krushnadevaraya","Megrim","Langar","Sofadi One","La Belle Aurore","Atma","Diplomata","Gluten","Nova Slim","Stalinist One","Berkshire Swash","Crushed","Chela One","Radley","Fredericka the Great","Noto Sans Tai Viet","Zen Old Mincho","Allerta Stencil","Didact Gothic","Hanuman","Sintony","Noto Sans Imperial Aramaic","Actor","Castoro","Source Serif Pro","Great Vibes","Exo","Give You Glory","Expletus Sans","Reem Kufi","Poiret One","Long Cang","Sura","Chelsea Market","Big Shoulders Display","Texturina","Cantarell","Noto Serif Armenian","Krub","Caladea","Petrona","Prompt","Noto Sans Oriya","Stylish","Tienne","Rosarivo","Besley","Kosugi Maru","Erica One","ZCOOL KuaiLe","Catamaran","MuseoModerno","Ewert","Kenia","Courier Prime","Noto Sans Phoenician","Cedarville Cursive","Bilbo","Are You Serious","Bungee Shade","B612","Rokkitt","Astloch","Suravaram","Noto Sans Sinhala","Allura","Bahiana","Philosopher","Gentium Basic","Bahianita","Rubik Beastly","Frank Ruhl Libre","Halant","Libre Barcode EAN13 Text","Spinnaker","Keania One","Petemoss","IBM Plex Sans Arabic","Sawarabi Mincho","Londrina Shadow","Overpass","Manuale","Cousine","Sirin Stencil","Content","Meddon","Just Another Hand","Hachi Maru Pop","Cinzel","Noto Sans Balinese","Andika New Basic","Noto Sans Kharoshthi","Mallanna","Cabin Sketch","DM Sans","Chivo","Sniglet","Maiden Orange","Quicksand","Cormorant Garamond","Dekko","Snippet","Freehand","Kite One","Rammetto One","Nosifer","Bangers","Pangolin","Stick","Montaga","Cherry Cream Soda","Vollkorn SC","DotGothic16","Pragati Narrow","Warnes","Miniver","Artifika","Rancho","Advent Pro","PT Sans Narrow","Moulpali","Fira Sans Condensed","Fauna One","Farsan","Mouse Memoirs","Encode Sans Semi Condensed","Noto Sans JP","ZCOOL QingKe HuangYou","Inria Serif","PT Sans","Sulphur Point","Tinos","Ribeye Marrow","Kavivanar","Kreon","Geostar","Sarina","Leckerli One","Nanum Gothic","Englebert","Piedra","Candal","Noto Sans Lisu","Basic","Heebo","Noto Serif","IM Fell Great Primer","Reggae One","Vibur","EB Garamond","Georama","Noto Sans Tamil Supplement","Gideon Roman","RocknRoll One","Marko One","Nova Round","Noto Sans","Sofia","PT Serif Caption","Changa One","Baloo Bhaina 2","Cormorant Infant","Iceberg","Noto Serif Yezidi","Goblin One","Sriracha","Holtwood One SC","Shadows Into Light","Passion One","Goudy Bookletter 1911","Arya","VT323","Roboto Slab","Arbutus Slab","Life Savers","Red Hat Display","Taprom","KoHo","Varela","Fuggles","Fondamento","League Script","Nunito Sans","Khula","Cormorant Upright","Red Hat Text","Scope One","Hi Melody","Gravitas One","Sahitya","Play","Otomanopee One","Caesar Dressing","Finger Paint","Slackey","Darker Grotesque","Ruluko","Merriweather","Hind Vadodara","Sedgwick Ave Display","Griffy","Patrick Hand SC","Fenix","Averia Serif Libre","Fresca","Faster One","Noto Sans Cuneiform","Cagliostro","Salsa","PT Serif","Jura","Seaweed Script","Gamja Flower","Karla","Chicle","Istok Web","Wallpoet","Source Sans Pro","Overlock","Kiwi Maru","Big Shoulders Text","Noto Sans Deseret","Arimo","Bitter","Pacifico","Mirza","Annie Use Your Telescope","Averia Gruesa Libre","Asap","Gabriela","Abril Fatface","Kaushan Script","Markazi Text","Acme","Qahiri","Forum","Audiowide","Tenor Sans","Marcellus SC","Delius","Stint Ultra Expanded","Jockey One","Nixie One","Simonetta","Amethysta","Nanum Pen Script","Noto Sans Gurmukhi","Khand","Yesteryear","Norican","Grenze Gotisch","Zilla Slab Highlight","Rationale","Cormorant SC","Vollkorn","Lateef","Explora","Mako","Raleway","Chakra Petch","Damion","Nova Cut","Cabin","Gotu","Libre Baskerville","Alike","Bubblegum Sans","Arvo","Alegreya SC","Cardo","Martel","Noto Sans Nabataean","Averia Libre","MedievalSharp","Libre Barcode 128 Text","Hanalei Fill","Roboto","Noto Sans Bhaiksuki","Nanum Gothic Coding","Knewave","Playfair Display","Pontano Sans","Kaisei Opti","Caudex","Rosario","UnifrakturMaguntia","Khmer","El Messiri","New Tegomin","Blinker","Athiti","Assistant","Mina","Roboto Condensed","Ledger","Slabo 13px","Quando","Montserrat","Work Sans","Roboto Mono","Sawarabi Gothic","Frijole","Libre Franklin","Playball","Numans","Bungee Inline","Oswald","Flavors","Ranga","Hanalei","Marvel","Redressed","Baumans","Poppins","Jost","Joti One","Ballet","Bungee Hairline","Stoke","BenchNine","Ruda","Nokora","Turret Road","Koh Santepheap","Lexend Mega","Kumar One","Open Sans Condensed","Tauri","Meera Inimai","Limelight","Josefin Slab","Oldenburg","Noto Sans Grantha","Federo","Fjalla One","Zen Kaku Gothic Antique","Open Sans","Glegoo","Denk One","Fira Sans","Noto Sans Gujarati","Share Tech","Antic Slab","Titillium Web","Sacramento","Dangrek","Nunito","Antic Didone","Song Myung","Baloo 2","Volkhov","Nanum Brush Script","Metamorphous","The Nautigal","Qwitcher Grypen","Source Serif 4","Spline Sans","Cinzel Decorative","Exo 2","Zen Dots","Waterfall","Kolker Brush","Moo Lah Lah","Oooh Baby","Island Moments","Ole","Vujahday Script","Mea Culpa","Moon Dance","Twinkle Star","Licorice","Love Light","Luxurious Roman","Inspiration","Julee","Imperial Script","Rock 3D","Pushster","Shizuru","Adamina","Yuji Hentaigana Akebono","Yuji Hentaigana Akari","Encode Sans","Arapey","Brawler","Kosugi","Libre Barcode 128","Supermercado One","Rouge Script","Palanquin Dark","Josefin Sans","Noto Sans Old Permic","Gayathri","Italianno","Fruktur","Fascinate","Montserrat Subrayada","Pinyon Script","Belgrano","Indie Flower","Cherish","Noto Sans Lycian","Quintessential","Voltaire","IBM Plex Serif","Freckle Face","Emblema One","Prata","Noto Sans N Ko","Fira Sans Extra Condensed","Alegreya Sans","Amita","Bree Serif","Questrial","Dynalight","Alegreya","Gudea","Montserrat Alternates","Sansita","Amaranth","Ubuntu","Delius Unicase","Almendra","Habibi","Text Me One","Kalam","Unica One","Trykker","Ribeye","Press Start 2P","Average","Mystery Quest","Kotta One","Encode Sans SC","Lancelot","Covered By Your Grace","Irish Grover","Shrikhand","Koulen","Hind","Shadows Into Light Two","Economica","Ovo","Noto Sans Thai","Galdeano","Ubuntu Condensed","Livvic","Jacques Francois","Caramel","Nova Square","Offside","Rock Salt","Oxygen Mono","Abel","Suez One","Luckiest Guy","Ultra","Noto Sans Malayalam","Kavoon","Noto Serif JP","Poly","Loved by the King","Cuprum","Rye","Codystar","Goldman","Kumbh Sans","Noticia Text","Gruppo","Capriola","Syncopate","Chilanka","Mukta Malar","Carrois Gothic","Signika Negative","Gupter","Arsenal","Gentium Book Basic","Amiri","Engagement","Sigmar One","Ceviche One","Sarpanch","Metal Mania","Pridi","Noto Sans KR","Comfortaa","Rum Raisin","Linden Hill","Stardos Stencil","Allan","Noto Sans Osmanya","Condiment","Henny Penny","Bentham","Cabin Condensed","Almendra SC","Amatic SC","Mochiy Pop P One","Bellefair","Orbitron","Lato","Cutive Mono","Happy Monkey","Londrina Outline","Miltonian Tattoo","Yrsa","Battambang","Noto Serif SC","Modern Antiqua","Love Ya Like A Sister","Unkempt","Gilda Display","Paprika","Chathura","Smythe","Unna","Emilys Candy","Hind Madurai","Klee One","Suranna","Bevan","Sarabun","Bebas Neue","Share Tech Mono","Quattrocento Sans","Cormorant","Bad Script","Cantora One","Grandstander","Marcellus","Grey Qo","Barlow Condensed","Palanquin","Alef","Asap Condensed","Bonheur Royale","Noto Nastaliq Urdu","Dosis","Margarine","Barlow","Charm","Concert One","Bellota Text","Tenali Ramakrishna","Galada","Noto Sans Kannada","Schoolbell","Lilita One","Aldrich","Modak","Dorsa","UnifrakturCook","Hammersmith One","Walter Turncoat","Milonga","Pathway Gothic One","Kranky","Akronim","Balthazar","Girassol","Kanit","Rambla","Rufina","Waiting for the Sunrise","Karma","Saira Extra Condensed","Padauk","Righteous","Jacques Francois Shadow","Podkova","Montez","Sancreek","Encode Sans Expanded","Homenaje","Belleza","Lusitana","Merriweather Sans","Spartan","Slabo 27px","Noto Sans Telugu","The Girl Next Door","Rubik","Antic","Gaegu","Gafata","Crete Round","Poller One","Yanone Kaffeesatz","Siemreap","Archivo Black","Proza Libre","Puritan","Kameron","Taviraj","Atomic Age","Alfa Slab One","Sail","Angkor","Hind Siliguri","Lora","Esteban","Monofett","Sumana","Noto Sans Gothic","Hind Guntur","Anaheim","IBM Plex Sans Condensed","Abhaya Libre","Noto Sans TC","Ephesis","Anton","Krona One","Urbanist","Spectral","Sen","Noto Serif Thai","David Libre","ZCOOL XiaoWei","Big Shoulders Inline Text","Shanti","Allerta","Varela Round","Boogaloo","Kdam Thmor","Viaoda Libre","Average Sans","Dancing Script","Black Ops One","Comic Neue","Buenard","Molle","Jolly Lodger","IM Fell Double Pica","Signika","Libre Caslon Display","Martel Sans","IM Fell Great Primer SC","Coda Caption","Pattaya","Tajawal","IM Fell DW Pica","Changa","Six Caps","Fleur De Leah","Contrail One","IM Fell DW Pica SC","Grenze","Biryani","DM Serif Display","Zhi Mang Xing","Anonymous Pro","Moul","Kulim Park","Cairo","Grechen Fuemen","Jaldi","Just Me Again Down Here","Marck Script","Noto Naskh Arabic","Rampart One","Mukta Vaani","Macondo","Mate SC","Sue Ellen Francisco","Barrio","Lustria","Chonburi","Ranchers","Jomhuria","Andika","Yuji Mai","Coiny","Kadwa","Zen Kaku Gothic New","Fredoka One","Squada One","Smokum","Geostar Fill","Prosto One","Bungee Outline","Asar","Yuji Boku","Chewy","Cantata One","IM Fell Double Pica SC","Red Rose","Major Mono Display","Big Shoulders Inline Display","JetBrains Mono","Passero One","Wellfleet","Monoton","Sarala","Ruslan Display","Oxygen","M PLUS 1p","Convergence","Autour One","Mandali","Yatra One","Imbue","Benne","Ropa Sans","New Rocker","Chenla","Oi","Odor Mean Chey","Barriecito","Miriam Libre","Genos","Devonshire","Asul","Unlock","Rakkas","Ramaraja","East Sea Dokdo","Hurricane","Eagle Lake","Crafty Girls","Merienda","Doppio One","Electrolize","Baloo Thambi 2","Aclonica","Alatsi","Racing Sans One","Zen Antique Soft","Lexend Giga","Aref Ruqaa","Passions Conflict","Metal","Carter One","Baloo Tammudu 2","Kaisei Tokumin","Encode Sans Condensed","Mr Dafoe","Farro","Graduate","Flow Circular","Metrophobic","Italiana","Noto Sans Meetei Mayek","Aladin","Tillana","Manrope","Mrs Sheppards","Wendy One","Alumni Sans","Pirata One","Delius Swash Caps","Flow Rounded","Flow Block","Alike Angular","Sassy Frass","Noto Sans SC","Yeon Sung","Crimson Pro","Lexend Exa","Puppies Play","Cambay","Bowlby One SC","Kantumruy","Kings","Zen Kurenaido","Stick No Bills","Mogra","Andada Pro","Londrina Solid","Hepta Slab","Rhodium Libre","Dongle","Duru Sans","Lakki Reddy","Galindo","Do Hyeon","Quantico","Noto Sans Symbols","Comforter","Recursive","M PLUS 1 Code","Montagu Slab","Noto Sans HK","Red Hat Mono","Yellowtail","Seymour One","Gorditas","Noto Serif Sinhala","M PLUS Code Latin","Comforter Brush","Shippori Antique","Estonia","Shippori Antique B1","M PLUS 2","M PLUS 1","Be Vietnam Pro"]}} \ No newline at end of file diff --git a/functions/kirki/packages/kirki-framework/l10n/LICENSE b/functions/kirki/packages/kirki-framework/l10n/LICENSE new file mode 100644 index 0000000..39ac926 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/l10n/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Kirki Framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/l10n/README.md b/functions/kirki/packages/kirki-framework/l10n/README.md new file mode 100644 index 0000000..aad51c0 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/l10n/README.md @@ -0,0 +1,2 @@ +# l10n +A simple package to allow loading a 2nd textdomain (like from a framework like Kirki) in your WordPress theme. diff --git a/functions/kirki/packages/kirki-framework/l10n/src/L10n.php b/functions/kirki/packages/kirki-framework/l10n/src/L10n.php new file mode 100644 index 0000000..59e8c36 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/l10n/src/L10n.php @@ -0,0 +1,163 @@ +textdomain = $textdomain; + $this->languages_path = $languages_path; + // This will only work if we're inside a plugin. + add_action( 'plugins_loaded', [ $this, 'load_textdomain' ] ); + + // If we got this far, then Kirki is embedded in a plugin. + // We want the theme's textdomain to handle translations. + add_filter( 'override_load_textdomain', [ $this, 'override_load_textdomain' ], 5, 3 ); + } + + /** + * Load the plugin textdomain + * + * @access public + * @since 1.0 + */ + public function load_textdomain() { + if ( null !== $this->get_path() ) { + load_textdomain( $this->textdomain, $this->get_path() ); + } + load_plugin_textdomain( $this->textdomain, false, $this->languages_path ); + } + + /** + * Gets the path to a translation file. + * + * @access protected + * @since 1.0 + * @return string Absolute path to the translation file. + */ + protected function get_path() { + $path_found = false; + $found_path = null; + foreach ( $this->get_paths() as $path ) { + if ( $path_found ) { + continue; + } + $path = wp_normalize_path( $path ); + if ( file_exists( $path ) ) { + $path_found = true; + $found_path = $path; + } + } + return $found_path; + } + + /** + * Returns an array of paths where translation files may be located. + * + * @access protected + * @since 1.0 + * @return array + */ + protected function get_paths() { + return [ + WP_LANG_DIR . '/' . $this->textdomain . '-' . get_locale() . '.mo', + trailingslashit( $this->languages_path ) . $this->textdomain . '-' . get_locale() . '.mo', + ]; + } + + /** + * Allows overriding the textdomain from a theme. + * + * @access public + * @since 1.0 + * @param bool $override Whether to override the .mo file loading. Default false. + * @param string $domain Text domain. Unique identifier for retrieving translated strings. + * @param string $mofile Path to the MO file. + * @return bool + */ + public function override_load_textdomain( $override, $domain, $mofile ) { + global $l10n; + if ( isset( $l10n[ $this->get_theme_textdomain() ] ) ) { + $l10n[ $this->textdomain ] = $l10n[ $this->get_theme_textdomain() ]; // phpcs:ignore WordPress.WP.GlobalVariablesOverride + } + + // Check if the domain is the one we have defined. + if ( $this->textdomain === $domain ) { + return true; + } + return $override; + } + + /** + * Get the theme's textdomain. + * + * @access private + * @since 1.0 + * @return string + */ + private function get_theme_textdomain() { + if ( '' === $this->theme_textdomain ) { + + // Get the textdomain. + $theme = wp_get_theme(); + $this->theme_textdomain = $theme->get( 'TextDomain' ); + + // If no texdomain was found, use the template folder name. + if ( ! $this->theme_textdomain ) { + $this->theme_textdomain = get_template(); + } + } + return $this->theme_textdomain; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-css/LICENSE b/functions/kirki/packages/kirki-framework/module-css/LICENSE new file mode 100644 index 0000000..f202ade --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-css/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 kirki-framework + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/functions/kirki/packages/kirki-framework/module-css/README.md b/functions/kirki/packages/kirki-framework/module-css/README.md new file mode 100644 index 0000000..ae1cea0 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-css/README.md @@ -0,0 +1,2 @@ +# module-css +CSS module for the Kirki Framework diff --git a/functions/kirki/packages/kirki-framework/module-css/src/CSS.php b/functions/kirki/packages/kirki-framework/module-css/src/CSS.php new file mode 100644 index 0000000..393d73c --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-css/src/CSS.php @@ -0,0 +1,462 @@ + $args['output'], + ), + ); + } + + // Convert to array of arrays if needed. + if ( isset( $args['output']['element'] ) ) { + /* translators: The field ID where the error occurs. */ + _doing_it_wrong( __METHOD__, sprintf( esc_html__( '"output" invalid format in field %s. The "output" argument should be defined as an array of arrays.', 'kirki' ), esc_html( $args['settings'] ) ), '3.0.10' ); + $args['output'] = array( $args['output'] ); + } + + if ( empty( $args['output'] ) ) { + return; + } + + foreach ( $args['output'] as $key => $output ) { + if ( empty( $output ) || ! isset( $output['element'] ) ) { + unset( $args['output'][ $key ] ); + continue; + } + if ( ! isset( $output['sanitize_callback'] ) && isset( $output['callback'] ) ) { + $args['output'][ $key ]['sanitize_callback'] = $output['callback']; + } + + // Convert element arrays to strings. + if ( isset( $output['element'] ) && is_array( $output['element'] ) ) { + $args['output'][ $key ]['element'] = array_unique( $args['output'][ $key ]['element'] ); + sort( $args['output'][ $key ]['element'] ); + + // Trim each element in the array. + foreach ( $args['output'][ $key ]['element'] as $index => $element ) { + $args['output'][ $key ]['element'][ $index ] = trim( $element ); + } + $args['output'][ $key ]['element'] = implode( ',', $args['output'][ $key ]['element'] ); + } + + // Fix for https://github.com/aristath/kirki/issues/1659#issuecomment-346229751. + $args['output'][ $key ]['element'] = str_replace( array( "\t", "\n", "\r", "\0", "\x0B" ), ' ', $args['output'][ $key ]['element'] ); + $args['output'][ $key ]['element'] = trim( preg_replace( '/\s+/', ' ', $args['output'][ $key ]['element'] ) ); + } + + if ( ! isset( $args['type'] ) && isset( $object->type ) ) { + $args['type'] = $object->type; + } + + self::$fields[] = $args; + + } + + /** + * Print styles inline. + * + * @access public + * @since 3.0.36 + * @return void + */ + public function print_styles_inline() { + + $should_print = true; + + if ( defined( 'KIRKI_NO_OUTPUT' ) && true === KIRKI_NO_OUTPUT ) { + $should_print = false; + } + + ob_start(); + $this->print_styles(); + $inline_styles = ob_get_clean(); + + /** + * If KIRKI_NO_OUTPUT constant is defined (and is true), but typography field is defined, then print it. + * Otherwise, the typography field might be broken (missing font-family) if the font-face is not outputted. + */ + if ( ! $should_print && false !== stripos($inline_styles, '@font-face') ) { + $should_print = true; + } + + if ( ! $should_print ) { + return; + } + + $inline_styles_id = apply_filters( 'kirki_inline_styles_id', self::$inline_styles_id ); + + echo ''; + + } + + /** + * Enqueue the styles. + * + * @access public + * @since 3.0.36 + * @return void + */ + public function enqueue_styles() { + + $args = array( + 'action' => apply_filters( 'kirki_styles_action_handle', self::$css_handle ), + ); + + if ( is_admin() ) { + global $current_screen; + + /** + * This `enqueue_styles` method is also hooked into `enqueue_block_editor_assets`. + * It needs to be excluded from customize control page. + * + * Why not simply excluding all admin area except gutenberg editing interface? + * Because it would be nice to let the possibility open + * if a 3rd party plugin will output gutenberg syles somewhere in admin area. + * + * Example of possibility: + * In the future, Ultimate Dashboard Pro's admin page feature might supports Gutenberg. + */ + if ( is_object( $current_screen ) && property_exists( $current_screen, 'id' ) && 'customize' === $current_screen->id ) { + return; + } + + if ( property_exists( $current_screen, 'is_block_editor' ) && 1 === (int) $current_screen->is_block_editor ) { + $args['editor'] = '1'; + } + } + + // Enqueue the dynamic stylesheet. + wp_enqueue_style( + self::$css_handle, + add_query_arg( $args, home_url() ), + array(), + '4.0' + ); + + } + + /** + * Prints the styles as an enqueued file. + * + * @access public + * @since 3.0.36 + * @return void + */ + public function print_styles_action() { + + /** + * Note to code reviewers: + * There is no need for a nonce check here, we're only checking if this is a valid request or not. + */ + + // phpcs:ignore WordPress.Security.NonceVerification + if ( empty( $_GET['action'] ) || apply_filters( 'kirki_styles_action_handle', self::$css_handle ) !== $_GET['action'] ) { + return; + } + + // This is a stylesheet. + header( 'Content-type: text/css' ); + $this->print_styles(); + exit; + + } + + /** + * Prints the styles. + * + * @access public + */ + public function print_styles() { + + // Go through all configs. + $configs = Kirki::$config; + + foreach ( $configs as $config_id => $args ) { + if ( defined( 'KIRKI_NO_OUTPUT' ) && true === KIRKI_NO_OUTPUT ) { + continue; + } + + if ( isset( $args['disable_output'] ) && true === $args['disable_output'] ) { + continue; + } + + $styles = self::loop_controls( $config_id ); + $styles = apply_filters( "kirki_{$config_id}_dynamic_css", $styles ); + + if ( ! empty( $styles ) ) { + /** + * Note to code reviewers: + * + * Though all output should be run through an escaping function, this is pure CSS. + * + * When used in the print_styles_action() method the PHP header() call makes the browser interpret it as such. + * No code, script or anything else can be executed from inside a stylesheet. + * + * When using in the print_styles_inline() method the wp_strip_all_tags call we use below + * strips anything that has the possibility to be malicious, and since this is inslide a ' ); + } + }, + + /** + * Add a '; + } + } +} diff --git a/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Expanded.php b/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Expanded.php new file mode 100644 index 0000000..9716fdf --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Expanded.php @@ -0,0 +1,26 @@ +button_text; + $json['button_url'] = $this->button_url; + + return $json; + } + + /** + * Outputs the Underscore.js template. + * + * @access public + * @since 1.0.0 + * @return void + */ + protected function render_template() { + ?> +
    • +

      + {{ data.title }} + {{ data.button_text }} +

      +
    • + title, ENT_QUOTES, get_bloginfo( 'charset' ) ); + $array['content'] = $this->get_content(); + $array['active'] = $this->active(); + $array['instanceNumber'] = $this->instance_number; + + $array['customizeAction'] = esc_html__( 'Customizing', 'kirki' ); + if ( $this->panel ) { + /* translators: The title. */ + $array['customizeAction'] = sprintf( esc_html__( 'Customizing ▸ %s', 'kirki' ), esc_html( $this->manager->get_panel( $this->panel )->title ) ); + } + return $array; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Outer.php b/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Outer.php new file mode 100644 index 0000000..2d508ae --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-sections/src/Section_Types/Outer.php @@ -0,0 +1,26 @@ +selective_refresh ) ) { + return $field; + } + + if ( isset( $field['partial_refresh'] ) && ! empty( $field['partial_refresh'] ) ) { + + // Start going through each item in the array of partial refreshes. + foreach ( $field['partial_refresh'] as $partial_refresh => $partial_refresh_args ) { + + // If we have all we need, create the selective refresh call. + if ( isset( $partial_refresh_args['render_callback'] ) && isset( $partial_refresh_args['selector'] ) ) { + $partial_refresh_args = wp_parse_args( + $partial_refresh_args, + [ + 'settings' => $field['settings'], + ] + ); + $wp_customize->selective_refresh->add_partial( $partial_refresh, $partial_refresh_args ); + + // If partial refresh is set, change the transport to auto. + $field['transport'] = 'postMessage'; + } + } + } + + return $field; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-tooltips/.prettierrc.js b/functions/kirki/packages/kirki-framework/module-tooltips/.prettierrc.js new file mode 100644 index 0000000..36cd0f6 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-tooltips/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require( '@wordpress/prettier-config' ), +}; diff --git a/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.css b/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.css new file mode 100644 index 0000000..f759c3d --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.css @@ -0,0 +1,2 @@ +.kirki-tooltip-wrapper{position:relative;z-index:5}.kirki-tooltip-wrapper .tooltip-trigger{left:3px;position:relative;text-decoration:none;top:0}.kirki-tooltip-wrapper .tooltip-trigger:hover+.tooltip-content{bottom:32px;opacity:1;visibility:visible;z-index:99999}.kirki-tooltip-wrapper .tooltip-trigger .dashicons{font-size:18px;height:18px;width:18px}.kirki-tooltip-wrapper .tooltip-content{background:#000;border-radius:3px;bottom:29px;color:#fff;font-size:13px;height:fit-content;left:0;line-height:1.4em;min-width:275px;opacity:0;padding:7px;position:absolute;transition:all .2s linear;visibility:hidden;width:100%;z-index:-1}.kirki-tooltip-wrapper .tooltip-content a{color:#00a0d2} +/*# sourceMappingURL=control.css.map */ diff --git a/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.js b/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.js new file mode 100644 index 0000000..0b299d4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-tooltips/dist/control.js @@ -0,0 +1,2 @@ +!function(){function t(t){_.each(kirkiTooltips,(function(n){if(n.id===t.id&&!t.container.find(".tooltip-content").length){var i=document.querySelector("#customize-control-"+n.id+" .customize-control-title");if(i){i.classList.add("kirki-tooltip-wrapper");var o=''+n.content+"",e=jQuery(i);jQuery('').appendTo(e),jQuery(o).appendTo(e)}}}))}jQuery(document).ready((function(){var n=[];wp.customize.control.each((function(i){n.includes(i.section())||n.push(i.section()),wp.customize.section(i.section(),(function(n){n.expanded()||wp.customize.settings.autofocus.control===i.id?t(i):n.expanded.bind((function(n){n&&t(i)}))}))})),jQuery("head").append(jQuery(''));var i=jQuery(".kirki-tooltip-inline-styles"),o=jQuery(".wp-full-overlay-sidebar-content");n.forEach((function(t){wp.customize.section(t,(function(t){t.expanded.bind((function(n){n&&(t.contentContainer[0].scrollHeight>o.height()?i.html(".kirki-tooltip-wrapper span.tooltip-content {min-width: 258px;}"):i.empty())}))}))}))}))}(); +//# sourceMappingURL=control.js.map diff --git a/functions/kirki/packages/kirki-framework/module-tooltips/src/Tooltips.php b/functions/kirki/packages/kirki-framework/module-tooltips/src/Tooltips.php new file mode 100644 index 0000000..b1ed4d4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-tooltips/src/Tooltips.php @@ -0,0 +1,79 @@ +tooltips_content ); + + } + + /** + * Filter control args. + * + * @access public + * @since 1.0 + * @param array $args The field arguments. + * @param WP_Customize_Manager $wp_customize The customizer instance. + * @return array + */ + public function filter_control_args( $args, $wp_customize ) { + if ( isset( $args['tooltip'] ) && $args['tooltip'] ) { + $this->tooltips_content[ $args['settings'] ] = [ + 'id' => sanitize_key( $args['settings'] ), + 'content' => wp_kses_post( $args['tooltip'] ), + ]; + } + return $args; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-tooltips/src/control.js b/functions/kirki/packages/kirki-framework/module-tooltips/src/control.js new file mode 100644 index 0000000..a3c4625 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-tooltips/src/control.js @@ -0,0 +1,84 @@ +import './control.scss'; + +/* global kirkiTooltips */ +function kirkiTooltipAdd( control ) { + _.each( kirkiTooltips, function ( tooltip ) { + if ( tooltip.id !== control.id ) { + return; + } + + if ( control.container.find( '.tooltip-content' ).length ) return; + + const target = document.querySelector( + '#customize-control-' + tooltip.id + ' .customize-control-title' + ); + + if ( ! target ) return; + target.classList.add( 'kirki-tooltip-wrapper' ); + + // Build the tooltip trigger. + const trigger = + ''; + + // Build the tooltip content. + const content = + '' + tooltip.content + ''; + + const $target = jQuery( target ); + + // Append the trigger & content next to the control's title. + jQuery( trigger ).appendTo( $target ); + jQuery( content ).appendTo( $target ); + } ); +} + +jQuery( document ).ready( function () { + let sectionNames = []; + + wp.customize.control.each( function ( control ) { + if ( ! sectionNames.includes( control.section() ) ) { + sectionNames.push( control.section() ); + } + + wp.customize.section( control.section(), function ( section ) { + if ( + section.expanded() || + wp.customize.settings.autofocus.control === control.id + ) { + kirkiTooltipAdd( control ); + } else { + section.expanded.bind( function ( expanded ) { + if ( expanded ) { + kirkiTooltipAdd( control ); + } + } ); + } + } ); + } ); + + jQuery( 'head' ).append( + jQuery( '' ) + ); + + const $tooltipStyleEl = jQuery( '.kirki-tooltip-inline-styles' ); + const $sidebarOverlay = jQuery( '.wp-full-overlay-sidebar-content' ); + + sectionNames.forEach( function ( sectionName ) { + wp.customize.section( sectionName, function ( section ) { + section.expanded.bind( function ( expanded ) { + if ( expanded ) { + if ( + section.contentContainer[0].scrollHeight > + $sidebarOverlay.height() + ) { + $tooltipStyleEl.html( + '.kirki-tooltip-wrapper span.tooltip-content {min-width: 258px;}' + ); + } else { + $tooltipStyleEl.empty(); + } + } + } ); + } ); + } ); +} ); diff --git a/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts.php b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts.php new file mode 100644 index 0000000..5910023 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts.php @@ -0,0 +1,132 @@ +fonts_google = Google::get_instance(); + $this->init(); + } + + /** + * Init other objects depending on the method we'll be using. + * + * @access protected + * @since 1.0.0 + */ + protected function init() { + foreach ( array_keys( Kirki::$config ) as $config_id ) { + if ( 'async' === $this->get_method() ) { + new Async( $config_id, $this, $this->fonts_google ); + } + new Embed( $config_id, $this, $this->fonts_google ); + } + } + + /** + * Get the method we're going to use. + * + * @access public + * @since 1.0.0 + * @deprecated in 3.0.36. + * @return string + */ + public function get_method() { + return ( is_customize_preview() || is_admin() ) ? 'async' : 'embed'; + } + + /** + * Runs when a field gets added. + * Adds fields to this object so we can loop through them. + * + * @access public + * @since 1.0.0 + * @param array $args The field args. + * @param Object $object The field object. + * @return void + */ + public function field_init( $args, $object ) { + if ( ! isset( $args['type'] ) && isset( $object->type ) ) { + $args['type'] = $object->type; + } + + if ( ! isset( $args['type'] ) || $args['type'] !== 'kirki-typography' ) { + return; + } + + // Use the settings ID as key: + self::$fields[ $args['settings'] ] = $args; + } + + + /** + * Goes through all our fields and then populates the $this->fonts property. + * + * @access public + * @param string $config_id The config-ID. + */ + public function loop_fields( $config_id ) { + foreach ( self::$fields as $field ) { + if ( isset( $field['kirki_config'] ) && $config_id !== $field['kirki_config'] ) { + continue; + } + + $this->fonts_google->generate_google_font( $field ); + } + } +} diff --git a/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Async.php b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Async.php new file mode 100644 index 0000000..139d1f4 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Async.php @@ -0,0 +1,175 @@ +config_id = $config_id; + $this->webfonts = $webfonts; + $this->googlefonts = $googlefonts; + + add_action( 'wp_head', [ $this, 'webfont_loader' ] ); + add_action( 'wp_head', [ $this, 'webfont_loader_script' ], 30 ); + + // Add these in the dashboard to support editor-styles. + add_action( 'admin_enqueue_scripts', [ $this, 'webfont_loader' ] ); + add_action( 'admin_enqueue_scripts', [ $this, 'webfont_loader_script' ], 30 ); + + // add_filter( 'wp_resource_hints', [ $this, 'resource_hints' ], 10, 2 ); + } + + /** + * Add preconnect for Google Fonts. + * + * @access public + * @param array $urls URLs to print for resource hints. + * @param string $relation_type The relation type the URLs are printed. + * @return array $urls URLs to print for resource hints. + */ + public function resource_hints( $urls, $relation_type ) { + $fonts_to_load = $this->googlefonts->fonts; + + if ( ! empty( $fonts_to_load ) && 'preconnect' === $relation_type ) { + $urls[] = [ + 'href' => 'https://fonts.gstatic.com', + 'crossorigin', + ]; + } + return $urls; + } + + /** + * Webfont Loader for Google Fonts. + * + * @access public + * @since 1.0.0 + */ + public function webfont_loader() { + + // Go through our fields and populate $this->fonts. + $this->webfonts->loop_fields( $this->config_id ); + + $this->googlefonts->fonts = apply_filters( 'kirki_enqueue_google_fonts', $this->googlefonts->fonts ); + + // Goes through $this->fonts and adds or removes things as needed. + $this->googlefonts->process_fonts(); + + foreach ( $this->googlefonts->fonts as $font => $weights ) { + foreach ( $weights as $key => $value ) { + if ( 'italic' === $value ) { + $weights[ $key ] = '400i'; + } else { + $weights[ $key ] = str_replace( [ 'regular', 'bold', 'italic' ], [ '400', '', 'i' ], $value ); + } + } + $this->fonts_to_load[] = $font . ':' . join( ',', $weights ) . ':cyrillic,cyrillic-ext,devanagari,greek,greek-ext,khmer,latin,latin-ext,vietnamese,hebrew,arabic,bengali,gujarati,tamil,telugu,thai'; + } + if ( ! empty( $this->fonts_to_load ) ) { + self::$load = true; + } + + global $wp_customize; + if ( self::$load || $wp_customize || is_customize_preview() ) { + wp_enqueue_script( 'webfont-loader', URL::get_from_path( dirname( __DIR__ ) . '/assets/scripts/vendor-typekit/webfontloader.js' ), [], '3.0.28', true ); + } + } + + /** + * Webfont Loader script for Google Fonts. + * + * @access public + * @since 1.0.0 + */ + public function webfont_loader_script() { + if ( ! empty( $this->fonts_to_load ) ) { + wp_add_inline_script( + 'webfont-loader', + 'WebFont.load({google:{families:[\'' . join( '\', \'', $this->fonts_to_load ) . '\']}});', + 'after' + ); + } + } + + /** + * Set the $load property of this object. + * + * @access public + * @since 1.0.0 + * @param bool $load Set to false to disable loading. + * @return void + */ + public function set_load( $load ) { + self::$load = $load; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Downloader.php b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Downloader.php new file mode 100644 index 0000000..2b94a0d --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Downloader.php @@ -0,0 +1,289 @@ +get_cached_url_contents( $url ); + return $this->get_local_font_styles( $css ); + } + + /** + * Get styles with fonts downloaded locally. + * + * @access protected + * @since 3.1.0 + * @param string $css The styles. + * @return string + */ + protected function get_local_font_styles( $css ) { + $files = $this->get_local_files_from_css( $css ); + + // Convert paths to URLs. + foreach ( $files as $remote => $local ) { + $files[ $remote ] = str_replace( WP_CONTENT_DIR, content_url(), $local ); + } + + return str_replace( + array_keys( $files ), + array_values( $files ), + $css + ); + } + + /** + * Download files mentioned in our CSS locally. + * + * @access protected + * @since 3.1.0 + * @param string $css The CSS we want to parse. + * @return array Returns an array of remote URLs and their local counterparts. + */ + protected function get_local_files_from_css( $css ) { + $font_files = $this->get_files_from_css( $css ); + $stored = get_option( 'kirki_downloaded_font_files', array() ); + $change = false; // If in the end this is true, we need to update the cache option. + + // If the fonts folder don't exist, create it. + if ( ! file_exists( WP_CONTENT_DIR . '/fonts' ) ) { + $this->get_filesystem()->mkdir( WP_CONTENT_DIR . '/fonts', FS_CHMOD_DIR ); + } + + foreach ( $font_files as $font_family => $files ) { + + // The folder path for this font-family. + $folder_path = WP_CONTENT_DIR . '/fonts/' . $font_family; + + // If the folder doesn't exist, create it. + if ( ! file_exists( $folder_path ) ) { + $this->get_filesystem()->mkdir( $folder_path, FS_CHMOD_DIR ); + } + + foreach ( $files as $url ) { + + // Get the filename. + $filename = basename( wp_parse_url( $url, PHP_URL_PATH ) ); + $font_path = $folder_path . '/' . $filename; + + if ( file_exists( $font_path ) ) { + + // Skip if already cached. + if ( isset( $stored[ $url ] ) ) { + continue; + } + + $stored[ $url ] = $font_path; + $change = true; + } + + if ( ! function_exists( 'download_url' ) ) { + require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' ); + } + + // Download file to temporary location. + $tmp_path = download_url( $url ); + + // Make sure there were no errors. + if ( is_wp_error( $tmp_path ) ) { + continue; + } + + // Move temp file to final destination. + $success = $this->get_filesystem()->move( $tmp_path, $font_path, true ); + if ( $success ) { + $stored[ $url ] = $font_path; + $change = true; + } + } + } + + if ( $change ) { + update_option( 'kirki_downloaded_font_files', $stored ); + } + + return $stored; + } + + /** + * Get cached url contents. + * If a cache doesn't already exist, get the URL contents from remote + * and cache the result. + * + * @access public + * @since 3.1.0 + * @param string $url The URL we want to get the contents from. + * @param string $user_agent The user-agent to use for our request. + * @return string Returns the remote URL contents. + */ + public function get_cached_url_contents( $url = '', $user_agent = null ) { + + // Try to retrieved cached response from the gfonts API. + $contents = false; + $cached_responses = get_transient( 'kirki_remote_url_contents' ); + $cached_responses = ( $cached_responses && is_array( $cached_responses ) ) ? $cached_responses : array(); + if ( isset( $cached_responses[ md5( $url . $user_agent ) ] ) ) { + return $cached_responses[ md5( $url . $user_agent ) ]; + } + + // Get the contents from remote. + $contents = $this->get_url_contents( $url, $user_agent ); + + // If we got the contents successfully, store them in a transient. + // We're using a transient and not an option because fonts get updated + // so we want to be able to get the latest version weekly. + if ( $contents ) { + $cached_responses[ md5( $url . $user_agent ) ] = $contents; + set_transient( 'kirki_remote_url_contents', $cached_responses, WEEK_IN_SECONDS ); + } + + return $contents; + } + + /** + * Get remote file contents. + * + * @access public + * @since 3.1.0 + * @param string $url The URL we want to get the contents from. + * @param string $user_agent The user-agent to use for our request. + * @return string Returns the remote URL contents. + */ + public function get_url_contents( $url = '', $user_agent = null ) { + + if ( ! $user_agent ) { + + /** + * The user-agent we want to use. + * + * For woff2 format, use'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:73.0) Gecko/20100101 Firefox/73.0'. + * The default user-agent is the only one compatible with woff (not woff2) + * which also supports unicode ranges. + */ + $user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8'; + } + + // Get the response. + $response = wp_remote_get( $url, array( 'user-agent' => $user_agent ) ); + + // Early exit if there was an error. + if ( is_wp_error( $response ) ) { + return; + } + + // Get the CSS from our response. + $contents = wp_remote_retrieve_body( $response ); + + // Early exit if there was an error. + if ( is_wp_error( $contents ) ) { + return; + } + + return $contents; + } + + /** + * Get font files from the CSS. + * + * @access public + * @since 3.1.0 + * @param string $css The CSS we want to parse. + * @return array Returns an array of font-families and the font-files used. + */ + public function get_files_from_css( $css ) { + + $font_faces = explode( '@font-face', $css ); + + $result = array(); + + // Loop all our font-face declarations. + foreach ( $font_faces as $font_face ) { + + // Make sure we only process styles inside this declaration. + $style = explode( '}', $font_face )[0]; + + // Sanity check. + if ( false === strpos( $style, 'font-family' ) ) { + continue; + } + + // Get an array of our font-families. + preg_match_all( '/font-family.*?\;/', $style, $matched_font_families ); + + // Get an array of our font-files. + preg_match_all( '/url\(.*?\)/i', $style, $matched_font_files ); + + // Get the font-family name. + $font_family = 'unknown'; + if ( isset( $matched_font_families[0] ) && isset( $matched_font_families[0][0] ) ) { + $font_family = rtrim( ltrim( $matched_font_families[0][0], 'font-family:' ), ';' ); + $font_family = trim( str_replace( array( "'", ';' ), '', $font_family ) ); + $font_family = sanitize_key( strtolower( str_replace( ' ', '-', $font_family ) ) ); + } + + // Make sure the font-family is set in our array. + if ( ! isset( $result[ $font_family ] ) ) { + $result[ $font_family ] = array(); + } + + // Get files for this font-family and add them to the array. + + foreach ( $matched_font_files as $match ) { + + // Sanity check. + if ( ! isset( $match[0] ) ) { + continue; + } + + // Add the file URL. + $result[ $font_family ][] = rtrim( ltrim( $match[0], 'url(' ), ')' ); + } + + // Make sure we have unique items. + // We're using array_flip here instead of array_unique for improved performance. + $result[ $font_family ] = array_flip( array_flip( $result[ $font_family ] ) ); + } + return $result; + } + + /** + * Get the filesystem. + * + * @access protected + * @since 3.1.0 + * @return WP_Filesystem + */ + protected function get_filesystem() { + global $wp_filesystem; + if ( ! $wp_filesystem ) { + if ( ! function_exists( 'WP_Filesystem' ) ) { + require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' ); + } + WP_Filesystem(); + } + return $wp_filesystem; + } +} diff --git a/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Embed.php b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Embed.php new file mode 100644 index 0000000..2cf3977 --- /dev/null +++ b/functions/kirki/packages/kirki-framework/module-webfonts/src/Webfonts/Embed.php @@ -0,0 +1,195 @@ +config_id = $config_id; + $this->webfonts = $webfonts; + $this->googlefonts = $googlefonts; + + add_action( 'wp', [ $this, 'init' ], 9 ); + // add_filter( 'wp_resource_hints', [ $this, 'resource_hints' ], 10, 2 ); + } + + /** + * Init. + * + * @access public + * @since 1.0.0 + * @return void + */ + public function init() { + $this->populate_fonts(); + add_action( 'kirki_dynamic_css', [ $this, 'the_css' ] ); + } + + /** + * Add preconnect for Google Fonts. + * + * @access public + * @param array $urls URLs to print for resource hints. + * @param string $relation_type The relation type the URLs are printed. + * @return array $urls URLs to print for resource hints. + */ + public function resource_hints( $urls, $relation_type ) { + $fonts_to_load = $this->googlefonts->fonts; + + if ( ! empty( $fonts_to_load ) && 'preconnect' === $relation_type ) { + $urls[] = [ + 'href' => 'https://fonts.gstatic.com', + 'crossorigin', + ]; + } + + return $urls; + } + + /** + * Webfont Loader for Google Fonts. + * + * @access public + * @since 1.0.0 + */ + public function populate_fonts() { + + // Go through our fields and populate $this->fonts. + $this->webfonts->loop_fields( $this->config_id ); + + $this->googlefonts->fonts = apply_filters( 'kirki_enqueue_google_fonts', $this->googlefonts->fonts ); + + // Goes through $this->fonts and adds or removes things as needed. + $this->googlefonts->process_fonts(); + + foreach ( $this->googlefonts->fonts as $font => $weights ) { + foreach ( $weights as $key => $value ) { + if ( 'italic' === $value ) { + $weights[ $key ] = '400i'; + } else { + $weights[ $key ] = str_replace( [ 'regular', 'bold', 'italic' ], [ '400', '', 'i' ], $value ); + } + } + $this->fonts_to_load[] = [ + 'family' => $font, + 'weights' => $weights, + ]; + } + } + + /** + * Webfont Loader script for Google Fonts. + * + * @access public + * @since 1.0.0 + */ + public function the_css() { + foreach ( $this->fonts_to_load as $font ) { + + $family = str_replace( ' ', '+', trim( $font['family'] ) ); + $weights = join( ',', $font['weights'] ); + $url = "https://fonts.googleapis.com/css?family={$family}:{$weights}&subset=cyrillic,cyrillic-ext,devanagari,greek,greek-ext,khmer,latin,latin-ext,vietnamese,hebrew,arabic,bengali,gujarati,tamil,telugu,thai&display=swap"; + + $downloader = new Downloader(); + $contents = $downloader->get_styles( $url ); + + if ( $contents ) { + /** + * Note to code reviewers: + * + * Though all output should be run through an escaping function, this is pure CSS + * and it is added on a call that has a PHP `header( 'Content-type: text/css' );`. + * No code, script or anything else can be executed from inside a stylesheet. + * For extra security we're using the wp_strip_all_tags() function here + * just to make sure there's no '; + } + + if ( $this->assets['style'] ) { + echo ''; + } + } + + /** + * Enqueue assets. + * + * @access public + * + * @return void + */ + public function enqueue_assets() { + if ( $this->assets['style'] ) { + wp_enqueue_style( + $this->handle_prefix . '-style', + get_theme_file_uri( $this->assets['style'] ), + [], + filemtime( get_theme_file_path( $this->assets['style'] ) ) + ); + } + + if ( $this->assets['script'] ) { + wp_enqueue_script( + $this->handle_prefix . '-script', + get_theme_file_uri( $this->assets['script'] ), + [], + filemtime( get_theme_file_path( $this->assets['script'] ) ), + true + ); + } + } + + /** + * A wrapper for the wp_nav_menu function, adding our custom HTML for the expand/collapse button. + * + * @static + * + * @access public + * + * @param array $args The arguments to pass to wp_nav_menu(). + * @param string|false $toggle_label The label for our toggle button. + * @param string $nav_classes CSS classes to add to the
      +
      ', + esc_html__( 'Upgrade message from the plugin author:', 'microtype' ), + ' ', wp_kses_data( $item['upgrade_notice'] ), ' +
      +